Skip to main content
Seyaha calls POST /bookings/confirm after a successful payment. This converts the temporary hold (created by POST /bookings/reserve) into a confirmed booking on your platform.

Request

Request body


Response

Response body


Ticket delivery

If you registered your integration with handles_ticket_delivery: true, include a tickets array in this response. Seyaha stores the delivery options and forwards them to the customer.

Ticket object

Delivery option object


Implementation notes

externalBookingId must be permanent and unique. Seyaha stores it immediately and uses it as the key when calling POST /bookings/{externalBookingId}/cancel. Never reuse booking IDs, even for cancelled bookings.
If confirm fails (e.g. the hold expired between payment and confirm), Seyaha logs the error but does not reverse the payment. The booking is marked as paid on Seyaha’s side. You should handle this case gracefully — either still confirm the booking or contact Seyaha support to reconcile.
  • Timeout: 5 seconds (HEALTHY) / 10 seconds (DEGRADED)
  • If you cannot find the reservationConfirmationCode, return 400 with a descriptive message.
  • Seyaha calls this endpoint once per booking — do not create duplicate bookings if called more than once with the same code.