保誠-保戶業務員媒合平台
Tomas
2022-01-20 4759d8e45e39b3faafe2ab16774f3d2369d8cb79
PAMapp/shared/models/appointment.model.ts
@@ -1,20 +1,24 @@
import { ContactStatus } from "./enum/contact-status";
export interface AppointmentLog {
    id              : number;
    createdDate     : string;
    lastModifiedDate: string;
    customerId      : number;
    agentNo         : string;
    status          : 'UNFILLED' | 'FILLED';
    score           : number;
    agentName       : string;
    agentNo         : string;
    appointmentId   : number;
    createdDate     : string;
    customerId      : number;
    customerName    : string;
    id              : number;
    lastModifiedDate: string;
    score           : number;
    status          : 'UNFILLED' | 'FILLED';
}
export interface Appointment {
  age                : string;
  agentNo            : string;
  appointmentDate    : string;
  appointmentMemoList: AppointmentMemoInfo[]
  communicateStatus  : string;
  communicateStatus  : ContactStatus;
  consultantReadTime : string;
  consultantViewTime : string;
  contactTime        : string;
@@ -32,6 +36,7 @@
  phone              : string;
  requirement        : string;
  satisfactionScore  : number;
  appointmentNoticeLogs: NoticeLogs[];
};
export interface AppointmentMemoInfo {
@@ -39,6 +44,7 @@
  content      : string;
  id           : number;
}
export interface InterviewRecord {
  appointmentId   : number;
  content         : string;
@@ -49,6 +55,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[];
@@ -57,30 +73,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;
@@ -92,6 +84,7 @@
  phone          : string;
  requirement    : string;
}
export interface EditAppointmentParams {
  age             : string;
  contactType     : string;
@@ -104,6 +97,7 @@
  phone           : string;
  requirement     : string;
}
export interface AppointmentRequests {
  age            : string;
  agentNo        : string;
@@ -115,11 +109,11 @@
  phone          : string;
  requirement    : string[];
}
export interface ContactTime {
  selectTimesOptions: string[];
  selectWeekOptions : string[];
}
export interface createdMemoInfo {
  appointmentId: number;
@@ -130,3 +124,49 @@
  content: string;
  id     : number;
}
export interface ToDoneAppointment {
    appointmentId         : number;
    contactStatus         : ContactStatus;
    planCode              : string;
    policyEntryDate       : string;
    policyholderIdentityId: string;
    remark?               : string;
}
export interface ToCloseAppointment {
  appointmentId    : number;
  closedOtherReason: string;
  closedReason     : string;
  contactStatus    : ContactStatus;
  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;
}