Skip Navigation

Get Structured Fare Rules

v3.0.0
Air
Pricing
SOAP API
Travel Agency
Airline Carrier
  • Enhanced Fare Rules Retrieval: To meet customer needs, StructureFareRulesRQ (Get Structured Fare Rules) API now offers an expanded capability to request all granular fare rules by timeframe. This enhancement goes beyond the default “MaxPenalty” to ensure accuracy in penalty amounts, when multi-currency penalty is filed.
  • Return Penalty Breakdown: Customers may now set element ReturnPenaltyBreakdown Ind="true" and request additional comprehensive penalty information and all penalty restrictions. This feature provides precise accurate penalty information per CAT33/CAT31 or CAT16 instruction, including restrictions’ date ranges (in hours, minutes, days or months according to carrier filings).
  • Combinable Functionalities: The new capability is combinable with such functionalities as: o E-ticket o Requesting Fare Rules per fare components o Requesting YQ/YR refundability information o Requesting No-Show penalties information
  • Advanced Reservation Information: With this new enhancement, customers will receive additional information if any special rules or requirements are relevant when changing or refunding reservations in advance.

API Information

Format
XML
Current Version
3.0.0
Environment
Production

What's New

  • Enhanced Fare Rules Retrieval: To meet customer needs, StructureFareRulesRQ (Get Structured Fare Rules) API now offers an expanded capability to request all granular fare rules by timeframe. This enhancement goes beyond the default “MaxPenalty” to ensure accuracy in penalty amounts, when multi-currency penalty is filed.
  • Return Penalty Breakdown: Customers may now set element ReturnPenaltyBreakdown Ind="true" and request additional comprehensive penalty information and all penalty restrictions. This feature provides precise accurate penalty information per CAT33/CAT31 or CAT16 instruction, including restrictions’ date ranges (in hours, minutes, days or months according to carrier filings).
  • Combinable Functionalities: The new capability is combinable with such functionalities as: o E-ticket o Requesting Fare Rules per fare components o Requesting YQ/YR refundability information o Requesting No-Show penalties information
  • Advanced Reservation Information: With this new enhancement, customers will receive additional information if any special rules or requirements are relevant when changing or refunding reservations in advance.

Business Value

  • Efficiency for Travel Agents: This new capability enables travel agents to quickly and effortlessly obtain accurate and essential penalty amounts information.
  • Adaptation to Complex Filings: Nowadays, airlines are filing fare rules in increasingly complex ways, using different conditions and timelines. This enhancement allows agencies to navigate this complexity and retrieve all possible penalty restrictions, accurate penalty amounts, and reduce complex, manual processing.

New Features

In the Request

Optional

Parameter: <ReturnPenaltyBreakdown Ind="true"/>

Type: boolean

Description: StructureFareRulesRQ (Get Structured Fare Rules) API will return requested date/time ranges based on scheduled flights restrictions from CAT31 (e.g. "change is no later than 1 day before original scheduled flight"). What is more, SFR will return all possible penalties filed by carrier from lowest to highest amount fare component level. For "MaxPenalty" SFR will return maximum penalty information for each timeframe on a journey level.

Sample Value:

RQ:
<StructureFareRulesRQ xmlns="http://webservices.sabre.com/sabreXML/2003/07" Version="3.0.0">
    <ETickets>
        <ETicket Number="2207990384189">
        <Account Code="RRLHFN"/>
        <ReturnFareComponentPenalties Ind="true"/>
        <ReturnPenaltyBreakdown Ind="true"/>
         </ETicket>
    </ETickets>
