Skip to main content

Revalidate Itinerary

6.4.0
Air
Reservation
SOAP API
Travel Agency
  • The Revalidate Itinerary OTA and GIR Responses has been enhanced with the following changes:
  • Shelves - the response structure of the Shelves Definitions has been modified compared to the last release 6.3.0. The new design is simplified and more flexible for customers to adopt the functionality and start consuming new content without the need to upgrade to a new schema version when a new attribute is added.
  • New shelves definition design considers a flexible set of attributes, including: “exchange/exchanges, refund/refunds, baggage, seat selection, seat type, seat pitch, and carryOn". Other attributes like priority boarding may be considered in the next releases as well.

API Information

Response Format
XML
Service Action Code
RevalidateItinRQ
Current Version
6.4.0
Target Audience
TN
Environment
Production

What's New

  • The Revalidate Itinerary OTA and GIR Responses has been enhanced with the following changes:
  • Shelves - the response structure of the Shelves Definitions has been modified compared to the last release 6.3.0. The new design is simplified and more flexible for customers to adopt the functionality and start consuming new content without the need to upgrade to a new schema version when a new attribute is added.
  • New shelves definition design considers a flexible set of attributes, including: “exchange/exchanges, refund/refunds, baggage, seat selection, seat type, seat pitch, and carryOn". Other attributes like priority boarding may be considered in the next releases as well.

Business Value

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

New Features

In the Response

Optional

Parameter: Name

Type: string

Description: Description: With the new schema version 6.4.0, the OTA Shelf Definitions in the response have been simplified by removing all attributes except id. New format example:

Sample Value:

<Shelf Id="">
  <Attribute Name="" Value="" Type="">
    <Description Name="" Value="" Type=""/>
  </Attribute>
</Shelf>
Note: The Name parameter is a required string. Value and Type are optional strings.

In the Response

Optional

Parameter: Attribute

Type: ShelfAttributeType

Description: With the new schema version 6.4.0, the OTA Shelf element in the response has been simplified by removing all attributes except id. New shelves definition design considers a flexible set of attributes, including: "exchange/exchanges, refund/refunds, baggage, seat selection, and seat type". Other attributes like priority boarding will be considered in the next releases as well. Example: <Attribute Name="PriorityBoarding" Value="Free"/>

Sample Value:

OTA:

 <ShelvesDefinitions Mode="NAS">
   <Shelf Id="1"/>
   <Shelf Id="2">
      <Attribute Name="Penalty" Type="Exchanges" Value="Allowed"/>
      <Attribute Name="Seat" Type="Standard">
         <Description Name="Pitch" Type="LessThan" Value="34"/>
      </Attribute>
   </Shelf>
   <Shelf Id="3">
      <Attribute Name="Penalty" Type="Exchanges" Value="Allowed"/>
      <Attribute Name="SeatSelection" Value="Free"/>
      <Attribute Name="Seat" Type="Standard">
         <Description Name="Pitch" Type="LessThan" Value="34"/>
      </Attribute>
   </Shelf>
   <Shelf Id="4">
      <Attribute Name="Penalty" Type="Exchanges" Value="Allowed"/>
      <Attribute Name="SeatSelection" Value="Free"/>
      <Attribute Name="Seat" Type="Standard">
         <Description Name="Pitch" Type="AtLeast" Value="34"/>
      </Attribute>
   </Shelf>
   <Shelf Id="5">
      <Attribute Name="Penalty" Type="Exchanges" Value="Free"/>
      <Attribute Name="FreeBaggagePieces" Value="1"/>
      <Attribute Name="SeatSelection" Value="Free"/>
      <Attribute Name="Seat" Type="Recliner">
        <Description Name="Cabin" Type=" Preferred " Value="Y"/>
      </Attribute>
   </Shelf>
</ShelvesDefinitions>

GIR:

 <Shelves Mode="NAS"/>
  <ShelfDesc Id="1">
    <Attribute Name="Penalty" Value="Allowed" Type="Refunds"/>
  </ShelfDesc>
  <ShelfDesc Id="2">
    <Attribute Name="Penalty" Value="Allowed" Type="Exchanges"/>
    <Attribute Name="Penalty" Value="Allowed" Type="Refunds"/>
    <Attribute Name="Seat" Type="standard"/>
  </ShelfDesc>
  <ShelfDesc Id="3">
    <Attribute Name="Penalty" Value="Allowed" Type="Exchanges"/>
    <Attribute Name="Penalty" Value="Allowed" Type="Refunds"/>
    <Attribute Name="SeatSelection" Value="Free"/>
    <Attribute Name="Seat" Type="Standard"/>
  </ShelfDesc>
  <ShelfDesc Id="4">
    <Attribute Name="Penalty" Value="Allowed" Type="Exchanges"/>
    <Attribute Name="Penalty" Value="Allowed" Type="Refunds"/>
    <Attribute Name="SeatSelection" Value="Free"/>
    <Attribute Name="Seat" Type="Standard"/>
  </ShelfDesc>
  <ShelfDesc Id="5">
    <Attribute Name="Penalty" Value="Free" Type="Exchanges"/>
    <Attribute Name="Penalty" Value="Allowed" Type="Refunds"/>
    <Attribute Name="FreeBaggagePieces" Value="1"/>
    <Attribute Name="SeatSelection" Value="Free"/>
    <Attribute Name="Seat" Type="Recliner"/>
  </ShelfDesc>
Note: The structure of the schema from the last release (6.3.0) has been simplified and is now more flexible. The same action was done for the NGS mode response although this mode is not being enhanced anymore and is in a deprecation status.

In the Response

Optional

Parameter: Exchange / Refund / Seat Type

Type: string

Description: Currently, it is possible to receive Exchange/Refund and Exchanges/Refunds as a Type.Therefore, customers should be able to consume both phrases. Seat type naming will be considered in the next releases to be returned as in Route Happy content. Example: <Attribute Name="Seat" Type="below average legroom"/>. Possible types returned: standard legroom, below average legroom, above average legroom, recliner seat, cradle recliner, angle flat seat, full flat seat, full flat pod, middle seat free, skycouch, recliner seat, cradle recliner, angle flat seat, private suite.

Sample Value:

OTA:

  <ShelvesDefinitions Mode="NAS">
    <Shelf Id="1">
      <Attribute Name="Penalty" Value="Allowed" Type="Refunds"/>
    </Shelf>
    <Shelf Id="2">
      <Attribute Name="Penalty" Value="Allowed" Type="Exchanges"/>
      <Attribute Name="Penalty" Value="Allowed" Type="Refunds"/>
      <Attribute Name="Seat" Type="standard legroom"/>
      <Attribute Name="Seat" Type="below average legroom"/>
    </Shelf>
    <Shelf Id="3">
      <Attribute Name="Penalty" Value="Allowed" Type="Exchange"/>
      <Attribute Name="Penalty" Value="Allowed" Type="Refund"/>
      <Attribute Name="SeatSelection" Value="Free"/>
      <Attribute Name="Seat" Type="standard legroom"/>
      <Attribute Name="Seat" Type="below average legroom"/>
    </Shelf>
    <Shelf Id="4">
      <Attribute Name="Penalty" Value="Allowed" Type="Exchanges"/>
      <Attribute Name="Penalty" Value="Allowed" Type="Refunds"/>
      <Attribute Name="SeatSelection" Value="Free"/>
      <Attribute Name="Seat" Type="above average legroom"/>
    </Shelf>
    <Shelf Id="5">
      <Attribute Name="Penalty" Value="Free" Type="Exchange"/>
      <Attribute Name="Penalty" Value="Allowed" Type="Refund"/>
      <Attribute Name="FreeBaggagePieces" Value="1"/>
      <Attribute Name="SeatSelection" Value="Free"/>
      <Attribute Name="Seat" Type="recliner seat"/>
      <Attribute Name="Seat" Type="full flat seat"/>
      <Attribute Name="Seat" Type="full flat pod"/>
      <Attribute Name="Seat" Type="angle flat seat"/>
      <Attribute Name="Seat" Type="cradle recliner"/>
    </Shelf>
  </ShelvesDefinitions>

GIR:

 <Shelves Mode="NAS"/>
  <ShelfDesc Id="1">
    <Attribute Name="Penalty" Value="Allowed" Type="Refunds"/>
  </ShelfDesc>
  <ShelfDesc Id="2">
    <Attribute Name="Penalty" Value="Allowed" Type="Exchanges"/>
    <Attribute Name="Penalty" Value="Allowed" Type="Refunds"/>
    <Attribute Name="Seat" Type="standard legroom"/>
    <Attribute Name="Seat" Type="below average legroom"/>
  </ShelfDesc>
  <ShelfDesc Id="3">
    <Attribute Name="Penalty" Value="Allowed" Type="Exchange"/>
    <Attribute Name="Penalty" Value="Allowed" Type="Refund"/>
    <Attribute Name="SeatSelection" Value="Free"/>
    <Attribute Name="Seat" Type="standard legroom"/>
    <Attribute Name="Seat" Type="below average legroom"/>
  </ShelfDesc>
  <ShelfDesc Id="4">
    <Attribute Name="Penalty" Value="Allowed" Type="Exchanges"/>
    <Attribute Name="Penalty" Value="Allowed" Type="Refunds"/>
    <Attribute Name="SeatSelection" Value="Free"/>
    <Attribute Name="Seat" Type="above average legroom"/>
  </ShelfDesc>
  <ShelfDesc Id="5">
    <Attribute Name="Penalty" Value="Free" Type="Exchange"/>
    <Attribute Name="Penalty" Value="Allowed" Type="Refund"/>
    <Attribute Name="FreeBaggagePieces" Value="1"/>
    <Attribute Name="SeatSelection" Value="Free"/>
    <Attribute Name="Seat" Type="recliner seat"/>
    <Attribute Name="Seat" Type="full flat seat"/>
    <Attribute Name="Seat" Type="full flat pod"/>
    <Attribute Name="Seat" Type="angle flat seat"/>
    <Attribute Name="Seat" Type="cradle recliner"/>
  </ShelfDesc>
