U bent hier:
InsPolicyService:getModifiedPolicy
Gebruik deze service wanneer een gebruiker wijzigingen aanbrengt aan de verzekerde items of verzekerden in een bestaande polis. De service neemt de wijzigingen die de gebruiker aanbrengt en retourneert gewijzigde polisgegevens, inclusief de opnieuw berekende prijs.
Methode: getModifiedPolicy
Updates worden geleverd via twee knooppunten in de invoer: modifiedItems en newInsuredItemsRelationships.
De manier waarop het werkt...
-
De service neemt de
assetIdofpolicyIdvan het te wijzigen beleid aan. -
Neemt een getransformeerde JSON die een kaart van verzekerde items bevat. Dit is een toewijzing van de verzekerde items en partijen op de doelpolis, evenals alle gewijzigde kenmerken. Dit kan ook nieuwe verzekerde items omvatten die momenteel niet voorkomen op de doelpolis.
-
Werkt de waarden van het kenmerk van het verzekerde item en de verzekerde partij in de product-JSON bij met die welke zijn opgegeven in de kaart van verzekerde items. Voegt nieuwe verzekerde items toe aan het product JSON.
Opmerking Het toevoegen van optionele dekkingen aan verzekerde items wordt niet ondersteund doorInsPolicyService:getModifiedPolicy. -
Verwerkt alle nieuwe koppelingen tussen verzekerde items of verzekerden die zijn opgegeven in de
newInsuredItemsRelationshipsen voegt naar behoefte onderliggende producten toe in de product-JSON. Zo resulteert een nieuwe koppeling tussen een bestuurder en een auto in een nieuw onderliggend product onder dat specifieke auto-exemplaar in het product JSON.TipAlleen nieuwe koppelingen kunnen worden opgegeven; bestaande koppelingen kunnen niet worden verwijderd met de info in de sleutel.
-
Gebruikt de opties
aggByKey,effectiveDate,filtersenincludeInputKeyom de polis opnieuw te prijzen en de nieuwe prijzen in te stellen in de product-JSON. -
Bij het berekenen van belastingen en vergoedingen worden alleen belastingen en vergoedingen berekend voor nieuwe records. Als er bijvoorbeeld een extra auto (verzekerd item) wordt toegevoegd aan een polis, berekent de service nieuwe belastingen en vergoedingen voor de nieuwe auto. De waarden voor totaalbelasting en kosten voor de polis worden bijgewerkt.
Als er geen nieuwe verzekerde items of dekkingen worden toegevoegd aan de polis, worden belastingen en vergoedingen niet opnieuw berekend.
-
Retourneert het product-JSON met gewijzigde informatie. De knooppunten
primaryPartyenotherPartiesworden gemaakt/bijgewerkt als het onderliggende product een Verzekerde partij is.OpmerkingAls er nog geen
primaryPartybestaat, wordt deprimaryPartygemaakt op basis van de eerste nieuwe relatie die is opgegeven innewInsuredItemsRelationshipsvoor het bovenliggende exemplaar. Vervolgens worden de andere nieuwe relaties innewInsuredItemsRelationshipsvoor het bovenliggende exemplaar toegevoegd aan deotherParties.Als de
primaryPartyechter al bestaat, worden de eerste nieuwe relatie die is opgegeven innewInsuredItemsRelationshipsvoor het bovenliggende exemplaar, evenals alle andere nieuwe relaties voor dat bovenliggende exemplaar, toegevoegd aan deotherParties.Deze JSON omvat de velden
taxesAndFees,taxAmount,feeAmount,totalTaxForTermDiff,entotalFeeForTermDiffin de JSON Polis als de doelpolis belastingen en/of kosten heeft.
Alle externe opties die worden gebruikt in de service InsProductService:getRatedProducts, kunnen ook met deze service worden gebruikt.
Invoer
Invoer |
Beschrijving |
|---|---|
|
De details van de bijgewerkte verzekerde items of verzekerden). |
|
Nieuwe koppelingen tussen verzekerde zaken en andere zaken of verzekerden, zoals de toevoeging van een bestuurder aan een auto of de toevoeging van sieraden aan een woning. |
Externe opties
Invoer-JSON
Hier is een voorbeeld van hoe u de modifiedItems en newInsuredItemsRelationships opgeeft in de invoertoewijzing. modifiedItems moet een array van exemplaren bevatten voor elke productcode met de kenmerkgegevens van elk exemplaar. newInsuredItemsRelationships moet een array bevatten waarbij elk element een toewijzing is die de relatie aangeeft tussen een onderliggend element ( instanceKey) en het bovenliggende element (parentInstanceKey).
"modifiedItems": {
"DRIVER": [{
"LN": "Smith",
"GENDER": "Female",
"FN": "Joan",
"instanceKey": "Joan Smith",
"AGE": 20
},
{
"LN": "Smith",
"GENDER": "Male",
"FN": "John",
"instanceKey": "John Smith",
"AGE": 30
},
{
"LN": "Henderson",
"GENDER": "Male",
"FN": "Robert",
"instanceKey": "Robert Henderson",
"AGE": 30
},
{
"LN": "Schell",
"GENDER": "Female",
"FN": "Kinsey",
"instanceKey": "Kinsey Schell",
"AGE": 20
}
],
"AUTO": [{
"VehicleType": "PASSENGER CAR",
"BodyClass": "Sedan/Saloon",
"autoYear": 2017,
"autoModel": "LX350",
"autoLicNum": "Lexus",
"instanceKey": "2015 Lexus LX250"
},
{
"VehicleType": "MULTIPURPOSE PASSENGER VEHICLE (MPV)",
"BodyClass": "Minivan",
"autoYear": 2006,
"autoModel": "Odyssey",
"autoLicNum": "Honda",
"instanceKey": "2006 Honda Odyssey"
},
{
"VehicleType": "PASSENGER CAR",
"BodyClass": "Sedan/Saloon",
"autoYear": 2018,
"autoModel": "BMW",
"autoLicNum": "530",
"instanceKey": "2018 530 BMW"
},
{
"VehicleType": "PASSENGER CAR",
"BodyClass": "Sedan/Saloon",
"autoYear": 2016,
"autoModel": "Toyota",
"autoLicNum": "Camry",
"instanceKey": "2016 Camry Toyota"
}
]
},
"newInsuredItemsRelationships": [
{
"instanceKey": "Joan Smith",
"parentInstanceKey": "2015 Lexus LX250"
},
{
"instanceKey": "Robert Henderson",
"parentInstanceKey": "2018 530 BMW"
}
]Uitvoer-JSON
De service retourneert een product-JSON met alle wijzigingen en toevoegingen van de gebruiker. Het bevat ook berekende priceDiff en totalPremiumForTermDiff die de wijzigingen van de gebruiker weerspiegelen. Met name voor belastingen en vergoedingen worden ook de velden totalTaxForTermDiff en totalFeeForTermDiff geretourneerd. Ze worden alleen weergegeven bij het berekenen van belastingen en vergoedingen en vertegenwoordigen het verschil tussen de pro rata belasting of vergoeding van de doelpolis en de pro rata belasting of vergoeding van de gewijzigde polis (vergelijkbaar met het veld totalPremiumForTermDiff).
{
"totalSize" : 1,
"records" : [ {
"displaySequence" : -1,
"accountId" : "02i000000000000000",
"EffectiveEnd" : "2019-12-31T08:00:00.000+0000",
"EffectiveStart" : "2019-01-01T08:00:00.000+0000",
"Name" : "policy",
"policyNumber" : "4ec13580-2208-5109-095e-b39bdbaaeb56",
"Price" : 25.50,
"productId" : "01tRN000000LCquYAG",
"RecordTypeName__c" : "Product",
"term" : "Annual",
"TotalPremiumForTerm__c" : 25.50,
"totalSumInsured" : 19.25,
"key" : "value",
"feeAmount" : 10,
"taxAmount" : 10,
"nat_test__TotalFeeAmount__c" : 10,
"TotalFeeForTerm__c" : 10.00,
"nat_test__TotalTaxAmount__c" : 10,
"TotalTaxForTerm__c" : 10.00,
"hasAttributes" : false,
"productName" : "AutoRoot",
"ProductCode" : "AutoRoot",
"currencyCode" : "USD",
"currencySymbol" : "$",
"taxesAndFees" : [ {
"PriceListEntryName__c" : null,
"PriceListEntryId__c" : "02i000000000000002",
"isRefundable" : null,
"Id" : null,
"currencySymbol" : "$",
"currencyCode" : "USD",
"calculatedAmount" : 10,
"Amount__c" : 10,
"AdjustmentType__c" : "Tax"
}, {
"PriceListEntryName__c" : null,
"PriceListEntryId__c" : "02i000000000000003",
"isRefundable" : null,
"Id" : null,
"currencySymbol" : "$",
"currencyCode" : "USD",
"calculatedAmount" : 20,
"Amount__c" : 20,
"AdjustmentType__c" : "Fee"
} ],
"coverageCount" : 0,
"childProducts" : {
"totalSize" : 2,
"records" : [ {
"displaySequence" : -1,
"hasAttributes" : true,
"productName" : "Auto",
"ProductCode" : "Auto",
"nat_test__RecordTypeName__c" : "InsuredItemSpec",
"productId" : "01tRN000000LCqrYAG",
"Name" : "1998 Honda Civic",
"instanceKey" : "1998 Honda Civic",
"currencyCode" : "USD",
"currencySymbol" : "$",
"hasCoverages" : true,
"primaryParty" : {
"instanceKey" : "BobJones"
},
"otherParties" : [ {
"productCode" : "Driver",
"instanceKey" : "SarahJones",
"LastName" : "Jones",
"FirstName" : "Sarah"
} ],
"attributeCategories" : {
"totalSize" : 1,
"records" : [ {
"displaySequence" : 1,
"Code__c" : "Auto",
"Name" : "Auto",
"id" : "a0ZRN0000009TMm2AM",
"productAttributes" : {
"totalSize" : 3,
"records" : [ {
"code" : "Make",
"dataType" : "text",
"inputType" : "text",
"multiselect" : false,
"required" : false,
"readonly" : false,
"disabled" : false,
"filterable" : true,
"attributeId" : "a0aRN00000067pjYAA",
"label" : "Make",
"displaySequence" : -1,
"hasRules" : false,
"hidden" : false,
"cloneable" : true,
"isNotTranslatable" : false,
"values" : [ {
"readonly" : false,
"disabled" : false
} ],
"userValues" : "Honda",
"isNotAssetizable" : false
}, {
"code" : "Model",
"dataType" : "text",
"inputType" : "text",
"multiselect" : false,
"required" : false,
"readonly" : false,
"disabled" : false,
"filterable" : true,
"attributeId" : "a0aRN00000067pkYAA",
"label" : "Model",
"displaySequence" : -1,
"hasRules" : false,
"hidden" : false,
"cloneable" : true,
"isNotTranslatable" : false,
"values" : [ {
"readonly" : false,
"disabled" : false
} ],
"userValues" : "Civic",
"isNotAssetizable" : false
}, {
"code" : "ModelYear",
"dataType" : "number",
"inputType" : "number",
"multiselect" : false,
"required" : false,
"readonly" : false,
"disabled" : false,
"filterable" : true,
"attributeId" : "a0aRN00000067plYAA",
"label" : "ModelYear",
"displaySequence" : -1,
"hasRules" : false,
"hidden" : false,
"cloneable" : true,
"isNotTranslatable" : false,
"values" : [ {
"readonly" : false,
"disabled" : false
} ],
"userValues" : 1998,
"isNotAssetizable" : false
} ]
}
} ]
},
"childProducts" : {
"totalSize" : 2,
"records" : [ {
"displaySequence" : -1,
"hasAttributes" : true,
"productName" : "Driver",
"ProductCode" : "Driver",
"nat_test__RecordTypeName__c" : "InsuredPartySpec",
"productId" : "01tRN000000LCqsYAG",
"Name" : "BobJones",
"instanceKey" : "BobJones",
"currencyCode" : "USD",
"currencySymbol" : "$",
"hasCoverages" : true,
"isPrimaryChild" : true,
"attributeCategories" : {
"totalSize" : 1,
"records" : [ {
"displaySequence" : 2,
"Code__c" : "Driver",
"Name" : "Driver",
"id" : "a0ZRN0000009TMn2AM",
"productAttributes" : {
"totalSize" : 2,
"records" : [ {
"code" : "FirstName",
"dataType" : "text",
"inputType" : "text",
"multiselect" : false,
"required" : false,
"readonly" : false,
"disabled" : false,
"filterable" : true,
"attributeId" : "a0aRN00000067pmYAA",
"label" : "FirstName",
"displaySequence" : -1,
"hasRules" : false,
"hidden" : false,
"cloneable" : true,
"isNotTranslatable" : false,
"values" : [ {
"readonly" : false,
"disabled" : false
} ],
"userValues" : "Bob",
"isNotAssetizable" : false
}, {
"code" : "LastName",
"dataType" : "text",
"inputType" : "text",
"multiselect" : false,
"required" : false,
"readonly" : false,
"disabled" : false,
"filterable" : true,
"attributeId" : "a0aRN00000067pnYAA",
"label" : "LastName",
"displaySequence" : -1,
"hasRules" : false,
"hidden" : false,
"cloneable" : true,
"isNotTranslatable" : false,
"values" : [ {
"readonly" : false,
"disabled" : false
} ],
"userValues" : "Jones",
"isNotAssetizable" : false
} ]
}
} ]
}
}, {
"displaySequence" : -1,
"Id" : "01tRN000000LCqsYAG",
"Name" : "Driver",
"productId" : "01tRN000000LCqsYAG",
"productName" : "Driver",
"ProductCode" : "Driver",
"nat_test__RecordTypeName__c" : "InsuredPartySpec",
"instanceKey" : "SarahJones",
"attributeCategories" : {
"totalSize" : 0,
"records" : [ {
"displaySequence" : -1,
"Code__c" : "Driver",
"Name" : "Driver",
"id" : "a0ZRN0000009TMn2AM",
"productAttributes" : {
"totalSize" : 0,
"records" : [ {
"code" : "FirstName",
"dataType" : "text",
"inputType" : "text",
"multiselect" : false,
"required" : false,
"readonly" : false,
"disabled" : false,
"filterable" : true,
"attributeId" : "a0aRN00000067pmYAA",
"label" : "FirstName",
"displaySequence" : -1,
"hasRules" : false,
"hidden" : false,
"cloneable" : true,
"values" : [ {
"readonly" : false,
"disabled" : false
} ],
"userValues" : "Sarah",
"isNotAssetizable" : false
}, {
"code" : "LastName",
"dataType" : "text",
"inputType" : "text",
"multiselect" : false,
"required" : false,
"readonly" : false,
"disabled" : false,
"filterable" : true,
"attributeId" : "a0aRN00000067pnYAA",
"label" : "LastName",
"displaySequence" : -1,
"hasRules" : false,
"hidden" : false,
"cloneable" : true,
"values" : [ {
"readonly" : false,
"disabled" : false
} ],
"userValues" : "Jones",
"isNotAssetizable" : false
} ]
}
} ]
}
} ]
}
}, {
"displaySequence" : -1,
"hasAttributes" : true,
"productName" : "Auto",
"ProductCode" : "Auto",
"nat_test__RecordTypeName__c" : "InsuredItemSpec",
"productId" : "01tRN000000LCqrYAG",
"Name" : "1999 Toyota Camry",
"instanceKey" : "1999 Toyota Camry",
"currencyCode" : "USD",
"currencySymbol" : "$",
"hasCoverages" : true,
"primaryParty" : {
"instanceKey" : "MaryJones"
},
"otherParties" : [ {
"instanceKey" : "BobJones"
} ],
"attributeCategories" : {
"totalSize" : 1,
"records" : [ {
"displaySequence" : 1,
"Code__c" : "Auto",
"Name" : "Auto",
"id" : "a0ZRN0000009TMm2AM",
"productAttributes" : {
"totalSize" : 3,
"records" : [ {
"code" : "Make",
"dataType" : "text",
"inputType" : "text",
"multiselect" : false,
"required" : false,
"readonly" : false,
"disabled" : false,
"filterable" : true,
"attributeId" : "a0aRN00000067pjYAA",
"label" : "Make",
"displaySequence" : -1,
"hasRules" : false,
"hidden" : false,
"cloneable" : true,
"isNotTranslatable" : false,
"values" : [ {
"readonly" : false,
"disabled" : false
} ],
"userValues" : "Toyota",
"isNotAssetizable" : false
}, {
"code" : "Model",
"dataType" : "text",
"inputType" : "text",
"multiselect" : false,
"required" : false,
"readonly" : false,
"disabled" : false,
"filterable" : true,
"attributeId" : "a0aRN00000067pkYAA",
"label" : "Model",
"displaySequence" : -1,
"hasRules" : false,
"hidden" : false,
"cloneable" : true,
"isNotTranslatable" : false,
"values" : [ {
"readonly" : false,
"disabled" : false
} ],
"userValues" : "Camry",
"isNotAssetizable" : false
}, {
"code" : "ModelYear",
"dataType" : "number",
"inputType" : "number",
"multiselect" : false,
"required" : false,
"readonly" : false,
"disabled" : false,
"filterable" : true,
"attributeId" : "a0aRN00000067plYAA",
"label" : "ModelYear",
"displaySequence" : -1,
"hasRules" : false,
"hidden" : false,
"cloneable" : true,
"isNotTranslatable" : false,
"values" : [ {
"readonly" : false,
"disabled" : false
} ],
"userValues" : 1999,
"isNotAssetizable" : false
} ]
}
} ]
},
"childProducts" : {
"totalSize" : 0,
"records" : [ {
"displaySequence" : -1,
"hasAttributes" : true,
"productName" : "Driver",
"ProductCode" : "Driver",
"nat_test__RecordTypeName__c" : "InsuredPartySpec",
"productId" : "01tRN000000LCqsYAG",
"Name" : "BobJones",
"instanceKey" : "BobJones",
"currencyCode" : "USD",
"currencySymbol" : "$",
"hasCoverages" : true,
"isPrimaryChild" : false,
"attributeCategories" : {
"totalSize" : 1,
"records" : [ {
"displaySequence" : 2,
"Code__c" : "Driver",
"Name" : "Driver",
"id" : "a0ZRN0000009TMn2AM",
"productAttributes" : {
"totalSize" : 2,
"records" : [ {
"code" : "FirstName",
"dataType" : "text",
"inputType" : "text",
"multiselect" : false,
"required" : false,
"readonly" : false,
"disabled" : false,
"filterable" : true,
"attributeId" : "a0aRN00000067pmYAA",
"label" : "FirstName",
"displaySequence" : -1,
"hasRules" : false,
"hidden" : false,
"cloneable" : true,
"isNotTranslatable" : false,
"values" : [ {
"readonly" : false,
"disabled" : false
} ],
"userValues" : "Bob",
"isNotAssetizable" : false
}, {
"code" : "LastName",
"dataType" : "text",
"inputType" : "text",
"multiselect" : false,
"required" : false,
"readonly" : false,
"disabled" : false,
"filterable" : true,
"attributeId" : "a0aRN00000067pnYAA",
"label" : "LastName",
"displaySequence" : -1,
"hasRules" : false,
"hidden" : false,
"cloneable" : true,
"isNotTranslatable" : false,
"values" : [ {
"readonly" : false,
"disabled" : false
} ],
"userValues" : "Jones",
"isNotAssetizable" : false
} ]
}
} ]
}
}, {
"displaySequence" : -1,
"hasAttributes" : true,
"productName" : "Driver",
"ProductCode" : "Driver",
"nat_test__RecordTypeName__c" : "InsuredPartySpec",
"productId" : "01tRN000000LCqsYAG",
"Name" : "MaryJones",
"instanceKey" : "MaryJones",
"currencyCode" : "USD",
"currencySymbol" : "$",
"hasCoverages" : true,
"isPrimaryChild" : true,
"attributeCategories" : {
"totalSize" : 1,
"records" : [ {
"displaySequence" : 2,
"Code__c" : "Driver",
"Name" : "Driver",
"id" : "a0ZRN0000009TMn2AM",
"productAttributes" : {
"totalSize" : 2,
"records" : [ {
"code" : "FirstName",
"dataType" : "text",
"inputType" : "text",
"multiselect" : false,
"required" : false,
"readonly" : false,
"disabled" : false,
"filterable" : true,
"attributeId" : "a0aRN00000067pmYAA",
"label" : "FirstName",
"displaySequence" : -1,
"hasRules" : false,
"hidden" : false,
"cloneable" : true,
"isNotTranslatable" : false,
"values" : [ {
"readonly" : false,
"disabled" : false
} ],
"userValues" : "Mary",
"isNotAssetizable" : false
}, {
"code" : "LastName",
"dataType" : "text",
"inputType" : "text",
"multiselect" : false,
"required" : false,
"readonly" : false,
"disabled" : false,
"filterable" : true,
"attributeId" : "a0aRN00000067pnYAA",
"label" : "LastName",
"displaySequence" : -1,
"hasRules" : false,
"hidden" : false,
"cloneable" : true,
"isNotTranslatable" : false,
"values" : [ {
"readonly" : false,
"disabled" : false
} ],
"userValues" : "Jones",
"isNotAssetizable" : false
} ]
}
} ]
}
} ]
}
} ]
}
} ]
}