</StructureFareRulesRQ>
RS:
<StructureFareRulesRS xmlns="http://webservices.sabre.com/sabreXML/2003/07" Version="3.0.0">
    <ETickets>
        <ETicket Number="2207990384189">
            <Summary>
            ...
                <PassengerDetails>
                    ...
                        <PenaltiesInfo>
                            <Penalty Type="Exchange" Applicability="Before" Changeable="true" Amount="150.00" CurrencyCode="USD"/>
                            <PenaltyBreakdown>
                                <Penalty Type="Exchange" Applicability="Before" Changeable="true" Amount="100.00" CurrencyCode="USD" From="10" UnitTo="Days" AdvanceReservationConditionsApply="true"/>
                            </PenaltyBreakdown>
                            <Penalty Type="Exchange" Applicability="After" Changeable="true" Amount="150.00" CurrencyCode="USD"/>
                            <PenaltyBreakdown>
                                <Penalty Type="Exchange" Applicability="After" Changeable="true" Amount="150.00" ... From="1" UnitFrom="Days" AdvanceReservationConditionsApply="true"/>
                            </PenaltyBreakdown>
                            <Penalty Type="Refund" Applicability="Before" Refundable="true" Amount="150.00" .../>
                            <PenaltyBreakdown>
                                <Penalty Type="Refund" Applicability="Before" Refundable="true" Amount="150.00" ... >
                            </PenaltyBreakdown>
                            <Penalty Type="Refund" Applicability="After" ... Refundable="true" Amount="300.00" CurrencyCode="USD"/>
                            <PenaltyBreakdown>
                                <Penalty Type="Refund" Applicability="After" ... Refundable="true" Amount="300.00" CurrencyCode="USD" From="2" UnitFrom="Hours"/>
                            </PenaltyBreakdown>
                            <NoShowPenalty Type="Exchange" Applicability="Before" Changeable="false"/>
                            <NoShowPenalty Type="Exchange" Applicability="After" Changeable="false"/>
                            <NoShowPenalty Type="Refund" Applicability="Before" Refundable="true" Amount="200.00" ... />
                            <NoShowPenaltyBreakdown>
                                <NoShowPenalty Type="Refund" Applicability="Before" Refundable="true" Amount="200.00" ... From="1" UnitFrom="Days" To="90" UnitTo="Minutes"/>
                            </NoShowPenaltyBreakdown>
                            <NoShowPenalty Type="Refund" Applicability="After" Refundable="false"/>
                            <Taxes>
                             ...
                            </Taxes>
                        </PenaltiesInfo>
                        <FareComponentDataList>
                           ...
                                <PenaltiesInfo>
                                    <PenaltyBreakdown>
                                        <Penalty Type="Exchange" Applicability="Before" Changeable="true" Amount="100.00" ... From="10" UnitTo="Days" AdvanceReservationConditionsApply="true"/>
                                        <Penalty Type="Exchange" Applicability="Before" Changeable="true" Amount="150.00" ... From="5" UnitTo="Days" AdvanceReservationConditionsApply="true"/>
                                    </PenaltyBreakdown>
                                   ....
                                    <PenaltyBreakdown>
                                        <Penalty Type="Refund" Applicability="Before" Refundable="true" ... />
                                    </PenaltyBreakdown>
                                    <PenaltyBreakdown>
                                        <Penalty Type="Refund" Applicability="After" ConditionsApply="true" Refundable="true" Amount="150.00" ... From="2" UnitFrom="Hours"/>
                                    </PenaltyBreakdown>
                                    <NoShowPenaltyBreakdown>
                                        <NoShowPenalty Type="Exchange" Applicability="Before" Changeable="false"/>
                                    </NoShowPenaltyBreakdown>
                                    <NoShowPenaltyBreakdown>
                                        <NoShowPenalty Type="Exchange" Applicability="After" Changeable="false"/>
                                    </NoShowPenaltyBreakdown>
                                    <NoShowPenaltyBreakdown>
                                        <NoShowPenalty Type="Refund" Applicability="Before" Refundable="true" Amount="200.00" ... From="1" UnitFrom="Days" To="90" UnitTo="Minutes"/>
                                    </NoShowPenaltyBreakdown>
                                      ...
                                </PenaltiesInfo>
                            </FareComponentData>
                           ...
                           ...
                        </FareComponentDataList>
                        <PricingUnitDataList>
                         ...
                        </PricingUnitDataList>
                      ...
        </ETicket>
    </ETickets>
</StructureFareRulesRS>
Note:

In the Request

Optional

Parameter: <ReturnPenaltyBreakdown Ind="true"/>

Type: boolean

Description: StructureFareRulesRQ (Get Structured Fare Rules) API will return only date/time ranges at Fare Component level and not "Max Penalty" information.

Sample Value:

RS:
<FareComponentData FareComponentNumber="1" PricingUnitNumber="1">
    <PenaltiesInfo>
        <PenaltyBreakdown>
            <Penalty Type="Exchange" Applicability="Before" Changeable="true" Amount="25.00" CurrencyCode="USD" From="1" UnitFrom="Months" AdvanceReservationConditionsApply="true"/>
            <Penalty Type="Exchange" Applicability="Before" Changeable="true" Amount="50.00" CurrencyCode="USD" To="11" UnitTo="Days" AdvanceReservationConditionsApply="true"/>
            <Penalty Type="Exchange" Applicability="Before" Changeable="true" Amount="100.00" CurrencyCode="USD" From="35" UnitTo="Hours"/>
        </PenaltyBreakdown>
        <PenaltyBreakdown>
            <Penalty Type="Exchange" Applicability="After" Changeable="false"/>
        </PenaltyBreakdown>
        <PenaltyBreakdown>
            <Penalty Type="Refund" Applicability="Before" Refundable="true" Amount="0.00" CurrencyCode="USD" Cat16Info="true"/>
        </PenaltyBreakdown>
        <PenaltyBreakdown>
            <Penalty Type="Refund" Applicability="After" Refundable="true" Amount="0.00" CurrencyCode="USD" Cat16Info="true"/>
        </PenaltyBreakdown>
        <NoShowPenaltyBreakdown>
            <NoShowPenalty Type="Exchange" Applicability="Before" Changeable="false"/>
        </NoShowPenaltyBreakdown>
        <NoShowPenaltyBreakdown>
            <NoShowPenalty Type="Exchange" Applicability="After" Changeable="true" Amount="50.00" CurrencyCode="USD" From="0" UnitFrom="Days" To="855" UnitTo="Minutes"/>
            <NoShowPenalty Type="Exchange" Applicability="After" Changeable="true" Amount="200.00" CurrencyCode="USD" From="1" UnitFrom="Minutes" To="5" UnitTo="Days"/>
        </NoShowPenaltyBreakdown>
        <NoShowPenaltyBreakdown>
            <NoShowPenalty Type="Refund" Applicability="Before" Refundable="true" Amount="0.00" CurrencyCode="USD" Cat16Info="true"/>
        </NoShowPenaltyBreakdown>
        <NoShowPenaltyBreakdown>
            <NoShowPenalty Type="Refund" Applicability="After" Refundable="true" Amount="0.00" CurrencyCode="USD" Cat16Info="true"/>
        </NoShowPenaltyBreakdown>
    </PenaltiesInfo>
    <AdvancedPurchaseData LastDateTimeToPurchase="2025-01-17T23:59:00"/>
    <MaximumStayData LastCommencementDateTime="2025-01-17T23:59:00" RestrictedLocation="FRA"/>
