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.

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
XML Request Response Error And Error Handling Work Flow FAQ

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.

AuthToken
Air Shopping
End

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