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:
DestServicesAvailV2receives theFastSearchnode and returns either indicative quote-only prices or a reservableEchoToken.DestServicesBookV2is only allowed with a realEchoTokenreturned by a reservable Fast Search availability.DestServicesCommitV2confirms the booking and must receive the real hotel name and address inTransferAddress.
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>
| Field | Required | Description |
|---|---|---|
FastSearchDestinationID | Yes | Static Data destination identifier (POBLACION.Identifier) |
FastSearchType | Yes | 1 = airport to hotel, 2 = hotel to airport |
FastSearchIATA | Required for reservable availability | Airport IATA code |
FastSearchTime | Required for reservable availability | First-leg transfer time in HH:mm format |
FastSearchReturnTime | Required for reservable round-trip availability | Return-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:
EchoTokencontains the search token.AvailabilityModeis 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:
TransferOptionsFastSearchBookRequestV2Concept.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:
| Node | Attribute | Mandatory |
|---|---|---|
objRequest\TransferAddress | DestinationName | Required |
objRequest\TransferAddress | DestinationAddress | Required |
<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:
| Node | Attribute | Mandatory |
|---|---|---|
objRequest\TransferAddress | OriginName | Required |
objRequest\TransferAddress | OriginAddress | Required |
<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 Typemust beONEWAYTRIPorROUNDTRIP.FastSearchDestinationIDmust be greater than zero.FastSearchTypemust be1or2.FastSearchTime, when sent, must useHH:mm.FastSearchReturnTime, when sent forROUNDTRIP, must useHH:mm.FastSearchReturnTimeis not accepted forONEWAYTRIP.- 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.