Air Pricing Modifiers

A number of modifiers can be added to a Air Pricing request to narrow the search results, using the AirPricingModifiers and AirSegmentPricingModifiers elements.

Specific modifiers can be added at either an itinerary (booking) level, segment level, or both levels. If a modifier is not supported at the segment level, a warning is returned: Requested modifier XYZ not supported at segment level.

Certain pricing modifiers may also not be available for specific providers or suppliers, or may have limited functionality.

 

Pricing Modifier

Description

Passenger Type Codes

Requests Air Pricing using any passenger type code (PTC), with or without age.

Cabin Class

Requests a fare based on the cabin class (class of service), such as Coach, Economy, or First Class.

Booking Class

Requests a price for air segments based on the requested booking class.

Note: The response only returns public fares based on the booking classes specified in the request.

Refund Type

Requests a fare based on whether the ticketed fare can be refunded if the itinerary is modified or canceled, based on the following qualifiers:

  • No Penalty Fares
  • No Non-refundable Fares
  • No Non-exchangeable Fares

Fare Type

Fare types include:

  • Public fares.

  • Airline private fares published by ATPCO.

  • Agency private fares published by individual GDSs. Agency private fares may or may not require an account code.

Note: The default fare type varies by provider.

Fare Restrictions

Requests a fare search that return results based on the following qualifiers:

  • No Minimum Stay

  • No Maximum Stay

  • No Advance Purchase

  • No Restricted Fares

These modifiers can be used alone or in combination.

Alternate Currency

Allows an alternate currency to be included, in addition to the default currency.

Plating Carrier

A plating (ticketing) carrier can be specified in the request, and indicated in the response.

Account Code

Account Code is used to get Private Fares. If ProviderCode or SupplierCode is not specified, it is considered a default AccountCode sent to all Providers or Suppliers.

AccountCode@Type categorizes this account code. For example, FlightPass for AC Flight Pass or RFB for AC corporate Rewards for Business.

The AccountCodes element applies to both AirPriceReq/AirPricingModifiers/AccountCodes and AirPriceReq/AirPricingCommand/AirPricingModifiers/AccountCodes

Note: Multiple account codes can be sent as AirPricingModifiers in the Air Price Request transaction. However, Universal API considers only the first account code in the request, so only one account code is acceptable in the Air Price Transaction. Applicable to only Galileo (1G) and Apollo (1V).

Override Carrier

Allows agents to specify the carrier for fare selection and override fare selection logic.

Note: This modifier is not supported by Worldspan (1P) or Air Content Hub (ACH).

OverrideCarrier was implemented to support the changing business process for filing fares, since more carriers are filing fares with interline partners where the carrier who files the fare is not the owning or significant carrier on an itinerary, so the fares cannot be quoted.

Force Segment Select (Worldspan only)

Allows agents to force segment select option in host while selecting ALL air segments to store price on a PNR. This is ignored unless ALL air segments are selected.

Default is 'false'.

Ticket Type

Allows either Paper or Electronic Ticket types to be indicated in a request or response.

Forced Fares (Fare Basis Codes)

Forced fares (also known as 'FIC the Fare') use Fare Basis Codes to create a specific fare to price, which overrides Universal API's system-generated fare responses.

Fare Breaks

Indicates in which Air segments a fare should or should not be broken.

Promotional Codes

Promotional Codes (Promo Codes) offer a discount or "special promotional rate" on a product for a specific period of time for meetings and conventions. Air Canada is currently the only supplier to support Promo Codes. There are two types of Promo Codes for Air Canada:

  • Auto-Generated Promo Codes
  • Customized Promo Codes

Manual Fare Adjustment

Allows increases or decreases to be applied to a fare quote when the appropriate parameters are set in Shop/Price/Book requests. The fare can be increased or decreased either by percentage or flat amount. The user can increase or decrease either the base amount or total. Total amount has some restrictions.

Brand Modifiers Specifies the type and amount of brand content that is returned in the Air Pricing response. See Rich Content and Branding in Air Pricing for details.

Point of Sale

Point Of Sale functionality is available for Air Add in Universal Record Modify only. It is not available for any other Universal API services that contain the AirPricingModifiers element.

See Storing Redistributed Fares in Existing Universal Records for details.

Inventory Request Type

