Skip to main content

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 contactDataLists.ContactInfoList alone (no ChangeOrderChoice): one ContactInfo replaces the primary; it needs an Individual name, and other contact types are rejected. See contacts.
  • Name changes may carry a fee depending on fare rules. When they do, add PaymentFunctions for the quoted amount. Quote first with OrderReshop's name-change instruction.
  • Confirm a holdPaymentFunctions with no ChangeOrderChoice pays the outstanding balance. Walkthrough: Hold and pay.
  • Itinerary changes (different flight or date) are a separate flow: OrderReshopOrderQuote → 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.