Skip to main content

Change an order (JSON)

Fix passenger details and replace a booking contact. Both use the same endpoint:

PATCH /json/v2/orders/{orderId}

This continues from the order created in Make a test booking. Every request and response was captured live against the test environment.

Update a passenger

Send an UpdatePassenger change with a patch containing only the fields to change — here the date of birth:

Request
{
"changes": [
{
"type": "UpdatePassenger",
"passengerId": "ADT-1",
"patch": { "dateOfBirth": "1980-03-01" }
}
]
}

The response is the full updated order view; the passenger record reflects the patch:

Response — 200 OK (pax section)
{
"data": {
"pax": [
{
"paxId": "ADT-1",
"ptc": "ADT",
"name": { "givenName": "Jane", "surname": "Doe" },
"dateOfBirth": "1980-03-01",
"genderCode": "F",
"contactRefId": "CTC-UA"
}
]
// … order, services, contacts, journeys, payments elided …
},
"error": null
}

The patch also accepts name, gender, nationality, residenceCountry, loyaltyProgram, and travelDocuments.

Name changes and loyalty numbers
  • A name change may carry a fee depending on the fare rules. When it does, the change requires payment for the quoted amount. Quote it first with reshop (NameChange instruction).
  • A loyalty number must be a real member number matching the passenger's name. A mismatched or unrecognized number is rejected with ERR-7008 (422).

Update a booking contact

An UpdateContact change replaces the primary booking contact — see contacts. The replacement must be complete, including the contact name (the reservation system rejects a nameless replace):

Request
{
"changes": [
{
"type": "UpdateContact",
"contact": {
"name": { "givenName": "Jane", "surname": "Doe" },
"emailAddress": "[email protected]",
"phoneNumber": "3855550100",
"phoneCountryCode": "1"
}
}
]
}
Response — 200 OK (contacts section)
{
"data": {
"contacts": [
{
"contactId": "CTC-UA",
"contactTypeCode": "P",
"contactTypeName": "Primary",
"emailAddress": "[email protected]",
"phoneNumbers": [
{ "number": "+13855550100", "type": "Other" }
],
"name": { "givenName": "Jane", "surname": "Doe" }
}
]
// … order, services, pax, journeys, payments elided …
},
"error": null
}

Notes

  • Several changes can travel in one request — the changes array applies in order.
  • Itinerary changes (different flight or date) are a separate flow: reshopquote order → change order with AcceptReshopOffer.
  • ConfirmHold plus payment confirms a hold booking — walkthrough: Hold and pay. CancelJourney removes one journey.

Full schema reference: change order.