Checks inventory via any of the following methods:

  • Direct Access: Carriers participating in direct access inventory and seamless inventory with Worldspan (1P) will be polled to confirm inventory before the booking attempt.
  • Seamless: Carriers participating in seamless inventory with 1P will be polled to confirm inventory before the booking attempt.
  • Basic: A direct availability query may not occur, and instead data may be taken from local availability sources. This can be considered the closest to not checking availability in 1P. If Basic is selected in Galileo (1G) or Apollo (1V), inventory will not be checked.

For more information see Air Pricing with Inventory Options.

Sell Check Release 18.1

If @SellCheck="true", inventory status is checked to determine if a segment is bookable. The default value is "false". Permitted Booking Code is required when this attribute is used. This enhancement provides the ability to get an alternate low fare if the requested fare is not available during Air Price. The alternate low fare is the lowest fare in the cabin associated with the Class of Service passed in the request.

Note: When the Sell Check attribute is included in the AirPrice request, AirPrice becomes a 'stateful' transaction, meaning that it retains information about the transaction, or session. It is at the customers discretion to implement this functionality so that impacts to the system and a carriers inventory are taken into consideration. Risks may include impacts to last seat availability and restrictions to available inventory. Release 18.3

IMPORTANT: As best practice, the AirPrice with Sell Check option should not be used right before an AirCreateReservationReq. For last seat availability, if the airlines do not release the seats to the inventory immediately, then a subsequent AirCreateReservationReq call after a sell check may end up in a sell failure as the seat was blocked by the AirPrice transaction.

As of release 18.2, either Permitted Booking Code or Class of Service can be used with SellCheck. If both values are sent, the Permitted Booking Code is used and Class of Service is ignored. Release 18.2

To check if segments are bookable within an Air Pricing request:

  • Include AirPriceReq/AirPricingModifiers @SellCheck="true"

  • For example:
    <air:AirPricingModifiers InventoryRequestType="DirectAccess" PseudoCityCode="PCC1" SellCheck="true">
    <com:PointOfSale IATA="99999999" ProviderCode="1G" PseudoCityCode="PCC1" xmlns:com="http://www.travelport.com/schema/common_v49_0"/>
    <air:BrandModifiers>
    <air:FareFamilyDisplay ModifierType="FareFamily"/>
    </air:BrandModifiers>
    </air:AirPricingModifiers>


  • Specify the class of service in one of the following:

If the class of service is available, all associated fares are returned.

  • If AirPrice is sent with PreferredBookingCode in the PricingModifier element, SellCheck validates on the booking code and returns an error if the class is not available
  • If AirPrice is sent with ClassOfService in the AirSegment element, SellCheck validates on the booking code and returns the lowest fare if the class is not available
  • When AirPriceReq/AirPricingModifiers @SellCheck="true" and the FOP is passed in the AirPriceReq with CheckOBFees, the OBFee (Feeinfo) in the AirPriceRsp is not returned

In the Air Price response, the following information returns:

  • Minimum Connection Time (MCT) check for each segment.
  • Segment Status Code when inventory is available for ClassOfService.
  • Segment Status Code when segments are not bookable.

If the specified class of service is not available, the lowest fare for the associated cabin class is returned. This reduces the occurrence of booking failure by performing a sell check at the time of AirPrice.

Note: Error or warning messages return when:

  • [Error] The BookingCode AND ClassOfService are not provided in the Air Price Request.
  • [Warning] Departure and/or Arrival time(s) is/are different from the AirPriceReq.
Return Failed Segments Release 18.4

The @ReturnFailedSegments attribute ensures that failed segment(s) information returns in the error response, so that suitable replacement(s) can be found for the failed segment(s).

1G Release 21.3

Prior to Universal API release 21.3.3, Travelport Universal API customers may have received an error in an AirPrice response when a flight no longer had available inventory, but the response did not indicate which flight wasn’t available. Since the segment with no availability was not returned in the response, the design was challenging for customer workflows.

Currently, when an AirPrice request includes ReturnFailedSegments="true" and InventoryRequestType="Seamless", or InventoryRequestType="DirectAccess", the response includes air segment details, along with an error response, when the price request fails due to inventory.

  • For requests that include the attribute(s) ReturnFailedSegments=“true” and InventoryRequestType="Basic", or InventoryRequestType="", or InventoryRequestType="None", Universal API returns <faultstring> with no segments in the AirPrice response.

  • For requests that include the attribute(s) ReturnFailedSegments=“false” and InventoryRequestType of Basic, DirectAccess or Seamless, Universal API returns <faultstring> with no segments in the AirPrice response.

