---
title: "Create Offer Request"
method: POST
path: "/api/booking/create-offer"
tags: ["booking"]
---

# Create Offer Request

`POST /api/booking/create-offer`

## Request

- Base URL: `https://api.pointifytravels.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.pointifytravels.com/api/booking/create-offer`
- Auth: none declared

Dual-mode:

* **Checkout** — when ``payment_intent_id`` + ``offer_id`` are set, verify
  the Stripe PaymentIntent is ``succeeded`` and then create the Duffel
  order via the existing booking service. Returns
  ``{booking_ref, status, confirmation_url}``.
* **Search** — otherwise, creates a Duffel offer request and returns
  bookable offers (preserves legacy web behavior).

## Request body

- CreateOfferInput
  - `origin` string, nullable
  - `destination` string, nullable
  - `departure_date` string, nullable
  - `return_date` string, nullable
  - `passengers` unknown
  - `cabin_class` string
  - `offer_id` string, nullable
  - `payment_intent_id` string, nullable
  - `seat_service_ids` string[], nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/pointifytravels/apis/pointify-deal-engine.md) · [All operations](https://skmtc.dev/pointifytravels/apis/pointify-deal-engine/llms.txt) · [OpenAPI document](https://skmtc.dev/pointifytravels/apis/pointify-deal-engine/revisions/4350142a4216?raw)
