[Seamless Help Center]

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Version History

« Previous Version 10 Next »

Introduction

This tab defines if the product version will support Multiple Risks and how the Multiple Risks will be defined. By default, a brand-new product version is for the single insured object (Enable Handling Of Multiple Risks = No).

Prerequisites

To enable Multiple Risks, you need to change Enable Handling Of Multiple Risks to Yes, then select the Type of Multiple Risks:

  • Multiple risks with upload file: this option allows you to input the list of insured objects into a spreadsheet. When you upload the file to system, system will import list of insured objects' details to calculate premium. Use this method if you have more than 20 objects in a policy or each object has more than 20 questions.

  • Multiple risks with repeating section: this option allows you to input the list of insured objects using repeating sections. A new section (with the same set of questions to capture individual object details) will be added repeatedly and manually for each insured object. Use this method if you have less than 20 objects in a policy and each object has less than 20 questions.

Multiple risks with upload file

To setup multiple risks with upload file, please contact Contemi to do the initial setup. At the moment, please do not modify anything in this setting if it’s existing.

When you select “Multiple risks with upload file”, these fields will be shown up:

  1. UploadReference: select UploadReference Tag question. This is the control to select the upload file defined under Questions tab.

  2. Custom Period For Insured Object: default is unchecked. See Fleet policy with custom period

  3. PremiumReportingColumn: name of Premium reporting column.

  4. ErrorReportingColumn: name of Error reporting column.

  5. MinNumberOfRows: default value = 1. This means at least 1 insured object must be specified.

  6. ErrorMessageForTableRows: error message to be displayed when user does not specify any insured object or tries to add more than 6 insured objects.

  7. ErrorMessageForTableStructure: error message to be displayed when there is a missing object question (column) caused by incorrect upload file setup.

  8. Upload File Template: upload Upload File Template to be used. This template will be displayed on quote for user to download and fill in list of insured objects.

Understand Upload File Template

image-20231229-053728.png
  1. Example file: <TBD>

  2. Upload File Template must be in xlsx format.

  3. On the 1st sheet “Fleet”, at the 1st row, you need to define all the insured object questions as columns. Column name is the “title” (i.e. display name) of question defined in Questions tab. System will always read the 1st sheet and read the values from columns defined as insured object questions. Columns that are not defined as insured object questions, won’t be read by the system.

  4. Each row (from row 2) will capture an insured object details.

  5. You can put some examples of insured object data in the following rows (from row 2).

  6. For an insured object’s cover selector or cover premium columns: you need to define questions to include/exclude cover and define cover premium, then put those questions in SharedObjectModel or InsuredObjectModel section. See Advanced tab

  7. You can use Excel formula to lookup or do calculations as normal.

  8. You can add comments/notes to each column name to provide description or guide how to input value correctly.

  9. You can add other sheets, following the 1st sheet to capture other information to store data for lookup.

  10. If you want to change Upload Template, you need to clone a new product version and attach the new Upload Template.

Use Upload File Template to input list of insured objects during quotation

  1. When doing quotes, at Questions step, you download the latest template from the link provided.

    image-20231229-074833.png
  2. Open the file and fill in each insured object details on each row (from row 2).

  3. Save the file.

  4. Upload the file to the quote.

  5. Click next to proceed the quote.

Download and view Result File

After you attach the Upload file containing list of insured object details at Quote - Questions step, Seamless will process the file to get insured object details for premium calculation. Then in Review step of quote or policy details, you can see and download the Result file under section INSURED.

image-20231229-055331.png

The Result file will contain all data specified in Upload file, including some more column data added by system after processing. For ex:

image-20231229-055648.png
  1. StartDate: effective start date of an object.

  2. EndDate: end date of an object.

  3. Identifier: the identifier is auto generated if identity questions are specified in product Json.

  4. Reference: usually the same as Identifier.

  5. TotalPrice: total object period premium.

  6. TotalTax: total object period tax amount.

  7. AnnualPrice: object annual premium.

  8. AnnualTax: object annual tax amount.

  9. System_Errors: if there is any validation raised for the data row, it will show a message here. You can know what data is wrong and then can fix the error.

Multiple risks with repeating section

To setup multiple risks with repeating section, please contact Contemi to do the initial setup. At the moment, please do not modify anything in this setting if it’s existing.

When you select “Multiple risks with repeating section”, these fields will be shown up:

  1. RepeatingObjectReference: question tag name to be used for the object identifier/reference. It’s usually the Insured object name.

  2. MinNumberOfRows: default value = 1. This means at least 1 insured object must be specified.

  3. MaxNumberOfRows: the maximum number of objects that user can add to the quote.

  4. ErrorMessageForTableRows: error message to be displayed when user does not specify any insured object or tries to add more than 6 insured objects.

  5. ErrorMessageForTableStructure: error message to be displayed when there is a missing object question caused by incorrect product JSON setup.

Understand product JSON (Advanced users)

For multiple-risks product setup, there are three important JSON code blocks that you need to configure:

  1. SharedObjectModel: define the Questions, IdentifyQuestions, PurchaseConstraints, CustomValidations that will be for policy level information.

  2. InsuredObjectModel: define the Questions, IdentifyQuestions, PurchaseConstraints, CustomValidations that will be for insured object level information.

  3. InsuredObjectModelStrategy: define the insured object model strategy. Use this InsuredObjectModel.CompositeInsuredObjectModelStrategy for multiple-risks product.

