Skip to main content

Bargain Finder Max

v2
Air
Search
REST API
Travel Agency
Try Now
release_note
  • New Distribution Capability (NDC) - New parameters introduced to the Shopping request to support the new functionality
  • New section NDC Indicators is now available and includes MaxNumberOfUpsells - allows you to display additional upsells for the journey.
  • New processing of the AccountCodes for NDC Carriers is available under CarrierSpecificQualifiers in the NDC Indicators section.
  • ABN and QCI qualifiers are now available under Qualifier and CarrierSpecificQualifiers in the NDC Indicators section.
  • New attribute MultipleSourcePerItinerary allows you to handle scenarios when the same journey is returned from ATPCO and NDC channel.
  • New attributes SingleBrandedFare, MultipleBrandedFares and ParityMode enabling branded fare shopping on NDC path.
  • Other Request level changes applicable for ATPCO path:
  • Flight type (A: Air Segment, K: ARUNK, O: Open Segment) has been changed from required to optional.
  • Deleted Passenger Type Code. NOTE: The below optional parameter is no longer available for our customers with version 5.2.0 or later: PassengerType/@Code - more information available in SAN 15673 from 10th SEP 2019.
  • Bargain Finder Max GIR Response has been enhanced with the new parameters and other changes listed below:
  • New Distribution Capability (NDC) - New parameters introduced to the Shopping GIR response to support the new functionality:
  • OfferItemId and ServiceId are now present also at the passenger information level.
  • TTL parameter name changed to TimeToLive, and the value is now displayed in seconds.
  • ElapsedTime attribute has been added at the ScheduleDesc and LegDesc levels.
  • New parameters and other changes applicable for ATPCO content or both - ATPCO and NDC content:
  • The MandatoryInd indicates mandatory Offer Items that cannot be removed from the Offer. Added at the Fare and Passenger Information levels.
  • New attribute LastTicketTime added at FareType level.
  • Ancillaries Baggage information - For carriers migrated to new ATPCO baggage processing, new ancillaryTypeCode value "C" will occur, along with new optional elements: "subgroup", "description1", "description2", "firstOccurrence", "lastOccurrence".
  • The Parameters FareAmount and FareCurrency at FareComponentDesc level have been changed to optional.
  • The Operating Carrier Code has been changed from required to optional.

API Information

Response Format
JSON
Method/Endpoint
/v2/offers/shop
Current Version
2.0.0
Target Audience
TN
Environment
Production

What's New

  • New Distribution Capability (NDC) - New parameters introduced to the Shopping request to support the new functionality
  • New section NDC Indicators is now available and includes MaxNumberOfUpsells - allows you to display additional upsells for the journey.
  • New processing of the AccountCodes for NDC Carriers is available under CarrierSpecificQualifiers in the NDC Indicators section.
  • ABN and QCI qualifiers are now available under Qualifier and CarrierSpecificQualifiers in the NDC Indicators section.
  • New attribute MultipleSourcePerItinerary allows you to handle scenarios when the same journey is returned from ATPCO and NDC channel.
  • New attributes SingleBrandedFare, MultipleBrandedFares and ParityMode enabling branded fare shopping on NDC path.
  • Other Request level changes applicable for ATPCO path:
  • Flight type (A: Air Segment, K: ARUNK, O: Open Segment) has been changed from required to optional.
  • Deleted Passenger Type Code. NOTE: The below optional parameter is no longer available for our customers with version 5.2.0 or later: PassengerType/@Code - more information available in SAN 15673 from 10th SEP 2019.
  • Bargain Finder Max GIR Response has been enhanced with the new parameters and other changes listed below:
  • New Distribution Capability (NDC) - New parameters introduced to the Shopping GIR response to support the new functionality:
  • OfferItemId and ServiceId are now present also at the passenger information level.
  • TTL parameter name changed to TimeToLive, and the value is now displayed in seconds.
  • ElapsedTime attribute has been added at the ScheduleDesc and LegDesc levels.
  • New parameters and other changes applicable for ATPCO content or both - ATPCO and NDC content:
  • The MandatoryInd indicates mandatory Offer Items that cannot be removed from the Offer. Added at the Fare and Passenger Information levels.
  • New attribute LastTicketTime added at FareType level.
  • Ancillaries Baggage information - For carriers migrated to new ATPCO baggage processing, new ancillaryTypeCode value "C" will occur, along with new optional elements: "subgroup", "description1", "description2", "firstOccurrence", "lastOccurrence".
  • The Parameters FareAmount and FareCurrency at FareComponentDesc level have been changed to optional.
  • The Operating Carrier Code has been changed from required to optional.