</FareComponentData>
Note:

In the Response

Optional

Parameter: <AdvanceReservationConditionsApply="true">

Type: boolean

Description: StructureFareRulesRQ (Get Structured Fare Rules) API will return information for a given date/time range, if any special rules or requirements (from voluntary changes CAT31) are relevant, when changing/refunding reservations in advance.

Sample Value:

31.VOLUNTARY CHANGES                                    
   IN THE EVENT OF CHANGES TO TICKETED FLIGHTS          
   FOR ADULT PSGR                                        
   BEFORE DEPARTURE OF JOURNEY AND WITHIN TICKET VALIDITY
   - FOR CHANGES MADE AT LEAST 10 DAYS BEFORE DEPARTURE  
   OF JOURNEY MEASURED FROM REISSUE TKT DATE            
   CERTAIN DOMESTIC REISSUE PROVISIONS MAY BE OVERRIDDEN
   BY THOSE OF LH INTERNATIONAL FARES                    
   CHARGE USD 50.00 OR HIGHEST FEE OF ALL CHANGED FARE  
   COMPONENTS AND                                        

RS part from Max Penalty on Journey Level:
<PenaltiesInfo>
                            <Penalty Type="Exchange" Applicability="Before" Changeable="true" Amount="125.00" CurrencyCode="USD"/>
                            <PenaltyBreakdown>
                                <Penalty Type="Exchange" Applicability="Before" Changeable="true" Amount="100.00" CurrencyCode="USD" To="11" UnitTo="Days" AdvanceReservationConditionsApply="true"/>
                                <Penalty Type="Exchange" Applicability="Before" Changeable="true" Amount="125.00" CurrencyCode="USD" From="1" UnitFrom="Months" AdvanceReservationConditionsApply="true"/>
                            </PenaltyBreakdown>
Note:

  • To meet customer needs, some minor updates have been made to make the Get Structure Fare Rules API more user-friendly. As a result, the Segment Type element is no longer mandatory in the SFR schema.

API Information

Format
XML
Current Version
2.0.1
Environment
Production

What's New

  • To meet customer needs, some minor updates have been made to make the Get Structure Fare Rules API more user-friendly. As a result, the Segment Type element is no longer mandatory in the SFR schema.

Business Value

  • Increased​ bottom-line revenue​ through prioritizing the most valuable content.
  • Flexibility​ to rapidly respond to changing market factors without impacting development teams.
  • Maximized conversion and revenue, with control​s to fares and the display of high performing offers.

New Features

In the Request

Optional

Parameter: Segment Type

Type: AlphaNumCharType

Description: Segment Type allows to add information regarding the type of segment. Hence, e.g. A-> air segment or K-> arunk segment (but should be introduced to SFR RQ only, when included into fare component.). When you have similar fare calculation: SEL OZ CAN327.04/-CSX OZ SEL273.80 it means that you should not add arunk into the SFR payload. Please see the following payload example.

Sample Value:

1 OZ 369M 10MAR S ICNCAN                                    
2   ARNK                                          
3 OZ 322M 25MAR M CSXICN
RQ:
<StructureFareRulesRQ xmlns="http://webservices.sabre.com/sabreXML/2003/07" Version="2.0.1">
  <PriceRequestInformation>
    <PassengerTypes>
      <PassengerType Code="ADT" Count="1"/>
    </PassengerTypes>
    <PrivateFare Ind="false"/>
  </PriceRequestInformation>
  <AirItinerary>
    <OriginDestinationOptions>
      <OriginDestinationOption>
        <FlightSegment SegmentNumber="1" SegmentType="A" FlightNumber="369" DepartureDate="2024-03-10T08:30:00" ArrivalDate="2023-03-10
           ...
       <FlightSegment SegmentNumber="3" SegmentType="A" FlightNumber="322"  DepartureDate="2024-03-25T01:00:00" ArrivalDate="2024-03-25T0

     </OriginDestinationOption>
    </OriginDestinationOptions>
  </AirItinerary>
