保誠-保戶業務員媒合平台
HelenHuang
2022-06-09 9bdb95c9e34cef640534e5e5a1e2225a80442000
PAMapp/shared/models/appointment.model.ts
@@ -1,46 +1,64 @@
import { ContactStatus } from "./enum/contact-status";
import { SatisfactionType } from "./enum/satisfaction-type";
export interface AppointmentLog {
    id              : number;
    createdDate     : string;
    lastModifiedDate: string;
    customerId      : number;
    agentNo         : string;
    status          : 'UNFILLED' | 'FILLED';
    score           : number;
    agentName       : string;
    customerName    : string;
  id              : number;
  createdDate     : string;
  lastModifiedDate: string;
  customerId      : number;
  agentNo         : string;
  status          : 'UNFILLED' | 'FILLED';
  score           : number;
  appointmentId   : number;
  customerName    : string;
  agentName       : string;
  type            : SatisfactionType;
}
export interface Appointment {
  age                : string;
  agentNo            : string;
  appointmentDate    : string;
  appointmentMemoList: AppointmentMemoInfo[]
  communicateStatus  : string;
  consultantReadTime : string;
  consultantViewTime : string;
  contactTime        : string;
  contactType        : string;
  customerId         : number;
  email              : string;
  gender             : string;
  hopeContactTime    : string;
  id                 : number;
  interviewRecordDTOs: InterviewRecord[];
  job                : string;
  lastModifiedDate   : string;
  name               : string;
  otherRequirement   : string;
  phone              : string;
  requirement        : string;
  satisfactionScore  : number;
  age                  : string;
  agentNo              : string;
  appointmentClosedInfo: AppointmentClosedInfo;
  appointmentDate      : string;
  appointmentMemoList  : AppointmentMemoInfo[]
  appointmentNoticeLogs: NoticeLogs[];
  communicateStatus    : ContactStatus;
  consultantReadTime   : string;
  consultantViewTime   : string;
  contactTime          : string;
  contactType          : string;
  customerId           : number;
  email                : string;
  gender               : string;
  hopeContactTime      : string;
  id                   : number;
  interviewRecordDTOs  : InterviewRecord[];
  job                  : string;
  lastModifiedDate     : string;
  name                 : string;
  otherRequirement     : string;
  phone                : string;
  requirement          : string;
  satisfactionScore    : number;
};
export interface AppointmentClosedInfo {
  appointmentId         : number;
  closedOtherReason     : string;
  closedReason          : string;
  id                    : number;
  planCode              : string;
  policyEntryDate       : string;
  policyholderIdentityId: string;
  remark                : string;
}
export interface AppointmentMemoInfo {
  appointmentId: number;
  content      : string;
  id           : number;
}
export interface InterviewRecord {
  appointmentId   : number;
  content         : string;
@@ -51,6 +69,16 @@
  lastModifiedBy  : string;
  lastModifiedDate: string;
}
export interface NoticeLogs {
  appointmentId: number,
  content      : string,
  createdDate  : string
  email        : string,
  id           : number,
  phone        : string,
}
export interface AppointmentWithConsultantInfo extends Appointment {
  consultantAvatar    : string;
  consultantExpertList: string[];
@@ -59,30 +87,6 @@
  updateTime          : string;
}
export interface AppointmentDetail {
  age                 : string;
  agentNo             : string;
  appointmentDate     : string;
  appointmentMemoList?: string[];
  communicateStatus   : string;
  consultantReadTime  : string;
  consultantViewTime  : string;
  contactTime         : string;
  contactType         : string;
  customerId          : number;
  email               : string;
  gender              : string;
  hopeContactTime     : string;
  id                  : number;
  interviewRecordDTOs : string[];
  job                 : string;
  lastModifiedDate    : string;
  name                : string;
  otherRequirement    : string;
  phone               : string;
  requirement         : string;
  satisfactionScore?  : number;
}
export interface AppointmentParams {
  age            : string;
  agentNo        : string;
@@ -94,6 +98,7 @@
  phone          : string;
  requirement    : string;
}
export interface EditAppointmentParams {
  age             : string;
  contactType     : string;
@@ -106,22 +111,24 @@
  phone           : string;
  requirement     : string;
}
export interface AppointmentRequests {
  age            : string;
  agentNo        : string;
  contactType    : string;
  email          : string;
  name           : string;
  gender         : string;
  hopeContactTime: ContactTime[];
  job            : string;
  phone          : string;
  requirement    : string[];
}
export interface ContactTime {
  selectTimesOptions: string[];
  selectWeekOptions : string[];
}
export interface createdMemoInfo {
  appointmentId: number;
@@ -150,3 +157,31 @@
  remark?          : string;
}
export interface NoticeLogs {
  appointmentId: number;
  content      : string;
  createdDate  : string;
  email        : string;
  id           : number;
  interviewDate: string;
  phone        : string;
}
export interface ToInformAppointment {
  appointmentId: number;
  email        : string;
  interviewDate: string;
  message      : string;
  phone        : string;
}
export interface InterviewRecordInfo {
  content: string;
  interviewDate: string;
  appointmentId: number;
}
export interface UpdateInterviewRecordInfo {
  /** interviewRecord id */
  id: number;
}