Skip Navigation

Alternate Date

Air
Search
REST API
Airline Carrier
Travel Agency
Try Now
  • No changes for this functionality in this Release. Only schema and endpoint version upgrade to 5.2.0.

API Information

Format
JSON
Endpoint
/v5.2.0/shop/altdates/flights?mode=live
Current Version
5.2.0
Environment
Production

What's New

  • No changes for this functionality in this Release. Only schema and endpoint version upgrade to 5.2.0.

New Features

In the Request

Optional

Parameter: AirStreaming

Type: mixed

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 amount 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": {
                "Debug": 0,
                "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.

  • The classic Alternate Date API is available now in JSON over the REST path/endpoint.
  • AirStreaming - Split the final Intellisell response into multiple packages by setting a limited number of itineraries in each one of them.

API Information

Format
JSON
Endpoint
/v5.1.0/shop/altdates/flights?mode=live
Current Version
5.1.0
Environment
Production

What's New

  • The classic Alternate Date API is available now in JSON over the REST path/endpoint.
  • AirStreaming - Split the final Intellisell response into multiple packages by setting a limited number of itineraries in each one of them.

Business Value

  • Customer using REST JSON services is able to request the response in chunks. In other words the standard full response is restructured and sent in smaller packages of itineraries. The whole functionality and steps required to activated it are covered in dedicated Developer Administration Guide.

New Features

In the Request

Optional

Parameter: AirStreaming

Type: mixed

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 amount 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": {
                "Debug": 0,
                "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.

  • No changes for this functionality in this Release. Only schema version upgrade to 4.3.0.

API Information

Format
JSON
Endpoint
/POST v4.3.0/shop/altdates/flights
Current Version
4.3.0
Environment
Production

What's New

  • No changes for this functionality in this Release. Only schema version upgrade to 4.3.0.

Business Value

  • Each of these new parameters power new ways to market, shop and convert lookers to bookers.

New Features

In the Request

Optional

Parameter: NumberOfSolutions

Type: CountOrPercentage

Description: Indicator to specify the desired number of solutions to be returned in the response either in percentage or a number.

Sample Value:

{
    "TravelPreferences": {
        "ValidInterlineTicket": "true",
        "TPA_Extensions": {
            "TripType": {
                "Value": "OneWay"
            },
            "LongConnectTime": {
                "Enable": "true",
                "Min": 781,
                "NumberOfSolutions": "23%"
            },
            "JumpCabinLogic": {
                "Disabled": "true"
            }
        }
    }
}

In the Request

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

  • Alternate Date - GroupedItineraryResponse has been modified to return additional information in the response:
  • Forced Stopover Indicator – a new indicator at segment level to denote stopover point.
  • First and Second Bag - Extended Ancillary Fee Groups with ancillary sub code (s), type(s) and hints for up to 10 standard baggage’s.

API Information

Format
XML
Endpoint
/[object Object]
Current Version
4.2.0
Environment
Production

What's New

  • Alternate Date - GroupedItineraryResponse has been modified to return additional information in the response:
  • Forced Stopover Indicator – a new indicator at segment level to denote stopover point.
  • First and Second Bag - Extended Ancillary Fee Groups with ancillary sub code (s), type(s) and hints for up to 10 standard baggage’s.

Business Value

  • The new parameters added to the response will bring more transparency and accuracy to GroupItineraryResponse.

New Features

In the Response

Optional

Parameter: RequestedStopover

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:

|-|LegDesc ID="1"|--|
|-|Schedule Ref="5"/|--|
|-|Schedule Ref="6" DepartureDateAdjustment="2" RequestedStopover="true"/|--|
|-|Schedule Ref="10" DepartureDateAdjustment="2"/|--|
|-|/LegDesc|--|
Note: [object Object]

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"/|--|
    |-|AncillaryFeeItem 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"/|--|
    |-|AncillaryFeeItem 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"/|--|
    |-|AncillaryFeeItem 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"/|--|
|-|/AncillaryFeeGroup|--|
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"/|--|
    |-|AncillaryFeeItem 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"/|--|
    |-|AncillaryFeeItem 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"/|--|
    |-|AncillaryFeeItem 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"/|--|
|-|/AncillaryFeeGroup|--|
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: A baggage ID number which 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"/|--|
    |-|AncillaryFeeItem 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"/|--|
    |-|AncillaryFeeItem 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"/|--|
    |-|AncillaryFeeItem 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"/|--|
|-|/AncillaryFeeGroup|--|
Note: [object Object]

In the Response

Optional

Parameter: Code

Type: PassengerCodeType

