Skip to content
Last updated

Modify an order

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.


Overview

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).

Important

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.

Supported modifications by payment timing:

Modification typePay at the propertyOnline 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

Before you begin

  • 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.

Preview modifications (v3.3)

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.

Submit a modification

Send a request to orders/modify endpoint with the following fields:

Field
Description
orderID of the order to modify.
modification.paymentUse for payment card changes. Include type set to card and a change object containing the new card details.
modification.accommodationUse for date or room changes. Include the reservation ID, type (dates or room) and the corresponding change object.

Modify payment card details

To update the payment card for an eligible reservation:

  1. Use the modification.payment object.
  2. Set type to "card".
  3. Include the following fields in the change object:
  • 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.

Example request - Update payment card

{
  "order": "4334069995",
  "modification": {
    "payment": {
      "type": "card",
      "change": {
        "number": "4111111111111111",
        "cvc": "737",
        "cardholder": "Jon Snow",
        "expiry_date": "2030-03"
      }
    }
  }
}

Example response - Payment card updated

{
  "modifications": {
    "payment": {
      "status": "successful"
    }
  }
}

For payment card guidance, see Credit card payments.

Modify check-in and check-out dates

To change the stay dates:

  1. Use the modification.accommodation to modify the dates.
  2. Include the reservation ID.
  3. Set type to "dates".
  4. Provide both checkin and checkout in YYYY-MM-DD format in change.
Price changes

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.

Example request - Change stay dates

{
  "order": "4297204980",
  "modification": {
    "accommodation": {
      "reservation": "4297204980",
      "type": "dates",
      "change": {
        "checkin": "2026-10-20",
        "checkout": "2026-10-21"
      }
    }
  }
}

Example response - Dates modified (standard format)

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.

Modifying room details

You can update guest names, the number of adults allocated to a room and smoking preferences.

  1. Use the modification.accommodation.
  2. Set type to room.
  3. In the change object, specify:
  • room_reservation ID (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.

Example request - Update room details

{
  "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"
      }
    }
  }
}

Example response - Room modified

{
  "data": {
    "modification": {
      "accommodation": {
        "status": "successful"
      }
    }
  },
  "request_id": "UmFuZG9tSVYkc2RlIyh9YUdRpaDGn9Pw2aEu"
}

Important considerations

  • 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.

Understand modification responses (v3.3)

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
FieldsInterpretation
StandardstatusOverall outcome of the modification: successful or failed.
Detailedmodification_status, payment_status, messageSeparate 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.

Standard response: Modification 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.

Detailed response: Modification and payment successful

{
  "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.

Detailed response: Modification successful, payment pending

{
  "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.

Detailed response: Modification successful, payment failed

{
  "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.

Interpret the status fields

Field
Possible valuesMeaning
statussuccessful, failedOverall modification outcome in the standard format.
modification_statussuccessful, failedAccommodation modification outcome in the detailed format.
payment_statussuccessful, failed, pendingPayment processing outcome in the detailed format.
messageStringHuman-readable context about the detailed outcome.
new_priceNumberPrice returned after the modification; confirm whether it is the updated reservation total or an additional amount payable.

Price adjustments and follow-up checks

Modifying dates or room occupancy may affect the reservation price. To avoid unexpected costs:

  1. Use the accommodations/availability endpoint to review current availability and prices before submitting the modification.
  2. Review the modification response to determine whether the change succeeded and, if present, whether payment succeeded.
  3. For a pending or failed payment, use /orders/details to check its current status, as described in the new 3.3 response guidance.
  4. 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.


Troubleshoot order modifications

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.


Curious to know more?
  • 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.