Adding manual rates for coverage cost and other cost items
You can use the Cloud API to manually set rates for products that enable manual pricing. You can set the rates on coverages as coverage costs and set rates on risk objects as other costs.
Creating a coverage cost with a term pricing basis
- POST
/job/v1/jobs/{jobID}/lines/{lineID}/manual-pricing-details
costCode. The cost code.coverable. Theidand thetypeof the risk object. This is required when the coverage is for a risk object and not for a policy line.clause. ThecodeIdentifierof the coverage pattern.rate. The numerical rate.ratingScale. The value for the scale. Valid values include100,1000, and1. When not provided, it defaults to1(Per Unit).separateBilling. Set totrueif the cost is itemized separately from the premium. Defaults to false when not provided.separateCollection- Set totrueif the cost is collected separately from the premium. Defaults tofalsewhen not provided.termPatternCode- The codeIdentifier of the coverage term pattern.
For example, the following request creates a coverage cost with a term pricing basis for job pc:Sirpo9VXJ_UM95fzVzNp9
POST /job/v1/jobs/pc:Sirpo9VXJ_UM95fzVzNp9/lines/SBOLine/manual-pricing-details{
"data": {
"attributes": {
"clause": {
"id": "SBOBuildingCov"
},
"costCode": {
"id": "premium"
},
"coverable": {
"id": "1",
"type": "SBOBuilding"
},
"rate": "0.1",
"ratingScale": {
"code": "100"
},
"separateBilling": true,
"separateCollection": true,
"termPatternCode": "SBOBuildingCovBuildingLimit"
}
}
}Creating a coverage cost with coverable pricing basis
- POST
/job/v1/jobs/{jobID}/lines/{lineID}/manual-pricing-details
basisSource. The code of the numeric attribute within the scope of the current risk object.costCode. The cost code.coverable. Theidand thetypeof the risk object. This is required when the coverage is for a risk object and not for a policy line.clause. ThecodeIdentifierof the coverage pattern.rate. The numerical rate.ratingScale. The value for the scale. Valid values include100,1000, and1. When not provided, it defaults to1(Per Unit).separateBilling. Set totrueif the cost is itemized separately from the premium. Defaults tofalsewhen not provided.separateCollection- Set totrueif the cost is collected separately from the premium. Defaults tofalsewhen not provided.
For example, the following request creates a coverage cost with a coverable pricing basis for job pc:Sirpo9VXJ_UM95fzVzNp9:
POST /job/v1/jobs/pc:Sirpo9VXJ_UM95fzVzNp9/lines/SBOLine/manual-pricing-details{
"data": {
"attributes": {
"basisSource": "LineDecimalField",
"clause": {
"id": "SBOBusinessLiability"
},
"costCode": {
"id": "ipt"
},
"rate": "0.01",
"ratingScale": {
"code": "1000"
},
"separateBilling": false,
"separateCollection": false
}
}
}Creating an other cost item with a coverable pricing basis
- POST
/job/v1/jobs/{jobID}/lines/{lineID}/manual-pricing-details
basisSource. The numeric attribute within the scope of the current risk object.costCode. The cost code.coverable. Theidand thetypeof the risk object. This is required when the coverage is for a risk object and not for a policy line.rate. The numerical rate.ratingScale. The value for the scale. Valid values include100,1000, and1. When not provided, it defaults to1(Per Unit).separateBilling. Set totrueif the cost is itemized separately from the premium. Defaults tofalsewhen not provided.separateCollection- Set totrueif the cost is collected separately from the premium. Defaults tofalsewhen not provided.
For example, the following request creates an other cost with a coverable pricing basis for job pc:Sirpo9VXJ_UM95fzVzNp9:
POST /job/v1/jobs/pc:Sirpo9VXJ_UM95fzVzNp9/lines/SBOLine/manual-pricing-details{
"data": {
"attributes": {
"basisSource": "LineNumberField",
"costCode": {
"id": "premium"
},
"rate": "0.1",
"ratingScale": {
"code": "100"
},
"separateBilling": true,
"separateCollection": true
}
}
}Creating a coverage cost with exposure pricing basis
- After reading this topic, you'll be able to:
-
- Create the coverage cost item with the exposure pricing basis.
- Sync the new coverage cost item with the list of pricing items
- Update the coverage cost item to include the pricing exposure rate.
Instructions
Step 1: Create the coverage cost item with exposure pricing basis
POST /job/v1/jobs/{jobID}/lines/{lineID}/manual-pricing-detailsbasisSource. A numeric exposure attribute within the scope of the current risk object.costCode. The cost code.coverable. Theidand thetypeof the risk object. This is required when the coverage is for a risk object and not a policy line.clause. ThecodeIdentifierof the coverage pattern.ratingScale. The value for the scale. Valid values include100,1000, and1. When not provided, it defaults to1(Per Unit).rootExposureEntity. The exposure entity.separateBilling. Set totrueif the cost is itemized separately from the premium. Defaults tofalsewhen not provided.separateCollection- Set totrueif the cost is collected separately from the premium. Defaults tofalsewhen not provided.
For example, the following request creates a coverage cost with a exposure pricing basis for job pc:Sirpo9VXJ_UM95fzVzNp9:
POST /job/v1/jobs/pc:Sirpo9VXJ_UM95fzVzNp9/lines/SBOLine/manual-pricing-details{
"data": {
"attributes": {
"basisSource": "DecimalTestExposureField",
"clause": {
"id": "SBOBusinessLiability"
},
"costCode": {
"id": "tax"
},
"ratingScale": {
"code": "1"
},
"rootExposureEntity": "SBOTestScheduledEquipment",
"separateBilling": true,
"separateCollection": true
}
}
}Step 2: Sync exposures (optional)
- POST
/job/v1/jobs/{jobId}/lines/{lineId}/manual-pricing-details/{manualPricingDetailId}/sync-manual-exposure-pricing-details
For example, the following request syncs coverage cost 109 for job pc:Sirpo9VXJ_UM95fzVzNp9:
POST /job/v1/jobs/pc:Sirpo9VXJ_UM95fzVzNp9/lines/SBOLine/manual-pricing-details/109/sync-manual-exposure-pricing-detailsStep 3: Add or update manual exposure pricing rate
PATCH /job/v1/jobs/{jobId}/lines/{lineId}/manual-pricing-details/{manualPricingDetailId}/manual-exposure-pricing-details/{manualExposurePricingDetailId}For example, the following request adds a rate to the exposure pricing detail 3 on the coverage cost 109 for job pc:Sirpo9VXJ_UM95fzVzNp9:
PATCH /job/v1/jobs/pc:Sirpo9VXJ_UM95fzVzNp9/lines/SBOLine/manual-pricing-details/109/manual-exposure-pricing-details/3Request
body{
"data": {
"attributes": {
"rate": "10.0000"
}
}
}Creating a coverage cost with a cumulative pricing basis
To define a cumulative cost, you set a rate and select one or more previously defined manual pricing items. When PolicyCenter quotes the policy, it calculates the cumulative cost basis as the sum of rates from the selected manual pricing items, and then it applies the rate defined for the coverage.
POST /job/v1/jobs/{jobID}/lines/{lineID}/manual-pricing-detailsclause. ThecodeIdentifierof the coverage pattern.costCode. The cost code.coverable. Theidand thetypeof the risk object. This is required when the coverage is for a risk object and not for a policy line.cumulativeCostCodeFilters. A list of one or morecostCodeproperties that represent the manual pricing item that you created and want to include in the cumulative cost basis. For eachcostCode, specify theid.Note: To view the costCodes for existing manual items, use the following endpointGET /jobs/{jobId}/lines/{lobId}/manual-pricing-details?field=*all.rate. The numerical rate.ratingScale. The value for the scale. Valid values include100,1000, and1. When not provided, it defaults to1(Per Unit).separateBilling. Set totrueif the cost is itemized separately from the premium. Defaults tofalsewhen not provided.separateCollection- Set totrueif the cost is collected separately from the premium. Defaults tofalsewhen not provided.
For example, the following request creates a coverage cost with a cumulative pricing basis for job pc:Sirpo9VXJ_UM95fzVzNp9
POST /job/v1/jobs/pc:Sirpo9VXJ_UM95fzVzNp9/lines/SBOLine/manual-pricing-details{
"data": {
"attributes": {
"clause": {
"id": "SBOBusinessLiability"
},
"costCode": {
"id": "tax"
},
"cumulativeCostCodeFilters": [
{
"costCode": {
"id": "incomePrem"
}
},
{
"costCode": {
"id": "premium"
}
},
{
"costCode": {
"id": "stampDuty"
}
}
],
"rate": "0.5",
"separateBilling": true,
"separateCollection": true
}
}
}Creating an other cost item with a cumulative pricing basis
To define a cumulative cost, you set a rate and select one or more previously defined manual pricing items. When PolicyCenter quotes the policy, it calculates the cumulative cost basis as the sum of rates from the selected manual pricing items, and then it applies the rate defined for the coverage.
POST /job/v1/jobs/{jobID}/lines/{lineID}/manual-pricing-detailscostCode. The cost code.coverable. Theidand thetypeof the risk object. This is required when the risk object is not a policy line.cumulativeCostCodeFilters. A list of one or morecostCodeproperties that represent the manual pricing item that you created and want to include in the cumulative cost basis. For eachcostCode, specify theid.Note: To view the costCodes for existing manual items, use the following endpointGET /jobs/{jobId}/lines/{lobId}/manual-pricing-details?field=*all.rate. The numerical rate.ratingScale. The value for the scale. Valid values include100,1000, and1. When not provided, it defaults to1(Per Unit).separateBilling. Set totrueif the cost is itemized separately from the premium. Defaults tofalsewhen not provided.separateCollection- Set totrueif the cost is collected separately from the premium. Defaults tofalsewhen not provided.
For example, the following request creates an other cost with a cumulative pricing basis for job pc:Sirpo9VXJ_UM95fzVzNp9:
POST /job/v1/jobs/pc:Sirpo9VXJ_UM95fzVzNp9/lines/SBOLine/manual-pricing-detailsRequest body
{
"data": {
"attributes": {
"costCode": {
"id": "premium"
},
"cumulativeCostCodeFilters": [
{
"costCode": {
"id": "incomePrem"
}
},
{
"costCode": {
"id": "stampDuty"
}
}
],
"rate": "0.1",
"ratingScale": {
"code": "100"
},
"separateBilling": true,
"separateCollection": true
}
}
}