Air Availability by Carrier and Alliance
Air Availability requests can be modified to include or exclude specified carriers in a response. Requests can also be modified to include airline alliances. All carriers that are part of the specified alliance can be included or excluded from the response options.
Universal API uses the terms preferred, permitted, and disfavored to indicate filtering for carriers and alliances. However, some providers and suppliers process only included or excluded carriers or alliances:
-
A preferred request weights responses to include the specified carrier, but may return other carriers if the requested carrier does not have responses that meet the search parameters.
-
A disfavored request weights responses to exclude the specified carrier, but may return the disfavored carrier if other carriers do not have responses that meet the search parameters.
- A permitted request includes only the specified carriers. If the carrier does not have any availabilities within the requested search parameters, the response is not relaxed, and an error is returned.
- A prohibited request excludes only the specified carriers. If the prohibited carrier is the only carrier with availabilities within the search parameters, the response is not relaxed, and an error is returned. Prohibiting carriers improves response times of carriers that can be booked by the customer.
Note: Specific carriers can be restricted at the Air Leg or Itinerary (Booking) level.
See the Exceptions section to determine how a specific provider manages filtering by carrier and alliance.
Schema
Located in Air.xsd:
Request
Carrier and alliance preferences can be specified in either the individual air leg level or the itinerary (booking) level. When both Air Search modifiers and Air Leg modifiers are present for the same segment in a request, Air Leg modifiers take precedence. For various modifier combinations, the following logic applies:
- If a request has two Air Legs and the option is present for both Air Search modifiers (itinerary level) and Air Leg modifiers (leg level), the Air Leg modifiers take precedence.
- If a request has two Air Legs and the option is present for one Air Leg modifier, absent for the second Air Leg, and present for the Search Modifier (itinerary level), the Air Leg modifier takes precedence for the first leg and the Search Modifier is applied to the second leg.
- If a request has two Air Legs, and only an Air Search modifier is used, that modifier applies to all legs in the itinerary.
Air Availability by Carrier and Alliance
-
Enter the minimum required data for the AvailabilitySearchReq.
- Include AirSearchModifiers to specify carrier and alliance preferences for an entire trip.
- PreferredCarriers weights the response to include the carriers specified in the request. If there are no availabilities for the specified carriers, other carriers may be returned.
- PreferredAlliances weights the response to include only the air alliance specified in the request. If there are no availabilities for the specified alliance, other alliance carriers may be returned.
- PermittedCarriers returns only the specified carriers. If there are no availabilities for the specified carriers, an error is returned.
- DisfavoredCarriers weights the response to exclude the carriers specified in the request, but may return responses from the carrier.
- DisfavoredAlliances weights the response to exclude the alliances specified in the request, but may return responses from the alliance.
- Include SearchAirLeg/AirLegModifiers to specify carrier and alliance preferences for a specific air leg.
-
Set the request to return a Carrier-Specific Display.
Show detailsAlso known as Carrier-Specific Display (CSD). Use AvailabilitySearchReq/SearchAirLeg/AirLegModifiers/AllowDirectAccess to submit a carrier-specific availability request, which requests availability data from the supplier's system. This functionality is available only for providers/suppliers that support direct access.
At least one carrier is mandatory in PermittedCarriers when submitting a carrier-specific availability request. If multiple carriers are sent in PermittedCarriers, and AllowDirectAccess is set to "True", only the first carrier is accepted (the rest are ignored), because Direct Access requests can only be directed at a single carrier
If there are multiple search legs in the Air Availability request, successful or error responses may be returned for different legs having different carrier specifications. Each message will be associated with the carrier that sent it. If errors occur for all search legs, an exception and error message will be returned from the first leg.
-
Use PreferredAlliances or DisfavoredAlliances in AirSearchModifiers and/or SearchAirLeg/AirLegModifiers to included or excluded designated alliance codes. All carriers that are part of the specified alliance are either included or excluded in the response options.
Several types of functionality are available:
As of 01 December 2008, the current Alliance codes are:
Note: OW codes updated 03 May 2021. *A, *S, *O updated 12 November 2021.
The latest Alliance carriers can be found via Terminal using the command DCA. For example, DCA/OW
Alliance | Alliance Code | Number of Members | Alliance Member |
---|---|---|---|
Star Alliance |
*A |
29 |
UA LH AC SK TG NZ NH OS SQ OZ LO OU TP LX SA CA TK MS SN A3 ET AV TA T0 LR CM BR ZH AI |
OW |
OW |
11 |
AA BA IB QF MX LP JO JC 4M |
KLM NWA Alliance |
KL |
14 |
KL KQ A6 WA UK NW CO AS UX CZ 9W MH MA MP |
Skyteam |
*S |
20 |
AF DL OK KL UX AM KE AZ SU KQ VN RO MU FM CI SV ME AR MF GA
|
Oneworld |
*O |
15 |
AA BA IB AY CX QF JL RJ KA S7 MH QR UL AT AS |
Response
A standard Air Availability response is returned. The response is filtered at the data source to include or exclude the specified carriers or alliances.
In each Carrier-Specific Display (CSD) response, the AirSegment element returns a Reference Sell Token from the provider in the HostTokenRef; therefore if multiple legs are requested, multiple tokens are returned. There can be two connecting segments on the same carrier from the same provider CSD.
Notes:
- The token remains active on the provider's system for three minutes, but the actual time can be less than three minutes, due to API processing time.
- ACH-specific Host tokens are returned in AirAvailInfo/HostTokenRef.
Note: The request fails if:
- The carrier code is not a valid IATA carrier code.
- More than one carrier is requested, and one carrier is invalid.
Exceptions
Galileo and Apollo support:
-
A maximum of 99 permitted and preferred carriers, respectively.
-
A maximum of 99 excluded carriers, but does not support disfavored carriers. If a carrier is excluded, the response does not include any legs on that carrier. If they are the only carrier in the market, an error is returned.
-
Only one alliance code is supported in a request. However, a combination of an alliance code and carriers can be included in a single request, for a maximum of 99 codes. In other words, a maximum of one alliance and 98 carrier codes in a single request.
- PermittedCarrier, ProhibitedCarrier, and PreferredCarrier are mutually exclusive, and cannot be included in the same request. A warning is returned: Provider does not allow combining the options for Preferred Carriers, Permitted Carriers and Prohibited Carrier. They are Mutually exclusive.
Within the alliance code, the number of carriers is not subject to the same 99-carrier threshold that exists for individual carrier preferences. All carriers within an alliance will be considered; even if more than 99 carriers exist within the alliance.
-
Universal API does not support AirSearchModifiers/ PermittedCarriers and ProhibitedCarriers in AvailabilitySearchReq for Worldspan. For requesting preferred and prohibited carriers, SearchAirLeg/AirLegModifiers/PermittedCarriers and ProhibitedCarriers must be used.
- Worldspan supports:
- One alliance code in a request. If more than one PreferredAlliance is provided, a warning is sent in the response.
- Restricting multi-airport connections (ProhibitMultiAirportConnection) only at the Itinerary level.
- Up to three preferred carriers or three permitted carriers. If more than three carriers are sent, availability for the first three carriers and a warning are returned: Max number of Permitted Carriers exceeded for this host. The following Permitted Carriers were not included in the request:XX YY ZZ.
- If both PermittedCarriers and PreferredAlliance are provided (in AirLegModifiers or AirSearchModifiers), a warning is returned: Provider does not allow combining of options for Permitted Carriers and Alliances.
- If both AirLegModifier/ProhibitedCarriers and PreferredAlliance (in AirLegModifiers or AirSearchModifiers) are provided, a warning is returned: Provider does not allow combining of options for Prohibited Carriers and Alliances.
- If the Alliance/Code begins with an asterisk (*) followed by maximum of two characters, it will be submitted directly to Worldspan for validation.
- PermittedCarrier, ProhibitedCarrier, and PreferredCarrier are mutually exclusive, and cannot be included in the same request or a warning is returned: Provider does not allow combining the options for Preferred Carriers, Permitted Carriers and Prohibited Carrier. They are Mutually exclusive.
- Worldspan does not support disfavored alliances or carriers in AirLegModifiers or AirSearchModifiers.
For a more complete list of functionality available from various ACH carriers, see ACH Carriers Functionality. Because functionality for carriers may be subject to change, always confirm functionality directly with the ACH carrier before implementation.
For ACH:
- JQ, 3K, BL, and VF are processed as the same carrier code. Therefore, a request for permitted carriers will be relaxed and can return any of these carriers. For example, requesting JQ may return 3K, BL, or VF.
- If a disfavored alliance and a disfavored carrier that is an LCC are submitted in the same request, the disfavored alliance is not mapped, and a warning message is returned.
- If a disfavored carrier that is not an LCC is submitted, the carrier is not mapped to ACH. No warning or error message is returned.
ACH does not support:
- Preferred carriers.
- Alliance codes.