Note:

Relase note ID: 16369


  • 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

Response Format
XML
Service Action Code
RevalidateItinRQ
Current Version
6.3.0
Target Audience
TN
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 Number="1">
          <Baggage FreePieceRequired="false" FreeCarryOn="false"/>
        </Leg>
      </FareParameters>
    </FlexibleFares>
  </TPA_Extensions>
  <Baggage Description="true" RequestType="A" RequestedPieces="4" CarryOnInfo="true" FreeCarryOn="true" FreePieceRequired="true"/>
</TravelPreferences>
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 Number="1">
          <Baggage FreePieceRequired="false" FreeCarryOn="false"/>
        </Leg>
      </FareParameters>
    </FlexibleFares>
  </TPA_Extensions>
  <Baggage Description="true" RequestType="A" RequestedPieces="4" CarryOnInfo="true" FreeCarryOn="true" FreePieceRequired="true"/>
</TravelPreferences>
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:

OTA:

<BaggageInformationList>
<BaggageInformation ProvisionType="B" AirlineCode="DL">
<Segment Id="0"/>
<Allowance Pieces="1"/>
</BaggageInformation>
<BaggageInformation ProvisionType="B" AirlineCode="DL">
<Segment Id="1"/>
<Allowance Pieces="1"/>
</BaggageInformation>
</BaggageInformationList>


GIR:

<BaggageAllowanceDesc ID="1" Pieces="1"/>
  <BaggageAllowanceDesc ID="2" Pieces="0"/>
  <BaggageAllowanceDesc ID="3" Pieces="0"/>
  <BaggageAllowanceDesc ID="4" Pieces="1"/>
...

 <BaggageInformation ProvisionType="B" AirlineCode="DL">
             ="0"/>
              <Allowance  <Segment IDRef="4"/>
   </BaggageInformation>
   <BaggageInformation ProvisionType="B" AirlineCode="DL">
              <Segment ID="1"/>
              <Allowance Ref="4"/>
    </BaggageInformation>
Note: CarryOn in JSON response – will be returned under ProvisionType="B" with added Allowance element or ProvisionType="CC" for Charge. CarryOn in GIR-JSON response – will be returned under ProvisionType="B" with new added Allowance element under BaggageInformation or if Charge under ProvisionType="CC".

In the Response

Optional

Parameter: Allowance Pieces

Type: complexType / integer

Description: Allowance amount stated in pieces.

Sample Value:

OTA:

<BaggageInformationList>
<BaggageInformation ProvisionType="B" AirlineCode="DL">
<Segment Id="0"/>
<Allowance Pieces="1"/>
</BaggageInformation>
<BaggageInformation ProvisionType="B" AirlineCode="DL">
<Segment Id="1"/>
<Allowance Pieces="1"/>
</BaggageInformation>
</BaggageInformationList>


GIR:

<BaggageAllowanceDesc ID="1" Pieces="1"/>
  <BaggageAllowanceDesc ID="2" Pieces="0"/>
  <BaggageAllowanceDesc ID="3" Pieces="0"/>
  <BaggageAllowanceDesc ID="4" Pieces="1"/>
...

 <BaggageInformation ProvisionType="B" AirlineCode="DL">
             ="0"/>
              <Allowance  <Segment IDRef="4"/>
   </BaggageInformation>
   <BaggageInformation ProvisionType="B" AirlineCode="DL">
              <Segment ID="1"/>
              <Allowance Ref="4"/>
    </BaggageInformation>
Note: For OTA response, the amount is returned directly with allowance, and 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:

OTA:

<BaggageInformationList>
<BaggageInformation ProvisionType="CC" AirlineCode="DL">
<Segment Id="0"/>
<Charge EquivalentAmount="30.00" EquivalentCurrency="USD" FirstPiece="1" LastPiece="1"/>
</BaggageInformation>
<BaggageInformation ProvisionType="CC" AirlineCode="DL">
<Segment Id="1"/>
<Charge EquivalentAmount="30.00" EquivalentCurrency="USD" FirstPiece="1" LastPiece="1"/>
</BaggageInformation>
</BaggageInformationList>


GIR:
 <BaggageChargeDesc ID="1" EquivalentAmount="40.00" EquivalentCurrency="USD" FirstPiece="2" LastPiece="2"/>
  <BaggageChargeDesc ID="2" EquivalentAmount="30.00" EquivalentCurrency="USD" FirstPiece="1" LastPiece="1"/>
  <BaggageChargeDesc ID="3" EquivalentAmount="40.00" EquivalentCurrency="USD" FirstPiece="2" LastPiece="2"/>
  <BaggageChargeDesc ID="4" EquivalentAmount="30.00" EquivalentCurrency="USD" FirstPiece="1" LastPiece="1"/>
 


<BaggageInformation ProvisionType="CC" AirlineCode="DL">
              <Segment ID="0"/>
             <Charge Ref="4"/>
   </BaggageInformation>
   <BaggageInformation ProvisionType="CC" AirlineCode="DL">
              <Segment ID="1"/>
              <Charge Ref="4"/>
    </BaggageInformation>
Note: CarryOn in OTA response – will be returned under ProvisionType="B" with added Allowance element or ProvisionType="CC" for Charge. 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 OTA shopping response. List of references to flight amenities.

Sample Value:

OTA:
<FlightAmenities>
<Beverage Id="1" AlcoholicCost="free" NonAlcoholicCost="free" Exists="true"/>
<Entertainment Id="1" Exists="false" Type="none"/>
<Food Id="1" Cost="free" Exists="true" Type="snack"/>
<Layout Id="1" RowLayout="3-3" DirectAisleAccess="false"/>
<Layout Id="2" RowLayout="2-2" DirectAisleAccess="false"/>
<Power Id="1" Type="none"/>
<Power Id="2" Cost="free" Distribution="all" Type="usb"/>
<Seat Id="1" Pitch="30" Type="standard legroom"/>
<Seat Id="2" Pitch="31" Type="standard legroom"/>
<Wifi Id="1" Exists="false" Type="none"/>
</FlightAmenities>

<FareInfo>
<FareReference>T</FareReference>
<TPA_Extensions>
<SeatsRemaining Number="9" BelowMin="false"/>
<Cabin Cabin="Y"/>
<FlightAmenities BeverageRef="1" EntertainmentRef="1" FoodRef="1" LayoutRef="2" PowerRef="1" SeatRef="2" WifiRef="1"/>
<Meal Code="S"/>
</TPA_Extensions>
</FareInfo>
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

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"/>
    <Food Id="1" Cost="free" Exists="true" Type="snack"/>
    <Layout Id="1" RowLayout="3-3" DirectAisleAccess="false"/>
    <Layout Id="2" RowLayout="2-2" DirectAisleAccess="false"/>
    <Power Id="1" Type="none"/>
    <Power Id="2" Cost="free" Distribution="all" Type="usb"/>
    <Seat Id="1" Pitch="30" Type="standard legroom"/>
    <Seat Id="2" Pitch="31" Type="standard legroom"/>
    <Wifi Id="1" Exists="false" Type="none"/>
  </FlightAmenities>

<FareComponent Ref="1">
              <Segment BookingCode="T" CabinCode="Y" MealCode="S" SeatsAvailable="9"/>
              <Segment BookingCode="T" CabinCode="Y" MealCode="S" SeatsAvailable="9" AvailabilityBreak="true">
                <FlightAmenities BeverageRef="1" EntertainmentRef="1" FoodRef="1" LayoutRef="1" PowerRef="2" SeatRef="1" WifiRef="1"/>
              </Segment>
</FareComponent>
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>
    <FlexibleFares>
      <FareParameters>
        <Baggage FreePieceRequired="true" FreeCarryOn="true"/>
        <Leg Number="1">
          <Baggage FreePieceRequired="false" FreeCarryOn="false"/>
        </Leg>
      </FareParameters>
    </FlexibleFares>
  </TPA_Extensions>
  <Baggage Description="true" RequestType="A" RequestedPieces="4" CarryOnInfo="true" FreeCarryOn="true" FreePieceRequired="true"/>
</TravelPreferences>
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:

<BaggageInformationList>
  <BaggageInformation ProvisionType="CC" AirlineCode="DL">
    <Segment Id="0"/>
    <Charge EquivalentAmount="30.00" EquivalentCurrency="USD" FirstPiece="1" LastPiece="1"/>
  </BaggageInformation>
  <BaggageInformation ProvisionType="CC" AirlineCode="DL">
    <Segment Id="1"/>
    <Charge EquivalentAmount="30.00" EquivalentCurrency="USD" FirstPiece="1" LastPiece="1"/>
  </BaggageInformation>
</BaggageInformationList>
Note:

In the Response

Optional

Parameter: EquivalentCurrency

Type: CurrencyCodeType

Description: An existing attribute changed from required to optional.

Sample Value:

<BaggageInformationList>
  <BaggageInformation ProvisionType="CC" AirlineCode="DL">
    <Segment Id="0"/>
    <Charge EquivalentAmount="30.00" EquivalentCurrency="USD" FirstPiece="1" LastPiece="1"/>
  </BaggageInformation>
  <BaggageInformation ProvisionType="CC" AirlineCode="DL">
    <Segment Id="1"/>
    <Charge EquivalentAmount="30.00" EquivalentCurrency="USD" FirstPiece="1" LastPiece="1"/>
  </BaggageInformation>
</BaggageInformationList>
Note:

Relase note ID: 15991


  • The Revalidate Itinerary Request has been enhanced with the following changes:
  • Shelves - New Airline Storefront is an enchantment to Revalidate Itinerary which enables the ability to create a modernized storefront, to display all relevant offers from the same or different airlines, for easy comparison to travelers by a defined combination of specific attribute levels, e.g. exchangeability, refundability, baggage allowance, cabin, seat comfort.
  • 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 OTA and GIR Response have been enhanced with the new parameters and other changes listed below:
  • Shelves - new attributes in the response. NAS (Sabre’s New Airline Storefront) and NGS (ATPCO Next Gen Storefront™) Modes.
  • Flight Amenities - Seat type. Changes to the response schema to support flight amenities information in regard to Seat type and Seat pitch when Shelves are requested.
  • Pre reserved seat selection - changes to the response schema to support pre-reserved seat information.

API Information

Response Format
XML
Service Action Code
RevalidateItinRQ
Current Version
6.2.0
Target Audience
TN
Environment
Production

What's New

  • The Revalidate Itinerary Request has been enhanced with the following changes:
  • Shelves - New Airline Storefront is an enchantment to Revalidate Itinerary which enables the ability to create a modernized storefront, to display all relevant offers from the same or different airlines, for easy comparison to travelers by a defined combination of specific attribute levels, e.g. exchangeability, refundability, baggage allowance, cabin, seat comfort.
  • 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 OTA and GIR Response have been enhanced with the new parameters and other changes listed below:
  • Shelves - new attributes in the response. NAS (Sabre’s New Airline Storefront) and NGS (ATPCO Next Gen Storefront™) Modes.
  • Flight Amenities - Seat type. Changes to the response schema to support flight amenities information in regard to Seat type and Seat pitch when Shelves are requested.
  • 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.

New Features

In the Request

Optional

Parameter: ShelvesIndicators

Type: N/A

Description: Shelves are allowing comparison shopping and retailing of air offers, solving how to display multiple offers across airlines, to clearly view what’s included and what’s not at the fare level.

Sample Value:

<TravelerInfoSummary>
  <PriceRequestInformation>
    <TPA_Extensions>
      <ShelvesIndicators Mode="NAS" Limit="5"/>
    </TPA_Extensions>
  </PriceRequestInformation>
</TravelerInfoSummary>
Note: Requested shelves indicators; minOccurs="0" .

In the Request

Required

Parameter: Mode

Type: ShelvesModeType

Description: Modes available: "NAS" - New Airline Storefront - Defined by a combination of specific attribute levels, i.e. exchangeability, refundability, baggage allowance, seat selection.

Sample Value:

<TravelerInfoSummary>
  <PriceRequestInformation>
    <TPA_Extensions>
      <ShelvesIndicators Mode="NAS" Limit="5"/>
    </TPA_Extensions>
  </PriceRequestInformation>
</TravelerInfoSummary>
Note: The attribute is required if ShelvesIndicators are used in the request.

In the Request

Optional

Parameter: Limit

Type: integer

Description: Indicates maximum number of requested shelves.

Sample Value:

<TravelerInfoSummary>
  <PriceRequestInformation>
    <TPA_Extensions>
      <ShelvesIndicators Mode="NAS" Limit="5"/>
    </TPA_Extensions>
  </PriceRequestInformation>
</TravelerInfoSummary>
Note: The attribute is optional and may be entered if if ShelvesIndicators & Mode are specified in the request.

In the Request

Optional

Parameter: SeatSelection

Type: FreeSeatSelectionAndInfoType

Description: Element that will contain parameters used for pre-reserved seat processing.

Sample Value:

<TravelPreferences>
  <TPA_Extensions>
    <SeatSelection Info="true" FreeSeatSelection="false"/>
  </TPA_Extensions>
</TravelPreferences>
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:

<TravelPreferences>
  <TPA_Extensions>
    <SeatSelection Info="true" FreeSeatSelection="false"/>
  </TPA_Extensions>
</TravelPreferences>
Note: Default value = false.

In the Request

Optional

Parameter: Info

Type: boolean

Description: Parameter to obtain pre-reserved seat info: F - Free; C - Charge; N - Not Applicable.

Sample Value:

<TravelPreferences>
  <TPA_Extensions>
    <SeatSelection Info="true" FreeSeatSelection="false"/>
  </TPA_Extensions>
</TravelPreferences>
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:

<OTA_AirLowFareSearchRQ>
  <TravelPreferences>
    <TPA_Extensions>
      <FlexibleFares>
        <Leg>
          <SeatSelection FreeSeatSelection="true"/>
        </Leg>
      </FlexibleFares>
    </TPA_Extensions>
  </TravelPreferences>
</OTA_AirLowFareSearchRQ>
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:

<TPA_Extensions>
  <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</BookingDateTime>
  </Flight>
  <SegmentType Code="O"/>
  <AlternateTime/>
  <CabinPref/>
</TPA_Extensions>
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:

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

<OriginDestinationInformation>
  <DepartureDateTime>2020-12-20T09:12:15</DepartureDateTime>
  <OriginLocation LocationCode="JFK"/>
  <DestinationLocation LocationCode="DEL"/>
  <TPA_Extensions>
    <Stopover>
      <Stay Nights="2" MinHours="10" MaxHours="72"/>
      <StopoverPoint LocationCode="AUH"/>
    </Stopover>
  </TPA_Extensions>
</OriginDestinationInformation>
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:

<OriginDestinationInformation>
  <DepartureDateTime>2020-12-20T09:12:15</DepartureDateTime>
  <OriginLocation LocationCode="JFK"/>
  <DestinationLocation LocationCode="DEL"/>
  <TPA_Extensions>
    <Stopover>
      <Stay Nights="2" MinHours="10" MaxHours="72"/>
      <StopoverPoint LocationCode="AUH"/>
    </Stopover>
  </TPA_Extensions>
</OriginDestinationInformation>
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:

<OriginDestinationInformation>
  <DepartureDateTime>2020-12-20T09:12:15</DepartureDateTime>
  <OriginLocation LocationCode="JFK"/>
  <DestinationLocation LocationCode="DEL"/>
  <TPA_Extensions>
    <Stopover>
      <Stay Nights="2" MinHours="10" MaxHours="72"/>
      <StopoverPoint LocationCode="AUH"/>
    </Stopover>
  </TPA_Extensions>
</OriginDestinationInformation>
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:

<OriginDestinationInformation>
  <DepartureDateTime>2020-12-20T09:12:15</DepartureDateTime>
  <OriginLocation LocationCode="JFK"/>
  <DestinationLocation LocationCode="DEL"/>
  <TPA_Extensions>
    <Stopover>
      <Stay Nights="2" MinHours="10" MaxHours="72"/>
      <StopoverPoint LocationCode="AUH"/>
    </Stopover>
  </TPA_Extensions>
</OriginDestinationInformation>
Note: Maximum stay in hours at the stopover point.

In the Response

Optional

Parameter: ShelvesDefinitions

Type: ShelvesDefinitionsType

Description: Returns list of Shelves processed. Contains the shelves definition data. Shelves definitions are the required attributes for a fare to be classified into a particular shelf.

Sample Value:

OTA Response Format:

<ShelvesDefinitions Mode="NAS">
<Shelf Id="1"/>
<Shelf Id="2" Exchanges="charge"/>
<Shelf Id="3" Exchanges="charge" SeatSelection="free"/>
<Shelf Id="4" Exchanges="charge" Refunds="charge" SeatSelection="free"/>
<Shelf Id="5" Exchanges="charge" Refunds="charge" FreeBaggagePieces="1" SeatSelection="free"/>
</ShelvesDefinitions>

GIR Response Format:

<Shelves Mode="NAS"/>
<ShelfDesc Id="1"/>
<ShelfDesc Id="2" Exchanges="charge"/>
<ShelfDesc Id="3" Exchanges="charge" SeatSelection=“free"/>
<ShelfDesc Id="4" Exchanges="charge" FreeBaggagePieces="1" SeatSelection=“free"/>
<ShelfDesc Id="5" Exchanges="charge" Refunds="charge" FreeBaggagePieces="1" SeatSelection=“free"/>
Note: Shelves Information (Single occurrence), returned together with the requested Mode.

In the Response

Optional

Parameter: Mode

Type: ShelvesModeType

Description: Mode - the required parameter in Shopping request which indicates which option was requested: NAS – Returns shelves defined by Sabre NGS – Returns shelves defined by ATPCO

Sample Value:

OTA Response Format:

<ShelvesDefinitions Mode="NAS">
<Shelf Id="1"/>
<Shelf Id="2" Exchanges="charge"/>
<Shelf Id="3" Exchanges="charge" SeatSelection="free"/>
<Shelf Id="4" Exchanges="charge" Refunds="charge" SeatSelection="free"/>
<Shelf Id="5" Exchanges="charge" Refunds="charge" FreeBaggagePieces="1" SeatSelection="free"/>
</ShelvesDefinitions>

