Overview
Proposal comparison is a common business scenario. To facilitate price comparison, the system will generate several versions and calculate the premium for each.
The comparison can involve either the assessment of coverage levels based on the plan concept or a comprehensive evaluation of different proposal versions.
Solution
Basically, there are two API solutions provided by GIMO to address the requirement.
| Characteristics | Policy Plan | Multiple Proposal Version |
|---|---|---|
| Structure Illustration | Policy - PolicyRisk (Select One Plan) - PolicyCoverage - PolicyBenefit - PolicyPlan - PolicyCoverage - PolicyBenefit | Policy (Version 1) - PolicyRisk - PolicyCoverage Policy (Version 2) - PolicyRisk - PolicyCoverage |
| API Set to Use | Standard Quotation/Proposal API | Additional ProposalVersion API |
| Within Single Proposal | Y | N |
| Change Scope | Only coverage/benefit/form under policy risk | Whole proposal |
| Business Prospective | Consumer Business Mostly | Commercial Business Mostly |
Plan Comparison in One Proposal Version
Business Usage
When a product has multiple plans, calculate the price of each plan and compare prices.
Product Configuration & Policy Model
Policy Plan model is very useful in achieving pricing comparison capabilities.
Firstly, make sure the technical product’s attribute “Has Plan” is set to “Yes”, and there will be an additional Policy Plan generated under the Policy Risk in the data dictionary.
When it has done, you just need to add the Policy Plan List under the Policy Risk List similar to the Policy Coverage List in the request JSON.
The Plan Code is a mandatory key for each plan. If the plan is chosen for policy, just add the “Plan Code” (Plan Code only) under the Policy Risk.
Plan Code is the Plan Code of the Plan created under Product Factory > Plan. Make sure the Plan Code is correct as defined, or otherwise errors will pop up.
Sample Request
"PolicyRiskList": [
{
// highlight-next-line
"PlanCode": "PLANTEST0120220001", //This plan is chosen for policy
// highlight-next-line
"PolicyPlanList": [
{
// highlight-next-line
"PlanCode": "PLANTEST0120220001",
"PolicyCoverageList": [
{
"PolicyBenefitList": [
{
"ProductElementCode": "B00117",
"ProductElementId": 527045010,
"SumInsured": 1000
}
],
"ProductElementCode": "C100415",
"SumInsured": 1000,
"VersionSeq": 1
},
{
"PolicyBenefitList": [
{
"ProductElementCode": "B00082",
"ProductElementId": 527045024,
"SumInsured": 1000
}
],
"ProductElementCode": "C100116",
"SumInsured": 1000,
"VersionSeq": 1
}
]
},
{
// highlight-next-line
"PlanCode": "PLANTEST0120220002",
"PolicyCoverageFormList": [
{
"PolicyCoverageList": [
{
"ProductElementCode": "C100116",
"SumInsured": 1000,
"VersionSeq": 1
},
{
"PolicyBenefitList": [
{
"ProductElementCode": "BFT1209",
"ProductElementId": 527045020,
"SumInsured": 1000
}
],
"ProductElementCode": "CT1209",
"SumInsured": 1000,
"VersionSeq": 1
}
],
"ProductElementCode": "CF1209",
"ProductElementId": 527045014
}
]
}
],
"ProductElementCode": "R10005",
"ProductElementId": 527045006,
"RiskName": "ProductElement",
"VersionSeq": 1
}
],When calling rating calculation/updateEx API, in response, the coverages/benefits/limit deductibles under the chosen plan (the Plan Code under Policy Risk) will be copied from Policy Plan to Policy Risk automatically. After issued, the premiums of each plan are only stored at the Policy Plan level, and the premiums of coverages/benefits under the plan are NOT stored.
Sample Response
"PolicyRiskList": [
{
"BeforeVatPremium": 18,
"BusinessObjectId": 527042997,
"DuePremium": 19.26,
"GrossPremium": 18,
"PlanCode": "PLANTEST0120220001",
"PolicyCoverageList": [ //Plan detail is auto copied from PolicyPlan to PolicyRisk
{
"BeforeVatPremium": 9,
"BusinessObjectId": 527043005,
"CoverageName": "Personal Accident (With Burning)",
"DuePremium": 9.63,
"GrossPremium": 9,
"PolicyBenefitList": [
{
"BusinessObjectId": 527043009,
"CoverageName": "Rent",
"PolicyStatus": 2,
"ProductElementCode": "B00117",
"ProductElementId": 527045010,
"SequenceNumber": 1,
"SumInsured": 1000,
"TempData": {}
}
],
"PolicyStatus": 2,
"ProductElementCode": "C100415",
"ProductElementId": 527045008,
"SequenceNumber": 1,
"SumInsured": 1000,
"TempData": {},
"Vat": 0.63,
"VatRate": 0.07
},
{
"BeforeVatPremium": 9,
"BusinessObjectId": 527043005,
"CoverageName": "Cargo Transport",
"DuePremium": 9.63,
"GrossPremium": 9,
"PolicyBenefitList": [
{
"BusinessObjectId": 527043009,
"CoverageName": "Earthquake",
"PolicyStatus": 2,
"ProductElementCode": "B00082",
"ProductElementId": 527045024,
"SequenceNumber": 1,
"SumInsured": 1000,
"TempData": {}
}
],
"PolicyStatus": 2,
"ProductElementCode": "C100116",
"ProductElementId": 527045016,
"SequenceNumber": 2,
"SumInsured": 1000,
"TempData": {},
"Vat": 0.63,
"VatRate": 0.07
}
],
"PolicyPlanList": [
{
"BusinessObjectId": 527043001,
"DuePremium": 19.26,
"GrossPremium": 18,
"PlanCode": "PLANTEST0120220001",
"PlanDefinitionId": 527045053,
"PolicyCoverageList": [
{
"BeforeVatPremium": 9,
"BusinessObjectId": 527043005,
"CoverageName": "Personal Accident (With Burning)",
"DuePremium": 9.63,
"GrossPremium": 9,
"PolicyBenefitList": [
{
"BusinessObjectId": 527043009,
"CoverageName": "Rent",
"PolicyStatus": 2,
"ProductElementCode": "B00117",
"ProductElementId": 527045010,
"SequenceNumber": 1,
"SumInsured": 1000,
"TempData": {}
}
],
"PolicyStatus": 2,
"ProductElementCode": "C100415",
"ProductElementId": 527045008,
"SequenceNumber": 1,
"SumInsured": 1000,
"TempData": {},
"Vat": 0.63,
"VatRate": 0.07
},
{
"BeforeVatPremium": 9,
"BusinessObjectId": 527043005,
"CoverageName": "Cargo Transport",
"DuePremium": 9.63,
"GrossPremium": 9,
"PolicyBenefitList": [
{
"BusinessObjectId": 527043009,
"CoverageName": "Earthquake",
"PolicyStatus": 2,
"ProductElementCode": "B00082",
"ProductElementId": 527045024,
"SequenceNumber": 1,
"SumInsured": 1000,
"TempData": {}
}
],
"PolicyStatus": 2,
"ProductElementCode": "C100116",
"ProductElementId": 527045016,
"SequenceNumber": 2,
"SumInsured": 1000,
"TempData": {},
"Vat": 0.63,
"VatRate": 0.07
}
],
"PolicyStatus": 2,
"SequenceNumber": 1
},
{
"BusinessObjectId": 527043001,
"DuePremium": 17.12,
"GrossPremium": 16,
"PlanCode": "PLANTEST0120220002",
"PlanDefinitionId": 527089587,
"PolicyCoverageFormList": [
{
"BeforeVatPremium": 16,
"BusinessObjectId": 527046430,
"DuePremium": 17.12,
"GrossPremium": 16,
"PolicyCoverageList": [
{
"BeforeVatPremium": 8,
"BusinessObjectId": 527046436,
"CoverageName": "Cargo Transport",
"DuePremium": 8.56,
"GrossPremium": 8,
"PolicyStatus": 2,
"ProductElementCode": "C100116",
"ProductElementId": 527045016,
"SequenceNumber": 1,
"SumInsured": 1000,
"TempData": {},
"Vat": 0.56,
"VatRate": 0.07
},
{
"BeforeVatPremium": 8,
"BusinessObjectId": 527046436,
"CoverageName": "CT1209",
"DuePremium": 8.56,
"GrossPremium": 8,
"PolicyBenefitList": [
{
"BusinessObjectId": 527043019,
"CoverageName": "BFT1209",
"PolicyStatus": 2,
"ProductElementCode": "BFT1209",
"ProductElementId": 527045020,
"SequenceNumber": 1,
"SumInsured": 1000,
"TempData": {}
}
],
"PolicyStatus": 2,
"ProductElementCode": "CT1209",
"ProductElementId": 527045018,
"SequenceNumber": 2,
"SumInsured": 1000,
"TempData": {},
"Vat": 0.56,
"VatRate": 0.07
}
],
"PolicyStatus": 2,
"ProductElementCode": "CF1209",
"ProductElementId": 527045014,
"SequenceNumber": 1,
"SumInsured": 2000,
"TempData": {},
"Vat": 1.12
}
],
"PolicyStatus": 2,
"SequenceNumber": 2
}
],
"PolicyStatus": 2,
"ProductElementCode": "R10005",
"ProductElementId": 527045006,
"RiskName": "ProductElement",
"SequenceNumber": 1,
"SumInsured": 2000,
"Vat": 1.26
}
],Sample UI
After entering the policy information, view the plan information. For policies with policy plan configuration, the system supports calculating the prices of all plans based on the input calculation factors and displaying them on a page for customers to compare and choose visually.
Multiple Proposal Version
Business Usage
Generate multiple versions and calculate the premium for each of them, then compare prices for the several proposal versions.
API Path
- {{server}}/proposal/core/proposal/v1/quotationVersion/createNewQuotationVersionWithData?policyId={{policyId}}
- {{server}}/proposal/core/proposal/v1/quotationVersion/getQuotationVersionList?policyId={{policyId}}
- {{server}}/proposal/core/proposal/v1/quotationVersion/switchToQuotationVersionReturnsMap?policyId={{policyId}}"ationVersionId={{quotationVersionId}}
- {{server}}/proposal/core/proposal/v1/quotationVersion/switchToQuotationVersion?policyId={{policyId}}"ationVersionId={{quotationVersionId}}
- {{server}}/proposal/core/proposal/v1/quotationVersion/updateExToExistsQuotationVersion?policyId={{policyId}}
- {{server}}/proposal/core/proposal/v1/quotationVersion/deleteQuotationVersion?quotationVersionId={{quotationVersionId}}
- {{server}}/proposal/core/proposal/v1/quotationVersion/createNewQuotationVersion?policyId={{policyId}}
- {{server}}/proposal/core/proposal/v1/quotationVersion/updateQuotationVersionInfo?policyId={{policyId}}
- {{server}}/proposal/core/proposal/v1/quotationVersion/getPolicyAtQuotationVersion?policyId={{policyId}}"ationVersionId={{quotationVersionId}}
- {{server}}/proposal/core/proposal/v1/quotationVersion/getPolicyAtQuotationVersionReturnsMap?policyId={{policyId}}"ationVersionId={{quotationVersionId}}
API sample
Create New Proposal Version With Data
When creating a proposal and calculating the premium, user can save the proposal information for this version.
Post: /proposal/core/proposal/v1/quotationVersion/createNewQuotationVersionWithData?policyId=10313890013,C62102F7C72CF71DFF3F5037DF437355
Sample Request
{
"@type": "QuotationVersion-QuotationVersion",
"IsSelected": "Y",
"VersionName": "Version 1",
"VersionDescription": "coverage Accident Death 1000000",
"PolicyId": "10313890013,C62102F7C72CF71DFF3F5037DF437355"
}Sample Response
{
"@pk": 10313980003,
"@type": "QuotationVersion-QuotationVersion",
"BusinessObjectId": 1000000235,
"IsSelected": "Y",
"PolicyId": "10313890013,C62102F7C72CF71DFF3F5037DF437355",
"PolicyRevisionId": 10313980002,
"QuotationVersionId": 10313980003,
"SequenceNumber": 1,
"VersionCreateTime": "2024-04-15T16:24:31",
"VersionDescription": "coverage Accident Death 1000000",
"VersionName": "Version 1",
"VersionUpdateTime": "2024-04-15T16:24:31",
"DuePremium": 1944
}Get Proposal Version List
After saving multiple versions, user can obtain information about the multiple versions.
Get: /proposal/core/proposal/v1/quotationVersion/getQuotationVersionList?policyId=10313890013,C62102F7C72CF71DFF3F5037DF437355
Sample Response
[
{
"@pk": 10313980003,
"@type": "QuotationVersion-QuotationVersion",
"BusinessObjectId": 1000000235,
"IsSelected": "N",
"PolicyId": "10313890013,C62102F7C72CF71DFF3F5037DF437355",
"PolicyRevisionId": 10313980002,
"QuotationVersionId": 10313980003,
"SequenceNumber": 1,
"VersionCreateTime": "2024-04-15T16:24:31",
"VersionDescription": "coverage Accident Death 1000000",
"VersionName": "Version 1",
"VersionUpdateTime": "2024-04-15T16:24:31",
"DuePremium": 1944
},
{
"@pk": 10313980014,
"@type": "QuotationVersion-QuotationVersion",
"BusinessObjectId": 1000000235,
"IsSelected": "Y",
"PolicyId": "10313890013,C62102F7C72CF71DFF3F5037DF437355",
"PolicyRevisionId": 10313980013,
"QuotationVersionId": 10313980014,
"SequenceNumber": 2,
"VersionCreateTime": "2024-04-15T16:42:54",
"VersionDescription": "coverage Accident Death 2000000",
"VersionName": "Version 2",
"VersionUpdateTime": "2024-04-15T16:42:54",
"DuePremium": 1944
}
]Load Proposal Version
After saving multiple proposal versions, user can choose to load one of them with policy Id and proposal Version Id.
Post:
- Map interface /proposal/core/proposal/v1/quotationVersion/switchToQuotationVersionReturnsMap?policyId=10313890013,C62102F7C72CF71DFF3F5037DF437355"ationVersionId=10313980003
- Object Interface /proposal/core/proposal/v1/quotationVersion/switchToQuotationVersion?policyId=10313890013,C62102F7C72CF71DFF3F5037DF437355"ationVersionId=10313980003
Sample Response
{
"AdjustedPremium": 2160,
"AgentCode": "PTY10000054541003",
"AnnualPremium": 2000,
"BeforeVatPremium": 1800,
"BookCurrencyCode": "USD",
"BusinessCateCode": "1",
"BusinessObjectId": 3517051304219,
"CampaignDiscount": -0.1,
"CampaignDiscountAmount": -200,
"Commission": 126,
"CommissionRate": 0.07,
"DuePremium": 1944,
"EffectiveDate": "2024-04-15",
"ExpiryDate": "2025-04-14T23:59:59",
"FirstDataEntryDate": "2024-04-15T16:16:06",
"GrossPremium": 2160,
"InterestRate": 0,
"IsPremiumCalcSuccess": "Y",
"IsRenewable": "Y",
"IsTakeUpPolicy": "N",
"LocalCurrencyCode": "USD",
"OrgCode": "10001",
"POIRate": 1,
"PolicyElementId": 10313890013,
"PolicyId": "10313890013,C62102F7C72CF71DFF3F5037DF437355",
"PolicyLobList": [
{
"AdjustedPremium": 2160,
"BeforeVatPremium": 1800,
"BusinessObjectId": 351861068,
"DuePremium": 1944,
"GrossPremium": 2160,
"ParentPolicyElementId": 10313890013,
"PolicyElementId": 10313890017,
"PolicyId": "10313890013,C62102F7C72CF71DFF3F5037DF437355",
"PolicyRiskList": [
{
"AdjustedPremium": 2160,
"Age": 30,
"BeforeVatPremium": 1800,
"BusinessObjectId": 351861075,
"DateOfBirth": "1994-04-15",
"DuePremium": 1944,
"GenderCode": "F",
"GrossPremium": 2160,
"IdNo": "888666888",
"IdType": "1",
"ParentPolicyElementId": 10313890017,
"PolicyCoverageList": [
{
"AdjustedPremium": 2160,
"AnnualPremium": 2000,
"BeforeVatPremium": 1800,
"BusinessObjectId": 351861078,
"CampaignDiscountAmount": -200,
"CoverageName": "Accident Death & Dismemberment",
"DuePremium": 1944,
"GrossPremium": 2160,
"ParentPolicyElementId": 10313890018,
"PolicyBenefitList": [
{
"BusinessObjectId": 528044218,
"CoverageName": "Permanent Total Disability",
"IsAutoAttachedForm": "Y",
"ParentPolicyElementId": 10313880014,
"PolicyElementId": 10313960004,
"PolicyId": "10313890013,C62102F7C72CF71DFF3F5037DF437355",
"PolicyStatus": 2,
"ProductElementCode": "B00248",
"ProductElementId": 522209920,
"SequenceNumber": 1
}
],
"PolicyElementId": 10313960003,
"PolicyId": "10313890013,C62102F7C72CF71DFF3F5037DF437355",
"PolicyStatus": 2,
"ProductElementCode": "C100416",
"ProductElementId": 351926024,
"SequenceNumber": 1,
"SumInsured": 1000000,
"TotalDiscountLoadingAmount": -200,
"UWLoadingAmount": 0,
"Vat": 144
}
],
"PolicyElementId": 10313890018,
"PolicyId": "10313890013,C62102F7C72CF71DFF3F5037DF437355",
"PolicyStatus": 2,
"ProductElementCode": "R10007",
"ProductElementId": 351926021,
"RiskName": "Alice",
"SequenceNumber": 1,
"SumInsured": 1000000,
"TempData": {
"Mask-IdNo": "4LGgRe2xYylgnm7I6r7O2w==",
"IdNo": "4LGgRe2xYylgnm7I6r7O2w==",
"MaskAfter-IdNo": "888666888"
},
"Vat": 144
}
],
"PolicyStatus": 2,
"ProductCode": "TBTI",
"ProductElementCode": "TBTI",
"ProductElementId": 351925023,
"ProductId": 351925022,
"ProductLobId": 351925023,
"SequenceNumber": 1,
"SumInsured": 1000000,
"TechProductCode": "TR_POC",
"TechProductId": 3516410623456,
"TotalInsuredCount": 1,
"Vat": 144
}
],
"PolicyStatus": 1,
"PolicyType": "1",
"PremCalcFactorHash": "20240415_162041_531,oWCOcSanadrnfhsDWHdNmh/PkwR+BHxiMb+i6kSHmNs=",
"PremCalcResultHash": "20240415_162041_542,eZ5Uoi1V+fhMas+wy5fRyt8QS0HyDI/GH+rMfJPWi4Y=",
"PremiumCurrencyCode": "USD",
"PremiumInterest": 0,
"PremiumLocalExchangeRate": 1,
"ProductCode": "TBTI",
"ProductId": 351925022,
"ProductVersion": "1.0",
"ProposalDate": "2024-04-15",
"ProposalNo": "PABTBTI0001314951",
"ProposalStatus": "1",
"SchemaVersion": 2,
"SumInsured": 1000000,
"TaxInterest": 0,
"TechProductCode": "TR_POC",
"TechProductId": 3516410623456,
"TotalDiscountLoading": -0.1,
"TotalDiscountLoadingAmount": -200,
"TotalInterest": 0,
"TotalPremium": 1944,
"UWLoading": 0,
"UWLoadingAmount": 0,
"Vat": 144,
"VatRate": 0.08,
"VersionSeq": 16
}Save Proposal Version
Update the Proposal Version such as Version Description.
Post: /proposal/core/proposal/v1/quotationVersion/updateExToExistsQuotationVersion?policyId=10313890013,C62102F7C72CF71DFF3F5037DF437355
Sample Request
{
"@pk": 10313980014,
"@type": "QuotationVersion-QuotationVersion",
"BusinessObjectId": 1000000235,
"IsSelected": "Y",
"PolicyId": "10313890013,C62102F7C72CF71DFF3F5037DF437355",
"PolicyRevisionId": 10313980013,
"QuotationVersionId": 10313980014,
"SequenceNumber": 2,
"VersionCreateTime": "2024-04-15T16:42:54",
"VersionDescription": "coverage Accident Death 2000000",
"VersionName": "Version 2",
"VersionUpdateTime": "2024-04-15T16:42:54",
"DuePremium": 1944
}Sample Response
{
"@pk": 10313980014,
"@type": "QuotationVersion-QuotationVersion",
"BusinessObjectId": 1000000235,
"IsSelected": "Y",
"PolicyId": "10313890013,C62102F7C72CF71DFF3F5037DF437355",
"PolicyRevisionId": 10314000002,
"QuotationVersionId": 10313980014,
"SequenceNumber": 2,
"VersionCreateTime": "2024-04-15T16:42:54",
"VersionDescription": "coverage Accident Death 2000000",
"VersionName": "Version 2",
"VersionUpdateTime": "2024-04-15T16:43:46",
"DuePremium": 427.68
}Delete Proposal Version
When do not need this version of policy information, user can delete it.
Post: /proposal/core/proposal/v1/quotationVersion/deleteQuotationVersion?quotationVersionId=10313980014
If successful, the Status Code will return “204 No Content”.
Create New Proposal Version without Data
Create New Proposal Version without detailed policy information.
Post: /proposal/core/proposal/v1/quotationVersion/createNewQuotationVersion?policyId=10317910014,670100494DF089C52F2564E1673BF9F8
Sample Response
{
"@pk": 10317910022,
"@type": "QuotationVersion-QuotationVersion",
"BusinessObjectId": 1000000235,
"IsSelected": "Y",
"PolicyId": "10317910014,670100494DF089C52F2564E1673BF9F8",
"PolicyRevisionId": 10317910021,
"QuotationVersionId": 10317910022,
"SequenceNumber": 1,
"VersionCreateTime": "2024-04-16T15:20:52",
"VersionName": "V1",
"VersionUpdateTime": "2024-04-16T15:20:52"
}Update Proposal Version Information
Update the latest version number of the policy information as well.
Post: /proposal/core/proposal/v1/quotationVersion/updateQuotationVersionInfo?policyId=10317910014,670100494DF089C52F2564E1673BF9F8
Sample Request
{
"@pk": 10317910022,
"@type": "QuotationVersion-QuotationVersion",
"BusinessObjectId": 1000000235,
"IsSelected": "Y",
"PolicyId": "10317910014,670100494DF089C52F2564E1673BF9F8",
"PolicyRevisionId": 10317910021,
"QuotationVersionId": 10317910022,
"SequenceNumber": 1,
"VersionCreateTime": "2024-04-16T15:20:52",
"VersionName": "V2",
"VersionUpdateTime": "2024-04-16T15:20:52"
}Sample Response
{
"@pk": 10317910022,
"@type": "QuotationVersion-QuotationVersion",
"BusinessObjectId": 1000000235,
"IsSelected": "Y",
"PolicyId": "10317910014,670100494DF089C52F2564E1673BF9F8",
"PolicyRevisionId": 10317910021,
"QuotationVersionId": 10317910022,
"SequenceNumber": 1,
"VersionCreateTime": "2024-04-16T15:20:52",
"VersionName": "V2",
"VersionUpdateTime": "2024-04-16T15:23:08"
}Get Policy at Proposal Version
View the specific policy information of that version through QuotationVersionId.
Get:
- Map interface /proposal/core/proposal/v1/quotationVersion/getPolicyAtQuotationVersionReturnsMap?policyId=10317910014,670100494DF089C52F2564E1673BF9F8"ationVersionId=10317910022
- Object Interface /proposal/core/proposal/v1/quotationVersion/getPolicyAtQuotationVersion?policyId=10317910014,670100494DF089C52F2564E1673BF9F8"ationVersionId=10317910022
Sample Response
{
"@pk": 10317910014,
"@type": "Policy-POLICY",
"BusinessCateCode": "1",
"BusinessObjectId": 3517051304219,
"EffectiveDate": "2019-04-22",
"ExpiryDate": "2019-04-24T23:59:59",
"FirstDataEntryDate": "2024-04-16T15:20:42",
"IsRenewable": "Y",
"IsTakeUpPolicy": "N",
"OrgCode": "10001",
"PolicyElementId": 10317910014,
"PolicyId": "10317910014,670100494DF089C52F2564E1673BF9F8",
"PolicyStatus": 1,
"PolicyType": "1",
"ProductCode": "TBTI",
"ProductId": 351925022,
"ProductVersion": "1.0",
"ProposalDate": "2019-04-22",
"ProposalNo": "PABTBTI0001315018",
"ProposalStatus": "1",
"SchemaVersion": 2,
"TechProductCode": "TR_POC",
"TechProductId": 3516410623456,
"VersionSeq": 2,
"PolicyLobList": [
{
"@pk": 10317910016,
"@type": "PolicyLob-TR_POC",
"BusinessObjectId": 351861068,
"ParentPolicyElementId": 10317910014,
"PolicyElementId": 10317910016,
"PolicyId": "10317910014,670100494DF089C52F2564E1673BF9F8",
"PolicyStatus": 2,
"ProductCode": "TBTI",
"ProductElementCode": "TBTI",
"ProductElementId": 351925023,
"ProductId": 351925022,
"ProductLobId": 351925023,
"SequenceNumber": 1,
"TechProductCode": "TR_POC",
"TechProductId": 3516410623456,
"PolicyRiskList": [
{
"@pk": 10317910017,
"@type": "PolicyRisk-R10007",
"BusinessObjectId": 351861075,
"ParentPolicyElementId": 10317910016,
"PolicyElementId": 10317910017,
"PolicyId": "10317910014,670100494DF089C52F2564E1673BF9F8",
"PolicyStatus": 2,
"ProductElementCode": "R10007",
"ProductElementId": 351926021,
"RiskName": "InsuredName",
"SequenceNumber": 1,
"CustomerName": "Customer",
"DateOfBirth": "1988-10-01",
"IdNo": "IdNo11*************1111",
"IdType": "1",
"PolicyCoverageList": [
{
"@pk": 10317910018,
"@type": "PolicyCoverage-PolicyCoverage",
"BusinessObjectId": 351861078,
"ParentPolicyElementId": 10317910017,
"PolicyElementId": 10317910018,
"PolicyId": "10317910014,670100494DF089C52F2564E1673BF9F8",
"PolicyStatus": 2,
"ProductElementCode": "C100416",
"ProductElementId": 351926024,
"SequenceNumber": 1,
"SumInsured": 300000
},
{
"@pk": 10317910019,
"@type": "PolicyCoverage-PolicyCoverage",
"BusinessObjectId": 351861078,
"ParentPolicyElementId": 10317910017,
"PolicyElementId": 10317910019,
"PolicyId": "10317910014,670100494DF089C52F2564E1673BF9F8",
"PolicyStatus": 2,
"ProductElementCode": "C100692",
"ProductElementId": 351926030,
"SequenceNumber": 2,
"SumInsured": 300000
},
{
"@pk": 10317910020,
"@type": "PolicyCoverage-PolicyCoverage",
"BusinessObjectId": 351861078,
"ParentPolicyElementId": 10317910017,
"PolicyElementId": 10317910020,
"PolicyId": "10317910014,670100494DF089C52F2564E1673BF9F8",
"PolicyStatus": 2,
"ProductElementCode": "C100715",
"ProductElementId": 351926027,
"SequenceNumber": 3,
"SumInsured": 300000
}
],
"TempData": {
"Mask-IdNo": "eYGAIlq8vX/pdJeW0bFU/E3aB1LD/fVtsHR9guccNnA=",
"IdNo": "eYGAIlq8vX/pdJeW0bFU/E3aB1LD/fVtsHR9guccNnA=",
"MaskAfter-IdNo": "IdNo11*************1111"
}
}
],
"TotalInsuredCount": 1
}
]
}Sample UI
To facilitate users to understand how proposal version API is called, there are some screenshots taken from our Easy PA demo environment for explanation. It’s suggested that the proposal version tab can only be edited when the proposal status is in the entry stage, and the remaining states are read-only. When the policy is issued, the proposal version tab disappears.
Create New Proposal Version
When creating a proposal and calculating the premium, we switch to the proposal version tab on the UI. Here, we can customize and name a version for it. Then, we can save the policy information for this version.
Get Proposal Version List
After saving multiple versions, you can obtain information about the multiple versions.
Load Proposal Version
After saving multiple proposal versions, you can choose to load one of them, and the policy information tab will display the policy information for that version.
Load a version of the policy information, which is equivalent to a Switch to the old proposal version, and there will be a prompt message: “Current policy information will be lost. Please confirm you have already created a new version or saved into existing version before proceeding?”
Save Proposal Version
Based on the load information in this version, you can modify some information, click Save or Calculate, and then switch to the proposal version tab again. Click Save to save this update this version. If you do not wish to update this version, you can also click Create New Version.
Delete Proposal Version
When you do not need this version of policy information, you can click Delete to delete it.
Q&A
When we create the Quote (NB flow), is it created with or without the default version?
[Answer]Without.
When we use Quote Version using Policy ID, it creates a new Version. But when we use API to get Quote Version List, it does not list Quote created during NB flow, why so?
[Answer] No version initially and only list those you created.
What will happen with other Quote versions when we convert any Quote version as Policy? Are they declined automatically or still active?
[Answer] They are stored in the database but will not be used anymore.
When we load any Quote version using policy ID and Quote version ID, why is the Quote version not included in the response?
[Answer] When you load, it will only have policy object information. Quote version information is displayed in the Quote version query API.