Fare Rules

Fare rules supply the requirements or penalties associated with a specific fare quote. Requirements associated with a specific fare code can include information such as:

  • Day and/or time restrictions

  • Seasonality

  • Blackout dates

  • Stopovers

  • Flight restrictions

  • Combinations

  • Advanced reservation/ticketing requirements

  • Surcharges

  • Minimum and maximum stay requirements

  • Travel restrictions

  • Ticket restrictions

  • Accompanied travel restrictions

  • Cancellation or change penalties

 

The amount and type of rules available depends on the provider and supplier. Depending on the supplier and type of rules, some text may be tagged into defined Category types. As part of an Air Pricing response, if empty or 'none' was in the request, no fare rules are returned. Otherwise, 'long' (complete) or 'short' (abridged) fare rules can be specified. If an account code is included in the request, private fares rules are returned for that account.

Notes:

Schema

See the following Air Fare Rules transactions:

Categories

The following table lists the categories as of 03 May 2021. The latest category data can be found in here.

Category Description
Category 1: Eligibility
Category 2: Day/Time
Category 3: Seasonality
Category 4: Flight Application
Category 5: Advance Reservations/Ticketing
Category 6: Minimum Stay
Category 7: Maximum Stay
Category 8: Stopovers
Category 9: Transfers
Category 10: Combinations
Category 11: Blackout Dates
Category 12: Surcharges
Category 13: Accompanied Travel
Category 14: Travel Restrictions
Category 15: Sales Restrictions
Category 16: Penalties
Category 17: HIP/Mileage Exceptions
Category 18: Ticket Endorsements
Category 19: Children Discounts
Category 20: Tour Conductor Discounts
Category 21: Agent Discounts
Category 22: All Other Discounts
Category 23: Miscellaneous Provisions
Category 24: n/a
Category 25: Fare by Rule
Category 26: Groups
Category 27: Tours
Category 28: Visit Another Country
Category 29: Deposits
Category 31: Voluntary Changes
Category 33: Voluntary Refunds
Category 35: Negotiated Fare Restrictions
Category 50: Application and Other Conditions

