Anchor Flight Data
|
Specifies exactly which flights (Airline code, flight number, date, origin, and destination) should be returned in the response.
Anchor flight(s) may be applied anywhere in the shop request and multiple anchor flights may be submitted. This enhancement applies only to Worldspan (1P) in Air v33.0 and greater.
Include SearchAirLeg/AirLegModifiers/AnchorFlightData @AirlineCode and @FlightNumber. Set @ConnectionIndicator="true" to search for a connected flight.
|
Carriers and Alliances
|
Response includes or excludes
specified carriers and/or alliances.
Apply carrier and/or alliance preferences to the entire trip (using AirSearchModifiers) or to a specific leg (using SearchAirLeg/AirLegModifiers).
To return flights on only two carriers for all legs, in LowFareSearchReq, send:
<AirSearchModifiers>
<PermittedCarriers>
<Carrier Code="UA" />
<Carrier Code="DL" />
</PermittedCarriers>
</AirSearchModifiers>
Implementation Details
When both Air Search modifiers and Air Leg modifiers are present for the same segment in a request, Air Leg modifiers take precedence. Show scenarios
- 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.
The terms preferred, permitted , and disfavored are used to filter 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.
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.
For aggregated air/rail
responses, RCS can also be specified as a provider.
Alliance Codes
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
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
|
Provider Exceptions
Galileo and Apollo
Galileo and Apollo support:
-
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.
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.
- PermittedCarrier, ProhibitedCarrier, and PreferredCarrier are mutually exclusive, and cannot be included in the same request. A warning is returned.
Worldspan
- Worldspan supports:
- 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. 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.
|
Connection Points
|
Connection points can be included or excluded from search results.
- Included or excluded connection points are requested in SearchAirLeg/AirLegModifiers.
- Multi-airport connections are restricted in AirSearchModifiers and/or SearchAirLeg/AirLegModifiers. Multi-airport connections can be restricted on multi-leg itineraries.
<AirLegModifiers>
<PermittedConnectionPoints>
<ConnectionPoint>
<City Code="ATL"/>
</ConnectionPoint>
<ConnectionPoint>
<City Code="CHI"/>
</ConnectionPoint>
</PermittedConnectionPoints>
</AirLegModifiers>
Implementation Details
-
PermittedConnectionPoints
specifies cities/airports that can be included as connecting cities in
a response itinerary.
-
ProhibitedConnectionPoints
specifies cities/airports that cannot be included as connecting cities
in a response itinerary.
-
PreferredConnectionPoints
specifies cities/airports that are preferred as connecting cities
in a response itinerary (1G, 1V only).
For most providers and suppliers, PermittedConnectionPoints
and ProhibitedConnectionPoints both have a ConnectionPoint
child that specifies cities/airports that can or cannot be included as connecting
cities in a response itinerary. Included and excluded connection points
are mutually exclusive, and cannot be included in the same request.
For PermittedConenctionPoints, only flights for the specified “Connection Points” are returned. "Non-Stop" and "Direct" flights in the requested market are excluded.
Also, if PermittedConnectionPoints and any flight type modifiers (e.g., MaxStops, MaxConnection) are provided in the request, PermittedConnectionPoints gets preference, and
Universal API returns a warning message:
PermittedConnectionPoints and Flight Type Modifiers cannot be provided together. Flight Type Modifiers has been ignored.
PreferredConnectionPoints is an attribute, part of the @Code attribute in LowFareSearchReq and LowFareSearchAsynchReq (v49.0 and earlier)/SearchAirLeg/AirLegModifiers/PreferredConnectionPoints/ConnectionPoint.
When ProhibitMultiAirportConnection is sent in the request, all flight itineraries that require connecting passengers to arrive in one airport and depart from another airport are excluded.
Note: If both the Leg level and Itinerary level are specified, the Leg level takes precedence. The Itinerary level applies to all legs when AirLegModifiers/ProhibitMultiAirportConnection is not specified.
Provider Exceptions
Galileo
- Galileo supports including or excluding a maximum of
three cities in a request, respectively.
- Preferred Connection Points in the Air Leg Modifiers element is for Galileo (1G) and Apollo (1V) only.
Worldspan
- Worldspan
supports up to two permitted connection points per trip segment (each
origin to destination).
- Worldspan
supports up to three prohibited connection points per trip segment (each
origin to destination). Prohibited connection points apply to the complete
trip
- Prohibited connection points cannot be combined with MaxStops or MaxConnections.
- The ProhibitMultiAirportConnection element is not supported at the Air Leg level.
ACH
- ACH does not support search modifiers at the Air Leg level. If any AirLegModifiers are sent in an ACH request, a warning is returned and the request is processed without the modifiers. The exception is AirLegModifiers/PreferredCabins, which, when sent, applies the cabin preferences to all legs in the request.
- The ProhibitMultiAirportConnection element is not supported.
- ACH supports
requests for permitted or prohibited connection point events. However,
most Low Cost Carriers supplied through ACH do not support permitted or
prohibited connection point events. A successful response is returned
with a warning if one or more suppliers in the request do not support
this functionality.
RCS
See Rail Shopping by Connecting Cities for details.
|
Exclude Ground Transportation
|
In Air v32.0, use @ExcludeGroundTransportation to exclude ground transportation in the response. Ground transportation covers bus, boat, train, and limousine services. Available in requests to in Worldspan (1P) only.
Include AirSearchModifiers @ExcludeGroundTransportation. If set to true, ground transportation is excluded.
If ground transportation is excluded, a trip connecting a plane to another plane and then to a bus would be excluded from the results.
ExcludeGroundTransportation is not implemented in Galileo (1G) and Apollo (1V). A warning message is returned if the exclude ground transportation is used with these providers.
<AirSearchModifiers ExcludeGroundTransportation="true">
|
Flight or Itinerary Type
|
Allows flights to be requested by flight or itinerary type, which
includes specifying non-stop, direct, or a permitted number of stops and
connections.
Apply flight type preferences to the entire trip (using AirSearchModifiers) or to a specific leg (using SearchAirLeg/AirLegModifiers).
To return only nonstop flights for all legs, in LowFareSearchReq/AirSearchModifiers, send:
<AirSearchModifiers>
<FlightType NonStopDirects="true" />
</AirSearchModifiers>
ARNK Segments
An ARNK
(Arrival Unknown) segment is usually present in an itinerary to signify
that a lack of continuity between the arrival of one segment and the departure
of the next segment is known and accepted.
Open Jaw trips can include ARNK (Arrival Unknown) segments. These segments
do not contain any surface or other non-air travel details, but serve
as a "placeholder" for the travel between the distinct destination
and origin airports.
Universal API does not have a mechanism to manually add an ARNK segment
to an itinerary. However, if the provider detects the need for an ARNK
segment in a Single
Open Jaw trip because of mismatched airports or other continuity gap,
a message is sent to Universal API to automatically add an ARNK segment
to the Universal Record for the requested itinerary.
Implementation Details
See How
Travel Type Affects Fares for a description of the types of simple
and complex travel that are supported in Universal API.
Flight type modifiers are either attributes of FlightType or attributes of AirSearchModifiers and SearchAirLeg/AirLegModifiers.
FlightType @RequireSingleCarrier
|
Returns flight options with a single carrier between Origin and Destination.
|
FlightType @MaxConnections
|
Specifies the maximum number of connections within a segment group.
|
FlightType @MaxStops
|
Specifies the maximum number of stops within a connection ('0', '1', '2', and '3' stops are supported).
Note: MaxStops
is mutually exclusive with non-stop flights. If a non-stop flight option
is requested, any UI feature for Maximum Stops should be disabled.
|
FlightType @NonStopDirects
|
Returns only non-stop flights/price options.
Notes:
-
If a Maximum Stop option is requested,
any UI feature for Non-Stop Flights Only should be disabled.
-
RouteHappy amenities support Direct Flight functionality.N
|
FlightType @StopDirects
|
Returns only direct flights that make an intermediate stop with no plane change.
To return both non-stop and direct flights/price options, set both @NonStopDirects and @StopDirects to true.
Note:
If a Maximum Stop option is requested,
any UI feature for Non-Stop and Direct Flights Only should be disabled.
|
FlightType @SingleOnlineCon
|
Returns only non-stop, direct, and single online connection
solutions.
Note:
Double and triple connections may be returned in a response, if applicable.
|
FlightType @SingleInterlineCon
|
Permits connecting flights from multiple carriers to
be returned. Non-stop or direct flights can also be returned, as they
are within the parameters of the maximum stops and connections.
|
@MaxSolutions
|
The desired number of air pricing solutions or price points to be returned in the
response. MaxSolutions:
- Limits the number of solutions or price points returned by provider.
- Limits the number of solutions or price points returned for ACH by supplier.
The value is applied separately for each provider, and is also applied separately if there are multiple ACH suppliers.
When MaxSolutions is used to specify the maximum number of Air Price Points to be returned:
The value is applied to:
- The Apollo (1V) and Galileo (1G) response separately. For 1G and 1V, valid values are 1 to 1000.
- Each ACH adapter separately. For ACH, valid values are 1 to 1000 (per carrier/adapter).
If the specified value exceeds the supported maximum, a warning is returned along with the maximum allowable results.
Notes:
- MaxSolutions is supported for Air Pricing Solutions for all providers and for Air Price Points for all providers but Worldspan .
- MaxSolutions is equivalent to the DIR PWSQ message in Worldspan and specifies the number of alternates to be returned in the response.
|
@MaxConnectionTime
|
The maximum amount of time (in minutes) that a solution
can contain for connections between flights. This option:
- Restricts the time between connections for a multi-leg itinerary.
- Excludes connections that exceed a maximum ground time value specified in the request, regardless of geography or flight.
|
@PreferNonStop
|
When non-stop flights are preferred, the distribution of search results primarily returns
non-stop flights while still returning some one-stop flights for comparison and price
competitiveness.
This modifier can be used in the search request to weigh the preference
towards non-stop flights.
|
@DistanceType
|
Preferred unit of distance in Miles or Kilometers.
|
@ProhibitOvernightLayovers
|
Restricts overnight itineraries at the Air Leg (SearchAirLeg/AirLegModifiers) or Itinerary levels (AirSearchModifiers) for multi-leg itineraries.
If ProhibitOvernightLayovers is sent in the request to restrict overnight itineraries, connections that arrive on one calendar date and depart on another calendar date, and have a connection time greater than “HHMM” hours, do not display.
Note: Use this modifier in conjunction with MaxConnectionTime to specify a time limit.
|
Note: Triple Online and Interline Connections are NOT offered through Universal API even though the attributes exist in the schema.
Provider Exceptions
Galileo and Apollo
Worldspan
- Worldspan ignores the RequireSingleCarrier and MaxConnections attributes.
- Worldspan supports the following modifiers only at the Itinerary level: ProhibitOvernightLayovers and PreferNonStop. If PreferNonStop is set to "true" at the Leg level for Worldspan, a warning is returned: PreferNonStop is not supported at Segment Level but supported at Itinerary Level by the requested provider. The transaction is not blocked, but this modifier is not applicable.
- Prior to Air v29.0, in a Low Fare Search request, users had the option to send fare type in the FaresIndicator element. It could be Public Fares, Private Fares, Net fares, Public and Private Fares, or All fares. If the user did not send any option in FaresIndicator, then Universal API defaulted the request to ‘All Fares.’ That resulted in adding extra response time. With version 29.0 and later, if no option is indicated, the default is ‘Public Fares’ instead of ‘All Fares'.
-
The following modifiers are only processed at the Itinerary level (AirSearchModifiers). The Leg level is not supported. Note that each combination has a type.
- Direct and Online Connection Flights only – Type A
- Direct, Interline & Online Connection Flights (all flights) – Type B
- Direct Flights only – Type C
- Non-stop Direct Flights only – Type D
- Single Online Connection Flights only – Type E
- Single Interline & Online Connection Flights only – Type F
- All Direct & Online Connection Flights excluding Double Connection flights – Type G
- All Direct, Interline & Online Connection Flights excluding Double Connection Flights – Type H
- Non-stop Direct & Online Connection Flights only – Type I
- Non-stop Direct, Interline & Online Connection Flights only – Type J
A specific combination of attributes in Universal API must be sent in the request to match the specific Worldspan flight type desired. The following table shows the Type combinations, reading down each column, from A to J.
|
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
NonStopDirects |
true |
true |
true |
true |
false |
false |
true |
true |
true |
true |
StopDirects |
true |
true |
true |
false |
false |
false |
true |
true |
false |
false |
SingleOnlineCon |
true |
true |
false |
false |
true |
true |
true |
true |
true |
true |
DoubleOnlineCon |
true |
true |
false |
false |
false |
false |
false |
false |
true |
true |
TripleOnlineCon |
true |
true |
false |
false |
false |
false |
true |
true |
true |
true |
SingleInterlineCon |
false |
true |
false |
false |
false |
true |
false |
true |
false |
true |
DoubleInterlineCon |
false |
true |
false |
false |
false |
false |
false |
false |
false |
true |
TripleInterlineCon |
false |
true |
false |
false |
false |
false |
false |
true |
false |
true |
|
Jet Service Only
|
For Worldspan (1P) only, the optional boolean attribute JetServiceOnly allows users to return only jet service flight equipment in the shop response, when set to true. If AirSearchModifiers @JetServiceOnly is set to false, the shop response returns both jet service and turboprop flight equipment.
Include AirSearchModifiers @JetServiceOnly.
<AirSearchModifiers JetServiceOnly="true">
|
Max Journey Time
|
Only returns results that are less than the max journey time for the itinerary (all legs).
Include AirSearchModifiers @MaxJourneyTime. Specify the number of hours (from 0-99).
This modifier is available in Low Fare Search, Low Fare Search Asynch, and Air Availability.
<AirSearchModifiers MaxJourneyTime="6">
|
Prohibited Validating Carriers |
This modifier allows consolidators the ability to prohibit a specific validating carrier from returning in the shop response in case they are restricted from selling a specific carrier online. Carriers are added to: /AirSearchModifiers @ProhibitedValidatingCarriers
Release 24.2
|
Providers
|
By default, Low
Fare Shopping responses include flights from all provisioned providers,
including RCS rail suppliers. However, Low Fare Shopping requests can
be modified to include or exclude specified providers in a response.
Provider preferences are specified in LowFareSearchReq/AirSearchModifiers.
<air:AirSearchModifiers MaxJourneyTime="08">
<air:PreferredProviders>
<com:Provider Code="1G"/>
</air:PreferredProviders>
</air:AirSearchModifiers>
Implementation Details
- Availability of a requested
provider is limited by a client application's provisioning for that provider.
Therefore, if an un-provisioned provider is specified in the request,
data from that provider will not be returned.
- Unlike preferred
and disfavoredcarrier
and alliance requests, preferred
and disfavored provider requests do NOT
relax response options.
- Provider-specific requests can be used in combination
with carrier- or alliance-specific requests.
- For aggregated air/rail
responses, RCS can also be specified as a provider.
|
Time Ranges
|
Returns the lowest available fares for flights within
a specified time range.
Include SearchAirLeg/SeachDepTime
and SearchArvTime. Date
and time formats use the ISO-standard format.
To return departure flight options between 06:00 and 09:00, in LowFareSearchReq/SearchAirLeg/ send:
<SearchDepTime>
<TimeRange EarliestTime="2018-10-01T06:00:00.000-07:00" LatestTime="2018-10-01T09:00:00.000-07:00"/>
</SearchDepTime>
Implementation Details
SpecificTime indicates
the preferred time for the departure or arrival. If this value is blank,
the default preferred time is 8:00. Date is required.
TimeRange
indicates a time window around the preferred departure or arrival
time can also be indicated use the EarliestTime
and LatestTime attributes.
By default, the time window is set to the departure time.
A request can be for an entire day from one minute after
midnight to one minute before midnight. However, all requests must occur
within the same date and cannot cross over into the next day.
If @PreferredTime
attribute is included, the response returns options weighted for the preferred
time, if they are available. PreferredTime can be used alone or in combination
with TimeRange. For example:
If a departure time range has EarliestTime is set
to '0800', LatestTime is set to '1200', and PreferredTime is set to '0900',
the traveler is requesting available flights that depart between 8:00
and 12:00, but prefers flights that leave at 9:00.
Provider Exceptions
Galileo
-
EarliestTime default
is two hours before the preferred time.
-
LatestTime
default is 23:59.
-
Galileo supports a range
for either departure OR arrival times, but does not support ranges for
both departure AND arrival in the same request.
Worldspan
-
Worldspan
does not support search by arrival time. In some
cases, Worldspan also does not support search by the destination arrival
date/time. If
a request includes SearchArvTime parameters, the date is mapped to the
departure date (DepArvTime), and the default Worldspan time window (06:00
to 23:59) is used and a warning is returned.
-
If
no Departure Time is specified, the default departure time for Worldspan
is 09:00.
-
Worldspan
does not support both PreferredTime and SpecificTime in the request. If both are present, PreferredTime is processed and SpecificTime
is ignored. A warning message is returned in the response.
-
Worldspan
does not support both PreferredTime and TimeRange in the request. It both are present, PreferredTime is processed
and TimeRange ignored. TimeRange is considered only when no PreferredTime or SpecificTime is provided in the request.
-
Time Range is applicable for the complete request. Worldspan
does not support a different time range for each segment of a trip. For example:
-
If TimeRange is only present in the outbound segment, that time range is used.
-
If TimeRange is present in both the inbound and outbound segments, the time range of the outbound segment is used.
-
If TimeRange is only present in the inbound segment, that time range is used.
ACH
-
ACH does not support search by the arrival date/time.
-
ACH does not support Specific
Time functionality. An error is returned if a specific time is requested.
-
EarliestTime is calculated as the number of hours (rounded up) between the PreferredTime and the Earliest/LatestTime. For example, if PreferredTime=2010-12-18T11:30:00.000-05:00, EarliestTime=2010-12-18T08:45:00.000-05:00, and LatestTime=2010-12-18T23:30:00.000-05:00, then the difference between PreferredTime and EarliestTime is 2:45, which is rounded up to 3 hours and 3 hours is sent in the request. The difference between LatestTime and PreferredTime is 12 hours.
RCS
RCS does not support search
by:
|