# Workflow Overview

The Offer platform enables efficient, flexible, and compliant offer and sale of any line of insurance and non-insurance products within a partner experience. Some examples include:

* A public facing Online Travel Agent selling flight and accommodation packages, with related travel and cancellation insurance.
* A merchant facing shipping management platform selling parcel and shipping insurance.
* An ecommerce retail marketplace facilitating sales and offering warranties and or insurance policies for relevant products.

In most integrations policies are attached to one or more main products or services. An example of main product is a laptop purchased from an online store, flight tickets, hotel reservations, etc. Depending on the partner integration, the insurance offering is typically placed in the main product booking path.

<figure><picture><source srcset="/files/LB4x3nNq8anhRmqSgGdz" media="(prefers-color-scheme: dark)"><img src="/files/Uf6vufskpJBGpRQzD6Kq" alt=""></picture><figcaption><p>Simple insurance purchase workflow</p></figcaption></figure>

### Common Request Flow

#### 1. Create Offer

The initial step is to request personalized product offerings using the **Create Offer** endpoint. This endpoint uses a schema-driven approach to validate requests and returns one or more insurance products with detailed pricing, product information, and content for display.

**Initial Status:** After a successful Create Offer request, the Offer is created with available products ready for customer review.

**Key Points:**

* Returns an Offer ID (UUID) that can be used to confirm the purchase
* Provides product details including pricing, policy dates, benefits, and content
* Validates requests against your partner's Offer Schema
* Supports query parameters for content inclusion and extra fields

#### 2. Confirm Offer

After customers complete the checkout process and insurance premiums are collected by the partner, a request to the **Confirm Offer** endpoint must be made.

**Confirmation Status:** An Offer with status `CONFIRMED` is considered booked, sold, and provisioned. The policy confirmation will be automatically submitted to the customer via email.

**Key Points:**

* Requires the Offer ID from the Create Offers response
* Requires the Product ID of the selected product
* Payment must be collected BEFORE calling this endpoint
* Returns a booking ID (format: `XXXXX-XXXXX-INS`) for future operations

#### 3. Additional Operations

**Opt-out Offer** - Record when product is offered but not selected by the customer. This is crucial for regulatory compliance and platform optimization.

**Modify Booking** - Update existing policy details such as dates, insured persons, or coverage amounts. Modifications may result in price adjustments, refunds, or additional fees.

**Cancel Booking** - Cancel a policy when coverage is no longer required. The system calculates pro-rata refunds where applicable, and the partner is responsible for processing refunds to customers.

### Simple Insurance Purchase Workflow

1. Create Offer ↓
2. Customer Reviews Products ↓
   1. Customer Accepts → Confirm Offer → CONFIRMED Booking OR
   2. Customer Declines → Opt-out Offer → Recorded for Analytics ↓
3. Post-Purchase Operations (if confirmed)
   * Modify Booking (if changes needed)
   * Cancel Booking (if coverage no longer required)

### Important Notes

> **Schema-Driven Validation:** All Create Offer requests are validated against your partner's Offer Schema. Contact your integration team to understand your specific schema requirements.

> **Payment Collection:** Partners must collect payment from customers before calling the Confirm Offer endpoint. The endpoint records that payment has been collected but does not process payments.

> **Regulatory Compliance:** Recording opt-outs is essential for demonstrating fair insurance offerings and appropriate pricing to regulators.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://partner-docs.covergenius.com/offers/guides/purchase-workflow-overview.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
