XML Results Response Specification
| XML Field | Dependencies | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CommandList | The surrounding tag | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| -CheckRouting | The command name | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| --RoutingId | The routing id (as returned previously). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| --RouterList | Optional | Contains the details of the search results returned by the suppliers to TRAVELfusion. Contains 0 or more 'Router' elements. May be omitted if there are no Routers launched. The routers correspond to the routers contained in the RouterList in the previous search response. These routers will always be in the same order and the number of 'Router' items will always be the same (for a particular search). |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ---Router | Optional | Represents the results for a particular search submitted to a particular supplier. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ----RequiredParameterList | Optional | The list of 'extra' parameters that are required in order to book a flight contained within this 'Router'.
Most of these parameters will be submitted in one of the 'CustomSupplierParameterList' items in the booking profile (see Terms Request).
However, some have other effects which are specified in the second table below. Required parameters can be returned within the 'Router'
element at any stage of the search/ booking process. they should be considered as cumulative - e.g. if only 'DateOfBirth' is returned in the
'CheckRouting' response, and only 'NumberOfBags' is returned in the 'ProcessDetails' stage, then both of these parameters are applicable to the booking. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| -----RequiredParameter | Optional | Describes a required parameter |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ------Name |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ------DisplayText | Provides text appropriate for display to the user for requesting this parameter. This facilitates generic handling of required parameters. For example for DateOfBirth, this element may have the value 'Date Of Birth (dd/mm/yyyy)'. If the DisplayText is an empty string, this indicates that the user must not be interrogated for this value. This applies to the parameters in the second table above, and also to certain other parameters not defined here. e.g. see 'MaxCacheDataAgeSeconds' in the ProcessTerms request specification. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ------PerPassenger | Will have value 'true' if the parameter must be supplied for every passenger; 'false' if it applies to the whole booking. If the parameter is per passenger, it should be supplied within the 'CustomSupplierParameterList' for each traveller within the 'TravellerList' in the 'BookingProfile'. If the parameter is not per passenger, it should supplied in the 'CustomSupplierParameterList' that occurs outside the 'TravellerList'. It must not be supplied in both places. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ------IsOptional | Optional | If this element is omitted, it should be treated as if it has value 'false'. It the element is supplied with value 'true', the the specified 'required' parameter may be omitted from the custom supplier parameters list, and default behaviour will be assumed. If the element is supplied with value 'false', then the parameter must be submitted. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ----Supplier | The supplier accessed by this router. The possible values for this field correspond to the SupplierList in the Search request. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ----LogoNameSuffix | Optional | See StartRouting (Search Response) specification for details | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ----Vendor | Optional | Contains information related to the vendor of the flights. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| -----Name | This is a free text name for the vendor. It will be similar to the value of the Supplier element within the 'Router' above, but it will be free text. For example while the Supplier element may contain the pre-defined identifier 'airfrance', the Vendor Name will be something more human-readable like 'Air France'. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| -----Url | The URL of the website through which the supplier vends. If the flights are not obtained through a public website, an appropriate value will be returned (for example a corporate site URL or no URL at all) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ----Complete | States whether this router has finished routing or not. Possible values: true, false. This field should be checked before utilising any optional fields in the 'Router' as these fields may be missing or empty if the router is not yet complete. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ----RequestedLocations | The locations that were requested from the supplier - see search response for details |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ----GroupList | Optional | Contains the list of groups of flight options returned by the supplier. Contains 0 or more 'Group' elements. If the 'IncrementalResults' tag was set to 'true', the data within the GroupList element of a complete result will only be returned once. After that (in subsequent results request polls), the GroupList element will be empty or missing. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| -----Group | Optional | A group of flight options. This represents a set of outward and return flights from which any outward and any return flight combination may be selected and booked. An outward flight from one group cannot be paired with a return flight from a different group. The flights within a group may not all utilise the same airports. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ------OutwardList | The list of outward flight options in this group. Contains 0 or more 'Outward' items. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| -------Outward | Optional | An outward flight option. The format will follow the general format of a 'leg', described below. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ------ReturnList | Optional | The list of return flight options in this group. This element will be omitted for 'single' (one-way) journeys. Contains 0 or more 'Return' items. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| -------Return | Optional | A return flight option. The format will follow the general format of a 'leg', described below. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ------Price | Optional | This will follow the general price format described below. If this element is omitted, the supplier either supplied no price information or supplied it on a per-leg basis. However if it has an 'Amount' value, then its value represents a price that was attributed by the supplier to the roundtrip flight. The roundtrip price and related price breakdown elements should always be added to the individual leg prices and related breakdowns as suppliers may attribute some parts of the price on a per-leg basis and some parts on a roundtrip basis. For example a supplier may quote the basic flight price for the roundtrip but the tax breakdowns may be stated per leg. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ------SupplierInfoList | Optional | The supplier information that applies to flights in this result group. See specification for general SupplierInfoList below. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ------SubMerchant | Optional | For special cases where multiple suppliers are encapsulated in a single data supplier. At time of addition, the only known case is the Travellink interface which also returns Opodo flights. In this case the value will wither be 'travellink' or 'opodo'. Otherwise the element will be omitted. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ----SupplierInfoList | Optional | The supplier information that applies to this Router's flight results. See specification for general SupplierInfoList below. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| --DisallowedPairingList | Optional | Defines any outward and return flights that cannot be combined to form a bookable trip, even though they may occur in the same group as each other. This element will be empty/ omitted for single journeys. Contains 0 or more 'DisallowedPairing' elements. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ---DisallowedPairing | Optional | Defines an unbookable trip by referring to the IDs of the outward and return legs. Similar format to 'Sorted' element above. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ----OutwardId | The Id of an outward leg. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ----ReturnId | Optional | The Id of an return leg. Will be supplied if and only if a return journey was requested. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| --Summary | Contains details of the relevant airports and locations in this results response. In some cases an airport/ location may be returned by a router but may not appear in the summary. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ---Distance | The distance in metres from the Origin to the Destination |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ---OutwardDate | The requested outward departure date |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ---ReturnDate | Optional | The requested return departure date. Omitted for single journeys |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ---Origin | Contains details of the Origin location for this search. This may not be an airport. Follows general location format described below. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ---Destination | Contains details of the Destination location for this search. This may not be an airport. Follows general location format described below. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General 'Leg' Specification
| XML Field | Dependencies | Description |
| -Id | The id of the flight leg. This is needed to identify the flight in the next stages of the booking process. | |
| -CacheInfo | Cache-related information | |
| --CacheDataAgeSeconds | The age of the data supplied in this leg. For example if the data is one day old, the value will be 86400 |
|
| -SupplierInfoList | Optional | The supplier information that applies to flights in this leg. See specification for general SupplierInfoList below. |
| -Price | Optional | The price of the leg. Will be omitted if there is no per-leg pricing available from the supplier. This element will follow the general price format described below. In general, all price amounts will be quoted in the same currency. However, currencies may sometimes be mixed. For example the Price amount may be in GBP for the outward leg and EUR for the return leg. To deal with this, all price amounts should be converted to a single currency before adding them together. |
| -Duration | The Duration of the leg in minutes | |
| -StopList | Optional | Describes stops that are known to occur within the leg, but that cannot be related to a particular segment. Can contain any number of 'Stop' elements. This tag will almost always be missing but it will be present in the rare case where a supplier does not specify what the sequence of the stops is in relation to the changes. For example a supplier may state that there is a change in CDG and a stop in FRA, but does not specify which comes first. See the general definition of 'stops' below. |
| -SegmentList | The list of segments that make up this leg. Contains 1 or more 'Segment' elements |
|
| --Segment | A flight segment. May contain stops but not changes | |
| ---Origin | The origin of the segment. Follows the general Segment Location format described below. |
|
| ---Destination | The destination of the segment. Follows the general Segment Location format described below. |
|
| ---DepartDate | Optional | The date and time of the departure of the segment |
| ---ArriveDate | Optional | The date and time of the arrival of the segment |
| ---Duration | Optional | The duration of the segment. Will be omitted if any of the fields DepartDate, ArriveDate, Origin, Destination cannot be obtained from the supplier and resolved to a known location. |
| ---FlightId | Optional | Contains information concerning the flight code of the segment |
| ----Code | Optional | The flight code as displayed by the supplier. This may contain characters and/or numbers |
| ----Number | Optional | The numerical code for the flight. If this is not specifically provided by the supplier, TRAVELfusion will attempt to automatically extract it from the FlightId.Code (if that is supplied). However there are some occasions where this cannot be guaranteed to be done correctly. Please contact TRAVELfusion for more details |
| ---Operator | Optional | The actual operator of the flight |
| ----Name | Optional | The free text name of the operator. Often extracted directly from the supplier's data |
| ----Code | Optional | The two letter code for the operator (two alpha-numeric characters). This may be extracted directly from the supplier's data, but if it is not supplied by the supplier, TRAVELfusion will attempt to map the operator name to a code. Occasionally a successful mapping cannot be guaranteed (in which case this field will be omitted). This is in cases where a list of possible operator names is not available for a particular supplier (typically consolidators). When mappings fail during real operation, TRAVELfusion has a manual process in place for updating the mapping system so that the mapping will succeed if the operator name occurs again |
| ---VendingOperator | Optional | The operator responsible for vending the flight. In cases of 'code-sharing', this may be different to the Operator |
| ----Name | Optional | See Operator.Name |
| ----Code | Optional | See Operator.Code |
| ---TravelClass | Optional | The class of travel, as supplied by the supplier |
| ----TfClass | Optional | The TRAVELfusion class of travel. Will be one of the values listed in the 'TravelClass' element spec in the search request. Since the supplier may have any number of classes that may not match the TRAVELfusion list exactly, the most appropriate will be selected. This mapping has similar issues as Operator.Code and is handled in a similar way. |
| ----SupplierClass | Optional | Free text. The class of travel as specified by the supplier. If the supplier does not specify any class of travel, this will be omitted. |
| ---SupplierInfoList | Optional | The supplier information that applies to flights in this segment. See specification for general SupplierInfoList below. |
| ---StopList | Optional | Lists the stops that occur within the segment. See definition of StopList tag above. |
| ---SegmentMayEndWithAStop | Optional | If value is 'true', then it is possible that the passenger will not need to disembark and board another plane at the end of the segment. This element has been introduced to handle the case where a supplier is ambiguous about whether two flight segments are separated by a stop or a change. Currently (at time of this addition to spec) this applies only to 1 supplier. Should be assumed 'false' if omitted. |
General 'SupplierInfoList' Specification
| XML Field | Dependencies | Description |
| SupplierInfoList | Optional | Represents items of information supplied by the supplier that should be displayed to the customer. This will contain any fare rules, terms and conditions and any other information that needs to be displayed. It contains 0 or more 'SupplierInfo' elements |
| -SupplierInfo | Optional | Represents an item of information supplied by the supplier that should be displayed to the customer |
| --DisplayName | The name of the item | |
| --InfoType | The type of the item. Possible values: 'text', 'url' | |
| --Info | If InfoType is 'text', this will contain free text information. If the InfoType is 'url' this will contain a url which can be presented to the user as a normal browser link |
General 'Price' Specification
| XML Field | Dependencies | Description | ||||||
| -Amount | Optional | Contains the total price amount as a floating point number. This will not be rounded, truncated or formatted
in any way. This value includes all the taxes and charges listed below. In the results response, it is guaranteed to include any taxes and charges
that can be obtained from the supplier at the equivalent stage in their interface. |
||||||
| -Currency | Optional | The currency code for the currency that the price was originally supplied in |
||||||
| -AmountWithoutTax | Optional | The total price excluding all taxes. This element will only be supplied if the supplier specifically supplies it, and it cannot be inferred from the other data supplied e.g. if it is not equal to (total price) - (all tax items). The contents of this element will match the general price specification without the 'TaxItemList' element. |
||||||
| -PriceIncludesTax | Optional | Will have value 'true' or 'false'. Value 'true' indicates that the price includes all taxes and charges (except certain special taxes such as credit card charge). Value 'false' indicates that extra charges or taxes (ignoring credit card charge) may be added to the price at a later stage in the booking process. If omitted, should be assumed to be true. |
||||||
| -TaxIsEstimated | Optional | Will have value 'true' or 'false'. Value 'true' indicates that the tax value included in the price has been estimated. Value 'false' indicates that the tax value included in the price is exactly as specified by the supplier. If omitted, should be assumed to be false. |
||||||
| -TaxItemList | Optional | Contains tax breakdown items (0 or more 'TaxItem' elements). These items are not per passenger, and are total amounts for all passengers. In order to determine the total tax amount payable, the TaxItems in this element must be added to all the per-passenger tax items included below |
||||||
| --TaxItem | Optional | A tax item | ||||||
| ---Name | The name of the tax item. If the tax type is recognised, it will be given a pre-defined name from the
following list:
If it is not one of these types of tax, it will be free text as displayed by the supplier (or as interpreted by TRAVELfusion) |
|||||||
| ---Amount | The numeric amount/ cost of this tax item. Formatted as per 'Amount' above |
|||||||
| ---Currency | The currency code for the currency that the TaxAmount was originally supplied in |
|||||||
| -PassengerPriceList | Optional | Will be supplied if relevant and any per-passenger price/ tax breakdown information can be obtained from the supplier. Contains 0 ir more 'PassengerPrice' elements |
||||||
| --PassengerPrice | Optional | Contains the Prices and TaxItems for a particular passenger. The contents of this element will match the general price specification without the 'PassengerPriceList' item. It will also contain an 'Age' element described next. |
||||||
| ---Age | The age of the passenger (as specified in the search request) |
General Flight 'Stops' Specification
If a particular supplier does not specify whether an intermediate landing is a stop or a change, it will be treated as a change if a change of flight code is specified by the supplier and a stop otherwise.| XML Field | Dependencies | Description |
| Stop | Optional | Contains details of a stop |
| -ArriveDate | Optional | The arrival date and time of the 'hop' immediately before this stop. |
| -DepartDate | Optional | The departure date and time of the 'hop' immediately after this stop |
| -Duration | Optional | The duration in minutes of the stop. (i.e. the time between landing and take off) |
| -Location | Optional | The location of the stop. Follows the general Segment Location format described below. |
General 'Segment Location' Specification
| XML Field | Dependencies | Description |
| -Type | Optional | If the supplier specifies the location as a city, this will have value 'city'. If the supplier specifies the location as an airport this will have value 'airport'. If the supplier specifies the location as a train station, this will have value 'trainstation' (only relevant to train suppliers - please contact TRAVELfusion for a list). If the supplier specifies the location as any other type of location then the value will be 'other'. If the location type cannot be determined, this element will be omitted. |
| -Code | Optional. Omitted if 'Type' is not 'airport' or 'city'. | The three letter code for the airport/ city. Omitted if the supplier does not specify the airport/ city TLA and the TLA cannot be reliably inferred from other information provided by the supplier at the appropriate stage. |
| -Terminal | Optional | This element contains a free text description of the airport terminal. For example 'Terminal 1' or 'North Terminal'. This will typically be the text displayed by the supplier. |
| -SupplierDisplayName | Optional | If the Supplier specifies the location using a text string that is not a city or airport, or that cannot be mapped to a TLA, this element will be supplied and will contain the text displayed by the supplier. |
General 'Location' Specification
| XML Field | Dependencies | Description |
| -Location | The location. | |
| --Type | The location type. For possible values, see 'Type' in the Location Resolution Response. Alternatively, if an 'airportgroup' was requested in the search, this will be 'airportgroup'. |
|
| --Id | Optional | The TRAVELfusion Id for this location. Will be omitted if the type is 'airportgroup' |
| --Name | The TRAVELfusion name for this location. | |
| --Country | The country of the location | |
| ---Name | The TRAVELfusion name for the location country. | |
| ---Code | The two letter code of the location country. | |
| --City | Optional | The location city. This will be supplied if the location Type is 'City', or it is 'Airport' and it has a related city. |
| ---Name | The TRAVELfusion name for the city | |
| ---Code | Optional | The three letter city code. Will be omitted if the code is not known for this city |
| --Airport | Optional | The location airport. This will be supplied if the location Type is 'Airport' |
| ---Name | The TRAVELfusion name for the airport. | |
| ---Code | The three letter airport code | |
| -AirportList | Optional | Contains a list of airports in the results response that correspond to this location. Contains any number of 'Airport' elements. |
| --Airport | Optional | Defines an airport |
| ---Code | The three letter airport code | |
| ---Name | The TRAVELfusion name for the airport | |
| ---City | Optional | The city related to the airport. This will be supplied if this airport has a related city. |
| ----Name | The TRAVELfusion name for the city | |
| ----Code | The three letter city code | |
| ---Distance | The floating point distance in metres from the requested location to the airport |
|
| -CityList | Optional | Contains a list of cities in the results response that correspond to this location. Contains any number of 'City' elements. For flight results, the CityList will normally be empty/ omitted as airports are normally used as the origin/ destination. However in some case the supplier may returns cities instead of airports |
| --City | Optional | Defines a city |
| ---Code | The three letter city code | |
| ---Name | The TRAVELfusion name for the city | |
| ---Distance | The floating point distance in metres from the requested location to the city |
About TRAVELfusion | Contact Our API Support Team | Latest API Change - 2nd January