GIR Response Format:

<Shelves Mode="NAS"/>
<ShelfDesc Id="1"/>
<ShelfDesc Id="2" Exchanges="charge"/>
<ShelfDesc Id="3" Exchanges="charge" SeatSelection=“free"/>
<ShelfDesc Id="4" Exchanges="charge" FreeBaggagePieces="1" SeatSelection=“free"/>
<ShelfDesc Id="5" Exchanges="charge" Refunds="charge" FreeBaggagePieces="1" SeatSelection=“free"/>
Note: Indicator of the returned shelves option.

In the Response

Required

Parameter: Shelf

Type: ShelfDefinitionType

Description: Contains list of attributes used in the shelf, e.g. Exchanges, Refunds, Free Baggage, Free Seat Selection.

Sample Value:

OTA Response Format:

<ShelvesDefinitions Mode="NAS">
<Shelf Id="1"/>
<Shelf Id="2" Exchanges="charge"/>
<Shelf Id="3" Exchanges="charge" SeatSelection="free"/>
<Shelf Id="4" Exchanges="charge" Refunds="charge" SeatSelection="free"/>
<Shelf Id="5" Exchanges="charge" Refunds="charge" FreeBaggagePieces="1" SeatSelection="free"/>
</ShelvesDefinitions>

GIR Response Format:

<Shelves Mode="NAS"/>
<ShelfDesc Id="1"/>
<ShelfDesc Id="2" Exchanges="charge"/>
<ShelfDesc Id="3" Exchanges="charge" SeatSelection=“free"/>
<ShelfDesc Id="4" Exchanges="charge" FreeBaggagePieces="1" SeatSelection=“free"/>
<ShelfDesc Id="5" Exchanges="charge" Refunds="charge" FreeBaggagePieces="1" SeatSelection=“free"/>
Note: If shelves are requested this parameter mus occur in the Response minOcc.="1" (multiple occurrences).

In the Response

Required

Parameter: Id

Type: nonNegativeInteger

Description: Shelf ID number that identifies the shelf.

Sample Value:

OTA Response Format:

<ShelvesDefinitions Mode="NAS">
<Shelf Id="1"/>
<Shelf Id="2" Exchanges="charge"/>
<Shelf Id="3" Exchanges="charge" SeatSelection="free"/>
<Shelf Id="4" Exchanges="charge" Refunds="charge" SeatSelection="free"/>
<Shelf Id="5" Exchanges="charge" Refunds="charge" FreeBaggagePieces="1" SeatSelection="free"/>
</ShelvesDefinitions>

GIR Response Format:

<Shelves Mode="NAS"/>
<ShelfDesc Id="1"/>
<ShelfDesc Id="2" Exchanges="charge"/>
<ShelfDesc Id="3" Exchanges="charge" SeatSelection=“free"/>
<ShelfDesc Id="4" Exchanges="charge" FreeBaggagePieces="1" SeatSelection=“free"/>
<ShelfDesc Id="5" Exchanges="charge" Refunds="charge" FreeBaggagePieces="1" SeatSelection=“free"/>
Note: If the shelves are returned, Id is required to be present i nthe response too.

In the Response

Optional

Parameter: Exchanges; Refunds; SeatSelection; FreeBaggagePieces*

Type: ShelfOptionAttrType

Description:

Sample Value:

OTA Response Format:

<ShelvesDefinitions Mode="NAS">
<Shelf Id="1"/>
<Shelf Id="2" Exchanges="charge"/>
<Shelf Id="3" Exchanges="charge" SeatSelection="free"/>
<Shelf Id="4" Exchanges="charge" Refunds="charge" SeatSelection="free"/>
<Shelf Id="5" Exchanges="charge" Refunds="charge" FreeBaggagePieces="1" SeatSelection="free"/>
</ShelvesDefinitions>

GIR Response Format:

<Shelves Mode="NAS"/>
<ShelfDesc Id="1"/>
<ShelfDesc Id="2" Exchanges="charge"/>
<ShelfDesc Id="3" Exchanges="charge" SeatSelection=“free"/>
<ShelfDesc Id="4" Exchanges="charge" FreeBaggagePieces="1" SeatSelection=“free"/>
<ShelfDesc Id="5" Exchanges="charge" Refunds="charge" FreeBaggagePieces="1" SeatSelection=“free"/>
Note: Exchanges, Refunds, SeatSelection - restrictions for specific shelf. ; FreeBaggagePieces* (is different type - nonNegativeInteger.) - number of free baggage pieces

In the Response

Optional

Parameter: ShelfId

Type: positiveInteger

Description: ShelfId is assigned to an itinerary’s price point. Classifies a fare to the Shelf Id in Shelf Definition.

Sample Value:

OTA Response Format:

<AirItineraryPricingInfo PricingSource="ADVJR1" PricingSubSource="MIP" ShelfId=“1">

GIR Response Format:
 
<PricingInformation PricingSubsource="MIP" ShelfId=“1">
Note: Shelf ID number that identifies the shelf.

In the Response

Optional

Parameter: Seat

Type: ShelfSeatType

Description: The list of seat description that can be available on this shelves. If there is multiple elements of seats that mean that at least one need to be available on fare to qualify to this shelf.

Sample Value:

<Shelf Id="2">
  <Seat Type="Standard" LessThan="34"/>
  <Options Min="2">
    <Option SeatSelection="free"/>
    <Option CarryOnBaggage="free"/>
    <Option Exchanges="allowed"/>
  </Options>
</Shelf>
Note:

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:

<Shelf Id="2">
  <Seat Type="Standard" LessThan="34"/>
  <Options Min="2">
    <Option SeatSelection="free"/>
    <Option CarryOnBaggage="free"/>
    <Option Exchanges="allowed"/>
  </Options>
</Shelf>
Note:

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:

<Shelf Id="2">
  <Seat Type="Standard" LessThan="34"/>
  <Options Min="2">
    <Option SeatSelection="free"/>
    <Option CarryOnBaggage="free"/>
    <Option Exchanges="allowed"/>
  </Options>
</Shelf>
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:

<Shelf Id="2">
  <Seat Type="Standard" LessThan="34"/>
  <Options Min="2">
    <Option SeatSelection="free"/>
    <Option CarryOnBaggage="free"/>
    <Option Exchanges="allowed"/>
  </Options>
</Shelf>
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:

<Shelf Id="2">
  <Seat Type="Standard" LessThan="34"/>
  <Options Min="2">
    <Option SeatSelection="free"/>
    <Option CarryOnBaggage="free"/>
    <Option Exchanges="allowed"/>
  </Options>
</Shelf>
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:

<Shelf Id="2">
  <Seat Type="Standard" LessThan="34"/>
  <Options Min="2">
    <Option SeatSelection="free"/>
    <Option CarryOnBaggage="free"/>
    <Option Exchanges="allowed"/>
  </Options>
</Shelf>
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:

<Shelf Id="2">
  <Seat Type="Standard" LessThan="34"/>
  <Options Min="2">
    <Option SeatSelection="free"/>
    <Option CarryOnBaggage="free"/>
    <Option Exchanges="allowed"/>
  </Options>
</Shelf>
Note:

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:

<Shelf Id="2">
  <Seat Type="Standard" LessThan="34"/>
  <Options Min="2">
    <Option SeatSelection="free"/>
    <Option CarryOnBaggage="free"/>
    <Option Exchanges="allowed"/>
  </Options>
</Shelf>
Note:

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:

OTA Response Format:

  <FlightAmenities>
    <Seat Ref="0" Pitch="31" Type="standard legroom"/>
    <Seat Ref="1" Pitch="38" Type="cradle recliner"/>
    <Seat Ref="2" Pitch="77" Type="full flat pod"/>
    <Food Ref="0" Exists="true" Cost="paid" Type="snack"/>
    <Food Ref="1" Exists="true" Cost="free" Type="light meal"/>
    <Food Ref="2" Exists="true" Cost="free" Type="premium meal"/>
    <Food Ref="3" Exists="false"/>
  </FlightAmenities>

GIR Response Format:

   <FlightAmenities>
    <Seat Id="1" Pitch="30" Type="standard legroom"/>
    <Seat Id="2" Pitch="29" Type="below average legroom"/>
    <Seat Id="3" Pitch="31" Type="standard legroom"/>
  </FlightAmenities>
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:

OTA Response Format:

  <FlightAmenities>
    <Seat Ref="0" Pitch="31" Type="standard legroom"/>
    <Seat Ref="1" Pitch="38" Type="cradle recliner"/>
    <Seat Ref="2" Pitch="77" Type="full flat pod"/>
    <Food Ref="0" Exists="true" Cost="paid" Type="snack"/>
    <Food Ref="1" Exists="true" Cost="free" Type="light meal"/>
    <Food Ref="2" Exists="true" Cost="free" Type="premium meal"/>
    <Food Ref="3" Exists="false"/>
  </FlightAmenities>

GIR Response Format:

   <FlightAmenities>
    <Seat Id="1" Pitch="30" Type="standard legroom"/>
    <Seat Id="2" Pitch="29" Type="below average legroom"/>
    <Seat Id="3" Pitch="31" Type="standard legroom"/>
  </FlightAmenities>
Note:

In the Response

Optional

Parameter: Id

Type: nonNegativeInteger

Description: Number of the seat returned.

Sample Value:

