참조 : https://support.travelport.com/webhelp/uapi/Content/Air/Air_Pricing/Air%20Pricing%20with%20Inventory%20Options.htm
Air Pricing with Inventory Options
For most workflows, it is necessary to find out inventory/seat availability details from airlines prior to booking, so that sell failures can be avoided. There are several types of inventory queries that can be made through Travelport systems.
Airline Availability Products
- Availability Status (AVS)/Numeric AVS (NAVS)
- The oldest form of airline availability.
- Virtually all participating airlines still push AVS/NAVS to Travelport 24/7.
- These incoming messages populate Travelport’s In-house AVS/NAVS database.
- AVS/NAVS is accurate for some airlines; however, AVS/NAVS cannot reflect the availability differences calculated by the more sophisticated airline revenue management tools (e.g., point of sale differences, differences due using a flight as a direct or as part of a connection between various origins and destinations).
- Travelport uses AVS/NAVS availability data whenever Travelport is unable to poll an airline for Seamless or Direct Access availability (e.g., carrier doesn’t participate in the products, link down conditions).
- Direct Access Availability
- Airline must sign up to participate in Direct Access Availability.
- This inventory type is usually the airline’s first foray into the interactive, real-time products.
- Airline may or may not participate in Direct Sell or Seamless Availability. These methods support bypassing pricing in a sessioned workflow.
- Travelport “polls” (queries) the airline for real-time availability.
- Travelport will only use Direct Access to poll the airline if the airline does not participate in Seamless Availability and if the Direct Access request modifier is included in the entry.
- Direct Access query sent to the carrier requests available flights for a given date/time.
- Carrier decides which flights to return, based on its internal algorithms.
-
Carrier will return all available cabin classes for each flight in the response.
Note: Because Travelport does not send a list of flight numbers to the carrier, the carrier may or may not return the flights needed for an Air Pricing with Inventory query. If the carrier does not return the flights needed, Travelport will rely on AVS/NAVS data.
- Airline must sign up to participate in Direct Access Availability.
- Seamless Availability
- Airline must sign up to participate in Seamless Availability.
- Seamless participants also participate in Direct Sell (a sessioned book action that skips pricing) and usually participate in Direct Access Availability.
- Travelport “polls” (queries) the airline for real-time availability.
- If a carrier participates in Seamless Availability and Direct Access Availability, Travelport will always use Seamless to poll the carrier from Shopping or Low Fare Finder.
- Seamless availability queries sent to the carrier contain a list of specific flight numbers, along with indicators that flights are to be treated as direct flights or connecting flights.
- Airlines respond with availability for all classes reflecting the airline’s revenue management logic, which may calculate availability based on any one or combination of:
- the point of sale (agency and/or country where agency is located),
- the point of commencement,
- the Origin-and-Destination (e.g., direct vs connecting flights),
- Journey Data (flights currently booked and active in the agency’s AAA).
- Airline must sign up to participate in Seamless Availability.
Inventory Scenarios
Air Pricing offers several ways to check inventory at the time of request. This topic discusses the following scenarios for checking inventory:
- Do not check inventory while specifying a booking code: Use this scenario after a seat has already been held or booked, and inventory does not have to be checked in the booked cabin.
- Check inventory without specifying a booking code: This option finds the lowest available fare regardless of cabin class or booking code.
Note When pricing in 1G/1V, in regards to cabin class:-
Specify the booking code and get a price for the specified class only, regardless of availability.
-
Remove the booking code from the request to receive an alternative fare in any cabin class.
-
- Check inventory and specify a booking code: This scenario checks availability and finds the lowest fare from the specified cabin class and higher (Worldspan [1P] and Axess [1J] only). In Galileo (1G) and Apollo (1V), only the class of service passed is searched.
These scenarios are based on several possible combinations of whether inventory is checked and whether a booking code is specified.
Each example below starts with a summary of that scenario. Additional information is provided in tables with the following columns:
- Check Inventory: Yes or No indicates whether a request is made to check inventory in this scenario. This column also includes the specific InventoryRequestType to use.
- Specify Booking Code: Yes or No indicates whether a booking code is included in the Universal API Air Price Request in this scenario.
- Galileo and Apollo / Worldspan and Axess: The third and fourth columns specify the details that should be included in the AirPriceReq for Galileo and Apollo, and for Worldspan and Axess. There are slightly different ways to leverage each use case depending on the Travelport system being used.
Note that in the Check Inventory column, InventoryRequestType can accept the following types of requests:
- Direct Access: Carriers participating in direct access inventory and seamless inventory with Worldspan (1P) will be polled to confirm inventory before the booking attempt.
- Seamless: Carriers participating in seamless inventory with 1P will be polled to confirm inventory before the booking attempt.
- Basic: A direct availability query may not occur, and instead data may be taken from local availability sources. This can be considered the closest to not checking availability in 1P. If Basic is selected in Galileo (1G) or Apollo (1V), inventory will not be checked.
Example 1: Do Not Check Inventory and Specify Booking Code – Best Buy on a Booked Itinerary Scenario
This scenario can be used after a seat has already been either held or booked and an availability check is not needed since a seat is already being held in the booked cabin class. Here, availability is not checked and the booking code “as booked” is passed to filter the Air Price Response.
Notes:
- For 1G/1V, the result is limited to the BookingCode requested. For 1P/1J the result can include the BookingCode requested as well as cabins associated with any “higher” BookingCode (e.g., if a business class booking code is passed, first class booking codes will also be checked).
- An error is returned if there is no availability for the requested BookingCode.
- For 1P/1J availability may not actually be ignored; instead, local availability source values may be used.
Check Inventory | Specify Booking Code | Galileo and Apollo | Worldspan and Axess |
---|---|---|---|
No – use InventoryRequestType=”Basic” | Yes |
Details passed in AirPriceReq: 1. Segment Details for pricing (e.g., from UniversalRecordRetrieve). For example:
2. AirSegmentPricingModifiers/PermittedBookingCodes/BookingCode @Code for each segment. For example: <air:AirPricingCommand> <air:AirSegmentPricingModifiers AirSegmentRef=”SegmentKey1″> <air:PermittedBookingCodes> <air:BookingCode Code=”Q”/> </air:PermittedBookingCodes> </air:AirSegmentPricingModifiers> <air:AirSegmentPricingModifiers AirSegmentRef=” SegmentKey2″> <air:PermittedBookingCodes> <air:BookingCode Code=”Q”/> </air:PermittedBookingCodes> </air:AirSegmentPricingModifiers> …….. etc. for each segment…… </air:AirPricingCommand> 3. Inventory: /AirPricingModifiers @InventoryRequestType=”Basic” OR leave blank (default is not to check inventory). For example: <air:AirPricingModifiers InventoryRequestType=”Basic”/> |
Details passed in AirPriceReq: 1. Segment Details for pricing 2. Booking Code: AirSegmentPricingModifiers/PermittedBookingCodes/BookingCode @Code 3. Inventory: /AirPricingModifiers @InventoryRequestType=”Basic” |
Example 2: Check Inventory and Specify Booking Code
This scenario finds the lowest fare from the specified cabin class and higher, while checking inventory. This Low Fare Finder alternative scenario can be used in the pre-book scenario that does not assume a seat is being held, and that a specific BookingCode is required. In this scenario, use DirectAccess as the Inventory Request Type along with PermittedBookingCodes.
Notes:
- If an InventoryRequestType is not passed, the default behavior is to not check availability for 1G/1V. For 1P/1J only, the default behavior is for checking inventory using the Seamless Availability option.
- An error is returned if there is no availability for the requested BookingCode.
Check Inventory | Specify Booking Code | Galileo and Apollo | Worldspan and Axess |
---|---|---|---|
Yes – use 1P/1J: InventoryRequestType=”DirectAccess” 1G/1V: InventoryRequestType=”DirectAccess” or “Seamless” |
Yes |
Details in AirPriceReq:
|
Details in AirPriceReq: 1. Pass Segment Details for pricing 2. BookingCode: AirSegmentPricingModifiers/PermittedBookingCodes/BookingCode@Code 3. Inventory: /AirPricingModifiers@InventoryRequestType=”DirectAccess” |
Example 3: Check Inventory Without Specifying Booking Code
A similar option to Example 2 is a Low Fare Finder scenario that finds the lowest available fare regardless of cabin class or booking code, and assumes the segment(s) are not yet booked (pre-booked scenario) and that carrier inventory for seat availability needs to be checked. The recommended and most complete way to check inventory is to check availability using the InventoryRequestType of DirectAccess.
Note: If an InventoryRequestType is not passed, the default behavior is to not check availability for 1G/1V. For 1P/1J only, the default behavior is for checking inventory using the Seamless Availability option.
Check Inventory | Specify Booking Code | Galileo and Apollo | Worldspan and Axess |
---|---|---|---|
Yes – use 1P/1J: InventoryRequestType=”DirectAccess” 1G/1V: InventoryRequestType=”DirectAccess” or “Seamless” |
No |
Details passed in AirPriceReq: 1. Segment Details for pricing (e.g., from Low Fare Shopping Response) 2. Inventory: /AirPricingModifiers @InventoryRequestType=”DirectAccess” or InventoryRequestType=”Seamless” |
Details passed in AirPriceReq: 1. Segment Details for pricing 2. Inventory: s/AirPricingModifiers @InventoryRequestType=”DirectAccess” |