Fat Agent Standard / Core Objects
v1.0Coverage
Represents a specific insurance coverage, benefit, rider, protection, limit, or contractual insurance benefit.
Coverage is one universal object. It defines what protection exists, how much protection exists, what terms apply, and what risk or party the protection applies to. Changing financial values belong on PolicySnapshot.
Identity
Use the standardized coverage_type when one exists. Preserve carrier terminology with carrier_coverage_code and carrier_coverage_name. Do not use other merely because a carrier uses a proprietary marketing name.
| Field | Type | Required | Description |
|---|---|---|---|
coverage_id | string | Yes | Unique identifier for the Coverage |
line_of_business | enum | Yes | Insurance line associated with the Coverage Allowed: life, annuity, long_term_care, disability, personal_auto, property, personal_umbrella, commercial, other |
line_of_business_description | string | Yes* | Custom value when line_of_business is other. Required when line_of_business is other. MUST NOT be set otherwise. |
coverage_type | string | Yes | Standardized Fat Agent coverage classification. MUST be valid for the selected line_of_business. |
coverage_type_description | string | Yes* | Custom value when coverage_type is other. Required when coverage_type is other. MUST NOT be set otherwise. |
coverage_name | string | No | Human-readable standardized coverage name |
carrier_coverage_code | string | No | Carrier's coverage or rider code |
carrier_coverage_name | string | No | Carrier's actual coverage or rider name |
Status / Dates
| Field | Type | Required | Description |
|---|---|---|---|
status | enum | No | Current status of the Coverage Allowed: pending, active, cancelled, expired, suspended, terminated, declined, other |
status_description | string | Yes* | Custom value when status is other. Required when status is other. MUST NOT be set otherwise. |
effective_date | string (date) | No | Date Coverage becomes effective |
expiration_date | string (date) | No | Date Coverage expires or terminates |
Limits
Coverage supports a single limit, split per-person and per-occurrence limits, and an aggregate limit.
| Field | Type | Required | Description |
|---|---|---|---|
limit | number | No | Single applicable coverage limit |
per_person_limit | number | No | Maximum payable per person |
per_occurrence_limit | number | No | Maximum payable per occurrence |
aggregate_limit | number | No | Maximum aggregate coverage limit |
Deductibles
percentage_deductible uses percentage-point values. 2 means 2%.
| Field | Type | Required | Description |
|---|---|---|---|
deductible | number | No | Monetary deductible |
percentage_deductible | number | No | Percentage-based deductible |
Benefits
Benefit structures used by life, annuity, long-term care, disability, and similar products.
| Field | Type | Required | Description |
|---|---|---|---|
benefit_amount | number | No | Monetary benefit amount |
benefit_percentage | number | No | Benefit expressed as a percentage-point value |
benefit_period | string | No | Contractual benefit duration |
elimination_period_days | integer | No | Days before benefits become payable |
waiting_period_days | integer | No | Applicable contractual waiting period |
Applies To
applies_to identifies the Policy, Person, Organization, Vehicle, Property, or other target this Coverage protects. Reference those objects by ID. One Coverage MAY apply to multiple targets.
| Field | Type | Required | Description |
|---|---|---|---|
target_type | enum | Yes | Type of Standard object the Coverage applies to Allowed: policy, person, organization, vehicle, property, other |
target_type_description | string | Yes* | Custom value when target_type is other. Required when target_type is other. MUST NOT be set otherwise. |
target_id | string | Yes | ID of the Standard object the Coverage applies to |
Premium
coverage_premium is the premium attributable to this Coverage only. It MUST NOT be assumed to equal total Policy premium. Omit it when the carrier does not provide a coverage-level premium.
| Field | Type | Required | Description |
|---|---|---|---|
coverage_premium | number | No | Premium attributable specifically to this Coverage |
Terms
terms is an extension for genuine contractual attributes that are not represented by a standardized Coverage field. Do not put deductible, limit, or other defined fields here.
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Name of the contractual term |
value | string | number | boolean | Yes | Value of the term |
Currency
currency is required when limit, per_person_limit, per_occurrence_limit, aggregate_limit, deductible, benefit_amount, or coverage_premium is supplied.
| Field | Type | Required | Description |
|---|---|---|---|
currency | string | No | ISO 4217 currency code |
External References
external_references maps the Coverage to identifiers from carriers or other systems.
| Field | Type | Required | Description |
|---|---|---|---|
system | string | Yes | External system |
reference_id | string | Yes | Identifier in the external system |
reference_type | string | No | Type of reference |
Coverage Types by Line of Business
coverage_type MUST be valid for the selected line_of_business. Health insurance and group insurance are outside Fat Agent Standard v1.0.
| Line of Business | Allowed product_type |
|---|---|
life | death_benefit, accidental_death_benefit, waiver_of_premium, waiver_of_monthly_deduction, chronic_illness, critical_illness, terminal_illness, long_term_care, child_term_rider, spouse_term_rider, term_rider, guaranteed_insurability, return_of_premium, paid_up_additions, overloan_protection, other |
annuity | guaranteed_lifetime_income, income_rider, enhanced_income, death_benefit, enhanced_death_benefit, nursing_home_benefit, confinement_benefit, terminal_illness, withdrawal_benefit, premium_bonus, other |
long_term_care | long_term_care_benefit, home_health_care, assisted_living, nursing_home, adult_day_care, respite_care, hospice_care, inflation_protection, shared_care, restoration_of_benefits, waiver_of_premium, return_of_premium, nonforfeiture, other |
disability | disability_income, total_disability, partial_disability, residual_disability, own_occupation, presumptive_disability, catastrophic_disability, cost_of_living_adjustment, future_increase_option, return_of_premium, waiver_of_premium, other |
personal_auto | bodily_injury_liability, property_damage_liability, combined_single_limit, uninsured_motorist_bodily_injury, underinsured_motorist_bodily_injury, uninsured_motorist_property_damage, medical_payments, personal_injury_protection, comprehensive, collision, rental_reimbursement, roadside_assistance, towing_labor, gap, custom_equipment, accidental_death, other |
property | dwelling, other_structures, personal_property, loss_of_use, personal_liability, medical_payments_to_others, replacement_cost, extended_replacement_cost, guaranteed_replacement_cost, water_backup, service_line, equipment_breakdown, identity_theft, ordinance_or_law, scheduled_personal_property, flood, earthquake, wind_hail, other |
personal_umbrella | excess_liability, uninsured_underinsured_motorist, other |
commercial | general_liability, bodily_injury_liability, property_damage_liability, products_completed_operations, personal_advertising_injury, medical_payments, commercial_property, building, business_personal_property, business_income, extra_expense, equipment_breakdown, inland_marine, builders_risk, commercial_auto_liability, commercial_auto_physical_damage, hired_auto, non_owned_auto, uninsured_underinsured_motorist, workers_compensation, employers_liability, commercial_umbrella, excess_liability, professional_liability, errors_omissions, directors_officers, employment_practices_liability, cyber, data_breach, crime, employee_dishonesty, bonds, other |
other | other |
Validation Rules
- coverage_id, line_of_business, and coverage_type MUST be supplied.
- Fat Agent Standard uses one universal Coverage object. Do not create line-specific Coverage schemas.
- When an enum value is other, the companion {field}_description field is required and MUST be a non-empty string. That companion field MUST NOT be set unless the enum value is other.
- coverage_type MUST be valid for the selected line_of_business.
- Use a standardized coverage_type when one exists. Preserve carrier names with carrier_coverage_code and carrier_coverage_name.
- coverage_type other SHOULD only be used when no appropriate standardized type exists.
- Coverage MAY apply to Policy, Person, Organization, Vehicle, Property, or other through applies_to[].
- One Coverage MAY apply to multiple targets. Do not duplicate Coverage solely because it applies to more than one entity.
- Limits, deductibles, riders, and contractual benefits belong in Coverage.
- Changing Policy financial values belong in PolicySnapshot, not Coverage.
- Changes to Coverage are represented through Endorsement.
- PriorPolicy MAY reference Coverage through coverage_ids.
- coverage_premium represents only the premium attributable to this Coverage.
- terms[] is reserved for contractual attributes not represented by standardized Coverage fields.
- currency MUST use ISO 4217 and is required when a monetary Coverage field is supplied.
- Percentage values use percentage-point representation: 2 means 2%.
- Dates MUST use ISO 8601 date format (YYYY-MM-DD).
- Health insurance and group insurance MUST NOT appear on Coverage.