</StructureFareRulesRQ>
RS:
<StructureFareRulesRS xmlns="http://webservices.sabre.com/sabreXML/2003/07" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" Version="2.0.1">
    <Success/>
    <Summary>
        ...
        <PassengerDetails>
          ...
                <PenaltiesInfo>
                    <Penalty Type="Exchange" Applicability="Before" Changeable="true" Amount="30.00" CurrencyCode="USD">
                        <NoShowPenalty Changeable="false"/>
                    </Penalty>
                    <Penalty Type="Exchange" Applicability="After" Changeable="true" Amount="30.00" CurrencyCode="USD">
                        <NoShowPenalty Changeable="false"/>
                    </Penalty>
                    <Penalty Type="Refund" Applicability="Before" Refundable="true" Amount="67.00" CurrencyCode="USD">
                        <NoShowPenalty Refundable="true" Amount="67.00" CurrencyCode="USD"/>
                    </Penalty>
                    <Penalty Type="Refund" Applicability="After" Refundable="true" Amount="37.00" CurrencyCode="USD">
                        <NoShowPenalty Refundable="false"/>
                    </Penalty>
                    <Taxes>
  ...
                    </Taxes>
                </PenaltiesInfo>
              FareComponentData FareComponentNumber="1" PricingUnitNumber="1">
                        <PenaltiesInfo>
                            <Penalty Type="Exchange" Applicability="Before" Changeable="true" Amount="30.00" CurrencyCode="USD">
                                <NoShowPenalty Changeable="false"/>
                            </Penalty>
                            <Penalty Type="Exchange" Applicability="After" Changeable="true" Amount="30.00" CurrencyCode="USD">
                                <NoShowPenalty Changeable="false"/>
                            </Penalty>
                            <Penalty Type="Refund" Applicability="Before" Refundable="true" Amount="67.00" CurrencyCode="USD">
                                <NoShowPenalty Refundable="true" Amount="67.00" CurrencyCode="USD"/>
                            </Penalty>
                            <Penalty Type="Refund" Applicability="After" Refundable="true" Amount="37.00" CurrencyCode="USD">
                                <NoShowPenalty Refundable="false"/>
                            </Penalty>
                        </PenaltiesInfo>
                </FareComponentData>
                </FareComponentDataList>
                <PricingUnitDataList>
                  ...
                </PricingUnitDataList>
            </PassengerDetail>
        </PassengerDetails>
    </Summary>
</StructureFareRulesRS>
Note:

  • The Get Structured Fare Rules API introduces the capability to request fare rules by adding an e-ticket number. Previously, to be able to request fare rules, a full range of information needed to be provided, including flight details, fares, fare components, and passenger information. You can now provide up to nine (9) different e-ticket numbers for nine (9) different passengers. The chosen group of e-tickets should come from the same PCC.
  • Along with any e-ticket number, it is also possible to include select allowed elements in the PriceRequestInformation section.
  • This new capability is applicable for agency only, for e-tickets stored in the Sabre database, as well as those not present in the Sabre database and are issued in different GDS.

API Information

Format
XML
Current Version
2.0.0
Environment
Production

What's New

  • The Get Structured Fare Rules API introduces the capability to request fare rules by adding an e-ticket number. Previously, to be able to request fare rules, a full range of information needed to be provided, including flight details, fares, fare components, and passenger information. You can now provide up to nine (9) different e-ticket numbers for nine (9) different passengers. The chosen group of e-tickets should come from the same PCC.
  • Along with any e-ticket number, it is also possible to include select allowed elements in the PriceRequestInformation section.
  • This new capability is applicable for agency only, for e-tickets stored in the Sabre database, as well as those not present in the Sabre database and are issued in different GDS.

Business Value

  • The service has been enhanced with the capability to request fare rules by adding up to 9 e-ticket numbers to the request (without the need to specify any other details) and to optimize customer processes/reduce the number of transactions made.
  • The PriceRequestInformation section can be added to any e-ticket number to define certain criteria and either narrow or broaden fare rule information received in the SFR response.
  • This new capability is designed to increase the adoption of the service and reduce development time for its integration. The update covers both Sabre and non-Sabre database e-tickets, which helps manage workflows while reducing development costs and servicing efforts.

New Features

In the Request

Optional

Parameter: eTicketNumber

Type: string

Description: The Get Structured Fare Rules API introduces the capability to request fare rules by adding up to 9 different e-ticket numbers. Each e-ticket number must be unique.

Sample Value:

<StructureFareRulesRQ xmlns="http://webservices.sabre.com/sabreXML/2003/07" Version="2.0.0">
    <ETickets>
        <ETicket Number="2209151924251">
        </ETicket>
        <ETicket Number="0579151924252">
        </ETicket>
        <ETicket Number="1259151924254">
        </ETicket>
        <ETicket Number="2209151924257">
        </ETicket>
        <ETicket Number="1259151924258">
        </ETicket>
        <ETicket Number="0559151924259">
        </ETicket>
        <ETicket Number="2209151924260">
        </ETicket>
        <ETicket Number="7249151924261">
        </ETicket>
        <ETicket Number="0749151924262">
        </ETicket>
    </ETickets>
</StructureFareRulesRQ>
Note:

In the Request

Optional

Parameter: eTicketNumber

Type: string

Description: Along with any e-ticket number, it is also possible to include select allowed elements in the PriceRequestInformation section.

Sample Value:

<StructureFareRulesRQ xmlns="http://webservices.sabre.com/sabreXML/2003/07" Version="2.0.0">
    <ETickets>
        <ETicket Number="2209151924251">
        <ReturnFareComponentPenalties Ind="true"/>
        </ETicket>
        <ETicket Number="0579151924252">
        <PrivateFare Ind="true"/>
        <ReturnFareComponentPenalties Ind="true"/>
        </ETicket>
        <ETicket Number="1259151924254">
        <Corporate ID="HPK01"/>
        <ReturnFareComponentPenalties Ind="true"/>
        </ETicket>
        <ETicket Number="2209151924257">
        <ReturnFareComponentPenalties Ind="true"/>
        </ETicket>
        <ETicket Number="1259151924258">
        <PublicFare Ind="true"/>
        <ReturnFareComponentPenalties Ind="true"/>
        </ETicket>
        <ETicket Number="0559151924259">
        <ReturnFareComponentPenalties Ind="true"/>
        </ETicket>
        <ETicket Number="2209151924260">
        <ReturnFareComponentPenalties Ind="true"/>
        </ETicket>
        <ETicket Number="7249151924261">
        <ReturnFareComponentPenalties Ind="true"/>
        </ETicket>
        <ETicket Number="0749151924262">
        <Corporate ID="HPK01"/>
        <ReturnFareComponentPenalties Ind="true"/>
        </ETicket>
    </ETickets>