Example 1: JSON code block for Multiple Risks with Upload file

  "InsuredObjectModel": {
    "Questions": [      
      {
        "$id": "CommodityTypeTag",
        "$type": "InsuredObjectModel.LookupChoiceQuestionDefinition",
        "TagName": "CommodityTypeTag",
        "SourceLookup": {
          "$ref": "CommodityType"
        },
        "IsRequired": true
      },
      {
        "$id": "SumInsuredTag",
        "$type": "InsuredObjectModel.DecimalQuestionDefinition",
        "TagName": "SumInsuredTag",
        "IsRequired": true
      },
      {
        "$id": "PremiumTag",
        "$type": "InsuredObjectModel.DecimalQuestionDefinition",
        "TagName": "PremiumTag",
        "IsRequired": true     
      }
    ],
    "IdentityQuestions": [
      {
        "$ref": "CommodityTypeTag"
      }
    ],
    "PurchaseConstraints": [],
    "CustomValidations": []
   },
   "SharedObjectModel": {
    "Questions": [
      {
        "$id": "TypeOfTransitTag",
        "$type": "InsuredObjectModel.LookupChoiceQuestionDefinition",
        "TagName": "TypeOfTransitTag",
        "IsRequired": true,
        "SourceLookup": {
          "$ref": "TypeOfTransit"
        }
      },
      {
        "$id": "VoyageExpectedDateTag",
        "$type": "InsuredObjectModel.DateQuestionDefinition",
        "TagName": "VoyageExpectedDateTag",
        "IsRequired": true
      }, 
      {
        "$id": "InsuredInfoTag",
        "$type": "InsuredObjectModel.RepeatingQuestionDefinition",
        "TagName": "InsuredInfoTag",
        "IsRequired": true
      }
    ],
    "IdentityQuestions": [
      {
        "$ref": "TypeOfTransitTag"
      }
    ],
    "PurchaseConstraints": [],
    "CustomValidations": []
  },
  "InsuredObjectModelStrategy": {
    "$type": "InsuredObjectModel.CompositeInsuredObjectModelStrategy",
    "RepeatingObjectReference": {
      "$ref": "InsuredInfoTag"
    },
    "MinNumberOfRows": 1,
    "MaxNumberOfRows": 6,
    "ErrorMessageForTableRows": "At least one insured objects, up to a maximum of 6",
    "ErrorMessageForTableStructure": "Error in Product Setup"
  }

Example 2: JSON code block for Multiple Risks with Repeating section

  "InsuredObjectModel": {
    "Questions": [
      {
        "$id": "VehicleRegistrationNumberTag",
        "$type": "InsuredObjectModel.TextQuestionDefinition",
        "TagName": "VehicleRegistrationNumberTag",
        "DisplayName": "Registration Number",
        "MaxLength": 30,
        "IsRequired": true
      },
      {
        "$id": "MakeTag",
        "$type": "InsuredObjectModel.TextQuestionDefinition",
        "TagName": "MakeTag",
        "DisplayName": "Make",
        "IsRequired": true
      },
      {
        "$id": "ModelTag",
        "$type": "InsuredObjectModel.TextQuestionDefinition",
        "TagName": "ModelTag",
        "DisplayName": "Model",
        "IsRequired": true
      },
      {
        "$id": "TPLSelectorTag",
        "$type": "InsuredObjectModel.TextQuestionDefinition",
        "TagName": "TPLSelectorTag",
        "DisplayName": "Third party liability"
      },
      {
        "$id": "TPLPremiumTag",
        "$type": "InsuredObjectModel.DecimalQuestionDefinition",
        "TagName": "TPLPremiumTag",
        "DisplayName": "TPLPremium"
      }
    ],
    "IdentityQuestions": [
      {
        "$ref": "MakeTag"
      },
      {
        "$ref": "VehicleRegistrationNumberTag"
      }
    ],
    "PurchaseConstraints": [],
    "CustomValidations": []
  },
  "SharedObjectModel": {
    "Questions": [      
      {
        "$id": "PolicyholderNameTag",
        "$type": "InsuredObjectModel.TextQuestionDefinition",
        "TagName": "PolicyholderNameTag",
        "IsRequired": true
      },
      {
        "$id": "UploadReferenceTag",
        "$type": "InsuredObjectModel.UploadFileQuestionDefinition",
        "TagName": "UploadReferenceTag",
        "MaxSize": 100,
        "AllowedExtensions": [
          ".xlsx"
        ],
        "IsRequired": true,
        "IsRequiredForPriceCalculation": true
      }
    ],
    "IdentityQuestions": [
      {
        "$ref": "PolicyholderNameTag"
      }
    ],
    "PurchaseConstraints": [],
    "CustomValidations": []
  },
  "InsuredObjectModelStrategy": {
    "$type": "InsuredObjectModel.CompositeInsuredObjectModelStrategy",
    "UploadReference": {
      "$ref": "UploadReferenceTag"
    },
    "PremiumReportingColumn": "Premium",
    "ErrorReportingColumn": "Errors",
    "MinNumberOfRows": 1,
    "ErrorMessageForTableRows": "Number of insured objects should be 1 at least.",
    "ErrorMessageForTableStructure": "Missing '{0}' Column for {1}",
    "EnableCustomPeriod": true,
    "ProrataType": {
      "$type": "ProrataType.Annual365DistributionStrategy"
    }
  • No labels