Partner Booking API · v1

LeisureHub Playground

Walk the full flow: tickets → availability → booking → Stripe payment → status → cancel. Every call is logged on the right.

x-api-key (required)
Enter your key to make any call.
Price override: unknown — load tickets
1

GET /tickets

All active online tickets. Upgrades and staff tickets are excluded.

2

GET /availability

Start times every 15 min, respecting opening hours and capacity. Empty = closed.

3

POST /bookings

Creates a pending booking held for 30 minutes and returns a Stripe payment_url.

Preview request body
{
  "ticket_id": "",
  "quantity": 2,
  "date": "2026-11-08",
  "customer": {
    "first_name": "Ann",
    "last_name": "Smit"
  },
  "partner_reference": "ORDER-2859"
}
4

GET /bookings/{id} · POST /bookings/{id}/cancel

Check status any time. Only unpaid bookings can be cancelled (paid → 409).

Addresses to give LeisureHub

Return address
/thanks
Notification address
/api/public/leisurehub-webhook

Error codes

  • 400 Field missing or wrong format
  • 401 API key missing, unknown or off
  • 403 Price override not allowed for this key
  • 404 Unknown ticket or booking
  • 409 Time unavailable, closed, no capacity, or can't cancel
  • 500 Unexpected problem