U bent hier:
InsPolicyService:createPolicyVersion
Gebruik deze service om een nieuwe versie van een bestaande polis te maken, waarbij de bestaande polisrecord ongewijzigd blijft.
Deze service schakelt versiebeheer van beleid in. Alle wijzigingen aan een beleid worden bijgehouden in verschillende versies van dat beleid. U kunt deze gebruiken in OmniScripts en integratieprocedures voor beleid wijzigen en beleid annuleren. U kunt deze service ook gebruiken om vervallen en geannuleerde polissen opnieuw in te stellen.
Deze service werkt met de Salesforce Financial Services Cloud voor optionele ondersteuning voor het maken van betalingsschema's.
De manier waarop het werkt...
-
Neemt de
assetIdofpolicyIdvan het huidige beleid en de JSON die door deinputKeywordt aangegeven. -
Maakt een kloon van het oorspronkelijke beleid.
-
Als er een bestaande betalingsplanning is, werkt de service de betalingsplanning bij en maakt een ingang van de betalingsplanning op de ingangsdatum van de bevestiging. Als
useIsPaidFlagtrue (waar) is, worden alle toekomstige betalingsplanningsgegevens (vanaf ingangsdatum) zonder transacties (waarvoor het statusveldValidis en het veldisPaidis uitgeschakeld) bijgewerkt op basis van nieuwere waarden zoals premie, belasting en kosten. Het nieuwe betalingsschema-item bevat de aangepaste waarden van premie, belasting en kosten op basis van nieuwe premies, belastingen en kosten en bijgewerkte betalingsschema-items. Ook worden de bijdragerecords van poliscomponenten in elke ingang van de betalingsplanning bijgewerkt. -
De service gebruikt de Berekeningswijze van premie, het Betalingstype en de Premiefrequentie van de vorige polis, en de Totaalpremie voor looptijd, Totaalkosten voor looptijd en Totaalbelasting voor looptijd van de nieuwe polis om de gewijzigde betalingsplanning te genereren. Naast het maken van de transactie worden transactiesplitsingsgegevens ingevuld in het transactiedetailobject. Dit object slaat gegevens op over hoeveel elk activum, elke deelnemer of elke dekking bijdraagt aan de totale transactiebedragen in termen van premie, belasting en kosten. Alleen activa, deelnemers en dekkingen met minstens één waarde groter dan nul voor premie, belasting of kosten worden weergegeven.
Opmerking Premieberekeningswijze, Betalingstype en Premiefrequentie worden niet overgenomen van het vorige beleid en moeten worden doorgegeven als invoer voor de service via de JSON. -
Als
includeRevenueScheduleis ingesteld op true (waar), wordt de service voor omzetplanning aangeroepen om de omzetplanning te wijzigen. -
Als het de eerste wijziging van dit beleid is, stempelt de service de
originalVersionId__cenpreviousVersionId__cmet hetzelfdeassetId. Als dit niet de eerste wijziging van dit beleid is, draagt de service deOriginalVersionId__cover naar de nieuwe versie en stempelt de vorigeassetIdaf naarPreviousVersionId__cin het nieuwe beleid. -
Als de knooppunten
taxesAndFees,taxAmounten/offeeAmountzijn opgenomen in de invoer-JSON, worden de overeenkomende velden voor belasting/kosten en/of records gemaakt en pro rata berekend voor de nieuwe versie van het beleid. -
Indien van toepassing, wordt er een InsurancePolicyTransaction gemaakt voor de aanpassing van de betaling.
-
Als
calculateCommissiontrueis, roept de serviceInsurancePolicyService.calculateAndSaveCommissionaan, die de invoer voorbereidt voor deInsCommissionService.calculateenInsCommissionService.saveCommissions. Nadat de berekeningsservice de invoer heeft verwerkt, slaat de opslagservice de berekende waarde op inTotalCommissionAmount, totaliseert de waarde en voegt deze toe aan deTotalCommissionAmountvan de oorspronkelijke Polis. - Als de vlag
disableAttributeCategoriesin degetquotedetailis ingesteld op true (waar), laat de service het knooppunt attributeCategory weg uit de respons en kan decreatePolicyVersiongeen beleidstermen maken. Als u er zeker van wilt zijn dat decreatePolicyVersionbeleidsvoorwaarden maakt, stelt u de vlagdisableAttributeCategoriesin de in degetQuoteDetailservice in op false (onwaar).
Belastingen en toeslagen
Deze service werkt als volgt voor belastingen en kosten:
-
Als het veld
taxesAndFeesis opgegeven voor een JSON-record, blijft er een overeenkomendeAssetPricingAdjustment__cbestaan voor elk item in detaxesAndFees. -
Als het veld
taxAmountis opgegeven voor een JSON-record, wordt het veldTaxAmount__cingesteld op de waarde van het veldtaxAmountvoor het gemaakteAssetItem. -
Als het veld
feeAmountis opgegeven voor een JSON-record, wordt het veldFeeAmount__cingesteld op de waarde van het veldfeeAmountvoor de gemaakteAssetItem.
Wat het huidige (nieuw gecreëerde beleid) betreft:
-
Als het huidige beleid een
TotalTaxAmount__cheeft, wordt die waarde pro rata berekend over de ingangs- en einddatum en ingesteld op het veldTotalTaxForTerm__c. -
Als het huidige beleid een
TotalFeeAmount__cheeft, wordt die waarde pro rata berekend over de ingangs- en einddatum en ingesteld op het veldTotalFeeForTerm__c. -
Als de
AssetItemvoor de huidige polis eenTaxAmount__cheeft dat de waarde pro rata is over de ingangs- en einddatum en is ingesteld op het veldProratedTaxAmount__c. -
Als de
AssetItemvoor de huidige polis eenFeeAmount__cheeft dat de waarde pro rata is over de ingangs- en einddatum en is ingesteld op het veldProratedFeeAmount__c.
Voor polissen die al zijn gemaakt, worden de belastingen en kosten als volgt doorgegeven:
-
Als het vorige beleid een
TotalTaxAmount__cheeft, wordt die waarde pro rata berekend over de nieuwe ingangs- en einddatum, en wordt deze ingesteld voor het veldTotalTaxForTerm__c. -
Als het vorige beleid een
TotalFeeAmount__cheeft, wordt die waarde pro rata berekend over de nieuwe ingangs- en einddatum, en wordt deze ingesteld voor het veldTotalFeeForTerm__c. -
Als de AssetItem-velden een
TaxAmount__chebben, wordt die waarde pro rata berekend over de nieuwe ingangs- en einddatum, en wordt deze ingesteld voor het veldProratedTaxAmount__c. -
Als de
AssetItemvoor het vorige beleid eenFeeAmount__chebben, wordt die waarde pro rata berekend over de nieuwe ingangs- en einddatum en wordt deze ingesteld voor het veldProratedFeeAmount__c.
Als de optie createTransaction (zie hieronder) is ingesteld op true (waar) en de nieuwe polisversie gekoppelde belastingen en kosten heeft, worden de TaxAmount__c en FeeAmount__c voor de gemaakte transactie ingesteld op het verschil tussen de nieuwe (huidige) polis en de TotalTaxForTerm__c en TotalFeeForTerm__c van de vorige polis.
Externe opties
Invoer-JSON
Deze service zoekt naar de inputKey die zijn opgegeven in de product-JSON.
"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"
}Als de externe optie isCreatingPolicyTerms is ingesteld op true, wordt er een policyTermIds opgenomen. Hier is een voorbeeld van een policyTermIds:
{
"policyId": "02i6g000000h110AAA",
"policyTermIds": [
"a5X6g000001LeUUEA0",
"a5X6g000001LeUVEA0",
"a5X6g000001LeUWEA0",
"a5X6g000001LeUXEA0",
"a5X6g000001LeUYEA0",
"a5X6g000001LeUZEA0",
"a5X6g000001LeUaEAK",
"a5X6g000001LeUbEAK",
"a5X6g000001LeUcEAK",
"a5X6g000001LeUdEAK",
"a5X6g000001LeUeEAK",
"a5X6g000001LeUfEAK"
]
}