You are here:
Multiple Rating Procedures per Product or Multiple Specs at Any Level for repriceProduct
Format InsProductService:repriceProduct userInputs for products that use multiple rating procedures in the product hierarchy or multiple child specs in any level of the hierarchy.
For example, a commercial product that uses unique rating procedures for Location, Building, and Infrastructure has multiple rating procedures in the product hierarchy.
Products configured before Winter '23 release 240.22 can have multiple child specs in a given level of the hierarchy, no grandchild specs, and only one rating procedure at the root level. For these products, use the same userInputs format as you did in earlier releases. See One Rating Procedure per Product for repriceProduct.
A Home Insurance product with more than one piece of art and jewelry insured at a given property has multiple child specs in a single level of the product hierarchy.
To rate products that use a single rating procedure per root product, you format input JSON differently. To prevent errors, run the service with only one type of userInputs format at a time. See One Rating Procedure per Product for repriceProduct.
InsProductService: repriceProduct looks for a userInputs key in the input JSON. Products with ratings at the insured item level have one userInputs for each insured item instance, and one separate userInputs for the root instance and its coverages.
In the unique userInputs with insured item-level details:
-
For the insured items related directly to the root product, set
parentInstanceKeyto the product code of the root product. -
For lower-level insured items, set
parentInstanceKeyto theinstanceKeyvalue of the parent. For example, at a Location called 1 Market Street, there's a Building called Building 100. TheparentInstanceKeyvalue inuserInputsfor Building 100 is 1 Market Street ('parentInstanceKey' => '1 Market Street'). -
Set
instanceKeyto theinstanceKeyvalue of the insured item. For example, theinstanceKeyvalue in userInputs for "Building 100" is "Building 100" ('BUILDING.instanceKey' => 'Building 100'). -
Include the insured item instance's coverages.
In the separate single userInputs with root-level details:
-
Set
instanceKeyto the root product's product code. -
Include root-level coverages.
For example, a Traveler Insurance product (TRAVEL_ROOT) covers a TRAVELER (Insured Party), LUGGAGE (Insured Item), and VALUABLES (Insured Item). The root product has accident coverage (TRAVEL_ACCIDENT), and the child products each have their own coverage (TRAVELER_HEALTH, LUGGAGE_LOSS and VALUABLES_THEFT).
| Sample Input JSON | |
|---|---|
|
|
|
|
|
|
|
|

