Du er her:
InsPolicyService:cancelPolicy
Bruk denne tjenesten til å kansellere en eksisterende forsikringspolise.
Denne tjenesten samarbeider med InsPolicyService:prepareToCancelPolicy og med InsPolicyRevenueScheduleService:cancelRevenueSchedule for å fullføre alle endringer som er nødvendige for å kansellere en polise, gi et refusjonsbeløp og avslutte omsetningsplanen (hvis nødvendig).
Metode: cancelPolicy
Slik virker det
-
Tar
assetIdellerpolicyIdav polisen som skal kanselleres ogeffectiveDatesom kanselleringen trer i kraft.Merk Gjeldende kanselleringsdato kan ikke være større enn i dag. -
Oppdaterer policystatusen til
Canceled, den opprinnelige utløpsdatoen til den gjeldende verdien i utløpsdatoen, og utløpsdatoen til en dag før kanselleringsdatoen (med tidsstempel på 23:59 PM). -
Endrer utløpsdatoen til
effectiveDateoverført til tjenesten med et tidsstempel på 23:59. -
Bruker den riktige beregningsprosessen basert på
useIsPaidFlag.Når
useIsPaidFlager angitt til false (ikke valgt), proporsjonerer tjenesten polisens Total Premium for Term, Total Fee for Term og Total Tax For Term, og beregner refunderte beløp basert på kanselleringsdatoen og Policy Paid To Date. Hvis dato for betalt polise er null, vurderer tjenesten betalte poliser fullt ut og bruker Utløpsdato.Med
useIsPaidFlagangitt tiltrue(valg):-
Bruker en betalingsplan til å beregne totalbeløpet som allerede er betalt for policyen. Samlet beløp som betales for polisen, er lik summen av beløp i betalingsplaner der Er betalt er satt til sann (valg). Dette beløpet brukes til beregning av refusjoner.
-
Fordeler polisens Total Premium for Term, Total Fee for Term og Total Tax for Term, og beregner refusjonsbeløp basert på kanselleringsdatoen og totalbeløpet som allerede er betalt for policyen.
-
Justerer betalingsplaner basert på den gjeldende datoen eller kanselleringsdatoen, avhengig av hva som er senere. Hvis betalingsplaner på eller etter denne datoen har Er betalt satt til usann (ikke merket), sletter tjenesten dem.
-
Oppdaterer statusen til alle ikke-betalte betalingsplaner (som er i fortiden fra
cancellationDate) tilInvalid. Det ubetalte beløpet legges til i den nye betalingsplanen. -
Oppretter en ny betalingsplan for gjeldende dato med et beløp lik refusjonsbeløpet som allerede er beregnet, og markerer statusen som
Valid. HviscreateTransactioner sann, oppretter tjenesten en kanselleringstransaksjon. -
Oppdaterer alle fremtidige policyversjoner med informasjon om kansellering:
-
Status: Kansellert
-
Dato for kansellering:
effectiveDateoverført til tjenesten -
Term Premium, Term Tax og Term Fee: 0
-
Utløpsdato: Dagen før
effectiveDateoverføres til tjenesten med et tidsstempel på 23:59
-
-
-
Forplikter den proporsjonale TotalPremiumForTerm-verdien til databasen.
Hvis createTransaction=true og ID-en overført er assetId, opprettes AssetTransaction_c (Amount_c=refund, postDate_c og transactionDate_c=effectiveDate, type=transactionType (avbrytes som standard). Hvis createTransaction=true og ID-en overført er policyId, oppretter tjenesten InsurancePolicyTransaction_c eller InsurancePolicyTransaction (Amount_c=refund, postDate_c og transactionDate_c=effectiveDate, type=transactionType (avbrytes som standard).
Tjenesten fyller også ut transaksjonsdetaljdata i transaksjonsdetaljobjektet. Den viser data om hvor mye hvert aktivum, deltaker og dekning bidrar til totalt transaksjonsbeløp når det gjelder premiebeløp, avgifter og gebyrer. Bare de aktivaene, deltakerne og dekningene som har minst én ikke-nullverdi for premiebeløp, avgifter og gebyrer, vises.-
Kaller opp InsPolicyRevenueScheduleService:cancel med
assetIdog den nyopprettedetransactionId. -
InsPolicyRevenueScheduleService: cancel service beregner slutten på omsetningsplanen og legger inn resultatet i omsetningsplandelen av policyen. Refusjonsbeløpene er fra forsikringsselskapets perspektiv. Et negativt beløp fører til en refusjon til forsikringshaveren, og et positivt beløp representerer et ubetalt beløp fra forsikringshaveren.
Tjenesten støtter også kansellering av poliser der den opprinnelige poliseversjonen har en varighet på mindre enn 365 dager eller mindre enn 366 dager i et skuddår. Se Vurderinger og begrensninger for forsikringspoliser.
Tilleggskostnader (avgifter og avgifter)
Denne tjenesten (sammen med prepareToCancel) letter proporsjoner og refusjoner av skatter og avgifter når en polise kanselleres. Slik fungerer det:
-
Hvis målpolicyen har en
TotalTaxAmount__c, blir denne verdien fordelt på kanselleringsdatoen og angitt iTotalTaxForTerm__c-feltet. -
Hvis målpolicyen har en
TotalFeeAmount__c, blir denne verdien fordelt på kanselleringsdatoen og angitt iTotalFeeForTerm__c-feltet. -
Hvis
createTransaction-alternativet (se nedenfor) er satt til true og målpolicyen har refusjonsbareAssetPricingAdjustment__c-poster, angis de proporsjonale refusjonsbeløpene i transaksjonensTaxAmount__c- ogFeeAmount__c-felt.
Hvis du bruker Forsikringspolise-objektmodellen (i stedet for Aktivum-objektmodellen), er feltnavnene forskjellige:
-
TotalTaxAmount__c=StandardTaxAmount -
TotalTaxForTerm__c=TermTaxAmount -
TotalFeeAmount__c=StandardFeeAmount -
TotalFeeForTerm__c=TermFeeAmount -
AssetPricingAdjustment__c=InsurancePolicySurcharge -
TaxAmount__c=TransactionTaxAmount -
FeeAmount__c=TransactionFeeAmount
Vil du lære om overgang fra Aktivum-objektmodellen til Forsikringspolise-objektmodellen? Les Harmoniser forsikringspoliser.
Eksterne alternativer
Utdata-JSON
Hvis du bruker Aktivum-objektmodellen, returnerer denne tjenesten en JSON output-node. Her er et eksempel:
{
"output": {
"records": [
{
"instest10__TotalAmount__c": 420.97,
"instest10__TaxAmount__c": 37.93,
"instest10__FeeAmount__c": 3.68,
"instest10__Amount__c": 379.36,
"Id": "a416g0000002CZpAAM"
}
],
"totalSize": 1
}
}Hvis du bruker objektmodellen Forsikringspolise, returnerer denne tjenesten en JSON results-node. Her er et eksempel:
{
"result": {
"type": "Cancelled",
"transactionNumber": null,
"transactionDate":
"totalAmount": null,
"taxAmount": null,
"postDate": "2021-09-01T07:00:00.000Z",
"name": "Cancelled"
"Id": null,
"feeAmount": null,
"amount": -133.4,
"additionalInfo": null
},
"error": "OK"
}