Skip to main content
PUT
/
api
/
public
/
v2
/
bookings
/
{bookingId}
cURL
curl --location --request PUT 'https://www.headout.com/api/public/v2/bookings/126890/' \
--header 'Headout-Auth: <YOUR_API_KEY>' \
--header 'Content-Type: application/json' \
--data '{
  "status": "PENDING",
  "partnerReferenceId": "AX67873DDFSR"
}'
{
  "bookingId": "126890",
  "partnerReferenceId": "AX67873DDFSR",
  "variantId": "25525",
  "status": "PENDING",
  "startDateTime": "2025-04-12T19:30:00",
  "product": {
    "id": "18969",
    "name": "Bali Swing Experience",
    "variant": {
      "id": "25525",
      "name": "Standard Entry"
    }
  },
  "customersDetails": {
    "count": 1,
    "customers": [
      {
        "personType": "ADULT",
        "isPrimary": true,
        "inputFields": [
          {
            "id": "NAME",
            "name": "Name",
            "value": "John Doe"
          },
          {
            "id": "EMAIL",
            "name": "Email",
            "value": "john@example.com"
          },
          {
            "id": "PHONE",
            "name": "Phone",
            "value": "+14155551234"
          }
        ]
      }
    ]
  },
  "seatInfo": null,
  "variantInputFields": [],
  "price": {
    "amount": 77.08,
    "currencyCode": "USD"
  },
  "creationTimestamp": 1712953295,
  "voucherUrl": "https://www.headout.com/voucher/126890?key=AAAD6AAAABhsDVGl...",
  "tickets": [
    {
      "publicId": "9e4d8330-abc7-40f8-951d-19b9e8731dcf",
      "url": null,
      "type": "QRCODE"
    }
  ]
}

Authorizations

Headout-Auth
string
header
required

Path Parameters

bookingId
string
required

The booking ID to capture.

Body

application/json
status
enum<string>
required

Set to PENDING to capture the booking and trigger fulfillment.

Available options:
PENDING
partnerReferenceId
string
required

Your internal reference ID for this booking (e.g., your order number). Stored on the booking for reconciliation.

Response

Booking captured successfully

bookingId
string

Headout's unique identifier for this booking. Use this for all subsequent operations (capture, cancel, reschedule).

partnerReferenceId
string | null

Your own reference ID for this booking, set when capturing via Update Booking.

variantId
string

The variant (tour option) that was booked.

status
enum<string>

Current lifecycle state of the booking. See Booking Status.

  • UNCAPTURED: Created but not yet captured. Does not lock inventory or price. Auto-expires to CAPTURE_TIMEDOUT after 1 hour.
  • PENDING: Payment captured — confirmed with supplier. Treat as confirmed; show to the customer as a confirmed booking.
  • COMPLETED: Fulfilled — tickets are available in the tickets array.
  • CANCELLED: Cancelled by partner, customer, or Headout.
  • FAILED: Booking failed due to a payment or system error.
  • CAPTURE_TIMEDOUT: Not captured within 1 hour of creation; can no longer be captured.
Available options:
UNCAPTURED,
PENDING,
COMPLETED,
CANCELLED,
FAILED,
CAPTURE_TIMEDOUT
startDateTime
string<date-time>

Scheduled start time for the experience in local time, with no timezone offset (format yyyy-MM-dd'T'HH:mm:ss).

product
object

Summary of the product and variant booked.

customersDetails
object

All customers included in this booking.

variantInputFields
object[] | null

Booking-level input fields applicable to the whole booking.

price
object

Total price paid for this booking.

voucherUrl
string

URL to the booking voucher PDF. Available once the booking reaches PENDING or COMPLETED status.

tickets
object[] | null
seatInfo
object[] | null

Seat assignment details for seatmap-based products. Null for non-seatmap products.

creationTimestamp
integer

Unix epoch timestamp (seconds) when this booking was first created.