Ethiopian Airlines
  • Ethiopian NDC
  • Endpoint lists
  • Information
  • Support
  • FAQ
Connect to Ethiopian NDC platform today!

NDC API V_17_2

Airshopping

OfferPrice

OrderCreate

Order Retrieve

AirDocIssue (Ticketing)

Order Reshop 

Order Change

Refund Order Reshop

Refund Order cancel

Order Retrieve

Order Retrieve

Void Ticket 

Order Retrieve

Air Cancel

Order Rule

Add/Update Loyalty Number

Order Reprice

Add/update identity doc

Seat Availability

Seat Select

Service Availability

Service Select

Meal Availabilities

Meal Selects

Introduction

The AirShopping allows you to search for a flight from one origin to one destination or from an initial origin to multiple cities.

Input

  • Origin and destination (departure airport, arrival airport)
  • Flight date, cabin type
  • Passenger details can also contain Name & FQTV details, if applicable.
  • Currency, the currency override allows to pass specific currency that you are allowed to sell on a specific origin other way the default currency will be applicable

Http Headers

Key ValueRequired 
Content-Type
application/xml
Yes
Accept*/* Yes
Authorization
Bearer {{access_token}} Yes
Content-Length
<calculated when request is sent> 
Yes
Host<calculated when request is sent>Yes
User-AgentPostmanRuntime/7.30.0
Yes
Accept-Encodinggzip, deflate, brYes
Connection Keep-aliveYes
DeviceIDStringYes

Sequence 

Endpoints

TestLive

https://aks-cluster-test.ethiopianairlines.com

https://ndc.ethiopianairlines.com

Airshopping Request

		     
			<Document>
				<Name>ETHIOPIAN AIRLINES NDC </Name>
				<ReferenceVersion>1.0</ReferenceVersion>
		   </Document> 
		 
	 
RequestRoot node of the request schema

Document


NameDocument Name
ReferenceVersionReference Version 

		     
			
    <Party>
        <Sender>
            <TravelAgencySender>
                <Name>Ethiopianairlines TravelAgency</Name>
                <IATA_Number>12121212</IATA_Number>
                <AgencyID Owner="ET">A345345435</AgencyID>
            </TravelAgencySender>
        </Sender>
        <Participants>
            <Participant>
                <AggregatorParticipant SequenceNumber="1">
                    <Name>AAAIT PLC</Name>
                    <AggregatorID>88888888</AggregatorID>
                </AggregatorParticipant>
            </Participant>
        </Participants>
        <Recipient>
            <ORA_Recipient>
                <AirlineID>ET</AirlineID>
                <Name>ETHIOPIAN AIRLINES</Name>
            </ORA_Recipient>
        </Recipient>
    </Party>
RequestRoot node of the request schema

Party

Aggregator and OTA information
Sender 
TravelAgencySenderTravel agency involved in the request
NameTravel agency’s official name
IATA_NumberTravel agency’s IATA number
AgencyIDTravel agency’s Agency ID
ParticipantsList of aggregators involved in the request
Participant 
AggregatorParticipant 
@SequenceNumberUnique position in the list e.g. 1, 2, 3
NameAggregator’s official name
AggregatorIDAggregator’s ID
Recipient 
ORA_RecipientOffer responsible airline information
AirlineIDIATA Airline code e.g. ET
NameEthiopian Airlines

		     
			
    <CoreQuery>
        <OriginDestinations>
            <OriginDestination>
                <Departure>
                    <AirportCode>ADD</AirportCode>
                    <Date>2022-12-20</Date>
                </Departure>
                <Arrival>
                    <AirportCode>CAI</AirportCode>
                </Arrival>
            </OriginDestination>
            
        </OriginDestinations>
    </CoreQuery>
RequestRoot node of the request schema

CoreQuery


OriginDestinationsList of origin and destination
OrginDestination 
Departure 
AirportCodeAirport 3 letter code e.g. DXB
DateDeparture date
Arrival
AirportCodeAirport 3 letter code e.g. LHR

		     
			
   <Preference>
        <CabinPreferences>
            <CabinType>
                <Code>3</Code>
            </CabinType>
        </CabinPreferences>
    </Preference>
RequestRoot node of the request schema

Preference

Search returns all cabin if preference is not specified
CabinPreferences
 
CabinType
 
Code

0 – PremiumFirst

1 – First

2 – PremiumBusiness

3 – Business

4 – PremiumEconomy

5 – Economy

		     
			
    <Parameters>
        <Pricing>
            <OverrideCurrency>ETB</OverrideCurrency>
        </Pricing>
    </Parameters>
RequestRoot node of the request schema

Parameters

override currency 
Pricing
 
OverrideCurrency
Currency code e.g. ETB

		     
			
            <Passenger PassengerID="PX001">
                <PTC>ADT</PTC>
                <Individual>
                    <NameTitle>MR</NameTitle>
                    <GivenName>Jane</GivenName>
                    <Surname>Smith</Surname>
                </Individual>
                <LoyaltyProgramAccount>
                    <AccountNumber>1234525525</AccountNumber>
                </LoyaltyProgramAccount>
            </Passenger>
RequestRoot node of the request schema

Passenger


@PassengerID
Unique passenger identifier e.g. PAX001
PTC
Passenger type e.g. ADT, CHD, INF
LoyaltyProgramAccount 
AccountNumberPassenger loyalty number

Airshopping Response

		     
			<Document>
				<Name>ETHIOPIAN AIRLINES NDC </Name>
				<ReferenceVersion>1.0</ReferenceVersion>
		   </Document> 
		 
	 
RequestRoot node of the request schema

Document


NameDocument Name
ReferenceVersionReference Version 

		     
			
    <ShoppingResponseID>
        <ResponseID>LWJQNMJOZK2ZMSB</ResponseID>
    </ShoppingResponseID>
RequestRoot node of the request schema

Shopping Response


ResponseIDResponse ID of the shopping request e.g. LWJQNMJOZK2ZMSB

		     
			

The new update on the airshopping response indicate that price breakdown per passenger type is available per the OfferItemID.

The response below is for 1 adult, 1 child and 1 infant. Each offerID contain all the three passenger types and price breakdown is found at OfferItemID.

To proceed to offer pricing you should have both a single offerID and OfferItemID of each passengers

    <OffersGroup>
        <AirlineOffers>
            <Offer OfferID="OFFER001" Owner="ET">
                <TimeLimits>
                    <OfferExpiration Timestamp="2023-04-17T13:18:40.8777761Z" />
                </TimeLimits>
                <TotalPrice>
                    <SimpleCurrencyPrice Code="USD">890.80</SimpleCurrencyPrice>
                </TotalPrice>
                <OfferItem OfferItemID="OFFERITEM-6478847636">
                    <TotalPriceDetail>
                        <TotalAmount>
                            <SimpleCurrencyPrice Code="USD">463.40</SimpleCurrencyPrice>
                        </TotalAmount>
                    </TotalPriceDetail>
                    <Service ServiceID="SV_FLT001_PX001">
                        <PassengerRefs>PX001</PassengerRefs>
                        <ServiceRef>SD_ES</ServiceRef>
                        <FlightRefs>FLT001</FlightRefs>
                    </Service>
                    <FareDetail>
                        <PassengerRefs>PX001</PassengerRefs>
                        <Price>
                            <TotalAmount>
                                <SimpleCurrencyPrice Code="USD">463.40</SimpleCurrencyPrice>
                            </TotalAmount>
                            <BaseAmount xsi:type="SimpleCurrencyPriceType" Code="USD">336.00</BaseAmount>
                            <Taxes>
                                <Total Code="USD">127.40</Total>
                            </Taxes>
                        </Price>
                    </FareDetail>
                </OfferItem>
                <OfferItem OfferItemID="OFFERITEM-2030111990">
                    <TotalPriceDetail>
                        <TotalAmount>
                            <SimpleCurrencyPrice Code="USD">379.40</SimpleCurrencyPrice>
                        </TotalAmount>
                    </TotalPriceDetail>
                    <Service ServiceID="SV_FLT001_PX002">
                        <PassengerRefs>PX002</PassengerRefs>
                        <ServiceRef>SD_ES</ServiceRef>
                        <FlightRefs>FLT001</FlightRefs>
                    </Service>
                    <FareDetail>
                        <PassengerRefs></PassengerRefs>
                        <Price>
                            <TotalAmount>
                                <SimpleCurrencyPrice Code="USD">379.40</SimpleCurrencyPrice>
                            </TotalAmount>
                            <BaseAmount xsi:type="SimpleCurrencyPriceType" Code="USD">252.00</BaseAmount>
                            <Taxes>
                                <Total Code="USD">127.40</Total>
                            </Taxes>
                        </Price>
                    </FareDetail>
                </OfferItem>
                <OfferItem OfferItemID="OFFERITEM-2880184804">
                    <TotalPriceDetail>
                        <TotalAmount>
                            <SimpleCurrencyPrice Code="USD">48.00</SimpleCurrencyPrice>
                        </TotalAmount>
                    </TotalPriceDetail>
                    <Service ServiceID="SV_FLT001_PX003">
                        <PassengerRefs>PX003</PassengerRefs>
                        <ServiceRef>SD_ES</ServiceRef>
                        <FlightRefs>FLT001</FlightRefs>
                    </Service>
                    <FareDetail>
                        <PassengerRefs>PX003</PassengerRefs>
                        <Price>
                            <TotalAmount>
                                <SimpleCurrencyPrice Code="USD">48.00</SimpleCurrencyPrice>
                            </TotalAmount>
                            <BaseAmount xsi:type="SimpleCurrencyPriceType" Code="USD">34.00</BaseAmount>
                            <Taxes>
                                <Total Code="USD">14.00</Total>
                            </Taxes>
                        </Price>
                    </FareDetail>
                </OfferItem>

            </Offer>

       </AirlineOffers>

  </OffersGroup>

 

RequestRoot node of the request schema

OffersGroup

Offers collection
AirlineOffersList of airline offers
OfferSpecific flight with brands
@OfferIDUnique offer identification
@OwnerORA
TimeLimitsDeparture date
OfferExpiration
@TimestampOffer expiry time in ISO standard
OfferItemSpecific brand on the flight
@OfferItemIDSpecific brand and price per passenger type
TotalPriceDetail 
TotalAmount 
SimpleCurrencyPriceTotal price including taxes
@CodeCurrency code
BaseAmountBase fare value
@CodeCurrency code
Taxes 
TotalTax value
@CodeCurrency code
Service 
@ServiceIDUnique service identification
PassengerRefsPassengers entitled to service
ServiceRefRef to Service Definition
ServiceDefinitionRefFlight associated to service

		     
			
<DataLists>
        <PassengerList>
            <Passenger PassengerID="PAX001">
                <PTC>ADT</PTC>
            </Passenger>
        </PassengerList>
        <FlightSegmentList>
            <FlightSegment SegmentKey="SEG_EBBADD_001">
                <Departure>
                    <AirportCode>EBB</AirportCode>
                    <Date>2023-03-20</Date>
                    <Time>02:45</Time>
                </Departure>
                <Arrival>
                    <AirportCode>ADD</AirportCode>
                    <Date>2023-03-20</Date>
                    <Time>04:55</Time>
                    <Terminal />
                </Arrival>
                <MarketingCarrier>
                    <AirlineID>ET</AirlineID>
                    <FlightNumber>339</FlightNumber>
                </MarketingCarrier>
                <OperatingCarrier>
                    <AirlineID>ET</AirlineID>
                    <FlightNumber>339</FlightNumber>
                </OperatingCarrier>
                <Equipment>
                    <AircraftCode>738</AircraftCode>
                </Equipment>
                <ClassOfService>
                    <Code>M</Code>
                    <MarketingName>ECONOMY</MarketingName>
                    <FareBasisCode>MEEUG</FareBasisCode>
                </ClassOfService>
                <FlightDetail>
                    <FlightDistance>
                        <Value>754</Value>
                        <UOM>Miles</UOM>
                    </FlightDistance>
                    <FlightDuration>
                        <Value>PT2H10M</Value>
                    </FlightDuration>
                </FlightDetail>
            </FlightSegment>
          </FlightSegmentList>
<FlightList>
  <Flight FlightKey="FLT001">
                <SegmentReferences OnPoint="EBB" OffPoint="DSS">SEG_EBBADD_001 SEG_ADDDSS_002</SegmentReferences>
            </Flight>
            <Flight FlightKey="FLT002">
                <SegmentReferences OnPoint="DSS" OffPoint="EBB">SEG_DSSADD_003 SEG_ADDEBB_004</SegmentReferences>
            </Flight>
</FlightList>
        <OriginDestinationList>
            <OriginDestination>
                <DepartureCode>EBB</DepartureCode>
                <ArrivalCode>DSS</ArrivalCode>
                <FlightReferences>FLT001 FLT003 FLT005 FLT007 FLT009 FLT011 FLT013 FLT015 FLT017 FLT019 FLT021 FLT023 FLT025 FLT027 FLT029 FLT031 FLT033 FLT035 FLT037 FLT039 FLT041 FLT043 FLT045 FLT047 FLT049 FLT051 FLT053 FLT055 FLT057 FLT059 FLT061 FLT063 FLT065 FLT067 FLT069 FLT071 FLT073 FLT075 FLT077 FLT079 FLT081 FLT083 FLT085 FLT087 FLT089 FLT091 FLT093 FLT095 FLT097 FLT099 FLT101 FLT103 FLT105 FLT107 FLT109 FLT111 FLT113 FLT115 FLT117 FLT119 FLT121 FLT123 FLT125 FLT127 FLT129 FLT131 FLT133 FLT135 FLT137 FLT139 FLT141 FLT143</FlightReferences>
            </OriginDestination>
<ServiceDefinitionList>
            <ServiceDefinition ServiceDefinitionID="SD_ES" Owner="ET">
                <Name>ES</Name>
                <Descriptions>
                    <Description>
                        <Text>ECONOMY SEMI FLEX</Text>
                    </Description>
                </Descriptions>
            </ServiceDefinition>
</DataLists>
RequestRoot node of the request schema

DataLists


PassengerList
Passenger
@PassengerIDUnique passenger identifier e.g. PAX001
PTCPassenger type e.g. ADT, CHD
FlightSegmentList 
FlightSegmentFlight segment information
@SegmentKeyUnique segment identification
Departure
AirportCodeDeparture airport e.g. ADD
DateDeparture date. Format YYYY-MM-DD
TimeDeparture time. Format HH:MM
TerminalTotal price including taxes
NameDeparture Airport Name
Arrival 
AirportCodeArrival airport e.g. LOS
DateArrival date. Format YYYY-MM-DD
TimeArrival time. Format HH:MM
Terminal
NameArrival Airport name
MarketingCarrierAirline selling the ticket
AirlineIDIATA airline code
FlightNumberFlight number
OperatingCarrierAirline operating the flight
AirlineIDIATA airline code
FlightNumberFlight Number 
Equipment 
AircraftCodeType of aircraft
ClassOfService 
Code 
MarketingNameDefault segment brand
FareBasisCode 
FlightDetail 
FlightDistance 
ValueFlight distance value
UOMUnit Of Measurement 
FlightDuration 
ValuePT4H10M implies 4 hours and 10 minutes
FlightListList of flights
FlightSingle flight with one or more segments
@FlightKeyUnique flight identification
SegmentReferencesSegments associated with flight
OnPointOrigin city
OffPointDestination city
OriginDestinationListList of flight origin and destination
OriginDestination 
DepartureCodeDeparture city
@UOMUnit of measurement
ArrivalCodeArrival city
@UOMUnit of measurement
FlightReferencesFlights associated to this origin destination
ServiceDefinitionList 
@ServiceDefinitionIDUnique Service Def ID
NameBrand name of service e.g. EP
DescriptionsList of description text
Descriptione.g. ECONOMY PROMO

XML Sample

Request and Response  Sample Airshopping XML
Airshopping RequestClick to download
Airshoping ResponseClick to download
Multi pax Airshopping RequestClick to download
Multi pax Airshoping ResponseClick to download

Erorrs Response Description 

AirShopping Error/Ineligibility Checks

 

Erorr CodeError Code Text
400Page not found
200Success response
0Error

About us

Terms and Conditions

Ethiopian App

Scan to download our app.

ET Mobile App QR Code

Book and manage your flight easily.

  • Play Store
  • App Store

Social Media

Connect with us on social media

Subscribe

Subscribe to our email newsletter to receive updates

Subscribe

Best Cabin crew in Africa

 

Best Airline in Africa for seven years in a row
Best Cabin crew in Africa
Best Business Class in Africa for six years in a row
Best Cabin crew in Africa
Best Economy Class in Africa for six years in a row
Best Economy Class OnBoard Catering in Africa

© 2024 Ethiopian Airlines NDC Portal

Ethiopian Airlines A Star Alliance Member