v4 | March 31, 2023
- The Bargain Finder Max has been enhanced with the following changes:
- UniversalTicketingAttributes - allows to return ATPCO Route Happy Universal Ticket Attributes content in the response.
- UniversalProductAttributes - allows to return ATPCO Route Happy Universal Product Attributes content in the response.
- UniversalTicketingAttributes & UniversalProductAttributes Language, translations can be specified and returned if applicable.
- Ability to fix PCC(s) in the BFM request in addition to recommended PCC(Global Shopping) was added.
API Information
What's New
- The Bargain Finder Max has been enhanced with the following changes:
- UniversalTicketingAttributes - allows to return ATPCO Route Happy Universal Ticket Attributes content in the response.
- UniversalProductAttributes - allows to return ATPCO Route Happy Universal Product Attributes content in the response.
- UniversalTicketingAttributes & UniversalProductAttributes Language, translations can be specified and returned if applicable.
- Ability to fix PCC(s) in the BFM request in addition to recommended PCC(Global Shopping) was added.
Business Value
- Each of these enhancements enables greater personalization and efficiency to further refine the search.
New Features
In the Request
Optional
- Parameter: UniversalTicketingAttributes
-
Type: boolean
Description: Parameter allows to return ATPCO Route Happy Universal Ticket Attributes content in the response.
Sample Value:
RQ:
"RichContent": {
"UniversalTicketingAttributes": true,
"Language": "es"
}Note: Universal Ticket Attributes (UTAs): Provide standardized, easy to integrate fare benefits and restrictions and can be composed by refundability, changes, baggage, carry-on allowance, seat selection, priority boarding attributes.
In the Request
Optional
- Parameter: Language
-
Type: string
Description: Allows specifying the desired language translations for Universal Ticket and Product Attributes.
Sample Value:
RQ:
"RichContent": {
"UniversalTicketingAttributes": true,
"Language": "es"
}Note: If the language is not specified, it defaults to EN. If the translations are not available in provided language or the provided language code is incorrect, it defaults to EN.
In the Request
Optional
- Parameter: FixedPCC
-
Type: boolean
Description: Prevent replacing provided PCC by Global Shopping recommendation.
Sample Value:
RQ:
"POS": {
"Source": [
{
"FixedPCC": true,
"PseudoCityCode": " ABC1 ",
"RequestorID": {
"Type": "1",
"ID": "1",
"CompanyName": {
"Code": "TN"
}
}
}
]
},
...
"AlternatePCC": [
{
"PseudoCityCode": "ABC1",
"FixedPCC": true
},
{
"PseudoCityCode": "ABC1"
}Note: Universal Product Attributes (UPAs): Provide targeted messaging and visual content that showcases airline products and services eg., media, photos, videos, graphics, and captions.
In the Response
Optional
- Parameter: utaDescs
-
Type: List
Description: List of Universal Ticket attributes presented in an indexed way that can easily be associated with flight components. A List of all UTAs that are available on any of the returned flights.
Sample Value:
RS:
"utaDescs": [
{
"id": 1,
"categoryId": "seat-selection",
"groupCode": "SA",
"subCode": "PSA",
"application": "F",
"assessment": "benefit",
"headline": "RXhhbXBsZSBCYXNlNjQgc3RyaW5n",
"descriptions": "RXhhbXBsZSBCYXNlNjQgc3RyaW5n",
"commercialName": "PRE RESERVED SEATS",
"smallIconUrl": "RXhhbXBsZSBCYXNlNjQgc3RyaW5n",
"largeIconUrl": "RXhhbXBsZSBCYXNlNjQgc3RyaW5n"
},
...
],Note: *NOTE: Headline, Description, SmallIconUrl, and LargeIconUrl values are Base64 coded(this is due to the complexity and multiple special characters used across the available languages translations.
In the Response
Optional
- Parameter: upaDescs
-
Type: List
Description: List of Universal Product attribute items presented in an indexed way that can easily be associated with flight components. A List of all UPAs that are available on any of the returned flights.
Sample Value:
RS:
"upaDescs": [
{
"id": 1,
"smallIconUrl": "RXhhbXBsZSBCYXNlNjQgc3RyaW5n",
"largeIconUrl": "RXhhbXBsZSBCYXNlNjQgc3RyaW5n",
"headline": "RXhhbXBsZSBCYXNlNjQgc3RyaW5n",
"description": "RXhhbXBsZSBCYXNlNjQgc3RyaW5n",
"categories": [{"ref": 9}],
"photos": [{"ref": 13}]
},
],Note: *NOTE: Headline, Description, SmallIconUrl, ThumbUrl, MediumSquareUrl, Caption, URL, and LargeIconUrl values are Base64 coded(this is due to the complexity and multiple special characters used across the available languages translations.
In the Response
Optional
- Parameter: richContent
-
Type: List
Description: Rich Content information (UTA, UPA) associated to the returned flights with a specific reference Id(UTARef, UPARef).
Sample Value:
RS:
"richContent": {
"universalTicketingAttributes": [
{"utas": [{"ref": 49}, {"ref": 20}]},
{"segments": [{"id": 0}], "utas": [{"ref": 2}, {"ref": 17}]},
{
"segments": [{"id": 0}],
"utas": [{"ref": 10}, {"ref": 40}, {"ref": 14}]
},
{"segments": [{"id": 1}], "utas": [{"ref": 2}, {"ref": 17}]},
{
"segments": [{"id": 1}],
"utas": [{"ref": 10}, {"ref": 14}]
}
],
"universalProductAttributes": [
{"segments": [{"id": 0}], "upas": [{"ref": 17}, {"ref": 38}]},
{"segments": [{"id": 1}], "upas": [{"ref": 17}, {"ref": 15}]}
]
In the Request
Optional
- Parameter: UniversalProductAttributes
-
Type: boolean
Description: Parameter allows to return ATPCO Route Happy Universal Product Attributes content in the response.
Sample Value:
"RichContent": {
"UniversalProductAttributes": true,
}Note: Universal Product Attributes (UPAs): Provide targeted messaging and visual content that showcases airline products and services eg., media, photos, videos, graphics, and captions.
v4 | June 30, 2022
- The Bargain Finder Max Request has been enhanced with the following changes:
- AvoidCabinDowngrade - new optional elements in the shopping request. Release date: June 30, 2022
- NOTICE: Due to ASRM GUI(Air Shopping Rule Manager) and related functionality sunset, the TravelPersona attribute will be ignored after 31 March 2023.
API Information
What's New
- The Bargain Finder Max Request has been enhanced with the following changes:
- AvoidCabinDowngrade - new optional elements in the shopping request. Release date: June 30, 2022
- NOTICE: Due to ASRM GUI(Air Shopping Rule Manager) and related functionality sunset, the TravelPersona attribute will be ignored after 31 March 2023.
Business Value
- Each of these enhancements enables greater personalization and efficiency to further refine the search.
New Features
In the Request
Optional
- Parameter: AvoidCabinDowngrade
-
Type: boolean
Description: AvoidCabinDowngrade guarantees that lower cabin class will not be applied within a single shopping option, depending on the chosen mode: All - Apply Avoid Cabin Downgrade logic on the entire itinerary; Main - Apply Avoid Cabin Downgrade logic on the main flight of every leg; None - Disable Avoid Cabin Downgrade logic (default value).
Sample Value:
{
"TravelPreferences": {
"TPA_Extensions": {
"AvoidCabinDowngrade": {
"Mode": "All"
},
"FlexibleFares": {
"FareParameters": [{
"Cabin": {
"Type": "C"
},
"AvoidCabinDowngrade": {
"Mode": "Main"
}
}
]
}
}
},
}Note: AvoidCabinDowngrade can be used on the main or flex fare level. Release date: June 30, 2022
v4 | December 18, 2021
- The Bargain Finder Max Request has been enhanced with the following changes:
- Shop by Priority boarding - new optional elements in the shopping request and response.
- Shop by Seat type/pitch - new optional elements in the shopping request and response.
- AvoidCabinDowngrade - new optional elements in the shopping request. Release date: June 30, 2022
- NOTICE: Due to ASRM GUI(Air Shopping Rule Manager) and related functionality sunset, the TravelPersona attribute will be ignored after 31 March 2023.
API Information
What's New
- The Bargain Finder Max Request has been enhanced with the following changes:
- Shop by Priority boarding - new optional elements in the shopping request and response.
- Shop by Seat type/pitch - new optional elements in the shopping request and response.
- AvoidCabinDowngrade - new optional elements in the shopping request. Release date: June 30, 2022
- NOTICE: Due to ASRM GUI(Air Shopping Rule Manager) and related functionality sunset, the TravelPersona attribute will be ignored after 31 March 2023.
Business Value
- Each of these enhancements enables greater personalization and efficiency to further refine the search.
New Features
In the Request
Optional
- Parameter: PriorityBoarding
-
Type: Boolean
Description: The purpose of Shop by Priority Boarding is to enable Shopping with the ability to create a more modernized way to display relevant offers from the same or different airlines for easy comparison to travelers.
Sample Value:
{
"TravelPreferences": {
"CabinPref": [
{
"Cabin": "Y",
"PreferLevel": "Preferred"
}
],
"TPA_Extensions": {
"NumTrips": {
"Number": 100
},
"PriorityBoarding": {
"FreePriorityBoarding": true,
"Info": true
}
}
}
}
In the Request
Optional
- Parameter: Info
-
Type: Boolean
Description: Supports a request to return priority boarding information about what is included in the fare regarding priority boarding.
Sample Value:
{
"TravelPreferences": {
"CabinPref": [
{
"Cabin": "Y",
"PreferLevel": "Preferred"
}
],
"TPA_Extensions": {
"NumTrips": {
"Number": 100
},
"PriorityBoarding": {
"FreePriorityBoarding": true,
"Info": true
}
}
}
}
In the Request
Optional
- Parameter: Seats
-
Type: Boolean
Description: The purpose of Shop by Seat Pitch and Seat Type is to enable Shopping to create a more modernized way to display relevant offers from the same or different airlines for easy comparison to travelers.
Sample Value:
{
"TravelPreferences": {
"TPA_Extensions": {
"Seats": {
"Seat": [
{
"Type": "StandardLegroom",
"AtLeast": 10,
"LessThan": 34
}
]
}
}
}
}Note: Support mode to filter by Seat Type and/or Seat Pitch (measured in inches) to return only an offer that matches the condition indicated in the attribute.
In the Request
Optional
- Parameter: SeatInfo
-
Type: Boolean
Description: Support to return Seat Type and Seat Pitch information about what is included in the offer regarding seat type and seat pitch.
Sample Value:
{
"RichContent": {
"SeatInfo": true
}
}
In the Response
Optional
- Parameter: PriorityBoardingList
-
Type: Boolean
Description: PriorityBoardingList provides information for whether priority boarding is free, chargeable, or information is not available (F - Free (No charge); C - Charge; N - Not available).
Sample Value:
{
"priorityBoarding": [
{
"type": "C",
"segment": [
{
"id": 0
}
]
}
]
}
In the Response
Optional
- Parameter: Seat
-
Type: Boolean
Description: List of references to flight amenities. The Seat element describes properties of seats in each cabin. These elements are later referenced from Flight Amenities.
Sample Value:
"flightAmenities": {
"seat": [
{
"id": 1,
"pitch": "37",
"type": "recliner seat"
},
(...)
{
"fareComponents": [
{
"ref": 17,
"segments": [
{
"segment": {
"bookingCode": "L",
"cabinCode": "Y",
"mealCode": "S",
"seatsAvailable": 9,
"availabilityBreak": true,
"flightAmenities": [
{
"seatRef": 2
}
]
}
}
]
}
]
}
In the Request
Optional
- Parameter: AvoidCabinDowngrade
-
Type: boolean
Description: AvoidCabinDowngrade guarantees that lower cabin class will not be applied within a single shopping option, depending on the chosen mode: All - Apply Avoid Cabin Downgrade logic on the entire itinerary; Main - Apply Avoid Cabin Downgrade logic on the main flight of every leg; None - Disable Avoid Cabin Downgrade logic (default value).
Sample Value:
{
"TravelPreferences": {
"TPA_Extensions": {
"AvoidCabinDowngrade": {
"Mode": "All"
},
"FlexibleFares": {
"FareParameters": [{
"Cabin": {
"Type": "C"
},
"AvoidCabinDowngrade": {
"Mode": "Main"
}
}
]
}
}
},
}Note: AvoidCabinDowngrade can be used on the main or flex fare level. Release date: June 30, 2022
v4 | June 30, 2021
- The Bargain Finder Max GIR Responses have been enhanced with minor fixes:
API Information
What's New
- The Bargain Finder Max GIR Responses have been enhanced with minor fixes:
Business Value
- Each of these enhancements enable greater personalization and efficiency to further refine the search.
v3 | March 31, 2021
- The BargainFinderMax Request has been enhanced with the following changes:
- Flight Amenities - distribute ATPCO Routehappy rich content via BargainFinderMax.
- Shop by Carry-On baggage - two new attributes added into existing baggage sections.
- The BargainFinderMax GIR Response have been enhanced with the new parameters and other changes listed below:
- Shop by Carry-On baggage - new elements in the shopping response.
- Flight Amenities - new ATPCO Routehappy rich content in the shopping response.
- Baggage Charge EquivalentAmount and EquivalentCurrency attributes were changed from required to optional.
API Information
What's New
- The BargainFinderMax Request has been enhanced with the following changes:
- Flight Amenities - distribute ATPCO Routehappy rich content via BargainFinderMax.
- Shop by Carry-On baggage - two new attributes added into existing baggage sections.
- The BargainFinderMax GIR Response have been enhanced with the new parameters and other changes listed below:
- Shop by Carry-On baggage - new elements in the shopping response.
- Flight Amenities - new ATPCO Routehappy rich content in the shopping response.
- Baggage Charge EquivalentAmount and EquivalentCurrency attributes were changed from required to optional.
Business Value
- Each of these enhancements enables greater personalization and efficiency to further refine the search.
New Features
In the Request
Optional
- Parameter: FlightAmenities
-
Type: Boolean
Description: Allow distribution of the Routehappy Amenities content through BargainFinderMaxRQ and RevalidateItinRQ. The default value is false.
Sample Value:
"RichContent": {
"FlightAmenities": true
}Note: Amenities - Comprehensive flight amenities data about the onboard experience. Functionality requires activation. xPath: OTA_AirLowFareSearchRQ/TPA_Extensions/RichContent/@FlightAmenities
In the Request
Optional
- Parameter: FreeCarryOn
-
Type: Boolean
Description: Allows filtering solution by availability with Free Carry-On baggage - available on Main Fare, Main Fare Leg, Flex Fares, Flex Fares Leg. Available through BargainFinderMaxRQ and RevalidateItinRQ.
Sample Value:
"TravelPreferences": {
"TPA_Extensions": {
"FlexibleFares": {
"FareParameters": [{
"Baggage": {
"FreePieceRequired": true,
"FreeCarryOn": true
},
"Leg": [{
"Baggage": {
"FreePieceRequired": false,
"FreeCarryOn": false
}
}
]
}
]
}
},
"Baggage": {
"RequestType": "A",
"Description": true,
"RequestedPieces": 4,
"FreePieceRequired": true,
"FreeCarryOn": true,
"CarryOnInfo": true
}
},Note: If one of the new attributes is specified on leg level, it is overriding the setting for the fare.
In the Request
Optional
- Parameter: CarryOnInfo
-
Type: Boolean
Description: Show Carry-on baggage info in response - available on Main Fare. Available through BargainFinderMaxRQ and RevalidateItinRQ.
Sample Value:
"TravelPreferences": {
"TPA_Extensions": {
"FlexibleFares": {
"FareParameters": [{
"Baggage": {
"FreePieceRequired": true,
"FreeCarryOn": true
},
"Leg": [{
"Baggage": {
"FreePieceRequired": false,
"FreeCarryOn": false
}
}
]
}
]
}
},
"Baggage": {
"RequestType": "A",
"Description": true,
"RequestedPieces": 4,
"FreePieceRequired": true,
"FreeCarryOn": true,
"CarryOnInfo": true
}
},Note: If one of the new attributes is specified on leg level, it is overriding the setting for the fare.
In the Response
Required
- Parameter: ProvisionType="B"
-
Type: BaggageProvisionType
Description: Provision Type (e.g. allowance, charges, embargo etc.) (BPT). For Carry On Allowances.
Sample Value:
GIR:
"baggageAllowanceDescs": [
{"id": 1, "pieceCount": 0},
{"id": 2, "pieceCount": 0},
{"id": 3, "pieceCount": 2},
{"id": 4, "pieceCount": 2},
{"id": 5, "pieceCount": 0},
{"id": 6, "pieceCount": 2},
{"id": 7, "pieceCount": 1},
{"id": 8, "pieceCount": 0},
{"id": 9, "pieceCount": 0},
{"id": 10, "pieceCount": 1}
"baggageInformation": [{
"provisionType": "B",
"airlineCode": "DL",
"segments": [{
"id": 0
}
],
"allowance": {
"ref": 6
}
}, {
"provisionType": "B",
"airlineCode": "DL",
"segments": [{
"id": 1
}
],
"allowance": {
"ref": 6
}
}Note: CarryOn in GIR-JSON response – will be returned under "provisionType": "B" with new added Allowance element under BaggageInformation or if Charge under "provisionType": "CC".
In the Response
Optional
- Parameter: Allowance Pieces
-
Type: complexType / integer
Description: Allowance amount stated in pieces.
Sample Value:
GIR:
"baggageAllowanceDescs": [
{"id": 1, "pieceCount": 0},
{"id": 2, "pieceCount": 0},
{"id": 3, "pieceCount": 2},
{"id": 4, "pieceCount": 2},
{"id": 5, "pieceCount": 0},
{"id": 6, "pieceCount": 2},
{"id": 7, "pieceCount": 1},
{"id": 8, "pieceCount": 0},
{"id": 9, "pieceCount": 0},
{"id": 10, "pieceCount": 1}
"baggageInformation": [{
"provisionType": "B",
"airlineCode": "DL",
"segments": [{
"id": 0
}
],
"allowance": {
"ref": 6
}
}, {
"provisionType": "B",
"airlineCode": "DL",
"segments": [{
"id": 1
}
],
"allowance": {
"ref": 6
}
}Note: For GIR response amount is referenced to the ID (difference shown in the sample field).
In the Response
Optional
- Parameter: ProvisionType="CC"
-
Type: BaggageProvisionType
Description: Provision Type (e.g. allowance, charges, embargo etc.) (BPT). For Carry On Charges.
Sample Value:
GIR:
"baggageChargeDescs": [{
"id": 1,
"equivalentAmount": 100,
"equivalentCurrency": "EUR",
"description1": "UP TO 70 POUNDS/32 KILOGRAMS",
"description2": "UP TO 62 LINEAR INCHES/158 LINEAR CENTIMETERS"
}, {
"id": 2,
"equivalentAmount": 100,
"equivalentCurrency": "EUR",
"description1": "UP TO 70 POUNDS/32 KILOGRAMS",
"description2": "UP TO 62 LINEAR INCHES/158 LINEAR CENTIMETERS"
}, {
"id": 3,
"firstPiece": 1,
"description1": "UP TO 18 POUNDS/8 KILOGRAMS",
"description2": "UP TO 46 LINEAR INCHES/118 LINEAR CENTIMETERS",
"noChargeNotAvailable": "X"
}, {
"id": 4,
"equivalentAmount": 150,
"equivalentCurrency": "EUR",
"firstPiece": 1,
"description1": "UP TO 50 POUNDS/23 KILOGRAMS",
"description2": "UP TO 62 LINEAR INCHES/158 LINEAR CENTIMETERS"
}
],
"baggageInformation": [{
"provisionType": "CC",
"airlineCode": "LH",
"segments": [{
"id": 0
}
],
"charge": {
"ref": 3
}
}Note: CarryOn in GIR response – will be returned under "provisionType": "B" with new added Allowance element under BaggageInformation or if Charge under "provisionType": "CC".
In the Response
Optional
- Parameter: FlightAmenities
-
Type: complexType
Description: Route Happy Amenities in GIR shopping response. List of references to flight amenities.
Sample Value:
GIR:
"flightAmenities": {
"beverage": [{"id": 1, "alcoholicCost": "free", "nonAlcoholicCost": "free", "exists": true}],
"entertainment": [{"id": 1, "exists": false, "type": "none"}, {"id": 2, "cost": "free", "exists": true, "type": "on-demand"}],
"food": [
{"id": 1, "cost": "free", "exists": true, "type": "meal"},
{"id": 2, "cost": "free", "exists": true, "type": "light meal"},
{"id": 3, "cost": "free", "exists": true, "type": "snack"},
{"id": 4, "cost": "free", "exists": true, "type": "premium meal"}
"ref": 5,
"segments": [
{"segment": {"bookingCode": "K", "cabinCode": "Y", "mealCode": "G", "seatsAvailable": 2}},
{
"segment": {
"bookingCode": "K",
"cabinCode": "Y",
"mealCode": "L",
"seatsAvailable": 2,
"availabilityBreak": true,
"flightAmenities": [{"beverageRef": 1, "entertainmentRef": 2, "foodRef": 1, "layoutRef": 7, "powerRef": 2, "seatRef": 9, "wifiRef": 2}]
}
}
]
}Note: Seat Amenity - Type, Pitch / Beverages Amenity - Alcoholic cost, Nonalcoholic cost, exists / Food Amenity - Cost, Exists, Type / Power Amenity - Cost, Distribution, Type / Layout Amenity - Row layout, Direct Aisle Access / Entertainment Amenity - Cost, Exists, Type / Wi-Fi Amenity - Cost, Exists, Type
Functional Updates And Enhancements
In the Request
Optional
- Parameter: RequestType
-
Type: BaggageRequestType
Description: This element allows users to request baggage information. It allows requesting CarryOn baggage information independently, without the need to display other baggage types.
Sample Value:
"TravelPreferences": {
"TPA_Extensions": {
"NumTrips": {"Number": 200},
"FlexibleFares": {"FareParameters": [{"PublicFare": {"Ind": true}, "Cabin": {"Type": "Economy"}, "Baggage": {"FreeCarryOn": true}, "Leg": [{"Num": 1, "Baggage": {"FreeCarryOn": true}}]}]}
},
"Baggage": {"RequestType": "C", "FreeCarryOn": true, "CarryOnInfo": true}
},Note: An existing attribute changed from required to optional.
In the Response
Optional
- Parameter: EquivalentAmount
-
Type: MonetaryAmountType
Description: An existing attribute changed from required to optional.
Sample Value:
"baggageChargeDescs": [{
"id": 1,
"equivalentAmount": 100,
"equivalentCurrency": "EUR",
"description1": "UP TO 70 POUNDS/32 KILOGRAMS",
"description2": "UP TO 62 LINEAR INCHES/158 LINEAR CENTIMETERS"
}, {
"id": 2,
"equivalentAmount": 100,
"equivalentCurrency": "EUR",
"description1": "UP TO 70 POUNDS/32 KILOGRAMS",
"description2": "UP TO 62 LINEAR INCHES/158 LINEAR CENTIMETERS"
}, {
"id": 3,
"firstPiece": 1,
"description1": "UP TO 18 POUNDS/8 KILOGRAMS",
"description2": "UP TO 46 LINEAR INCHES/118 LINEAR CENTIMETERS",
"noChargeNotAvailable": "X"
}, {
"id": 4,
"equivalentAmount": 150,
"equivalentCurrency": "EUR",
"firstPiece": 1,
"description1": "UP TO 50 POUNDS/23 KILOGRAMS",
"description2": "UP TO 62 LINEAR INCHES/158 LINEAR CENTIMETERS"
}
],
In the Response
Optional
- Parameter: EquivalentCurrency
-
Type: CurrencyCodeType
Description: An existing attribute changed from required to optional.
Sample Value:
"baggageChargeDescs": [{
"id": 1,
"equivalentAmount": 100,
"equivalentCurrency": "EUR",
"description1": "UP TO 70 POUNDS/32 KILOGRAMS",
"description2": "UP TO 62 LINEAR INCHES/158 LINEAR CENTIMETERS"
}, {
"id": 2,
"equivalentAmount": 100,
"equivalentCurrency": "EUR",
"description1": "UP TO 70 POUNDS/32 KILOGRAMS",
"description2": "UP TO 62 LINEAR INCHES/158 LINEAR CENTIMETERS"
}, {
"id": 3,
"firstPiece": 1,
"description1": "UP TO 18 POUNDS/8 KILOGRAMS",
"description2": "UP TO 46 LINEAR INCHES/118 LINEAR CENTIMETERS",
"noChargeNotAvailable": "X"
}, {
"id": 4,
"equivalentAmount": 150,
"equivalentCurrency": "EUR",
"firstPiece": 1,
"description1": "UP TO 50 POUNDS/23 KILOGRAMS",
"description2": "UP TO 62 LINEAR INCHES/158 LINEAR CENTIMETERS"
}
],
v1.0.0 | July 23, 2019
- Bargain Finder Max has been enhanced with the following new optional search parameters:
- Shop by Fare Basis Code – project introduces enhancements to our Bargain Finder Max API to support the capability for shopping to exclude a fare option based on Fare Basis Code.
- Shop by – Class of Service – project introduces enhancements to our Bargain Finder Max API to support the capability for shopping to exclude a fare option based on Class of Service (RBD).
- Shop with parity mode – the project introduces enhancements to our Multiple Branded Fare shopping capabilities that allows to control the parity mode also for the lowest fare returned.
- Enhanced Multi-Ticket – the new parameter allows to specify the requested number of One-Way solutions in Multi-Ticket processing.
- Ancillary, Fare type descriptors - new Fare type descriptors in Bargain Finder Max. Exposure of new elements in the response to describe the fare type, the fare rule and fare tariff. The most relevant is return Fare type code descriptor in the response that indicates Basic Economy fares from the response.
API Information
What's New
- Bargain Finder Max has been enhanced with the following new optional search parameters:
- Shop by Fare Basis Code – project introduces enhancements to our Bargain Finder Max API to support the capability for shopping to exclude a fare option based on Fare Basis Code.
- Shop by – Class of Service – project introduces enhancements to our Bargain Finder Max API to support the capability for shopping to exclude a fare option based on Class of Service (RBD).
- Shop with parity mode – the project introduces enhancements to our Multiple Branded Fare shopping capabilities that allows to control the parity mode also for the lowest fare returned.
- Enhanced Multi-Ticket – the new parameter allows to specify the requested number of One-Way solutions in Multi-Ticket processing.
- Ancillary, Fare type descriptors - new Fare type descriptors in Bargain Finder Max. Exposure of new elements in the response to describe the fare type, the fare rule and fare tariff. The most relevant is return Fare type code descriptor in the response that indicates Basic Economy fares from the response.
Business Value
- Each of these enhancements enable greater personalization and efficiency to further refine the search.
New Features
In the Request
Optional
- Parameter: PreferLevel
-
Type: IncludeExcludePreferLevelType
Description: New parameter to support the capability for shopping to exclude a fare option based on Fare Basis Code. Allow to exclude for fares in shopping Main Fare and within MFPI (FlexFare group).
Sample Value:
"FareParameters": [
{
"FareBasis": [
{
"Code": "OVAJZNB3",
"PreferLevel": "Preferred"
},
{
"Code": "ZPLAXJFK",
"PreferLevel": "Preferred"
},
{
"Code": "IP7J3",
"PreferLevel": "Unacceptable"
}
]
}
]
},Note: In the BargainFinderMax schema the PreferLevel was added in all 4 levels: Main fare, Main fare leg, Flex fare, Flex fare leg. This section covers Main fare level. Used to indicate a level of preference for an associate item: unacceptable or preferred. Default value is Preferred.
In the Request
Optional
- Parameter: PreferLevel
-
Type: IncludeExcludePreferLevelType
Description: New parameter to support the capability for shopping to exclude a fare option based on Fare Basis Code. Allow to exclude for fares in shopping Main Fare and within MFPI (FlexFare group).
Sample Value:
"OriginDestinationInformation": [
{
"RPH": "1",
"DepartureDateTime": "2020-01-01T00:00:00",
"OriginLocation": {
"LocationCode": "LAX"
},
"DestinationLocation": {
"LocationCode": "JFK"
},
"TPA_Extensions": {
"FareBasis": [
{
"Code": "OVAJZNB3",
"PreferLevel": "Preferred"
},
{
"Code": "ZPLAXJFK",
"PreferLevel": "Unacceptable"
},
{
"Code": "IP7J1",
"PreferLevel": "Preferred"
}
]
}
},Note: In the BargainFinderMax schema the PreferLevel was added in all 4 levels: Main fare, Main fare leg, Flex fare, Flex fare leg. This section covers Main fare leg level. Used to indicate a level of preference for an associate item: unacceptable or preferred. Default value is Preferred.
In the Request
Optional
- Parameter: PreferLevel
-
Type: IncludeExcludePreferLevelType
Description: New parameter to support the capability for shopping to exclude a fare option based on Fare Basis Code. Allow to exclude for fares in shopping Main Fare and within MFPI (FlexFare group).
Sample Value:
"FareParameters": [
{
"FareBasis": [
{
"Code": "OVAJZNB3",
"PreferLevel": "Preferred"
},
{
"Code": "ZPLAXJFK",
"PreferLevel": "Preferred"
},
{
"Code": "IP7J3",
"PreferLevel": "Unacceptable"
}
]
}
]
},Note: In the BargainFinderMax schema the PreferLevel was added in all 4 levels: Main fare, Main fare leg, Flex fare, Flex fare leg. This section covers Flex fare level. Used to indicate a level of preference for an associate item: unacceptable or preferred. Default value is Preferred.
In the Request
Optional
- Parameter: PreferLevel
-
Type: IncludeExcludePreferLevelType
Description: New parameter to support the capability for shopping to exclude a fare option based on Fare Basis Code. Allow to exclude for fares in shopping Main Fare and within MFPI (FlexFare group).
Sample Value:
"FlexibleFares": {
"FareParameters": [
{
"FareBasis": [
{
"Code": "OVAJZNB3",
"PreferLevel": "Preferred"
},
{
"Code": "ZPLAXJFK",
"PreferLevel": "Preferred"
},
{
"Code": "IP7J3",
"PreferLevel": "Unacceptable"
}
]
}
]
},Note: In the BargainFinderMax schema the PreferLevel was added in all 4 levels: Main fare, Main fare leg, Flex fare, Flex fare leg. This section covers Flex fare leg level. Used to indicate a level of preference for an associate item: unacceptable or preferred. Default value is Preferred.
In the Request
Optional
- Parameter: PreferLevel
-
Type: IncludeExcludePreferLevelType
Description: New parameter to support the capability for shopping to exclude a fare option based on Class of Service (RBD). Allow to exclude for fares in shopping Main Fare and within MFPI (FlexFare group).
Sample Value:
"TravelPreferences": {
"TPA_Extensions": {
"ClassOfService": [{
"Code": "J",
"PreferLevel": "Unacceptable"
}
]
}
},Note: In the BargainFinderMax schema the PreferLevel was added in all 4 levels: Main fare, Main fare leg, Flex fare, Flex fare leg. This section covers Main Fare. Used to indicate a level of preference for an associate item: unacceptable or preferred. Default value is Preferred.
In the Request
Optional
- Parameter: PreferLevel
-
Type: IncludeExcludePreferLevelType
Description: New parameter to support the capability for shopping to exclude a fare option based on Class of Service (RBD). Allow to exclude for fares in shopping Main Fare and within MFPI (FlexFare group).
Sample Value:
"OriginDestinationInformation": [{
"RPH": "1",
"DepartureDateTime": "2019-10-27T00:00:00",
"OriginLocation": {
"LocationCode": "LAX"
},
"DestinationLocation": {
"LocationCode": "JFK"
},
"TPA_Extensions": {
"ClassOfService": [{
"Code": "J",
"PreferLevel": "Unacceptable"
}
]
}
}Note: In the BargainFinderMax schema the PreferLevel was added in all 4 levels: Main fare, Main fare leg, Flex fare, Flex fare leg. This section covers Main fare leg level. Used to indicate a level of preference for an associate item: unacceptable or preferred. Default value is Preferred.
In the Request
Optional
- Parameter: PreferLevel
-
Type: IncludeExcludePreferLevelType
Description: New parameter to support the capability for shopping to exclude a fare option based on Class of Service (RBD). Allow to exclude for fares in shopping Main Fare and within MFPI (FlexFare group).
Sample Value:
"FlexibleFares": {
"FareParameters": [
{
"ClassOfService": [
{
"Code": "O",
"PreferLevel": "Preferred"
},
{
"Code": "J",
"PreferLevel": "Unacceptable"
}
]
}
]
},Note: In the BargainFinderMax schema the PreferLevel was added in all 4 levels: Main fare, Main fare leg, Flex fare, Flex fare leg. This section covers Flex fare level. Used to indicate a level of preference for an associate item: unacceptable or preferred. Default value is Preferred.
In the Request
Optional
- Parameter: PreferLevel
-
Type: IncludeExcludePreferLevelType
Description: New parameter to support the capability for shopping to exclude a fare option based on Class of Service (RBD). Allow to exclude for fares in shopping Main Fare and within MFPI (FlexFare group).
Sample Value:
"FlexibleFares": {
"FareParameters": [{
"Leg": [{
"Num": 1,
"ClassOfService": [{
"Code": "J",
"PreferLevel": "Unacceptable"
}
]
}
]
}
]
},Note: In the BargainFinderMax schema the PreferLevel was added in all 4 levels: Main fare, Main fare leg, Flex fare, Flex fare leg. This section covers Flex fare leg level. Used to indicate a level of preference for an associate item: unacceptable or preferred. Default value is Preferred.
In the Request
Optional
- Parameter: ParityModeForLowest
-
Type: string
Description: Parity mode for lowest branded fare. This parameter gives the ability to apply parity mode for the main/primary fare.
Sample Value:
"PriceRequestInformation": {
"TPA_Extensions": {
"BrandedFareIndicators": {
"SingleBrandedFare": false,
"ParityModeForLowest": "Leg",
"MultipleBrandedFares": true
}
}
}
},Note: If set, given parity mode will be forced on the cheapest branded fare solution. If not specified, no parity (None) is forced on the cheapest branded fare solution. It's designed to work with MultipleBrandedFares feature only.
In the Request
Optional
- Parameter: RequestedOneWays
-
Type: positiveInteger
Description: The new parameter RequestedOneWays allows to specify the requested number of One-Way solutions in Multi-Ticket processing.
Sample Value:
"MultiTicket": {
"DisplayPolicy": "SOW",
"RequestedOneWays": 30
}
}
}
}Note: Allow to set requested number of OneWays in MultiTicket processing.
In the Response
Optional
- Parameter: FareType
-
Type: string
Description: New Fare type descriptors in BargainFinderMax. Provides exposure of new elements in the response to describe the fare type, the fare rule, fare tariff and fare bitmap. The most relevant is return Fare type code descriptor in the response that indicates Basic Economy fares from the response. Fare type (e.g. FIT, RU).
Sample Value:
"fareComponentDescs": [
{
"id": 1,
"governingCarrier": "AA",
"fareAmount": 79.44,
"fareCurrency": "USD",
"fareBasisCode": "OVAJZNB3/DRB",
"farePassengerType": "ADT",
"ticketDesignator": "DRB",
"publishedFareAmount": 79.44,
"oneWayFare": true,
"privateFare": true,
"directionality": "FROM",
"direction": "WH",
"notValidBefore": "2020-01-01",
"notValidAfter": "2020-01-01",
"applicablePricingCategories": "10 15 18 25",
"vendorCode": "ATP",
"fareTypeBitmap": "0A",
"fareType": "EOU",
"fareTariff": "770",
"fareRule": "XX26",
"segments": [
{
"segment": {}
}
]
}
]Note: Elements "FareType", "ATPCO_FareTariff", "ATPCO_FareRule", "FareIndicator", "PrivateTariffIndicator", and "FareTypeBitmap" are rare. They are part of fare pricing. They should be sent if the carrier uses them also in ancillaries’ records (for example, if a carrier uses private/public fare indicator in the S7 rules).
In the Response
Optional
- Parameter: FareTariff
-
Type: string
Description: New Fare type descriptors in BargainFinderMax. Provides exposure of new elements in the response to describe the fare type, the fare rule, fare tariff and fare bitmap. The most relevant is return Fare type code descriptor in the response that indicates Basic Economy fares from the response. Fare tariff (e.g. 21).
Sample Value:
"fareComponentDescs": [
{
"id": 1,
"governingCarrier": "AA",
"fareAmount": 79.44,
"fareCurrency": "USD",
"fareBasisCode": "OVAJZNB3/DRB",
"farePassengerType": "ADT",
"ticketDesignator": "DRB",
"publishedFareAmount": 79.44,
"oneWayFare": true,
"privateFare": true,
"directionality": "FROM",
"direction": "WH",
"notValidBefore": "2020-01-01",
"notValidAfter": "2020-01-01",
"applicablePricingCategories": "10 15 18 25",
"vendorCode": "ATP",
"fareTypeBitmap": "0A",
"fareType": "EOU",
"fareTariff": "770",
"fareRule": "XX26",
"segments": [
{
"segment": {}
}
]
}
]Note: Elements "FareType", "ATPCO_FareTariff", "ATPCO_FareRule", "FareIndicator", "PrivateTariffIndicator", and "FareTypeBitmap" are rare. They are part of fare pricing. They should be sent if the carrier uses them also in ancillaries’ records (for example, if a carrier uses private/public fare indicator in the S7 rules).
In the Response
Optional
- Parameter: FareRule
-
Type: string
Description: New Fare type descriptors in BargainFinderMax. Provides exposure of new elements in the response to describe the fare type, the fare rule, fare tariff and fare bitmap. The most relevant is return Fare type code descriptor in the response that indicates Basic Economy fares from the response. FareRule, part of the fare pricing (e.g. 62DD, K0ST), expected if carrier uses them also in ancillaries’ records.
Sample Value:
"fareComponentDescs": [
{
"id": 1,
"governingCarrier": "AA",
"fareAmount": 79.44,
"fareCurrency": "USD",
"fareBasisCode": "OVAJZNB3/DRB",
"farePassengerType": "ADT",
"ticketDesignator": "DRB",
"publishedFareAmount": 79.44,
"oneWayFare": true,
"privateFare": true,
"directionality": "FROM",
"direction": "WH",
"notValidBefore": "2020-01-01",
"notValidAfter": "2020-01-01",
"applicablePricingCategories": "10 15 18 25",
"vendorCode": "ATP",
"fareTypeBitmap": "0A",
"fareType": "EOU",
"fareTariff": "770",
"fareRule": "XX26",
"segments": [
{
"segment": {}
}
]
}
]Note: Elements "FareType", "ATPCO_FareTariff", "ATPCO_FareRule", "FareIndicator", "PrivateTariffIndicator", and "FareTypeBitmap" are rare. They are part of fare pricing. They should be sent if the carrier uses them also in ancillaries’ records (for example, if a carrier uses private/public fare indicator in the S7 rules).
v1 | March 28, 2019
- Bargain Finder Max has been enhanced with following new features:
- REST JSON API response format - Grouped Itinerary Response (GIR). Note: OTA JSON Response type is no longer available with the new version
- Streamed response format - Split the response into multiple packages by setting a limited number of itineraries in each one of them
- Branded Fare Attributes - Parameter to request brand attributes, allows Sabre agencies to return additional brand attributes.
- Exclude Non-Branded Fares - Allows for only branded fares to be returned when requesting single or multiple brands
- Alternate Airport Cross Border Indicator - Added flexibility to determine whether alternate airports can be in other country than main pair when mileage is used
- New Distribution Capability (NDC) - New parameters introduced to the Shopping request and response to support the new functionality
- Credit Card Fee - The credit card amount returned with Low-Cost-Carriers options added at passenger level
- Booking Fee - The booking fee amount returned with Low-Cost-Carriers options added at passenger level
- Source PCC - The source PCC of the contract processed for Agency Managed Commission will be added for audit and tracking purposes
- Fare Type Bitmap - A fare pricing component related to ancillaries offer
API Information
What's New
- Bargain Finder Max has been enhanced with following new features:
- REST JSON API response format - Grouped Itinerary Response (GIR). Note: OTA JSON Response type is no longer available with the new version
- Streamed response format - Split the response into multiple packages by setting a limited number of itineraries in each one of them
- Branded Fare Attributes - Parameter to request brand attributes, allows Sabre agencies to return additional brand attributes.
- Exclude Non-Branded Fares - Allows for only branded fares to be returned when requesting single or multiple brands
- Alternate Airport Cross Border Indicator - Added flexibility to determine whether alternate airports can be in other country than main pair when mileage is used
- New Distribution Capability (NDC) - New parameters introduced to the Shopping request and response to support the new functionality
- Credit Card Fee - The credit card amount returned with Low-Cost-Carriers options added at passenger level
- Booking Fee - The booking fee amount returned with Low-Cost-Carriers options added at passenger level
- Source PCC - The source PCC of the contract processed for Agency Managed Commission will be added for audit and tracking purposes
- Fare Type Bitmap - A fare pricing component related to ancillaries offer
Business Value
- Each of these enhancements enable greater personalization and efficiency to further refine the search and response structure.All this boosted with additional option to use AirStreaming functionality.
New Features
In the Request
Optional
- Parameter: AirStreaming
-
Type: complexType
Description: New parameter to activate the AirStreaming functionality which allows to receive a chunked response. Attribute MaxItinsPerChunk is set individually by the customers and configures what is the maximum number of itineraries per one chunk in the below example the value is set to max. 10 Itineraries per chunk. There are 2 types of streaming available, therefore the Method of AirStreaming is equal either to “Services” or “WholeResponse”.
Sample Value:
{
"OTA_AirLowFareSearchRQ": {
"TPA_Extensions": {
"IntelliSellTransaction": {
"AirStreaming": {
"Method": "Services",
"MaxItinsPerChunk": 10
}
}
}
}
}Note: This feature requires some development work on the customer’s side, therefore more information is available in dedicated DAG Document. The same document describes 2 available types of AirStreaming. Functionality is available in JSON over the REST Endpoints. Applies to BargainFinderMax, Alternate Airport Shop, and Alternate Dates services.
In the Request
Optional
- Parameter: NonBrandedFares
-
Type: complexType
Description: New Parameter to allow to exclude non-branded fares in the shopping response. When the PreferLevel is set to “Preferred" this means “Use non-branded fares”. If this is single filter (no other preferred elements) the meaning is “Use ONLY non-branded fares”. If other preferred filters are also used the meaning is “Use non-branded fares or fares with given (in filters) brands”. When the PreferLevel is set to “Unacceptable" this means “Do not use non-branded fares”. If this is single filter (no other unacceptable elements) the meaning is “Use ONLY branded fares – skip all non-branded”. If other unacceptable filters are also used the meaning is “Use only branded fares excluding fares matching given (in filters) brands”.
Sample Value:
{
"PriceRequestInformation": {
"TPA_Extensions": {
"BrandedFareIndicators": {
"SingleBrandedFare": "true",
"BrandFilters": {
"Brand": {
"Code": "A3",
"PreferLevel": "Unacceptable"
},
"NonBrandedFares": {
"PreferLevel": "Preferred"
}
}
}
}
}
}Note: In the BargainFinderMax schema version 5.1.0, the NonBrandedFares were added in all 4 levels: Main fare, Main fare leg, Flex fare, Flex fare leg. This section covers Main Fare. Used to indicate a level of preference for an associate item: unacceptable or preferred.
In the Request
Optional
- Parameter: NonBrandedFares
-
Type: complexType
Description: New Parameter to allow to exclude non-branded fares in the shopping response. When the PreferLevel is set to “Preferred" this means “Use non-branded fares”. If this is single filter (no other preferred elements) the meaning is “Use ONLY non-branded fares”. If other preferred filters are also used the meaning is “Use non-branded fares or fares with given (in filters) brands”. When the PreferLevel is set to “Unacceptable" this means “Do not use non-branded fares”. If this is single filter (no other unacceptable elements) the meaning is “Use ONLY branded fares – skip all non-branded”. If other unacceptable filters are also used the meaning is “Use only branded fares excluding fares matching given (in filters) brands”.
Sample Value:
{
"OriginDestinationInformation": {
"RPH": 1,
"DepartureDateTime": "2019-10-10T00:00:00",
"OriginLocation": {
"LocationCode": "DFW"
},
"DestinationLocation": {
"LocationCode": "KRK"
},
"TPA_Extensions": {
"SegmentType": {
"Code": "O"
},
"BrandFilters": {
"Brand": {
"Code": "A2",
"PreferLevel": "Preferred"
},
"NonBrandedFares": {
"PreferLevel": "Preferred"
}
}
}
}
}Note: In the BargainFinderMax schema version 5.1.0, the NonBrandedFares were added in all 4 levels: Main fare, Main fare leg, Flex fare, Flex fare leg. This section covers Main Fare leg. Used to indicate a level of preference for an associate item: unacceptable or preferred.
In the Request
Optional
- Parameter: NonBrandedFares
-
Type: complexType
Description: New Parameter to allow to exclude non-branded fares in the shopping response. When the PreferLevel is set to “Preferred" this means “Use non-branded fares”. If this is single filter (no other preferred elements) the meaning is “Use ONLY non-branded fares”. If other preferred filters are also used the meaning is “Use non-branded fares or fares with given (in filters) brands”. When the PreferLevel is set to “Unacceptable" this means “Do not use non-branded fares”. If this is single filter (no other unacceptable elements) the meaning is “Use ONLY branded fares – skip all non-branded”. If other unacceptable filters are also used the meaning is “Use only branded fares excluding fares matching given (in filters) brands”.
Sample Value:
{
"FlexibleFares": {
"FareParameters": {
"BrandedFareIndicators": {
"BrandFilters": {
"NonBrandedFares": {
"PreferLevel": "Preferred"
}
}
}
}
}
}Note: In the BargainFinderMax schema version 5.1.0, the NonBrandedFares were added in all 4 levels: Main fare, Main fare leg, Flex fare, Flex fare leg. This section covers Flex Fare. Used to indicate a level of preference for an associate item: unacceptable or preferred.
In the Request
Optional
- Parameter: NonBrandedFares
-
Type: complexType
Description: New Parameter to allow to exclude non-branded fares in the shopping response. When the PreferLevel is set to “Preferred" this means “Use non-branded fares”. If this is single filter (no other preferred elements) the meaning is “Use ONLY non-branded fares”. If other preferred filters are also used the meaning is “Use non-branded fares or fares with given (in filters) brands”. When the PreferLevel is set to “Unacceptable" this means “Do not use non-branded fares”. If this is single filter (no other unacceptable elements) the meaning is “Use ONLY branded fares – skip all non-branded”. If other unacceptable filters are also used the meaning is “Use only branded fares excluding fares matching given (in filters) brands”.
Sample Value:
{
"FlexibleFares": {
"FareParameters": {
"BrandedFareIndicators": {
"BrandFilters": {
"Brand": {
"Code": "B2",
"PreferLevel": "Unacceptable"
},
"NonBrandedFares": {
"PreferLevel": "Preferred"
}
}
},
"Leg": {
"Num": 1,
"FareType": {
"Code": "EU",
"PreferLevel": "Preferred"
},
"BrandFilters": {
"Brand": {
"Code": "A2",
"PreferLevel": " Preferred "
},
"NonBrandedFares": {
"PreferLevel": "Preferred"
}
}
}
}
}
}Note: In the BargainFinderMax schema version 5.1.0, the NonBrandedFares were added in all 4 levels: Main fare, Main fare leg, Flex fare, Flex fare leg. This section covers Flex Fare leg. Used to indicate a level of preference for an associate item: unacceptable or preferred.
In the Request
Optional
- Parameter: AllowBorderCross
-
Type: boolean
Description: New parameter set from default to true. In addition to SisterDestinationMileage, it enables to cross a given country border if an alternative Airport is in the range of mileage radius.
Sample Value:
{
"OriginDestinationInformation": {
"TPA_Extensions": {
"SisterDestinationMileage": {
"AllowBorderCross": "true"
}
}
}
}Note: Allow to return alternate airports from other countries. Default value is true. AllowBorderCross configuration set at AlternateAirportMileage overrides values of the same parameter set at leg level.
In the Request
Optional
- Parameter: AllowBorderCross
-
Type: boolean
Description: New parameter set from default to true. In addition to SisterOriginMileage it enables to cross a given country border if an alternative Airport is in the range of requested mileage radius.
Sample Value:
{
"OriginDestinationInformation": {
"TPA_Extensions": {
"SisterOriginMileage": {
"AllowBorderCross": "true"
}
}
}
}Note: Allow to return alternate airports from other countries. Default value is true. AllowBorderCross configuration set at AlternateAirportMileage overrides values of the same parameter set at leg level.
In the Request
Optional
- Parameter: AllowBorderCross
-
Type: boolean
Description: New parameter set from default to true. In addition to AlternateAirportMileage it enables to cross a given country border if an alternative Airport is in the range of requested mileage radius.
Sample Value:
{
"TPA_Extensions": {
"AlternateAirportMileage": {
"AllowBorderCross": "true"
}
}
}Note: Allow to return alternate airports from other countries. Default value is true. AllowBorderCross configuration set at AlternateAirportMileage overrides values of the same parameter set at leg level.
In the Request
Optional
- Parameter: DataSources
-
Type: complexType
Description: NDC content. Allows sabre agency to choose which content source to drive at the request level. Customer will be able to drive all content sources ATPCO/LCC/NDC, or NDC Only or ATPCO Only, or any combination of them, overriding current default.
Sample Value:
{
"TravelPreferences": {
"TPA_Extensions": {
"DataSources": {
"ATPCO": "Enable",
"LCC": "Disable",
"NDC": "Enable"
}
}
}
}Note: This parameter is currently available for JSON/REST API only.
In the Request
Optional
- Parameter: PreferNDCSourceOnTie
-
Type: complexType
Description: Select content from NDC Content Source in case of identical offers.
Sample Value:
"TPA_Extensions": {
"NumTrips": {
"Number": 10
},
"DataSources": {
"ATPCO": "Enable",
"LCC": "Disable",
"NDC": "Enable"
},
"PreferNDCSourceOnTie": {
"Value": true
}
}Note: This parameter is currently available for JSON/REST API only.
In the Response
Optional
- Parameter: OfferId
-
Type: string
Description: NDC Offer Id, uniquely identifies an Offer item within the context of one message. An OfferID is assigned to an itinerary’s price point. Example "cdjnxalksm0-1".
Sample Value:
{
"PricedItineraries": {
"PricedItinerary": {
"AirItineraryPricingInfo": {
"Offer": {
"OfferId": "do3385fr4jsvz1el50-2"
}
}
}
}
}Note: This parameter is currently available for JSON/REST API only.
In the Response
Optional
- Parameter: OfferItemId
-
Type: string
Description: NDC OfferItem Id, Unique identifier for this Offer item instance. Offer item is a priceable chunk of services. Example "cdjnxalksm0-1-1".
Sample Value:
{
"PricedItineraries": {
"PricedItinerary": {
"AirItineraryPricingInfo": {
"Offer": {
"OfferItemId": "do3385fr4jsvz1el50-2-1"
}
}
}
}
}Note: This parameter is currently available for JSON/REST API only.
In the Response
Optional
- Parameter: ServiceId
-
Type: string
Description: NDC Service Id, uniquely Identifies a Service within the context of one message. A service is a feature/service included in a given flight. Example "cdjnxalksm0-1-1-1.
Sample Value:
{
"PricedItineraries": {
"PricedItinerary": {
"AirItineraryPricingInfo": {
"Offer": {
"ServiceId": "do3385fr4jsvz1el50-2-1-1"
}
}
}
}
}Note: This parameter is currently available for JSON/REST API only.
In the Response
Optional
- Parameter: TTL
-
Type: string
Description: Parameter indicates Time to Live in minutes, how long the offer will be valid in the Offer Store. the TTL for NDC offers is different than for ATPCO.
Sample Value:
{
"PricedItineraries": {
"PricedItinerary": {
"AirItineraryPricingInfo": {
"Offer": {
"TTL": 35
}
}
}
}
}Note: This parameter is currently available for JSON/REST API only.
In the Response
Required
- Parameter: Source
-
Type: string
Description: Parameter allows to identify the source of the offer i.e. NDC, ATPCO, LCC.
Sample Value:
{
"PricedItineraries": {
"PricedItinerary": {
"AirItineraryPricingInfo": {
"Source": {
"value": "NDC"
}
}
}
}
}Note: This parameter is currently available for JSON/REST API only.
In the Request
Optional
- Parameter: ReturnBrandAncillaries
-
Type: boolean
Description: To request brand attributes, allows Sabre agencies to return additional brand attributes in the response it returns the structured data filed in table 166. Brand attributes is a feature within the Branded fares capabilities and will be returned with single and multiple branded fares request.
Sample Value:
{
"TravelerInfoSummary": {
"SeatsRequested": 1,
"AirTravelerAvail": {
"PassengerTypeQuantity": {
"Code": "ADT",
"Quantity": 1,
"TPA_Extensions": {
"VoluntaryChanges": {
"Match": "Info"
}
}
}
},
"PriceRequestInformation": {
"CurrencyCode": "USD",
"TPA_Extensions": {
"BrandedFareIndicators": {
"MultipleBrandedFares": "true",
"ReturnBrandAncillaries": "true"
}
}
}
}
}
v4.3.0 | September 20, 2018
- Bargain Finder Max has been enhanced with the following new optional search parameters:
- Shop by Fare Type Code – to support the capability for shopping to include/exclude a fare option based on Fare Type Code.
- Shop by Brand ID Code – to support the capability for shopping to include/exclude a fare option based on Brand ID code.
API Information
What's New
- Bargain Finder Max has been enhanced with the following new optional search parameters:
- Shop by Fare Type Code – to support the capability for shopping to include/exclude a fare option based on Fare Type Code.
- Shop by Brand ID Code – to support the capability for shopping to include/exclude a fare option based on Brand ID code.
Business Value
- Each of these enhancements enable greater personalization and efficiency to further refine the search.
New Features
In the Request
Optional
- Parameter: FareType Code
-
Type: FareTypePrefType
Description: New parameters to support the capability for shopping to include/exclude a fare option based on Fare Type Code. The parameter to be used in a search for the whole journey.
Sample Value:
{
"TravelPreferences": {
"TPA_Extensions": {
"FareType": [
{
"@Code": "EOU",
"@PreferLevel": "Preferred"
},
{
"@Code": "ERU",
"@PreferLevel": "Unacceptable"
}
]
}
}
}Note: New parameter at the shopping, to filter fares by Fare Type Code filters out all unbundled (basic economy fares) which are fares filed with a fare type code = EOU (economy one-way unbundled) or ERU (economy return unbundled).
In the Request
Optional
- Parameter: FareType Code
-
Type: FareTypePrefType
Description: New parameters to support the capability for shopping to include/exclude a fare option based on Fare Type Code. The parameter to be used in a search, at the leg level.
Sample Value:
{
"OriginDestinationInformation": {
"@RPH": 1,
"DepartureDateTime": "2018-10-10T00:00:00",
"OriginLocation": {
"@LocationCode": "DFW"
},
"DestinationLocation": {
"@LocationCode": "KRK"
},
"TPA_Extensions": {
"SegmentType": {
"@Code": "O"
},
"FareType": [
{
"@Code": "EOU",
"@PreferLevel": "Preferred"
},
{
"@Code": "ERU",
"@PreferLevel": "Preferred"
}
]
}
}
}Note: New parameter at the shopping, to filter fares by Fare Type Code filters out all unbundled (basic economy fares) which are fares filed with a fare type code = EOU (economy one-way unbundled) or ERU (economy return unbundled).
In the Request
Optional
- Parameter: FareType Code
-
Type: FareTypePrefType
Description: New parameters to support the capability for shopping to include/exclude a fare option based on Fare Type Code. To be used in a search, for the whole itinerary, in the multiple fares per itinerary group definition.
Sample Value:
{
"TPA_Extensions": {
"FlexibleFares": {
"FareParameters": {
"FareType": [
{
"@Code": "EU",
"@PreferLevel": "Preferred"
},
{
"@Code": "ERU",
"@PreferLevel": "Preferred"
}
],
"Leg": [
{
"@Num": 1,
"FareType": {
"@Code": "EU",
"@PreferLevel": "Preferred"
}
},
{
"@Num": 2,
"FareType": {
"@Code": "EOU",
"@PreferLevel": "Unacceptable"
}
}
]
}
},
"FareType": [
{
"@Code": "EOU",
"@PreferLevel": "Preferred"
},
{
"@Code": "ERU",
"@PreferLevel": "Preferred"
}
]
}
}Note: New parameter at the shopping, to filter fares by Fare Type Code filters out all unbundled (basic economy fares) which are fares filed with a fare type code = EOU (economy one-way unbundled) or ERU (economy return unbundled).
In the Request
Optional
- Parameter: FareType Code
-
Type: FareTypePrefType
Description: New parameters to support the capability for shopping to include/exclude a fare option based on Fare Type Code. To be used in a search, at the leg level, in the multiple fares per itinerary group definition.
Sample Value:
{
"FlexibleFares": {
"FareParameters": {
"Leg": [
{
"@Num": 1,
"FareType": {
"@Code": "ERU",
"@PreferLevel": "Preferred"
}
},
{
"@Num": 2,
"FareType": {
"@Code": "EOU",
"@PreferLevel": "Unacceptable"
}
}
]
}
}
}Note: New parameter at the shopping, to filter fares by Fare Type Code filters out all unbundled (basic economy fares) which are fares filed with a fare type code = EOU (economy one-way unbundled) or ERU (economy return unbundled).
In the Request
Optional
- Parameter: Brand Code
-
Type: BrandCodePrefType
Description: New parameter to support the capability for shopping to include/exclude a fare option based on Brand ID code. The parameter to be used in a search for the whole journey.
Sample Value:
{
"PriceRequestInformation": {
"TPA_Extensions": {
"BrandedFareIndicators": {
"@SingleBrandedFare": "true",
"BrandFilters": {
"Brand": [
{
"@Code": "A3",
"@PreferLevel": "Preferred"
},
{
"@Code": "A2",
"@PreferLevel": "Preferred"
}
]
}
}
}
}
}Note: If brand filters are used in either single brand mode or multiple brand mode both cheapest and upsells fares will be considered for filtering. If “preferred” brands are given then only branded fares matching the brand codes will be returned. If “unacceptable” brands are given then branded fares matching this brand codes will be excluded (non-branded will stay in processing).
In the Request
Optional
- Parameter: Brand Code
-
Type: BrandCodePrefType
Description: New parameter to support the capability for shopping to include/exclude a fare option based on Brand ID code. The parameter to be used in a search, at the leg level.
Sample Value:
{
"OriginDestinationInformation": {
"@RPH": 1,
"DepartureDateTime": "2018-10-10T00:00:00",
"OriginLocation": {
"@LocationCode": "DFW"
},
"DestinationLocation": {
"@LocationCode": "KRK"
},
"TPA_Extensions": {
"SegmentType": {
"@Code": "O"
},
"BrandFilters": {
"Brand": [
{
"@Code": "A2",
"@PreferLevel": "Preferred"
},
{
"@Code": "A3",
"@PreferLevel": "Preferred"
}
]
}
}
}
}Note: If brand filters are used in either single brand mode or multiple brand mode both cheapest and upsells fares will be considered for filtering. If “preferred” brands are given then only branded fares matching the brand codes will be returned. If “unacceptable” brands are given then branded fares matching this brand codes will be excluded (non-branded will stay in processing).
In the Request
Optional
- Parameter: Brand Code
-
Type: BrandCodePrefType
Description: New parameter to support the capability for shopping to include/exclude a fare option based on Brand ID code. To be used in a search, for the whole itinerary, in the multiple fares per itinerary group definition.
Sample Value:
{
"FlexibleFares": {
"FareParameters": {
"BrandedFareIndicators": {
"BrandFilters": {
"Brand": [
{
"@Code": "B2",
"@PreferLevel": "Unacceptable"
},
{
"@Code": "A1",
"@PreferLevel": "Unacceptable"
}
]
}
}
}
}
}Note: If brand filters are used in multiple brand mode. The cheapest and upsells fares will be considered for filtering. If “preferred” brands are given then only branded fares matching the brand codes will be returned If “unacceptable” brands are given then branded fares matching this brand codes will be excluded (non-branded will stay in processing).
In the Request
Optional
- Parameter: Brand Code
-
Type: BrandCodePrefType
Description: New parameter to support the capability for shopping to include/exclude a fare option based on Brand ID code. To be used in a search, at the leg level, in the multiple fares per itinerary group definition.
Sample Value:
{
"FlexibleFares": {
"FareParameters": {
"BrandedFareIndicators": {
"BrandFilters": {
"Brand": [
{
"@Code": "B2",
"@PreferLevel": "Unacceptable"
},
{
"@Code": "A1",
"@PreferLevel": "Unacceptable"
}
]
}
},
"Leg": [
{
"@Num": 1,
"FareType": {
"@Code": "EU",
"@PreferLevel": "Preferred"
},
"BrandFilters": {
"Brand": [
{
"@Code": "A1",
"@PreferLevel": "Unacceptable"
},
{
"@Code": "A2",
"@PreferLevel": "Unacceptable"
}
]
}
},
{
"@Num": 2,
"FareType": {
"@Code": "EU",
"@PreferLevel": "Unacceptable"
},
"BrandFilters": {
"Brand": [
{
"@Code": "B3",
"@PreferLevel": "Unacceptable"
},
{
"@Code": "B4",
"@PreferLevel": "Unacceptable"
}
]
}
}
]
}
}
}Note: If brand filters are used in multiple brand mode. The cheapest and upsells fares will be considered for filtering. If “preferred” brands are given then only branded fares matching the brand codes will be returned If “unacceptable” brands are given then branded fares matching this brand codes will be excluded (non-branded will stay in processing).
v4.2.0 | June 27, 2018
- Bargain Finder Max has been enhanced with the following new optional search parameters:
- Long Connect – To specify the number or percentage of itineraries with long connections to be returned.
- Revalidate Itinerary – To control the availability validation for a given itinerary.
- Branded Fares Optimization – To control the brand parity logic preference (leg or itinerary parity, number of up-sells, allow brand-less legs and fallback modes).
- AirShoppingRuleManager – To specify and invoke the traveler persona rules.
- Additionally, the following information will be returned in the BargainFinderMax response:
- Forced Stopover Indicator – New indicator at the segment level to denote stopover point.
- Revalidate Itinerary – Renamed element from "repriced" to "revalidated".
API Information
What's New
- Bargain Finder Max has been enhanced with the following new optional search parameters:
- Long Connect – To specify the number or percentage of itineraries with long connections to be returned.
- Revalidate Itinerary – To control the availability validation for a given itinerary.
- Branded Fares Optimization – To control the brand parity logic preference (leg or itinerary parity, number of up-sells, allow brand-less legs and fallback modes).
- AirShoppingRuleManager – To specify and invoke the traveler persona rules.
- Additionally, the following information will be returned in the BargainFinderMax response:
- Forced Stopover Indicator – New indicator at the segment level to denote stopover point.
- Revalidate Itinerary – Renamed element from "repriced" to "revalidated".
Business Value
- Each of these new parameters power new ways to market, shop and convert lookers to bookers.
New Features
In the Request
Optional
- Parameter: NumberOfSolutions
-
Type: CountOrPercentage
Description: Indicator to specify the desired number of solutions to be returned in the response either in percentage or a number.
Sample Value:
{
"TravelPreferences": {
"ValidInterlineTicket": "true",
"TPA_Extensions": {
"TripType": {
"Value": "OneWay"
},
"LongConnectTime": {
"Enable": "true",
"Min": 781,
"NumberOfSolutions": "23%"
},
"JumpCabinLogic": {
"Disabled": "true"
}
}
}
}
In the Request
Optional
- Parameter: AlwaysCheckAvailability
-
Type: Boolean
Description: This parameter allows customers to control the availability validation for a given itinerary.
Sample Value:
{
"TravelPreferences": {
"VendorPref": {
"PreferLevel": "Preferred",
"Code": "EK"
},
"TPA_Extensions": {
"VerificationItinCallLogic": {
"Value": "M",
"AlwaysCheckAvailability": "true"
}
}
}
}Note: Applicable only to Revalidate Itinerary functionality.
In the Request
Optional
- Parameter: UpsellLimit
-
Type: Integer
Description: New parameter to limit the number of branded fare upsell solutions to be returned.
Sample Value:
{
"PriceRequestInformation": {
"AccountCode": {
"Code": "BD001"
},
"TPA_Extensions": {
"BrandedFareIndicators": {
"MultipleBrandedFares": "true",
"SingleBrandedFare": "true",
"ParityMode": "Leg",
"UpsellLimit": 2
}
}
}
}
In the Request
Optional
- Parameter: ItinParityBrandlessLeg
-
Type: Boolean
Description: New parameter to allow for brand-less leg solutions when itinerary parity is requested.
Sample Value:
{
"TPA_Extensions": {
"BrandedFareIndicators": {
"MultipleBrandedFares": "true",
"ItinParityBrandlessLeg": "true",
"ParityMode": "Itin"
}
}
}
}
In the Request
Optional
- Parameter: ParityMode
-
Type: String
Description: New parameter to control the brand parity logic preference (Leg Parity or Itinerary Parity).
Sample Value:
{
"TPA_Extensions": {
"Priority": {
"Price": {
"Priority": 2
},
"DirectFlights": {
"Priority": 1
},
"Time": {
"Priority": 3
},
"Vendor": {
"Priority": 4
}
},
"BrandedFareIndicators": {
"MultipleBrandedFares": "true",
"SingleBrandedFare": "true",
"ParityMode": "Itin",
"ItinParityFallbackMode": "LowestSingle"
}
}
}Note: ParityMode and ItinParityFallbackMode parameters are optional. When specifying the ParityMode=”Itin” at the request level without specifying the ItinParityFallbackMode, then the default fallback mode in the “BFM rule” level will be applied. Possible fallback modes: LowestSingle (no upsell options only lowest single possible branded solutions) or Leg (upsells generated using leg parity mode).
In the Request
Optional
- Parameter: ItinParityFallbackMode
-
Type: String
Description: New parameter to control the fall back mode logic when brand itinerary parity cannot be met (lowest single brand or leg parity).
Sample Value:
{
"TPA_Extensions": {
"Priority": {
"Price": {
"Priority": 2
},
"DirectFlights": {
"Priority": 1
},
"Time": {
"Priority": 3
},
"Vendor": {
"Priority": 4
}
},
"BrandedFareIndicators": {
"MultipleBrandedFares": "true",
"SingleBrandedFare": "true",
"ParityMode": "Itin",
"ItinParityFallbackMode": "LowestSingle"
}
}
}Note: Possible FallBack modes to be used are: LowestSingle (no upsell options only lowest single possible branded solutions) or Leg (upsells generated using leg parity mode).
In the Request
Required
- Parameter: TravelerPersona@Name
-
Type: String
Description: New parameter to specify the traveler persona as created via the Air Shopping Rules Manager.
Sample Value:
{
"IntelliSellTransaction": {
"RequestType": {
"Name": "50ITINS"
},
"TravelerPersona": {
"Name": "ABCTRAVEL"
}
}
}Note: The name of the ‘Travel Persona’ is to be used with the Air Shopping Rules Manager application, only. The applicable rules associated to the travel persona will be invoked by Bargain Finder Max.
In the Response
Optional
- Parameter: RequestedStopover Ind
-
Type: Boolean
Description: Indicator to identify which segment is the one departing from the stopover point in the BargainFinderMax response (within one leg).
Sample Value:
{
"FlightSegment": {
"DepartureDateTime": "2018-08-12T16:50:00",
"ArrivalDateTime": "2018-08-12T20:20:00",
"StopQuantity": 0,
"FlightNumber": 872,
"ResBookDesigCode": "V",
"ElapsedTime": 150,
"DepartureAirport": {
"LocationCode": "LHR",
"TerminalID": 5
},
"ArrivalAirport": {
"LocationCode": "KRK"
},
"OperatingAirline": {
"Code": "YY",
"FlightNumber": 872
},
"Equipment": {
"AirEquipType": 320
},
"MarketingAirline": {
"Code": "YY"
},
"MarriageGrp": "O",
"DepartureTimeZone": {
"GMTOffset": 1
},
"ArrivalTimeZone": {
"GMTOffset": 2
},
"TPA_Extensions": {
"eTicket": {
"Ind": "true"
},
"Mileage": {
"Amount": 889
},
"RequestedStopover": {
"Ind": "true"
}
}
}
}
Functional Updates And Enhancements
In the Response
Optional
- Parameter: Revalidated
-
Type: Boolean
Description: Indicator to identify the itinerary offer that was validated.
Sample Value:
{
"AirItineraryPricingInfo": {
"PricingSource": "WPNI1_ITIN",
"PricingSubSource": "MIP",
"Revalidated": "true",
"FareReturned": "true",
"ItinTotalFare": {
"BaseFare": {
"Amount": 9254.00,
"CurrencyCode": "EUR",
"DecimalPlaces": 2
},
"FareConstruction": {
"Amount": 11364.48,
"CurrencyCode": "NUC",
"DecimalPlaces": 2
},
"EquivFare": {
"Amount": 11070.00,
"CurrencyCode": "USD",
"DecimalPlaces": 2
},
"Taxes": {
"Tax": {
"TaxCode": "TOTALTAX",
"Amount": 1256.40,
"CurrencyCode": "USD",
"DecimalPlaces": 2
}
},
"TotalFare": {
"Amount": 12326.40,
"CurrencyCode": "USD",
"DecimalPlaces": 2
}
}
}
}Note: When the @Revalidated parameter is included with the ‘true’ value in the response this means the system revalidated the given itinerary with the specified flight schedule, RBD, date of travel and city-pair.
v4.1.0 | March 27, 2018
- Bargain Finder Max has been enhanced with the following new optional search parameters:
- Return only options with at least one free bag.
- Search by fare basis code(s).
- Exclude codeshare flights.
- Additionally the following information will be returned in the response:
- More details in the Selling Fare Data applicable to Agency Retailer.
- Extended Ancillary Fee Groups with ancillary subcode(s), type(s) and hints for up to 10 standard baggages.
API Information
What's New
- Bargain Finder Max has been enhanced with the following new optional search parameters:
- Return only options with at least one free bag.
- Search by fare basis code(s).
- Exclude codeshare flights.
- Additionally the following information will be returned in the response:
- More details in the Selling Fare Data applicable to Agency Retailer.
- Extended Ancillary Fee Groups with ancillary subcode(s), type(s) and hints for up to 10 standard baggages.
Business Value
- These enhancements drive greater transparency for baggage allowance and charges, a more streamlined workflow with multiple fares per itinerary, and more targeted results with the shop by fare basis code, and a better schedule filtering options with the exclude codeshares parameter.
New Features
In the Request
Optional
- Parameter: FreePieceRequired
-
Type: Boolean
Description: Indicator to specify only fare options that include a bag in the fare filed to be returned. Exclude any fares that do not include at least one free bag. The parameter to be used in a search, at the leg level.
Sample Value:
{
"TravelPreferences": {
"TPA_Extensions": "",
"Baggage": {
"FreePieceRequired": "false",
"RequestType": "A"
}
}
}Note: Only options with free pieces will be returned. It is required to specify the baggage Request type “A” - Allowance or “C” - Charges in the request, to shop for a free bag.
In the Request
Optional
- Parameter: FreePieceRequired
-
Type: Boolean
Description: Indicator to specify only fare options that include a bag in the fare filed to be returned. Exclude any fares that do not include at least one free bag. The parameter to be used in a search for the whole journey.
Sample Value:
{
"TravelPreferences": {
"TPA_Extensions": {
"Baggage": {
"RequestType": "A",
"FreePieceRequired": "true"
}
}
}
}Note: Only options with free pieces will be returned. It is required to specify the baggage Request type “A” - Allowance or “C” - Charges in the request, to shop for a bag.
In the Request
Optional
- Parameter: FreePieceRequired
-
Type: Boolean
Description: Indicator to specify only fare options that include a bag in the fare filed to be returned. Exclude any fares that do not include at least one free bag. The parameter to be used in a search, at the leg level.
Sample Value:
{
"FlexibleFares": {
"FareParameters": {
"Leg": [
{
"Num": 1,
"Baggage": {
"FreePieceRequired": "true"
}
},
{
"Num": 2,
"Baggage": {
"FreePieceRequired": "false"
}
}
]
}
}
}Note: Only options with free pieces will be returned. It is required to specify the baggage Request type “A” - Allowance or “C” - Charges in the request, to shop for a free bag.
In the Request
Optional
- Parameter: FreePieceRequired
-
Type: Boolean
Description: Indicator to specify only fare options that include a bag in the fare filed to be returned. Exclude any fares that do not include at least one free bag. The parameter to be used in a search for the multiple fares per itinerary group.
Sample Value:
{
"FlexibleFares": {
"FareParameters": {
"Baggage": {
"FreePieceRequired": "true"
},
"Leg": [
{
"Num": 1,
"Cabin": {
"Type": "Y"
}
},
{
"Num": 2,
"Cabin": {
"Type": "Y"
}
}
]
}
}
}Note: Only options with free pieces will be returned. It is required to specify the baggage Request type “A” - Allowance or “C” - Charges in the request, to shop for a free bag.
In the Request
Optional
- Parameter: FareBasis Code
-
Type: FareBasisType
Description: Fare basis code(s) to be used in a search, at the leg level, in the multiple fares per itinerary group definition.
Sample Value:
{
"FlexibleFares": {
"FareParameters": {
"ClassOfService": {
"Code": "U"
},
"Leg": {
"Num": 1,
"ClassOfService": {
"Code": "Q"
},
"FareBasis": {
"Code": "YCA-"
}
}
}
}
}Note: Multiple fare basis codes can be requested at the leg level in each multiple fares per itinerary group. Allows wildcards.
In the Request
Optional
- Parameter: FareBasis Code
-
Type: FareBasisType
Description: Defines the fare basis code(s) to be used in a search, for the whole itinerary, in the multiple fares per itinerary group definition.
Sample Value:
{
"FlexibleFares": {
"FareParameters": {
"PassengerTypeQuantity": {
"Code": "NEG",
"Quantity": 2
},
"FareBasis": [
{
"Code": "LLX-"
},
{
"Code": "-1S5"
}
]
}
}
}Note: Multiple fare basis codes can be requested in each multiple fares per itinerary group. Allows wildcards.
In the Request
Optional
- Parameter: CodeShareIndicator
-
Type: CodeShareIndicator
Description: Ability to filter out codeshare flights. The new option is available with two attributes: “ExcludeCodeshare” removes codeshare flights. The same Marketing/Operating (base flights), can be combined with “KeepOnlines” to also return the online flights that are codeshare, for more diversity.
Sample Value:
{
"TravelPreferences": {
"TPA_Extensions": {
"CodeShareIndicator": {
"ExcludeCodeshare": "true",
"KeepOnlines": "false"
}
}
}
}
In the Response
Optional
- Parameter: NoMarkupBaseFare
-
Type: Boolean
Description: Applicable to Agency Retailer subscribers. Indicates the original base selling fare, which can include any Fare Retailer Net fare Markups plus any Fare Retailer Handling Fees. Excludes all Fare Retailer Selling rule adjustments.
Sample Value:
{
"NoMarkupBaseFare": {
"Amount": 161.00,
"CurrencyCode": "USD"
}
}
In the Response
Optional
- Parameter: HiddenHandlingFee
-
Type: Boolean
Description: Applicable to Agency Retailer subscribers. Indicates whether a Fare Retailer hidden Handling fee rule was applied.
Sample Value:
{
"SellingFareData": {
"LayerTypeName": "ART",
"HiddenHandlingFee": "true",
"HandlingMarkupSummary": [
{
"TypeCode": "A",
"Description": "3PCT",
"ExtendedDescription": "HAND BSE",
"MonetaryAmountValue": 0.56,
"HiddenHandlingFee": "true"
},
{
"TypeCode": "C",
"Description": "HAND PTK",
"ExtendedDescription": "HAND PTK",
"MonetaryAmountValue": 15.00,
"HiddenHandlingFee": "true"
},
{
"TypeCode": "E",
"Description": "2PCT",
"ExtendedDescription": "HAND TTL",
"MonetaryAmountValue": 0.97,
"HiddenHandlingFee": "true"
}
]
}
}
In the Response
Optional
- Parameter: NonHiddenHandlingFee
-
Type: Boolean
Description: Applicable to Agency Retailer subscribers. Indicates whether a Fare Retailer non-hidden Handling Fee rule was applied.
Sample Value:
{
"SellingFareData": {
"LayerTypeName": "ART",
"NonHiddenHandlingFee": "true",
"HandlingMarkupSummary": {
"TypeCode": "B",
"Description": "5PCT",
"ExtendedDescription": "HAND BSE",
"MonetaryAmountValue": 1.00,
"NonHiddenHandlingFee": "true"
}
}
}
In the Response
Optional
- Parameter: FareRetailerRule
-
Type: Boolean
Description: Applicable to Agency Retailer subscribers. Indicates whether a Fare Retailer-Selling level rule was applied.
Sample Value:
{
"HandlingMarkupSummary": {
"TypeCode": "J",
"Description": "ADJT AMT",
"ExtendedDescription": "ADJT AMT",
"MonetaryAmountValue": 6.04,
"FareRetailerRule": "true"
}
}
In the Response
Optional
- Parameter: AncillaryTypeCode
-
Type: String
Description: An AncillaryTypeCode that corresponds to a type of ancillary, type F or P (treated as F) and is being displayed for all the ancillary groups.
Sample Value:
{
"AncillaryFeeGroup": {
"Code": "BG",
"Name": "BAGGAGE",
"AncillaryFeeItem": [
{
"Amount": 25.00,
"Description": "1ST ADDITIONAL BAG",
"OriginAirport": "AMS",
"DestinationAirport": "LHR",
"Carrier": "KL",
"PassengerCode": "ADT",
"Date": "2018-04-10",
"StartSegment": 1,
"EndSegment": 1,
"AncillaryTypeCode": "F",
"Subcode": "0CC",
"BaggageID": 1
},
{
"Amount": 45.00,
"Description": "2ND ADDITIONAL BAG",
"OriginAirport": "AMS",
"DestinationAirport": "LHR",
"Carrier": "KL",
"PassengerCode": "ADT",
"Date": "2018-04-10",
"StartSegment": 1,
"EndSegment": 1,
"AncillaryTypeCode": "F",
"Subcode": "0CD",
"BaggageID": 2
},
{
"Amount": 45.00,
"Description": "3RD OR MORE ADDITIONAL BAG",
"OriginAirport": "AMS",
"DestinationAirport": "LHR",
"Carrier": "KL",
"PassengerCode": "ADT",
"Date": "2018-04-10",
"StartSegment": 1,
"EndSegment": 1,
"AncillaryTypeCode": "F",
"Subcode": "0CE",
"BaggageID": 3
},
{
"Amount": 30.80,
"Description": "RUCKSACK OR KNAPSACK",
"OriginAirport": "AMS",
"DestinationAirport": "LHR",
"Carrier": "KL",
"PassengerCode": "ADT",
"Date": "2018-04-10",
"StartSegment": 1,
"EndSegment": 1,
"AncillaryTypeCode": "F",
"Subcode": "0EB",
"BaggageID": 4
}
]
}
}Note: If one of the records is F type and another P (treated as F) and both have the same subcode, P type will take precedence.
In the Response
Optional
- Parameter: Subcode
-
Type: String
Description: Optional service industry subcodes that are being displayed for all ancillary groups.
Sample Value:
{
"AncillaryFeeGroup": {
"Code": "BG",
"Name": "BAGGAGE",
"AncillaryFeeItem": [
{
"Amount": 25.00,
"Description": "1ST ADDITIONAL BAG",
"OriginAirport": "AMS",
"DestinationAirport": "LHR",
"Carrier": "KL",
"PassengerCode": "ADT",
"Date": "2018-04-10",
"StartSegment": 1,
"EndSegment": 1,
"AncillaryTypeCode": "F",
"Subcode": "0CC",
"BaggageID": 1
},
{
"Amount": 45.00,
"Description": "2ND ADDITIONAL BAG",
"OriginAirport": "AMS",
"DestinationAirport": "LHR",
"Carrier": "KL",
"PassengerCode": "ADT",
"Date": "2018-04-10",
"StartSegment": 1,
"EndSegment": 1,
"AncillaryTypeCode": "F",
"Subcode": "0CD",
"BaggageID": 2
},
{
"Amount": 45.00,
"Description": "3RD OR MORE ADDITIONAL BAG",
"OriginAirport": "AMS",
"DestinationAirport": "LHR",
"Carrier": "KL",
"PassengerCode": "ADT",
"Date": "2018-04-10",
"StartSegment": 1,
"EndSegment": 1,
"AncillaryTypeCode": "F",
"Subcode": "0CE",
"BaggageID": 3
},
{
"Amount": 30.80,
"Description": "RUCKSACK OR KNAPSACK",
"OriginAirport": "AMS",
"DestinationAirport": "LHR",
"Carrier": "KL",
"PassengerCode": "ADT",
"Date": "2018-04-10",
"StartSegment": 1,
"EndSegment": 1,
"AncillaryTypeCode": "F",
"Subcode": "0EB",
"BaggageID": 4
}
]
}
}Note: List of standard ATPCO subcodes: 0CC, 0CD, 0CE, 0CF, 0CG, 0CH, 0CI, 0CJ, 0CK, 0EN.
In the Response
Optional
- Parameter: BaggageID
-
Type: BaggageIDType
Description: Baggage ID number that follows the current hierarchy in sorting Air Extras.
Sample Value:
{
"AncillaryFeeGroup": {
"Code": "BG",
"Name": "BAGGAGE",
"AncillaryFeeItem": [
{
"Amount": 25.00,
"Description": "1ST ADDITIONAL BAG",
"OriginAirport": "AMS",
"DestinationAirport": "LHR",
"Carrier": "KL",
"PassengerCode": "ADT",
"Date": "2018-04-10",
"StartSegment": 1,
"EndSegment": 1,
"AncillaryTypeCode": "F",
"Subcode": "0CC",
"BaggageID": 1
},
{
"Amount": 45.00,
"Description": "2ND ADDITIONAL BAG",
"OriginAirport": "AMS",
"DestinationAirport": "LHR",
"Carrier": "KL",
"PassengerCode": "ADT",
"Date": "2018-04-10",
"StartSegment": 1,
"EndSegment": 1,
"AncillaryTypeCode": "F",
"Subcode": "0CD",
"BaggageID": 2
},
{
"Amount": 45.00,
"Description": "3RD OR MORE ADDITIONAL BAG",
"OriginAirport": "AMS",
"DestinationAirport": "LHR",
"Carrier": "KL",
"PassengerCode": "ADT",
"Date": "2018-04-10",
"StartSegment": 1,
"EndSegment": 1,
"AncillaryTypeCode": "F",
"Subcode": "0CE",
"BaggageID": 3
},
{
"Amount": 30.80,
"Description": "RUCKSACK OR KNAPSACK",
"OriginAirport": "AMS",
"DestinationAirport": "LHR",
"Carrier": "KL",
"PassengerCode": "ADT",
"Date": "2018-04-10",
"StartSegment": 1,
"EndSegment": 1,
"AncillaryTypeCode": "F",
"Subcode": "0EB",
"BaggageID": 4
}
]
}
}
In the Response
Optional
- Parameter: Code
-
Type: PassengerCodeType
Description: Passenger type code related to a specific baggage sequence order with applicable hints.
Sample Value:
{
"OrderStandardBag": {
"PassengerBags": {
"Code": "ADT",
"BaggageSequenceOrder": [
{
"BaggageID": 1,
"StandardBag": 1
},
{
"BaggageID": 2,
"StandardBag": 2
},
{
"BaggageID": 3,
"StandardBag": 3
}
]
}
}
}
In the Response
Required
- Parameter: BaggageID
-
Type: BaggageIDType
Description: Baggage ID number for the applicable baggage hints.
Sample Value:
{
"OrderStandardBag": {
"PassengerBags": {
"Code": "ADT",
"BaggageSequenceOrder": [
{
"BaggageID": 1,
"StandardBag": 1
},
{
"BaggageID": 2,
"StandardBag": 2
},
{
"BaggageID": 3,
"StandardBag": 3
}
]
}
}
}
In the Response
Required
- Parameter: StandardBag
-
Type: Short
Description: Standard baggage hint: for example, “1” is the first standard baggage, “2” is the second standard baggage.
Sample Value:
{
"OrderStandardBag": {
"PassengerBags": {
"Code": "ADT",
"BaggageSequenceOrder": [
{
"BaggageID": 1,
"StandardBag": 1
},
{
"BaggageID": 2,
"StandardBag": 2
},
{
"BaggageID": 3,
"StandardBag": 3
}
]
}
}
}
v3.4.0 | December 13, 2017
- Bargain Finder Max has been enhanced with the following new optional search parameters: • Enforce a specific stopover point within the leg of a journey • Specify cabin per leg in multiple fares per itinerary
API Information
What's New
- Bargain Finder Max has been enhanced with the following new optional search parameters: • Enforce a specific stopover point within the leg of a journey • Specify cabin per leg in multiple fares per itinerary
Business Value
- These enhancements enable the opportunity to find lower priced itinerary options by specifying stopover point, and a more efficient and targeted result with search by preferred cabin at the leg level.
New Features
In the Request
Optional
- Parameter: Stopover
-
Type: StopoverType
Description: The new parameter, which allows to specify the information for the requested stopover.
Sample Value:
{
"OriginDestinationInformation": {
"RPH": 1,
"DepartureDateTime": "2018-01-01T00:00:00",
"DepartureWindow": 10001200,
"OriginLocation": {
"LocationCode": "LAX"
},
"DestinationLocation": {
"LocationCode": "LGA"
},
"TPA_Extensions": {
"Stopover": {
"DepartureDateTime": "2018-01-06T00:00:00",
"DepartureWindow": 10001200,
"StopoverPoint": {
"LocationCode": "JFK",
"LocationType": "A"
}
}
}
}
}Note: The DepartureDateTime – Element is (required) and contains text in date time format: YYYY-MM-DDTHH:MM:SS DepartureWindow – Element is (optional) and contains text in range format: HHMMHHMM StopoverPoint – Element is (required) LocationCode (required)(attribute) airport/city code LocationType (optional)(attribute) 'A' or 'C' value
Functional Updates And Enhancements
In the Request
Optional
- Parameter: Cabin
-
Type: CabinType
Description: Defines the preferred cabin to be used in a search at the leg level in flex fare group.
Sample Value:
{
"FlexibleFares": {
"FareParameters": {
"Leg": [
{
"Num": 1,
"Cabin": {
"Type": "Y"
}
},
{
"Num": 2,
"Cabin": {
"Type": "C"
}
}
]
}
}
}Note: Multiple preferred cabins can be requested at the leg level in each multiple fares per itinerary group.
v3.3.0 | September 28, 2017
- Bargain Finder Max has been enhanced to enable more flexibility within the request and return additional information in the response as follows:
- New indicator in the response to advise baggage allowance is not permitted
- Revalidate availability and pricing for a specific itinerary option for same (or lower fare) if offered and, if not offered, offer alternate itinerary options
- New option to search by class of service
- Modification of the default logic for corporate ID/account code and passenger type code processing in multiple fares per itinerary to match main fare processing
- New option to search which marketing and operating airline combinations are preferred or unacceptable
- New workflow response option, anchored search, to return expanded options for a single segment (inbound or outbound), to display only those itinerary options which combine with the previously selected segment
API Information
What's New
- Bargain Finder Max has been enhanced to enable more flexibility within the request and return additional information in the response as follows:
- New indicator in the response to advise baggage allowance is not permitted
- Revalidate availability and pricing for a specific itinerary option for same (or lower fare) if offered and, if not offered, offer alternate itinerary options
- New option to search by class of service
- Modification of the default logic for corporate ID/account code and passenger type code processing in multiple fares per itinerary to match main fare processing
- New option to search which marketing and operating airline combinations are preferred or unacceptable
- New workflow response option, anchored search, to return expanded options for a single segment (inbound or outbound), to display only those itinerary options which combine with the previously selected segment
Business Value
- These enhancements drive greater transparency for baggage allowance and charges, a more streamlined workflow with multiple fares per itinerary and revalidate itinerary options, and more targeted results with the search by class of service, anchored search, and preferred airline options.
New Features
In the Request
Optional
- Parameter: NoChargeNotAvailable
-
Type: CharacterType
Description: This attribute will be returned in the response whenever there are no charge or charges are unavailable when requesting baggage information. The response might contain one of the below possible description: X - Service not available F - no charge for service (free) and an EMD is not issued to reflect free service E - No charge for service (free) and an EMD is issued to reflect the fee service. G - No charge for service (free), booking is not required and an EMD is not issued to reflect free service. H - No charge for service (free), booking is not required, and an EMD is issued to reflect the free service.
Sample Value:
{ "BaggageInformation": { "ProvisionType": "C", "AirlineCode": "S7", "Segment": { "Id": 0 }, "Charge": { "EquivalentAmount": 0, "EquivalentCurrency": "RUB", "Description1": "UP TO 70 POUNDS/32 KILOGRAMS", "Description2": "UP TO 80 LINEAR INCHES/203 LINEAR CENTIMETERS", "NoChargeNotAvailable": "X" } } }
Functional Updates And Enhancements
In the Request
Optional
- Parameter: NoChargeNotAvailable
-
Type: CharacterType
Description: This attribute will be returned in the response whenever there are no charge or charges are unavailable when requesting baggage information. The response might contain one of the below possible description: X - Service not available F - no charge for service (free) and an EMD is not issued to reflect free service E - No charge for service (free) and an EMD is issued to reflect the fee service. G - No charge for service (free), booking is not required and an EMD is not issued to reflect free service. H - No charge for service (free), booking is not required, and an EMD is issued to reflect the free service.
Sample Value:
{ "BaggageInformation": { "ProvisionType": "C", "AirlineCode": "S7", "Segment": { "Id": 0 }, "Charge": { "EquivalentAmount": 0, "EquivalentCurrency": "RUB", "Description1": "UP TO 70 POUNDS/32 KILOGRAMS", "Description2": "UP TO 80 LINEAR INCHES/203 LINEAR CENTIMETERS", "NoChargeNotAvailable": "X" } } }
In the Request
Optional
- Parameter: VerificationItinCallLogic
-
Type: VerificationItinCallLogicType
Description: The new parameter VerificationItinCallLogic and value attribute were added, which defines how the current itinerary is priced. Valid values are: • L − Look for the lowest fare (default). • M − Look in the requested RBD and requested pricing qualifiers. • B − Perform both L and M searches, and return both fares.
Sample Value:
{ "TravelPreferences": { "TPA_Extensions": { "VerificationItinCallLogic": { "Value": "L" } } } }
In the Request
Optional
- Parameter: LookForAlternatives
-
Type: Boolean
Description: Indicator to specify to return alternative options or the lowest fare in the response.
Sample Value:
{ "TravelPreferences": { "LookForAlternatives": "true", "VendorPref": { "Code": "K0", "PreferLevel": "Preferred" }, "CabinPref": { "Cabin": "J" }, "TPA_Extensions": { "NumTrips": { "Number": 30 } } } }
Note: If set to false, no alternative solutions will be returned in the response.
In the Request
Optional
- Parameter: Repriced
-
Type: Boolean
Description: Indicator to identify the re-priced itinerary. The WPNI1_ITIN attribute is used to identify the alternative option returned.
Sample Value:
{ "AirItineraryPricingInfo": { "PricingSource": "WPNI1_ITIN", "PricingSubSource": "MIP", "Repriced": "true", "FareReturned": "true", "LastTicketDate": "2017-08-18", "ItinTotalFare": { "BaseFare": { "Amount": 947.91, "CurrencyCode": "USD", "DecimalPlaces": 2 }, "FareConstruction": { "Amount": 947.91, "CurrencyCode": "USD", "DecimalPlaces": 2 }, "EquivFare": { "Amount": 1210.00, "CurrencyCode": "AUD", "DecimalPlaces": 2 }, "Taxes": { "Tax": { "TaxCode": "TOTALTAX", "Amount": 109.10, "CurrencyCode": "AUD", "DecimalPlaces": 2 } } } } }
Note: When the @Repriced parameter is included with the "true” value in the response, this means the system re-priced the given itinerary with the specified flight schedule, RBD, date, and city pair.
In the Request
Optional
- Parameter: UsePassengerFares
-
Type: Boolean
Description: Indicates that at least one fare component must be applicable the passenger type specified.
Sample Value:
{ "TravelPreferences": { "TPA_Extensions": { "FlexibleFares": { "FareParameters": { "UsePassengerFares": { "Ind": "true" } } } } } }
Note: This parameter can be specified by the customer at the multiple fares per itinerary group level.
In the Request
Optional
- Parameter: UseNegotiatedFares Ind
-
Type: Boolean
Description: Indicates returned fares must match the AccountCode/CorporateID specified on at least one fare component.
Sample Value:
{ "TPA_Extensions": { "NumTrips": { "Number": 50 }, "FlexibleFares": { "FareParameters": [ { "UsePassengerFares": { "Ind": "true" } }, { "UseNegotiatedFares": { "Ind": "false" } } ] } } }
Note: This parameter can be specified by the customer at the multiple fares per itinerary group level.
In the Request
Optional
- Parameter: ClassOfService Code
-
Type: ClassOfServiceType
Description: Defines the class of service to be used in a search at the leg level.
Sample Value:
{ "OriginDestinationInformation": { "RPH": 1, "DepartureDateTime": "2017-09-01T00:00:00", "OriginLocation": { "LocationCode": "LAX" }, "DestinationLocation": { "LocationCode": "JFK" }, "TPA_Extensions": { "SegmentType": { "Code": "O" }, "ClassOfService": [ { "Code": "A" }, { "Code": "B" } ] } } }
Note: Multiple class of services can be requested per leg in Main request and multiple fares per itinerary groups
In the Request
Optional
- Parameter: ClassofService Code
-
Type: ClassOfServiceType
Description: This parameter is used to specify the class of service to apply to entire itinerary.
Sample Value:
{ "TravelPreferences": { "TPA_Extensions": { "ClassOfService": [ { "Code": "Q" }, { "Code": "R" } ] } } }
Note: Multiple class of services can be requested for the entire itinerary.
In the Request
Optional
- Parameter: ClassofService Code
-
Type: ClassOfServiceType
Description: Defines the class of service to be used in a search at the leg level in flex fare group.
Sample Value:
{ "FlexibleFares": { "FareParameters": { "Leg": [ { "Num": 1, "ClassOfService": { "Code": "F" } }, { "Num": 2, "ClassOfService": [ { "Code": "G" }, { "Code": "H" } ] } ] } } }
Note: Multiple class of services can be requested at the leg level in each multiple fares per itinerary group.
In the Request
Optional
- Parameter: ClassofService Code
-
Type: ClassOfServiceType
Description: Defines the class of service to be used in a search for the entire multiple fares per itinerary group.
Sample Value:
{ "TravelPreferences": { "TPA_Extensions": { "FlexibleFares": { "FareParameters": { "PassengerType": { "Code": "JCB" }, "ClassOfService": [ { "Code": "D" }, { "Code": "E" } ] } } } } }
Note: Multiple class of services can be requested in each multiple fares per itinerary group.
In the Request
Optional
- Parameter: Fixed
-
Type: Boolean
Description: This attribute has been added to the OriginDestinationInformation element. It allows to indicate the OriginDestination node, with flight information, should be fixed from a shopping response
Sample Value:
{ "OriginDestinationInformation": { "Fixed": "true", "RPH": 1, "DepartureDateTime": "2017-09-01T00:00:00", "OriginLocation": { "LocationCode": "SYD" }, "DestinationLocation": { "LocationCode": "PER" }, "TPA_Extensions": { "Flight": { "ArrivalDateTime": "2017-08-01T06:30:00", "DepartureDateTime": "2015-08-01T09:50:00", "Number": 1, "Type": "A", "OriginLocation": { "LocationCode": "SYD" }, "DestinationLocation": { "LocationCode": "LAX" }, "Airline": { "Marketing": "K0", "Operating": "K0" } } } } }
In the Request
Optional
- Parameter: VendorPrefPairing
-
Type: VendorPrefPairingType
Description: This element “VendorPrefPairing”, has been added at request level, next to the already existing “VendorPref” element. This element allows to specify which marketing and operating airline pairs are preferred or unacceptable.
Sample Value:
{ "TravelPreferences": { "VendorPrefPairing": { "Applicability": "AllSegments", "PreferLevel": "Preferred", "VendorPref": [ { "Code": "K0", "Type": "Marketing" }, { "Code": "K0", "Type": "Operating" } ] }, "TPA_Extensions": "" } }
v3.2.0 | July 12, 2017
- Bargain Finder Max has been enhanced to enable more flexibility within the request and return options to provide additional information in the response as follows: • Additional response element for Validating Carrier without BSP check. • Multiple Fares per Itinerary- New optional parameter added to the request to ensure all fares, main and alternate, will be sorted based upon price and returned with the final result.
API Information
What's New
- Bargain Finder Max has been enhanced to enable more flexibility within the request and return options to provide additional information in the response as follows: • Additional response element for Validating Carrier without BSP check. • Multiple Fares per Itinerary- New optional parameter added to the request to ensure all fares, main and alternate, will be sorted based upon price and returned with the final result.
v3.1.0 | March 30, 2017
- Bargain Finder Max has been enhanced to enable more flexibility within the request and return additional information in the response as follows:
- Baggage Enhancement – Allows you to specify in the request the number of bags returned in the response (up to 4 pieces).
- VITA Enhancement – Allows you to choose the traditional Validating Carrier (VC) automatically in place of a lower priced VC. This is activated via travel journey record (TJR) with a new element in the response.
- Expand Preferred Carrier – New optional parameters in the request: *To allow interline options to be returned when a preferred carrier is specified
- Governing Carrier Override – Optional parameter that allows you to override the governing carrier via shopping request to get fares filed by a specified carrier.
- Branded Fares Enhancement – New optional parameter in the response: *To indicate brand program code that is returned from the branding service *To indicate that a minimum of one of the legs included in the itinerary option contains a brand(s).
API Information
What's New
- Bargain Finder Max has been enhanced to enable more flexibility within the request and return additional information in the response as follows:
- Baggage Enhancement – Allows you to specify in the request the number of bags returned in the response (up to 4 pieces).
- VITA Enhancement – Allows you to choose the traditional Validating Carrier (VC) automatically in place of a lower priced VC. This is activated via travel journey record (TJR) with a new element in the response.
- Expand Preferred Carrier – New optional parameters in the request: *To allow interline options to be returned when a preferred carrier is specified
- Governing Carrier Override – Optional parameter that allows you to override the governing carrier via shopping request to get fares filed by a specified carrier.
- Branded Fares Enhancement – New optional parameter in the response: *To indicate brand program code that is returned from the branding service *To indicate that a minimum of one of the legs included in the itinerary option contains a brand(s).
New Features
In the Request
Optional
- Parameter: RequestedPieces
-
Type: UnsignedShort
Description: Parameter that allows you to specify in the request the number of bags to be returned in the response (up to 4 pieces). Allowed values are from 1 to 4.
Sample Value:
"TravelPreferences": {
"TPA_Extensions": {},
"Baggage": {
"RequestType": "C",
"Description": true,
"RequestedPieces": 4
}
}Note: If customers specify a value higher than 4, no error response will be returned, but this value will be reduced to 4. If 0 or a negative number is specified, the request will not be processed, and an error response will be returned. For the ‘RequestedPieces’, no additional elements/parameters were added to the shopping response. In order to show in the response information for up to 4 bags, the “BaggageInformation” element (under “BaggageInformationList”) occurrence may increase proportionally to the number of requested bags.
In the Response
Optional
- Parameter: OtherTicketing
-
Type: Complex
Description: Other possible validating carrier information. Element introduced for VITA logic. In order to activate, customers will have to update their TJR.
Sample Value:
N/ANote: This functionality is not activated via the request. It require a change to TJR settings.
In the Response
Optional
- Parameter: Code
-
Type: CarrierCode
Description: Carrier code of another possible validating carrier. Re-price is required if this carrier must be used as the validating carrier at ticketing.
Sample Value:
"OtherTicketing": [
{
"Code": "EY"
}
]
In the Request
Optional
- Parameter: VendorPrefApplicability
-
Type: VendorPrefApplicabilityType
Description: Indicates whether the provided carrier type preference should apply to at least one segment of the itinerary or to the entire itinerary. One instance is allowed per carrier type.
Sample Value:
N/ANote: “VendorPrefApplicabilityType” refers to information within the “VendorPref” element.
In the Request
Required
- Parameter: Value
-
Type: String
Description: Carrier selection method. Valid values are: • “AtLeastOneSegment” − The specified carrier should be returned for at least one segment in the itinerary. • “AllSegments” − The specified carrier should apply for the entire itinerary.
Sample Value:
"VendorPrefApplicability": [
{
"Value": "AllSegments",
"Type": "Marketing"
}
]Note: This parameter is required within “VendorPrefApplicabilityType”. The value specified as “AllSegments” follows current logic for marketing vendor preference – will prefer/exclude online itineraries or a combination of specified carriers only.
In the Request
Required
- Parameter: Type
-
Type: CarrierType
Description: Type of carrier it applies to. Valid values are: • “Marketing” • “Operating”
Sample Value:
"VendorPrefApplicability": [
{
"Value": "AllSegments",
"Type": "Marketing"
}
]Note: This parameter is required within the “VendorPrefApplicabilityType”. In order to specify Vendor Preference Applicability for Operating carrier(s), the “Type” attribute must be set to “Operating” within the VendorPref element.
In the Request
Optional
- Parameter: GoverningCarrierOverride
-
Type: GoverningCarrierOverrideType
Description: Parameter that allows you to override the governing carrier via shopping request to get fares filed by a specified carrier.
Sample Value:
N/ANote: One carrier can be specified per request.
In the Request
Required
- Parameter: AirlineCode
-
Type: CarrierCode
Description: Two-character airline code of the governing carrier.
Sample Value:
"GoverningCarrierOverride": {
"AirlineCode": "VS"
}
In the Response
Optional
- Parameter: ProgramCode
-
Type: String
Description: Attribute for the brand program code that is returned from the branding service. This allows you to use this attribute returned in the shopping response in subsequent requests, for example, in a "GetMarketingText" request and correctly match brand programs.
Sample Value:
"FareComponent": [
{
"ProgramID": "5840",
"ProgramCode": "A",
"ProgramDescription": "NZA",
"ProgramSystemCode": "A",
"BrandID": "SW",
"BrandName": "SMARTSAVER",
...
}
]
In the Response
Optional
- Parameter: BrandsOnAnyMarket
-
Type: Boolean
Description: Attribute that allows you to indicate that a minimum of one of the legs included in the itinerary option contains a brand(s).
Sample Value:
"AirItineraryPricingInfo": [
{
"LastTicketDate": "2017-02-28",
"PricingSource": "ADVJR1",
"PricingSubSource": "MIP",
"FareReturned": true,
"BrandsOnAnyMarket": true,
...
}
]Note: This parameter is required within “SingleBrandedFare” only. It indicates that the itinerary can have additional branded options, so you can request them with a subsequent AllBrandsPricingRQ transaction.
v3.0.0 | December 15, 2016
- Bargain FinderSM Max has been enhanced to enable more customization and flexibility within the request and return additional information in the response as follows:
- Schedule Filtering – new elements were added to the request schema: *Search by Airport or City codes – Allows you to specify for Origin/Destination if search should be processed as a city or airport code *Preferred Operating Carrier– Allows you to narrow the search by operating carrier (following the same logic as the current element for the marketing carrier).
- Baggage Allowance and Charges - Allows you to manage baggage information at the request level.
- Override Electronic Ticket Validation - Allows you to select a validating carrier and override the local settlement validation method and Interline Electronic Ticketing (IET) validation.
- Multiple Fares Per Itinerary (MFPI) – Enables more customization for change fee, refundability and passenger type functionality: * Added ability to include multiple Passenger Types allowable per fare group. * Modifying default logic for Passenger Type processing within a fare group and added capability to force a requested Passenger Type. *Added Change Fee and Refundability to be added per fare group; the response changed to make a clear distinction.
API Information
What's New
- Bargain FinderSM Max has been enhanced to enable more customization and flexibility within the request and return additional information in the response as follows:
- Schedule Filtering – new elements were added to the request schema: *Search by Airport or City codes – Allows you to specify for Origin/Destination if search should be processed as a city or airport code *Preferred Operating Carrier– Allows you to narrow the search by operating carrier (following the same logic as the current element for the marketing carrier).
- Baggage Allowance and Charges - Allows you to manage baggage information at the request level.
- Override Electronic Ticket Validation - Allows you to select a validating carrier and override the local settlement validation method and Interline Electronic Ticketing (IET) validation.
- Multiple Fares Per Itinerary (MFPI) – Enables more customization for change fee, refundability and passenger type functionality: * Added ability to include multiple Passenger Types allowable per fare group. * Modifying default logic for Passenger Type processing within a fare group and added capability to force a requested Passenger Type. *Added Change Fee and Refundability to be added per fare group; the response changed to make a clear distinction.
Business Value
- Each of these enhancements enable greater personalization and efficiency to further refine the search. Results are more relevant options, which drives higher booking conversion.
New Features
In the Request
Optional
- Parameter: LocationType
-
Type: String
Description: Parameter to narrow origin/destination search to specified airport or city. Valid values are: • “A” - Airport code • “C” - City code
Sample Value:
"DestinationLocation": {
"LocationCode": "OSL",
"G": "A"
}Note: If no “LocationType” is specified, the “LocationCode” will default to a city code (if city and airport codes are the same).
In the Request
Optional
- Parameter: Type
-
Type: PreferLevelType
Description: “Type” parameter allows you to narrow the search by carrier type. Valid values are: • “Marketing” • “Operating”
Sample Value:
"VendorPref": [{
"Code": "BA",
"Type": "Marketing",
"PreferLevel": "Preferred"
},
{
"Code": "AA",
"Type": "Operating",
"PreferLevel": "Preferred"
}]Note: If no “Type” parameter is added, vendor preference defaults to the marketing carrier.
In the Request
Optional
- Parameter: Baggage
-
Type: Complex
Description: Element to request baggage information
Sample Value:
N/ANote: If the “Baggage” element is added, the parameter “RequestType” is required. Current baggage information, allowance only, will be returned if the “Baggage” element is not added to the request.
In the Request
Required
- Parameter: RequestType
-
Type: BaggageRequestType
Description: Baggage information request type. Valid values are: • “A” - Allowance only • “C” - Allowance and charges • “N” - No baggage information
Sample Value:
"Baggage": {
"RequestType": "A",
"Description": true
}Note: The “RequestType” parameter is required within the “Baggage” element.
In the Request
Optional
- Parameter: Description
-
Type: Boolean
Description: The “Description” parameter allows you to request baggage text information. Valid values are: • “true” - To request text information. • “false” – Not to request text information.
Sample Value:
"Baggage": {
"RequestType": "A",
"Description": true
}Note: If “RequestType” is set to “N”, the “Description” parameter will be ignored. If no “Description” parameter is specified in the request, it is considered as “false”.
In the Response
Optional
- Parameter: ProvisionType
-
Type: BaggageProvisionType
Description: “ProvisionType” indicates baggage information. Valid values are: • “A” - Checked Baggage Allowance. • “C” - Day of Check-in Charges.
Sample Value:
"BaggageInformation": [{
"ProvisionType": "A",
"AirlineCode": "SK",
"Segment": [{
"Id": 0
},
{
"Id": 1
}],
"Allowance": [{
"Pieces": 1,
"Description1": "UP TO 50 POUNDS/23 KILOGRAMS"
}]
}]
In the Response
Optional
- Parameter: AirlineCode
-
Type: AirlineCodeType
Description: “AirlineCode” indicates the carrier whose baggage provisions apply.
Sample Value:
"BaggageInformation": [{
"ProvisionType": "A",
"AirlineCode": "SK",
"Segment": [{
"Id": 0
},
{
"Id": 1
}],
"Allowance": [{
"Pieces": 1,
"Description1": "UP TO 50 POUNDS/23 KILOGRAMS"
}]
}]
In the Response
Optional
- Parameter: Description1
-
Type: String
Description: Baggage text information.
Sample Value:
"BaggageInformation": [{
"ProvisionType": "A",
"AirlineCode": "SK",
"Segment": [{
"Id": 0
},
{
"Id": 1
}],
"Allowance": [{
"Pieces": 1,
"Description1": "UP TO 50 POUNDS/23 KILOGRAMS"
}]
}]
In the Response
Optional
- Parameter: Description2
-
Type: String
Description: Baggage text information.
Sample Value:
N/A
In the Response
Optional
- Parameter: Charge
-
Type: Complex
Description: Charge information for the first two checked bags (if applicable).
Sample Value:
N/ANote: If the “Charge” element is applicable, the “EquivalentAmount” and “EquivalentCurrency” parameters are required.
In the Response
Required
- Parameter: EquivalentAmount
-
Type: MonetaryAmountType
Description: Equivalent amount for baggage charges.
Sample Value:
N/ANote: “EquivalentAmount” is required within the “Charge” element.
In the Response
Required
- Parameter: EquivalentCurrency
-
Type: CurrencyCodeType
Description: Equivalent currency for baggage charges.
Sample Value:
N/ANote: “EquivalentCurrency” is required within the “Charge” element.
In the Response
Optional
- Parameter: FirstPiece
-
Type: Byte
Description: Specify first baggage piece for which the specified charge information applies.
Sample Value:
N/ANote: “FirstPiece” can be the same as “LastPiece” if the specified charge applies to one piece only.
In the Response
Optional
- Parameter: LastPiece
-
Type: Byte
Description: Specify last baggage piece for which the specified charge information applies.
Sample Value:
N/ANote: “LastPiece” can be the same as “FirstPiece” if the specified charge applies to one piece only.
In the Request
Optional
- Parameter: ValidatingCarrierCheck
-
Type: Complex
Description: The ValidatingCarrierCheck element encompasses the elements allowing you to override the local settlement method validation and Interline Electronic Ticketing agreements.
Sample Value:
N/A
In the Request
Required
- Parameter: SettlementValidation
-
Type: Boolean
Description: The “SettlementValidation” parameter allows you to override the local settlement plan check.
Sample Value:
"ValidatingCarrierCheck": {
"SettlementValidation": {
"Ind": false
},
"IETValidation": {
"Ind": true
},
"Carrier": [{
"Code": "QR"
},
{
"Code": "EY"
}],
"Country": [{
"Code": "DE"
},
{
"Code": "FR"
},
{
"Code": "IT"
}]
}Note: When SettlementValidation/@Ind is set to false, it disables the settlement method validation in the local point of sale. When SettlementValidation/@Ind is set to true, it validates the settlement method in the local POS. If specified along with Carrier Code, the settlement validation will be disabled. ed (if “false”) or proceed (if “true”) for the carriers specified in the request; if no Carrier Code is specified, the settlement validation will be disabled/proceed for all validating carriers. If a country code(s) is provided, the settlement validation will be triggered for the specified country/countries). The “SettlementValidation” element is required within the “ValidatingCarrierCheck” element.
In the Request
Required
- Parameter: IETValidation
-
Type: Boolean
Description: IETValidation allows you to disable Electronic Ticketing agreements validation or specify in which points of sale and for which carriers Electronic Ticketing agreements should be checked.
Sample Value:
"ValidatingCarrierCheck": {
"SettlementValidation": {
"Ind": false
},
"IETValidation": {
"Ind": true
},
"Carrier": [{
"Code": "QR"
},
{
"Code": "EY"
}],
"Country": [{
"Code": "DE"
},
{
"Code": "FR"
},
{
"Code": "IT"
}]
}Note: When IETValidation/@Ind is set to “false,” it disables the Interline Electronic Ticketing agreements validation. When IETValidation/@Ind is set to “true,” at least one Country Code must be specified and will trigger IET validation performed in the specified countries. The “IETValidation” element is required within the “ValidatingCarrierCheck” element.
In the Request
Optional
- Parameter: Carrier/@Code
-
Type: String
Description: Carrier/@Code parameter allows you to specify a carrier code(s) for which the specified settlement method and/or IET validation should (should not) be done.
Sample Value:
"ValidatingCarrierCheck": {
"SettlementValidation": {
"Ind": false
},
"IETValidation": {
"Ind": true
},
"Carrier": [{
"Code": "QR"
},
{
"Code": "EY"
}],
"Country": [{
"Code": "DE"
},
{
"Code": "FR"
},
{
"Code": "IT"
}]
}Note: If a carrier code is not added in the request, the settlement validation is enabled/disabled for all carriers.
In the Request
Required
- Parameter: Country/@Code
-
Type: String
Description: Country/@Code parameter allows you to specify country code(s) for which IET and/or settlement validation should be performed. At least one country code must be provided if IETValidation/@Ind is set to “true”.
Sample Value:
"ValidatingCarrierCheck": {
"SettlementValidation": {
"Ind": false
},
"IETValidation": {
"Ind": true
},
"Carrier": [{
"Code": "QR"
},
{
"Code": "EY"
}],
"Country": [{
"Code": "DE"
},
{
"Code": "FR"
},
{
"Code": "IT"
}]
}Note: Country code is a valid parameter only if IET Validation is set to “true” in the request; otherwise, it is ignored. The format is a two-character country code as defined by ISO.
In the Response
Optional
- Parameter: SettlementMethod
-
Type: String (Length 3 characters)
Description: The “SettlementMethod” parameter describes the settlement method verified for validating carrier(s).
Sample Value:
"ValidatingCarrier": [{
"SettlementMethod": "ARC",
"NewVcxProcess": true,
"Default": {
"Code": "MS"
}
},
{
"SettlementMethod": "BSP",
"Country": "IT",
"NewVcxProcess": true,
"Default": {
"Code": "HR"
},
"Alternate": [{
"Code": "HV"
}]
}]Note: If no settlement method is checked (SettlementValidation Ind="false" in request), NSP appears in the response.
In the Response
Optional
- Parameter: NewVcxProcess
-
Type: Boolean
Description: “NewVcxProcess” indicates whether IET validation was requested (by IETValidation Ind set as “true" or “false” in the request).
Sample Value:
"ValidatingCarrier": [{
"SettlementMethod": "ARC",
"NewVcxProcess": true,
"Default": {
"Code": "MS"
}
},
{
"SettlementMethod": "BSP",
"Country": "IT",
"NewVcxProcess": true,
"Default": {
"Code": "HR"
},
"Alternate": [{
"Code": "HV"
}]
}]
In the Response
Optional
- Parameter: Default/@Code
-
Type: CarrierCode
Description: This parameter indicates the default carrier code for Settlement Method and IET validation check.
Sample Value:
"ValidatingCarrier": [{
"SettlementMethod": "ARC",
"NewVcxProcess": true,
"Default": {
"Code": "MS"
}
},
{
"SettlementMethod": "BSP",
"Country": "IT",
"NewVcxProcess": true,
"Default": {
"Code": "HR"
},
"Alternate": [{
"Code": "HV"
}]
}]
In the Response
Optional
- Parameter: Alternate/@Code
-
Type: CarrierCode
Description: This parameter indicates the alternate carrier code for Settlement Method and IET check.
Sample Value:
"ValidatingCarrier": [{
"SettlementMethod": "ARC",
"NewVcxProcess": true,
"Default": {
"Code": "MS"
}
},
{
"SettlementMethod": "BSP",
"Country": "IT",
"NewVcxProcess": true,
"Default": {
"Code": "HR"
},
"Alternate": [{
"Code": "HV"
}]
}]
In the Response
Optional
- Parameter: Country/@Code
-
Type: String
Description: Returns the country code in which IET validation was done for the default or alternate Validating Carrier. The format is a two-character country code as defined by ISO.
Sample Value:
"ValidatingCarrier": [{
"SettlementMethod": "ARC",
"NewVcxProcess": true,
"Default": {
"Code": "MS"
}
},
{
"SettlementMethod": "BSP",
"Country": "IT",
"NewVcxProcess": true,
"Default": {
"Code": "HR"
},
"Alternate": [{
"Code": "HV"
}]
}]Note: Above schema applies if no settlement method with IET validation checked in request: |-|SettlementValidation Ind="false"/|--| |-|IETValidation Ind="true"/|--|
In the Response
Optional
- Parameter: Country
-
Type: String
Description: Country code for which settlement method and IET validation was checked (other than the original POS). Format is a two-character country code as defined by ISO.
Sample Value:
"ValidatingCarrier": [{
"SettlementMethod": "ARC",
"NewVcxProcess": true,
"Default": {
"Code": "MS"
}
},
{
"SettlementMethod": "BSP",
"Country": "IT",
"NewVcxProcess": true,
"Default": {
"Code": "HR"
},
"Alternate": [{
"Code": "HV"
}]
}]Note: This schema applies if settlement method with IET validation check was requested: |-|SettlementValidation Ind="true"/|--| |-|IETValidation Ind="true"/|--| |-|Country Code="PL"/|--|
In the Request
Optional
- Parameter: PassengerTypeQuantity/@Code
-
Type: String
Description: This is a functional enhancement to Multiple Fares Per Itinerary (MFPI) within Bargain FinderSM Max. This parameter allows you to specify multiple passenger type codes in a FlexibleFares group.
Sample Value:
"PassengerTypeQuantity": [{
"Code": "MIL",
"Quantity": 1
}]Note: This is an extension of MFPI functionality – specify multiple passenger types.
In the Request
Optional
- Parameter: PassengerTypeQuantity/@Quantity
-
Type: Numeric1to999
Description: This is a functional enhancement to Multiple Fares Per Itinerary within Bargain Finder Max. This parameter is used to specify the quantity of passengers per a given Passenger Type.
Sample Value:
"PassengerTypeQuantity": [{
"Code": "MIL",
"Quantity": 1
}]Note: Up to four PassengerTypeQuantity elements with different Passenger Types Codes can be added in a single Multiple Fares group. The number of passenger types will match the number of passengers traveling.
In the Request
Optional
- Parameter: XOFares/@Ind
-
Type: Boolean
Description: This is a functional enhancement to Multiple Fares Per Itinerary within Bargain Finder Max. When XOFares/@Ind is set to “true,” it will force the specified fare on all legs of the returned solution to match the passenger type requested. This enhancement will remove the default application of XO (stay true to passenger type) qualifier on MFPI groups.
Sample Value:
N/ANote: When XOFares/@Ind is set to “true,” only the fares matching the requested passenger type will be returned on all fare components. Otherwise, the fare matching the specified passenger type will be returned on at least one leg. NOTE: If you are using this option today in MFPI you will want to validate your logic is working as expected.
In the Request
Optional
- Parameter: VoluntaryChanges
-
Type: VoluntaryChangesSMPType
Description: This element identifies whether penalties associated with voluntary changes should be included in the search results.
Sample Value:
"VoluntaryChanges": {
"Match": "Any",
"Penalty": [{
"Type": "Refund",
"Exclude": true,
"Application": "Before",
"CurrencyCode": "USD"
}]
}Note: By adding this functionality users requesting an MFPI request can use the optional Max Penalty qualifier to filter by fare flexibility and maximum penalty amounts.
v1.9.7 | September 28, 2016
- Bargain Finder Max service has been enhanced to enable more flexibility within the request and return additional information in the response as follows:
- Multiple Fares Per Itinerary (MFPI) – enables more customization for cabin functionality: * Modified default logic for cabin processing to jump cabin if lower fare found in different cabin * Added ability to disable jump cabin functionality allowable per fare group
- Agency Retailer – allows you to create selling levels for your authorized Category 35 negotiated fares or adjust the selling level of any fare in compliance with the agencies carrier agreements. - Applies to limited release customers only.
API Information
What's New
- Bargain Finder Max service has been enhanced to enable more flexibility within the request and return additional information in the response as follows:
- Multiple Fares Per Itinerary (MFPI) – enables more customization for cabin functionality: * Modified default logic for cabin processing to jump cabin if lower fare found in different cabin * Added ability to disable jump cabin functionality allowable per fare group
- Agency Retailer – allows you to create selling levels for your authorized Category 35 negotiated fares or adjust the selling level of any fare in compliance with the agencies carrier agreements. - Applies to limited release customers only.
New Features
In the Request
Optional
- Parameter: JumpCabinLogic/@Disabled
-
Type: Boolean
Description: This is a functional enhancement to Multiple Fares Per Itinerary within Bargain FinderSM Max. When JumpCabinLogic/@Disabled is set to “true,” the following logic will apply: for two (and more) segment solutions where at least one segment offers preferred cabin, jump cabin will be performed for the segment where the preferred cabin is not offered, but the lower cabin is offered and available. It should be specified along with the cabin type in the MFPI group.
Sample Value:
"JumpCabinLogic": {
"Disabled": true
},
"KeepSameCabin": {
"Enabled": false
}
In the Request
Optional
- Parameter: KeepSameCabin/@Enabled
-
Type: Boolean
Description: This is a functional enhancement to Multiple Fares Per Itinerary within Bargain Finder Max. When KeepSameCabin/@Enabled is set to “true,” it is guaranteed all segments within the applicable Multiple Fare Per Itinerary group match the requested cabin.
Sample Value:
"JumpCabinLogic": {
"Disabled": true
},
"KeepSameCabin": {
"Enabled": false
}
In the Request
Optional
- Parameter: SellingLevels
-
Type: Complex
Description: Element controlling Mark Up Any Fare functionality. When SellingLevels element is defined, one of its sub-elements must be provided, either SellingLevelRules or ShowFareAmounts.
Sample Value:
N/A
In the Request
Required
- Parameter: SellingLevelRules/@Ignore
-
Type: Boolean
Description: If ignore set to “true,” adjustment SellingLevelRules will be ignored. To use this element, the ORGFQD EPR keyword is required.
Sample Value:
"SellingLevels": {
"SellingLevelRules": {
"Ignore": true
}
}
In the Request
Required
- Parameter: ShowFareAmounts
-
Type: Complex
Description: The ShowFareAmounts element defines which FareLevel should be returned in the response. When the ShowFareAmounts element is defined, only one of its attributes can be defined, either Original or Adjusted. At least one is required.
Sample Value:
"SellingLevels": {
"ShowFareAmounts": {
"Adjusted": true
}
}
In the Request
Optional
- Parameter: ShowFareAmounts/@Original
-
Type: Boolean
Description: When ShowFareAmounts/@Original is set to “true,” the original fare amount will be returned in the total fare amount, and additional MarkUp information will be returned in the SellingFareData element. To use this attribute, the ORGFQD EPR keyword is required.
Sample Value:
"SellingLevels": {
"ShowFareAmounts": {
"Original": true
}
}
In the Request
Optional
- Parameter: ShowFareAmounts/@Adjusted
-
Type: Boolean
Description: When ShowFareAmounts/@Adjusted is set to “true,” the selling fare level amount and total adjusted fare amount will be returned. To use this attribute, the AGYRET EPR keyword is required.
Sample Value:
"SellingLevels": {
"ShowFareAmounts": {
"Adjusted": true
}
}
In the Request
Optional
- Parameter: RetailerRules
-
Type: Complex
Description: Provides the capability to request fares matching the specified retailer rules.
Sample Value:
N/A
In the Request
Optional
- Parameter: RetailerRules/ @Force
-
Type: Boolean
Description: If RetailerRules/@Force is set to “true,” only fares with a matched Business Rule containing the specified Retailer Rule Qualifier will be returned.
Sample Value:
"RetailerRule": [{
"Code": "MBRKERRQ"
}, {
"Code": "MBRKERRQNET"
}]
In the Request
Required
- Parameter: RetailerRule/@Code
-
Type: String (restriction: maximum length 20 characters)
Description: This attribute is used to provide the code(s) of retailer rules that should be matched by returned fares.
Sample Value:
"RetailerRule": [{
"Code": "MBRKERRQ"
}, {
"Code": "MBRKERRQNET"
}]
In the Response
Optional
- Parameter: HandlingMarkupDetail
-
Type: Complex
Description: Provides information about handling markup details if applicable on the fare component level.
Sample Value:
"HandlingMarkupDetail": [{
"MarkupHandlingFeeAppID": "AJ",
"FareAmountAfterMarkup": 207.50,
"MarkupAmount": 19.00,
"AmountCurrency": "EUR",
"MarkupRuleSourcePCC": "A1D0",
"MarkupRuleItemNumber": 7794
}]
In the Response
Optional
- Parameter: HandlingMarkupDetail/@MarkupHandlingFeeAppID
-
Type: String
Description: HandlingMarkupDetail/@MarkupHandlingFeeAppID is a markup handling fee application ID.
Sample Value:
"HandlingMarkupDetail": [{
"MarkupHandlingFeeAppID": "AJ",
"FareAmountAfterMarkup": 207.50,
"MarkupAmount": 19.00,
"AmountCurrency": "EUR",
"MarkupRuleSourcePCC": "A1D0",
"MarkupRuleItemNumber": 7794
}]
In the Response
Optional
- Parameter: HandlingMarkupDetail/@MarkupTypeCode
-
Type: String
Description: HandlingMarkupDetail/@MarkupTypeCode defines the Markup type.
Sample Value:
"HandlingMarkupDetail": [{
"MarkupHandlingFeeAppID": "AJ",
"FareAmountAfterMarkup": 207.50,
"MarkupAmount": 19.00,
"AmountCurrency": "EUR",
"MarkupRuleSourcePCC": "A1D0",
"MarkupRuleItemNumber": 7794
}]
In the Response
Optional
- Parameter: HandlingMarkupDetail/@FareAmountAfterMarkup
-
Type: Decimal
Description: HandlingMarkupDetail/@FareAmountAfterMarkup is the fare amount after the applied markup.
Sample Value:
"HandlingMarkupDetail": [{
"MarkupHandlingFeeAppID": "AJ",
"FareAmountAfterMarkup": 207.50,
"MarkupAmount": 19.00,
"AmountCurrency": "EUR",
"MarkupRuleSourcePCC": "A1D0",
"MarkupRuleItemNumber": 7794
}]
In the Response
Optional
- Parameter: HandlingMarkupDetail/@MarkupAmount
-
Type: Decimal
Description: HandlingMarkupDetail/@MarkupAmount is the amount of the applied markup.
Sample Value:
"HandlingMarkupDetail": [{
"MarkupHandlingFeeAppID": "AJ",
"FareAmountAfterMarkup": 207.50,
"MarkupAmount": 19.00,
"AmountCurrency": "EUR",
"MarkupRuleSourcePCC": "A1D0",
"MarkupRuleItemNumber": 7794
}]
In the Response
Optional
- Parameter: HandlingMarkupDetail/@AmountCurrency
-
Type: String
Description: HandlingMarkupDetail/@AmountCurrency is the currency of a given markup amount.
Sample Value:
"HandlingMarkupDetail": [{
"MarkupHandlingFeeAppID": "AJ",
"FareAmountAfterMarkup": 207.50,
"MarkupAmount": 19.00,
"AmountCurrency": "EUR",
"MarkupRuleSourcePCC": "A1D0",
"MarkupRuleItemNumber": 7794
}]
In the Response
Optional
- Parameter: HandlingMarkupDetail/@MarkupRuleSourcePCC
-
Type: String (restriction: minimum three maximum four characters)
Description: HandlingMarkupDetail/@MarkupRuleSourcePCC is code of PCC who crated given markup rule.
Sample Value:
"HandlingMarkupDetail": [{
"MarkupHandlingFeeAppID": "AJ",
"FareAmountAfterMarkup": 207.50,
"MarkupAmount": 19.00,
"AmountCurrency": "EUR",
"MarkupRuleSourcePCC": "A1D0",
"MarkupRuleItemNumber": 7794
}]
In the Response
Optional
- Parameter: HandlingMarkupDetail/@MarkupRuleItemNumber
-
Type: UnsignedLong
Description: HandlingMarkupDetail/@MarkupRuleItemNumber is a number identifying a markup rule item.
Sample Value:
"HandlingMarkupDetail": [{
"MarkupHandlingFeeAppID": "AJ",
"FareAmountAfterMarkup": 207.50,
"MarkupAmount": 19.00,
"AmountCurrency": "EUR",
"MarkupRuleSourcePCC": "A1D0",
"MarkupRuleItemNumber": 7794
}]
In the Response
Optional
- Parameter: SellingFareDataList
-
Type: Complex
Description: Agency retailer MarkUp information if applicable.
Sample Value:
N/A
In the Response
Required
- Parameter: SellingFareData/@LayerTypeName
-
Type: String
Description: Indicates that the returned fare level is the adjusted selling fare, meaning that the agency retailer markup was applied.
Sample Value:
"SellingFareDataList": {
"SellingFareData": [{
"LayerTypeName": "ADS",
"HandlingMarkupSummary": [{
"TypeCode": "J",
"Description": "ADJT AMT",
"MonetaryAmountValue": 21.00
}]
}]
}
In the Response
Optional
- Parameter: HandlingMarkupSummary
-
Type: Complex
Description: This is a summary information about the Agency Retailer MarkUp amount, markUp type, and MarkUp description.
Sample Value:
N/A
In the Response
Required
- Parameter: HandlingMarkupSummary/@TypeCode
-
Type: String (restricted to one character)
Description: HandlingMarkupSummary/@TypeCode defines the Agency Retailer markup type. Valid values are: • M − Embedded Mark Up • J − Adjusted Selling • H − Handling Fee • G − GST Taxes
Sample Value:
"SellingFareDataList": {
"SellingFareData": [{
"LayerTypeName": "ADS",
"HandlingMarkupSummary": [{
"TypeCode": "J",
"Description": "ADJT AMT",
"MonetaryAmountValue": 21.00
}]
}]
}
In the Response
Required
- Parameter: HandlingMarkupSummary/@Description
-
Type: String (restriction: maximum 10 characters)
Description: HandlingMarkupSummary/@Description is a description of the selling fare data.
Sample Value:
"SellingFareDataList": {
"SellingFareData": [{
"LayerTypeName": "ADS",
"HandlingMarkupSummary": [{
"TypeCode": "J",
"Description": "ADJT AMT",
"MonetaryAmountValue": 21.00
}]
}]
}
In the Response
Required
- Parameter: HandlingMarkupSummary/ @MonetaryAmountValue
-
Type: Decimal (up to three fractional digits)
Description: HandlingMarkupSummary/@MonetaryAmountValue is the Agency Retailer markup amount in the equivalent currency.
Sample Value:
"SellingFareDataList": {
"SellingFareData": [{
"LayerTypeName": "ADS",
"HandlingMarkupSummary": [{
"TypeCode": "J",
"Description": "ADJT AMT",
"MonetaryAmountValue": 21.00
}]
}]
}
In the Response
Optional
- Parameter: FareRetailerRule
-
Type: Complex
Description: Matched general retailer rule code or adjusted selling level retailer rule code
Sample Value:
N/A
In the Response
Required
- Parameter: FareRetailerRule/@TransactionType
-
Type: String
Description: FareRetailerRule/@TransactionType specifies the general or adjusted selling level.
Sample Value:
"FareRetailerRule": [{
"TransactionType": "General",
"Code": "MBRKERRQNET"
},
{
"TransactionType": "AdjustedSellingLevel",
"Code": "MBRKERRQ"
}]
In the Response
Required
- Parameter: FareRetailerRule/@Code
-
Type: String
Description: FareRetailerRule/@Code returns the matched Agency Retailer rule code.
Sample Value:
"FareRetailerRule": [{
"TransactionType": "General",
"Code": "MBRKERRQNET"
},
{
"TransactionType": "AdjustedSellingLevel",
"Code": "MBRKERRQ"
}]
v1.9.5.1 | August 11, 2016
- enabletagging: returns a Request ID for the itinerary data set and a Tag ID for each itinerary in the response and stores in the Sabre cache. The request ID can be used to make "paginated" calls (using limit and offset) via the new Bargain Finder Max - Pagination Request URL . The tag ID can be used to retrieve an itinerary via the new Bargain Finder Max - Tag ID Lookup URL.
- limit and offset: paginate search results for a request ID by specifying itineraries to return per request in limit and specifying the starting position to begin retrieving itineraries in offset . Allows to retrieve and return search queries for mobile app requests. Rather than returning all results, you could return 5 results per request in limit (limit=5) and specify a starting position of 1 in offset (offset=1). You can select a starting position of 6 (offset=6) to retrieve the next 5 results (limit=5).
- view: use a Sabre default response view or create a custom response view. To create a custom response view, define the response paths to include or exclude using the Custom Response View API , then pass the view as a filter in the request URI, e.g., view=NOWARNINGS to format the response. See the Response View Lookup API for a list of Sabre response views.
API Information
What's New
- enabletagging: returns a Request ID for the itinerary data set and a Tag ID for each itinerary in the response and stores in the Sabre cache. The request ID can be used to make "paginated" calls (using limit and offset) via the new Bargain Finder Max - Pagination Request URL . The tag ID can be used to retrieve an itinerary via the new Bargain Finder Max - Tag ID Lookup URL.
- limit and offset: paginate search results for a request ID by specifying itineraries to return per request in limit and specifying the starting position to begin retrieving itineraries in offset . Allows to retrieve and return search queries for mobile app requests. Rather than returning all results, you could return 5 results per request in limit (limit=5) and specify a starting position of 1 in offset (offset=1). You can select a starting position of 6 (offset=6) to retrieve the next 5 results (limit=5).
- view: use a Sabre default response view or create a custom response view. To create a custom response view, define the response paths to include or exclude using the Custom Response View API , then pass the view as a filter in the request URI, e.g., view=NOWARNINGS to format the response. See the Response View Lookup API for a list of Sabre response views.
New Features
In the Request
Optional
- Parameter: enabletagging
-
Type: boolean
Description: Returns a RequestID for the itinerary data set and stores in the Sabre cache. The request ID can be used to make "paginated" calls (using limit and offset) via the Pagination Request URL at: GET /v1.9.5.1/shop/flights/{requestid}. Returns a TagID for each itinerary and stores in the Sabre cache. The tag ID can be used to retrieve an itinerary from the Tag ID Lookup URL at: GET /v1.9.5.1/shop/flights/tags/{tagid}. See documentation for new methods and endpoints.
Sample Value:
N/ANote: enabletagging=true – returns and stores itineraries for subsequent calls to the Sabre cache
In the Request
Optional
- Parameter: limit
-
Type: string or number
Description: The number of itineraries to retrieve per request
Sample Value:
limit=50Note: Default value: 50 itineraries per request . If limit is specified in the Pagination Request URL, then enabletagging=true must have been specified in the initial Bargain Finder Max API request.
In the Request
Optional
- Parameter: offset
-
Type: number
Description: The starting position in the list of all itineraries that meet the query criteria
Sample Value:
offset=1Note: Default value: 1. If offset is specified in the Pagination Request URL, then enabletagging=true must have been specified in the initial Bargain Finder Max API request.
In the Request
Optional
- Parameter: view
-
Type: string
Description: The response view definition
Sample Value:
view=IF_ITIN_TOTAL_PRICENote: You can either use a Sabre default response view or create a custom response view us ing the Custom Response View API.
In the Response
N/A
- Parameter: RequestID
-
Type: N/A
Description: The request ID that corresponds to the itinerary data set
Sample Value:
N/ANote: A request ID is returned when enabletagging=true is used in a previous Bargain Finder Max API request. The request ID can be used to make "paginated" calls (using limit and offset) via the Pagination Request URL. See documentation for details on request ID expiration values.
In the Response
N/A
- Parameter: TagID
-
Type: N/A
Description: The tag ID for the respective itinerary
Sample Value:
N/ANote: A tag ID is returned when enabletagging=true is used in a previous Bargain Finder Max API request. The tag ID can be used to retrieve an itinerary from the Tag ID Lookup URL. See documentation for details on tag ID expiration values.
In the Response
N/A
- Parameter: paginatedRequestLinkTemplate
-
Type: N/A
Description: Formats an API request with placeholders to retrieve the itinerary data set associated with a given request ID
Sample Value:
N/A
In the Response
N/A
- Parameter: tagLookupLinkTemplate
-
Type: N/A
Description: Formats an API request with placeholders to retrieve the itinerary associated with a given tag ID
Sample Value:
N/A