A reservation is one unit at one property, inside a booking. Each has its own RS-… ID, status, guests, price and policies.
| Call | Purpose |
|---|---|
GET /v2/bookings/{booking_id}/reservations/{reservation_id} | Retrieve one reservation |
POST /v2/bookings/{booking_id}/reservations/{reservation_id}/modification-offers | Get offers for changing a reservation's dates |
PUT /v2/bookings/{booking_id}/reservations/{reservation_id} | Apply a modification offer |
DELETE /v2/bookings/{booking_id}/reservations/{reservation_id} | Cancel (Cancellation) |
Changing dates (modification)
A modification is a two-step flow, done per reservation.
1. Ask for modification offers
POST /v2/bookings/BK-BQLPC7ZB/reservations/RS-Y6MXARWD/modification-offers
{ "check_in": "2026-08-05", "check_out": "2026-08-08" }The response contains the offers for the new dates. Each has an id, price and rate_plan with the new policies.
- Same unit and rate: the modified reservation keeps the same unit type and rate plan. Only the dates and price change.
- Empty list: there is no availability for the new dates.
The request can be rejected with 422 when the reservation can't be modified:
- The stay has already started.
- The rate is non-refundable.
- The hotel's system doesn't support modifications.
- The dates are unchanged.
2. Apply the modification
PUT /v2/bookings/BK-BQLPC7ZB/reservations/RS-Y6MXARWD
{
"offer_id": "fb2bc6ee-423a-4281-947b-07b8c09ff5b6",
"payment": { "type": "visa", "card_number": "4111111111111111", "cvv": "123",
"card_holder": "John Doe", "expiry_month": "11", "expiry_year": "2028" }
}paymentis required. Send full card details including CVV. It doesn't have to be the card used for the original booking.- Response: the updated reservation, with its new dates and price.
- Offers are tied to their reservation. A modification offer can only be applied to the reservation it was requested for. To change dates for a multi-unit booking, request offers for each reservation separately.
| Error | Meaning |
|---|---|
400 Invalid Body provided | Malformed JSON, or a field has the wrong type (all payment fields are strings) |
| 400 with validation messages | Missing offer_id or payment, invalid card expiry, etc. |
404 Modification offer could not be found | Offer expired or belongs to another reservation; request new modification offers |
404 Not found | Unknown booking or reservation |
Guests
guests on a reservation are the people staying in that unit.
- Send at least one guest per reservation.
- Send no more guests than the adults + children you searched for in that unit.
- First and last name are required. All other guest fields are optional.
See Booking → Customer and guest data for formats and per-hotel limits.