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 OfferPriceRQ schema allows you to get the price breakdown for the selected flights in context of the number of passengers specified in AirShoppingRQ. This request must be made after AirShoppingRQ request. 

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

OfferPrice 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

		     
			
    <Query>
        <Offer OfferID="OFFER001" Owner="ET" ResponseID="{{ReponseId}}">
            <OfferItem OfferItemID="OFFERITEM-9577965498">
                <PassengerRefs>PX001</PassengerRefs>
            </OfferItem>
        </Offer>

    </Query>

For multi-pax request, send the offer item ID of each passenger like below 

   <Query>
        <Offer OfferID="OFFER001" Owner="ET" ResponseID="{{ReponseId}}">
            <OfferItem OfferItemID="OFFERITEM-6478847636">
                <PassengerRefs>PX001</PassengerRefs>
            </OfferItem>
            <OfferItem OfferItemID="OFFERITEM-2030111990">
                <PassengerRefs>PX002</PassengerRefs>
            </OfferItem>
            <OfferItem OfferItemID="OFFERITEM-2880184804">
                <PassengerRefs>PX003</PassengerRefs>
            </OfferItem>
        </Offer>
    </Query>
RequestRoot node of the request schema

CoreQuery


OfferSpecific to an OriginDestination
@OfferIDUnique ID e.g. OFFER001
@OwnerORA e.g. ET
OfferItem 
@OfferItemIDSelected offer item for an OriginDestination

		     
			
            <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

OfferPrice 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 priced offer now contains the breakdown for each passenger

 <PricedOffer OfferID="PRICEDOFFER" Owner="ET">

        <TimeLimits>
            <OfferExpiration Timestamp="2023-04-17T13:44:08.4069585Z" />
        </TimeLimits>
        <TotalPrice>
            <SimpleCurrencyPrice Code="USD">890.80</SimpleCurrencyPrice>
        </TotalPrice>
        <OfferItem OfferItemID="OFFERITEM001">
            <TotalPriceDetail>
                <TotalAmount>
                    <SimpleCurrencyPrice Code="USD">463.40</SimpleCurrencyPrice>
                </TotalAmount>
                <BaseAmount Code="USD">336.00</BaseAmount>
                <Surcharges>
                    <Surcharge>
                        <Total Code="USD">0</Total>
                    </Surcharge>
                </Surcharges>
                <Taxes>
                    <Total Code="USD">127.40</Total>
                </Taxes>
            </TotalPriceDetail>
            <Service ServiceID="SV001">
                <PassengerRefs>PX001</PassengerRefs>
                <FlightRefs>FLT001</FlightRefs>
            </Service>
        </OfferItem>
        <OfferItem OfferItemID="OFFERITEM002">
            <TotalPriceDetail>
                <TotalAmount>
                    <SimpleCurrencyPrice Code="USD">379.40</SimpleCurrencyPrice>
                </TotalAmount>
                <BaseAmount Code="USD">252.00</BaseAmount>
                <Surcharges>
                    <Surcharge>
                        <Total Code="USD">0</Total>
                    </Surcharge>
                </Surcharges>
                <Taxes>
                    <Total Code="USD">127.40</Total>
                </Taxes>
            </TotalPriceDetail>
            <Service ServiceID="SV002">
                <PassengerRefs>PX002</PassengerRefs>
                <FlightRefs>FLT001</FlightRefs>
            </Service>
        </OfferItem>
        <OfferItem OfferItemID="OFFERITEM003">
            <TotalPriceDetail>
                <TotalAmount>
                    <SimpleCurrencyPrice Code="USD">48.00</SimpleCurrencyPrice>
                </TotalAmount>
                <BaseAmount Code="USD">34.00</BaseAmount>
                <Surcharges>
                    <Surcharge>
                        <Total Code="USD">0</Total>
                    </Surcharge>
                </Surcharges>
                <Taxes>
                    <Total Code="USD">14.00</Total>
                </Taxes>
            </TotalPriceDetail>
            <Service ServiceID="SV003">
                <PassengerRefs>PX003</PassengerRefs>
                <FlightRefs>FLT001</FlightRefs>
            </Service>
        </OfferItem>
    </PricedOffer>
