OrderReshop
IATA_OrderReshopRQ shops replacement flights or quotes cancellation and name-change impacts for an existing booking. It is the XML counterpart of the JSON reshop order.
POST /ndc/{version}/OrderReshop with version one of v21.3, v24.1, v25.4, or v26.2.
Reshop is the first step of the itinerary change pricing path: OrderReshop → OrderQuote → OrderChange (AcceptRepricedOrder). Offers returned here cannot be priced with OfferPrice. That path rejects them with ERR-3004.
Authorization
Section titled “Authorization”OrderReshop requires full transaction (book) permissions on the API key.
Request
Section titled “Request”Request carries OrderRefID (the record locator) and one UpdateOrder instruction:
ReshopOrder > ReshopOrderChoice > ServiceOrder > AddOfferItems: shop replacement flights for new origin-destination criteria (optionally deleting existing order items).CancelOrderRef: quote cancelling the whole order (penalty and refund).- Name-change instructions: quote a passenger name-change fee.
<?xml version="1.0" encoding="UTF-8"?><IATA_OrderReshopRQ 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> <OrderRefID xmlns="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersCommonTypes">ABC123</OrderRefID> <UpdateOrder xmlns="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersCommonTypes"> <ReshopOrder> <ReshopOrderChoice> <ServiceOrder> <AddOfferItems> <FlightRequest> <FlightRequestOriginDestinationsCriteria> <OriginDestCriteria> <DestArrivalCriteria> <IATA_LocationCode>MCO</IATA_LocationCode> </DestArrivalCriteria> <OriginDepCriteria> <Date>2026-08-01</Date> <IATA_LocationCode>LAX</IATA_LocationCode> </OriginDepCriteria> </OriginDestCriteria> </FlightRequestOriginDestinationsCriteria> </FlightRequest> <PaxList> <Pax> <PaxID>ADT-1</PaxID> <PTC>ADT</PTC> </Pax> </PaxList> </AddOfferItems> </ServiceOrder> </ReshopOrderChoice> </ReshopOrder> </UpdateOrder> </Request></IATA_OrderReshopRQ>Response
Section titled “Response”An IATA_OrderReshopRS. For itinerary shops, ReshopResults.ReshopOffers lists replacement offers with AddedOfferItem rows; ReshopPrice carries new-itinerary availability totals (PriceAndFareDetails); the exact change impact comes from OrderQuote.
<?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> <!-- OriginDestList, PaxJourneyList, PaxSegmentList, PriceClassList, ServiceDefinitionList as in IATA_AirShoppingRS --> </DataLists> <ReshopResults xmlns="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersCommonTypes"> <ReshopOffers> <Offer> <AddedOfferItem> <OfferItemID>OFI-8c1e2f04-9d21-4b7a-b3c2-77c101f1a001-0</OfferItemID> <ReshopPrice> <PriceAndFareDetails> <Price> <TotalAmount CurCode="USD">180</TotalAmount> </Price> </PriceAndFareDetails> </ReshopPrice> </AddedOfferItem> <OfferExpirationTimeLimitDateTime>2026-08-01T12:00:00.000Z</OfferExpirationTimeLimitDateTime> <OfferID>OF-8c1e2f04-9d21-4b7a-b3c2-77c101f1a001</OfferID> <OwnerCode>MX</OwnerCode> </Offer> <!-- ...more Offer elements... --> </ReshopOffers> </ReshopResults> </Response></IATA_OrderReshopRS>For cancellation quotes, the offer instead carries DeleteOrderItem rows with a PriceDifferential (OldPrice, NewPrice, DiffPrice, and DifferentialTypeCode Refund or EvenExchange):
<?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> <ReshopResults xmlns="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersCommonTypes"> <ReshopOffers> <Offer> <OfferID>OF-CX-example</OfferID> <OwnerCode>MX</OwnerCode> <DeleteOrderItem> <ExistingOrderItem> <OrderItemRefID>OOI-FL-example</OrderItemRefID> </ExistingOrderItem> <OfferItemID>OFI-CX-example</OfferItemID> <PriceDifferential> <DifferentialTypeCode>Refund</DifferentialTypeCode> <DiffPrice> <Price> <TotalAmount CurCode="USD">150</TotalAmount> </Price> </DiffPrice> <NewPrice> <Price> <TotalAmount CurCode="USD">180</TotalAmount> </Price> </NewPrice> <OldPrice> <Price> <TotalAmount CurCode="USD">200</TotalAmount> </Price> </OldPrice> </PriceDifferential> </DeleteOrderItem> </Offer> </ReshopOffers> </ReshopResults> </Response></IATA_OrderReshopRS>OrderReshop errors
Section titled “OrderReshop 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-1004 | 400 | Invalid field value. |
ERR-4000 | 404 | Order not found. |
ERR-4002 | 400 | Requested change could not be quoted. |
ERR-4007 | 400 | Journey already flown, or a passenger boarded or no-showed; nothing to cancel or reshop. |
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 | Reshop failed upstream. |