Business Value

  • Each of these enhancements enable greater personalization and efficiency to further refine the search.

New Features

In the Request

Optional

Parameter: MaxNumberOfUpsells

Type: integer

Description: Allows you to display additional upsells for the journeys. We cannot request upsells explicitly; the system can only do something with them if provided by the carrier. By default, the system does a low fare search, so only the lowest fare is presented. With this attribute, you can tell us “if the carrier returns upsells, return them as additional fares, but no more than X.”

Sample Value:

"TravelPreferences": {
	"TPA_Extensions": {
		"DataSources": {
			"ATPCO": "Disable",
			"LCC": "Disable",
			"NDC": "Enable"
		},
		"NDCIndicators": {
			"MaxNumberOfUpsells": {
				"Value": 5
			}
		}
	}
},
Note: Default value = 0.

In the Request

Optional

Parameter: CarrierSpecificQualifiers

Type: complexType

Description: New element in the schema for requesting AccountCode from NDC content.

Sample Value:

"NDCIndicators": {
	"CarrierSpecificQualifiers": [
		{
			"CarrierCode": "QF",
			"AccountCode": {
				"Code": "FLX50"
			}
		}
	]
}
Note: The AccountCode for NDC content should now be placed under NDCIndicators section.

In the Request

Optional

Parameter: Qualifier

Type: complexType

Description: Example showing how to request QCI qualifier for a specific carrier.

Sample Value:

"NDCIndicators": {
	"CarrierSpecificQualifiers": [
		{
			"CarrierCode": "QF",
			"Qualifier": [
				{
					"Name": "QCI",
					"Value": "YQO"
				}
			]
		}
	]
}
Note: CarrierSpecificQualifiers level. The ABN and QCI qualifiers are not allowed to be used together, but they don't require an associated Account Code.

In the Request

Optional

Parameter: Qualifier

Type: complexType

Description: Example showing how to request ABN qualifier for all NDC carriers.

Sample Value:

"NDCIndicators": {
	"Qualifier": [
		{
			"Name": "ABN",
			"Value": "19138761111"
		}
	]
}
Note: NDC carriers' level. The ABN and QCI qualifiers are not allowed to be used together, but they don't require an associated Account Code.

In the Request

Optional

Parameter:

Type: MultipleSourcePerItinerary

Description: Specify what to do if the same journey is returned from ATPCO and NDC channels. By default, the cheaper will stay. In the case of a tie, the previously described solution will be in place. With this attribute, you can tell us “show me everything, combine ATPCO and NDC fares as additional fares, regardless of whether they are the same price”. You can use this for single NDC fare or multiple, the same for APTCO, both single and multiple.

Sample Value:

"TPA_Extensions": {
	"IntelliSellTransaction": {
		"MultipleSourcePerItinerary": {
			"Value": true
		},
Note: NDC does not provide any “ATPCO Brand Content” – no program names, no brand ids, no brand features (table 166), no rich content. Only PriceClass that is interpreted as a Brand Name.

In the Request

Optional

Parameter: SingleBrandedFare

Type: complexType

Description: SingleBrandedFare Indicates whether price class information is displayed.

Sample Value:

"NDCIndicators": {
	"SingleBrandedFare": {
		"Value": true
	},
	"MultipleBrandedFares": {
		"Value": true
	},
	"ParityMode": {
		"Mode": "Itin"
	}
}
}
},
Note: Allows to display brand information, useful for low fare search. Default value = true.