How To

  1. Enter the BillingPointOfSaleInfo @OriginApplication.

  2. Specify how air fare rules are found:

    • To return air fare rules for an existing booking, send the reservation locator code in the AirReservationSelector element.

      LocatorCode is found in the Air Booking response in the Key attribute of AirCreateReservationRsp/FareInfoList/FareInfo. Sending the LocatorCode returns all fare components within the specific Air Reservation Locator Code. However, if fare rules are desired only for an individual fare component within the Air Reservation Locator Code, the Key attribute of the FareInfoRef child can be used to identify a single fare component. One or more instances or FareInfoRef can be used to return only specified fare components within an Air Reservation Locator Code.

    • When an AirFareRules request is sent with a ticket date included, the AirFareRules response considers the ticket date entered and returns the applicable fare rules. This allows agencies to review the historical fares returned in the fare rule response to validate the rules for a specific fare and determine the exchange/refund policy. AirFareRulesRequest @TicketDate

    • To return air fare rules for an unbooked segment, use FareRuleKey. The fare rule references are returned from a Low Fare Shopping or Air Pricing response.

      @ProviderCode is in not used for Galileo, but is required for ACH Low Cost Carriers. In ACH, if a provider code is not specified, the pseudo city c ode's default provider is assumed

    • To return air fare rules based on an air segment, send the origin, destination, carrier, fare basis code, and provider code in FareRuleLookup ( Worldspan [1P] only).

    • AirFareDisplayRuleKey requests the Tariff Fare Rule using a Key. The key is typically a provider-specific string required to make either a following Air Fare Tariff request for Mileage/Routing information, or for an Air Fare Tariff Rule request. For example:

    REQUEST:

    <AirFareDisplayReq TraceId="12345" TargetBranch="TARGET_BRANCH" Origin="MOW" 
    Destination="PAR" ProviderCode="1G">
     <BillingPointOfSaleInfo OriginApplication="UAPI"/>
      <PassengerType Code="ADT"/>
       <BookingCode Code="Y"/>
      <Carrier Code="SU"/>
     </AirFareDisplayModifiers DepartureDate="2020-01-20" TicketingDate="2020-01-03"/>
    </AirFareDisplayReq>

    RESPONSE:

    <AirFareDisplayRsp>
     <FareDisplay>
      <AirFareDisplayRuleKey ProviderCode="1G" (RuleKeyText123ABC)>
      <BookingCode Code="Y"/> 
     </FareDisplay> 
    </AirFareDisplayRsp>

    FOLLOW-ON REQUEST:

    <AirFareRulesReq TraceId="12345" TargetBranch="TARGET_BRANCH">
     <BillingPointOfSaleInfo OriginApplication="uAPI"/>  
     <AirFareDisplayRuleKey ProviderCode="1G"> (RuleKeyText123ABC)
    </AirFareRulesReq>
    
    
  3. Specify how you want the air fare rules returned.

    Note: If both text and structured fare rules are requested at the same time, only structured fare rules will be returned.

    • Send @FareRuleType to return full or abbreviated text rules.

      • none returns no fare rules.

      • short returns abbreviated fare rules.

      • long returns full fare rules.

        • Long returns a full set of non-truncated data in the FareRules and AirPrice response. This allows agencies to display a full rules-set to travelers, and they can make an educated decision when selecting fares associated to their itineraries.

        • If the full set of rules exceeds the 180K limit, the following messages return:

          • "TOO MANY TEXT LINES - TEXT TRUNCATED" warning message

          • "DO A CATEGORY SPECIFIC TEXT ENTRY" prompt message

    • Send FareRulesFilterCategory to return air fare rules in a structured format. Release 18.4

      Use the structured format to customize how you want rules displayed to your own customers (for example, in a different language). You can request all categories or specific categories (multiple CategoryCode elements can be sent in a request): To return air fare rules in a structured format, send AirFareRulesReq/FareRulesFilterCategory. If FareRulesFilterCategory is blank, all categories with structured fare rules are returned.

      • Blank returns all categories with structured fare rules.
      • ADV returns advanced reservation and ticketing rules (Cat 5)
      • MIN returns minimum stay rules (Cat 6)
      • MAX returns maximum stay rules (Cat 7)
      • STP returns stopover information (Cat 8)
      • CHG returns penalty information (Cat 16)
        Note: See Air Pricing with Most Restrictive Penalties for further information.

      Only categories for which structured fare rules exist are returned.

      • Fare rules return in CategoryDetails and VariableCategoryDetails AirFareRulesRsp/FareRule/StructuredFareRulesType .
      • If both text and structured fare rules are requested at the same time, only structured fare rules are returned.
      • See Structured Fare Rules Definitions for schema definitions and examples.

      New with Schema v50.0 and greater, activated with Universal API release 20.3.2: For fare rules, when rule categories (e.g., "ADV", "MIN", "MAX", "STP", "CHG", etc.), are included in the request as part of AirFareRulesReq/FareRulesFilterCategory, the response contains results based on re-designed structured data that adds the elements CategoryDetails and VariableCategoryDetails, which includes Record 2, and 993, 994, and 995 tables. Release 20.3

        • Customers using v47, v48 and v49 must upgrade to Air v50 or later to recieve Category Details and the Variable Category Details in the updated schema structure, else the error message, "Schema for the current request does not support Structured Fare Rules. Please upgrade to v50 and above." returns.
        • If customers using schema version v47, v48, and v49, do not upgrade to Air v50 and later, the new messages are returned the existing xPath: AirFareRulesRsp/FareRule/StructuredFareRulesType /CategoryDetails and /VariableCategoryDetails.

      NOTES:

      • If both text and structured fare rules are requested at the same time, only structured fare rules are returned.
      • See Structured Fare Rules Definitions for schema definitions and examples.

Response

The AirFareRulesRsp/FareRule contains all individual fare rules.

Full Text

Full text is returned in AirFareRulesRsp/FareRule/FareRuleLong with an associated rule category. The Type attribute is not currently used.

Short Text

Short text is returned in AirFareRulesRsp/FareRule/FareRuleShort with an associated rule category. The associated category descriptor is returned in FareRuleShort/FareRuleNameValue.

Note: There is no support for short rules on ACH carriers; only long rules text are returned. All ACH responses are textual; therefore, a default rule category is used in the response.

Structured Fare Rules

Structured fare rules are returned in AirFareRulesRsp/FareRule/StructuredFareRules. StructuredFareRules contains child elements for each air fare rule category. Within each category, child elements contain information for each rule.

Error Response

Fare Rule Errors can be found here.

Prior to Universal API Release 20.3.4, the error, "RULE NOT FOUND - VERIFY CARRIER" messages often returned in the AirFareRules response instead of the associated rules for Private Fares. An enhancement was made that improves the Fare Rule response so that the error message returns less often, and more rules are returned (e.g., the error message would be received when the matching rule/tariff number is not found). This assists in making an educated decision when selecting fares for booking, and reduces need for a manual process where individuals must validate fare rules via terminal entries versus an automated validation of rules. Release 20.3

Not in Use

The following FareRule child elements are not currently in use:

Exceptions