Change an order (XML)
Fix passenger details on an existing booking with a single OrderChange:
POST /ndc/v21.3/OrderChange
This continues from the order created in Make a test booking. Examples were captured live on v21.3; v25.4 is identical apart from the URL segment and the response <VersionNumber>.
Update a passenger
ChangeOrderChoice > UpdatePax names the passenger to change; DataLists.PaxList carries the passenger's complete new state (not a sparse patch — send every Individual field):
IATA_OrderChangeRQ
<?xml version="1.0" encoding="UTF-8"?>
<IATA_OrderChangeRQ xmlns="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersMessage">
<DistributionChain>
<DistributionChainLink xmlns="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersCommonTypes">
<Ordinal>1</Ordinal>
<OrgRole>Seller</OrgRole>
<ParticipatingOrg>
<OrgID>BZ</OrgID>
</ParticipatingOrg>
</DistributionChainLink>
<DistributionChainLink xmlns="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersCommonTypes">
<Ordinal>2</Ordinal>
<OrgRole>Carrier</OrgRole>
<ParticipatingOrg>
<OrgID>MX</OrgID>
</ParticipatingOrg>
</DistributionChainLink>
</DistributionChain>
<Request>
<ChangeOrderChoice xmlns="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersCommonTypes">
<UpdatePax>
<Current>
<PaxRefID>ADT-1</PaxRefID>
</Current>
</UpdatePax>
</ChangeOrderChoice>
<DataLists xmlns="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersCommonTypes">
<PaxList>
<Pax>
<Individual>
<Birthdate>1980-03-01</Birthdate>
<GenderCode>M</GenderCode>
<GivenName>John</GivenName>
<Surname>Doe</Surname>
</Individual>
<PaxID>ADT-1</PaxID>
<PTC>ADT</PTC>
</Pax>
</PaxList>
</DataLists>
<Order xmlns="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersCommonTypes">
<OrderID>MXYTG780SE6I</OrderID>
<OwnerCode>MX</OwnerCode>
</Order>
</Request>
</IATA_OrderChangeRQ>
The response is the full updated IATA_OrderViewRS; the passenger reflects the change:
IATA_OrderViewRS — 200 OK (pax section)
<PaxList>
<Pax>
<ContactInfoRefID>CTC-UA</ContactInfoRefID>
<Individual>
<Birthdate>1980-03-01</Birthdate>
<GenderCode>M</GenderCode>
<GivenName>John</GivenName>
<IndividualID>PAX-QURULTE</IndividualID>
<Surname>Doe</Surname>
</Individual>
<PaxID>ADT-1</PaxID>
<PTC>ADT</PTC>
</Pax>
</PaxList>
Other changes on the same endpoint
- Update the booking contact —
DataLists.ContactInfoListalone (noChangeOrderChoice): oneContactInforeplaces the primary; it needs anIndividualname, and other contact types are rejected. See contacts. - Name changes may carry a fee depending on fare rules. When they do, add
PaymentFunctionsfor the quoted amount. Quote first with OrderReshop's name-change instruction. - Confirm a hold —
PaymentFunctionswith noChangeOrderChoicepays the outstanding balance. Walkthrough: Hold and pay. - Itinerary changes (different flight or date) are a separate flow: OrderReshop → OrderQuote → OrderChange accepting the quoted reshop offer.
- A loyalty number must be a real member number matching the passenger's name. An unrecognized number is rejected with
ERR-7008(422).
Full schema reference: OrderChange.