---
title: "Cancel Booking"
method: POST
path: "/partners/{partner_code}/bookings/{booking_id}/cancel"
tags: ["Cancel Booking"]
---

# Cancel Booking

`POST /partners/{partner_code}/bookings/{booking_id}/cancel`

Cancel a policy booking when a customer no longer requires coverage. This endpoint supports two modes controlled by the `preview` field:
- **Preview mode** (`preview: true`): Calculate the refund amount without
  cancelling. Returns a `cancellation_id` for use with the Confirm
  Cancellation endpoint.

- **Immediate cancellation** (`preview: false` or omitted): Cancel the
  booking immediately and process any applicable refunds.

Use preview mode when you need customer confirmation before finalizing the cancellation.

## Request body

- object
  - `preview` boolean
  - `refund_required` boolean
  - `quotes` object[]
    - `id` string, required
    - `reason_for_cancellation` string

## Response `200`

OK - cancelled

- object
  - `id` string
  - `status` string
  - `quotes` object[]
    - `id` string
    - `policy_start_date` string, date-time
    - `policy_end_date` string, date-time
    - `policy_cancellation_date` string, date-time
    - `policy_coolingoff_date` string, date-time
    - `status` string
    - `price` number
    - `refund_value` number
    - `adjustment_fee` integer
    - `policy` object
      - `policy_type` string
      - `policy_type_version` string, utc-millisec
      - `policy_type_slug` string
      - `policy_type_group_name` string
      - `policy_name` string
      - `policy_code` string
      - `policy_version` string
      - `category` string
      - `content` object
        - `title` string
        - `header` unknown
        - `description` string
        - `optout_msg` string
        - `inclusions` unknown[]
          - unknown
        - `exclusions` unknown[]
          - unknown
        - `disclaimer` string
        - `disclaimer_html` string
        - `payment_disclaimer` string
        - `in_path_disclaimer` string
      - `underwriter` object
        - `disclaimer` string
        - `name` string
      - `claim_selector_id` unknown
      - `policy_currency` string
    - `insured` object[]
      - `id` string
      - `first_name` string
      - `last_name` string
      - `email` string, email
      - `region` unknown
    - `created_at` string, date-time
    - `confirmed_at` string, date-time
    - `updated_at` string, date-time
    - `cancelled_at` string, date-time
    - `cancelled_from` string, date-time
    - `commission` unknown
  - `policyholder` object
    - `first_name` string
    - `last_name` string
    - `email` string, email
    - `phone` string
    - `address1` unknown
    - `address2` unknown
    - `postcode` string, color
    - `company` unknown
    - `company_reg_id` unknown
    - `middle_name` unknown
    - `country` string
    - `age` integer
    - `city` unknown
    - `region` string
    - `secondary_email` unknown
    - `birth_date` unknown
    - `allow_updates` boolean
    - `fields_allowed_to_update` unknown[]
      - unknown
  - `pds_url` string, uri
  - `coi` object
    - `url` string, uri
    - `pdf` string, uri
  - `created_at` string, date-time
  - `updated_at` string, date-time
  - `total_price` integer
  - `total_price_formatted` string
  - `total_refund` number
  - `total_refund_formatted` string
  - `total_tax` integer
  - `total_tax_formatted` string
  - `total_premium` integer
  - `total_premium_formatted` string
  - `currency` string
  - `cancellation_id` unknown
  - `confirm_before` unknown
  - `partner` object
    - `id` string
    - `slug` string
    - `name` string
    - `title` string
    - `logo` string, uri
    - `contact_url` string, uri
    - `partner_url` string, uri
    - `help_center_url` string, uri
    - `updated_at` string, date-time
    - `xpay_payment_enabled` boolean
    - `xpay_b2c_payment_enabled` boolean
    - `xpay_refund_enabled` boolean
    - `automatic_refund_by_xcore` boolean
    - `allow_policy_modifications_on_xcover` boolean
    - `emails` unknown[]
      - unknown
    - `attributes` object
    - `signup_method_on_xcover` unknown
    - `use_standard_region` unknown
    - `allow_payout_customer` boolean
    - `eligible_for_xpay_charge_retry` boolean
    - `subsidiary` object
      - `id` string
      - `slug` string
      - `name` string
      - `title` string
      - `logo` string, uri
      - `contact_url` string, uri
      - `partner_url` string, uri
      - `help_center_url` string, uri
      - `updated_at` string, date-time
      - `xpay_payment_enabled` boolean
      - `xpay_b2c_payment_enabled` boolean
      - `xpay_refund_enabled` boolean
      - `automatic_refund_by_xcore` boolean
      - `allow_policy_modifications_on_xcover` boolean
      - `emails` unknown[]
        - unknown
      - `attributes` object
      - `signup_method_on_xcover` unknown
      - `use_standard_region` unknown
      - `allow_payout_customer` boolean
      - `eligible_for_xpay_charge_retry` boolean
  - `refund_amount` number
  - `refund_amount_formatted` string
  - `cancellation_payout_url` unknown

## Other responses

- `403` — Forbidden
- `404` — Not Found
- `422` — Modify booking Copy

---

[API](https://skmtc.net/covergenius/apis/offers-api.md) · [All operations](https://skmtc.net/covergenius/apis/offers-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/covergenius/offers-api/revisions/42536792b3f8/schema)
