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 |
|
choice |
choiceValue (used for coverage terms whose value is selected from a set
of values defined in the product definition) |
date |
|
direct |
directValue |
string |
|
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 Camry (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"
}
}
}
}
}
}