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
expiresAttime passes and Seyaha’s sweep job cleans it up
reservationCode path parameter is the reservationConfirmationCode you returned
from POST /bookings/reserve.
Request
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.
