Air Pricing with Alternate Currencies
In addition to the default currency, a Pricing request can include an alternate currency modifier.
If an alternate currency is specified in the request, the conversion request is not passed to the provider. The conversion is performed by Universal API using Bank Selling Rates (BSR). (BBR and ROE rates are not supported.) Rounding is not currently supported, as various data sources use different methods for rounding.
The default currency may vary depending on the provider, supplier, and traveler's profile. The default currency may be either:
-
The currency specified in the traveler's profile.
-
The currency specified in the Agency (travel provider) or Branch profile, if the traveler does not have a specified currency.
If no currency is included at any level in the profile, the default currency may be either:
-
The currency of the country where the fare was filed.
-
The currency of the first departure city.
-
The local currency of the supplier.
See the Exceptions section for default details and Currency for more information about currency conversion in Universal API.
Request
The CurrencyType attribute of AirPriceReq/AirPricingModifiers is used to specify an alternate currency.
The CurrencyType is passed to the provider, which impacts the currency that is returned for Equivalent Base Price, Base Price, Taxes, and Total Price. The CurrencyType modifier specifies the currency that is to be used for settlement. The provider may restrict which currencies are available based on a variety of factors including origin, destination, and agency location. The requested currency is reflected in the EquivalentBasePrice, BasePrice, Taxes, and TotalPrice, if it is available.
Response
Each AirPricingSolution contains attributes for both the default currency and an alternate currency.
Pricing information is returned in these attributes in AirPricingSolution:
-
The TotalPrice, including taxes and fees, in the default currency.
-
The BasePrice , without taxes and fees, in the default currency.
If an alternate currency is included in the request, the response uses the available currency conversion to estimate amounts and returns the values in the alternate currency:
-
The ApproximateTotalPrice, including taxes and fees.
-
The ApproximateBasePrice, without taxes and fees.
-
Taxes, Fees, and Services are included in the alternate currency.
One or more AirPricingInfo child elements contain pricing information specific to each traveler in the request.
Note: An equivalent currency may automatically be returned in EquivalentBasePrice for the base price if the Point-of-Sale currency and the Filed Fare currency are not the same. The equivalent currency is system-generated and does not have a request modifier.
Rates in Aggregated Responses
To simplify comparison in an aggregated display, if the rate returned is not in the travel provider's default currency, converted amounts are included in ApproximateBasePrice and ApproximateTotalPrice at the AirPricingSolution and AirPricingInfo level.
Errors
If a conversion rate cannot be obtained for the requested currency, a warning is returned.
Exceptions
Galileo supports:
- A different currency type for each element in the response (Base/Total/Tax).
- A decimal place indicator for each amount element.
Galileo does not support FiledCurrency in AirPricing.
- The Pseudo City Code (PCC), known as anSID in Worldspan, controls the currency returned in the response.
- A decimal place indicator is not returned.
- Worlspan does not support FiledCurrency in AirPricing.
Apollo does not support FiledCurrency in AirPricing.
Some ACH carriers support a wide variety of currencies, while others only support a few. When FiledCurrency is sent in the request, if the carrier:
- Supports the requested currency, then the Base/Total Fare is returned in the requested currency.
- Does not support the requested currency, the Base/Total Fare is returned in the currency of the point of origin.
If the requested currency is not supported by the carrier, a warning is returned: Currency specified for the request does not match the currency associated with the host token.
The CurrencyType attribute should be used to obtain Approximate Base and Approximate Total fares in the requested currency; it displays an indicative price without changing the underlying transaction.
- RCS supports:
- One currency for all elements in a response.
- A decimal place indicator.
- Approximate Amounts are returned in the travel provider's default or requested currency.