Travelfusion Direct Connect XML API >
Incremental Updates
This service enables the customer to poll for all new/ up-to-date flight prices that Travelfusion obtains from any source, as soon as it is obtained.
To receive this data:
Poll repeatedly until no data is returned.
Stop polling for 1 minute.
Go back to step 1.
Polling
The polling request looks like this:
<CommandList>
<GetIncrementalUpdates>
<XmlLoginId>***</XmlLoginId>
<LoginId>***</LoginId>
<LastPoll>34534</LastPoll>
<Supplier>ezy</Supplier> <!-- Mandatory. 1 supplier at a time -->
<CompressedSegments>true</CompressedSegments> <!-- must be set to 'true' -->
</GetIncrementalUpdates>
</CommandList>
The value of 'LastPoll' should be whatever you received in our previous response querying for the same supplier in the 'LastPoll' element (use 0 in case of no previous requests), i.e. you will have to track 'LastPoll' value per supplier.
You must submit CompressedSegments with value 'true'. As a result the 'SegmentList' element (see below) will be omitted and a compressed version will be returned instead. The format is described here: Compressed Segments.
The response looks like this:
<CommandList>
<LoginId>*****</LoginId>
<LastPoll>73737</LastPoll>
<FaresList>
<Fares>
<Supplier>ryanair</Supplier>
<Origin>
<Code>ALC</Code>
<Type>airport</Type>
</Origin>
<Destination>
<Code>GSE</Code>
<Type>airport</Type>
</Destination>
<OutwardDate>29/05/14-08:54</OutwardDate>
<TravellerType>adult</TravellerType>
<TravellerNumber>1</TravellerNumber>
<DoNotUseForOneways>false</DoNotUseForOneways>
<DoNotUseForRoundtrips>false</DoNotUseForRoundtrips>
<IsReturnPartOfRoundtrip>true</IsReturnPartOfRoundtrip>
<GroupList>
<Group>
<OutwardList>
<Outward>
<CacheInfo>
<CacheDataAgeSeconds>356</CacheDataAgeSeconds>
</CacheInfo>
<Price>
<Amount>1022.00</Amount>
<Currency>SEK</Currency>
<PriceIncludesTax>true</PriceIncludesTax>
<TaxItemList>
<TaxItem>
<Name>Taxes and Fees</Name>
<Amount>73.00</Amount>
<Currency>SEK</Currency>
</TaxItem>
</TaxItemList>
</Price>
<Duration>215</Duration>
<SegmentList>
<Segment>
<Origin>
<Code>ALC</Code>
<Type>airport</Type>
</Origin>
<Destination>
<Code>GSE</Code>
<Type>airport</Type>
</Destination>
<DepartDate>29/05/14-06:40</DepartDate>
<ArriveDate>29/05/14-10:15</ArriveDate>
<Duration>215</Duration>
<TFOperator>
<Name>Ryanair</Name>
<Code>FR</Code>
</TFOperator>
<TFVendingOperator>
<Name>Ryanair</Name>
<Code>FR</Code>
</TFVendingOperator>
<Operator>
<Name>Ryanair</Name>
<Code>FR</Code>
</Operator>
<VendingOperator>
<Name>Ryanair</Name>
<Code>FR</Code>
</VendingOperator>
<FlightId>
<Code>FR9086</Code>
<Number>9086</Number>
</FlightId>
<TravelClass>
<SupplierClass>Economy With Restrictions</SupplierClass>
</TravelClass>
<SegmentMayEndWithAStop>false</SegmentMayEndWithAStop>
</Segment>
</SegmentList>
</Outward>
</OutwardList>
</Group>
</GroupList>
</Fares>
...........
...........
</FaresList>
</GetIncrementalUpdates>
</CommandList>
Polling for grouped supplier could yield different response, 'Price' element could appear at 'Group' level, leg prices might not be present, example(with compressed segments mentioned below enabled):
<Group>
<Price>
<Amount>323.00</Amount>
<Currency>EUR</Currency>
<PriceIncludesTax>true</PriceIncludesTax>
<TaxItemList>
...........
...........
</TaxItemList>
</Price>
<OutwardList>
<Outward>
<CacheInfo>
<CacheDataAgeSeconds>354</CacheDataAgeSeconds>
</CacheInfo>
<Duration>145</Duration>
<CompressedSegmentList>
...........
...........
</CompressedSegmentList>
</Outward>
</OutwardList>
<ReturnList>
<Return>
<CacheInfo>
<CacheDataAgeSeconds>354</CacheDataAgeSeconds>
</CacheInfo>
<Duration>140</Duration>
<CompressedSegmentList>
...........
...........
</CompressedSegmentList>
</Return>
</ReturnList>
</Group>
Please refer to CheckRouting Response for detailed descriptions of generic xml elements, specifically group and leg level 'Price' description, to be able to determine roundtrip price correctly for grouped suppliers.
Note
For some grouped suppliers outward and return leg's segments' departure date might not match
FaresList>Fares>OutwardDate/ReturnDate. Please use Segment's departure date in such cases to determine actual outward/return dates.
Note
Passenger breakdown is not provided within 'Price' element at the moment as prices are per one adult.
The following 3 elements have special meanings:
<DoNotUseForOneways>: If true, this indicates that the price is only valid as part of a roundtrip flight.
<DoNotUseForRoundtrips>: If true, this indicates that the price is only valid as a oneway flight.
<IsReturnPartOfRoundtrip>: If true, then this data was received as the return part of a roundtrip search.
This means that if you use this data for an outward flight, there is a risk that
the price will not be fully accurate due to currency conversion issues.
When this flag is false, the flight was an outward leg, and so there is a similar
risk in using the data as the return part of a roundtrip.
Travelfusion has now released a more concise version of this specification, as it currently creates a large amount of
unnecessary XML data (EDIT: see CompressedSegments added in the request above)
All customers are now required to move to the new format within a reasonable amount of time (3 months).