</StructureFareRulesRQ>
Note:

In the Response

Optional

Parameter: eTicketNumber

Type: string

Description: For each e-ticket mentioned in the request, the "Success", "Summary", and optional "Warnings" elements will be wrapped with an e-ticket element for each e-ticket number specified by the client. The corresponding e-ticket number element in the response will distinguish each Fare Rules "Summary".

Sample Value:

<StructureFareRulesRS xmlns="http://webservices.sabre.com/sabreXML/2003/07" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" Version="2.0.0">
    <ETickets>
        <ETicket Number="2209151924251">
            <Success/>
            <Summary>
                ...
                <PassengerDetails>
                    ...
                        <PenaltiesInfo>
                            ...
                        </PenaltiesInfo>
                        <FareComponentDataList>
                            ...
                        </FareComponentDataList>
                            ...
                </PassengerDetails>
            </Summary>
        </ETicket>
        <ETicket Number="0579151924252">
             <Success/>
            <Summary>
                ...
                <PassengerDetails>
                    ...
                        <PenaltiesInfo>
                            ...
                        </PenaltiesInfo>
                        <FareComponentDataList>
                            ...
                        </FareComponentDataList>
                            ...
                </PassengerDetails>
            </Summary>
        </ETicket>
        <ETicket Number="1259151924254">
             <Success/>
            <Summary>
                ...
                <PassengerDetails>
                    ...
                        <PenaltiesInfo>
                            ...
                        </PenaltiesInfo>
                        <FareComponentDataList>
                            ...
                        </FareComponentDataList>
                            ...
                </PassengerDetails>
            </Summary>
        </ETicket>
        <ETicket Number="2209151924257">
            <Success/>
            <Summary>
                ...
                <PassengerDetails>
                    ...
                        <PenaltiesInfo>
                            ...
                        </PenaltiesInfo>
                        <FareComponentDataList>
                            ...
                        </FareComponentDataList>
                            ...
                </PassengerDetails>
            </Summary>
        </ETicket>
        <ETicket Number="1259151924258">
            <Success/>
            <Summary>
                ...
                <PassengerDetails>
                    ...
                        <PenaltiesInfo>
                            ...
                        </PenaltiesInfo>
                        <FareComponentDataList>
                            ...
                        </FareComponentDataList>
                            ...
                </PassengerDetails>
            </Summary>
        </ETicket>
        <ETicket Number="0559151924259">
             <Success/>
            <Summary>
                ...
                <PassengerDetails>
                    ...
                        <PenaltiesInfo>
                            ...
                        </PenaltiesInfo>
                        <FareComponentDataList>
                            ...
                        </FareComponentDataList>
                            ...
                </PassengerDetails>
            </Summary>
        </ETicket>
        <ETicket Number="2209151924260">
             <Success/>
            <Summary>
                ...
                <PassengerDetails>
                    ...
                        <PenaltiesInfo>
                            ...
                        </PenaltiesInfo>
                        <FareComponentDataList>
                            ...
                        </FareComponentDataList>
                            ...
                </PassengerDetails>
            </Summary>
        </ETicket>
        <ETicket Number="7249151924261">
            <Success/>
            <Summary>
                ...
                <PassengerDetails>
                    ...
                        <PenaltiesInfo>
                            ...
                        </PenaltiesInfo>
                        <FareComponentDataList>
                            ...
                        </FareComponentDataList>
                            ...
                </PassengerDetails>
            </Summary>
        </ETicket>
        <ETicket Number="0749151924262">
             <Success/>
            <Summary>
                ...
                <PassengerDetails>
                    ...
                        <PenaltiesInfo>
                            ...
                        </PenaltiesInfo>
                        <FareComponentDataList>
                            ...
                        </FareComponentDataList>
                            ...
                </PassengerDetails>
            </Summary>
        </ETicket>
    </ETickets>
</StructureFareRulesRS>
Note:

  • The Get Structured Fare Rules API introduces the capability to request fare rules by adding an e-ticket number. Previously, to be able to request fare rules, a full range of information needed to be provided, including flight details, fares, fare components, and passenger information.
  • Along with an e-ticket number, it is also possible to include select allowed elements in the PriceRequestInformation section.
  • The new capability is applicable to e-tickets stored in the Sabre database as well as those not present in this database. One e-ticket number per request is allowed.

API Information

Format
XML
Current Version
1.2.0
Environment
Production

What's New

  • The Get Structured Fare Rules API introduces the capability to request fare rules by adding an e-ticket number. Previously, to be able to request fare rules, a full range of information needed to be provided, including flight details, fares, fare components, and passenger information.
  • Along with an e-ticket number, it is also possible to include select allowed elements in the PriceRequestInformation section.
  • The new capability is applicable to e-tickets stored in the Sabre database as well as those not present in this database. One e-ticket number per request is allowed.

