Fat Agent Standard / Core Objects

v1.0

Coverage

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.

FieldTypeRequiredDescription
coverage_idstringYes

Unique identifier for the Coverage

line_of_businessenumYes

Insurance line associated with the Coverage

Allowed: life, annuity, long_term_care, disability, personal_auto, property, personal_umbrella, commercial, other

line_of_business_descriptionstringYes*

Custom value when line_of_business is other. Required when line_of_business is other. MUST NOT be set otherwise.

coverage_typestringYes

Standardized Fat Agent coverage classification. MUST be valid for the selected line_of_business.

coverage_type_descriptionstringYes*

Custom value when coverage_type is other. Required when coverage_type is other. MUST NOT be set otherwise.

coverage_namestringNo

Human-readable standardized coverage name

carrier_coverage_codestringNo

Carrier's coverage or rider code

carrier_coverage_namestringNo

Carrier's actual coverage or rider name

Status / Dates

FieldTypeRequiredDescription
statusenumNo

Current status of the Coverage

Allowed: pending, active, cancelled, expired, suspended, terminated, declined, other

status_descriptionstringYes*

Custom value when status is other. Required when status is other. MUST NOT be set otherwise.

effective_datestring (date)No

Date Coverage becomes effective

expiration_datestring (date)No

Date Coverage expires or terminates

Limits

Coverage supports a single limit, split per-person and per-occurrence limits, and an aggregate limit.

FieldTypeRequiredDescription
limitnumberNo

Single applicable coverage limit

per_person_limitnumberNo

Maximum payable per person

per_occurrence_limitnumberNo

Maximum payable per occurrence

aggregate_limitnumberNo

Maximum aggregate coverage limit

Deductibles

percentage_deductible uses percentage-point values. 2 means 2%.

FieldTypeRequiredDescription
deductiblenumberNo

Monetary deductible

percentage_deductiblenumberNo

Percentage-based deductible

Benefits

Benefit structures used by life, annuity, long-term care, disability, and similar products.

FieldTypeRequiredDescription
benefit_amountnumberNo

Monetary benefit amount

benefit_percentagenumberNo

Benefit expressed as a percentage-point value

benefit_periodstringNo

Contractual benefit duration

elimination_period_daysintegerNo

Days before benefits become payable

waiting_period_daysintegerNo

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.

FieldTypeRequiredDescription
target_typeenumYes

Type of Standard object the Coverage applies to

Allowed: policy, person, organization, vehicle, property, other

target_type_descriptionstringYes*

Custom value when target_type is other. Required when target_type is other. MUST NOT be set otherwise.

target_idstringYes

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.

FieldTypeRequiredDescription
coverage_premiumnumberNo

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.

FieldTypeRequiredDescription
namestringYes

Name of the contractual term

valuestring | number | booleanYes

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.

FieldTypeRequiredDescription
currencystringNo

ISO 4217 currency code

External References

external_references maps the Coverage to identifiers from carriers or other systems.

FieldTypeRequiredDescription
systemstringYes

External system

reference_idstringYes

Identifier in the external system

reference_typestringNo

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 BusinessAllowed product_type
lifedeath_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
annuityguaranteed_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_carelong_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
disabilitydisability_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_autobodily_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
propertydwelling, 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_umbrellaexcess_liability, uninsured_underinsured_motorist, other
commercialgeneral_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
otherother

Validation Rules

  1. coverage_id, line_of_business, and coverage_type MUST be supplied.
  2. Fat Agent Standard uses one universal Coverage object. Do not create line-specific Coverage schemas.
  3. 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.
  4. coverage_type MUST be valid for the selected line_of_business.
  5. Use a standardized coverage_type when one exists. Preserve carrier names with carrier_coverage_code and carrier_coverage_name.
  6. coverage_type other SHOULD only be used when no appropriate standardized type exists.
  7. Coverage MAY apply to Policy, Person, Organization, Vehicle, Property, or other through applies_to[].
  8. One Coverage MAY apply to multiple targets. Do not duplicate Coverage solely because it applies to more than one entity.
  9. Limits, deductibles, riders, and contractual benefits belong in Coverage.
  10. Changing Policy financial values belong in PolicySnapshot, not Coverage.
  11. Changes to Coverage are represented through Endorsement.
  12. PriorPolicy MAY reference Coverage through coverage_ids.
  13. coverage_premium represents only the premium attributable to this Coverage.
  14. terms[] is reserved for contractual attributes not represented by standardized Coverage fields.
  15. currency MUST use ISO 4217 and is required when a monetary Coverage field is supplied.
  16. Percentage values use percentage-point representation: 2 means 2%.
  17. Dates MUST use ISO 8601 date format (YYYY-MM-DD).
  18. Health insurance and group insurance MUST NOT appear on Coverage.