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 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"
}
}
}
}
}
}