Policy Cancelled Event

Event emitted when an insurance policy is cancelled.

Event Lifecycle

Overview

The PolicyCancelledEventV1 event is emitted by the PolicyService when an insurance policy is cancelled. This event signifies a terminal state in the policy lifecycle and contains details about the cancellation including the reason, any applicable refunds, and the financial state at the time of cancellation.

When is this event emitted?

This event is published when:

  • A policyholder requests cancellation of their policy
  • An administrator cancels a policy on behalf of the policyholder
  • A policy is cancelled due to non-payment after exhausting grace periods
  • A policy is cancelled due to fraud or misrepresentation

Key Information

The event payload includes:

  • Event Metadata: Event ID, correlation ID, timestamps for noticed and effected dates
  • Policy Identification: Policy ID and policy status at cancellation
  • Cancellation Details: Cancellation date, reason, who requested it, and who approved it
  • Financial Information: Refund amount and financial details at the time of cancellation
  • Policyholder: Policy holder identifier

Downstream Consumers

Systems that typically consume this event include:

  • Billing systems (to stop collections and process refunds)
  • Customer communication services (to send cancellation confirmations)
  • Reporting and analytics platforms
  • Partner systems (to update policy status)
  • Claims systems (to close any open claims)

Schemas

JSON Schema

17 properties

Event emitted when a policy is cancelled.

idstring<uuid>
required

Unique identifier for the event (UUID as string)

correlationIdstring<uuid>
required

Correlation identifier for the event (UUID as string)

noticedDateinteger
required

Timestamp when the event was noticed (milliseconds since epoch)

effectedDateinteger
required

Timestamp when the event took effect (milliseconds since epoch)

detailTypestring
required

Type of the event.

logicalClockReadinginteger
required

Logical clock reading for event ordering

policyIdstring<uuid>
required

Unique identifier for the policy (UUID as string)

requestedBynullstring

Who requested the cancellation.

approvedBynullstring

Who approved the cancellation.

cancellationDateinteger
required

Timestamp when the cancellation took effect (milliseconds since epoch)

refundAmountobjectMoney
required
cancellationReasonstring
required

The reason for the cancellation of the policy.

policyFinancialDetailoneOf

Financial details captured when the policy was cancelled.

policyHolderIdnullstring<uuid>

Unique identifier for the policy holder (UUID as string)

policyStatusnullstring

Status of the policy at cancellation time

Avro Schema

15 fields
Record:PolicyCancelledEventV1(sft.pas.policy.events.policycancelledevent.avro)

Event emitted when a policy is cancelled.

idstring (uuid)

Unique identifier for the event (UUID as string)

correlationIdstring (uuid)

Correlation identifier for the event (UUID as string)

noticedDatelong (timestamp-millis)

Timestamp when the event was noticed

effectedDatelong (timestamp-millis)

Timestamp when the event took effect

detailTypestring

Type of the event.

logicalClockReadingint

Logical clock reading for event ordering

policyIdstring (uuid)

Unique identifier for the policy (UUID as string)

requestedBynull | string

Who requested the cancellation.

approvedBynull | string

Who approved the cancellation.

cancellationDatelong (timestamp-millis)

Timestamp when the cancellation took effect

refundAmountrecord: AvroMoney

The refund amount.

cancellationReasonstring

The reason for the cancellation of the policy.

policyFinancialDetailnull | record: AvroPolicyFinancialDetailEventInfo

Financial details captured when the policy was cancelled.

policyHolderIdnull | string (uuid)

Unique identifier for the policy holder (UUID as string)

policyStatusnull | string

Status of the policy at cancellation time