保誠-保戶業務員媒合平台
Mila
2022-01-18 b1b1fa9058a8e7df07c25cf6d5be1678a042ab7e
PAMapp/shared/models/appointment.model.ts
@@ -1,58 +1,170 @@
import { ContactStatus } from "./enum/contact-status";
export interface AppointmentLog {
    id              : number,
    createdDate     : Date,
    lastModifiedDate: Date,
    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;
    agentName       : string;
    customerName    : string;
}
export interface Appointment {
  id                 : number;
  phone?             : string;
  email?             : string;
  contactType        : string;
  gender             : string;
  age                : string;
  job                : string;
  requirement        : string;
  communicateStatus  : string;
  hopeContactTime    : string;
  otherRequirement?  : string;
  appointmentDate    : string;
  lastModifiedDate   : 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;
  consultantViewTime?: string;
  consultantReadTime?: string;
  satisfactionScore? : number;
  otherRequirement   : string;
  phone              : string;
  requirement        : string;
  satisfactionScore  : number;
};
export interface AppointmentMemoInfo {
  appointmentId: number;
  content      : string;
  id           : number;
}
export interface InterviewRecord {
  appointmentId   : number;
  content         : string;
  createdBy       : string;
  createdDate     : string;
  id              : number;
  interviewDate   : string;
  lastModifiedBy  : string;
  lastModifiedDate: string;
}
export interface AppointmentWithConsultantInfo extends Appointment {
  consultantName      : string;
  consultantAvatar    : string;
  consultantExpertList: string[]
  updateTime          : Date | string;
  consultantExpertList: string[];
  consultantName      : string;
  contactStatus       : string;
  updateTime          : string;
}
export interface AppointmentDetail {
  id               : number;
  phone            : string;
  email            : string;
  contactType      : string;
  gender           : string;
  age              : string;
  job              : string;
  requirement      : string;
  communicateStatus: string;
  hopeContactTime  : string;
  otherRequirement : string;
  appointmentDate  : string;
  agentNo          : string;
  customerId       : number;
  name             : string;
  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 : InterviewRecord[];
  job                 : string;
  lastModifiedDate    : string;
  name                : string;
  otherRequirement    : string;
  phone               : string;
  requirement         : string;
  satisfactionScore?  : number;
}
export interface AppointmentParams {
  age            : string;
  agentNo        : string;
  contactType    : string;
  email          : string;
  gender         : string;
  hopeContactTime: string;
  job            : string;
  phone          : string;
  requirement    : string;
}
export interface EditAppointmentParams {
  age             : string;
  contactType     : string;
  email           : string;
  gender          : string;
  hopeContactTime : string;
  id              : number;
  job             : string;
  otherRequirement: null;
  phone           : string;
  requirement     : string;
}
export interface AppointmentRequests {
  age            : string;
  agentNo        : string;
  contactType    : string;
  email          : string;
  gender         : string;
  hopeContactTime: ContactTime[];
  job            : string;
  phone          : string;
  requirement    : string[];
}
export interface ContactTime {
  selectTimesOptions: string[];
  selectWeekOptions : string[];
}
export interface createdMemoInfo {
  appointmentId: number;
  content      : string;
}
export interface updatedMemoInfo {
  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 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;
}