Skip to main content
Seyaha calls DELETE /bookings/{reservationCode} to release a hold in three situations:
  • The customer abandons checkout before completing payment
  • Payment fails and the hold needs to be freed
  • The reservation expiresAt time passes and Seyaha’s sweep job cleans it up
The reservationCode path parameter is the reservationConfirmationCode you returned from POST /bookings/reserve.

Request

Seyaha also sends the code in the request body for compatibility:

Path parameter

Request body (optional)


Response

Response body


Full flow example


Implementation notes

If you receive a DELETE for a code you don’t recognise (e.g. it already expired on your side), return 200 with success: true anyway. Seyaha treats 404 or 500 as errors and will retry, which creates unnecessary noise.
  • Timeout: 10 seconds
  • Restore the slot’s vacancies immediately when a hold is released so other customers can book it.
  • Implement idempotency — calling DELETE multiple times for the same code should always return 200.