Skip to main content

ServiceList

IATA_ServiceListRQ returns priced, selectable ancillary services (SSRs such as bags) for a cached offer or an existing order. It is the XML counterpart of the JSON offer ancillaries and order ancillaries service endpoints.

POST /ndc/{version}/ServiceList with version one of v21.3, v24.4, or v25.4.

Post-booking, services follow the quote-then-change pattern: ServiceList with an OrderIDOrderChange accepting the returned OFI-SR-* offer items.

Request

ServiceListCoreRequest takes either an OfferRequest (pre-booking) or an OrderRequest (post-booking) — the same shape as SeatAvailability.

For an offer

<?xml version="1.0" encoding="UTF-8"?>
<IATA_ServiceListRQ 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>
<Pax xmlns="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersCommonTypes">
<PaxID>ADT-1</PaxID>
<PTC>ADT</PTC>
</Pax>
<ServiceListCoreRequest xmlns="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersCommonTypes">
<OfferRequest>
<Offer>
<OfferID>OF-25a8bea9-89f5-41ea-98be-25340131a18b</OfferID>
<OfferItem>
<OfferItemID>OFI-25a8bea9-89f5-41ea-98be-25340131a18b-0</OfferItemID>
<PaxRefID>ADT-1</PaxRefID>
</OfferItem>
<OwnerCode>MX</OwnerCode>
</Offer>
</OfferRequest>
</ServiceListCoreRequest>
</Request>
</IATA_ServiceListRQ>

For an existing order

<?xml version="1.0" encoding="UTF-8"?>
<IATA_ServiceListRQ 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>
<Pax xmlns="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersCommonTypes">
<PaxID>ADT-1</PaxID>
<PTC>ADT</PTC>
</Pax>
<ServiceListCoreRequest xmlns="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersCommonTypes">
<OrderRequest>
<Order>
<OrderID>ABC123</OrderID>
<OwnerCode>MX</OwnerCode>
</Order>
</OrderRequest>
</ServiceListCoreRequest>
</Request>
</IATA_ServiceListRQ>

Response

ALaCarteOffer lists one OfferItem per service, segment, and passenger, each with a BOO-generated OfferItemID prefixed OFI-SR-. These IDs carry identity only (segment, passenger, SSR code), never price — amounts are recomputed from live booking state on acceptance. Only those generated IDs are valid inside an OrderChange AcceptSelectedQuotedOfferList.

DataLists.ServiceDefinitionList names each service (ServiceCode is the SSR code).

<?xml version="1.0" encoding="UTF-8"?>
<IATA_ServiceListRS xmlns="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersMessage">
<Response>
<ALaCarteOffer xmlns="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersCommonTypes">
<OfferID>ALC-SR-example</OfferID>
<OfferItem>
<Eligibility>
<OfferFlightAssociations>
<PaxSegmentReferences>
<PaxSegmentRefID>SEG-example</PaxSegmentRefID>
</PaxSegmentReferences>
</OfferFlightAssociations>
<PaxRefID>ADT-1</PaxRefID>
</Eligibility>
<OfferItemID>OFI-SR-example</OfferItemID>
<Service>
<ServiceDefinitionRefID>SD-SR-example</ServiceDefinitionRefID>
<ServiceID>SVC-SR-example</ServiceID>
</Service>
<UnitPrice>
<TotalAmount CurCode="USD">35</TotalAmount>
</UnitPrice>
</OfferItem>
<!-- one OfferItem per service, segment, and passenger -->
<OwnerCode>MX</OwnerCode>
</ALaCarteOffer>
<DataLists xmlns="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersCommonTypes">
<PaxList>
<Pax>
<PaxID>ADT-1</PaxID>
<PTC>ADT</PTC>
</Pax>
</PaxList>
<PaxSegmentList>
<PaxSegment>
<DatedMarketingSegmentRefId>DMS-example</DatedMarketingSegmentRefId>
<PaxSegmentID>SEG-example</PaxSegmentID>
</PaxSegment>
</PaxSegmentList>
<ServiceDefinitionList>
<ServiceDefinition>
<Name>First checked bag</Name>
<OwnerCode>MX</OwnerCode>
<ServiceCode>BAG1</ServiceCode>
<ServiceDefinitionID>SD-SR-example</ServiceDefinitionID>
</ServiceDefinition>
</ServiceDefinitionList>
</DataLists>
</Response>
</IATA_ServiceListRS>

ServiceList errors

CodeHTTP statusCause
ERR-1000400Malformed XML.
ERR-1002404Unsupported version segment in the path.
ERR-1003400Missing required element.
ERR-1004400Invalid field value.
ERR-3000404Referenced offer could not be found.
ERR-3001404Referenced offer has expired.
ERR-3002400One or more offer items not found on the offer.
ERR-4000404Referenced order not found.
ERR-8000401Missing or invalid API key or bearer token.
ERR-8001403API key not authorized for this request.
ERR-8002503Authentication store unavailable.
ERR-9003500Service lookup failed upstream.