In the Request

Optional

Parameter: MultipleBrandedFares

Type: complexType

Description: MultipleBrandedFares indicates if upsells are allowed, without this attribute only lowest fare is returned.

Sample Value:

"NDCIndicators": {
	"SingleBrandedFare": {
		"Value": true
	},
	"MultipleBrandedFares": {
		"Value": true
	},
	"ParityMode": {
		"Mode": "Itin"
	}
}
}
},
Note: Default value = true.

In the Request

Optional

Parameter: ParityMode

Type: complexType

Description: Parity mode for the PriceClasses

Sample Value:

"NDCIndicators": {
	"SingleBrandedFare": {
		"Value": true
	},
	"MultipleBrandedFares": {
		"Value": true
	},
	"ParityMode": {
		"Mode": "Itin"
	}
}
}
},
Note: Must specify required attribute "Mode": "Leg" or "Itin".

In the Response

Optional

Parameter: offerItemId

Type: string

Description: NDC Service Id. Unique identifier for this Offer item instance. Offer item is a priceable chunk of services. Example "cdjnxalksm0-1-1".

Sample Value:

{
 "pricingSubsource": "NDC_CONNECTOR",
 "offer": {"offer: "db0b984bd6684brnfk1hvupcc0-2", "ttl": 20, "source": "NDC"},
 "fare": {
   "validatingCarrierCode": "",
   "eTicketable": true,
   "passengerInfoList": [
     {
      "passengerInfo": {
        "offerItemId": "db0b984bd6684brnfk1hvupcc0-2-1",
        "mandatoryInd": true,
        "serviceId": "db0b984bd6684brnfk1hvupcc0-2-1-1",
        "passengerType": "ADT",
        "passengerNumber": 1,
        "fareComponents": [
          {
Note: Now available in PassengerInfo section. This parameter is currently available for JSON/REST API only.

In the Response

Optional

Parameter: serviceId

Type: string

Description: NDC Service Id. Unique identifier for this Offer item instance. Offer item is a priceable chunk of services. Example "cdjnxalksm0-1-1".

Sample Value:

{
 "pricingSubsource": "NDC_CONNECTOR",
 "offer": {"offer: "db0b984bd6684brnfk1hvupcc0-2", "ttl": 20, "source": "NDC"},
 "fare": {
   "validatingCarrierCode": "",
   "eTicketable": true,
   "passengerInfoList": [
     {
      "passengerInfo": {
        "offerItemId": "db0b984bd6684brnfk1hvupcc0-2-1",
        "mandatoryInd": true,
        "serviceId": "db0b984bd6684brnfk1hvupcc0-2-1-1",
        "passengerType": "ADT",
        "passengerNumber": 1,
        "fareComponents": [
          {
Note: Now available in PassengerInfo section. This parameter is currently available for JSON/REST API only.

In the Response

Optional

Parameter: timeToLive

Type: integer

Description: Parameter indicates Time to Live in seconds, the length of time the offer will be valid in the Offer Store.

Sample Value:

"pricingInformation": [
	{
		"pricingSubsource": "NDC_CONNECTOR",
		"offer": {
			"offerId": "dg069c668cf5jknfhk6l4h6m80-2",
			"timeToLive": 900,
			"source": "NDC"
		}
Note: Parameter already present in the schema as TTL, changes apply to the name "timeToLive" and value pattern in seconds. Pattern: "^[0-9] $" Example : "1200'". Note: The TTL for NDC offers is different than for ATPCO content. This parameter is currently available for JSON/REST API only.

In the Response

Optional

Parameter: elapsedTime

Type: integer

Description: This information allows customers to display travel time for NDC Offers.

Sample Value:

"legDescs": [
	{
		"id": 1,
		"elapsedTime": 395,
		"schedules": [
			{
				"ref": 4
			}
		]
	}
Note: The elapsedTime at legDescs level. This parameter is available on both, NDC and ATPCO path.

In the Response

Optional

Parameter: elapsedTime

Type: integer

Description: This information allows customers to display travel time for NDC Offers.

Sample Value:

"scheduleDescs": [
	{
		"id": 1,
		"stopCount": 0,
		"eTicketable": true,
		"elapsedTime": 390,
		"departure": {
			"airport": "SIN",
			"time": "08:05:00 08:00",
			"terminal": "3"
Note: The elapsedTime at the scheduleDescs level. This parameter is available on both NDC and ATPCO paths.

In the Response

Optional

Parameter: mandatoryInd

Type: boolean

Description: If set to 'true', indicates mandatory Offer Items that cannot be removed from the Offer. Mandatory Offer Items transition into Order Items. If not present or 'false', the Offer item is optional.

Sample Value:

"fare": {
	"offerItemId": "cg5fd74bdf9fwtwjsk6kloyuh0-1-1",
	"mandatoryInd": true,
	"serviceId": "cg5fd74bdf9fwtwjsk6kloyuh0-1-1-1",
	"validatingCarrierCode": "SQ",
	"vita": true,
	"eTicketable": true,
	"governingCarriers": "SQ",
	"passengerInfoList": [
		{
			"passengerInfo": {
Note: Mandatory indicator at the Fare level. Applicable for ATPCO and NDC content.

In the Response

Optional

Parameter: mandatoryInd

Type: boolean

Description: If set to 'true', indicates mandatory Offer Items that cannot be removed from the Offer. Mandatory Offer Items transition into Order Items. If not present or 'false', the Offer item is optional.

Sample Value:

{
	"passengerInfo": {
		"offerItemId": "cg5fd74bdf9fwtwjsk6kloyuh0-7-1",
		"mandatoryInd": true,
		"serviceId": "cg5fd74bdf9fwtwjsk6kloyuh0-7-1-1",
		"passengerType": "ADT",
		"passengerNumber": 1,
		"fareComponents": [
			{
Note: Mandatory indicator at the Passenger Information level. Applicable for ATPCO and NDC content.

In the Response

Optional

Parameter: lastTicketTime

Type: string

Description: New attribute added at the Fare level.

Sample Value:

"pricingInformation": [
  {
    "pricingSubsource": "MIP",
    "fare": {
    "validatingCarrierCode": "LO",
    "vita": true,
    "eTicketable": true,
    "lastTicketDate": "2020-02-15",
    "lastTicketTime": "10:28",
    "governingCarriers": "LO",
    "passengerInfoList": [
      {
Note: Pattern: HH_MM

In the Response

Optional

Parameter: subgroup

Type: string

Description: Two-letter ancillary subgroup code from ATPCO filing. This is applicable only to non-standard bags, such as SP - Sporting Equipment.

Sample Value:

"ancillaryFeeGroup": {
"ancillaryFees": [
	{
		"code": "BG",
		"name": "BAGGAGE",
		"details": [
			{
				"code": "ADT",
				"description": "PREPAID BAGGAGE 23KG",
				"origin": "SVO",
				"destination": "LHR",
				"carrier": "SU",
				"amount": 40,
				"departureDate": "2020-03-20",
				"startSegment": 1,
				"endSegment": 1,
				"ancillaryTypeCode": "C",
				"subcode": "0C3",
				"description1": "UP TO 50 POUNDS/23 KILOGRAMS",
				"description2": "UP TO 80 LINEAR INCHES/203 LINEAR CM",
				"firstOccurrence": 1,
				"lastOccurrence": 2
			},
Note: For standard baggage, this attribute will never be returned.

In the Response

Optional

Parameter: description1 description2

Type: string

Description: Ancillary Fee description lines from ATPCO filing.

Sample Value:

"ancillaryFeeGroup": {
"ancillaryFees": [
	{
		"code": "BG",
		"name": "BAGGAGE",
		"details": [
			{
				"code": "ADT",
				"description": "PREPAID BAGGAGE 23KG",
				"origin": "SVO",
				"destination": "LHR",
				"carrier": "SU",
				"amount": 40,
				"departureDate": "2020-03-20",
				"startSegment": 1,
				"endSegment": 1,
				"ancillaryTypeCode": "C",
				"subcode": "0C3",
				"description1": "UP TO 50 POUNDS/23 KILOGRAMS",
				"description2": "UP TO 80 LINEAR INCHES/203 LINEAR CM",
				"firstOccurrence": 1,
				"lastOccurrence": 2
			},
Note: Returned only for new ATPCO processing of baggage charges.

In the Response

Optional

Parameter: firstOccurrence

Type: string

Description: Ancillary Baggage Information. First occurrence for which the baggage charge applies.

Sample Value:

"ancillaryFeeGroup": {
"ancillaryFees": [
	{
		"code": "BG",
		"name": "BAGGAGE",
		"details": [
			{
				"code": "ADT",
				"description": "PREPAID BAGGAGE 23KG",
				"origin": "SVO",
				"destination": "LHR",
				"carrier": "SU",
				"amount": 40,
				"departureDate": "2020-03-20",
				"startSegment": 1,
				"endSegment": 1,
				"ancillaryTypeCode": "C",
				"subcode": "0C3",
				"description1": "UP TO 50 POUNDS/23 KILOGRAMS",
				"description2": "UP TO 80 LINEAR INCHES/203 LINEAR CM",
				"firstOccurrence": 1,
				"lastOccurrence": 2
			},
Note: Returned only for new ATPCO processing of baggage charges.

In the Response

Optional

Parameter: lastOccurrence

Type: string

Description: Ancillary Baggage Information. Last occurrence for which the baggage charge applies. If last occurrence is not returned, baggage option has no limit of pieces that can be sold.

Sample Value:

"ancillaryFeeGroup": {
"ancillaryFees": [
	{
		"code": "BG",
		"name": "BAGGAGE",
		"details": [
			{
				"code": "ADT",
				"description": "PREPAID BAGGAGE 23KG",
				"origin": "SVO",
				"destination": "LHR",
				"carrier": "SU",
				"amount": 40,
				"departureDate": "2020-03-20",
				"startSegment": 1,
				"endSegment": 1,
				"ancillaryTypeCode": "C",
				"subcode": "0C3",
				"description1": "UP TO 50 POUNDS/23 KILOGRAMS",
				"description2": "UP TO 80 LINEAR INCHES/203 LINEAR CM",
				"firstOccurrence": 1,
				"lastOccurrence": 2
			},
Note: Returned only for new ATPCO processing of baggage charges.

Functional Updates And Enhancements

In the Request

Optional

Parameter: Type

Type: string

Description: Flight type (A: Air Segment, K: ARUNK, O: Open Segment)

Sample Value:

"Flight": [
	{
		"ClassOfService": "S",
		"Number": 705,
		"DepartureDateTime": "2018-04-15T23:55:00",
		"ArrivalDateTime": "2018-04-16T08:35:00",
		"Type": "A",
		"Flown": false,
		"OriginLocation": {
			"LocationCode": "MAD"
		},
		"DestinationLocation": {
			"LocationCode": "SCL"
Note: This is an existing parameter but it has been changed from restricted to optional, and its default value is equal to A - Air Segment. It belongs to the OriginDestinationFlightAttributeGroup.

In the Response

Optional

Parameter: Operating

Type: CarrierCode

Description: Operating airline code.

Sample Value:

"carrier": {
	"marketing": "HA",
	"marketingFlightNumber": 452,
	"operating": "HA",
	"operatingFlightNumber": 452,
	"equipment": {
		"code": "332",
		"typeForFirstLeg": "W",
		"typeForLastLeg": "W"
	}
}
Note: Parameter already present in the schema, changed from required to optional. For the NDC offers, the operating carrier value is optional and very often might not appear in the response.

In the Response

Optional

Parameter: fareAmount

Type: decimal

Description: An existing Fare Component parameter is now optional.

Sample Value:

"fareComponentDescs": [
	{
		"id": 2,
		"governingCarrier": "SQ",
		"fareAmount": 509.00,
		"fareCurrency": "USD",
		"fareBasisCode": "N15USOBA",
		"farePassengerType": "ADT",
		"publishedFareAmount": 509.00,
		"oneWayFare": true,
		"directionality": "FROM",
		"direction": "PA",
		"notValidBefore": "2020-02-28",
		"notValidAfter": "2020-02-28",
		"applicablePricingCategories": "3 4 5 6 7 8 9 10 12 15 16 18 23",
		"vendorCode": "ATP",
		"fareTypeBitmap": "00",
		"fareType": "XOX",
		"fareTariff": "3",
		"fareRule": "UW11",
		"segments": [
			{
Note: Changed from required to optional.

In the Response

Optional

Parameter: fareCurrency

Type:

Description: An existing Fare Component parameter is now optional.

Sample Value:

"fareComponentDescs": [
	{
		"id": 2,
		"governingCarrier": "SQ",
		"fareAmount": 509.00,
		"fareCurrency": "USD",
		"fareBasisCode": "N15USOBA",
		"farePassengerType": "ADT",
		"publishedFareAmount": 509.00,
		"oneWayFare": true,
		"directionality": "FROM",
		"direction": "PA",
		"notValidBefore": "2020-02-28",
		"notValidAfter": "2020-02-28",
		"applicablePricingCategories": "3 4 5 6 7 8 9 10 12 15 16 18 23",
		"vendorCode": "ATP",
		"fareTypeBitmap": "00",
		"fareType": "XOX",
		"fareTariff": "3",
		"fareRule": "UW11",
		"segments": [
			{
Note: Changed from required to optional.

Relase note ID: 14289


  • 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

Response Format
JSON
Method/Endpoint
BargainFinderMaxRQ/v1/offers/shop
Current Version
1.0.0
Target Audience
TN
Environment
Production

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).

Relase note ID: 12851


  • 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

Response Format
JSON
Method/Endpoint
BargainFinderMaxRQ/v1/offers/shop
Current Version
1
Target Audience
TN
Environment
Production

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"
				}
			}
		}
	}
}
Note:

Relase note ID: 12823


  • 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

Response Format
JSON
Method/Endpoint
Current Version
4.3.0
Target Audience
TN
Environment
Production

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).

Relase note ID: 13865


  • 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

Response Format
JSON
Method/Endpoint
BargainFinderMaxRQBargainFinderMaxRQv4.2.0/shop/flights
Current Version
4.2.0
Target Audience
TN
Environment
Production

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"
			}
		}
	}
}
Note:

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
			}
		}
	}
}
Note:

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"
              }
       }
}
 
}
Note:

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"
			}
		}
	}
}
Note:

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.

Relase note ID: 12932


  • 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

Response Format
JSON
Method/Endpoint
BargainFinderMaxRQv4.1.0/shop/flights
Current Version
4.1.0
Target Audience
TN
Environment
Production

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"
			}
		}
	}
}
Note:

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"
	}
}
Note:

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"
			}
		]
	}
}
Note:

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"
		}
	}
}
Note:

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"
	}
}
Note:

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
			}
		]
	}
}
Note:

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
				}
			]
		}
	}
}
Note:

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
				}
			]
		}
	}
}
Note:

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
				}
			]
		}
	}
}
Note:

Relase note ID: 12911


  • 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

Response Format
JSON
Method/Endpoint
POST v3.4.0/shop/flights
Current Version
3.4.0
Target Audience
TN
Environment
Production

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.

Relase note ID: 12994


  • 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

Response Format
JSON
Method/Endpoint
BargainFinderMaxRQPOST v3.3.0/shop/flights
Current Version
3.3.0
Target Audience
TN
Environment
Production

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" } } }
 
Note:

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" } } }
 
Note:

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" } } } }
 
Note:

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" } } } } }
 
Note:

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": "" } }
 
Note:

Relase note ID: 12975


  • 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

Response Format
JSON
Method/Endpoint
POST v3.2.0/shop/flights
Current Version
3.2.0
Target Audience
TN
Environment
Production

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.

Relase note ID: 12956


  • 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

Response Format
JSON
Method/Endpoint
BargainFinderMaxRQPOST /v3.1.0/shop/flights
Current Version
3.1.0
Target Audience
TN
Environment
Production

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/A
Note: 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"
	}
]
Note:

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/A
Note: “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/A
Note: 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"
}
Note:

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",
 
        ...
 
    }
]
Note:

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.