For example:

<AirPriceReq>

<air:AirPricingModifiers PlatingCarrier="UA" ReturnFailedSegments="true" InventoryRequestType="DirectAccess"/>

<AirPriceRsp>

<air:AirSegmentError>

<air:AirSegment Key="pS4+DpPrGDKAe1jHAAAAAA==" Group="0" Carrier="UA" FlightNumber="0340" Origin="ATL" Destination="DEN" DepartureTime="2021-07-02T09:15:00.000-04:00" ClassOfService="Z" ChangeOfPlane="false" OptionalServicesIndicator="false"/>

<air:ErrorMessage>BOOKING CLASS/PREFERENCE NOT AVAIL CHECK AVAILABILITY</air:ErrorMessage>

</air:AirSegmentError>

See DA-909 for further details.

1P

To ensure this information is returned in the error message, the switch attribute @ReturnFailedSegments must be set to "true" in the Air Price and Air Create Reservation requests.

The response displays the error message with included failed segments. If there is more than one failed segment, each additional failed segment is separated by a pipe "|".

Note Only the failed segments will be returned. For example:

ER101 - UNABLE TO PRICE AS BOOKED OR BY LOW FARE FINDER

***INVALID SPECIFIED FLIGHT NUMBER***

G3 07631J 13JAN18MVDGRU|G3 01620J 13JAN18GRUREC|G3 02085A 27JAN18RECGIG|G3 07646W 27JAN18GIGMVD

Preferred/Permitted Cabins

As of Air v47.0, for both Worldspan , users of Trip Services can find the lowest fare for an itinerary (“best buy”/”low fare finder”), where users are able to specify a cabin so that the lowest fare returned is lowest for that cabin. If the specified Cabin class is not available, the lowest fare for the alternate Cabin Class is returned in the Price Response. The priority ranking in the Air Price request is Permitted Cabins, then Preferred Cabin, and then Class Of Service. Release 18.4

  • When the Permitted Cabins, Preferred Cabin, and Class Of Service is sent in the Air Price Request, the Permitted Booking Codes get the first priority, and the Preferred Cabin and Class Of Service are ignored.

  • When the Preferred Cabin and Class Of Service is sent in the Air Price Request, the Preferred Cabin gets get the first priority and corresponding cabin type value is included, and the Class of Service is ignored.

  • If the request has an invalid Preferred Cabin, the error response states: Only the following Business Services are available: Economy, Premium Economy, Business, First, Premium First

  • If PreferredCabin =”PremiumFirst” the error response states: Provider does not support Price with 'Premium First' cabin class

Split Ticketing Release 19.0

Universal API supports split bookings for provisioned customers. If you are interesting in this functionality, please contact your Travelport representative.

A split booking allows you to book a roundtrip ticket by submitting two separate pricing solutions in one reservation request. Prior to this release, you had to submit two separate booking requests, one for the outbound itinerary and the other for the inbound itinerary. You can then ticket the two segments separately under the same PNR.

If you are provisioned for split booking, send two AirPricingSolution elements in AirCreateReservationReq to specify that a split booking should be made. @ProviderCode in each AirPricingSolution/AirSegment must match.

The response returns one provider PNR. Each AirPricingSolution must be ticketed separately with the airlines.

Ignore Availability Release 20.1 If the @IgnoreAvailability attribute = "true," it allows users, when working in a session, the ability to get the lowest price and class of service without checking availability. This allows their automated system to decide when a lower class of service is available, and they can rebook the itinerary at a lower fare.
Sell City and TicketingCity Release 20.3

Including SellCity and TicketingCity time of Shop, Price, Book and UR Modify helps to identify cross-boarder sales (e.g. price in PAR ticket in NYC) so that fares are accurate throughout a workflow (e.g. shop, price, book, UR Modify).

This functionality is only supported for Galileo (1G). If sent via 1V, 1P, ACH, the warning message returns, “SellCity and TicketingCity modifier(s) not supported by this provider and have been ignored.”

<AirPricingModifiers TicketingCity="PAR" SellCity="NYC"/>