import { InsuredObject } from "./shared"; export interface PolicyRequestInsurer { insurerPartyKey: string; insurerFullName: string; insurerPercentage: number; insurerLeaderIndicator: boolean; } export interface PolicyRequestRequester { givenName: string; surname1: string; emailAddress?: string | null; telephoneCellNumber?: string | null; telephoneLandlineNumber?: string | null; birthDate?: string | null; companyName?: string | null; companyPartyKey?: string | null; partyKey?: string | null; } export interface PolicyRequestProducer { producerKey: string; agreementProducerPartyKey: string; agreementProducerFullName: string; producerPercentage: number; producerLeaderIndicator: boolean; } export interface PolicyRequestSponsor { producerKey: string; agreementSponsorPartyKey: string; agreementSponsorFullName: string; } export interface PolicyRequestManager { agreementManagerKey: string; agreementManagerPartyKey: string; agreementManagerFullName: string; managerTypeCode: string; } export interface PolicyRequestAttribute { code: string; name: string; value?: string | null; } export interface PolicyRequestProductPlan { productComponentKey: string; } export interface PolicyRequestInsuredData { partyClassCode: string; partyKey: string; identifierTypeCode: string; identifier: string; quantity: number; insuredTypeCode: string; insurableInterestTypeCode: string; dataSchemeKey: string; attributeList: PolicyRequestAttribute[]; } export interface PolicyRequestInsuredObjectData { physicalObjectClassCode: string; identifierTypeCode: string; identifier: string; quantity: number; physicalObjectDataSchemeKey: string; attributeList: PolicyRequestAttribute[]; } export interface PolicyRequestSubgroup { subgroupNumber: string; subgroupName: string; productPlan: PolicyRequestProductPlan; } export interface IPolicyRequest { policyRequestKey?: string; requestClass?: string; number?: number; requestDateTime?: string; quotationDateTime?: string | null; quotationEffectiveDate?: string | null; lineOfProductCode?: string; policyClassCode?: string; producerAgreementKey?: string | null; customerAgreementKey?: string | null; salesCampaignKey?: string | null; statusCode?: string; statusDateTime?: string; insurer?: PolicyRequestInsurer[]; requester?: PolicyRequestRequester; agreementProducer?: PolicyRequestProducer[]; agreementSponsor?: PolicyRequestSponsor | null; agreementManager?: PolicyRequestManager | null; productPlanList?: PolicyRequestProductPlan[]; insuredDataList?: PolicyRequestInsuredData[]; insuredObjectDataList?: PolicyRequestInsuredObjectData[]; subgroupList?: PolicyRequestSubgroup[]; documentRequestList?: string[]; insuredObjectList?: InsuredObject[]; }