Skip Navigation

Revalidate Itinerary

Air
Search
REST API
Travel Agency
  • This release contains a Swagger documentation update.

API Information

Format
JSON
Endpoint
/v4/shop/flights/revalidate
Current Version
4
Environment
Production

What's New

  • This release contains a Swagger documentation update.

Resolved Issues

In the Request

Optional

Description: The value of the `PreferLevel` parameter under the `Cabinpref` element has been updated in the request.


  • This release contains a Swagger documentation update.

API Information

Format
JSON
Endpoint
/v5/shop/flights/revalidate
Current Version
5
Environment
Production

What's New

  • This release contains a Swagger documentation update.

Resolved Issues

In the Request

Optional

Description: The value of the `PreferLevel` parameter under the `Cabinpref` element has been updated in the request.


  • The new "PublishedFareCurrency" element was added under "FareComponentDesc" in the GIR response. This element will return the local 3-letter currency code.
  • The new "OriginDestinationInformationRef" element was added in the GIR response as a reference number to "OriginDestinationInformation" from the request. Helps to match one-way itineraries with full journeys.
  • "PseudoCityCode" was updated to not allow lower-case letters.
  • Due to ASRM (Air Shopping Rule Manager) GUI and related functionality sunset, "TravelPersona" was removed with the release of 6.8.0/v5 (06/30/2023).
  • The "DisclosureAirline" code will no longer show under the "OperatingAirline" code element as default. "OperatingAirline" will show the true operating carrier code and "DisclosureAirline" will show the disclosure carrier code. This change will be applied to any customer adopting SOAP/XML 6.8.0 or REST/JSON v5 versions or higher for BFM/Revalidate.
  • "FareCurrency" was updated to display the "NUC" 3-letter currency code and not the local currency code, as with previous versions.
  • "FareAmount" was updated to display the "NUC" currency value and not the local currency value, as with previous versions.

API Information

Format
JSON
Endpoint
/v5/shop/flights/revalidate
Current Version
5
Environment
Production

What's New

  • The new "PublishedFareCurrency" element was added under "FareComponentDesc" in the GIR response. This element will return the local 3-letter currency code.
  • The new "OriginDestinationInformationRef" element was added in the GIR response as a reference number to "OriginDestinationInformation" from the request. Helps to match one-way itineraries with full journeys.
  • "PseudoCityCode" was updated to not allow lower-case letters.
  • Due to ASRM (Air Shopping Rule Manager) GUI and related functionality sunset, "TravelPersona" was removed with the release of 6.8.0/v5 (06/30/2023).
  • The "DisclosureAirline" code will no longer show under the "OperatingAirline" code element as default. "OperatingAirline" will show the true operating carrier code and "DisclosureAirline" will show the disclosure carrier code. This change will be applied to any customer adopting SOAP/XML 6.8.0 or REST/JSON v5 versions or higher for BFM/Revalidate.
  • "FareCurrency" was updated to display the "NUC" 3-letter currency code and not the local currency code, as with previous versions.
  • "FareAmount" was updated to display the "NUC" currency value and not the local currency value, as with previous versions.

Business Value

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

New Features

In the Response

Optional

Parameter: PublishedFareCurrency

Type: String

Description: "PublishedFareCurrency" was added under "FareComponentDesc" in the GIR response. This element returns the local 3-letter currency code.

Sample Value:

