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

Use the following endpoint to configure a rate for a coverage with a term pricing basis:
  • POST /job/v1/jobs/{jobID}/lines/{lineID}/manual-pricing-details
Configure the following properties in the request body:
  • costCode. The cost code.
  • coverable. The id and the type of the risk object. This is required when the coverage is for a risk object and not for a policy line.
  • clause. The codeIdentifier of the coverage pattern.
  • rate. The numerical rate.
  • ratingScale. The value for the scale. Valid values include 100, 1000, and 1. When not provided, it defaults to 1 (Per Unit).
  • separateBilling. Set to true if the cost is itemized separately from the premium. Defaults to false when not provided.
  • separateCollection - Set to true if the cost is collected separately from the premium. Defaults to false when 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

Command
POST /job/v1/jobs/pc:Sirpo9VXJ_UM95fzVzNp9/lines/SBOLine/manual-pricing-details
Request body
{
  "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

Use the following endpoint to configure a rate for a coverage with a coverable pricing basis:
  • POST /job/v1/jobs/{jobID}/lines/{lineID}/manual-pricing-details
Configure the following properties in the request body:
  • basisSource. The code of the numeric attribute within the scope of the current risk object.
  • costCode. The cost code.
  • coverable. The id and the type of the risk object. This is required when the coverage is for a risk object and not for a policy line.
  • clause. The codeIdentifier of the coverage pattern.
  • rate. The numerical rate.
  • ratingScale. The value for the scale. Valid values include 100, 1000, and 1. When not provided, it defaults to 1 (Per Unit).
  • separateBilling. Set to true if the cost is itemized separately from the premium. Defaults to false when not provided.
  • separateCollection - Set to true if the cost is collected separately from the premium. Defaults to false when not provided.

For example, the following request creates a coverage cost with a coverable pricing basis for job pc:Sirpo9VXJ_UM95fzVzNp9:

Command
POST /job/v1/jobs/pc:Sirpo9VXJ_UM95fzVzNp9/lines/SBOLine/manual-pricing-details
Request body
{
  "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

Use the following endpoint to configure a rate for an other cost with a coverable pricing basis:
  • POST /job/v1/jobs/{jobID}/lines/{lineID}/manual-pricing-details
Configure the following properties in the request body:
  • basisSource. The numeric attribute within the scope of the current risk object.
  • costCode. The cost code.
  • coverable. The id and the type of 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 include 100, 1000, and 1. When not provided, it defaults to 1 (Per Unit).
  • separateBilling. Set to true if the cost is itemized separately from the premium. Defaults to false when not provided.
  • separateCollection - Set to true if the cost is collected separately from the premium. Defaults to false when not provided.

For example, the following request creates an other cost with a coverable pricing basis for job pc:Sirpo9VXJ_UM95fzVzNp9:

Command
POST /job/v1/jobs/pc:Sirpo9VXJ_UM95fzVzNp9/lines/SBOLine/manual-pricing-details
Request body
{
  "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

Using Cloud API to manually price a coverage cost with exposure pricing basis is a three-step process that requires creating the coverage cost item, syncing the coverage cost items, and then adding the exposure rate.
After reading this topic, you'll be able to:
  1. Create the coverage cost item with the exposure pricing basis.
  2. Sync the new coverage cost item with the list of pricing items
  3. Update the coverage cost item to include the pricing exposure rate.

Instructions

Step 1: Create the coverage cost item with exposure pricing basis

Use the following endpoint to configure a rate for a coverage with an exposure pricing basis:
POST /job/v1/jobs/{jobID}/lines/{lineID}/manual-pricing-details
Configure the following properties in the request body:
  • basisSource. A numeric exposure attribute within the scope of the current risk object.
  • costCode. The cost code.
  • coverable. The id and the type of the risk object. This is required when the coverage is for a risk object and not a policy line.
  • clause. The codeIdentifier of the coverage pattern.
  • ratingScale. The value for the scale. Valid values include 100, 1000, and 1. When not provided, it defaults to 1 (Per Unit).
  • rootExposureEntity. The exposure entity.
  • separateBilling. Set to true if the cost is itemized separately from the premium. Defaults to false when not provided.
  • separateCollection - Set to true if the cost is collected separately from the premium. Defaults to false when not provided.

For example, the following request creates a coverage cost with a exposure pricing basis for job pc:Sirpo9VXJ_UM95fzVzNp9:

Command
POST /job/v1/jobs/pc:Sirpo9VXJ_UM95fzVzNp9/lines/SBOLine/manual-pricing-details
Request body
{
  "data": {
    "attributes": {
      "basisSource": "DecimalTestExposureField",
      "clause": {
        "id": "SBOBusinessLiability"
      },
      "costCode": {
        "id": "tax"
      },
      "ratingScale": {
        "code": "1"
      },
      "rootExposureEntity": "SBOTestScheduledEquipment",
      "separateBilling": true,
      "separateCollection": true
    }
  }
}

Step 2: Sync exposures (optional)

After you create a coverage cost item with exposure pricing basis, if you add or delete an exposure from the submission, use the following endpoint to sync the exposure data with the manual pricing details:
  • 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:

Command:
POST /job/v1/jobs/pc:Sirpo9VXJ_UM95fzVzNp9/lines/SBOLine/manual-pricing-details/109/sync-manual-exposure-pricing-details

Step 3: Add or update manual exposure pricing rate

Use the following endpoint to add or update a manual exposure pricing rate on a coverage cost with an exposure pricing basis:
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:

Command
PATCH /job/v1/jobs/pc:Sirpo9VXJ_UM95fzVzNp9/lines/SBOLine/manual-pricing-details/109/manual-exposure-pricing-details/3
Request 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.

Use the following endpoint to configure a rate for a coverage with a cumulative pricing basis:
POST /job/v1/jobs/{jobID}/lines/{lineID}/manual-pricing-details
Configure the following properties in the request body:
  • clause. The codeIdentifier of the coverage pattern.
  • costCode. The cost code.
  • coverable. The id and the type of 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 more costCode properties that represent the manual pricing item that you created and want to include in the cumulative cost basis. For each costCode, specify the id.
    Note: To view the costCodes for existing manual items, use the following endpoint GET /jobs/{jobId}/lines/{lobId}/manual-pricing-details?field=*all.
  • rate. The numerical rate.
  • ratingScale. The value for the scale. Valid values include 100, 1000, and 1. When not provided, it defaults to 1 (Per Unit).
  • separateBilling. Set to true if the cost is itemized separately from the premium. Defaults to false when not provided.
  • separateCollection - Set to true if the cost is collected separately from the premium. Defaults to false when not provided.

For example, the following request creates a coverage cost with a cumulative pricing basis for job pc:Sirpo9VXJ_UM95fzVzNp9

Command
POST /job/v1/jobs/pc:Sirpo9VXJ_UM95fzVzNp9/lines/SBOLine/manual-pricing-details
Request body
{
  "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.

Use the following endpoint to configure rate for an other cost with a cumulative pricing basis:
POST /job/v1/jobs/{jobID}/lines/{lineID}/manual-pricing-details
Configure the following properties in the request body:
  • costCode. The cost code.
  • coverable. The id and the type of the risk object. This is required when the risk object is not a policy line.
  • cumulativeCostCodeFilters. A list of one or more costCode properties that represent the manual pricing item that you created and want to include in the cumulative cost basis. For each costCode, specify the id.
    Note: To view the costCodes for existing manual items, use the following endpoint GET /jobs/{jobId}/lines/{lobId}/manual-pricing-details?field=*all.
  • rate. The numerical rate.
  • ratingScale. The value for the scale. Valid values include 100, 1000, and 1. When not provided, it defaults to 1 (Per Unit).
  • separateBilling. Set to true if the cost is itemized separately from the premium. Defaults to false when not provided.
  • separateCollection - Set to true if the cost is collected separately from the premium. Defaults to false when not provided.

For example, the following request creates an other cost with a cumulative pricing basis for job pc:Sirpo9VXJ_UM95fzVzNp9:

Command
POST /job/v1/jobs/pc:Sirpo9VXJ_UM95fzVzNp9/lines/SBOLine/manual-pricing-details

Request body

{
  "data": {
    "attributes": {
      "costCode": {
        "id": "premium"
      },
      "cumulativeCostCodeFilters": [
        {
          "costCode": {
            "id": "incomePrem"
          }
        },
        {
          "costCode": {
            "id": "stampDuty"
          }
        }
      ],
      "rate": "0.1",
      "ratingScale": {
        "code": "100"
      },
      "separateBilling": true,
      "separateCollection": true
    }
  }
}