Description: A passenger type code related to a specific baggage sequence order with applicable hints.

Sample Value:

|-|OrderStandardBag|--|
    |-|PassengerBags Code="ADT"|--|
        |-|BaggageSequenceOrder BaggageID="1" StandardBag="1"/|--|
        |-|BaggageSequenceOrder BaggageID="2" StandardBag="2"/|--|
        |-|BaggageSequenceOrder BaggageID="3" StandardBag="3"/|--|
    |-|/PassengerBags|--|
|-|/OrderStandardBag|--|
Note: [object Object]

In the Response

Required

Parameter: BaggageID

Type: BaggageIDType

Description: A baggage ID number for the applicable baggage hints.

Sample Value:

|-|OrderStandardBag|--|
    |-|PassengerBags Code="ADT"|--|
        |-|BaggageSequenceOrder BaggageID="1" StandardBag="1"/|--|
        |-|BaggageSequenceOrder BaggageID="2" StandardBag="2"/|--|
        |-|BaggageSequenceOrder BaggageID="3" StandardBag="3"/|--|
    |-|/PassengerBags|--|
|-|/OrderStandardBag|--|
Note: [object Object]

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"/|--|
        |-|BaggageSequenceOrder BaggageID="2" StandardBag="2"/|--|
        |-|BaggageSequenceOrder BaggageID="3" StandardBag="3"/|--|
    |-|/PassengerBags|--|
|-|/OrderStandardBag|--|
Note: [object Object]

  • Alternate Date has been enhanced to enable more flexibility within the request and return additional information in the response as follows:
  • 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 bags.

API Information

Format
JSON
Endpoint
/v4.1.0/shop/altdates/flights
Current Version
4.1.0
Environment
Production

What's New

  • Alternate Date has been enhanced to enable more flexibility within the request and return additional information in the response as follows:
  • 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 bags.

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 MFPI 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 code 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: Ffare 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. This new option is available with two attributes: “ExcludeCodeshare” removes codeshare flights. The same Marketing/Operating (base flights), can be combined with “KeepOnlines” to also return the online flights that are codeshare, for more diversity.

Sample Value:

{
    "TravelPreferences": {
        "TPA_Extensions": {
            "CodeShareIndicator": {
                "ExcludeCodeshare": "true",
                "KeepOnlines": "false"
            }
        }
    }
}

In the Response

Optional

Parameter: NoMarkupBaseFare

Type: Boolean

Description: Applicable to Agency Retailer subscribers. Indicates the original base selling fare, which can include any Fare Retailer Net fare Markups plus any Fare Retailer Handling Fees. Excludes all Fare Retailer Selling rule adjustments.

Sample Value:

{
    "NoMarkupBaseFare": {
        "Amount": 161.00,
        "CurrencyCode": "USD"
    }
}

In the Response

Optional

Parameter: HiddenHandlingFee

Type: Boolean

Description: Applicable to Agency Retailer subscribers. Indicates whether a Fare Retailer hidden Handling fee rule was applied.

Sample Value:

{
    "SellingFareData": {
        "LayerTypeName": "ART",
        "HiddenHandlingFee": "true",
        "HandlingMarkupSummary": [
            {
                "TypeCode": "A",
                "Description": "3PCT",
                "ExtendedDescription": "HAND BSE",
                "MonetaryAmountValue": 0.56,
                "HiddenHandlingFee": "true"
            },
            {
                "TypeCode": "C",
                "Description": "HAND PTK",
                "ExtendedDescription": "HAND PTK",
                "MonetaryAmountValue": 15.00,
                "HiddenHandlingFee": "true"
            },
            {
                "TypeCode": "E",
                "Description": "2PCT",
                "ExtendedDescription": "HAND TTL",
                "MonetaryAmountValue": 0.97,
                "HiddenHandlingFee": "true"
            }
        ]
    }
}

In the Response

Optional

Parameter: NonHiddenHandlingFee

Type: Boolean

Description: Applicable to Agency Retailer subscribers. Indicates whether Fare Retailer non-hidden Handling Fee rule was applied.

Sample Value:

{
    "SellingFareData": {
        "LayerTypeName": "ART",
        "NonHiddenHandlingFee": "true",
        "HandlingMarkupSummary": {
            "TypeCode": "B",
            "Description": "5PCT",
            "ExtendedDescription": "HAND BSE",
            "MonetaryAmountValue": 1.00,
            "NonHiddenHandlingFee": "true"
        }
    }
}

In the Response

Optional

Parameter: FareRetailerRule

Type: Boolean

Description: Applicable to Agency Retailer subscribers. Indicates whether a Fare Retailer-Selling level rule was applied.

