Skip to main content

Transfer Fast Search

Transfer Fast Search lets a client request one-way or round-trip transfer availability with only a destination, transfer direction, and optionally the airport IATA and transfer times.

The destination is the POBLACION.Identifier returned by Static Data destinations. It is not a location code, accommodation code, airport code, zone code, or GIATA code.

Flow overview

Transfer Fast Search is handled through the standard Booking API flow:

  1. DestServicesAvailV2 receives the FastSearch node and returns either indicative quote-only prices or a reservable EchoToken.
  2. DestServicesBookV2 is only allowed with a real EchoToken returned by a reservable Fast Search availability.
  3. DestServicesCommitV2 confirms the booking and must receive the real hotel name and address in TransferAddress.

Quote-only availability cannot be booked. To continue to Book and Commit, repeat the AVAIL request with the airport IATA and all transfer times required by the selected trip type.

AVAIL request

Send the FastSearch subnode in:

DestServicesAvailV2 / objRequest / TransferOptions / FastSearch

Fast Search accepts ONEWAYTRIP and ROUNDTRIP. A one-way request has this form:

<TransferOptions Type="ONEWAYTRIP">
<FastSearch>
<FastSearchDestinationID>1234</FastSearchDestinationID>
<FastSearchType>1</FastSearchType>
<FastSearchIATA>AMS</FastSearchIATA>
<FastSearchTime>10:30</FastSearchTime>
</FastSearch>
</TransferOptions>
FieldRequiredDescription
FastSearchDestinationIDYesStatic Data destination identifier (POBLACION.Identifier)
FastSearchTypeYes1 = airport to hotel, 2 = hotel to airport
FastSearchIATARequired for reservable availabilityAirport IATA code
FastSearchTimeRequired for reservable availabilityFirst-leg transfer time in HH:mm format
FastSearchReturnTimeRequired for reservable round-trip availabilityReturn-leg transfer time in HH:mm format. Do not send it for ONEWAYTRIP

Do not combine FastSearch with LocationOriginID, LocationDestinationID, LocationOrigin, LocationDestination, LocationOriginTime, or LocationDestinationTime.

AVAIL request examples

Quote-only request without airport IATA or time:

<TransferOptions Type="ONEWAYTRIP">
<FastSearch>
<FastSearchDestinationID>94304</FastSearchDestinationID>
<FastSearchType>1</FastSearchType>
</FastSearch>
</TransferOptions>

Reservable airport to hotel request:

<TransferOptions Type="ONEWAYTRIP">
<FastSearch>
<FastSearchDestinationID>94304</FastSearchDestinationID>
<FastSearchType>1</FastSearchType>
<FastSearchIATA>AMS</FastSearchIATA>
<FastSearchTime>09:00</FastSearchTime>
</FastSearch>
</TransferOptions>

Reservable hotel to airport request:

<TransferOptions Type="ONEWAYTRIP">
<FastSearch>
<FastSearchDestinationID>94304</FastSearchDestinationID>
<FastSearchType>2</FastSearchType>
<FastSearchIATA>AMS</FastSearchIATA>
<FastSearchTime>09:00</FastSearchTime>
</FastSearch>
</TransferOptions>

Reservable round-trip request, with airport to hotel as the first leg:

<TransferOptions Type="ROUNDTRIP">
<FastSearch>
<FastSearchDestinationID>94304</FastSearchDestinationID>
<FastSearchType>1</FastSearchType>
<FastSearchIATA>AMS</FastSearchIATA>
<FastSearchTime>09:00</FastSearchTime>
<FastSearchReturnTime>18:30</FastSearchReturnTime>
</FastSearch>
</TransferOptions>

FastSearchType identifies the first leg. The return leg automatically uses the opposite direction. The same airport and hotel tariff cross must be active in both directions.

Availability modes

Reservable availability

When destination, transfer type, IATA, and every required transfer time are provided, the response is reservable:

  • EchoToken contains the search token.
  • AvailabilityMode is not returned.
  • The normal Book and Commit flow can continue with the returned booking codes.

Quote-only availability

When destination and transfer type are provided but the IATA or a required transfer time is missing, the response is indicative only:

  • EchoToken="0".
  • AvailabilityMode="QuoteOnly_IndicativePrice".
  • Prices are returned as an indication, but the response cannot be booked.

