OrderQuote
IATA_OrderQuoteRQ prices a reshop offer selected from OrderReshop and returns the change impact as a PriceDifferential. It is the XML counterpart of the JSON quote order. The RS root is IATA_OrderReshopRS.
POST /ndc/{version}/OrderQuote with version one of v21.3, v24.1, v25.4, or v26.2.
Offers from AirShopping must be priced with OfferPrice instead. OrderQuote rejects them with ERR-3005. To commit the quoted change, call OrderChange with AcceptRepricedOrder. It repeats the same journey delete + sell sequence and commits.
Authorization
Section titled “Authorization”OrderQuote requires full transaction (book) permissions on the API key.
Request
Section titled “Request”Payload carries ExistingOrder (OrderID = record locator, OwnerCode MX), the PaxList in scope, and SelectedOffers referencing the reshop OfferRefID and selected OfferItemRefID values.
For symmetric reshops (N deletes, N shop legs), quote each selected per-journey offer separately. For package reshops (delete count ≠ shop leg count, for example round trip to one-way), all offer items of the offer must be selected; partial selection returns ERR-3003.
<?xml version="1.0" encoding="UTF-8"?><IATA_OrderQuoteRQ 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> <Payload> <ExistingOrder xmlns="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersCommonTypes"> <OrderID>ABC123</OrderID> <OwnerCode>MX</OwnerCode> </ExistingOrder> <PaxList xmlns="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersCommonTypes"> <PaxID>ADT-1</PaxID> <PTC>ADT</PTC> </PaxList> <SelectedOffers xmlns="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersCommonTypes"> <OfferRefID>OF-25a8bea9-89f5-41ea-98be-25340131a18b</OfferRefID> <OwnerCode>MX</OwnerCode> <SelectedOfferItem> <OfferItemRefID>OFI-25a8bea9-89f5-41ea-98be-25340131a18b-0</OfferItemRefID> <PaxRefID>ADT-1</PaxRefID> </SelectedOfferItem> </SelectedOffers> </Payload></IATA_OrderQuoteRQ>Response
Section titled “Response”An IATA_OrderReshopRS whose PriceDifferential reflects the live dry-run impact:
OldPrice/NewPrice: booking total before and after the delete + sellDiffPrice: the absolute change in balance due (amount to collect or refund now)DifferentialTypeCode:AddCol,Refund, orEvenExchange
The quote is a dry run; nothing is committed and the booking is left unchanged.
<?xml version="1.0" encoding="UTF-8"?><IATA_OrderReshopRS xmlns="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersMessage"> <Response> <Order xmlns="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersCommonTypes"> <OrderID>ABC123</OrderID> <OwnerCode>MX</OwnerCode> </Order> <DataLists xmlns="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersCommonTypes"> <PaxList> <Pax> <PaxID>ADT-1</PaxID> <PTC>ADT</PTC> </Pax> </PaxList> <!-- journey and segment lists as in IATA_AirShoppingRS --> </DataLists> <ReshopResults xmlns="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersCommonTypes"> <ReshopOffers> <Offer> <AddedOfferItem> <OfferItemID>OFI-25a8bea9-89f5-41ea-98be-25340131a18b-0</OfferItemID> <PriceDifferential> <DifferentialTypeCode>Refund</DifferentialTypeCode> <DiffPrice> <Price> <TotalAmount CurCode="USD">-20</TotalAmount> </Price> </DiffPrice> <NewPrice> <Price> <TotalAmount CurCode="USD">180</TotalAmount> </Price> </NewPrice> <OldPrice> <Price> <TotalAmount CurCode="USD">200</TotalAmount> </Price> </OldPrice> </PriceDifferential> </AddedOfferItem> <OfferID>OF-25a8bea9-89f5-41ea-98be-25340131a18b</OfferID> <OwnerCode>MX</OwnerCode> </Offer> </ReshopOffers> </ReshopResults> </Response></IATA_OrderReshopRS>OrderQuote errors
Section titled “OrderQuote 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-3000 | 404 | Referenced offer could not be found. |
ERR-3001 | 404 | Referenced offer has expired. |
ERR-3003 | 400 | Partial item selection on a package reshop offer. |
ERR-3005 | 400 | Offer came from AirShopping and must be priced with OfferPrice. |
ERR-3008 | 409 | The seller’s contracted fare for the selected journey has not completed pricing verification. |
ERR-4000 | 404 | Order not found. |
ERR-4002 | 400 | Requested change could not be quoted. |
ERR-8000 | 401 | Missing or invalid API key or bearer token. |
ERR-8001 | 403 | API key lacks full transaction permissions. |
ERR-8002 | 503 | Authentication store unavailable. |
ERR-9003 | 500 | Quote failed upstream. |