OTA Response Format:

  <FlightAmenities>
    <Seat Ref="0" Pitch="31" Type="standard legroom"/>
    <Seat Ref="1" Pitch="38" Type="cradle recliner"/>
    <Seat Ref="2" Pitch="77" Type="full flat pod"/>
    <Food Ref="0" Exists="true" Cost="paid" Type="snack"/>
    <Food Ref="1" Exists="true" Cost="free" Type="light meal"/>
    <Food Ref="2" Exists="true" Cost="free" Type="premium meal"/>
    <Food Ref="3" Exists="false"/>
  </FlightAmenities>

GIR Response Format:

   <FlightAmenities>
    <Seat Id="1" Pitch="30" Type="standard legroom"/>
    <Seat Id="2" Pitch="29" Type="below average legroom"/>
    <Seat Id="3" Pitch="31" Type="standard legroom"/>
  </FlightAmenities>
Note:

In the Response

Optional

Parameter: Pitch

Type: simpleType

Description: The size of the returned seat type.

Sample Value:

OTA Response Format:

  <FlightAmenities>
    <Seat Ref="0" Pitch="31" Type="standard legroom"/>
    <Seat Ref="1" Pitch="38" Type="cradle recliner"/>
    <Seat Ref="2" Pitch="77" Type="full flat pod"/>
    <Food Ref="0" Exists="true" Cost="paid" Type="snack"/>
    <Food Ref="1" Exists="true" Cost="free" Type="light meal"/>
    <Food Ref="2" Exists="true" Cost="free" Type="premium meal"/>
    <Food Ref="3" Exists="false"/>
  </FlightAmenities>

GIR Response Format:

   <FlightAmenities>
    <Seat Id="1" Pitch="30" Type="standard legroom"/>
    <Seat Id="2" Pitch="29" Type="below average legroom"/>
    <Seat Id="3" Pitch="31" Type="standard legroom"/>
  </FlightAmenities>
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:

OTA Response Format:

  <FlightAmenities>
    <Seat Ref="0" Pitch="31" Type="standard legroom"/>
    <Seat Ref="1" Pitch="38" Type="cradle recliner"/>
    <Seat Ref="2" Pitch="77" Type="full flat pod"/>
    <Food Ref="0" Exists="true" Cost="paid" Type="snack"/>
    <Food Ref="1" Exists="true" Cost="free" Type="light meal"/>
    <Food Ref="2" Exists="true" Cost="free" Type="premium meal"/>
    <Food Ref="3" Exists="false"/>
  </FlightAmenities>

GIR Response Format:

   <FlightAmenities>
    <Seat Id="1" Pitch="30" Type="standard legroom"/>
    <Seat Id="2" Pitch="29" Type="below average legroom"/>
    <Seat Id="3" Pitch="31" Type="standard legroom"/>
  </FlightAmenities>
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:

OTA Response Format:

<FareInfo>
<TPA_Extensions>
<Cabin Cabin="Y"/>
<FlightAmenities Subsegment="1" SeatRef="0" FoodRef="3"/>
<!-- more flight Amenities if there are hiddeen stops -->
</TPA_Extensions>
</FareInfo>

OTA Response Format:

<FareComponent Ref="7">
<Segment BookingCode="J" CabinCode="C" MealCode="R" SeatsAvailable="9" AvailabilityBreak="true">
<FlightAmenities SeatRef="2"/>
</Segment>
</FareComponent>
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:

OTA Response Format:

<FareInfo>
<TPA_Extensions>
<Cabin Cabin="Y"/>
<FlightAmenities Subsegment="1" SeatRef="0" FoodRef="3"/>
<!-- more flight Amenities if there are hiddeen stops -->
</TPA_Extensions>
</FareInfo>

OTA Response Format:

<FareComponent Ref="7">
<Segment BookingCode="J" CabinCode="C" MealCode="R" SeatsAvailable="9" AvailabilityBreak="true">
<FlightAmenities SeatRef="2"/>
</Segment>
</FareComponent>
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:

OTA Response Format:

<FareInfo>
<TPA_Extensions>
<Cabin Cabin="Y"/>
<FlightAmenities Subsegment="1" SeatRef="0" FoodRef="3"/>
<!-- more flight Amenities if there are hiddeen stops -->
</TPA_Extensions>
</FareInfo>

OTA Response Format:

<FareComponent Ref="7">
<Segment BookingCode="J" CabinCode="C" MealCode="R" SeatsAvailable="9" AvailabilityBreak="true">
<FlightAmenities SeatRef="2"/>
</Segment>
</FareComponent>
Note:

In the Response

Optional

Parameter: SeatSelectionList

Type: complexType

Description: Seat Selection Information List.

Sample Value:

OTA Response Format:  
<...>
   <SeatSelectionList>
     <SeatSelection Type="N">
      <Segment ID="0"/>
      <Segment ID="1"/>
     </SeatSelection>
    </SeatSelectionList>
  <...>
  </PricedItineraries>
</OTA_AirLowFareSearchRS>

GIR Response Format:

<SeatSelection Type="F">
<Segment ID="0"/>
<Segment ID="1"/>
</SeatSelection>
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:

OTA Response Format:  
<...>
   <SeatSelectionList>
     <SeatSelection Type="N">
      <Segment ID="0"/>
      <Segment ID="1"/>
     </SeatSelection>
    </SeatSelectionList>
  <...>
  </PricedItineraries>
</OTA_AirLowFareSearchRS>

GIR Response Format:

<SeatSelection Type="F">
<Segment ID="0"/>
<Segment ID="1"/>
</SeatSelection>
Note: FlexibleFares / MFPI seat information functionality. MinOccurs="1" maxOccurs="unbounded".

In the Response

Optional

Parameter: Type

Type: string

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

Sample Value:

OTA Response Format:  
<...>
   <SeatSelectionList>
     <SeatSelection Type="N">
      <Segment ID="0"/>
      <Segment ID="1"/>
     </SeatSelection>
    </SeatSelectionList>
  <...>
  </PricedItineraries>
</OTA_AirLowFareSearchRS>

GIR Response Format:

<SeatSelection Type="F">
<Segment ID="0"/>
<Segment ID="1"/>
</SeatSelection>
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:

OTA Response Format:  
<...>
   <SeatSelectionList>
     <SeatSelection Type="N">
      <Segment ID="0"/>
      <Segment ID="1"/>
     </SeatSelection>
    </SeatSelectionList>
  <...>
  </PricedItineraries>
</OTA_AirLowFareSearchRS>

GIR Response Format:

<SeatSelection Type="F">
<Segment ID="0"/>
<Segment ID="1"/>
</SeatSelection>
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</DepartureDateTime>
    <StopoverPoint LocationCode="AUH" LocationType="A"/>
    <Stay Nights="3"/>
  </Stopover>
</TPA_Extensions>
Note: OTA_AirLowFareSearchRQ/OriginDestinationInformation/TPA_Extensions/Stopover/DepartureDateTime

Relase note ID: 15801


  • 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 OTA and GIR Response have 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 the new ATPCO baggage processing, new ancillaryTypeCode value "C" will occur, along with new optional elements: "subgroup", "description1", "description2", "firstOccurrence", "lastOccurrence".
  • The Parameters FareAmount and FareCurrency at FareComponentDesc level have been changed to optional.
  • The Operating Carrier Code has been changed from required to optional.

API Information

Response Format
XML
Service Action Code
RevalidateItinRQ
Current Version
6.1.0
Target Audience
TN
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 OTA and GIR Response have 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 the 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 and ATPCO Offers.

Sample Value:

OTA Response format:

<PricedItinerary>
<AirItinerary DirectionInd="Return"/>
<OriginDestinationOptions>
<OriginDestinationOption ElapsedTime="290"/>
</OriginDestinationOptions>
</PricedItinerary>

GIR Response format:

<LegDesc ID="1" ElapsedTime="471">
<Schedule Ref="35"/>
<Schedule Ref="34"/>
</LegDesc>
Note: The elapsedTime at OriginDestinationOption in OTA Response format. The elapsedTime at legDescs level in GIR format. 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 and ATPCO Offers.

Sample Value:

OTA Response format:

<FlightSegment DepartureDateTime="2020-05-19T11:15:00"
ArrivalDateTime="2020-05-19T12:35:00" StopQuantity="0"
FlightNumber="2131" ResBookDesigCode="Q" ElapsedTime="80">
<DepartureAirport LocationCode="CBR"/>
<ArrivalAirport LocationCode="MEL"/>
<Equipment AirEquipType="DH4"/>
<MarketingAirline Code="QF"/>
<MarriageGrp>I</MarriageGrp>
<DepartureTimeZone GMTOffset="10"/>
<ArrivalTimeZone GMTOffset="10"/>
<TPA_Extensions>
<eTicket Ind="true"/>
</TPA_Extensions>
</FlightSegment>

GIR Response format:

<ScheduleDesc ID="35" DotRating="6" Frequency="SM*W*F*" Stops="0"
ETicketable="true" TotalMilesFlown="2401" ElapsedTime="321">
<Departure Airport="LAX" City="LAX" State="CA" Country="US"
Time="06:00:00-08:00" Terminal="0"/>
<Arrival Airport="PHL" City="QPH" State="PA" Country="US"
Time="14:21:00-05:00" Terminal="0"/>
<Carrier Marketing="AA" MarketingFlightNumber="814" Operating="AA"
OperatingFlightNumber="814" Alliances="OW ">
<Equipment Code="321" TypeForFirstLeg="N" TypeForLastLeg="N"/>
</Carrier>
</ScheduleDesc>
Note: The elapsedTime at FlightSegment in OTA Response format. The elapsedTime at the scheduleDescs level in GIR format. 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:

