Objective
To standardize cabin names across airlines in NDC APIs. Currently, NDC APIs return BA branded cabin names for BA flights whereas industry cabin names for other flights. This CR will ensure industry cabin names returned for all flights.
Impacted Services
- AirShopping
- OfferPrice
- OrderCreate
- OrderRetrieve
- ServiceList
- SeatAvailability
- OrderReshop
- OrderChange
- OrderChangeNotif
Release Plan
This will be released as a soft release and not activated. We will notify you about our Sandbox testing environment where you can test and implement this feature. The Release Notes for the soft releases can be access from here:
- Phase One - NDC Roadmap Q4 2019
- Phase Two and Three - NDC Roadmap Q1 2020
Please see the following release notes for all development.
Date | Version | APIs affected | |
---|---|---|---|
17/12/19 | Phase One | 17.2 OfferPrice , 17.2 SeatAvailability , 17.2 OrderCreate and 17.2 OrderRetrieve | Link |
09/01/20 | Phase Two | 17.2 ServiceList , 17.2 OrderChange and 17.2 OrderReshop | Link |
16/01/20 | Phase Three | 17.2 AirShopping | Link |
Changes
The following changes are to be made in the response of the NDC APIs mentioned below.
Impacted Services:
1. Industry standard cabin names for all flights
BA Branded Name | Industry Standard Name |
---|---|
Euro Traveller | Economy |
Club Europe | Business |
World Traveller | Economy |
World Traveller Plus | Premium Economy |
Club World | Business |
First | First |
Club (Com-air/Sun-air) | Business |
Traveller (Com-air/Sun-air) | Economy |
Product name and Marketing name are changed as per IATA cabin name:
From: <Name>World Traveller Plus</Name>
To: <Name>Premium Economy</Name>
From: <MarketingName>World Traveller Plus</MarketingName>
To: <MarketingName CabinDesignator="4">Premium Economy</MarketingName>
2. Introduction of "CabinDesignator" attribute in "MarketingName" element:
From: <MarketingName>World Traveller Plus</MarketingName>
To: <MarketingName CabinDesignator="4">Premium Economy</MarketingName>
Cabin designator will be returned as per the below table.
Industry Standard Name | Cabin Designator |
---|---|
Economy | 5 |
Premium Economy | 4 |
Business | 2 |
First | 1 |
3. ListKey reference value is changed as given below based on the cabin:
From: <Disclosures ListKey="ClubWorld">
To: <Disclosures ListKey="C2">
C refers to Cabin and 2 refers to cabin designator
From: <ClassOfService refs="BA0001 FBCODE1 ClubWorld">
To: <ClassOfService refs="BA0001 FBCODE1 C2">
4. Warning Message – the below warning message will be returned along with the respective API response in case of any issue in converting cabin names to IATA standard
Unable to convert BA branded cabin names to IATA cabin names due to a technical issue
AirShoppingRS
Under <DisclosureList>
Long haul
From: <Disclosures ListKey="WorldTraveller">
To: <Disclosures ListKey="C5">
From: <Disclosures ListKey="WorldTravellerPlus">
To: <Disclosures ListKey="C4">
From: <Disclosures ListKey="ClubWorld">
To: <Disclosures ListKey="C2">
Short haul
From: <Disclosures ListKey="EuroTraveller">
To: <Disclosures ListKey="C5">
From: <Disclosures ListKey="ClubEurope">
To: <Disclosures ListKey="C2">
Under <PriceClassList >\ <PriceClass > - no change to product names - Basic, Standard, Plus, and Plus Flex
Long haul
From: <Name>World Traveller</Name>
To: <Name>Economy</Name>
From: <Name>World Traveller Plus</Name>
To: <Name>Premium Economy</Name>
From: <Name>Club World</Name>
To: <Name>Business</Name>
From: <ClassOfService refs="BA0112 FBCODE4 WorldTraveller">
To: <ClassOfService refs="BA0112 FBCODE4 C5">
From: <ClassOfService refs="BA0112 FBCODE4 WorldTravellerPlus">
To: <ClassOfService refs="BA0112 FBCODE4 C4">
From: <ClassOfService refs="BA0001 FBCODE1 ClubWorld">
To: <ClassOfService refs="BA0001 FBCODE1 C2">
From: <MarketingName>Club World</MarketingName>
To: <MarketingName CabinDesignator="2">Business</MarketingName>
From: <MarketingName>World Traveller</MarketingName>
To: <MarketingName CabinDesignator="5">Economy</MarketingName>
From: <MarketingName>World Traveller Plus</MarketingName>
To: <MarketingName CabinDesignator="4">Premium Economy</MarketingName>
From: <MarketingName>First</MarketingName>
To: <MarketingName CabinDesignator="1">First</MarketingName>
Non-BA flights
From: <MarketingName>FIRST</MarketingName>
To: <MarketingName CabinDesignator="1">First</MarketingName>
From: <MarketingName>BUSINESS</MarketingName>
To: <MarketingName CabinDesignator="2">Business</MarketingName>
From: <MarketingName>PREMIUMECONOMY</MarketingName>
To: <MarketingName CabinDesignator="5">Premium Economy</MarketingName>
From: <MarketingName>ECONOMY</MarketingName>
To: <MarketingName CabinDesignator="4">Economy</MarketingName>
Short haul
From: <Name>Club Europe</Name>
To: <Name>Business</Name>
From: <ClassOfService refs="BA0834 FBCODE1 EuroTraveller" >
To: <ClassOfService refs="BA0834 FBCODE1 C5" >
From: <ClassOfService refs="BA0838 FBCODE23 ClubEurope" >
To: <ClassOfService refs="BA0838 FBCODE23 C2" >
From: <MarketingName>Euro Traveller</MarketingName>
To: <MarketingName CabinDesignator="5">Economy</MarketingName>
From: <MarketingName>Club Europe</MarketingName>
To: <MarketingName CabinDesignator="2">Business</MarketingName>
OfferPriceRS
Under <PriceClassList>\<PriceClass> - no change to product names - Basic, Standard, Plus and Plus Flex
Long-haul
From: <Name>World Traveller</Name>
To: <Name>Economy</Name>
From: <Name>World Traveller Plus</Name>
To: <Name>Premium Economy</Name>
From: <Name>Club World</Name>
To: <Name>Business</Name>
From: <MarketingName>First</MarketingName>
To: <MarketingName CabinDesignator="1">First</MarketingName>
From: <MarketingName>Club World</MarketingName>
To: <MarketingName CabinDesignator="2">Business</MarketingName>
From: <MarketingName>World Traveller Plus</MarketingName>
To: <MarketingName CabinDesignator="4">Premium Economy</MarketingName>
From: <MarketingName>World Traveller</MarketingName>
To: <MarketingName CabinDesignator="5">Economy</MarketingName>
Short-haul
From: <Name>Club Europe</Name>
To: <Name>Business</Name>
From: <Name>Euro Traveller</Name>
To: <Name>Economy</Name>
From: <MarketingName>Club Europe</MarketingName>
To: <MarketingName CabinDesignator="2">Business</MarketingName>
From: <MarketingName>Euro Traveller</MarketingName>
To: <MarketingName CabinDesignator="5">Economy</MarketingName>
ComAir/Sun-Air
From: <Name>Club</Name>
To: <Name>Business</Name>
From: <Name>Traveller</Name>
To: <Name>Economy</Name>
From: <MarketingName>Club</MarketingName>>
To: <MarketingName CabinDesignator="2">Business</MarketingName>
From: <MarketingName>Traveller</MarketingName>
To: <MarketingName CabinDesignator="5">Economy</MarketingName>
OrderViewRS - response of OrderCreate/OrderChange/OrderRetrieve
Under <FlightSegmentList>\<FlightSegment>\<ClassOfService>
From: <MarketingName>World Traveller</MarketingName>
To: <MarketingName CabinDesignator="5">Economy</MarketingName>
Other BA cabin names will also be changed with CabinDesignator
OrderReshop
Under <DisclosureList> (OrderReshop – reshop)
Long-haul
From: <Disclosures ListKey="WorldTraveller">
To: <Disclosures ListKey="C5">
From: <Disclosures ListKey="WorldTravellerPlus">
To: <Disclosures ListKey="C4">
From: <Disclosures ListKey="ClubWorld">
To: <Disclosures ListKey="C2">
Short-haul
From: <Disclosures ListKey="EuroTraveller">
To: <Disclosures ListKey="C5">
From: <Disclosures ListKey="ClubEurope">
To: <Disclosures ListKey="C2">
Under <PriceClassList>\<PriceClass> - no change to product names - Basic, Standard, Plus, and Plus Flex - (OrderReshop – reshop/reprice/requote)
From: <Name>Club World</Name>
To: <Name>Business</Name>
From: <ClassOfService refs="BA0112 FBCODE4 WorldTraveller">
To: <ClassOfService refs="BA0112 FBCODE4 C5">
From: <MarketingName>World Traveller</MarketingName>
To: <MarketingName CabinDesignator="5">Economy</MarketingName>
Other BA cabin names will also be changed with CabinDesignator as given in the AirShoppingRS
SeatAvailabilityRS
Under <SeatMap>...<CabinType>
From: <Name>World Traveller</Name>
To: <Name>Economy</Name>
Other cabin names will also be changed
Under <FlightSegmentList>\<FlightSegment>\<ClassOfService>
From: <MarketingName>World Traveller</MarketingName>
To: <MarketingName CabinDesignator="5">Economy</MarketingName>
Other cabin names will also be changed with CabinDesignator
ServiceListRS – Post Sale
Under <FlightSegmentList>\<FlightSegment>\<ClassOfService>
From: <MarketingName>World Traveller</MarketingName>>
To: <MarketingName CabinDesignator="5">Economy</MarketingName>
Other cabin names will also be changed with CabinDesignator
OrderChangeNotif
Under <FlightSegmentList>\<FlightSegment>\<ClassOfService>
From: <MarketingName>World Traveller</MarketingName>
To: <MarketingName CabinDesignator="5">Economy</MarketingName>
Other BA cabin names will also be changed with CabinDesignator