Sample Value:

{
    "HandlingMarkupSummary": {
        "TypeCode": "J",
        "Description": "ADJT AMT",
        "ExtendedDescription": "ADJT AMT",
        "MonetaryAmountValue": 6.04,
        "FareRetailerRule": "true"
    }
}

In the Response

Optional

Parameter: AncillaryTypeCode

Type: String

Description: AncillaryTypeCode that corresponds to a type of ancillary, type F or P (treated as F) and is being displayed for all the ancillary groups.

Sample Value:

{
    "AncillaryFeeGroup": {
        "Code": "BG",
        "Name": "BAGGAGE",
        "AncillaryFeeItem": [
            {
                "Amount": 25.00,
                "Description": "1ST ADDITIONAL BAG",
                "OriginAirport": "AMS",
                "DestinationAirport": "LHR",
                "Carrier": "KL",
                "PassengerCode": "ADT",
                "Date": "2018-04-10",
                "StartSegment": 1,
                "EndSegment": 1,
                "AncillaryTypeCode": "F",
                "Subcode": "0CC",
                "BaggageID": 1
            },
            {
                "Amount": 45.00,
                "Description": "2ND ADDITIONAL BAG",
                "OriginAirport": "AMS",
                "DestinationAirport": "LHR",
                "Carrier": "KL",
                "PassengerCode": "ADT",
                "Date": "2018-04-10",
                "StartSegment": 1,
                "EndSegment": 1,
                "AncillaryTypeCode": "F",
                "Subcode": "0CD",
                "BaggageID": 2
            },
            {
                "Amount": 45.00,
                "Description": "3RD OR MORE ADDITIONAL BAG",
                "OriginAirport": "AMS",
                "DestinationAirport": "LHR",
                "Carrier": "KL",
                "PassengerCode": "ADT",
                "Date": "2018-04-10",
                "StartSegment": 1,
                "EndSegment": 1,
                "AncillaryTypeCode": "F",
                "Subcode": "0CE",
                "BaggageID": 3
            },
            {
                "Amount": 30.80,
                "Description": "RUCKSACK OR KNAPSACK",
                "OriginAirport": "AMS",
                "DestinationAirport": "LHR",
                "Carrier": "KL",
                "PassengerCode": "ADT",
                "Date": "2018-04-10",
                "StartSegment": 1,
                "EndSegment": 1,
                "AncillaryTypeCode": "F",
                "Subcode": "0EB",
                "BaggageID": 4
            }
        ]
    }
}
Note: If one of the records is F type and another P (treated as F) and both have the same subcode, P type will take precedence.

In the Response

Optional

Parameter: Subcode

Type: String

Description: Optional service industry subcodes that are being displayed for all ancillary groups.

Sample Value:

{
    "AncillaryFeeGroup": {
        "Code": "BG",
        "Name": "BAGGAGE",
        "AncillaryFeeItem": [
            {
                "Amount": 25.00,
                "Description": "1ST ADDITIONAL BAG",
                "OriginAirport": "AMS",
                "DestinationAirport": "LHR",
                "Carrier": "KL",
                "PassengerCode": "ADT",
                "Date": "2018-04-10",
                "StartSegment": 1,
                "EndSegment": 1,
                "AncillaryTypeCode": "F",
                "Subcode": "0CC",
                "BaggageID": 1
            },
            {
                "Amount": 45.00,
                "Description": "2ND ADDITIONAL BAG",
                "OriginAirport": "AMS",
                "DestinationAirport": "LHR",
                "Carrier": "KL",
                "PassengerCode": "ADT",
                "Date": "2018-04-10",
                "StartSegment": 1,
                "EndSegment": 1,
                "AncillaryTypeCode": "F",
                "Subcode": "0CD",
                "BaggageID": 2
            },
            {
                "Amount": 45.00,
                "Description": "3RD OR MORE ADDITIONAL BAG",
                "OriginAirport": "AMS",
                "DestinationAirport": "LHR",
                "Carrier": "KL",
                "PassengerCode": "ADT",
                "Date": "2018-04-10",
                "StartSegment": 1,
                "EndSegment": 1,
                "AncillaryTypeCode": "F",
                "Subcode": "0CE",
                "BaggageID": 3
            },
            {
                "Amount": 30.80,
                "Description": "RUCKSACK OR KNAPSACK",
                "OriginAirport": "AMS",
                "DestinationAirport": "LHR",
                "Carrier": "KL",
                "PassengerCode": "ADT",
                "Date": "2018-04-10",
                "StartSegment": 1,
                "EndSegment": 1,
                "AncillaryTypeCode": "F",
                "Subcode": "0EB",
                "BaggageID": 4
            }
        ]
    }
}
Note: List of standard ATPCO subcodes: 0CC, 0CD, 0CE, 0CF, 0CG, 0CH, 0CI, 0CJ, 0CK, 0EN.