An invalid IATA code does not fall back to quote-only. It returns a validation error.

AVAIL response

Fast Search uses the standard DestServicesAvailV2Result response.

For quote-only availability, the root response node includes the AvailabilityMode attribute:

<DestServicesAvailV2Result EchoToken="0"
AvailabilityMode="QuoteOnly_IndicativePrice">
...
</DestServicesAvailV2Result>

For reservable Fast Search availability, AvailabilityMode is not returned:

<DestServicesAvailV2Result EchoToken="142080">
...
</DestServicesAvailV2Result>

AvailabilityMode is only returned for quote-only Fast Search availability. It is not returned for reservable Fast Search availability or for non-Fast Search availability.

BOOK

DestServicesBookV2 does not include any Fast Search-specific request node.

Do not send:

  • TransferOptions
  • FastSearch
  • BookRequestV2Concept.Hour

Use the standard transfer Book request with the real EchoToken, ProductBookingCode, and ConceptBookingCode returned by a reservable AVAIL response. For transfer Book requests, ProductBookingCode is sent directly under objRequest.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ws="http://xml.ineedtours.com/ws/">
<soapenv:Header/>
<soapenv:Body>
<ws:DestServicesBookV2>
<ws:objCredentials>
<ws:Source>
<ws:RequestorID Type="DSP" ID="YOUR-USER" MessagePassword="YOUR-PASSWORD"/>
</ws:Source>
</ws:objCredentials>
<ws:objRequest EchoToken="142080" PrimaryLangID="ES">
<ws:ProductBookingCode>...</ws:ProductBookingCode>
<ws:Concepts>
<ws:BookRequestV2Concept>
<ws:ConceptBookingCode>...</ws:ConceptBookingCode>
</ws:BookRequestV2Concept>
</ws:Concepts>
</ws:objRequest>
</ws:DestServicesBookV2>
</soapenv:Body>
</soapenv:Envelope>

Book cannot be used with EchoToken="0" returned by quote-only availability.

The Book response is the standard DestServicesBookV2Result response. It does not return Fast Search-specific nodes.

COMMIT

DestServicesCommitV2 does not receive the FastSearch node again.

For Fast Search bookings, the real hotel name and address must be sent in:

DestServicesCommitV2 / objRequest / TransferAddress

Only the hotel side must be completed in TransferAddress. For ROUNDTRIP, send the hotel data once, on the side indicated by the original FastSearchType; the API applies it to both related transfer services.

For FastSearchType = 1 (airport to hotel), the hotel is the destination:

NodeAttributeMandatory
objRequest\TransferAddressDestinationNameRequired
objRequest\TransferAddressDestinationAddressRequired
<objRequest PrimaryLangID="ES" EchoToken="..." TransactionIdentifier="...">
<TransferAddress DestinationName="Hotel name"
DestinationAddress="Hotel address"/>
<Concepts>
...
</Concepts>
</objRequest>

For FastSearchType = 2 (hotel to airport), the hotel is the origin:

NodeAttributeMandatory
objRequest\TransferAddressOriginNameRequired
objRequest\TransferAddressOriginAddressRequired
<objRequest PrimaryLangID="ES" EchoToken="..." TransactionIdentifier="...">
<TransferAddress OriginName="Hotel name"
OriginAddress="Hotel address"/>
<Concepts>
...
</Concepts>
</objRequest>

The hotel data sent in TransferAddress is operational free text. It is not a location ID, accommodation ID, GIATA code, or coordinate search.

The Commit response is the standard DestServicesCommitV2Result response. It does not return Fast Search-specific nodes.

Validation rules

  • TransferOptions Type must be ONEWAYTRIP or ROUNDTRIP.
  • FastSearchDestinationID must be greater than zero.
  • FastSearchType must be 1 or 2.
  • FastSearchTime, when sent, must use HH:mm.
  • FastSearchReturnTime, when sent for ROUNDTRIP, must use HH:mm.
  • FastSearchReturnTime is not accepted for ONEWAYTRIP.
  • Legacy transfer location fields cannot be sent together with FastSearch.
  • For ROUNDTRIP, the airport IATA is shared by both legs and the same airport/hotel tariff cross must be active in both directions.
  • If no compatible active tariff cross exists for the requested data, the API returns a controlled error.