Relase note ID: 13018


  • 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

Response Format
JSON
Method/Endpoint
POST /v3.0.0/shop/flights
Current Version
3.0.0
Target Audience
TN
Environment
Production

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/A
Note: 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"
	}]
}]
Note:

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"
	}]
}]
Note:

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"
	}]
}]
Note:

In the Response

Optional

Parameter: Description2

Type: String

Description: Baggage text information.

Sample Value:

N/A
Note:

In the Response

Optional

Parameter: Charge

Type: Complex

Description: Charge information for the first two checked bags (if applicable).

Sample Value:

N/A
Note: 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/A
Note: “EquivalentAmount” is required within the “Charge” element.

In the Response

Required

Parameter: EquivalentCurrency

Type: CurrencyCodeType

Description: Equivalent currency for baggage charges.

Sample Value:

N/A
Note: “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/A
Note: “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/A
Note: “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
Note:

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"
	}]
}]
Note:

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"
	}]
}]
Note:

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"
	}]
}]
Note:

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/A
Note: 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.

Relase note ID: 13072


  • 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

Response Format
JSON
Method/Endpoint
POST /v1.9.7/shop/flights/
Current Version
1.9.7
Target Audience
TN
Environment
Production

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
}
Note:

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
}
Note:

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
Note:

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
	}
}
Note:

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
    }
}
Note:

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
	}
}
Note:

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
	}
}
Note:

In the Request

Optional

Parameter: RetailerRules

Type: Complex

Description: Provides the capability to request fares matching the specified retailer rules.

Sample Value:

N/A
Note:

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"
}]
Note:

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"
}]
Note:

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
}]	
Note:

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
}]	
Note:

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
}]	
Note:

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
}]	
Note:

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
}]	
Note:

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
}]	
Note:

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
}]	
Note:

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
}]	
Note:

In the Response

Optional

Parameter: SellingFareDataList

Type: Complex

Description: Agency retailer MarkUp information if applicable.

Sample Value:

N/A
Note:

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
		}]
	}]
}
Note:

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
Note:

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
		}]
	}]
}
Note:

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
		}]
	}]
}
Note:

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
		}]
	}]
}
Note:

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
Note:

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"
}]
Note:

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"
}]
Note:

Relase note ID: 13054


  • 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 given request ID by specifying how many itineraries to return per request in limit and specifying the starting position to begin retrieving itineraries in offset . This allows you to more quickly retrieve and return search qu eries for mobile application 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). Then 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

Response Format
JSON
Method/Endpoint
POST /v1.9.5.1/shop/flights
Current Version
1.9.5.1
Target Audience
TN
Environment
Production

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 given request ID by specifying how many itineraries to return per request in limit and specifying the starting position to begin retrieving itineraries in offset . This allows you to more quickly retrieve and return search qu eries for mobile application 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). Then 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/A
Note: 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=50
Note: 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=1
Note: 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_PRICE
Note: 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/A
Note: 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/A
Note: 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
Note:

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
Note:

Relase note ID: 13094