Air Pricing with Fare Basis Codes (Forced Fares)

A Fare Basis is a unique identifier (within an airline) for the fare used to issue to the ticket. Fare Basis Codes can be used to create a specific fare to price, which overrides Universal API's system-generated fare responses. A Fare Basis Code can be provided for each segment in an itinerary.

Note: Fare Basis Codes are also used during Air Booking and can be added to an existing air segment.

Request

Fare Basis Codes can be added in the FareBasisCode attribute AirPriceReq/AirPricingCommand/AirSegmentPricingModifiers.

If forced fares are used, a Fare Basis Code must be included for each Air segment in an itinerary. If a Fare Basis Code is included for some, but not all, segments in an a itinerary, stored fares are returned only for the segments with a Fare Basis Code. A combination of forced fares and automatic fares are not supported within the same PNR.

Fare Basis Code and Fare Break modifiers can be used in combination for a fare pricing request.

The following rules apply to a forced fare, depending on the presence of a Booking Code/Class of Service and/or Fare Basis Code in the Air Pricing request:

If you have to force the fare basis codes in AirPrice, always look for @PricingMethod in AirPrice response.

To see the reason why the fare is not guaranteed, review the <FareRuleFailureInfo> element in the AirPrice response. The <Reason> tags contain information about the violated fare rules. For example:

<FareRuleFailureInfo>
   <Reason>DateSeasonalityFailure</Reason>
   <Reason>RoutingFailure</Reason>
   <Reason>DayTimeFailure</Reason>
   <Reason>BookingClassFailure</Reason>
</FareRuleFailureInfo>

Response

The response includes Air Pricing data with the FareBasis attribute included in AirPriceRsp/AirPriceResult/AirPricingSolution/AirPricingInfo/FareInfo.

Errors

For host consistency some providers need to internally duplicate SegmentRef data in AirSegmentPricingModifiers and Booking. If the SegmentRef sent in AirSegmentPricingModifiers is not the same as SegmentRef sent in AirPricingInfo/BookingInfo, an error is returned.

Exceptions

Worldspan

AirSegmentPricingModifiers @FareBasisCode is not supported for Worldspan (1P).