RequestRoot node of the request schema

PricedOffer

Offers collection
@OfferIDUnique offer price identification
Offer@Owner
@OfferIDUnique offer identification
@OwnerORA
TimeLimits 
OfferExpiration
@TimestampOffer expiry time in ISO standard
OfferItemSpecific brand on the flight
@OfferItemID 
TotalPriceDetail 
TotalAmount 
SimpleCurrencyPriceTotal price including taxes
@CodeCurrency code
BaseAmountBase fare value
@CodeCurrency code
SurchargesSurcharge information
Surcharge 
TotalSurcharge 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

    

Baggage allowance breakdown per passenger is now available. use the refs to distingush the passenger

ADT - Adult, CNN - Child, INF - Infant

 <BagDisclosureList>

            <BagDisclosure refs="ADT">
                <BagRule>BAG ALLOWANCE     -ADDDXB-02P/ET/EACH PIECE UP TO 50 POUNDS/23</BagRule>
            </BagDisclosure>
            <BagDisclosure refs="ADT">
                <BagRule>KILOGRAMS</BagRule>
            </BagDisclosure>
            <BagDisclosure refs="ADT">
                <BagRule>CARRY ON ALLOWANCE</BagRule>
            </BagDisclosure>
            <BagDisclosure refs="ADT">
                <BagRule>ADDDXB-01P/ET</BagRule>
            </BagDisclosure>
            <BagDisclosure refs="ADT">
                <BagRule>01/UP TO 15 POUNDS/7 KILOGRAMS AND UP TO 45 LINEAR INCHES/115 L</BagRule>
            </BagDisclosure>
            <BagDisclosure refs="ADT">
                <BagRule>INEAR CENTIMETERS</BagRule>
            </BagDisclosure>
            <BagDisclosure refs="ADT">
                <BagRule>CARRY ON CHARGES</BagRule>
            </BagDisclosure>
            <BagDisclosure refs="ADT">
                <BagRule>ADDDXB-ET</BagRule>
            </BagDisclosure>
            <BagDisclosure refs="ADT">
                <BagRule>A HAND BAG EXCES CHARGE PER KG-USD14.00 PER KILO</BagRule>
            </BagDisclosure>
            <BagDisclosure refs="ADT">
                <BagRule>ADDITIONAL ALLOWANCES AND/OR DISCOUNTS MAY APPLY DEPENDING ON</BagRule>
            </BagDisclosure>
            <BagDisclosure refs="ADT">
                <BagRule>FLYER-SPECIFIC FACTORS /E.G. FREQUENT FLYER STATUS/MILITARY/</BagRule>
            </BagDisclosure>
            <BagDisclosure refs="ADT">
                <BagRule>CREDIT CARD FORM OF PAYMENT/EARLY PURCHASE OVER INTERNET,ETC./</BagRule>
            </BagDisclosure>
            <BagDisclosure refs="CNN">
                <BagRule>BAG ALLOWANCE     -ADDDXB-02P/ET/EACH PIECE UP TO 50 POUNDS/23</BagRule>
            </BagDisclosure>
            <BagDisclosure refs="CNN">
                <BagRule>KILOGRAMS</BagRule>
            </BagDisclosure>
            <BagDisclosure refs="CNN">
                <BagRule>CARRY ON ALLOWANCE</BagRule>
            </BagDisclosure>
            <BagDisclosure refs="CNN">
                <BagRule>ADDDXB-01P/ET</BagRule>
            </BagDisclosure>
            <BagDisclosure refs="CNN">
                <BagRule>01/UP TO 15 POUNDS/7 KILOGRAMS AND UP TO 45 LINEAR INCHES/115 L</BagRule>
            </BagDisclosure>
            <BagDisclosure refs="CNN">
                <BagRule>INEAR CENTIMETERS</BagRule>
            </BagDisclosure>
            <BagDisclosure refs="CNN">
                <BagRule>CARRY ON CHARGES</BagRule>
            </BagDisclosure>
            <BagDisclosure refs="CNN">
                <BagRule>ADDDXB-ET</BagRule>
            </BagDisclosure>
            <BagDisclosure refs="CNN">
                <BagRule>A HAND BAG EXCES CHARGE PER KG-USD14.00 PER KILO</BagRule>
            </BagDisclosure>
            <BagDisclosure refs="CNN">
                <BagRule>ADDITIONAL ALLOWANCES AND/OR DISCOUNTS MAY APPLY DEPENDING ON</BagRule>
            </BagDisclosure>
            <BagDisclosure refs="CNN">
                <BagRule>FLYER-SPECIFIC FACTORS /E.G. FREQUENT FLYER STATUS/MILITARY/</BagRule>
            </BagDisclosure>
            <BagDisclosure refs="CNN">
                <BagRule>CREDIT CARD FORM OF PAYMENT/EARLY PURCHASE OVER INTERNET,ETC./</BagRule>
            </BagDisclosure>
            <BagDisclosure refs="INF">
                <BagRule>BAG ALLOWANCE     -ADDDXB-01P/ET/EACH PIECE UP TO 50 POUNDS/23</BagRule>
            </BagDisclosure>
            <BagDisclosure refs="INF">
                <BagRule>KILOGRAMS</BagRule>
            </BagDisclosure>
            <BagDisclosure refs="INF">
                <BagRule>2NDCHECKED BAG FEE-ADDDXB-USD0.00/ET/UP TO 50 POUNDS/23 KILOGRA</BagRule>
            </BagDisclosure>
            <BagDisclosure refs="INF">
                <BagRule>MS AND UP TO 55 LINEAR INCHES/140 LINEAR CENTIMETERS</BagRule>
            </BagDisclosure>
            <BagDisclosure refs="INF">
                <BagRule>CARRY ON ALLOWANCE</BagRule>
            </BagDisclosure>
            <BagDisclosure refs="INF">
                <BagRule>ADDDXB-01P/ET</BagRule>
            </BagDisclosure>
            <BagDisclosure refs="INF">
                <BagRule>01/UP TO 15 POUNDS/7 KILOGRAMS AND UP TO 45 LINEAR INCHES/115 L</BagRule>
            </BagDisclosure>
            <BagDisclosure refs="INF">
                <BagRule>INEAR CENTIMETERS</BagRule>
            </BagDisclosure>
            <BagDisclosure refs="INF">
                <BagRule>CARRY ON CHARGES</BagRule>
            </BagDisclosure>
            <BagDisclosure refs="INF">
                <BagRule>ADDDXB-ET</BagRule>
            </BagDisclosure>
            <BagDisclosure refs="INF">
                <BagRule>A HAND BAG EXCES CHARGE PER KG-USD14.00 PER KILO</BagRule>
            </BagDisclosure>
            <BagDisclosure refs="INF">
                <BagRule>ADDITIONAL ALLOWANCES AND/OR DISCOUNTS MAY APPLY DEPENDING ON</BagRule>
            </BagDisclosure>
            <BagDisclosure refs="INF">
                <BagRule>FLYER-SPECIFIC FACTORS /E.G. FREQUENT FLYER STATUS/MILITARY/</BagRule>
            </BagDisclosure>
            <BagDisclosure refs="INF">
                <BagRule>CREDIT CARD FORM OF PAYMENT/EARLY PURCHASE OVER INTERNET,ETC./</BagRule>
            </BagDisclosure>
        </BagDisclosureList>

XML Sample

Request and Response  Sample Offerprice XML
Offerprice RequestClick to download
Offerprice ResponseClick to download
Multi pax Offerprice RequestClick to download
Multi pax Offerprice ResponseClick to download

Erorrs Response Description 

Offer Price error responses

 

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