Coverage terms

A coverage term is a value associated with a coverage that further defines the extent of the coverage. They are also commonly referred to as "covterms". The most common examples of coverage terms are deductibles and limits, such as:

  • A $1000 deductible on collision coverage, which stipulates that if a vehicle is damaged by collision, the insured must pay the first $1000 of repair.
  • A $100,000 third-party injury liability limit, which stipulates that if the insured is responsible for injuries to a third party, the coverage pays only up to $100,000.

A coverage can have zero, one, or many coverage terms. Each coverage term can be optional or required. Each coverage term can have a default value.

Coverage term syntax

Coverage terms are not managed in their own resource. Rather, they are specified in as part of the associated Coverage resource in its terms map. The partial syntax is shown below.

{
    "data": {
        "attributes": {
            "id": "<coverageId>",
            "terms": {
                "<covTermId>": {
                    "covTermType": "<value>",
                    "displayValue": "<value>",
                    "decimalValue": "<value>",
                    "booleanValue": <value>,
                    "choiceValue": {
                        "code": "<valueFromPreductDefinition>"
                    },
                    "dateValue": "<value>",
                    "directValue": "<value>",
                    "stringValue": "<value>",
                    "typekeyValue": {
                        "code": "<valueFromTypelist>"
                    },
                }
            }
        },

Coverage term ids

Every coverage term as an id value. These values are defined in the product definition. For example, a Personal Auto rental coverage term could have an id of PARental.

Coverage term types

Every coverage term has a covTermType, which identifies the datatype of the coverage term value and how the value is used.

The value of the coverage term is specified using a corresponding ...Value property. The following table identifies the difference values for covTermType and the corresponding ...Value property used to store its value.

covTermType Property that stores the coverage term value
decimal bigDecimalValue
boolean

booleanValue

choice choiceValue (used for coverage terms whose value is selected from a set of values defined in the product definition)
date

dateTimeValue

direct directValue
string

stringValue

typekey typekeyValue (used for coverage terms whose value is selected from a set of values defined in a typelist)

Note that even though the covTerm schema has multiple ...Value fields, for a given covTerm only one of them will have a value. The other ...Value fields will be null.

Coverage term example

For example, suppose there is a PARentalCov coverage with a PARental coverage term. Its value is a choice defined in the product definition, and it is currently set to 25 dollars per day for 30 days (30/25). The JSON for the coverage would be as follows:

{
    "data": {
        "attributes": {
            "id": "PARentalCov",
            "terms": {
                "PARental": {
                    "covTermType": "choice",
                    "displayValue": "30 days x 25/day",
                    "choiceValue": {
                        "code": "30/25"
                    }
                }
            }
        },
...

When creating a coverage:

  • You do not need to specify optional coverage terms.
    • If you do not specify the coverage term, it is not added to the coverage.
  • You do not need to specify values for required coverage terms with defaults.
    • If you do not specify the coverage term, it is added with the default value.
  • You must specify values for required coverage terms that do not have default values.

The following is an example of creating a rental coverage (whose pattern ID is PARentalCov) for the Toyota Tercel (103) on submission job pc:4040. The coverage has a coverage term (PARental), whose value is set to 20 dollars per day for 60 days (60/20).

POST /job/v1/jobs/pc:4040/lines/PersonalAutoLine/vehicles/103/coverages

{
  "data": {
    "attributes": {
      "pattern": {
        "id": "PARentalCov"
      },
      "terms": {
        "PARental": {
          "choiceValue": {
            "code": "60/20"
          }
        }
      }
    }
  }
}