Skip to main content

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.4, or v25.4.

Offers from AirShopping must be priced with OfferPrice instead — OrderQuote rejects them with ERR-3005. To commit the quoted change, call OrderChange with AcceptReshopOffer — it repeats the same journey delete + sell sequence and commits.

Authorization

OrderQuote requires full transaction (book) permissions on the API key.

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

An IATA_OrderReshopRS whose PriceDifferential reflects the live dry-run impact:

  • OldPrice / NewPrice — booking total before and after the delete + sell
  • DiffPrice — the absolute change in balance due (amount to collect or refund now)
  • DifferentialTypeCodeAddCol, Refund, or EvenExchange

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

CodeHTTP statusCause
ERR-1000400Malformed XML.
ERR-1002404Unsupported version segment in the path.
ERR-1003400Missing required element.
ERR-3000404Referenced offer could not be found.
ERR-3001404Referenced offer has expired.
ERR-3003400Partial item selection on a package reshop offer.
ERR-3005400Offer came from AirShopping and must be priced with OfferPrice.
ERR-4000404Order not found.
ERR-4002400Requested change could not be quoted.
ERR-8000401Missing or invalid API key or bearer token.
ERR-8001403API key lacks full transaction permissions.
ERR-8002503Authentication store unavailable.
ERR-9003500Quote failed upstream.