Business Value

  • The service has been enhanced with the capability to request fare rules by adding an e-ticket number to the request, without the need to specify any other details.
  • The PriceRequestInformation section can be added to an e-ticket number to define certain criteria and narrow or broaden fare rules information received in the SFR response.
  • This new capability is designed to increase adoption of the service and reduce development time for its integration. The update covers both Sabre and non-Sabre database e-tickets, which helps manage workflows while reducing development costs and servicing efforts.

New Features

In the Request

Optional

Parameter: eTicketNumber

Type: string

Description: The Get Structured Fare Rules API introduces the capability to request fare rules by adding an e-ticket number. Previously, to be able to request fare rules, a full range of information needed to be provided, including flight details, fares, fare components, and passenger information.

Sample Value:

RQ:
<StructureFareRulesRQ xmlns="http://webservices.sabre.com/sabreXML/2003/07"Version="1.2.0">
  <ETickets>
    <ETicket Number="2201616231614"/>
  </ETickets>
</StructureFareRulesRQ>
Note: <ETicket Number="2201616231614"/>

In the Request

Optional

Parameter: eTicketNumber

Type: string

Description: Along with an e-ticket number, it is also possible to include select allowed elements in the PriceRequestInformation section.

Sample Value:

RQ:
<StructureFareRulesRQ xmlns="http://webservices.sabre.com/sabreXML/2003/07"Version="1.2.0">
  <PriceRequestInformation>
    <PassengerTypes>
      <PassengerType Code="ADT" Count="1"/>
    </PassengerTypes>
    <PrivateFare Ind="false"/>
    <ReturnFareComponentPenalties Ind="true"/>
  </PriceRequestInformation>
  <ETickets>
    <ETicket Number="2201616231614"/>
  </ETickets>
</StructureFareRulesRQ>
Note: <ETicket Number="2201616231614"/>

  • Penalties per Fare Component - new capability to request and return penalties information per Fare Component in addition to penalties information for Journey Level.
  • No-Show penalty - new capability of returning No-Show penalty information.
  • Taxes Before and After Departure – new feature of returning refundability information of YQ and YR tax types under TAX element.
  • Update of Index on Journey Level – enhancement to match index of FareComponentID number in Journey Level and FareComponentNumber in FareComponentData.

API Information

Format
XML
Current Version
1.1.0
Environment
Production

What's New

  • Penalties per Fare Component - new capability to request and return penalties information per Fare Component in addition to penalties information for Journey Level.
  • No-Show penalty - new capability of returning No-Show penalty information.
  • Taxes Before and After Departure – new feature of returning refundability information of YQ and YR tax types under TAX element.
  • Update of Index on Journey Level – enhancement to match index of FareComponentID number in Journey Level and FareComponentNumber in FareComponentData.

Business Value

  • To provide flexibility and maximize productivity for customers, Sabre introduces new enhancements to the service, such as – capabilities of presenting Penalties per Fare Component, No-Show Penalties and Refundability Tax Information for tax types YQ and YR.

New Features

In the Request

Optional

Parameter: ReturnFareComponentPenalties

Type: boolean

Description: When used return Penalties also on Fare Component level.

Sample Value:

RQ:
<StructureFareRulesRQ xmlns="http://webservices.sabre.com/sabreXML/2003/07" Version="1.1.0">
  <PriceRequestInformation>
    <PassengerTypes>
      <PassengerType Code="ADT" Count="1"/>
    </PassengerTypes>
    <PrivateFare Ind="false"/>
    <ReturnFareComponentPenalties Ind="true"/>
  </PriceRequestInformation>
  <AirItinerary>
    <OriginDestinationOptions>
      <OriginDestinationOption>
            ...
      </OriginDestinationOption>
    </OriginDestinationOptions>
  </AirItinerary>
</StructureFareRulesRQ>

RS:
<StructureFareRulesRS xmlns="http://webservices.sabre.com/sabreXML/2003/07" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" Version="1.1.0">
    <Success/>
    <Summary>
        ...
        <PassengerDetails>
          ...
                <PenaltiesInfo>
               ...
                </PenaltiesInfo>
                <FareComponentDataList>
                    <FareComponentData FareComponentNumber="1" PricingUnitNumber="1">
                        <PenaltiesInfo>
                            <Penalty Type="Exchange" Applicability="Before" ConditionsApply="true" Changeable="true">
                                <NoShowPenalty Changeable="false"/>
                            </Penalty>
                            <Penalty Type="Exchange" Applicability="After" Changeable="true" Amount="173.00">
                                <NoShowPenalty Changeable="false"/>
                            </Penalty>
                            <Penalty Type="Refund" Applicability="Before" Refundable="false">
                                <NoShowPenalty Refundable="false"/>
                            </Penalty>
                            <Penalty Type="Refund" Applicability="After" Refundable="false">
                                <NoShowPenalty Refundable="false"/>
                            </Penalty>
                        </PenaltiesInfo>
                        <MinimumStayData MinimumStayDateTime="2022-10-23T00:00:00" MinimumStayLocation="ONT"/>
                        <MaximumStayData LastCommencementDateTime="2023-10-19T23:59:00" RestrictedLocation="ONT"/>
                    </FareComponentData>
                    <FareComponentData FareComponentNumber="2" PricingUnitNumber="1">
                        <PenaltiesInfo>
                            <Penalty Type="Exchange" Applicability="Before" ConditionsApply="true" Changeable="true" >
                                <NoShowPenalty Changeable="false"/>
                            </Penalty>
                            <Penalty Type="Exchange" Applicability="After" Changeable="false">
                                <NoShowPenalty Changeable="false"/>
                            </Penalty>
                            <Penalty Type="Refund" Applicability="Before" Refundable="false">
                                <NoShowPenalty Refundable="false"/>
                            </Penalty>
                            <Penalty Type="Refund" Applicability="After" Refundable="false">
                                <NoShowPenalty Refundable="false"/>
                            </Penalty>
                        </PenaltiesInfo>
                        <MinimumStayData MinimumStayDateTime="2022-10-23T00:00:00" MinimumStayLocation="ONT"/>
                        <MaximumStayData LastCommencementDateTime="2023-10-19T23:59:00" RestrictedLocation="ONT"/>
                    </FareComponentData>
                </FareComponentDataList>
                <PricingUnitDataList>
                  ...
                </PricingUnitDataList>
            </PassengerDetail>
        </PassengerDetails>
    </Summary>