OTA Response format:

<AirItineraryPricingInfo FareReturned="true" PricingSource="ADVJR1" PricingSubSource="NDC_CONNECTOR">
<Offer MandatoryInd="true" OfferId="dg7d9d79cd96p8926k8jt45sc0-43" Source="NDC" TimeToLive="900"/>
</AirItineraryPricingInfo>

GIR Response format:

<PricingInformation PricingSubsource="NDC_CONNECTOR">
<Offer MandatoryInd="true" ServiceId="dg7d9d79cd96p8926k8q95jjb0-5-1-1"
OfferId="dg7d9d79cd96p8926k8q95jjb0-5" TimeToLive="900" Source="NDC"/>
</PricingInformation>
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:

OTA Response format:

<PTC_FareBreakdowns>
<PTC_FareBreakdown>
<OfferItem MandatoryInd="true"
OfferItemId="dg7d9d79cd96p8926k8jt45sc0-45-1"
ServiceId="dg7d9d79cd96p8926k8jt45sc0-45-1-1"/>
<PassengerTypeQuantity Code="ADT" Quantity="1"/>
</PTC_FareBreakdown>
</PTC_FareBreakdowns>

GIR Response format:

<PricingInformation PricingSubsource="NDC_CONNECTOR">
<Offer OfferId="dg7d9d79cd96p8926k8q95jjb0-5" TimeToLive="900" Source="NDC"/>
<Fare ValidatingCarrierCode="AA" ETicketable="true">
<PassengerInfo OfferItemId="dg7d9d79cd96p8926k8q95jjb0-5-1" MandatoryInd="true"
ServiceId="dg7d9d79cd96p8926k8q95jjb0-5-1-1" PassengerType="ADT" PassengerNumber="1">
</PassengerInfo>
</Fare>
</PricingInformation>
Note: Mandatory indicator at the Passenger Information level. Applicable for ATPCO and NDC content.

In the Response

Optional

Parameter: lastTicketTime

Type: string

Description: A new attribute added at the Fare level.

Sample Value:

OTA Response format:

<AirItineraryPricingInfo PricingSource="ADVJR1" PricingSubSource="MIP"
FareReturned="true" LastTicketDate="2020-02-15" LastTicketTime="10:28">
</AirItineraryPricingInfo>

GIR Response format:

<Itinerary ID="3" PricingSource="ADVJR1">
<PricingInformation PricingSubsource="MIP">
<Fare ValidatingCarrierCode="LO" VITA="true" ETicketable="true" LastTicketDate="2020-04-07" LastTicketTime="20:19" GoverningCarriers="LO">
</Fare>
</PricingInformation>
</Itinerary>
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:

OTA Response format:

<AncillaryFeeGroup Code="BG" Name="BAGGAGE">
<AncillaryFeeItem Amount="40.00" Description="PREPAID BAGGAGE 23KG" OriginAirport="SVO"
DestinationAirport="LHR" Carrier="SU" PassengerCode="ADT" Date="2020-03-20" StartSegment="1"
EndSegment="1" AncillaryTypeCode="C" Subcode="0C3" Description1="UP TO 50 POUNDS/23 KILOGRAMS"
FirstOccurrence="1" LastOccurrence="2"/><AncillaryFeeItem Amount="50.00"
Description="UPTO50LB 23KG AND80LI 203LCM" OriginAirport="SVO" DestinationAirport="LHR"
Carrier="SU" PassengerCode="ADT" Date="2020-03-20" StartSegment="1" EndSegment="1"
AncillaryTypeCode="C" Subcode="0GP" Description1="UP TO 50 POUNDS/23 KILOGRAMS"
Description2="UP TO 80 LINEAR INCHES/203 LINEAR CENTIMETERS"/>
</AncillaryFeeGroup>


GIR Response format:

<AncillaryFeeGroup>
<AncillaryFee Code="BG" Name="BAGGAGE">
<Details Code="ADT" Description="PREPAID BAGGAGE 23KG" Origin="SVO" Destination="LHR"
Carrier="SU" Amount="40.00" DepartureDate="2020-03-20" StartSegment="1" EndSegment="1"
AncillaryTypeCode="C" Subcode="0C3" Description1="UP TO 50 POUNDS/23 KILOGRAMS"
FirstOccurrence="1" LastOccurrence="2"/>
<Details Code="ADT" Description="UPTO50LB 23KG AND80LI 203LCM" Origin="SVO" Destination="LHR"
Carrier="SU" Amount="50.00" DepartureDate="2020-03-20" StartSegment="1" EndSegment="1"
AncillaryTypeCode="C" Subcode="0GP" Description1="UP TO 50 POUNDS/23 KILOGRAMS"
Description2="UP TO 80 LINEAR INCHES/203 LINEAR CENTIMETERS"/>
</AncillaryFee>
</AncillaryFeeGroup>
Note: For standard baggage, this attribute will never be returned. The sample value represents GIR Response format, the corresponding sample for OTA Response format is available below.

In the Response

Optional

Parameter: description1 description2

Type: string

Description: Ancillary Fee description lines from ATPCO filing.

Sample Value:

OTA Response format:

<AncillaryFeeGroup Code="BG" Name="BAGGAGE">
<AncillaryFeeItem Amount="40.00" Description="PREPAID BAGGAGE 23KG" OriginAirport="SVO"
DestinationAirport="LHR" Carrier="SU" PassengerCode="ADT" Date="2020-03-20" StartSegment="1"
EndSegment="1" AncillaryTypeCode="C" Subcode="0C3" Description1="UP TO 50 POUNDS/23 KILOGRAMS"
FirstOccurrence="1" LastOccurrence="2"/><AncillaryFeeItem Amount="50.00"
Description="UPTO50LB 23KG AND80LI 203LCM" OriginAirport="SVO" DestinationAirport="LHR"
Carrier="SU" PassengerCode="ADT" Date="2020-03-20" StartSegment="1" EndSegment="1"
AncillaryTypeCode="C" Subcode="0GP" Description1="UP TO 50 POUNDS/23 KILOGRAMS"
Description2="UP TO 80 LINEAR INCHES/203 LINEAR CENTIMETERS"/>
</AncillaryFeeGroup>


GIR Response format:

<AncillaryFeeGroup>
<AncillaryFee Code="BG" Name="BAGGAGE">
<Details Code="ADT" Description="PREPAID BAGGAGE 23KG" Origin="SVO" Destination="LHR"
Carrier="SU" Amount="40.00" DepartureDate="2020-03-20" StartSegment="1" EndSegment="1"
AncillaryTypeCode="C" Subcode="0C3" Description1="UP TO 50 POUNDS/23 KILOGRAMS"
FirstOccurrence="1" LastOccurrence="2"/>
<Details Code="ADT" Description="UPTO50LB 23KG AND80LI 203LCM" Origin="SVO" Destination="LHR"
Carrier="SU" Amount="50.00" DepartureDate="2020-03-20" StartSegment="1" EndSegment="1"
AncillaryTypeCode="C" Subcode="0GP" Description1="UP TO 50 POUNDS/23 KILOGRAMS"
Description2="UP TO 80 LINEAR INCHES/203 LINEAR CENTIMETERS"/>
</AncillaryFee>
</AncillaryFeeGroup>
Note: Returned only for new ATPCO processing of baggage charges. The sample value represents GIR Response format, the corresponding sample for OTA Response format is available below.

In the Response

Optional

Parameter: firstOccurrence

Type: string

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

Sample Value:

OTA Response format:

<AncillaryFeeGroup Code="BG" Name="BAGGAGE">
<AncillaryFeeItem Amount="40.00" Description="PREPAID BAGGAGE 23KG" OriginAirport="SVO"
DestinationAirport="LHR" Carrier="SU" PassengerCode="ADT" Date="2020-03-20" StartSegment="1"
EndSegment="1" AncillaryTypeCode="C" Subcode="0C3" Description1="UP TO 50 POUNDS/23 KILOGRAMS"
FirstOccurrence="1" LastOccurrence="2"/><AncillaryFeeItem Amount="50.00"
Description="UPTO50LB 23KG AND80LI 203LCM" OriginAirport="SVO" DestinationAirport="LHR"
Carrier="SU" PassengerCode="ADT" Date="2020-03-20" StartSegment="1" EndSegment="1"
AncillaryTypeCode="C" Subcode="0GP" Description1="UP TO 50 POUNDS/23 KILOGRAMS"
Description2="UP TO 80 LINEAR INCHES/203 LINEAR CENTIMETERS"/>
</AncillaryFeeGroup>


GIR Response format:

<AncillaryFeeGroup>
<AncillaryFee Code="BG" Name="BAGGAGE">
<Details Code="ADT" Description="PREPAID BAGGAGE 23KG" Origin="SVO" Destination="LHR"
Carrier="SU" Amount="40.00" DepartureDate="2020-03-20" StartSegment="1" EndSegment="1"
AncillaryTypeCode="C" Subcode="0C3" Description1="UP TO 50 POUNDS/23 KILOGRAMS"
FirstOccurrence="1" LastOccurrence="2"/>
<Details Code="ADT" Description="UPTO50LB 23KG AND80LI 203LCM" Origin="SVO" Destination="LHR"
Carrier="SU" Amount="50.00" DepartureDate="2020-03-20" StartSegment="1" EndSegment="1"
AncillaryTypeCode="C" Subcode="0GP" Description1="UP TO 50 POUNDS/23 KILOGRAMS"
Description2="UP TO 80 LINEAR INCHES/203 LINEAR CENTIMETERS"/>
</AncillaryFee>
</AncillaryFeeGroup>
Note: Returned only for new ATPCO processing of baggage charges. The sample value represents GIR Response format, the corresponding sample for OTA Response format is available below.

