Air Shopping
A seller will initiate shopping by submitting an IATA_AirShoppingRQ message which provides parameters for shopping. An IATA_AirShoppingRQ is an anonymous request. Navitaire NDC Gateway will return an IATA_AirShoppingRS with the available flight offers and applicable included services.
Access flight booking options through IATA’s NDC standards for enhanced distribution.
POST: v21.3/AirShopping
Header Type | Header | Value |
---|---|---|
Sample RQ Header | HTTP Method | POST |
URL | v21.3/AirShopping | |
Headers | Ocp-Apim-Subscription-Key Authorization | |
HTTP Version | HTTP/1.1 | |
Content Type | Application/Xml; Charset=Utf-8 | |
Host | client.ndc.navitaire.com | |
Content Length | 2101 | |
Expect | 100-continue | |
Accept-Encoding | gzip, deflate | |
Connection | Keep Alive | |
Sample RS Header | HTTP Version & Status Code | HTTP/1.1 200 OK |
Content-Type | Application/Xml; Charset=Utf-8 | |
Cache-Control | Private | |
Content-Encoding | gzip | |
Vary | Accept Encoding | |
Accept | application/JSON |
Below is an example of an XML snippet
Air Shopping Request
Below is a sample XML request of the Aviation APIs:
<IATA_AirShoppingRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 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> <Name>6E Travel</Name> <OrgID>TESTAPI</OrgID> </ParticipatingOrg> </DistributionChainLink> </DistributionChain> <PayloadAttributes> <VersionNumber xmlns="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersCommonTypes">21.3</VersionNumber> </PayloadAttributes> <POS> <Country xmlns="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersCommonTypes"> <CountryCode>IN</CountryCode> <CountryName>India</CountryName> </Country> </POS> <Request> <FlightRequest xmlns="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersCommonTypes"> <FlightRequestOriginDestinationsCriteria> <OriginDestCriteria><DestArrivalCriteria> <IATA_LocationCode>COK</IATA_LocationCode> </DestArrivalCriteria> <OriginDepCriteria> <Date>2025-10-19</Date> <IATA_LocationCode>AGX</IATA_LocationCode> </OriginDepCriteria> </OriginDestCriteria> </FlightRequestOriginDestinationsCriteria> </FlightRequest> <PaxList xmlns="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersCommonTypes"> <Pax> <PaxID>ADT0</PaxID> <PTC>ADT</PTC> </Pax> </PaxList> <ResponseParameters xmlns="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersCommonTypes"> <CurParameter> <CurCode>INR</CurCode> </CurParameter> </ResponseParameters> </Request> </IATA_AirShoppingRQ>
Air Shopping Response
Below is a sample XML response of the Aviation APIs:
<IATA_AirShoppingRS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersMessage"> <Response> <DataLists xmlns="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersCommonTypes"> <BaggageAllowanceList> <BaggageAllowance> <ApplicablePartyText>Traveler</ApplicablePartyText> <BaggageAllowanceID>bag01719913658</BaggageAllowanceID> <TypeCode>Checked</TypeCode> <WeightAllowance> <MaximumWeightMeasure>15</MaximumWeightMeasure> <WeightUnitOfMeasurement>KGM</WeightUnitOfMeasurement> </WeightAllowance> </BaggageAllowance> <BaggageAllowance> <ApplicablePartyText>Traveler</ApplicablePartyText> <BaggageAllowanceID>bag1949345908</BaggageAllowanceID> <TypeCode>Checked</TypeCode> <WeightAllowance> <MaximumWeightMeasure>5</MaximumWeightMeasure> <WeightUnitOfMeasurement>KGM</WeightUnitOfMeasurement> </WeightAllowance> </BaggageAllowance> </BaggageAllowanceList> <DatedMarketingSegmentList> <DatedMarketingSegment> <Arrival> <AircraftScheduledDateTime>2025-10-19T13:30:00</AircraftScheduledDateTime> <IATA_LocationCode>COK</IATA_LocationCode> </Arrival> <CarrierDesigCode>6E</CarrierDesigCode> <DatedMarketingSegmentId>Mkt-seg0349235905</DatedMarketingSegmentId> <DatedOperatingSegmentRefId>Opr-seg0349235905</DatedOperatingSegmentRefId> <Dep> <AircraftScheduledDateTime>2025-10-19T12:05:00</AircraftScheduledDateTime> <IATA_LocationCode>AGX</IATA_LocationCode> </Dep> <MarketingCarrierFlightNumberText>7006</MarketingCarrierFlightNumberText> </DatedMarketingSegment> </DatedMarketingSegmentList> <DatedOperatingLegList> <DatedOperatingLeg> <Arrival> <AircraftScheduledDateTime>2025-10-19T13:30:00</AircraftScheduledDateTime> <IATA_LocationCode>COK</IATA_LocationCode> </Arrival> <CarrierAircraftType> <CarrierAircraftTypeCode>ATR-ATR</CarrierAircraftTypeCode> </CarrierAircraftType> <DatedOperatingLegID>seg0349235905-leg0</DatedOperatingLegID> <Dep> <AircraftScheduledDateTime>2025-10-19T12:05:00</AircraftScheduledDateTime> <IATA_LocationCode>AGX</IATA_LocationCode> </Dep> </DatedOperatingLeg> </DatedOperatingLegList> <DatedOperatingSegmentList> <DatedOperatingSegment> <CarrierDesigCode>6E</CarrierDesigCode> <DatedOperatingLegRefID>seg0349235905-leg0</DatedOperatingLegRefID> <DatedOperatingSegmentId>Opr-seg0349235905</DatedOperatingSegmentId> <Duration>PT1H25M</Duration> <OperatingCarrierFlightNumberText>7006</OperatingCarrierFlightNumberText> </DatedOperatingSegment> </DatedOperatingSegmentList> <PaxJourneyList> <PaxJourney> <PaxJourneyID>fl0349235905</PaxJourneyID> <PaxSegmentRefID>seg0349235905</PaxSegmentRefID> </PaxJourney> </PaxJourneyList> <PaxList> <Pax> <PaxID>ADT0</PaxID> <PTC>ADT</PTC> </Pax> </PaxList> <PaxSegmentList> <PaxSegment> <CabinTypeAssociationChoice> <SegmentCabinType> <CabinTypeCode>5</CabinTypeCode> <CabinTypeName>Economy</CabinTypeName> </SegmentCabinType> </CabinTypeAssociationChoice> <DatedMarketingSegmentRefId>Mkt-seg0349235905</DatedMarketingSegmentRefId> <PaxSegmentID>seg0349235905</PaxSegmentID> </PaxSegment> </PaxSegmentList> <PriceClassList> <PriceClass> <Code>R</Code> <Desc> <DescText>Combinable with Regular, Return Special, Family, Tactical, or Sale Fares</DescText> </Desc> <FareBasisCode>C0IP</FareBasisCode> <Name>Regular Fare</Name> <PriceClassID>pc675540472</PriceClassID> </PriceClass> <PriceClass> <Code>F</Code> <Desc> <DescText>Combinable with Corporate Fares</DescText> </Desc> <FareBasisCode>C0CRP</FareBasisCode> <Name>Corporate Fare</Name> <PriceClassID>pc1715572328</PriceClassID> </PriceClass> <PriceClass> <Code>J</Code> <Desc> <DescText>Combinable with Flexi Fares</DescText> </Desc> <FareBasisCode>CUIP</FareBasisCode> <Name>Flexi Fare</Name> <PriceClassID>pc1469541919</PriceClassID> </PriceClass> <PriceClass> <Code>O</Code> <Desc> <DescText>Combinable with Super 6E Fares</DescText> </Desc> <FareBasisCode>CLIP</FareBasisCode> <Name>Super 6E Fare</Name> <PriceClassID>pc040008172</PriceClassID> </PriceClass> </PriceClassList> </DataLists> <OffersGroup xmlns="http://www.iata.org/IATA/2015/EASD/00/IATA_OffersAndOrdersCommonTypes"> <CarrierOffers> <Offer> <BaggageAssociations> <BaggageAllowanceRefID>bag01719913658</BaggageAllowanceRefID> <OfferFlightAssociations> <PaxJourneyRef> <PaxJourneyRefID>fl0349235905</PaxJourneyRefID> </PaxJourneyRef> </OfferFlightAssociations> <PaxRefID>ADT0</PaxRefID> </BaggageAssociations> <JourneyOverview> <JourneyPriceClass> <PaxJourneyRefID>fl0349235905</PaxJourneyRefID> <PriceClassRefID>pc675540472</PriceClassRefID> </JourneyPriceClass> </JourneyOverview> <OfferExpirationTimeLimitDateTime>2025-04-03T11:33:24.0382173Z</OfferExpirationTimeLimitDateTime> <OfferID>654432311_id-542b4719-dc51-4b40-a92a-8b213ae785b9-o-1</OfferID> <OfferItem> <FareDetail> <FareComponent> <CabinType> <CabinTypeCode>5</CabinTypeCode> <CabinTypeName>Economy</CabinTypeName> </CabinType> <FareBasisCode>C0IP</FareBasisCode> <PaxSegmentRefID>seg0349235905</PaxSegmentRefID> <PriceClassRefID>pc675540472</PriceClassRefID> <RBD> <RBD_Code>C</RBD_Code> </RBD> </FareComponent> <PaxRefID>ADT0</PaxRefID> <Price> <BaseAmount CurCode="INR">5511.00</BaseAmount> <TaxSummary> <Tax> <Amount CurCode="INR">995.00</Amount> </Tax> <TotalTaxAmount CurCode="INR">995.00</TotalTaxAmount> </TaxSummary> <TotalAmount CurCode="INR">6506.00</TotalAmount> </Price> </FareDetail> <MandatoryInd>true</MandatoryInd> <OfferItemID>654432311_id-542b4719-dc51-4b40-a92a-8b213ae785b9-o-1-1</OfferItemID> <Price> <BaseAmount CurCode="INR">5511.00</BaseAmount> <TaxSummary> <Tax> <Amount CurCode="INR">995.00</Amount> </Tax> <TotalTaxAmount CurCode="INR">995.00</TotalTaxAmount> </TaxSummary> <TotalAmount CurCode="INR">6506.00</TotalAmount> </Price> <Service> <OfferServiceAssociation> <PaxJourneyRef> <PaxJourneyRefID>fl0349235905</PaxJourneyRefID> </PaxJourneyRef> </OfferServiceAssociation> ...
Error | Description | Resolution | |
---|---|---|---|
401 | Access denied due to invalid subscription key. | Make sure to provide a valid key for an active subscription. | |
403 | Access denied. You are not authorized to perform this action. | Please connect with admin. | |
300 | The security token is invalid or expired. | Token has expired or is malformed. |
Flow of Air Shopping
Below is the Air shopping flow diagram.
Need help? Check FAQs
What is NDC Air Shopping?
NDC (New Distribution Capability) Air Shopping refers to searching for and retrieving flight offers via the IATA NDC standard. It allows airlines to present richer content, more personalized offers, and dynamic pricing directly to the customer or travel seller through API connections.
How do I book an offer returned from Air Shopping?
You can book an offer using the OrderCreate API call (in NDC terms). You'll use the Offer ID from the Air Shopping response to make the reservation.
Can I shop for ancillaries (baggage, seats) during air shopping?
Some NDC APIs allow "combined offers" where ancillary services are included in the air shopping response. Others require separate calls after shopping (e.g., ServiceList or OfferPrice).