</StructureFareRulesRS>
Note: <ReturnFareComponentPenalties Ind="true"/>

In the Response

Optional

Parameter: NoShowPenalty

Type: boolean

Description: NoShowPenalty node was added under PenaltiesInfo/Penalty. It informs if the no-show is chargeable or not.

Sample Value:

RS:
<StructureFareRulesRS xmlns="http://webservices.sabre.com/sabreXML/2003/07" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" Version="1.1.0">
    <Success/>
    <Summary>
         ...
        <PassengerDetails>
            ...
                <PenaltiesInfo>
                 ...
                </PenaltiesInfo>
                <FareComponentDataList>
                    <FareComponentData FareComponentNumber="1" PricingUnitNumber="1">
                        <PenaltiesInfo>
                            <Penalty Type="Exchange" Applicability="Before" ConditionsApply="true" Changeable="true">
                                <NoShowPenalty Changeable="false"/>
                            </Penalty>
                            <Penalty Type="Exchange" Applicability="After" Changeable="true" Amount="173.00">
                                <NoShowPenalty Changeable="false"/>
                            </Penalty>
                            <Penalty Type="Refund" Applicability="Before" Refundable="false">
                                <NoShowPenalty Refundable="false"/>
                            </Penalty>
                            <Penalty Type="Refund" Applicability="After" Refundable="false">
                                <NoShowPenalty Refundable="false"/>
                            </Penalty>
                        </PenaltiesInfo>
                        <MinimumStayData MinimumStayDateTime="2022-10-23T00:00:00" MinimumStayLocation="ONT"/>
                        <MaximumStayData LastCommencementDateTime="2023-10-19T23:59:00" RestrictedLocation="ONT"/>
                    </FareComponentData>
                    <FareComponentData FareComponentNumber="2" PricingUnitNumber="1">
                        <PenaltiesInfo>
                            <Penalty Type="Exchange" Applicability="Before" ConditionsApply="true" Changeable="true">
                                <NoShowPenalty Changeable="false"/>
                            </Penalty>
                            <Penalty Type="Exchange" Applicability="After" Changeable="false">
                                <NoShowPenalty Changeable="false"/>
                            </Penalty>
                            <Penalty Type="Refund" Applicability="Before" Refundable="false">
                                <NoShowPenalty Refundable="false"/>
                            </Penalty>
                            <Penalty Type="Refund" Applicability="After" Refundable="false">
                                <NoShowPenalty Refundable="false"/>
                            </Penalty>
                        </PenaltiesInfo>
                        <MinimumStayData MinimumStayDateTime="2022-10-23T00:00:00" MinimumStayLocation="ONT"/>
                        <MaximumStayData LastCommencementDateTime="2023-10-19T23:59:00" RestrictedLocation="ONT"/>
                    </FareComponentData>
                </FareComponentDataList>
                <PricingUnitDataList>
                  ...
                </PricingUnitDataList>
            </PassengerDetail>
        </PassengerDetails>
    </Summary>
</StructureFareRulesRS>
Note: <NoShowPenalty Changeable="false"/>

In the Response

Optional

Parameter: Tax

Type: boolean

Description: Taxes Before and After Departure – new feature for TAX element was implemented.

Sample Value:

RS:
<StructureFareRulesRS xmlns="http://webservices.sabre.com/sabreXML/2003/07" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" Version="1.1.0">
    <Success />
    <Summary>
     ...
        <PassengerDetails>
        ...
                <PenaltiesInfo>
                ...
                    <Taxes>
                        <Tax Applicability="Before" Code="YQI" Refundable="true" FeeApplicationInd="Sector" Amount="91.80"/>
                        <Tax Applicability="Before" Code="YQI" Refundable="true" FeeApplicationInd="Sector" Amount="91.80"/>
                        <Tax Applicability="After" Code="YQI" Refundable="true" FeeApplicationInd="Sector" Amount="91.80"/>
                        <Tax Applicability="After" Code="YQI" Refundable="true" FeeApplicationInd="Sector" Amount="91.80"/>
                    </Taxes>
                </PenaltiesInfo>
                ...
            </PassengerDetail>
        </PassengerDetails>
    </Summary>
</StructureFareRulesRS>
Note: <Tax Applicability="Before".../> <Tax Applicability="After" .../>

Functional Updates And Enhancements

In the Response

Optional

Parameter: FareComponentID

Type: integer

Description: Change of Index element on Journey Level (perviously was „0”) to start count from „1” same as on Fare Component Level.

Sample Value:

RS:
<StructureFareRulesRS xmlns="http://webservices.sabre.com/sabreXML/2003/07" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" Version="1.1.0">
    <Success/>
    <Summary>
        ...
        <PassengerDetails>
            ...
                <PenaltiesInfo>
                    <Penalty Type="Exchange" Applicability="Before" Cat16Info="true">
                        <NoShowPenalty Cat16Info="true">
                            <Cat16TextOnly FareBasisCode="YB" FareComponentID="1"/>
                        </NoShowPenalty>
                        <Cat16TextOnly FareBasisCode="YB" FareComponentID="1"/>
                    </Penalty>
                    ...
                </PenaltiesInfo>
                <FareComponentDataList>
                    <FareComponentData FareComponentNumber="1" PricingUnitNumber="1">
                        <PenaltiesInfo>
                            ...
                            </Penalty>
                        </PenaltiesInfo>
                    </FareComponentData>
                </FareComponentDataList>
                ...
            </PassengerDetail>
        </PassengerDetails>
    </Summary>
</StructureFareRulesRS>
Note: FareComponentID="1" FareComponentNumber="1"

  • The Get Structured Fare has been enhanced to return additional information in the response as follows:

API Information

Format
XML
Current Version
1.0.5
Environment
Production

What's New

  • The Get Structured Fare has been enhanced to return additional information in the response as follows:

Business Value

  • The response has been extended with additional data about fare component in the penalty section and provides information on non-refundability.

New Features

In the Response

Optional

Parameter: FareComponent FareBasisCode

Type: FareBasisCodeType

Description: FareComponent at Penalty info level.

Sample Value:

|-|PenaltiesInfo|--|
    |-|Penalty Type="Exchange" Applicability="Before" ConditionsApply="true" Changeable="true" Amount="70.00" CurrencyCode="EUR"|--|
        |-|FareComponent FareBasisCode="HOBAS" Changeable="false"/|--|
    |-|/Penalty|--|
    |-|Penalty Type="Exchange" Applicability="After" ConditionsApply="true" Changeable="true" Amount="70.00" CurrencyCode="EUR"|--|
        |-|FareComponent FareBasisCode="HOBAS" Changeable="false"/|--|
    |-|/Penalty|--|
    |-|Penalty Type="Refund" Applicability="Before" Refundable="true" Amount="304.00" CurrencyCode="EUR"/|--|
    |-|Penalty Type="Refund" Applicability="After" Refundable="true" Amount="304.00" CurrencyCode="EUR"/|--|
|-|/PenaltiesInfo|--|
Note: New section in PenaltiesInfo. Additional Penalty info at fare component level, refers to FareBasisCode and informs if it's Changeable or Refundable.

  • The Get Structured Fare has been enhanced to enable more flexibility within the request and return additional information in the response as follows:
  • Agency Retailer – New optional attributes at the request level.
  • Force – Provides the ability to request fares matching specified retailer rules.
  • Code – Provides the ability to specify the specific rule retailer qualifier at the request level.
  • Agency Retailer – New optional attribute at the response level.
  • Code – Matched retailer rule code.

API Information

Format
XML
Current Version
1.0.4
Environment
Production

What's New

  • The Get Structured Fare has been enhanced to enable more flexibility within the request and return additional information in the response as follows:
  • Agency Retailer – New optional attributes at the request level.
  • Force – Provides the ability to request fares matching specified retailer rules.
  • Code – Provides the ability to specify the specific rule retailer qualifier at the request level.
  • Agency Retailer – New optional attribute at the response level.
  • Code – Matched retailer rule code.

Business Value

  • These enhancements drive greater transparency and give more flexibility for the customers using the Retailer Rules.

New Features

In the Request

Optional

Parameter: Force

Type: Boolean

Description: If set to true, only one Rule Retailer Qualifier can be used in the request. Only fares with a matched Business Rule containing the specified Retailer Rule Qualifier will be returned.

Sample Value:

|-|StructureFareRulesRQ|--| |-|PriceRequestInformation|--|      |-|RetailerRules Force="true"|--|           |-|RetailerRule Code="PQD"/|--|     |-|/PriceRequestInformation|--| |-|/StructureFareRulesRQ|--|

In the Request

Optional

Parameter: Code

Type: RetailerRuleCodeType

Description: Specific Retailer Rule code.

Sample Value:

|-|StructureFareRulesRQ|--| |-|PriceRequestInformation|--|      |-|RetailerRules Force="false"|--|          |-|RetailerRule Code="PQD"/|--|         |-|RetailerRule Code="UTI1"/|--|            |-|RetailerRule Code="YYY"/|--|         |-|RetailerRule Code="ZZZ"/|--|     |-|/RetailerRules|--|   |-|/PriceRequestInformation|--||-|/StructureFareRulesRQ|--|
Note: Up to four different Retailer Rules codes can be requested when RetailerRule Force is set to “false”. If RetailerRule Force is set to “true”, then only one Retailer Rule code can be specified in the request.

In the Response

Optional

Parameter: Code

Type: RetailerRuleCodeType

Description: New parameter with the code RC1 or RC2, which identifies the matched Retailer Rule code. The RC1 (Retailer Rule) is returned for all general transactions, and the RC2 code (Retailer Rule) is returned for the Adjusted Selling Level.

Sample Value:

|-|FareRetailerRule TransactionType="0" Code="RC1"/|--|