XML Results Response Specification


XML FieldDependenciesDescription
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.
Contains 0 or more 'RequiredParameter' elements. May be omitted if there are no required parameters

-----RequiredParameter Optional

Describes a required parameter

------Name

The possible values for this field are defined in the two tables below. The first part of the table shows data that should be supplied in a 'CustomSupplierParameterList', which can be supplied in the 'BookingProfile' element at any stage of the search/ booking process. Various other parameters can be supplied in the 'CustomSupplierParameterList' that are not specified here as they will never appear in the 'RequiredParameterList'. The BookingProfile element is specified fully in the Terms Request specification.
The second table shows other special parameters that have other effects.

Parameters to be Supplied in a 'CustomSupplierParameterList'
Value Description Format
DateOfBirth The date of birth of the traveller. If this is as a required parameter, it is strongly recommended that you submit the correct date of birth for all passengers. If you do not supply it, the booking may still be made with the supplier, but with an incorrect, estimated, or unspecified date of birth. TRAVELfusion takes no formal responsibility for this behaviour or its effect, but we will do our best to make sure the behaviour is appropriate. Please contact us if you have any concerns about a particular supplier. dd/mm/yyyy
AgentLogin The travelagent login to submit to the supplier free text
AgentPassword The travelagent password to submit to the supplier free text
AgentIATANumber The IATA number of the user free text
AgentIdentifier The agent identifier free text
UserLogin The user login to submit to the supplier free text
UserPassword The user password to submit to the supplier free text
PassportNumber The passport number free text
PassportExpiryDate The passport expiry date dd/mm/yyyy
PassportCountryOfIssue The passport country of issue Two letter country code
NumberOfBags The number of bags to be checked in An integer (0 or more)
FrequentFlyerNumber The frequent flyer number free text
SpeedyBoarding Indicates whether speedy boarding should be requested from the supplier'y' or 'n'
AgencyInvoiceReference This enables an invoice number to be supplied to the supplier for later reconciliationfree text
AgencyPaymentPassword This is the extra password used to identify the agency in cases where a payment account has been set up with the supplierfree text
OnlineCheckinWithEUPassportOrId Requests online check-in from the supplier. The user will need to check in via the supplier's website. Hand luggage only. EU passport/ id only.'y' or 'n'
MealType Specifies which type of meal the end user requires.One of the values listed in the DisplayText element. The format of the DisplayText element will be:
Some text: value1 (description1), value2 (description2), .....
So for example the DisplayText might be:
Please Select a Meal Type: VEG1 (vegetarian), KOSH (Kosher), VEG2 (vegan)
The end user will then need to type in the appropriate value, or if you wish to handle this parameter in a customised fashion,
the DisplayText must be parsed to extract the values and descriptions. The delimeters are the following characters ':,()'.
':' will not appear in the initial text, '(' and ',' will not appear in any of the values.
')' will not appear in the descriptions. Any leading/ trailing whitespace should be trimmed from all values/ descriptions.
Please note that this is an unofficial interim solution and may be subject to improvement or complete alteration at any point in the future.

Parameters with Other Effects
Value Description                   Effect                                                
FullCardNameBreakdown A full breakdown of the name on card If this is specified, the Name on the card must be specified in full detail. See the NameOnCard element in the Terms Request.
CardSecurityNumber Identifies suppliers that may require a 'CVV' credit card security number If this is not specified, the 'SecurityCode' field in the Terms Request may be omitted (although it is recommended to submit it if possible). Otherwise it should always be submitted.
CardStartDate Identifies suppliers that may require a 'StartDate' to be supplied with the credit card details If this is not specified, the 'StartDate' field in the Terms Request may be omitted, although it is recommended to submit it if possible. Otherwise it should always be submitted.
ChildrenAndInfantsSearch Identifies suppliers for which searches for children and infants are enabled If this is not specified, you should only search for adults for this supplier.
ChildrenAndInfantsBooking Identifies suppliers for which bookings for children and infants are enabled If this is not specified, you should only book for adults for this supplier.
DateOfBirthIsNotRequiredForAdults Identifies cases where the date of birth is required, but only for children and infants In some of the cases where 'DateOfBirth' is returned as a required parameter, 'DateOfBirthIsNotRequiredForAdults' may also be returned, indicating that it is only required for children and infants.
UseCardPreRegisteredWithSupplier Identifies suppliers for which a pre-registered credit card can be used for payment.If you wish to take advantage of this option, you should submit this field in the CustomSupplierParameterList in the BookingProfile with value 'true'. You will still need to supply a card in the BookingProfile, but it will not be used for the payment, so a dummy card number should be used.

------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 FieldDependenciesDescription
-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 FieldDependenciesDescription
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 FieldDependenciesDescription
-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.
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 but some of the tax items may be in EUR.

-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:

Tax Item NameDetails
'Credit card surcharge'The fee applied by the supplier for card payments
'Total tax'The total tax amount if a breakdown is not available. If this item is supplied, no other tax items should be.

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 FieldDependenciesDescription
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 FieldDependenciesDescription
-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 FieldDependenciesDescription
-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