Object Model

The core object model used in Socotra looks like this:


Many of these object types can be extended to store additional information. See the fields documentation for more details.

The Policy

The policy object contains details of the contract, including:

  • Product name

  • Exposures

  • Contract start and end dates

  • Premiums, taxes, and fees

  • Commissions

  • Additional data as defined by the insurer


Exposures represent the person or asset that can experience an economic loss. The exposure object contains details of the particular exposure and a collection of covered perils, including:

  • Data as defined by the insurer

  • Individual coverages called “Perils.”


Perils represent coverages and causes of loss, and the limits to which an exposure is covered loss cause. These also can be extended with configurable data.


See the Characteristics and Modifications topics for information about custom information and versioning associated with policies, exposures, and perils.

Claims and SubClaims

A claim is a container for subclaims, and it is the subclaims that represent potential losses and expenses. Reserves and payables are managed at the subclaims level. See the claims feature topic for more information.


Documents are rendered from templates or stored statically as PDF files. They can be attached to policies, endorsements, renewals, or invoices. See the document templates and static documents topics for more information.

Invoices and Payments

For policy transactions, such as initial issuance, endorsement, renewal, and cancellation, an invoice or series of invoices is generated. These are then marked as paid by the creation of a payment object. See the invoicing topic for more information.