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:

  1. Poll repeatedly until no data is returned.

  2. Stop polling for 1 minute.

  3. 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).