In the Response

Optional

Parameter: lastOccurrence

Type: string

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

Sample Value:

OTA Response format:

<AncillaryFeeGroup Code="BG" Name="BAGGAGE">
<AncillaryFeeItem Amount="40.00" Description="PREPAID BAGGAGE 23KG" OriginAirport="SVO"
DestinationAirport="LHR" Carrier="SU" PassengerCode="ADT" Date="2020-03-20" StartSegment="1"
EndSegment="1" AncillaryTypeCode="C" Subcode="0C3" Description1="UP TO 50 POUNDS/23 KILOGRAMS"
FirstOccurrence="1" LastOccurrence="2"/><AncillaryFeeItem Amount="50.00"
Description="UPTO50LB 23KG AND80LI 203LCM" OriginAirport="SVO" DestinationAirport="LHR"
Carrier="SU" PassengerCode="ADT" Date="2020-03-20" StartSegment="1" EndSegment="1"
AncillaryTypeCode="C" Subcode="0GP" Description1="UP TO 50 POUNDS/23 KILOGRAMS"
Description2="UP TO 80 LINEAR INCHES/203 LINEAR CENTIMETERS"/>
</AncillaryFeeGroup>


GIR Response format:

<AncillaryFeeGroup>
<AncillaryFee Code="BG" Name="BAGGAGE">
<Details Code="ADT" Description="PREPAID BAGGAGE 23KG" Origin="SVO" Destination="LHR"
Carrier="SU" Amount="40.00" DepartureDate="2020-03-20" StartSegment="1" EndSegment="1"
AncillaryTypeCode="C" Subcode="0C3" Description1="UP TO 50 POUNDS/23 KILOGRAMS"
FirstOccurrence="1" LastOccurrence="2"/>
<Details Code="ADT" Description="UPTO50LB 23KG AND80LI 203LCM" Origin="SVO" Destination="LHR"
Carrier="SU" Amount="50.00" DepartureDate="2020-03-20" StartSegment="1" EndSegment="1"
AncillaryTypeCode="C" Subcode="0GP" Description1="UP TO 50 POUNDS/23 KILOGRAMS"
Description2="UP TO 80 LINEAR INCHES/203 LINEAR CENTIMETERS"/>
</AncillaryFee>
</AncillaryFeeGroup>
Note: Returned only for new ATPCO processing of baggage charges. The sample value represents GIR Response format, the corresponding sample for OTA Response format is available below.

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:

<OriginDestinationInformation>
  <DepartureDateTime>2020-10-23T20:30:00</DepartureDateTime>
  <OriginLocation LocationCode="GRU"/>
  <DestinationLocation LocationCode="EZE"/>
  <Flight ArrivalDateTime="2020-10-23T23:35:00" ClassOfService="Y" DepartureDateTime="2020-10-23T20:30:00" Flown="false" Number="8014" Type="A">
       </Flight>
</OriginDestinationInformation>
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: fareAmount

Type: decimal

Description: An existing Fare Component parameter is now optional.

Sample Value:

<FareComponentDesc ID="17" GoverningCarrier="AA" FareAmount="67.72" FareCurrency="USD" FareBasisCode="OVAHZSB3/DRB" FarePassengerType="ADT" TicketDesignator="DRB" PublishedFareAmount="67.72" OneWayFare="true" PrivateFare="true" Directionality="FROM" Direction="WH" NotValidBefore="2020-12-25" NotValidAfter="2020-12-25" ApplicablePricingCategories="10 15 18 25" FareComponentReferenceID="1" VendorCode="ATP" FareTypeBitmap="0A" FareType="EOU" FareTariff="770" FareRule="XX26">
  <Segment/>
  <Segment/>
  <Brand Code="BASIC" BrandName="BASIC ECONOMY" ProgramID="164434" ProgramCode="AADOM" ProgramDescription="AABFDOM1S" ProgramSystemCode="A"/>
</FareComponentDesc>
Note: Changed from required to optional. The example presents GIR Response format.

In the Response

Optional

Parameter: fareCurrency

Type: CurrencyCode

Description: An existing Fare Component parameter is now optional.

Sample Value:

<FareComponentDesc ID="17" GoverningCarrier="AA" FareAmount="67.72" FareCurrency="USD" FareBasisCode="OVAHZSB3/DRB" FarePassengerType="ADT" TicketDesignator="DRB" PublishedFareAmount="67.72" OneWayFare="true" PrivateFare="true" Directionality="FROM" Direction="WH" NotValidBefore="2020-12-25" NotValidAfter="2020-12-25" ApplicablePricingCategories="10 15 18 25" FareComponentReferenceID="1" VendorCode="ATP" FareTypeBitmap="0A" FareType="EOU" FareTariff="770" FareRule="XX26">
  <Segment/>
  <Segment/>
  <Brand Code="BASIC" BrandName="BASIC ECONOMY" ProgramID="164434" ProgramCode="AADOM" ProgramDescription="AABFDOM1S" ProgramSystemCode="A"/>
</FareComponentDesc>
Note: Changed from required to optional. The example presents GIR Response format.

In the Response

Optional

Parameter: Operating

Type: CarrierCode

Description: Operating airline code.

Sample Value:

<ScheduleDesc ID="41" DotRating="5" Frequency="*M*W*F*" Stops="0" ETicketable="true" TotalMilesFlown="213" ElapsedTime="87">
  <Departure Airport="DCA" City="WAS" State="DC" Country="US" Time="19:35:00-05:00" Terminal="C"/>
  <Arrival Airport="JFK" City="NYC" State="NY" Country="US" Time="21:02:00-05:00" Terminal="8"/>
  <Carrier Marketing="AA" MarketingFlightNumber="4454" Operating="AA" OperatingFlightNumber="4454" CodeShared="REPUBLIC AIRWAYS AS AMERICAN EAGLE" Alliances="OW ">
    <Equipment Code="E75" TypeForFirstLeg="N" TypeForLastLeg="N"/>
  </Carrier>
</ScheduleDesc>
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.

Relase note ID: 15322


  • Revalidate Itinerary has been enhanced with the following new optional search parameters:
  • Shop by Fare Basis Code – project introduces enhancements to our Bargain Finder Max and Revalidate Itinerary API to support the capability for shopping to exclude a fare option based on Fare Basis Code.
  • Shop by – Class of Service – project introduces enhancements to our Bargain Finder Max and Revalidate Itinerary API to support the capability for shopping to exclude a fare option based on Class of Service (RBD).
  • Shop with parity mode – the project introduces enhancements to our Multiple Branded Fare shopping capabilities that allows to control the parity mode also for the lowest fare returned.
  • Enhanced Multi-Ticket – the new parameter allows to specify the requested number of One-Way solutions in Multi-Ticket processing.
  • Ancillary elements GAO - new Fare type descriptors in Bargain Finder Max. Exposure of new elements in the response to describe the fare type, the fare rule and fare tariff. The most relevant is return Fare type code descriptor in the response that indicates Basic Economy fares from the response.

API Information

Response Format
XML
Service Action Code
RevalidateItinRQ
Current Version
5.2.0
Target Audience
TN
Environment
Production

What's New

  • Revalidate Itinerary has been enhanced with the following new optional search parameters:
  • Shop by Fare Basis Code – project introduces enhancements to our Bargain Finder Max and Revalidate Itinerary API to support the capability for shopping to exclude a fare option based on Fare Basis Code.
  • Shop by – Class of Service – project introduces enhancements to our Bargain Finder Max and Revalidate Itinerary API to support the capability for shopping to exclude a fare option based on Class of Service (RBD).
  • Shop with parity mode – the project introduces enhancements to our Multiple Branded Fare shopping capabilities that allows to control the parity mode also for the lowest fare returned.
  • Enhanced Multi-Ticket – the new parameter allows to specify the requested number of One-Way solutions in Multi-Ticket processing.
  • Ancillary elements GAO - new Fare type descriptors in Bargain Finder Max. Exposure of new elements in the response to describe the fare type, the fare rule and fare tariff. The most relevant is return Fare type code descriptor in the response that indicates Basic Economy fares from the response.

Business Value

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

New Features

In the Request

Optional

Parameter: PreferLevel

Type: IncludeExcludePreferLevelType

Description: New parameter to support the capability for shopping to exclude a fare option based on Fare Basis Code. Allow to exclude for fares in shopping Main Fare and within MFPI (FlexFare group).

Sample Value:

<FlexibleFares>
  <FareParameters>
    <FareBasis Code="OVAJZNB3" PreferLevel="Preferred"/>
    <FareBasis Code="ZPLAXJFK" PreferLevel="Preferred"/>
    <FareBasis Code="IP7J3" PreferLevel="Unacceptable"/>
  </FareParameters>
</FlexibleFares>
Note: In the BargainFinderMax schema the PreferLevel was added in all 4 levels: Main fare, Main fare leg, Flex fare, Flex fare leg. This section covers Main fare level. Used to indicate a level of preference for an associate item: unacceptable or preferred. Default value is Preferred.

In the Request

Optional

Parameter: PreferLevel

Type: IncludeExcludePreferLevelType

Description: New parameter to support the capability for shopping to exclude a fare option based on Fare Basis Code. Allow to exclude for fares in shopping Main Fare and within MFPI (FlexFare group).

