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 + 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
| 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-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. |