Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Multiple risks with upload file

Info

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 <TBD>. 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.

...

  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 error in product JSON setup.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

Code Block
languagejson
  "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

Code Block
languagejson
  "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"
    }