OrderRetrieve
IATA_OrderRetrieveRQ retrieves a booking by order ID. Bookings do not need to originate from our API to be retrievable. In other words, a booking made over EDIFACT on a GDS could be retrieved over API as long as the request is from the originating agency.
This endpoint is the XML counterpart of the JSON order retrieve.
POST /ndc/{version}/OrderRetrieve with version one of v21.3, v24.1, v25.4, or v26.2.
Read-only API keys can retrieve orders; full transaction permissions are not required.
Request
Section titled “Request”OrderValidationFilterCriteria > OrderFilterCriteria with OrderID (record locator) and OwnerCode MX.
<?xml version="1.0" encoding="UTF-8"?><IATA_OrderRetrieveRQ 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> <OrderValidationFilterCriteria xmlns="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersCommonTypes"> <OrderFilterCriteria> <OrderID>ABC123</OrderID> <OwnerCode>MX</OwnerCode> </OrderFilterCriteria> </OrderValidationFilterCriteria> </Request></IATA_OrderRetrieveRQ>Response
Section titled “Response”An IATA_OrderViewRS, the same shape returned by OrderCreate and OrderChange. Optional fields without an upstream source are absent.
<?xml version="1.0" encoding="UTF-8"?><IATA_OrderViewRS xmlns="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersMessage"> <Response> <DataLists xmlns="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersCommonTypes"> <ContactInfoList> <!-- Contacts listed without a ContactInfoRefID are associated with the entire order. A ContactInfoRefID value indicates an association to a specific passenger. --> </ContactInfoList> <PaxList> <Pax> <Individual> <GivenName>Jane</GivenName> <Surname>Doe</Surname> </Individual> <PaxID>PAX-example</PaxID> <PTC>ADT</PTC> </Pax> </PaxList> <!-- OriginDestList, PaxJourneyList, PaxSegmentList, DatedMarketingSegmentList, DatedOperatingSegmentList, DatedOperatingLegList, PriceClassList, ServiceDefinitionList, BaggageAllowanceList (present when bags are booked; bag service definitions link to it via ServiceDefinitionAssociation/BaggageAllowanceRef) --> </DataLists> <Order xmlns="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersCommonTypes"> <OrderID>ABC123</OrderID> <OrderItem> <FareDetail> <FareComponent> <PaxSegmentRefID>SEG-example</PaxSegmentRefID> </FareComponent> <PaxRefID>PAX-example</PaxRefID> </FareDetail> <OrderItemID>OOI-FL-example</OrderItemID> <Price> <BaseAmount CurCode="USD">91.5</BaseAmount> <TaxSummary> <TotalTaxAmount CurCode="USD">7.5</TotalTaxAmount> </TaxSummary> <TotalAmount CurCode="USD">99</TotalAmount> </Price> <StatusCode>ACTIVE</StatusCode> <!-- purchased ancillaries appear as further OrderItem / Service entries --> </OrderItem> <StatusCode>OPENED</StatusCode> <TotalPrice> <BaseAmount CurCode="USD">91.5</BaseAmount> <TaxSummary> <TotalTaxAmount CurCode="USD">7.5</TotalTaxAmount> </TaxSummary> <TotalAmount CurCode="USD">99</TotalAmount> </TotalPrice> </Order> <!-- TicketDocInfo elements when tickets exist; Warning elements when applicable --> </Response></IATA_OrderViewRS>OrderRetrieve errors
Section titled “OrderRetrieve errors”| Code | HTTP status | Cause |
|---|---|---|
ERR-1000 | 400 | Malformed XML. |
ERR-1002 | 404 | Unsupported version segment in the path. |
ERR-1003 | 400 | Missing required element. |
ERR-4000 | 404 | Order not found. |
ERR-8000 | 401 | Missing or invalid API key or bearer token. |
ERR-8001 | 403 | API key not authorized for this request. |
ERR-8002 | 503 | Authentication store unavailable. |
ERR-9000 | 503 | A required service is unavailable. |
ERR-9003 | 500 | Booking lookup failed upstream. |