In the Response

Optional

Parameter: BaggageID

Type: BaggageIDType

Description: Baggage ID number that follows the current hierarchy in sorting Air Extras.

Sample Value:

{
    "AncillaryFeeGroup": {
        "Code": "BG",
        "Name": "BAGGAGE",
        "AncillaryFeeItem": [
            {
                "Amount": 25.00,
                "Description": "1ST ADDITIONAL BAG",
                "OriginAirport": "AMS",
                "DestinationAirport": "LHR",
                "Carrier": "KL",
                "PassengerCode": "ADT",
                "Date": "2018-04-10",
                "StartSegment": 1,
                "EndSegment": 1,
                "AncillaryTypeCode": "F",
                "Subcode": "0CC",
                "BaggageID": 1
            },
            {
                "Amount": 45.00,
                "Description": "2ND ADDITIONAL BAG",
                "OriginAirport": "AMS",
                "DestinationAirport": "LHR",
                "Carrier": "KL",
                "PassengerCode": "ADT",
                "Date": "2018-04-10",
                "StartSegment": 1,
                "EndSegment": 1,
                "AncillaryTypeCode": "F",
                "Subcode": "0CD",
                "BaggageID": 2
            },
            {
                "Amount": 45.00,
                "Description": "3RD OR MORE ADDITIONAL BAG",
                "OriginAirport": "AMS",
                "DestinationAirport": "LHR",
                "Carrier": "KL",
                "PassengerCode": "ADT",
                "Date": "2018-04-10",
                "StartSegment": 1,
                "EndSegment": 1,
                "AncillaryTypeCode": "F",
                "Subcode": "0CE",
                "BaggageID": 3
            },
            {
                "Amount": 30.80,
                "Description": "RUCKSACK OR KNAPSACK",
                "OriginAirport": "AMS",
                "DestinationAirport": "LHR",
                "Carrier": "KL",
                "PassengerCode": "ADT",
                "Date": "2018-04-10",
                "StartSegment": 1,
                "EndSegment": 1,
                "AncillaryTypeCode": "F",
                "Subcode": "0EB",
                "BaggageID": 4
            }
        ]
    }
}

In the Response

Optional

Parameter: Code

Type: PassengerCodeType

Description: Passenger type code related to a specific baggage sequence order with applicable hints.

Sample Value:

{
    "OrderStandardBag": {
        "PassengerBags": {
            "Code": "ADT",
            "BaggageSequenceOrder": [
                {
                    "BaggageID": 1,
                    "StandardBag": 1
                },
                {
                    "BaggageID": 2,
                    "StandardBag": 2
                },
                {
                    "BaggageID": 3,
                    "StandardBag": 3
                }
            ]
        }
    }
}

In the Response

Required

Parameter: BaggageID

Type: BaggageIDType

Description: Baggage ID number for the applicable baggage hints.

Sample Value:

{
    "OrderStandardBag": {
        "PassengerBags": {
            "Code": "ADT",
            "BaggageSequenceOrder": [
                {
                    "BaggageID": 1,
                    "StandardBag": 1
                },
                {
                    "BaggageID": 2,
                    "StandardBag": 2
                },
                {
                    "BaggageID": 3,
                    "StandardBag": 3
                }
            ]
        }
    }
}

In the Response

Required

Parameter: StandardBag

Type: Short

Description: Standard baggage hint: for example, “1” is the first standard baggage, “2” is the second standard baggage, etc.

Sample Value:

{
    "OrderStandardBag": {
        "PassengerBags": {
            "Code": "ADT",
            "BaggageSequenceOrder": [
                {
                    "BaggageID": 1,
                    "StandardBag": 1
                },
                {
                    "BaggageID": 2,
                    "StandardBag": 2
                },
                {
                    "BaggageID": 3,
                    "StandardBag": 3
                }
            ]
        }
    }
}

  • Alternate Date has been enhanced to return additional information in the response as follows:
  • New indicator in the response to advise baggage allowance is not permitted

API Information

Format
JSON
Endpoint
/POST v3.3.0/shop/altdates/flights HTTP/1.1
Current Version
3.3.0
Environment
Production

What's New

  • Alternate Date has been enhanced to return additional information in the response as follows:
  • New indicator in the response to advise baggage allowance is not permitted

