Learn how to use the /orders/modify/preview endpoint to check and validate changes in accommodation orders. This guide outlines required parameters, and practical examples to validate accommodation dates, room details or payment modifications.
Use the /orders/modify/preview endpoint to check whether a requested modification can be applied to an order and review its impact before confirming the change.
This endpoint does not apply any changes.
Use the preview endpoint to:
✅ Validate whether a modification is allowed before attempting it.
✅ Avoid failed modification requests.
✅ Show users the expected cost impact (for accommodation date changes)
Use this endpoint as an optional step before modifying an order:
- Call /orders/modify/preview.
- Check the
modifiablefield in the response. - If true, proceed with /orders/modify.
Preview → Validate → Modify
The endpoint supports previewing the following changes:
| Modification type | Field to include in modification object | |
|---|---|---|
| Payment | Card details | type: card |
| Accommodation | Check-in and check-out dates | type: dates |
Accommodation | Room-level details (guest allocation, guest names, smoking preferences) |
|
When making a request to the orders/modify/preview endpoint, you must include:
The request body always includes:
| Required | Parameter | Description |
|---|---|---|
| ✓ | order | The order ID (string) of the booking to modify. |
| ✓ | modification | Object containing the modification details, either:
|
To check whether modifications in the payment card is possible:
- Use the
modification.paymentobject. - Set
typeto"card". - Include a
"change"object with:
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": "6520081014",
"modification": {
"payment": {
"type": "card",
"change": {
"cardholder": "John Doe",
"number": "4111111111111111",
"expiry_date": "2027-12",
"cvc": "123"
}
}
}
}Refer to the Credit card payments section for best practices when using cards as payment method.
To check whether an accommodation date modification is possible:
- Use the
modification.accommodationobject to modify the dates. - Include the
reservationID. - Set
typeto"dates". - Include the new dates in
change(checkin and checkout) using YYYY-MM-DD format.
Modifying dates may change the total price. Check the current and new price in the response.
{
"order": "4297204980",
"modification": {
"accommodation": {
"reservation": "4297204980",
"type": "dates",
"change": {
"checkin": "2026-10-20",
"checkout": "2026-10-21"
}
}
}
}To check whether it is possible to update room-level details such as guest names, allocation, or smoking preferences:
- Use the
modification.accommodation. - Set
typetoroom. - Include the
reservationID. - In the
changeobject, specify:
room_reservationID (string).guests[].name- Update the guest name(s).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": "Test Test" },
{ "name": "Test2 Test" }
],
"smoking_preference": "smoking"
}
}
}
}
All responses include:
request_id– Unique identifier for the request.data.modifiable– Indicates whether the modification can be applied.
{
"data": {
"modifiable": false,
"reason": "Modification not allowed for this reservation since this order has been cancelled."
}
}- The modification cannot be applied.
- The reason field explains why.
{
"data": {
"modifiable": true
}
}- The modification can be applied.
- You can proceed with /orders/modify
For date changes, the response includes updated pricing:
{
"data": {
"modifiable": true,
"price": {
"currency": "EUR",
"current": {
"amount": 200.00
},
"new": {
"amount": 250.00
}
}
}
}Use this to:
- Show users the updated total cost.
- Highlight any price difference before confirmation.
Note: price is only included for accommodation date modifications.
If modifiable = false
- Do not call /orders/modify endpoint.
- Display the
reasonto the user.
If modifiable = true
- Proceed with /orders/modify endpoint.
- Optionally display updated pricing (if available)
- Price information is only returned for accommodation date changes.
- Not all modification scenarios may be supported.
- Behaviour and response fields may change as this endpoint is in Beta.
- Refer to the orders/modify guide to learn how to proceed the modifications.
- Find likely errors in the Error handling guide.
- Check the Cancellations guide in case you need to cancel the order instead.