How to Release a Resort Hold
If a booking is in a HOLD state and you no longer wish to proceed, you can release it. Releasing a hold cancels the pending reservation and frees the room for other guests. This action cannot be undone.
Endpoint
PUT {{apihost}}/resorts/api/v2/itineraries?referencenumber={reference_number}&status=RELEASE
Required Headers
| Header | Value | Required |
|---|---|---|
Content-Type | application/json | Yes |
x-api-key | Your API key | Yes |
x-correlation-id | Unique correlation identifier | Yes |
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
reference_number | string | Yes | The booking reference number from the hold response |
status | string | Yes | Must be "RELEASE" |
Request Body
The request body should be empty.
Example Request
PUT {{apihost}}/resorts/api/v2/itineraries?referencenumber=XRN-2026040100123&status=RELEASE
Example Response
JSON
{
"status": 200,
"data": {
"reference_number": "XRN-2026040100123",
"status": "RELEASED"
}
}Response Fields
| Field | Type | Description |
|---|---|---|
reference_number | string | The booking reference number |
status | string | The updated booking status: "RELEASED" |
When to Release a Hold
Common scenarios where you should release a hold:
- Payment failure — The guest's payment could not be processed after the hold was created.
- Guest cancellation — The guest decides not to proceed before the booking is confirmed.
- Timeout — Your application's internal timeout for completing the booking has elapsed.
- Error in traveler details — Incorrect information was submitted and a new booking needs to be created.
Error Handling
417 — Booking Not in HOLD State
If the booking has already been confirmed, released, or is in another state that does not allow release, the API returns a 417 error:
JSON
{
"message": "Booking is not in HOLD state",
"status": 417
}This occurs when:
- The booking was already confirmed (status:
CONFIRMED) - The booking was already released (status:
RELEASED) - The hold expired automatically
Best Practices
- Release promptly — If you know the booking will not be confirmed, release the hold immediately to free up inventory.
- Check status before releasing — If you are unsure of the current booking state, retrieve the booking details first using the GET booking endpoint to verify it is still in
HOLDstatus. - Handle 417 gracefully — A 417 response does not necessarily indicate an error in your logic. The hold may have expired automatically. Log the response and update your local state accordingly.
- Released bookings are final — Once a hold is released, it cannot be reinstated. The guest would need to go through the full search, availability, pricing, and booking flow again.