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
paymentfor the quoted amount. Quote it first with reshop (NameChangeinstruction). - 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" },
"phoneNumber": "3855550100",
"phoneCountryCode": "1"
}
}
]
}
Response — 200 OK (contacts section)
{
"data": {
"contacts": [
{
"contactId": "CTC-UA",
"contactTypeCode": "P",
"contactTypeName": "Primary",
"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
changesarray applies in order. - Itinerary changes (different flight or date) are a separate flow: reshop → quote order → change order with
AcceptReshopOffer. ConfirmHoldpluspaymentconfirms a hold booking — walkthrough: Hold and pay.CancelJourneyremoves one journey.
Full schema reference: change order.