v3.2 v3.3
Learn how to use /orders/modify to update payment card details, stay dates and room-level details for existing accommodation reservations. This guide covers supported modifications, request examples, response formats and error handling.
Use the orders/modify endpoint to update specific details within an existing accommodation reservation.
You can use this endpoint to change the following elements:
✅ Credit card details.
✅ Checkin and checkout dates.
✅ Room-level details (guest allocation, guest names, and smoking preferences).
Submit one modification type per request: card, dates or room. Do not combine different modification types in a single request. Allow at least five minutes between modification requests for the same order to avoid conflicts.
| Modification type | Pay at the property | Online payments |
|---|---|---|
| Payment card details | ✅ Supported | ❌ Not supported |
| Check-in and check-out dates | ✅ Supported | ✅ Supported (v3.3) |
| Room-level details (guest allocation, guest names, smoking preferences) | ✅ Supported | ✅ Supported |
- You need the order ID and, for accommodation modifications, the accommodation reservation ID.
- For room-level changes, you also need the room reservation ID.
- Use /orders/details/accommodations to retrieve the reservation and room reservation identifiers and verify the current reservation details.
Before applying your changes, you can optionally validate and estimate changes before applying them.
If available to your integration, use /orders/modify/preview before /orders/modify.
See the Preview order modifications guide for details.
Send a request to orders/modify endpoint with the following fields:
Field | Description |
|---|---|
order | ID of the order to modify. |
modification.payment | Use for payment card changes. Include type set to card and a change object containing the new card details. |
modification.accommodation | Use for date or room changes. Include the reservation ID, type (dates or room) and the corresponding change object. |
To update the payment card for an eligible reservation:
- Use the
modification.paymentobject. - Set
typeto"card". - Include the following fields in the
changeobject:
number: The new credit card number.cvc: The card’s CVC code (3–4 digits).cardholder: The cardholder's name.expiry_date: The card's expiry date in YYYY-MM format.
{
"order": "4334069995",
"modification": {
"payment": {
"type": "card",
"change": {
"number": "4111111111111111",
"cvc": "737",
"cardholder": "Jon Snow",
"expiry_date": "2030-03"
}
}
}
}{
"modifications": {
"payment": {
"status": "successful"
}
}
}
For payment card guidance, see Credit card payments.
To change the stay dates:
- Use the
modification.accommodationto modify the dates. - Include the
reservationID. - Set
typeto"dates". - Provide both
checkinandcheckoutin YYYY-MM-DD format inchange.
Changing stay dates may affect the reservation price.
- Check availability and pricing using accommodations/availability before submitting a modification.
- A modification that requires payment processing may return separate modification and payment statuses.
{
"order": "4297204980",
"modification": {
"accommodation": {
"reservation": "4297204980",
"type": "dates",
"change": {
"checkin": "2026-10-20",
"checkout": "2026-10-21"
}
}
}
}In the case of dates modification, the response includes the new price for the modified reservation.
{
"data": {
"modification": {
"accommodation": {
"new_price": 78.25,
"status": "successful"
}
}
},
"request_id": "UmFuZG9tSVYkc2RlIyh9YV3CugMXEW9cxCXzj8lTlg8gbGIrozNJUJEQ1pFr+WkAk9uAy/KRmk5J3xi9Yw1h0Xy4jTiofhCe/XCmws8MfGEjI253Pagi+Q=="
}When payment processing is involved, the endpoint may return the detailed response format instead. See Understand modification responses.
You can update guest names, the number of adults allocated to a room and smoking preferences.
- Use the
modification.accommodation. - Set
typetoroom. - In the
changeobject, specify:
room_reservationID (string).guests.name- Update the guest name.allocation.number_of_adults- update number of adults.smoking_preference- Modify the smoking preference for the room ("smoking", "non_smoking", or "no_preference").
Use /orders/details/accommodations endpoint to retrieve the room_reservation IDs located under "products" in each object. The room_reservation ID is required for all room-level modifications.
{
"order": "5000375899",
"modification": {
"accommodation": {
"reservation": "5000375899",
"type": "room",
"change": {
"room_reservation": "5448643068",
"allocation": {
"number_of_adults": 2
},
"guests": [
{ "name": "John Doe" },
{ "name": "Jenny Doe" }
],
"smoking_preference": "smoking"
}
}
}
}
{
"data": {
"modification": {
"accommodation": {
"status": "successful"
}
}
},
"request_id": "UmFuZG9tSVYkc2RlIyh9YUdRpaDGn9Pw2aEu"
}- Separate requests per modification type - Room, card, and date updates must be done in separate requests. Ensure you only modify one aspect at a time.
- Room-level updates - These apply to individual room reservations, not the entire booking.
- Wait time - Allow at least 5 minutes between modification requests to the same order to prevent conflicts.
- Check payment outcomes - When the detailed response is returned, check both modification and payment statuses. A successful modification does not necessarily mean payment succeeded.
The 3.3 accommodation modification response can use either of two formats. Always inspect the fields returned rather than assuming that an HTTP 200 response means the requested modification succeeded.
Format | Fields | Interpretation |
|---|---|---|
| Standard | status | Overall outcome of the modification: successful or failed. |
| Detailed | modification_status, payment_status, message | Separate outcomes for the accommodation modification and associated payment processing. |
The detailed format is used for modifications requiring payment processing, such as a date change that increases the reservation price. The booking modification may succeed even if payment is still pending or has failed.
{
"modification": {
"accommodation": {
"status": "failed"
}
}
}A failed status means the modification did not succeed. Check the reservation's current details before deciding whether to submit another request.
{
"modification": {
"accommodation": {
"modification_status": "successful",
"payment_status": "successful",
"message": "Modification and payment completed successfully.",
"new_price": 181.44
}
}
}Both the accommodation modification and payment have succeeded.
{
"modification": {
"accommodation": {
"modification_status": "successful",
"payment_status": "pending",
"message": "Modification was successful but the payment is pending. Check the payment status using /orders/details.",
"new_price": 181.44
}
}
}The modification succeeded, but payment processing is not complete.
Check the latest payment status using /orders/details before treating payment as completed.
{
"modification": {
"accommodation": {
"modification_status": "successful",
"payment_status": "failed",
"message": "Modification was successful but the payment failed. Check the payment status using orders/details.",
"new_price": 181.44
}
}
}The modification succeeded, but the payment failed.
- Use /orders/details to check the current payment status and follow the appropriate payment recovery process for your integration.
- Do not interpret
modification_status: "successful"as confirmation that payment succeeded.
Field | Possible values | Meaning |
|---|---|---|
status | successful, failed | Overall modification outcome in the standard format. |
modification_status | successful, failed | Accommodation modification outcome in the detailed format. |
payment_status | successful, failed, pending | Payment processing outcome in the detailed format. |
message | String | Human-readable context about the detailed outcome. |
new_price | Number | Price returned after the modification; confirm whether it is the updated reservation total or an additional amount payable. |
Modifying dates or room occupancy may affect the reservation price. To avoid unexpected costs:
- Use the accommodations/availability endpoint to review current availability and prices before submitting the modification.
- Review the modification response to determine whether the change succeeded and, if present, whether payment succeeded.
- For a pending or failed payment, use /orders/details to check its current status, as described in the new 3.3 response guidance.
- If the requested change cannot be made at an acceptable price, assess whether cancellation and a new booking are appropriate under the applicable policies.
See the Accommodation quick guide for usage examples.
Modification requests may fail because of invalid reservation details, unsupported changes or room restrictions.
If the modification fails, check the returned status or error message to identify the issue before submitting another request.
See the Troubleshoot order modifications guide for common errors, example responses and recommended solutions.
- Orders details — Retrieve order and reservation details to verify the current booking state.
- Cancel your orders — Learn how to cancel an existing order when a modification is not possible.
- Error handling — Understand general Demand API errors and troubleshooting practices.