Business Value

  • These enhancement drive greater transparency for baggage allowance and charges.

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

  • Alternate Date 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.

API Information

Format
JSON
Endpoint
/POST v3.2.0/shop/altdates/flights
Current Version
3.2.0
Environment
Production

What's New

  • Alternate Date 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.


  • 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

Format
JSON
Endpoint
/POST /v3.1.0/shop/altdates/flights
Current Version
3.1.0
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"
    }
]
   

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

In the Response

Optional

Parameter: ProgramCode

Type: String

Description: Attribute for the brand program code that is returned from the branding service. This allows you to use this attribute returned in the shopping response in subsequent requests, for example, in a "GetMarketingText" request and correctly match brand programs.

Sample Value:

"FareComponent": [
    {
        "ProgramID": "5840",
        "ProgramCode": "A",
        "ProgramDescription": "NZA",
        "ProgramSystemCode": "A",
        "BrandID": "SW",
        "BrandName": "SMARTSAVER",

        ...
   
    }

]

In the Response

Optional

Parameter: BrandsOnAnyMarket

Type: Boolean

Description: Attribute that allows you to indicate that a minimum of one of the legs included in the itinerary option contains a brand(s).

Sample Value:

"AirItineraryPricingInfo": [
    {
        "LastTicketDate": "2017-02-28",
        "PricingSource": "ADVJR1",
        "PricingSubSource": "MIP",
        "FareReturned": true,
        "BrandsOnAnyMarket": true,
                                 
        ...
   
    }
]
Note: This parameter is required within “SingleBrandedFare” only. It indicates that the itinerary can have additional branded options, so you can request them with a subsequent AllBrandsPricingRQ transaction.

  • Bargain FinderSM Max has been enhanced to enable more 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 proceed for 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 Enhancement - Allows you to manage baggage information search at the request level.
  • Non BSP check - Allows you to select a validating carrier and override the local settlement validation method and Interline Electronic Ticketing (IET) validation.

API Information

Format
JSON
Endpoint
/v3.0.0/shop/altdates/flights/
Current Version
3.0.0
Environment
Production

What's New

  • Bargain FinderSM Max has been enhanced to enable more 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 proceed for 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 Enhancement - Allows you to manage baggage information search at the request level.
  • Non BSP check - Allows you to select a validating carrier and override the local settlement validation method and Interline Electronic Ticketing (IET) validation.

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",
    "LocationType": "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:

N/A
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: Baggage Provision Type

Description: “ProvisionType” indicates baggage information. Valid values are: • “A” - Checked Baggage Allowance. • “C” - Day of Check-in Charges.

Sample Value:

"BaggageInformation": [{
    "ProvisionType": "A",
    "AirlineCode": "SK",
    "Segment": [{
        "Id": 0
    },
    {
        "Id": 1
    }],
    "Allowance": [{
        "Pieces": 1,
        "Description1": "UP TO 50 POUNDS/23 KILOGRAMS"
    }]
}]

In the Response

Optional

Parameter: AirlineCode

Type: AirlineCodeType

Description: “AirlineCode” indicates the carrier whose baggage provisions apply.

Sample Value:

"BaggageInformation": [{
    "ProvisionType": "A",
    "AirlineCode": "SK",
    "Segment": [{
        "Id": 0
    },
    {
        "Id": 1
    }],
    "Allowance": [{
        "Pieces": 1,
        "Description1": "UP TO 50 POUNDS/23 KILOGRAMS"
    }]
}]

In the Response

Optional

Parameter: Description1

Type: String

Description: Baggage text information.

Sample Value:

"BaggageInformation": [{
    "ProvisionType": "A",
    "AirlineCode": "SK",
    "Segment": [{
        "Id": 0
    },
    {
        "Id": 1
    }],
    "Allowance": [{
        "Pieces": 1,
        "Description1": "UP TO 50 POUNDS/23 KILOGRAMS"
    }]
}]

In the Response

Optional

Parameter: Description2

Type: String

Description: Baggage text information.

Sample Value:

N/A

In the Response

Optional

Parameter: Charge

Type: Complex

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

Sample Value:

N/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

In the Request

Required

Parameter: SettlementValidation

Type: Boolean

Description: The “SettlementValidation” parameter allows you to override the local settlement plan check.

Sample Value:

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

N/A
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

Optional

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:

"ValidatingCarrierCheck": {
    "SettlementValidation": {
        "Ind": false
    },
    "IETValidation": {
        "Ind": true
    },
    "Carrier": [{
        "Code": "QR"
    },
    {
        "Code": "EY"
    }],
    "Country": [{
        "Code": "DE"
    },
    {
        "Code": "FR"
    },
    {
        "Code": "IT"
    }]
}
Note: If no settlement method is checked (SettlementValidation Ind="false" in request), NSP appears in the response.

