The Multi-Leg Transfer Search requires the same input parameters as the standard Transfer Search, but will generate results by attempting to create a route using individual routes from up to 4 Transfer Contracts loaded in the system. Routes with lower numbers of legs will be favoured.
The response will return a MultiLegResult node for each route that was successfully created, containing the details and a Booking Token for each individual leg of the overall Transfer.
To book a Multi-Leg Transfer, a Transfer Prebook Request will need to be sent for each leg being booked of the desired Transfer, followed by a Basket Book Request containing a Transfer Book Request for each leg of the Transfer. Each Leg will then be booked as an individual component in iVector with a flag to indicate that it is part of a greater Multi-Leg Transfer.
The structure of this XML will be the following:
The structure of this XML will be the following:
Request
Below is a request for a one way transfer between two resorts, specifying that they are searching for a Multi-Leg Transfer.
<MultiLegTransferSearchRequest>
<LoginDetails>
<Login>test</Login>
<Password>test</Password>
</LoginDetails>
<DepartureParentType>Resort</DepartureParentType>
<DepartureParentID>3703</DepartureParentID>
<ArrivalParentType>Resort</ArrivalParentType>
<ArrivalParentID>4374</ArrivalParentID>
<OneWaySearch>true</OneWaySearch>
<DepartureDate>2023-08-02</DepartureDate>
<DepartureTime>12:00</DepartureTime>
<GuestConfiguration>
<Adults>2</Adults>
<Children>0</Children>
<Infants>0</Infants>
</GuestConfiguration>
</MultiLegTransferSearchRequest>
Response
The response returns a viable 2-Leg route with 3 available options on Leg 1 and 1 available option on Leg 2.
To book the full Multi-Leg Transfer, the user would send a Transfer Prebook request for one of the Legs with seq=1 and another Transfer Prebook Request for the Leg with seq=2.
<MultiLegTransferSearchResponse>
<ReturnStatus>
<Success>true</Success>
<Exceptions />
<ThirdPartyErrors />
</ReturnStatus>
<MultiLegResult>
<MultiLegRoute>
<DepartureParentType>Resort</DepartureParentType>
<DepartureParentID>3703</DepartureParentID>
<ArrivalParentType>Resort</ArrivalParentType>
<ArrivalParentID>4374</ArrivalParentID>
<OutboundDepartureTime>12:00</OutboundDepartureTime>
<OutboundArrivalTime>16:00</OutboundArrivalTime>
<OutboundJourneyTime>240</OutboundJourneyTime>
<Vias>
<Via>
<ArrivalParentType>Port</ArrivalParentType>
<ArrivalParentID>73</ArrivalParentID>
</Via>
<Via>
<ArrivalParentType>Resort</ArrivalParentType>
<ArrivalParentID>4374</ArrivalParentID>
</Via>
</Vias>
<Legs>
<Leg>
<Seq>1</Seq>
<BookingToken>5W5gvz4p1zE01WxDGgaGDyoGMdN4LRDGpJnybePyyXalEFICw==</BookingToken>
<Vehicle>Inside Cabin+Car 5m One Way</Vehicle>
<MinimumCapacity>1</MinimumCapacity>
<MaximumCapacity>4</MaximumCapacity>
<VehicleQuantity>1</VehicleQuantity>
<DepartureParentType>Resort</DepartureParentType>
<DepartureParentID>3703</DepartureParentID>
<ArrivalParentType>Port</ArrivalParentType>
<ArrivalParentID>73</ArrivalParentID>
<OutboundDepartureTime>12:00</OutboundDepartureTime>
<OutboundArrivalTime>14:00</OutboundArrivalTime>
<OutboundJourneyTime>120</OutboundJourneyTime>
<Price>132.00</Price>
<Extras />
</Leg>
<Leg>
<Seq>1</Seq>
<BookingToken>5W5gvz4p1zE01WxDGgaGDyoGMdN2ze7udci1QFgD1XKuY9mzFMQ==</BookingToken>
<Vehicle>Private Car Transfer (1-4 PAX)</Vehicle>
<MinimumCapacity>1</MinimumCapacity>
<MaximumCapacity>4</MaximumCapacity>
<VehicleQuantity>1</VehicleQuantity>
<DepartureParentType>Resort</DepartureParentType>
<DepartureParentID>3703</DepartureParentID>
<ArrivalParentType>Port</ArrivalParentType>
<ArrivalParentID>73</ArrivalParentID>
<OutboundDepartureTime>12:00</OutboundDepartureTime>
<OutboundArrivalTime>14:00</OutboundArrivalTime>
<OutboundJourneyTime>120</OutboundJourneyTime>
<Price>154.00</Price>
<Extras />
</Leg>
<Leg>
<Seq>1</Seq>
<BookingToken>5W5gvz4p1zE01WxDGgaGDyolFmJdYPrWdtMg6ag==</BookingToken>
<Vehicle>Private Van Transfer (1-8 PAX)</Vehicle>
<MinimumCapacity>1</MinimumCapacity>
<MaximumCapacity>8</MaximumCapacity>
<VehicleQuantity>1</VehicleQuantity>
<DepartureParentType>Resort</DepartureParentType>
<DepartureParentID>3703</DepartureParentID>
<ArrivalParentType>Port</ArrivalParentType>
<ArrivalParentID>73</ArrivalParentID>
<OutboundDepartureTime>12:00</OutboundDepartureTime>
<OutboundArrivalTime>14:00</OutboundArrivalTime>
<OutboundJourneyTime>120</OutboundJourneyTime>
<Price>176.00</Price>
<Extras />
</Leg>
<Leg>
<Seq>2</Seq>
<BookingToken>5W5gvz4p1zE01WxDGgaG==</BookingToken>
<Vehicle>Private Car Transfer (1-2 PAX)</Vehicle>
<MinimumCapacity>1</MinimumCapacity>
<MaximumCapacity>2</MaximumCapacity>
<VehicleQuantity>1</VehicleQuantity>
<DepartureParentType>Port</DepartureParentType>
<DepartureParentID>73</DepartureParentID>
<ArrivalParentType>Resort</ArrivalParentType>
<ArrivalParentID>4374</ArrivalParentID>
<OutboundDepartureTime>14:00</OutboundDepartureTime>
<OutboundArrivalTime>16:00</OutboundArrivalTime>
<OutboundJourneyTime>120</OutboundJourneyTime>
<Price>69.00</Price>
<Extras />
</Leg>
</Legs>
</MultiLegRoute>
</MultiLegResult>
</MultiLegTransferSearchResponse>