Sample Value:

 
Note: In the BargainFinderMax schema the PreferLevel was added in all 4 levels: Main fare, Main fare leg, Flex fare, Flex fare leg. This section covers Main fare leg level. Used to indicate a level of preference for an associate item: unacceptable or preferred. Default value is Preferred.

In the Request

Optional

Parameter: PreferLevel

Type: IncludeExcludePreferLevelType

Description: New parameter to support the capability for shopping to exclude a fare option based on Fare Basis Code. Allow to exclude for fares in shopping Main Fare and within MFPI (FlexFare group).

Sample Value:

<FlexibleFares>
  <FareParameters>
    <FareBasis Code="OVAJZNB3" PreferLevel="Preferred"/>
    <FareBasis Code="ZPLAXJFK" PreferLevel="Preferred"/>
    <FareBasis Code="IP7J3" PreferLevel="Unacceptable"/>
  </FareParameters>
</FlexibleFares>
Note: In the BargainFinderMax schema the PreferLevel was added in all 4 levels: Main fare, Main fare leg, Flex fare, Flex fare leg. This section covers Flex fare level. Used to indicate a level of preference for an associate item: unacceptable or preferred. Default value is Preferred.

In the Request

Optional

Parameter: PreferLevel

Type: IncludeExcludePreferLevelType

Description: New parameter to support the capability for shopping to exclude a fare option based on Fare Basis Code. Allow to exclude for fares in shopping Main Fare and within MFPI (FlexFare group).

Sample Value:

<FlexibleFares>
  <FareParameters>
    <Leg Num="1">
      <FareBasis Code="OVAJZNB3" PreferLevel="Preferred"/>
      <FareBasis Code="IP7J4" PreferLevel="Unacceptable"/>
    </Leg>
    <Leg Num="2">
      <FareBasis Code="IP7J5" PreferLevel="Unacceptable"/>
    </Leg>
  </FareParameters>
</FlexibleFares>
Note: In the BargainFinderMax schema the PreferLevel was added in all 4 levels: Main fare, Main fare leg, Flex fare, Flex fare leg. This section covers Flex fare leg level. Used to indicate a level of preference for an associate item: unacceptable or preferred. Default value is Preferred.

In the Request

Optional

Parameter: PreferLevel

Type: IncludeExcludePreferLevelType

Description: New parameter to support the capability for shopping to exclude a fare option based on Class of Service (RBD). Allow to exclude for fares in shopping Main Fare and within MFPI (FlexFare group).

Sample Value:

<TravelPreferences>
  <TPA_Extensions>
    <ClassOfService Code="J" PreferLevel="Unacceptable"/>
  </TPA_Extensions>
</TravelPreferences>
Note: In the BargainFinderMax schema the PreferLevel was added in all 4 levels: Main fare, Main fare leg, Flex fare, Flex fare leg. This section covers Main Fare. Used to indicate a level of preference for an associate item: unacceptable or preferred. Default value is Preferred.

In the Request

Optional

Parameter: PreferLevel

Type: IncludeExcludePreferLevelType

Description: New parameter to support the capability for shopping to exclude a fare option based on Class of Service (RBD). Allow to exclude for fares in shopping Main Fare and within MFPI (FlexFare group).

Sample Value:

<OriginDestinationInformation RPH="1">
  <DepartureDateTime>2019-10-27T00:00:00</DepartureDateTime>
  <OriginLocation LocationCode="LAX"/>
  <DestinationLocation LocationCode="JFK"/>
  <TPA_Extensions>
    <ClassOfService Code="J" PreferLevel="Unacceptable"/>
  </TPA_Extensions>
</OriginDestinationInformation>
Note: In the BargainFinderMax schema the PreferLevel was added in all 4 levels: Main fare, Main fare leg, Flex fare, Flex fare leg. This section covers Main fare leg level. Used to indicate a level of preference for an associate item: unacceptable or preferred. Default value is Preferred.

In the Request

Optional

Parameter: PreferLevel

Type: IncludeExcludePreferLevelType

Description: New parameter to support the capability for shopping to exclude a fare option based on Class of Service (RBD). Allow to exclude for fares in shopping Main Fare and within MFPI (FlexFare group).

Sample Value:

<FlexibleFares>
  <FareParameters>
    <ClassOfService Code="O" PreferLevel="Preferred"/>
    <ClassOfService Code="J" PreferLevel="Unacceptable"/>
  </FareParameters>
</FlexibleFares>
Note: In the BargainFinderMax schema the PreferLevel was added in all 4 levels: Main fare, Main fare leg, Flex fare, Flex fare leg. This section covers Flex fare level. Used to indicate a level of preference for an associate item: unacceptable or preferred. Default value is Preferred.

In the Request

Optional

Parameter: PreferLevel

Type: IncludeExcludePreferLevelType

Description: New parameter to support the capability for shopping to exclude a fare option based on Class of Service (RBD). Allow to exclude for fares in shopping Main Fare and within MFPI (FlexFare group).

Sample Value:

<FlexibleFares>
  <FareParameters>
    <Leg Num="1">
      <ClassOfService Code="J" PreferLevel="Unacceptable"/>
    </Leg>
  </FareParameters>
</FlexibleFares>
Note: In the BargainFinderMax schema the PreferLevel was added in all 4 levels: Main fare, Main fare leg, Flex fare, Flex fare leg. This section covers Flex fare leg level. Used to indicate a level of preference for an associate item: unacceptable or preferred. Default value is Preferred.

In the Request

Optional

Parameter: ParityModeForLowest

Type: string

Description: Parity mode for lowest branded fare. This parameter gives the ability to apply parity mode for the main/primary fare.

Sample Value:

<PriceRequestInformation>
  <TPA_Extensions>
    <BrandedFareIndicators SingleBrandedFare="false" ParityModeForLowest="Leg" MultipleBrandedFares="true"/>
  </TPA_Extensions>
</PriceRequestInformation>
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:

<TPA_Extensions>
  <MultiTicket DisplayPolicy="SOW" RequestedOneWays="30"/>
</TPA_Extensions>
Note: Allow to set requested number of OneWays in MultiTicket processing.

In the Request

Optional

Parameter: FareComponentFareType

Type: string

Description: New Fare type descriptors in BargainFinderMax. Provides exposure of new elements in the response to describe the fare type, the fare rule, fare tariff and fare bitmap. The most relevant is return Fare type code descriptor in the response that indicates Basic Economy fares from the response. Fare type (e.g. FIT, RU).

Sample Value:

<FareBasisCodes>
  <FareBasisCode PrivateFareType="@" BookingCode="B" AvailabilityBreak="true" DepartureAirportCode="LAX" ArrivalAirportCode="JFK" FareComponentBeginAirport="LAX" FareComponentEndAirport="JFK" FareComponentDirectionality="FROM" FareComponentVendorCode="ATP" FareComponentFareTypeBitmap="0A" FareComponentFareType="EOU" FareComponentFareTariff="770" FareComponentFareRule="XX26" GovCarrier="AA">OVAJZNB3/DRB</FareBasisCode>
</FareBasisCodes>
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 Request

Optional

Parameter: FareComponentFareTariff

Type: string

Description: New Fare type descriptors in BargainFinderMax. Provides exposure of new elements in the response to describe the fare type, the fare rule, fare tariff and fare bitmap. The most relevant is return Fare type code descriptor in the response that indicates Basic Economy fares from the response. Fare tariff (e.g. 21).

Sample Value:

<FareBasisCodes>
  <FareBasisCode PrivateFareType="@" BookingCode="B" AvailabilityBreak="true" DepartureAirportCode="LAX" ArrivalAirportCode="JFK" FareComponentBeginAirport="LAX" FareComponentEndAirport="JFK" FareComponentDirectionality="FROM" FareComponentVendorCode="ATP" FareComponentFareTypeBitmap="0A" FareComponentFareType="EOU" FareComponentFareTariff="770" FareComponentFareRule="XX26" GovCarrier="AA">OVAJZNB3/DRB</FareBasisCode>
</FareBasisCodes>
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 Request

Optional

Parameter: FareComponentFareRule

Type: string

Description: New Fare type descriptors in BargainFinderMax. Provides exposure of new elements in the response to describe the fare type, the fare rule, fare tariff and fare bitmap. The most relevant is return Fare type code descriptor in the response that indicates Basic Economy fares from the response. FareRule, part of the fare pricing (e.g. 62DD, K0ST), expected if carrier uses them also in ancillaries’ records.

Sample Value:

<FareBasisCodes>
  <FareBasisCode PrivateFareType="@" BookingCode="B" AvailabilityBreak="true" DepartureAirportCode="LAX" ArrivalAirportCode="JFK" FareComponentBeginAirport="LAX" FareComponentEndAirport="JFK" FareComponentDirectionality="FROM" FareComponentVendorCode="ATP" FareComponentFareTypeBitmap="0A" FareComponentFareType="EOU" FareComponentFareTariff="770" FareComponentFareRule="XX26" GovCarrier="AA">OVAJZNB3/DRB</FareBasisCode>
</FareBasisCodes>
Note: Elements "FareType", "ATPCO_FareTariff", "ATPCO_FareRule", "FareIndicator", "PrivateTariffIndicator", and "FareTypeBitmap" are rare. They are part of fare pricing. They should be sent if the carrier uses them also in ancillaries’ records (for example, if a carrier uses private/public fare indicator in the S7 rules).

Relase note ID: 12845