> ## Documentation Index
> Fetch the complete documentation index at: https://docs.effectiveai.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Pet book schema

> Every table, key and core column of a pet book.

*Generated from the pet book schema. `pet.SCHEMA.to_pandas()` returns the core columns as a DataFrame.*

| Table | Required | Key |
| - | - | - |
| [`policyholders`](#policyholders) | Optional | `policyholder_id` |
| [`submissions`](#submissions) | Yes | `submission_id` |
| [`pets`](#pets) | Yes | `submission_id`, `pet_id` |
| [`coverages`](#coverages) | Optional | `submission_id`, `pet_id`, `coverage_id` |
| [`affiliations`](#affiliations) | Optional | `submission_id`, `affiliation_id` |

## `policyholders`

Key: `policyholder_id`. Optional table.

Each column is yours.

## `submissions`

Key: `submission_id`. Required table.

| Column | Type | Unit | Values | Required | Meaning |
| - | - | - | - | - | - |
| `policyholder_id` | id | | | Yes | The pet owner who applies, whose pets the submission prices. |
| `effective_date` | date | | | Yes | The date the rated term starts. |
| `term_months` | int | months | | | The length of the rated term. |
| `transaction` | enum | | `new_business`, `renewal` | | Whether the submission prices a new enrollment or the renewal of an existing one. |
| `residence_postal_code` | text | | | | The postal code where the policyholder and the pets live. |
| `installments` | int | | | | The payments the term's premium is split into: 1 when paid in full, 12 when paid monthly for a year. |

## `pets`

Key: `submission_id`, `pet_id`. Required table.

| Column | Type | Unit | Values | Required | Meaning |
| - | - | - | - | - | - |
| `species` | enum | | `dog`, `cat`, `bird`, `exotic`, `reptile` | | The kind of animal the pet is. |
| `breed` | text | | | | The breed as the owner states it, such as Labrador Retriever; for a bird, exotic or reptile, the kind of animal, such as cockatiel, ferret or bearded dragon. Each carrier names breeds its own way, so its prepare maps this text to its rater's list. |
| `mixed_breed` | bool | | | | Whether the pet is a mix of breeds; breed then names its main breed, if any. |
| `adult_weight` | number | lb | | | The pet's weight when full grown, as weighed or, for a young pet, expected. |
| `sex` | enum | | `male`, `female` | | The pet's sex. |
| `birth_date` | date | | | | The pet's date of birth, or the owner's best estimate. |
| `spayed_neutered` | bool | | | | Whether the pet is spayed or neutered. |
| `working_role` | enum | | `none`, `service`, `therapy`, `search_and_rescue`, `police`, `military`, `retired_police_or_military`, `hunting`, `herding`, `breeding` | | The pet's work, or `none` for a companion: assisting a person with a disability; therapy visits; search and rescue; police or military service; retirement from police or military service; hunting; herding; or breeding. |
| `enrollment_date` | date | | | | The date the pet's continuous coverage on this policy began; the effective date for a pet enrolling now. |
| `prior_insurance` | bool | | | | Whether the pet has had pet health insurance on another policy before enrollment. |
| `prior_insurance_end_date` | date | | | | The date the pet's most recent pet health insurance on another policy ended. |
| `product` | enum | | `accident_only`, `accident_illness` | | The cover the owner chose: accidents only, or accidents and illnesses. |
| `deductible` | number | USD | | | The deductible the owner chose for the accident and illness cover, on whatever basis the carrier applies it, such as each year or each condition. |
| `reimbursement_percent` | number | % | | | The share of a covered bill, after the deductible, that the insurer pays, such as 90; the owner pays the rest. A carrier that files coinsurance as the owner's share files 10 for this 90. |
| `annual_limit` | number | USD | | | The most the accident and illness cover pays in a policy year. |
| `unlimited_annual_limit` | bool | | | | Whether the accident and illness cover's annual limit is unlimited. |

## `coverages`

Key: `submission_id`, `pet_id`, `coverage_id`. Optional table.

`coverage_id` is one of `congenital_hereditary`, `cruciate`, `exam_fees`, `drugs_supplements`, `dental_illness`, `prescription_food`, `behavioral`, `complementary_care`, `breeding`, `owner_assistance`, `wellness`.

| Column | Type | Unit | Values | Required | Meaning |
| - | - | - | - | - | - |
| `limit` | number | USD | | | The coverage's own limit, such as a wellness benefit or a prescription food sublimit. |
| `unlimited` | bool | | | | Whether the coverage's own limit is unlimited. |
| `reimbursement_percent` | number | % | | | The coverage's own share of a covered bill that the insurer pays, such as 100 for a wellness plan that pays in full. |

## `affiliations`

Key: `submission_id`, `affiliation_id`. Optional table.

`affiliation_id` is one of `military`, `first_responder`, `veterinary_staff`, `veterinary_student`, `animal_health_employee`, `warehouse_club`.

Each column is yours.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.