위치:
InsPolicyService:getModifiedPolicy
사용자가 기존 증권의 보험 항목 또는 보험 당사자를 변경하는 경우 이 서비스를 사용합니다. 서비스는 사용자가 변경한 내용을 가져와 재계산된 가격을 포함하여 수정된 증권 데이터를 반환합니다.
방법: getModifiedPolicy
업데이트는 입력의 두 노드, 즉 modifiedItems 및 newInsuredItemsRelationships를 통해 제공됩니다.
작동 방법
-
서비스는 수정할 정책의
assetId또는policyId을 취합니다. -
보험 항목 맵이 포함된 변환된 JSON을 가져옵니다. 이는 대상 증권의 보험 항목 및 당사자와 모든 수정된 특성의 맵입니다. 대상 증권에 현재 없는 새 보험 항목도 포함될 수 있습니다.
-
제품 JSON의 보험 항목 및 보험 당사자 특성 값을 보험 항목 맵에 지정된 값으로 업데이트합니다. 새 보험 항목을 제품 JSON에 추가합니다.
노트 보험 항목에 선택적 보장 범위를 추가하는 것은InsPolicyService:getModifiedPolicy에서 지원하지 않습니다. -
newInsuredItemsRelationships키에 지정된 보험 항목 또는 보험 당사자 간의 새로운 연결을 처리하고 필요에 따라 제품 JSON에 자녀 제품을 추가합니다. 예를 들어, 운전자를 자동차와 페어링하는 새 연결을 통해 제품 JSON의 특정 자동차 인스턴스 아래에 새 하위 제품이 생성됩니다.팁새 연결만 지정할 수 있으며, 키의 정보로 기존 연결을 제거할 수 없습니다.
-
aggByKey,effectiveDate,filters,includeInputKey옵션을 사용하여 정책을 다시 조정하고 제품 JSON에서 새 가격을 설정합니다. -
세금 및 수수료를 계산하는 경우 새 레코드에 대한 세금 및 수수료만 계산합니다. 예를 들어 추가 자동(보험 항목)이 증권에 추가되는 경우 서비스에서 새 자동에 대한 새 세금 및 수수료를 계산합니다. 정책의 롤업 세금 및 수수료 값이 업데이트됩니다.
새 보험 항목이나 보장 범위가 없거나 증권에 추가된 경우 세금 및 수수료가 다시 계산되지 않습니다.
-
수정된 정보와 함께 제품 JSON을 반환합니다. 하위 제품이 보험 당사자인 경우
primaryParty및otherParties노드가 생성/업데이트됩니다.노트primaryParty가 없는 경우 상위 인스턴스에 대해newInsuredItemsRelationships에 지정된 첫 번째 새 관계에서primaryParty이 생성됩니다. 그런 다음, 상위 인스턴스의newInsuredItemsRelationships에 있는 다른 새 관계가otherParties배열에 추가됩니다.그러나
primaryParty가 이미 있는 경우 상위 인스턴스에 대해newInsuredItemsRelationships에 지정된 첫 번째 새 관계와 해당 상위 인스턴스에 대한 모든 다른 새로운 관계가otherParties배열에 추가됩니다.대상 정책에 세금 및 수수료가 있는 경우 이 JSON에 정책 JSON의
taxesAndFees,taxAmount,feeAmount,totalTaxForTermDiff,및totalFeeForTermDiff필드가 포함됩니다.
InsProductService:getRatedProducts 서비스에서 사용되는 모든 원격 옵션도 이 서비스와 함께 사용할 수 있습니다.
입력
입력 |
설명 |
|---|---|
|
업데이트된 보험 항목 또는 보험주에 대한 세부 사항). |
|
자동차에 운전자를 추가하거나 가정에 보석을 추가하는 등 보험 항목과 다른 항목 또는 보험 당사자 간의 새로운 연결 |
원격 옵션
입력 JSON
다음은 입력 맵에서 modifiedItems 및 newInsuredItemsRelationships 키를 지정하는 방법의 예입니다. modifiedItems에는 각 인스턴스의 특성 데이터가 포함된 각 제품 코드에 대한 인스턴스의 배열이 포함되어야 합니다. newInsuredItemsRelationships에는 각 요소가 하위 항목( instanceKey)과 상위 항목(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"
}
]출력 JSON
서비스가 모든 사용자 수정 및 추가가 포함된 제품 JSON을 반환합니다. 또한 사용자 수정 사항을 반영하는 계산된 priceDiff 및 totalPremiumForTermDiff 값도 포함됩니다. 특히 세금 및 수수료의 경우 totalTaxForTermDiff 및 totalFeeForTermDiff 필드도 반환됩니다. 세금 및 수수료 계산 시에만 표시되며 대상 정책의 비례 배분 세금 또는 수수료와 수정된 정책의 비례 배분 세금 또는 수수료(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
} ]
}
} ]
}
} ]
}
} ]
}
} ]
}