Lapsing and Reinstatement

Socotra automatically removes coverage on unpaid policies according to rules set in the configuration. Lapsed policies may be reinstated within the reinstatement period. The length of the grace period and the reinstatement period are specified on a per-product basis.

Socotra may be configured to produce a confirmation document when:

  1. The policy enters the grace period

  2. The policy lapses

  3. A reinstatement is issued

Grace Period

  • Conditions for a policy to enter the grace period:

    • Lapsing is configured on the product line

    • Policy is issued

    • An invoice on the policy is past due

  • Coverage remains in place during the grace period

  • The grace period is “settled” when either:

    • All past due invoices on the policy are paid

    • The end of the grace period passes

Lapse

  • Policies in the grace period lapse when the end of the grace period passes

  • When the policy lapses:

    • All outstanding invoices are written off

    • Coverage from the lapse date onward is removed

Reinstatement

  • To allow lapsing but not reinstatement, use a reinstatement period length of zero.

  • If the reinstatement period has a length greater than zero, the policy may be reinstated

  • Only one reinstatement may be pending at a time

  • The user must select an effective date for the reinstatement

    • The date must fall within the reinstatement period

    • The reinstatement may be backdated

  • The policyholder must become current on the policy in order to reinstate it. Socotra issues a new invoice for the total that would have otherwise been paid through the reinstatement date.

  • Socotra automatically issues the reinstatement upon payment of the new invoice

  • The only way to issue a reinstatement is to pay the relevant invoice

  • Reinstatement adds back coverage starting at the effective date. There may be a gap in coverage as a result.

UI

  • The policy view indicates if the policy is in the grace period or has lapsed.

  • On a lapsed policy, initiate a reinstatement from the “Actions” menu in the policy view.

  • The Lapsing and Reinstatement section of the UI links to any pending reinstatements.

Configuration

To add lapsing to a policy, include the below configuration in policy.json. If reinstatement is not allowed, use a reinstatement period length of zero.

{
  "lapse": {
      "gracePeriodDays": 30,
      "reinstatementPeriodDays": 60
  }
}

Documents

Socotra renders one document template at each step in the lapsing and reinstatement process. Those templates are named as follows. These templates work the same way as other Document Templates, but have additional information available to them.

  • policy/gracePeriod.template.liquid

  • policy/lapse.template.liquid

  • policy/reinstatement.template.liquid

In the document template file gracePeriod.template.liquid: The data object will be injected with a data.policy object (as documented here) and a data.policyholder object (here). Note that gross premium and similar numbers on the data.policy object are the totals across all coverage terms.

"data": {
    "policyholder": {...},
    "policy": {...},
    "grace_period": {
        "locator": string
        "start_timestamp": long,
        "end_timestamp": long,
        "invoice": {
            "locator": string,
            "display_id": string,
            "total_due": BigDecimal,
            "total_due_currency": string,
            "due_timestamp": long,
            "created_timestamp": long
        }
    }
}

Likewise, for the lapse.template.liquid document template, the data object is as follows:

"data": {
    "policyholder": {...},
    "policy": {...},
    "grace_period": {see above},
    "lapse" {
        "locator": string,
        "lapse_timestamp": long,
        "reinstatement_period_end_timestamp": long,
        "created_timestamp": long
    }
}

And for reinstatement.template.liquid:

"data": {
    "policyholder": {...},
    "policy": {...},
    "grace_period": {see above},
    "lapse": {see above},
    "reinstatement": {
        "locator": locator,
        "created_timestamp": long,
        "reinstatement_timestamp": long,
        "issued_timestamp": long,
        "current_status": "open" | "closed" | "invoiced" | "issued",
        "invoice": {
            "locator": string,
            "display_id": string,
            "total_due": BigDecimal,
            "total_due_currency": string,
            "due_timestamp": long,
            "created_timestamp": long
        }
    }
}

API endpoints