Du er her:
InsPolicyService:createPolicyVersion
Bruk denne tjenesten til å opprette en ny versjon av en eksisterende policy samtidig som du beholder den eksisterende policyposten slik den er.
Denne tjenesten aktiverer policyversjonsbehandling. Alle endringer i en policy spores i forskjellige versjoner av den policyen. Du kan bruke den til å endre policy og avbryte policy OmniScripts og Integrasjonsprosedyrer. Du kan også bruke denne tjenesten til å gjenopprette utløpte og kansellerte poliser.
Denne tjenesten fungerer sammen med Salesforce Financial Services Cloud for valgfri støtte for opprettelse av betalingsplan.
Slik virker det
-
Tar
assetIdellerpolicyIdav gjeldende policy og JSON-koden som er angitt avinputKey. -
Oppretter en klone av den opprinnelige policyen.
-
Hvis det finnes en eksisterende betalingsplan, oppdaterer tjenesten betalingsplanen og oppretter en betalingsplanoppføring på gyldighetsdatoen for anbefalingen. Hvis
useIsPaidFlager sann, oppdateres alle fremtidige betalingsplanoppføringer (fra gyldighetsdatoen) uten transaksjoner (der statusfeltet erValidogisPaidikke er merket av for) basert på nyere verdier for premiebeløp, avgift og avgift. Den nye betalingsplanoppføringen inneholder de justerte verdiene for premiebeløp, avgift og gebyr basert på nye premier, avgifter og gebyrer og oppdaterte betalingsplanoppføringer. Bidragspostene for polisekomponenter i hver betalingsplanoppføring oppdateres også. -
Tjenesten bruker den forrige polisens beregningsmetode for premiebeløp, betalingstype og frekvens for premiebeløp, og den nye polisens Total Premium for periode, Total avgift for periode og Total avgift for periode til å generere den endrede betalingsplanen. I tillegg til å opprette transaksjonen fylles transaksjonsdetaljdata ut i transaksjonsdetaljobjektet. Dette objektet lagrer data om hvor mye hvert aktivum, deltaker eller dekning bidrar til totalt transaksjonsbeløp når det gjelder premiebeløp, avgifter og gebyrer. Bare aktiva, deltagere og dekninger med minst én verdi større enn null for premiebeløp, avgifter eller gebyrer vises.
Merk Premium Beregningsmetode, Betalingstype og Premium Frequency kopieres ikke over fra den tidligere policyen og må overføres som inndata til tjenesten via JSON-koden. -
Hvis
includeRevenueScheduleer satt til true, kaller den opp omsetningsplantjenesten for å endre omsetningsplanen. -
Hvis det er den første endringen av denne policyen, stempler tjenesten
originalVersionId__cogpreviousVersionId__cmed sammeassetId. Hvis dette ikke er den første endringen av denne policyen, overfører tjenestenOriginalVersionId__ctil den nye versjonen og stempler den tidligereassetIdtilPreviousVersionId__ci den nye policyen. -
Hvis
taxesAndFees-,taxAmount- og/ellerfeeAmount-nodene er inkludert i inndata-JSON-filen, opprettes de tilsvarende avgifts-/godtgjørelsesfeltene og/eller postene og blir fordelt på den nye versjonen av policyen. -
Det opprettes eventuelt en InsurancePolicyTransaction for betalingsjusteringen.
-
Hvis
calculateCommissionertrue, ringer tjenestenInsurancePolicyService.calculateAndSaveCommission, som klargjør inndata forInsCommissionService.calculateogInsCommissionService.saveCommissions. Når beregningstjenesten har behandlet inndataene, lagrer lagringstjenesten den beregnede verdien iTotalCommissionAmount, og deretter oppsummerer den verdien og legger den til iTotalCommissionAmountav den opprinnelige policyen. - Hvis
disableAttributeCategories-flagget igetquotedetail-tjenesten er satt til true, utelater tjenesten attributeCategory-noden fra svaret, ogcreatePolicyVersionkan ikke opprette policybegreper. For å forsikre deg om atcreatePolicyVersion-tjenesten oppretter policyvilkår, setter dudisableAttributeCategories-flagget i igetQuoteDetail-tjenesten til false.
Skatt og gebyrer
Slik fungerer denne tjenesten for avgifter og gebyrer:
-
Hvis
taxesAndFees-feltet er angitt i en JSON-post, beholdes en tilhørendeAssetPricingAdjustment__c-post for hvert element itaxesAndFees-listen. -
Hvis
taxAmount-feltet angis i en JSON-post, angisTaxAmount__c-feltet til verdien itaxAmount-feltet i det opprettedeAssetItem-objektet. -
Hvis
feeAmount-feltet er angitt i en JSON-post, settesFeeAmount__c-feltet til verdien ifeeAmount-feltet i den opprettedeAssetItem.
Når det gjelder gjeldende (nylig opprettede policy):
-
Hvis gjeldende policy har en
TotalTaxAmount__c, blir denne verdien fordelt på gyldighets- og sluttdatoene og angitt iTotalTaxForTerm__c-feltet. -
Hvis gjeldende policy har en
TotalFeeAmount__c, blir denne verdien fordelt på gyldighets- og sluttdatoene og angitt iTotalFeeForTerm__c-feltet. -
Hvis
AssetItemi gjeldende policy har enTaxAmount__c, blir verdien fordelt på gyldighets- og sluttdatoene og angitt iProratedTaxAmount__c-feltet. -
Hvis
AssetItemi gjeldende policy har enFeeAmount__c, blir verdien fordelt på gyldighets- og sluttdatoene og angitt iProratedFeeAmount__c-feltet.
Slik overføres avgifter og gebyrer for poliser som allerede er opprettet:
-
Hvis den tidligere policyen har en
TotalTaxAmount__c, blir denne verdien fordelt på de nye gyldighets- og sluttdatoene, og angis iTotalTaxForTerm__c-feltet. -
Hvis den tidligere policyen har en
TotalFeeAmount__c, blir denne verdien fordelt på de nye gyldighets- og sluttdatoene, og angis iTotalFeeForTerm__c-feltet. -
Hvis AssetItem-feltene har en
TaxAmount__c, blir denne verdien fordelt på de nye gyldighets- og sluttdatoene og angis iProratedTaxAmount__c-feltet. -
Hvis
AssetItem-feltene i den forrige policyen har enFeeAmount__c, blir denne verdien fordelt på de nye gyldighets- og sluttdatoene og angis iProratedFeeAmount__c-feltet.
Hvis alternativet createTransaction (se nedenfor) settes til true og den nye poliseversjonen har tilknyttede avgifter og avgifter, settes til slutt TaxAmount__c- og FeeAmount__c-feltene i den opprettede transaksjonen til forskjellen mellom den nye (gjeldende) policyen og den tidligere polisens TotalTaxForTerm__c og TotalFeeForTerm__c.
Eksterne alternativer
Inndata-JSON
Denne tjenesten ser etter inputKey som er angitt i produkt-JSON-koden.
"policyJson": {
"productConfigurationDetail": {
"insuredItems": {
"Auto": [{
"instanceKey": "2015 Lexus LX250",
"autoLicNum": "Lexus",
"autoModel": "LX150",
"autoYear": 2015,
"BodyClass": "Sedan/Saloon",
"VehicleType": "PASSENGER CAR",
"isPrimary": true
"isParent": true
},
{
"instanceKey": "2006 Honda Odyssey",
"autoLicNum": "Honda",
"autoModel": "Odyssey",
"autoYear": 2006,
"BodyClass": "Minivan",
"VehicleType": "MULTIPURPOSE PASSENGER VEHICLE (MPV)",
"isPrimary": true
"isParent": true
},
{
"instanceKey": "2018 530 BMW",
"autoLicNum": "530",
"autoModel": "BMW",
"autoYear": 2018,
"BodyClass": "Sedan/Saloon",
"VehicleType": "PASSENGER CAR",
"isPrimary": true
"isParent": true
},
{
"instanceKey": "2016 Camry Toyota",
"autoLicNum": "Camry",
"autoModel": "Toyota",
"autoYear": 2016,
"BodyClass": "Sedan/Saloon",
"VehicleType": "PASSENGER CAR",
"isPrimary": true
"isParent": true
}
],
"Driver": [{
"AGE": 20,
"instanceKey": "Joan Smith",
"FN": "Joan",
"GENDER": "Female",
"LN": "Smith",
"isPrimary": false
"isParent": false
},
{
"AGE": 30,
"instanceKey": "John Smith",
"FN": "John",
"GENDER": "Male",
"LN": "Smith",
"isPrimary": false
"isParent": false
},
{
"AGE": 30,
"instanceKey": "Robert Henderson",
"FN": "Robert",
"GENDER": "Male",
"LN": "Henderson",
"isPrimary": false
"isParent": false
},
{
"AGE": 20,
"instanceKey": "Kinsey Schell",
"FN": "Kinsey",
"GENDER": "Female",
"LN": "Schell",
"isPrimary": false
"isParent": false
}
]
},
"accountId": "001f400000RrQSrAAN"
}Hvis alternativet for ekstern isCreatingPolicyTerms er satt til true, inkluderes en policyTermIds-node. Her er et eksempel på en policyTermIds-node:
{
"policyId": "02i6g000000h110AAA",
"policyTermIds": [
"a5X6g000001LeUUEA0",
"a5X6g000001LeUVEA0",
"a5X6g000001LeUWEA0",
"a5X6g000001LeUXEA0",
"a5X6g000001LeUYEA0",
"a5X6g000001LeUZEA0",
"a5X6g000001LeUaEAK",
"a5X6g000001LeUbEAK",
"a5X6g000001LeUcEAK",
"a5X6g000001LeUdEAK",
"a5X6g000001LeUeEAK",
"a5X6g000001LeUfEAK"
]
}