In the Response

Optional

Parameter: NewVcxProcess

Type: Boolean

Description: “NewVcxProcess” indicates whether IET validation was requested (by IETValidation Ind set as “true" or “false” in the request).

Sample Value:

"ValidatingCarrier": [{
    "SettlementMethod": "ARC",
    "NewVcxProcess": true,
    "Default": {
        "Code": "MS"
    }
},
{
    "SettlementMethod": "BSP",
    "Country": "IT",
    "NewVcxProcess": true,
    "Default": {
        "Code": "HR"
    },
    "Alternate": [{
        "Code": "HV"
    }]
}]

In the Response

Optional

Parameter: Default/@Code

Type: CarrierCode

Description: This parameter indicates the default carrier code for Settlement Method and IET validation check.

Sample Value:

"ValidatingCarrier": [{
    "SettlementMethod": "ARC",
    "NewVcxProcess": true,
    "Default": {
        "Code": "MS"
    }
},
{
    "SettlementMethod": "BSP",
    "Country": "IT",
    "NewVcxProcess": true,
    "Default": {
        "Code": "HR"
    },
    "Alternate": [{
        "Code": "HV"
    }]
}]

In the Response

Optional

Parameter: Alternate/@Code

Type: CarrierCode

Description: This parameter indicates the alternate carrier code for Settlement Method and IET check.

Sample Value:

"ValidatingCarrier": [{
    "SettlementMethod": "ARC",
    "NewVcxProcess": true,
    "Default": {
        "Code": "MS"
    }
},
{
    "SettlementMethod": "BSP",
    "Country": "IT",
    "NewVcxProcess": true,
    "Default": {
        "Code": "HR"
    },
    "Alternate": [{
        "Code": "HV"
    }]
}]

In the Response

Optional

Parameter: Country/@Code

Type: String

Description: Returns the country code in which IET validation was done for the default or alternate Validating Carrier. The format is a two-character country code as defined by ISO.

Sample Value:

"ValidatingCarrier": [{
    "SettlementMethod": "ARC",
    "NewVcxProcess": true,
    "Default": {
        "Code": "MS"
    }
},
{
    "SettlementMethod": "BSP",
    "Country": "IT",
    "NewVcxProcess": true,
    "Default": {
        "Code": "HR"
    },
    "Alternate": [{
        "Code": "HV"
    }]
}]
Note: Above schema applies if no settlement method with IET validation checked in request: |-|SettlementValidation Ind="false"/|--| |-|IETValidation Ind="true"/|--|

In the Response

Optional

Parameter: Country

Type: String

Description: Country code for which settlement method and IET validation was checked (other than the original POS). Format is a two-character country code as defined by ISO.

Sample Value:

"ValidatingCarrier": [{
    "SettlementMethod": "ARC",
    "NewVcxProcess": true,
    "Default": {
        "Code": "MS"
    }
},
{
    "SettlementMethod": "BSP",
    "Country": "IT",
    "NewVcxProcess": true,
    "Default": {
        "Code": "HR"
    },
    "Alternate": [{
        "Code": "HV"
    }]
}]
Note: This schema applies if settlement method with IET validation check was requested: |-|SettlementValidation Ind="true"/|--| |-|IETValidation Ind="true"/|--| |-|Country Code="PL"/|--|

  • Bargain Finder Max service has been enhanced to enable more flexibility within the request and return additional information in the response as follows: •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

Format
JSON
Endpoint
/POST /v1.9.7/shop/altdates/flights/
Current Version
1.9.7
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: •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: SellingLevels

Type: Complex

Description: Element controlling Mark Up Any Fare functionality. When SellingLevels element is defined, one of its sub-elements must be provided, either SellingLevelRules or ShowFareAmounts.

Sample Value:

N/A

In the Request

Required

Parameter: SellingLevelRules/@Ignore

Type: Boolean

Description: If ignore set to “true,” adjustment SellingLevelRules will be ignored. To use this element, the ORGFQD EPR keyword is required.

Sample Value:

"SellingLevels": {
    "SellingLevelRules": {
        "Ignore": true
    }
}

In the Request

Required

Parameter: ShowFareAmounts

Type: Complex

Description: The ShowFareAmounts element defines which FareLevel should be returned in the response. When the ShowFareAmounts element is defined, only one of its attributes can be defined, either Original or Adjusted. At least one is required.

Sample Value:

N/A

In the Request

Optional

Parameter: ShowFareAmounts/@Original

Type: Boolean

Description: When ShowFareAmounts/@Original is set to “true,” the original fare amount will be returned in the total fare amount, and additional MarkUp information will be returned in the SellingFareData element. To use this attribute, the ORGFQD EPR keyword is required.

Sample Value:

"SellingLevels": {
    "ShowFareAmounts": {
        "Original": true
    }
}

In the Request

Optional

Parameter: ShowFareAmounts/@Adjusted

Type: Boolean

Description: When ShowFareAmounts/@Adjusted is set to “true,” the selling fare level amount and total adjusted fare amount will be returned. To use this attribute, the AGYRET EPR keyword is required.

Sample Value:

"SellingLevels": {
    "ShowFareAmounts": {
        "Adjusted": true
    }
}

In the Request

Optional

Parameter: RetailerRules

Type: Complex

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

Sample Value:

N/A

In the Request

Optional

Parameter: RetailerRules/@Force

Type: Boolean

Description: If RetailerRules/@Force is set to “true,” only fares with a matched Business Rule containing the specified Retailer Rule Qualifier will be returned.

Sample Value:

"RetailerRule": [{
    "Code": "MBRKERRQ"
},
{
    "Code": "MBRKERRQNET"
}]

In the Request

Required

Parameter: RetailerRule/@Code

Type: String (restriction: maximum length 20 characters)

Description: This attribute is used to provide the code(s) of retailer rules that should be matched by returned fares.

Sample Value:

"RetailerRule": [{
    "Code": "MBRKERRQ"
},
{
    "Code": "MBRKERRQNET"
}]

In the Response

Optional

Parameter: HandlingMarkupDetail

Type: Complex

Description: Provides information about handling markup details if applicable on the fare component level.

Sample Value:

N/A

In the Response

Optional

Parameter: HandlingMarkupDetail/@MarkupHandlingFeeAppID

Type: String

Description: HandlingMarkupDetail/@MarkupHandlingFeeAppID is a markup handling fee application ID.

Sample Value:

"HandlingMarkupDetail": [{
    "MarkupHandlingFeeAppID": "AJ",
    "FareAmountAfterMarkup": 207.50,
    "MarkupAmount": 19.00,
    "AmountCurrency": "EUR",
    "MarkupRuleSourcePCC": "A1D0",
    "MarkupRuleItemNumber": 7794
}] 

In the Response

Optional

Parameter: HandlingMarkupDetail/@MarkupTypeCode

Type: String

Sample Value:

"SellingFareDataList": {
    "SellingFareData": [{
        "LayerTypeName": "ADS",
        "HandlingMarkupSummary": [{
            "TypeCode": "J",
            "Description": "ADJT AMT",
            "MonetaryAmountValue": 21.00
        }]
    }]
}

In the Response

Optional

Parameter: HandlingMarkupDetail/@FareAmountAfterMarkup

Type: Decimal

Description: HandlingMarkupDetail/@FareAmountAfterMarkup is the fare amount after the applied markup.

Sample Value:

"HandlingMarkupDetail": [{
    "MarkupHandlingFeeAppID": "AJ",
    "FareAmountAfterMarkup": 207.50,
    "MarkupAmount": 19.00,
    "AmountCurrency": "EUR",
    "MarkupRuleSourcePCC": "A1D0",
    "MarkupRuleItemNumber": 7794
}]

In the Response

Optional

Parameter: HandlingMarkupDetail/@MarkupAmount

Type: Decimal

Description: HandlingMarkupDetail/@MarkupAmount is the amount of the applied markup.

Sample Value:

"HandlingMarkupDetail": [{
    "MarkupHandlingFeeAppID": "AJ",
    "FareAmountAfterMarkup": 207.50,
    "MarkupAmount": 19.00,
    "AmountCurrency": "EUR",
    "MarkupRuleSourcePCC": "A1D0",
    "MarkupRuleItemNumber": 7794
}]

In the Response

Optional

Parameter: HandlingMarkupDetail/@AmountCurrency

Type: String

Description: HandlingMarkupDetail/@AmountCurrency is the currency of a given markup amount.

Sample Value:

"HandlingMarkupDetail": [{
    "MarkupHandlingFeeAppID": "AJ",
    "FareAmountAfterMarkup": 207.50,
    "MarkupAmount": 19.00,
    "AmountCurrency": "EUR",
    "MarkupRuleSourcePCC": "A1D0",
    "MarkupRuleItemNumber": 7794
}]

In the Response

Optional

Parameter: HandlingMarkupDetail/@MarkupRuleSourcePCC

Type: String (restriction: minimum three maximum four characters)

Description: HandlingMarkupDetail/@MarkupRuleSourcePCC is code of PCC who crated given markup rule.

Sample Value:

"HandlingMarkupDetail": [{
    "MarkupHandlingFeeAppID": "AJ",
    "FareAmountAfterMarkup": 207.50,
    "MarkupAmount": 19.00,
    "AmountCurrency": "EUR",
    "MarkupRuleSourcePCC": "A1D0",
    "MarkupRuleItemNumber": 7794
}]

In the Response

Optional

Parameter: HandlingMarkupDetail/@MarkupRuleItemNumber

Type: Unsigned Long

Description: HandlingMarkupDetail/@MarkupRuleItemNumber is a number identifying a markup rule item.

Sample Value:

"HandlingMarkupDetail": [{
    "MarkupHandlingFeeAppID": "AJ",
    "FareAmountAfterMarkup": 207.50,
    "MarkupAmount": 19.00,
    "AmountCurrency": "EUR",
    "MarkupRuleSourcePCC": "A1D0",
    "MarkupRuleItemNumber": 7794
}]

In the Response

Optional

Parameter: SellingFareDataList

Type: Complex

Description: Agency retailer MarkUp information if applicable.

Sample Value:

N/A

In the Response

Required

Parameter: SellingFareData/@LayerTypeName

Type: String

Description: Indicates that the returned fare level is the adjusted selling fare, meaning that the agency retailer markup was applied

Sample Value:

"SellingFareDataList": {
    "SellingFareData": [{
        "LayerTypeName": "ADS",
        "HandlingMarkupSummary": [{
            "TypeCode": "J",
            "Description": "ADJT AMT",
            "MonetaryAmountValue": 21.00
        }]
    }]
}

In the Response

Optional

Parameter: HandlingMarkupSummary

Type: Complex

Description: This is a summary information about the Agency Retailer MarkUp amount, markUp type, and MarkUp description.

Sample Value:

N/A

In the Response

Required

Parameter: HandlingMarkupSummary/@TypeCode

Type: String (restricted to one character)

Description: HandlingMarkupSummary/@TypeCode defines the Agency Retailer markup type. Valid values are: • M − Embedded Mark Up • J − Adjusted Selling • H − Handling Fee • G − GST Taxes

Sample Value:

"SellingFareDataList": {
    "SellingFareData": [{
        "LayerTypeName": "ADS",
        "HandlingMarkupSummary": [{
            "TypeCode": "J",
            "Description": "ADJT AMT",
            "MonetaryAmountValue": 21.00
        }]
    }]
}

In the Response

Required

Parameter: HandlingMarkupSummary/@Description

Type: String (restriction: maximum 10 characters)

Description: HandlingMarkupSummary/@Description is a description of the selling fare data.

Sample Value:

"SellingFareDataList": {
    "SellingFareData": [{
        "LayerTypeName": "ADS",
        "HandlingMarkupSummary": [{
            "TypeCode": "J",
            "Description": "ADJT AMT",
            "MonetaryAmountValue": 21.00
        }]
    }]
}

In the Response

Required

Parameter: HandlingMarkupSummary/@MonetaryAmountValue

Type: Decimal (up to three fractional digits)

Description: HandlingMarkupSummary/@MonetaryAmountValue is the Agency Retailer markup amount in the equivalent currency.

Sample Value:

"SellingFareDataList": {
    "SellingFareData": [{
        "LayerTypeName": "ADS",
        "HandlingMarkupSummary": [{
            "TypeCode": "J",
            "Description": "ADJT AMT",
            "MonetaryAmountValue": 21.00
        }]
    }]
}

In the Response

Optional

Parameter: FareRetailerRule

Type: Complex

Description: Matched general retailer rule code or adjusted selling level retailer rule code.

Sample Value:

N/A

In the Response

Required

Parameter: FareRetailerRule/@TransactionType

Type: String

Description: FareRetailerRule/@TransactionType specifies the general or adjusted selling level.

Sample Value:

"FareRetailerRule": [{
    "TransactionType": "General",
    "Code": "MBRKERRQNET"
},
{
    "TransactionType": "AdjustedSellingLevel",
    "Code": "MBRKERRQ"
}]

In the Response

Required

Parameter: FareRetailerRule/@Code

Type: String

Description: FareRetailerRule/@Code returns the matched Agency Retailer rule code.

Sample Value:

"FareRetailerRule": [{
    "TransactionType": "General",
    "Code": "MBRKERRQNET"
},
{
    "TransactionType": "AdjustedSellingLevel",
    "Code": "MBRKERRQ"
}]