GIR-JSON RS:
...
"fareComponentDescs": [
      {
        "id": 1,
        "governingCarrier": "WS",
        "fareAmount": 217.0812248381,
        "fareCurrency": "CAD",
        "fareBasisCode": "LBVF4QBK",
        "farePassengerType": "ADT",
        "publishedFareAmount": 217.08,
        "publishedFareCurrency": "CAD",
        "directionality": "FROM",
        "applicablePricingCategories": "2 3 5 8 10 12 16 31 33",
        "aslRetailerRuleCode": "HPSHFALL",
        "vendorCode": "ATP",
        "fareTypeBitmap": "00",
        "fareType": "EOU",
        "fareTariff": "45",
        "fareRule": "EL01",
        "cabinCode": "Y",
        "segments": [{"segment": {}}, {"segment": {"stopover": true}}],
        "handlingMarkupDetails": [
...
        ]
      },
...
Note:

In the Response

Optional

Parameter: OriginDestinationInformationRef

Type: integer

Description: "OriginDestinationInformationRef" was added in the GIR response as a reference number to "OriginDestinationInformation" from the request. This helps match one-way itineraries with full journeys.

Sample Value:

GIR-JSON RS:
...
{
"id": 1,
"pricingSource": "ADVJR1",
"originDestinationInformationRef": 1,
"legs": [
{
"ref": 64
}
]
...
}
...
Note:

Functional Updates And Enhancements

In the Request

Required

Parameter: TravelerPersona

Type: string

Description: Due to the ASRM (Air Shopping Rule Manager) GUI and related functionality sunset, "TravelPersona" was ignored after 31 March 2023 and was finally removed from the schema as of the 6.8.0/v5 version release (06/30/2023).

Sample Value:

JSON RQ:
...
{
  "TPA_Extensions": {
    "IntelliSellTransaction": {
...
      "TravelerPersona": "ABC1",
...
    }
  }
}
...
Note: "TravelerPersona" identified the traveler’s profile to be used with the Air Shopping Rules Manager. The name was to be used with the Air Shopping Rules Manager application only.

In the Request

Required

Parameter: PseudoCityCode

Type: string

Description: "PseudoCityCode" was updated to not allow lower-case letters.

Sample Value:

OTA RQ:
...
"POS": {
"Source": [
{
"PseudoCityCode": "ABC1",
"RequestorID": {
"Type": "0.AAA.X",
"ID": "REQ.ID",
"CompanyName": {
"Code": "TN"
}
}
}
]
},
...
Note: PseudoCityCode: Four-character pseudo city code (PCC).

In the Response

Required

Parameter: OperatingAirline Code

Type: string

Description: The "DisclosureAirline" code will no longer show under the "OperatingAirline" code as default. "OperatingAirline" will show the true operating carrier and "DisclosureAirline" will return the disclosure carrier. This change will be applied to any customer adopting the SOAP/XML 6.8.0 or REST/JSON v5 BFM/Revalidate versions or higher.

Sample Value:

{
  "FlightSegment": {
    ...
    "OperatingAirline": "KL",
    ...
    "DisclosureAirline": "WA"
    ...
  }
}
Note:

In the Response

Required

Parameter: fareCurrency

Type: string

Description: Updated to display the "NUC" 3-letter currency code and not the local currency code, as was done in previous versions.

Sample Value:

    "fareComponentDescs": [
      {
        "id": 1,
        "governingCarrier": "WS",
        "fareAmount": 222.29,
        "fareCurrency": "NUC",
        "fareBasisCode": "LBVF4QBK",
        "farePassengerType": "ADT",
        "publishedFareAmount": 222.29,
        "publishedFareCurrency": "CAD",
        "directionality": "FROM",
        "applicablePricingCategories": "2 3 5 8 10 12 16 31 33",
        "aslRetailerRuleCode": "HPSHFALL",
        "vendorCode": "ATP",
        "fareTypeBitmap": "00",
        "fareType": "EOU",
        "fareTariff": "45",
        "fareRule": "EL01",
        "cabinCode": "Y",
        "segments": [{"segment": {}}, {"segment": {"stopover": true}}],
        "handlingMarkupDetails": [
...
        ]
      },
Note:

In the Response

Required

Parameter: fareAmount

Type: integer

Description: Updated to display the "NUC" currency value and not the local currency value, as was done in previous versions.

Sample Value:

  "fareComponentDescs": [
      {
        "id": 1,
        "governingCarrier": "WS",
        "fareAmount": 222.29,
        "fareCurrency": "NUC",
        "fareBasisCode": "LBVF4QBK",
        "farePassengerType": "ADT",
        "publishedFareAmount": 222.29,
        "publishedFareCurrency": "CAD",
        "directionality": "FROM",
        "applicablePricingCategories": "2 3 5 8 10 12 16 31 33",
        "aslRetailerRuleCode": "HPSHFALL",
        "vendorCode": "ATP",
        "fareTypeBitmap": "00",
        "fareType": "EOU",
        "fareTariff": "45",
        "fareRule": "EL01",
        "cabinCode": "Y",
        "segments": [{"segment": {}}, {"segment": {"stopover": true}}],
        "handlingMarkupDetails": [
...
        ]
      },
Note:

  • The Revalidate Itinerary has been enhanced with the following changes:
  • UniversalTicketingAttributes - allows to return ATPCO Route Happy Universal Ticket Attributes content in the response.
  • UniversalProductAttributes - allows to return ATPCO Route Happy Universal Product Attributes content in the response.
  • UniversalTicketingAttributes & UniversalProductAttributes Language, translations can be specified and returned if applicable.
  • Ability to fix PCC(s) in the BFM request in addition to recommended PCC(Global Shopping) was added.

API Information

Format
JSON
Endpoint
/v4/shop/flights/revalidate
Current Version
4
Environment
Production

What's New

  • The Revalidate Itinerary has been enhanced with the following changes:
  • UniversalTicketingAttributes - allows to return ATPCO Route Happy Universal Ticket Attributes content in the response.
  • UniversalProductAttributes - allows to return ATPCO Route Happy Universal Product Attributes content in the response.
  • UniversalTicketingAttributes & UniversalProductAttributes Language, translations can be specified and returned if applicable.
  • Ability to fix PCC(s) in the BFM request in addition to recommended PCC(Global Shopping) was added.

Business Value

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

New Features

In the Request

Optional

Parameter: UniversalTicketingAttributes

Type: boolean

Description: Parameter allows to return ATPCO Route Happy Universal Ticket Attributes content in the response.

Sample Value:

RQ:

"RichContent": {
"UniversalTicketingAttributes": true,
"Language": "es"
}
Note: Universal Ticket Attributes (UTAs): Provide standardized, easy to integrate fare benefits and restrictions and can be composed by refundability, changes, baggage, carry-on allowance, seat selection, priority boarding attributes.

In the Request

Optional

Parameter: Language

Type: string

Description: Allows specifying the desired language translations for Universal Ticket and Product Attributes.

Sample Value:

RQ:

"RichContent": {
"UniversalTicketingAttributes": true,
"Language": "es"
}
Note: If the language is not specified, it defaults to EN. If the translations are not available in provided language or the provided language code is incorrect, it defaults to EN.

In the Request

Optional

Parameter: FixedPCC

Type: boolean

Description: Prevent replacing provided PCC by Global Shopping recommendation.

Sample Value:

RQ:

"POS": {
"Source": [
{
"FixedPCC": true,
"PseudoCityCode": "ABC1",
"RequestorID": {
"Type": "1",
"ID": "1",
"CompanyName": {
"Code": "TN"
}
}
}
]
},

"AlternatePCC": [
{
"PseudoCityCode": "ABC1",
"FixedPCC": true
},
{
"PseudoCityCode": "ABC1"
}

In the Response

Optional

Parameter: utaDescs

Type: List

Description: List of Universal Ticket attributes presented in an indexed way that can easily be associated with flight components. A List of all UTAs that are available on any of the returned flights.

Sample Value:

RS:

 "utaDescs": [
      {
        "id": 1,
        "categoryId": "seat-selection",
        "groupCode": "SA",
        "subCode": "PSA",
        "application": "F",
        "assessment": "benefit",
        "headline": "RXhhbXBsZSBCYXNlNjQgc3RyaW5n",
        "descriptions": "RXhhbXBsZSBCYXNlNjQgc3RyaW5n",
        "commercialName": "PRE RESERVED SEATS",
        "smallIconUrl": "RXhhbXBsZSBCYXNlNjQgc3RyaW5n",
        "largeIconUrl": "RXhhbXBsZSBCYXNlNjQgc3RyaW5n"
      },
      ...
 ],
Note: *NOTE: Headline, Description, SmallIconUrl, and LargeIconUrl values are Base64 coded(this is due to the complexity and multiple special characters used across the available languages translations.

In the Response

Optional

Parameter: upaDescs

Type: List

Description: List of Universal Product attribute items presented in an indexed way that can easily be associated with flight components. A List of all UPAs that are available on any of the returned flights.

Sample Value:

RS:

"upaDescs": [
      {
        "id": 1,
        "smallIconUrl": "RXhhbXBsZSBCYXNlNjQgc3RyaW5n",
        "largeIconUrl": "RXhhbXBsZSBCYXNlNjQgc3RyaW5n",
        "headline": "RXhhbXBsZSBCYXNlNjQgc3RyaW5n",
        "description": "RXhhbXBsZSBCYXNlNjQgc3RyaW5n",
        "categories": [{"ref": 9}],
        "photos": [{"ref": 13}]
      },
],
Note: *NOTE: Headline, Description, SmallIconUrl, ThumbUrl, MediumSquareUrl, Caption, URL, and LargeIconUrl values are Base64 coded(this is due to the complexity and multiple special characters used across the available languages translations.

In the Response

Optional

Parameter: richContent

Type: List

Description: Rich Content information (UTA, UPA) associated to the returned flights with a specific reference Id(UTARef, UPARef).

Sample Value:

RS:

"richContent": {
                          "universalTicketingAttributes": [
                            {"utas": [{"ref": 49}, {"ref": 20}]},
                            {"segments": [{"id": 0}], "utas": [{"ref": 2}, {"ref": 17}]},
                            {
                              "segments": [{"id": 0}],
                              "utas": [{"ref": 10}, {"ref": 40}, {"ref": 14}]
                            },
                            {"segments": [{"id": 1}], "utas": [{"ref": 2}, {"ref": 17}]},
                            {
                              "segments": [{"id": 1}],
                              "utas": [{"ref": 10}, {"ref": 14}]
                            }
                          ],
                          "universalProductAttributes": [
                            {"segments": [{"id": 0}], "upas": [{"ref": 17}, {"ref": 38}]},
                            {"segments": [{"id": 1}], "upas": [{"ref": 17}, {"ref": 15}]}
                          ]

In the Request

Optional

Parameter: UniversalProductAttributes

Type: boolean

Description: Parameter allows to return ATPCO Route Happy Universal Product Attributes content in the response.

Sample Value:

"RichContent": {
"UniversalProductAttributes": true,
}
Note: Universal Product Attributes (UPAs): Provide targeted messaging and visual content that showcases airline products and services eg., media, photos, videos, graphics, and captions.

  • The Revalidate Itinerary Request has been enhanced with the following changes:
  • Shop by Priority boarding - new optional elements in the shopping request and response.
  • Shop by Seat type/pitch - new optional elements in the shopping request and response.
  • AvoidCabinDowngrade - new optional elements in the shopping request. Release date: June 30, 2022

API Information

Format
JSON
Endpoint
/v4/shop/flights/revalidate
Current Version
4
Environment
Production

What's New

  • The Revalidate Itinerary Request has been enhanced with the following changes:
  • Shop by Priority boarding - new optional elements in the shopping request and response.
  • Shop by Seat type/pitch - new optional elements in the shopping request and response.
  • AvoidCabinDowngrade - new optional elements in the shopping request. Release date: June 30, 2022

Business Value

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

New Features

In the Request

Optional

Parameter: PriorityBoarding

Type: Boolean

Description: The purpose of Shop by Priority Boarding is to enable Shopping with the ability to create a more modernized way to display relevant offers from the same or different airlines for easy comparison to travelers.

Sample Value:

{
    "TravelPreferences": {
        "CabinPref": [
            {
                "Cabin": "Y",
                "PreferLevel": "Preferred"
            }
        ],
        "TPA_Extensions": {
            "NumTrips": {
                "Number": 100
            },
            "PriorityBoarding": {
                "FreePriorityBoarding": true,
                "Info": true
            }
        }
    }
}

In the Request

Optional

Parameter: Info

Type: Boolean

Description: Supports a request to return priority boarding information about what is included in the fare regarding priority boarding.

Sample Value:

{
    "TravelPreferences": {
        "CabinPref": [
            {
                "Cabin": "Y",
                "PreferLevel": "Preferred"
            }
        ],
        "TPA_Extensions": {
            "NumTrips": {
                "Number": 100
            },
            "PriorityBoarding": {
                "FreePriorityBoarding": true,
                "Info": true
            }
        }
    }
}

In the Request

Optional

Parameter: Seats

Type: Boolean

Description: The purpose of Shop by Seat Pitch and Seat Type is to enable Shopping to create a more modernized way to display relevant offers from the same or different airlines for easy comparison to travelers.

Sample Value:

{
    "TravelPreferences": {
        "TPA_Extensions": {
            "Seats": {
                "Seat": [
                    {
                        "Type": "StandardLegroom",
                        "AtLeast": 10,
                        "LessThan": 34
                    }
                ]
            }
        }
    }
}
Note: Support mode to filter by Seat Type and/or Seat Pitch (measured in inches) to return only an offer that matches the condition indicated in the attribute.

In the Request

Optional

Parameter: SeatInfo

Type: Boolean

Description: Support to return Seat Type and Seat Pitch information about what is included in the offer regarding seat type and seat pitch.

Sample Value:

{
    "RichContent": {
        "SeatInfo": true
    }
}

In the Response

Optional

Parameter: PriorityBoardingList

Type: Boolean

Description: PriorityBoardingList provides information for whether priority boarding is free, chargeable, or information is not available (F - Free (No charge); C - Charge; N - Not available).

Sample Value:

{
    "priorityBoarding": [
        {
            "type": "C",
            "segment": [
                {
                    "id": 0
                }
            ]
        }
    ]
}

In the Response

Optional

Parameter: Seat

Type: Boolean

Description: List of references to flight amenities. The Seat element describes properties of seats in each cabin. These elements are later referenced from Flight Amenities.

Sample Value:

"flightAmenities": {
      "seat": [
        {
          "id": 1,
          "pitch": "37",
          "type": "recliner seat"
        },

(...)

{
    "fareComponents": [
        {
            "ref": 17,
            "segments": [
                {
                    "segment": {
                        "bookingCode": "L",
                        "cabinCode": "Y",
                        "mealCode": "S",
                        "seatsAvailable": 9,
                        "availabilityBreak": true,
                        "flightAmenities": [
                            {
                                "seatRef": 2
                            }
                        ]
                    }
                }
            ]
        }
    ]
}

In the Request

Optional

Parameter: AvoidCabinDowngrade

Type: boolean

Description: AvoidCabinDowngrade guarantees that lower cabin class will not be applied within a single shopping option, depending on the chosen mode: All - Apply Avoid Cabin Downgrade logic on the entire itinerary; Main - Apply Avoid Cabin Downgrade logic on the main flight of every leg; None - Disable Avoid Cabin Downgrade logic (default value).

Sample Value:

{
    "TravelPreferences": {
        "TPA_Extensions": {
            "AvoidCabinDowngrade": {
                "Mode": "All"
            },
            "FlexibleFares": {
                "FareParameters": [{
                        "Cabin": {
                            "Type": "C"
                        },
                        "AvoidCabinDowngrade": {
                            "Mode": "Main"
                        }
                    }
                ]
            }
        }
    },
}
Note: AvoidCabinDowngrade can be used on the main or flex fare level. Release date: June 30, 2022

  • The Revalidate Itinerary GIR Responses have been enhanced with minor fixes.

API Information

Format
JSON
Endpoint
/v4/shop/flights/revalidate
Current Version
4
Environment
Production

What's New

  • The Revalidate Itinerary GIR Responses have been enhanced with minor fixes.

Business Value

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


  • The Revalidate Itinerary Request has been enhanced with the following changes:
  • Flight Amenities - distribute ATPCO Routehappy rich content via Revalidate Itinerary.
  • Shop by Carry-On baggage - two new attributes added into existing baggage sections.
  • The Revalidate Itinerary OTA and GIR Response have been enhanced with the new parameters and other changes listed below:
  • Shop by Carry-On baggage - new elements in the shopping response.
  • Flight Amenities - new ATPCO Routehappy rich content in the shopping response.
  • Baggage Charge EquivalentAmount and EquivalentCurrency attributes were changed from required to optional.

API Information

Format
JSON
Endpoint
/v3/shop/flights/revalidate
Current Version
3
Environment
Production

What's New

  • The Revalidate Itinerary Request has been enhanced with the following changes:
  • Flight Amenities - distribute ATPCO Routehappy rich content via Revalidate Itinerary.
  • Shop by Carry-On baggage - two new attributes added into existing baggage sections.
  • The Revalidate Itinerary OTA and GIR Response have been enhanced with the new parameters and other changes listed below:
  • Shop by Carry-On baggage - new elements in the shopping response.
  • Flight Amenities - new ATPCO Routehappy rich content in the shopping response.
  • Baggage Charge EquivalentAmount and EquivalentCurrency attributes were changed from required to optional.

Business Value

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

New Features

In the Request

Optional

Parameter: FlightAmenities

Type: Boolean

Description: Allow distribution of the Routehappy Amenities content through BargainFinderMaxRQ and RevalidateItinRQ. The default value is false.

Sample Value:

"RichContent": {
    "FlightAmenities": true
}
Note: Amenities - Comprehensive flight amenities data about the onboard experience. Functionality requires activation. xPath: OTA_AirLowFareSearchRQ/TPA_Extensions/RichContent/@FlightAmenities

In the Request

Optional

Parameter: FreeCarryOn

Type: Boolean

Description: Allows filtering solution by availability with Free Carry-On baggage - available on Main Fare, Main Fare Leg, Flex Fares, Flex Fares Leg. Available through BargainFinderMaxRQ and RevalidateItinRQ.

Sample Value:

"TravelPreferences": {
    "TPA_Extensions": {
        "FlexibleFares": {
            "FareParameters": [{
                    "Baggage": {
                        "FreePieceRequired": true,
                        "FreeCarryOn": true
                    },
                    "Leg": [{
                            "Baggage": {
                                "FreePieceRequired": false,
                                "FreeCarryOn": false
                            }
                        }
                    ]
                }
            ]
        }
    },
    "Baggage": {
        "RequestType": "A",
        "Description": true,
        "RequestedPieces": 4,
        "FreePieceRequired": true,
        "FreeCarryOn": true,
        "CarryOnInfo": true
    }
Note: If one of the new attributes is specified on leg level, it is overriding the setting for the fare.

In the Request

Optional

Parameter: CarryOnInfo

Type: Boolean

Description: Show Carry-on baggage info in response - available on Main Fare. Available through BargainFinderMaxRQ and RevalidateItinRQ.

Sample Value:

"TravelPreferences": {
    "TPA_Extensions": {
        "FlexibleFares": {
            "FareParameters": [{
                    "Baggage": {
                        "FreePieceRequired": true,
                        "FreeCarryOn": true
                    },
                    "Leg": [{
                            "Baggage": {
                                "FreePieceRequired": false,
                                "FreeCarryOn": false
                            }
                        }
                    ]
                }
            ]
        }
    },
    "Baggage": {
        "RequestType": "A",
        "Description": true,
        "RequestedPieces": 4,
        "FreePieceRequired": true,
        "FreeCarryOn": true,
        "CarryOnInfo": true
    }
Note: If one of the new attributes is specified on leg level, it is overriding the setting for the fare.

In the Response

Required

Parameter: ProvisionType="B"

Type: BaggageProvisionType

Description: Provision Type (e.g. allowance, charges, embargo etc.) (BPT). For Carry On Allowances.

Sample Value:

GIR:
"baggageAllowanceDescs": [
      {"id": 1, "pieceCount": 0},
      {"id": 2, "pieceCount": 0},
      {"id": 3, "pieceCount": 2},
      {"id": 4, "pieceCount": 2},
      {"id": 5, "pieceCount": 0},
      {"id": 6, "pieceCount": 2},
      {"id": 7, "pieceCount": 1},
      {"id": 8, "pieceCount": 0},
      {"id": 9, "pieceCount": 0},
      {"id": 10, "pieceCount": 1}
 

"baggageInformation": [{
        "provisionType": "B",
        "airlineCode": "DL",
        "segments": [{
                "id": 0
            }
        ],
        "allowance": {
            "ref": 6
        }
    }, {
        "provisionType": "B",
        "airlineCode": "DL",
        "segments": [{
                "id": 1
            }
        ],
        "allowance": {
            "ref": 6
        }
    }
Note: CarryOn in GIR-JSON response – will be returned under "provisionType": "CC" with new added Allowance element under BaggageInformation or if Charge under "provisionType": "CC".

In the Response

Optional

Parameter: Allowance Pieces

Type: complexType / integer

Description: Allowance amount stated in pieces.

Sample Value:

GIR:
"baggageAllowanceDescs": [
      {"id": 1, "pieceCount": 0},
      {"id": 2, "pieceCount": 0},
      {"id": 3, "pieceCount": 2},
      {"id": 4, "pieceCount": 2},
      {"id": 5, "pieceCount": 0},
      {"id": 6, "pieceCount": 2},
      {"id": 7, "pieceCount": 1},
      {"id": 8, "pieceCount": 0},
      {"id": 9, "pieceCount": 0},
      {"id": 10, "pieceCount": 1}
 

"baggageInformation": [{
        "provisionType": "B",
        "airlineCode": "DL",
        "segments": [{
                "id": 0
            }
        ],
        "allowance": {
            "ref": 6
        }
    }, {
        "provisionType": "B",
        "airlineCode": "DL",
        "segments": [{
                "id": 1
            }
        ],
        "allowance": {
            "ref": 6
        }
    }
Note: For GIR response amount is referenced to the ID (difference shown in the sample field).

In the Response

Optional

Parameter: ProvisionType="CC"

Type: BaggageProvisionType

Description: Provision Type (e.g. allowance, charges, embargo etc.) (BPT). For Carry On Charges.

Sample Value:

GIR:
"baggageChargeDescs": [{
        "id": 1,
        "equivalentAmount": 100,
        "equivalentCurrency": "EUR",
        "description1": "UP TO 70 POUNDS/32 KILOGRAMS",
        "description2": "UP TO 62 LINEAR INCHES/158 LINEAR CENTIMETERS"
    }, {
        "id": 2,
        "equivalentAmount": 100,
        "equivalentCurrency": "EUR",
        "description1": "UP TO 70 POUNDS/32 KILOGRAMS",
        "description2": "UP TO 62 LINEAR INCHES/158 LINEAR CENTIMETERS"
    }, {
        "id": 3,
        "firstPiece": 1,
        "description1": "UP TO 18 POUNDS/8 KILOGRAMS",
        "description2": "UP TO 46 LINEAR INCHES/118 LINEAR CENTIMETERS",
        "noChargeNotAvailable": "X"
    }, {
        "id": 4,
        "equivalentAmount": 150,
        "equivalentCurrency": "EUR",
        "firstPiece": 1,
        "description1": "UP TO 50 POUNDS/23 KILOGRAMS",
        "description2": "UP TO 62 LINEAR INCHES/158 LINEAR CENTIMETERS"
    }
],


"baggageInformation": [{
        "provisionType": "CC",
        "airlineCode": "LH",
        "segments": [{
                "id": 0
            }
        ],
        "charge": {
            "ref": 3
        }
    }
Note: CarryOn in GIR response – will be returned under "provisionType": "B" with new added Allowance element under BaggageInformation or if Charge under "provisionType": "CC".

In the Response

Optional

Parameter: FlightAmenities

Type: complexType

Description: Route Happy Amenities in GIR shopping response. List of references to flight amenities.

Sample Value:

GIR:
"flightAmenities": {
      "beverage": [{"id": 1, "alcoholicCost": "free", "nonAlcoholicCost": "free", "exists": true}],
      "entertainment": [{"id": 1, "exists": false, "type": "none"}, {"id": 2, "cost": "free", "exists": true, "type": "on-demand"}],
      "food": [
        {"id": 1, "cost": "free", "exists": true, "type": "meal"},
        {"id": 2, "cost": "free", "exists": true, "type": "light meal"},
        {"id": 3, "cost": "free", "exists": true, "type": "snack"},
        {"id": 4, "cost": "free", "exists": true, "type": "premium meal"}


 "ref": 5,
                            "segments": [
                              {"segment": {"bookingCode": "K", "cabinCode": "Y", "mealCode": "G", "seatsAvailable": 2}},
                              {
                                "segment": {
                                  "bookingCode": "K",
                                  "cabinCode": "Y",
                                  "mealCode": "L",
                                  "seatsAvailable": 2,
                                  "availabilityBreak": true,
                                  "flightAmenities": [{"beverageRef": 1, "entertainmentRef": 2, "foodRef": 1, "layoutRef": 7, "powerRef": 2, "seatRef": 9, "wifiRef": 2}]
                                }
                              }
                            ]
                          }
Note: Seat Amenity - Type, Pitch / Beverages Amenity - Alcoholic cost, Nonalcoholic cost, exists / Food Amenity - Cost, Exists, Type / Power Amenity - Cost, Distribution, Type / Layout Amenity - Row layout, Direct Aisle Access / Entertainment Amenity - Cost, Exists, Type / Wi-Fi Amenity - Cost, Exists, Type

Functional Updates And Enhancements

In the Request

Optional

Parameter: RequestType

Type: BaggageRequestType

Description: This element allows users to request baggage information. It allows requesting CarryOn baggage information independently, without the need to display other baggage types.

Sample Value:

"TravelPreferences": {
      "TPA_Extensions": {
        "NumTrips": {"Number": 200},
        "FlexibleFares": {"FareParameters": [{"PublicFare": {"Ind": true}, "Cabin": {"Type": "Economy"}, "Baggage": {"FreeCarryOn": true}, "Leg": [{"Num": 1, "Baggage": {"FreeCarryOn": true}}]}]}
      },
      "Baggage": {"RequestType": "C", "FreeCarryOn": true, "CarryOnInfo": true}
    },
Note: An existing attribute changed from required to optional.

In the Response

Optional

Parameter: EquivalentAmount

Type: MonetaryAmountType

Description: An existing attribute changed from required to optional.

Sample Value:

"baggageChargeDescs": [{
        "id": 1,
        "equivalentAmount": 100,
        "equivalentCurrency": "EUR",
        "description1": "UP TO 70 POUNDS/32 KILOGRAMS",
        "description2": "UP TO 62 LINEAR INCHES/158 LINEAR CENTIMETERS"
    }, {
        "id": 2,
        "equivalentAmount": 100,
        "equivalentCurrency": "EUR",
        "description1": "UP TO 70 POUNDS/32 KILOGRAMS",
        "description2": "UP TO 62 LINEAR INCHES/158 LINEAR CENTIMETERS"
    }, {
        "id": 3,
        "firstPiece": 1,
        "description1": "UP TO 18 POUNDS/8 KILOGRAMS",
        "description2": "UP TO 46 LINEAR INCHES/118 LINEAR CENTIMETERS",
        "noChargeNotAvailable": "X"
    }, {
        "id": 4,
        "equivalentAmount": 150,
        "equivalentCurrency": "EUR",
        "firstPiece": 1,
        "description1": "UP TO 50 POUNDS/23 KILOGRAMS",
        "description2": "UP TO 62 LINEAR INCHES/158 LINEAR CENTIMETERS"
    }
],

In the Response

Optional

Parameter: EquivalentCurrency

Type: CurrencyCodeType

Description: An existing attribute changed from required to optional.

Sample Value:

"baggageChargeDescs": [{
        "id": 1,
        "equivalentAmount": 100,
        "equivalentCurrency": "EUR",
        "description1": "UP TO 70 POUNDS/32 KILOGRAMS",
        "description2": "UP TO 62 LINEAR INCHES/158 LINEAR CENTIMETERS"
    }, {
        "id": 2,
        "equivalentAmount": 100,
        "equivalentCurrency": "EUR",
        "description1": "UP TO 70 POUNDS/32 KILOGRAMS",
        "description2": "UP TO 62 LINEAR INCHES/158 LINEAR CENTIMETERS"
    }, {
        "id": 3,
        "firstPiece": 1,
        "description1": "UP TO 18 POUNDS/8 KILOGRAMS",
        "description2": "UP TO 46 LINEAR INCHES/118 LINEAR CENTIMETERS",
        "noChargeNotAvailable": "X"
    }, {
        "id": 4,
        "equivalentAmount": 150,
        "equivalentCurrency": "EUR",
        "firstPiece": 1,
        "description1": "UP TO 50 POUNDS/23 KILOGRAMS",
        "description2": "UP TO 62 LINEAR INCHES/158 LINEAR CENTIMETERS"
    }
],

  • The Revalidate Itinerary Request has been enhanced with the following changes:
  • Pre Reserved Seat Selection - Enables to return pre-reserved seat data and capability to filter by free pre-reserved seat
  • TN Exchange & Refund - New attributes available on the Shopping Exchange path; KeepBookingCode & KeepOriginalBrand.
  • Stopover section enhancement enables indicating the amount of nights between the connections. It is possible to indicate the min. and max. time-frames (hours).
  • Functional update for the existing parameters: Qualifier & DepartureDateTime.
  • The Revalidate Itinerary Response have been enhanced with the new parameters and other changes listed below:
  • Flight Amenities - Seat type. Changes to the response schema to support flight amenities information in regard to Seat type and Seat pitch.
  • Pre reserved seat selection - changes to the response schema to support pre-reserved seat information.

API Information

Format
JSON
Endpoint
/v6.2.0/shop/flights/revalidate
Current Version
6.2.0
Environment
Production

What's New

  • The Revalidate Itinerary Request has been enhanced with the following changes:
  • Pre Reserved Seat Selection - Enables to return pre-reserved seat data and capability to filter by free pre-reserved seat
  • TN Exchange & Refund - New attributes available on the Shopping Exchange path; KeepBookingCode & KeepOriginalBrand.
  • Stopover section enhancement enables indicating the amount of nights between the connections. It is possible to indicate the min. and max. time-frames (hours).
  • Functional update for the existing parameters: Qualifier & DepartureDateTime.
  • The Revalidate Itinerary Response have been enhanced with the new parameters and other changes listed below:
  • Flight Amenities - Seat type. Changes to the response schema to support flight amenities information in regard to Seat type and Seat pitch.
  • Pre reserved seat selection - changes to the response schema to support pre-reserved seat information.

Business Value

  • Each of these enhancements enable greater personalization and efficiency to further refine the search.
  • The new Swagger Documentation covering all the listed features will be available ca. around 16th-21st DEC. Stay tuned!

New Features

In the Request

Optional

Parameter: SeatSelection

Type: FreeSeatSelectionAndInfoType

Description: The element that will contain parameters used for pre-reserved seat processing. Allows to return pre-reserved seat data and capability to filter by free pre-reserved seat

Sample Value:

{
   "TPA_Extensions": {
      "SeatSelection": {
         "@Info": "true",
         "@FreeSeatSelection": "false"
      }
   }
}
Note: If SeatSelection element contains both Info and FreeSeatSelection then the applicable type is FreeSeatSelectionAndInfoType minOccurs="0" maxOccurs="1". If the element contains FreeSeatSelection only, then the applicable type is FreeSeatSelectionType. More details available below.

In the Request

Optional

Parameter: FreeSeatSelection

Type: boolean

Description: Filter parameter to return only fares that include Free Seat selection in the fare.

Sample Value:

{
   "TPA_Extensions": {
      "SeatSelection": {
         "@Info": "true",
         "@FreeSeatSelection": "false"
      }
   }
}
Note: Default value = false.

In the Request

Optional

Parameter: Info

Type: boolean

Description: The parameter to obtain pre-reserved seat info: F - Free; C - Charge; N - Not Applicable will be returned in the response if set to "true".

Sample Value:

{
   "TPA_Extensions": {
      "SeatSelection": {
         "@Info": "true",
         "@FreeSeatSelection": "false"
      }
   }
}
Note: Info & FreeSeatSelection are available together at the Main Fare level. Using both attributes at Main Fare enables seat information at every segment level in the Shopping Response.

In the Request

Optional

Parameter: FreeSeatSelection

Type: boolean

Description: Additional option to use FreeSeatSelection (without Info mode).

Sample Value:

{
   "TravelPreferences": {
      "TPA_Extensions": {
         "FlexibleFares": {
            "Leg": {
               "SeatSelection": {
                  "@FreeSeatSelection": "true"
               }
            }
         }
      }
   }
}
Note: The FreeSeatSelection filter might be used at all Fare levels: Main Fare; Main Fare Leg; Flexible Fare; Flexible Fare Leg. This option allows to indicate specific part of the journey where customer is looking for Free Seats only.

In the Request

Optional

Parameter: KeepBookingCode

Type: boolean

Description: New parameter in the Shopping Exchange flow (ATPCO path).

Sample Value:

{
   "Flight": {
      "@Type": "A",
      "@Number": "445",
      "@DepartureDateTime": "2021-02-20T13:00:00",
      "@ArrivalDateTime": "2021-02-20T14:35:00",
      "@Shopped": "false",
      "@ClassOfService": "M",
      "@KeepBookingCode": "true",
      "@Flown": "false",
      "OriginLocation": {
         "@LocationCode": "SYD"
      },
      "DestinationLocation": {
         "@LocationCode": "MEL"
      },
      "Airline": {
         "@Operating": "QF",
         "@Marketing": "QF"
      },
      "Reservation": {
         "@Status": "OK",
         "@RealStatus": "HK"
      },
      "BookingDateTime": "2020-12-03T07:53:00"
   },
   "SegmentType": {
      "@Code": "O"
   },
   "AlternateTime": [],
   "CabinPref": []
}
Note: If set to ''true'', the original booking code will be kept for unchanged flight.

In the Request

Optional

Parameter: KeepOriginalBrand

Type: boolean

Description: New parameter in the Shopping Exchange flow (ATPCO path).

Sample Value:

{
   "@BrandedResults": "false",
   "@AttachExchangeInfo": "true",
   "@ReissueExchange": "A",
   "@KeepOriginalBrand": "true"
}
Note: If set to ''true'', the original brand will be returned for unchanged flights.

In the Request

Optional

Parameter: Stay

Type: N/A

Description: New extension of the Stopover section,. Enhancement enables indicating the amount of nights between the connections. It is possible to indicate the min. and max. time-frames (hours).

Sample Value:

{
   "DepartureDateTime": "2020-12-20T09:12:15",
   "OriginLocation": {
      "@LocationCode": "JFK"
   },
   "DestinationLocation": {
      "@LocationCode": "DEL"
   },
   "TPA_Extensions": {
      "Stopover": {
         "Stay": {
            "@Nights": "2",
            "@MinHours": "10",
            "@MaxHours": "72"
         },
         "StopoverPoint": {
            "@LocationCode": "AUH"
         }
      }
   }
}
Note: Information related to the stay at the stopover point

In the Request

Optional

Parameter: Nights

Type: nonNegativeInteger

Description: New extension of the Stopover section, enhancement to specify break between next connection. Night indicator.

Sample Value:

{
   "DepartureDateTime": "2020-12-20T09:12:15",
   "OriginLocation": {
      "@LocationCode": "JFK"
   },
   "DestinationLocation": {
      "@LocationCode": "DEL"
   },
   "TPA_Extensions": {
      "Stopover": {
         "Stay": {
            "@Nights": "2",
            "@MinHours": "10",
            "@MaxHours": "72"
         },
         "StopoverPoint": {
            "@LocationCode": "AUH"
         }
      }
   }
}
Note: Number of nights spent at the stopover point.

In the Request

Optional

Parameter: MinHours

Type: nonNegativeInteger

Description: New extension of the Stopover section, enhancement to specify break between next connection. Min. hours of stay indicator.

Sample Value:

{
   "DepartureDateTime": "2020-12-20T09:12:15",
   "OriginLocation": {
      "@LocationCode": "JFK"
   },
   "DestinationLocation": {
      "@LocationCode": "DEL"
   },
   "TPA_Extensions": {
      "Stopover": {
         "Stay": {
            "@Nights": "2",
            "@MinHours": "10",
            "@MaxHours": "72"
         },
         "StopoverPoint": {
            "@LocationCode": "AUH"
         }
      }
   }
}
Note: Minimum stay in hours at the stopover point.

In the Request

Optional

Parameter: MaxHours

Type: positiveInteger

Description: New extension of the Stopover section, enhancement to specify break between next connection. Max. hours of stay indicator.

Sample Value:

{
   "DepartureDateTime": "2020-12-20T09:12:15",
   "OriginLocation": {
      "@LocationCode": "JFK"
   },
   "DestinationLocation": {
      "@LocationCode": "DEL"
   },
   "TPA_Extensions": {
      "Stopover": {
         "Stay": {
            "@Nights": "2",
            "@MinHours": "10",
            "@MaxHours": "72"
         },
         "StopoverPoint": {
            "@LocationCode": "AUH"
         }
      }
   }
}
Note: Maximum stay in hours at the stopover point.

In the Response

Required

Parameter: Seat/@Type

Type: string

Description: Short name of seat type. It can be Standard, Middle seat free, Skycouch, Recliner, Flat.

Sample Value:

{
   "@Id": "2",
   "Seat": {
      "@Type": "Standard",
      "@LessThan": "34"
   },
   "Options": {
      "@Min": "2",
      "Option": [
         {
            "@SeatSelection": "free"
         },
         {
            "@Exchanges": "allowed"
         }
      ]
   }
}  

In the Response

Optional

Parameter: Seat/@LessThan

Type: integer

Description: The number in inches. It means that seat pitch will have less than that value of inches.

Sample Value:

{
   "@Id": "2",
   "Seat": {
      "@Type": "Standard",
      "@LessThan": "34"
   },
   "Options": {
      "@Min": "2",
      "Option": [
         {
            "@SeatSelection": "free"
         },
         {
            "@Exchanges": "allowed"
         }
      ]
   }
}  
Note: e.g. Less than 34"

In the Response

Optional

Parameter: Seat/@AtLeast

Type: integer

Description: The number in inches. It means that seat pitch will have at least that value of inches.

Sample Value:

{
   "@Id": "2",
   "Seat": {
      "@Type": "Standard",
      "@LessThan": "34"
   },
   "Options": {
      "@Min": "2",
      "Option": [
         {
            "@SeatSelection": "free"
         },
         {
            "@Exchanges": "allowed"
         }
      ]
   }
}  
Note: e.g. 34" and above.

In the Response

Optional

Parameter: Seat/Cabin

Type: complexType

Description: The same as Cabin element in request. Contains type and prefer level (include/exclude).

Sample Value:

{
   "@Id": "2",
   "Seat": {
      "@Type": "Standard",
      "@LessThan": "34"
   },
   "Options": {
      "@Min": "2",
      "Option": [
         {
            "@SeatSelection": "free"
         },
         {
            "@Exchanges": "allowed"
         }
      ]
   }
}  
Note: The Cabin element includes Type (SabreCabinCode - required) and optional PreferLevel.

In the Response

Optional

Parameter: Options

Type: ShelfOptionsType

Description: The list of option that can be available on particular shelf.

Sample Value:

{
   "@Id": "2",
   "Seat": {
      "@Type": "Standard",
      "@LessThan": "34"
   },
   "Options": {
      "@Min": "2",
      "Option": [
         {
            "@SeatSelection": "free"
         },
         {
            "@Exchanges": "allowed"
         }
      ]
   }
}  
Note: Up to 5.

In the Response

Optional

Parameter: Options/@Max

Type: integer

Description: The Maximum number of options to be matched. If the attribute is not present - all of the options can be matched on this shelf.

Sample Value:

{
   "@Id": "2",
   "Seat": {
      "@Type": "Standard",
      "@LessThan": "34"
   },
   "Options": {
      "@Min": "2",
      "Option": [
         {
            "@SeatSelection": "free"
         },
         {
            "@Exchanges": "allowed"
         }
      ]
   }
}  

In the Response

Optional

Parameter: Options/@Min

Type: integer

Description: The Minimum number of options to be matched. If the attribute is not present – none of the option has to match shelf.

Sample Value:

{
   "@Id": "2",
   "Seat": {
      "@Type": "Standard",
      "@LessThan": "34"
   },
   "Options": {
      "@Min": "2",
      "Option": [
         {
            "@SeatSelection": "free"
         },
         {
            "@Exchanges": "allowed"
         }
      ]
   }
}  

In the Response

Optional

Parameter: FlightAmenities

Type: FlightAmenitiesListType

Description: Amenities are presented in an indexed way that can easily be associated with flight components.

Sample Value:

[
   {
      "@Id": "1",
      "@Pitch": "30",
      "@Type": "standard legroom"
   },
   {
      "@Id": "2",
      "@Pitch": "29",
      "@Type": "below average legroom"
   },
   {
      "@Id": "3",
      "@Pitch": "31",
      "@Type": "standard legroom"
   }
]
Note: List of all Flight Amenities of different types that are available on any of the returned flights.They are later referenced from other elements.

In the Response

Optional

Parameter: Seat

Type: SeatAmenityType

Description: Indicator what type of amenity has been returned.

Sample Value:

[
   {
      "@Id": "1",
      "@Pitch": "30",
      "@Type": "standard legroom"
   },
   {
      "@Id": "2",
      "@Pitch": "29",
      "@Type": "below average legroom"
   },
   {
      "@Id": "3",
      "@Pitch": "31",
      "@Type": "standard legroom"
   }
]

In the Response

Required

Parameter: Id

Type: nonNegativeInteger

Description: Number of the seat returned.

Sample Value:

[
   {
      "@Id": "1",
      "@Pitch": "30",
      "@Type": "standard legroom"
   },
   {
      "@Id": "2",
      "@Pitch": "29",
      "@Type": "below average legroom"
   },
   {
      "@Id": "3",
      "@Pitch": "31",
      "@Type": "standard legroom"
   }
]

In the Response

Optional

Parameter: Pitch

Type: simpleType

Description: The size of the returned seat type.

Sample Value:

[
   {
      "@Id": "1",
      "@Pitch": "30",
      "@Type": "standard legroom"
   },
   {
      "@Id": "2",
      "@Pitch": "29",
      "@Type": "below average legroom"
   },
   {
      "@Id": "3",
      "@Pitch": "31",
      "@Type": "standard legroom"
   }
]
Note: Value returned in inches.

In the Response

Optional

Parameter: Type

Type: string

Description: Name of seat type, the returned list is from Rich Content. Example values below.

Sample Value:

[
   {
      "@Id": "1",
      "@Pitch": "30",
      "@Type": "standard legroom"
   },
   {
      "@Id": "2",
      "@Pitch": "29",
      "@Type": "below average legroom"
   },
   {
      "@Id": "3",
      "@Pitch": "31",
      "@Type": "standard legroom"
   }
]
Note: Possible values: "middle seat free" ; "standard legroom" ; "below average legroom" ; "above average legroom" ; "skycouch" ; "recliner seat" ; "full flat seat" ; "full flat pod" ; "private suite" ; "angle flat seat" ; "cradle recliner" .

In the Response

Optional

Parameter: FlightAmenities

Type: complexType

Description: Amenities references will be returned inside FareInfos, to easily reference the amenities for each cabin and only show amenities for the cabins for which price has been also provided.

Sample Value:

{
   "@Ref": "7",
   "Segment": {
      "@BookingCode": "J",
      "@CabinCode": "C",
      "@MealCode": "R",
      "@SeatsAvailable": "9",
      "@AvailabilityBreak": "true",
      "FlightAmenities": {
         "@SeatRef": "2"
      }
   }
}
Note: OTA_AirLowFareSearchRS/PricedItineraries/PricedItinerary/AirItineraryPricingInfo/PTC_FareBreakdowns/PTC_FareBreakdown/FareInfos/FareInfo/TPA_Extensions/FlightAmenities

In the Response

Optional

Parameter: Subsegment

Type: positiveInteger

Description: 1-based number of the flight "subsegment" the referred amenity applies to.

Sample Value:

{
   "@Ref": "7",
   "Segment": {
      "@BookingCode": "J",
      "@CabinCode": "C",
      "@MealCode": "R",
      "@SeatsAvailable": "9",
      "@AvailabilityBreak": "true",
      "FlightAmenities": {
         "@SeatRef": "2"
      }
   }
}
Note: "Subsegment" is a portion of flight separated by a hidden stop. This attribute is omitted for flights without hidden stops.

In the Response

Optional

Parameter: SeatRef

Type: nonNegativeInteger

Description: Seat reference.

Sample Value:

{
   "@Ref": "7",
   "Segment": {
      "@BookingCode": "J",
      "@CabinCode": "C",
      "@MealCode": "R",
      "@SeatsAvailable": "9",
      "@AvailabilityBreak": "true",
      "FlightAmenities": {
         "@SeatRef": "2"
      }
   }
}

In the Response

Optional

Parameter: SeatSelectionList

Type: complexType

Description: Seat Selection Information List.

Sample Value:

{
   "@Type": "F",
   "Segment": [
      {
         "@ID": "0"
      },
      {
         "@ID": "1"
      }
   ]
}
Note: FlexibleFares / MFPI seat information functionality. MinOccurs="0" maxOccurs="1".

In the Response

Optional

Parameter: SeatSelection

Type: complexType

Description: Contains information if pre-reserved seat selection is free, chargeable, or if it is not applicable.

Sample Value:

{
   "@Type": "F",
   "Segment": [
      {
         "@ID": "0"
      },
      {
         "@ID": "1"
      }
   ]
}
Note: FlexibleFares / MFPI seat information functionality. MinOccurs="1" maxOccurs="unbounded".

In the Response

Required

Parameter: Type

Type: string

Description: A character of one-letter seat response code.

Sample Value:

{
   "@Type": "F",
   "Segment": [
      {
         "@ID": "0"
      },
      {
         "@ID": "1"
      }
   ]
}
Note: F - Free (No charge). Seat selection on listed segment is Free. ; C - Charge. Seat selection on listed segment is paid. ; N - Not applicable. Seat selection on listed segments is Not Allowed.

In the Response

Optional

Parameter: Segment ID

Type: nonNegativeInteger

Description: Segment reference ID for seat selection type.

Sample Value:

{
   "@Type": "F",
   "Segment": [
      {
         "@ID": "0"
      },
      {
         "@ID": "1"
      }
   ]
}
Note: FlexibleFares / MFPI seat information functionality.

Functional Updates And Enhancements

In the Request

Optional

Parameter: DepartureDateTime

Type: IntDateTime

Description: Technical change to an existing attribute, no more required in the request.

Sample Value:

{
  "TPA_Extensions": {
    "DateFlexibility": { "-NbrOfDays": "0" },
    "Stopover": {
      "DepartureDateTime": "2021-02-16T00:00:00",
      "StopoverPoint": {
        "-LocationCode": "AUH",
        "-LocationType": "A"
      },
      "Stay": { "-Nights": "3" }
    }
  }
}
Note: OTA_AirLowFareSearchRQ/OriginDestinationInformation/TPA_Extensions/Stopover/DepartureDateTime

  • 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: PassengerType/@Code - more information available in SAN 15673 from 10th SEP 2019.
  • The Revalidate Itinerary API GIR Response has been enhanced with the new parameters and other changes listed below:
  • ElapsedTime attribute has been added at the ScheduleDesc and LegDesc levels.
  • 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

Format
JSON
Endpoint
/v6.1.0/shop/flights/revalidate
Current Version
6.1.0
Environment
Production

What's New

  • 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: PassengerType/@Code - more information available in SAN 15673 from 10th SEP 2019.
  • The Revalidate Itinerary API GIR Response has been enhanced with the new parameters and other changes listed below:
  • ElapsedTime attribute has been added at the ScheduleDesc and LegDesc levels.
  • 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 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 it's 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: mixed

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.

  • The Revalidate Itinerary API Request is now enhanced with the following new features:
  • New REST JSON API response format - Grouped Itinerary Response (GIR). Note: OTA JSON Response type is no longer available with the new version.
  • Branded Fare Attributes - request associated 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 - allow alternate airports to be in other country than the main city-pair when mileage is used.
  • Shop by Fare Basis Code – exclude a fare option based on Fare Basis Code.
  • Shop by Class of Service – exclude a fare option based on Class of Service (Reservation Booking Designator).
  • Shop with Parity Mode – allows to control the brand parity mode for the lowest fare returned.
  • Enhanced Multi-Ticket – allows to specify the requested number of One-Way solutions in Multi-Ticket processing.
  • Multiple Branded Fares at Multiple Fares Per Itinerary level - the existing parameters related to Multiple Brands are now also applicable for Multiple Fares Per Itinerary.
  • The Revalidate Itinerary API GIR Response has been enhanced with the following new parameters:
  • Ancillary, Fare type descriptors - new Fare type descriptors in Revalidate Itinerary GIR Response. 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.
  • 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. Available for AMC users only.

API Information

Format
JSON
Endpoint
/v5.4.0/shop/flights/revalidate
Current Version
5.4.0
Environment
Production

What's New

  • The Revalidate Itinerary API Request is now enhanced with the following new features:
  • New REST JSON API response format - Grouped Itinerary Response (GIR). Note: OTA JSON Response type is no longer available with the new version.
  • Branded Fare Attributes - request associated 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 - allow alternate airports to be in other country than the main city-pair when mileage is used.
  • Shop by Fare Basis Code – exclude a fare option based on Fare Basis Code.
  • Shop by Class of Service – exclude a fare option based on Class of Service (Reservation Booking Designator).
  • Shop with Parity Mode – allows to control the brand parity mode for the lowest fare returned.
  • Enhanced Multi-Ticket – allows to specify the requested number of One-Way solutions in Multi-Ticket processing.
  • Multiple Branded Fares at Multiple Fares Per Itinerary level - the existing parameters related to Multiple Brands are now also applicable for Multiple Fares Per Itinerary.
  • The Revalidate Itinerary API GIR Response has been enhanced with the following new parameters:
  • Ancillary, Fare type descriptors - new Fare type descriptors in Revalidate Itinerary GIR Response. 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.
  • 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. Available for AMC users only.

Business Value

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

New Features

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 Revalidate Itinerary schema version 5.4.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 Revalidate Itinerary schema version 5.4.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 Revalidate Itinerary schema version 5.4.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 Revalidate Itinerary schema version 5.4.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 AlternateAirportMileage 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": {
            "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: 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: Brand attributes is a feature within the Branded fares capabilities and will be returned with single and multiple branded fares request.

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 Revalidate Itinerary 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 Revalidate Itinerary 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 Revalidate Itinerary 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 Revalidate Itinerary 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 Revalidate Itinerary 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 Revalidate Itinerary 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 Revalidate Itinerary 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 Revalidate Itinerary 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 Request

Optional

Parameter: BrandedFareIndicators

Type: boolean

Description: Return multiple brand options per itinerary.

Sample Value:

"FlexibleFares": {
    "FareParameters": [
        {
            "Cabin": {
                "Type": "Y"
            },
            "BrandedFareIndicators": {
                "MultipleBrandedFares": true,
                "UpsellLimit": 2,
                "ItinParityBrandlessLeg": true,
                "ParityMode": "Leg",
                "ItinParityFallbackMode": "LowestSingle"
            }
        },
Note: Set of branded fare switches and preferences for whole flexible fare.

In the Request

Optional

Parameter: UpsellLimit

Type: integer

Description: Indicates maximum number of requested branded upsells.

Sample Value:

"FlexibleFares": {
    "FareParameters": [
        {
            "Cabin": {
                "Type": "Y"
            },
            "BrandedFareIndicators": {
                "MultipleBrandedFares": true,
                "UpsellLimit": 2,
                "ItinParityBrandlessLeg": true,
                "ParityMode": "Leg",
                "ItinParityFallbackMode": "LowestSingle"
            }
        },
Note: Parameter to limit the number of upsell solutions to be returned.

In the Request

Optional

Parameter: ItinParityBrandlessLeg

Type: boolean

Description: Parameter to allow for brand-less leg solutions when itinerary parity is requested.

Sample Value:

"FlexibleFares": {
    "FareParameters": [
        {
            "Cabin": {
                "Type": "Y"
            },
            "BrandedFareIndicators": {
                "MultipleBrandedFares": true,
                "UpsellLimit": 2,
                "ItinParityBrandlessLeg": true,
                "ParityMode": "Leg",
                "ItinParityFallbackMode": "LowestSingle"
            }
        },
Note: Allow brand-less legs in multiple brands upsell solutions.

In the Request

Optional

Parameter: ParityMode

Type: string

Description: Multiple Branded Fares parity mode.

Sample Value:

"FlexibleFares": {
    "FareParameters": [
        {
            "Cabin": {
                "Type": "Y"
            },
            "BrandedFareIndicators": {
                "MultipleBrandedFares": true,
                "UpsellLimit": 2,
                "ItinParityBrandlessLeg": true,
                "ParityMode": "Leg",
                "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: Fallback mode for Multiple Branded Fares with itin parity, when no itin parity solutions found.

Sample Value:

"FlexibleFares": {
    "FareParameters": [
        {
            "Cabin": {
                "Type": "Y"
            },
            "BrandedFareIndicators": {
                "MultipleBrandedFares": true,
                "UpsellLimit": 2,
                "ItinParityBrandlessLeg": true,
                "ParityMode": "Leg",
                "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 Response

Optional

Parameter: FareType

Type: string

Description: New Fare type descriptors in Revalidate Itinerary. 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: New Fare type descriptors in Revalidate Itinerary. 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.

In the Response

Optional

Parameter: FareTariff

Type: string

Description: New Fare type descriptors in Revalidate Itinerary. 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: New Fare type descriptors in Revalidate Itinerary. 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.

In the Response

Optional

Parameter: FareRule

Type: string

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: New Fare type descriptors in Revalidate Itinerary. 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.

In the Response

Optional

Parameter: FareTypeBitmap

Type: string

Description: New Fare type descriptors in Revalidate Itinerary. 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).

In the Response

Optional

Parameter: CreditCardFeeAmount

Type: decimal

Description: The Creditcard Fee returned with LCC options, added at TotalFare level.

Sample Value:

],
"totalFare": {
    "totalPrice": 10,
    "totalTaxAmount": 17,
    "currency": "USD",
    "baseFareAmount": 11,
    "baseFareCurrency": "USD",
    "constructionAmount": 12,
    "constructionCurrency": "USD",
    "equivalentAmount": 14,
    "equivalentCurrency": "USD",
    "airExtrasAmount": 15,
    "totalPriceWithAirExtras": 25,
    "creditCardFeeAmount": 10,
    "bookingFeeAmount": 25
}
Note: Returned only if non-zero value.

In the Response

Optional

Parameter: BookingFeeAmount

Type: decimal

Description: The Booking Fee returned with LCC options, added at TotalFare level.

Sample Value:

],
"totalFare": {
    "totalPrice": 10,
    "totalTaxAmount": 17,
    "currency": "USD",
    "baseFareAmount": 11,
    "baseFareCurrency": "USD",
    "constructionAmount": 12,
    "constructionCurrency": "USD",
    "equivalentAmount": 14,
    "equivalentCurrency": "USD",
    "airExtrasAmount": 15,
    "totalPriceWithAirExtras": 25,
    "creditCardFeeAmount": 10,
    "bookingFeeAmount": 25
}
Note: Returned only if non-zero value.

In the Response

Optional

Parameter: SourcePCC

Type: PseudoCityCodeType

Description: The PCC of the contract processed for Agency Managed Commission which is added for audit/tracking purposes.

Sample Value:

 },
 "validatingCarrierCommissionInfo": [
   {
     "validatingCarrier": "BA",
     "commissionAmount": 9.45,
     "earnedCommissionAmount": 9.45,
     "commissionContractQualifier": "MT9FIXALLOW",
     "sourcePcc": "A1D0",
     "fareComponentBreakdowns": [
       {
Note: Source PseudoCityCode. Applicable for AMC subscribers only.

Functional Updates And Enhancements

In the Response

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 it's default value is equal to A - Air Segment. It belongs to the OriginDestinationFlightAttributeGroup.

  • Revalidate Itinerary 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

Format
JSON
Current Version
4.3.0
Environment
Production

What's New

  • Revalidate Itinerary 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: 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).

  • Revalidate Itinerary has been enhanced with the following new optional search parameters:
  • 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).
  • Additionally, the following information will be returned in the Revalidate Itinerary response:
  • Forced Stopover Indicator – New indicator at the segment level to denote stopover point.
  • Revalidate Itinerary – Renamed element from "repriced" to "revalidated".

API Information

Format
JSON
Endpoint
/POST v4.2.0/shop/flights/revalidate
Current Version
4.2.0
Environment
Production

What's New

  • Revalidate Itinerary has been enhanced with the following new optional search parameters:
  • 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).
  • Additionally, the following information will be returned in the Revalidate Itinerary 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: AlwaysCheckAvailability

Type: Boolean

Description: This parameter allows customers to control the availability validation for a given itinerary.

Sample Value:

{
    "TravelPreferences": {
        "VendorPref": {
            "PreferLevel": "Preferred",
            "Code": "EK"
        },
        "TPA_Extensions": {
            "VerificationItinCallLogic": {
                "Value": "M",
                "AlwaysCheckAvailability": "true"
            }
        }
    }
}
Note: Applicable only to Revalidate Itinerary functionality.

In the Request

Optional

Parameter: UpsellLimit

Type: Integer

Description: New parameter to limit the number of branded fare upsell solutions to be returned.

Sample Value:

{
    "PriceRequestInformation": {
        "AccountCode": {
            "Code": "BD001"
        },
        "TPA_Extensions": {
            "BrandedFareIndicators": {
                "MultipleBrandedFares": "true",
                "SingleBrandedFare": "true",
                "ParityMode": "Leg",
                "UpsellLimit": 2
            }
        }
    }
}

In the Request

Optional

Parameter: ItinParityBrandlessLeg

Type: Boolean

Description: New parameter to allow for brand-less leg solutions when itinerary parity is requested.

Sample Value:

{
       "TPA_Extensions": {
              "BrandedFareIndicators": {
                     "MultipleBrandedFares": "true",
                     "ItinParityBrandlessLeg": "true",
                     "ParityMode": "Itin"
              }
       }
}

}

In the Request

Optional

Parameter: ParityMode

Type: String

Description: New parameter to control the brand parity logic preference (Leg Parity or Itinerary Parity).

Sample Value:

{
    "TPA_Extensions": {
        "Priority": {
            "Price": {
                "Priority": 2
            },
            "DirectFlights": {
                "Priority": 1
            },
            "Time": {
                "Priority": 3
            },
            "Vendor": {
                "Priority": 4
            }
        },
        "BrandedFareIndicators": {
            "MultipleBrandedFares": "true",
            "SingleBrandedFare": "true",
            "ParityMode": "Itin",
            "ItinParityFallbackMode": "LowestSingle"
        }
    }
}
Note: ParityMode and ItinParityFallbackMode parameters are optional. When specifying the ParityMode=”Itin” at the request level without specifying the ItinParityFallbackMode, then the default fallback mode in the “BFM rule” level will be applied. Possible fallback modes: LowestSingle (no upsell options only lowest single possible branded solutions) or Leg (upsells generated using leg parity mode).

In the Request

Optional

Parameter: ItinParityFallbackMode

Type: String

Description: New parameter to control the fall back mode logic when brand itinerary parity cannot be met (lowest single brand or leg parity).

Sample Value:

{
    "TPA_Extensions": {
        "Priority": {
            "Price": {
                "Priority": 2
            },
            "DirectFlights": {
                "Priority": 1
            },
            "Time": {
                "Priority": 3
            },
            "Vendor": {
                "Priority": 4
            }
        },
        "BrandedFareIndicators": {
            "MultipleBrandedFares": "true",
            "SingleBrandedFare": "true",
            "ParityMode": "Itin",
            "ItinParityFallbackMode": "LowestSingle"
        }
    }
}
Note: Possible FallBack modes to be used are: LowestSingle (no upsell options only lowest single possible branded solutions) or Leg (upsells generated using leg parity mode).

In the Response

Optional

Parameter: RequestedStopover Ind

Type: Boolean

Description: Indicator to identify which segment is the one departing from the stopover point in the Revalidate Itinerary response (within one leg).

Sample Value:

{
    "FlightSegment": {
        "DepartureDateTime": "2018-08-12T16:50:00",
        "ArrivalDateTime": "2018-08-12T20:20:00",
        "StopQuantity": 0,
        "FlightNumber": 872,
        "ResBookDesigCode": "V",
        "ElapsedTime": 150,
        "DepartureAirport": {
            "LocationCode": "LHR",
            "TerminalID": 5
        },
        "ArrivalAirport": {
            "LocationCode": "KRK"
        },
        "OperatingAirline": {
            "Code": "YY",
            "FlightNumber": 872
        },
        "Equipment": {
            "AirEquipType": 320
        },
        "MarketingAirline": {
            "Code": "YY"
        },
        "MarriageGrp": "O",
        "DepartureTimeZone": {
            "GMTOffset": 1
        },
        "ArrivalTimeZone": {
            "GMTOffset": 2
        },
        "TPA_Extensions": {
            "eTicket": {
                "Ind": "true"
            },
            "Mileage": {
                "Amount": 889
            },
            "RequestedStopover": {
                "Ind": "true"
            }
        }
    }
}

Functional Updates And Enhancements

In the Response

Optional

Parameter: Revalidated

Type: Boolean

Description: Indicator to identify the itinerary offer that was validated.

Sample Value:

{
    "AirItineraryPricingInfo": {
        "PricingSource": "WPNI1_ITIN",
        "PricingSubSource": "MIP",
        "Revalidated": "true",
        "FareReturned": "true",
        "ItinTotalFare": {
            "BaseFare": {
                "Amount": 9254.00,
                "CurrencyCode": "EUR",
                "DecimalPlaces": 2
            },
            "FareConstruction": {
                "Amount": 11364.48,
                "CurrencyCode": "NUC",
                "DecimalPlaces": 2
            },
            "EquivFare": {
                "Amount": 11070.00,
                "CurrencyCode": "USD",
                "DecimalPlaces": 2
            },
            "Taxes": {
                "Tax": {
                    "TaxCode": "TOTALTAX",
                    "Amount": 1256.40,
                    "CurrencyCode": "USD",
                    "DecimalPlaces": 2
                }
            },
            "TotalFare": {
                "Amount": 12326.40,
                "CurrencyCode": "USD",
                "DecimalPlaces": 2
            }
        }
    }
}
Note: When the @Revalidated parameter is included with the ‘true’ value in the response this means the system revalidated the given itinerary with the specified flight schedule, RBD, date of travel and city-pair.

  • Revalidate Itinerary 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.
  • Exclude codeshare flights.
  • Also, 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/flights/revalidate
Current Version
4.1.0
Environment
Production

What's New

  • Revalidate Itinerary 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.
  • Exclude codeshare flights.
  • Also, 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 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 whether only fare options that include a bag in the fare filed should 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: 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 Mark ups plus any Fare Retailer Handling Fees. Excludes all Fare Retailer Selling rule adjustments.

Sample Value:

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

In the Response

Optional

Parameter: HiddenHandlingFee

Type: Boolean

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

Sample Value:

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

In the Response

Optional

Parameter: NonHiddenHandlingFee

Type: Boolean

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

Sample Value:

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

In the Response

Optional

Parameter: FareRetailerRule

Type: Boolean

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

Sample Value:

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

In the Response

Optional

Parameter: AncillaryTypeCode

Type: String

Description: AncillaryTypeCode that corresponds to a type of ancillary, type F or P (treated as F) and is 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": "K0",
                "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": "K0",
                "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": "K0",
                "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": "K0",
                "PassengerCode": "ADT",
                "Date": "2018-04-10",
                "StartSegment": 1,
                "EndSegment": 1,
                "AncillaryTypeCode": "F",
                "Subcode": "0EB",
                "BaggageID": 4
            }
        ]
    }
}
Note: If one of the records is F type and another P (treated as F) and both have the same subcode, P type will take precedence.

In the Response

Optional

Parameter: Subcode

Type: String

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

Sample Value:

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

In the Response

Optional

Parameter: BaggageID

Type: BaggageIDType

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

Sample Value:

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

In the Response

Optional

Parameter: Code

Type: PassengerCodeType

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

Sample Value:

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

In the Response

Required

Parameter: BaggageID

Type: BaggageIDType

Description: Baggage ID number for the applicable baggage hints.

Sample Value:

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

In the Response

Required

Parameter: StandardBag

Type: Short

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

Sample Value:

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

  • Ability to recheck availability and price for a specific itinerary option without booking the itinerary, so the up-to-date content can be presented.
  • A wide range of user-specified criteria can be applied. For the complete list, please consult the request and response design documentation.

API Information

Format
JSON
Endpoint
/v3.3.0/shop/flights/revalidate
Current Version
3.3.0
Environment
Production

What's New

  • Ability to recheck availability and price for a specific itinerary option without booking the itinerary, so the up-to-date content can be presented.
  • A wide range of user-specified criteria can be applied. For the complete list, please consult the request and response design documentation.

New Features

In the Response

Optional

Parameter: Repriced

Type: Boolean

Description: Indicator that allows to identify the fares that were returned from the price and availability revalidation functionality.

Sample Value:

 "AirItineraryPricingInfo": [ { "LastTicketDate": "2017-05-17", "PricingSource": "WPNI1_ITIN", "PricingSubSource": "MIP", "FareReturned": true, "Repriced": true, "ItinTotalFare": { "BaseFare": { "Amount": 990.7, "CurrencyCode": "USD", "DecimalPlaces": 2 }, "FareConstruction": { "Amount": 990.7, "CurrencyCode": "USD", "DecimalPlaces": 2 }, "EquivFare": { "Amount": 990.7, "CurrencyCode": "USD", "DecimalPlaces": 2 }
       
Note: When the @Repriced parameter is included with the "true” value in the response, this means that the system re-priced the given itinerary with the specified flight schedule, RBD, date, and city pair.