A booking link that is already filled in
One address opens our booking form with the route, the time, the class and the rest already in it. The person checks it and pays; nothing is booked by following the link.
It is meant for anyone who sends people to us with the booking already agreed: an assistant answering "book me a transfer from Barcelona airport to Sitges", a hotel desk, a partner site. Add the parameters below to /{language}/book.
The parameters
| Parameter | What it is | Example |
|---|---|---|
| from | Pick-up point, as coordinates. The only one that is required. | 41.2971,2.0785 |
| from_label | What to show in the pick-up field. Without it the field shows the coordinates. | Barcelona Airport (BCN) |
| from_kind | What kind of place the pick-up is: airport, city, station or cruise-port. Say it and the form asks for a flight number on an ordinary ride too. | airport |
| to | Destination. Leave it out and the form opens with that field waiting. | 41.2366,1.8059 |
| to_label | What to show in the destination field. | Sitges |
| when | Scheduled pick-up, with a time offset. Leave it out for a ride as soon as possible. | 2026-09-25T09:30:00+02:00 |
| passengers | How many people travel. Picks the smallest vehicle class that fits. | 4 |
| bags | How many pieces of luggage. Used the same way. | 3 |
| class | The vehicle class, by its name in the machine-readable file. Wins over the party size. | comfort |
| extras | Optional services, by the ids in the machine-readable file. | 1,2 |
| flight | Flight number for an airport pick-up. It reaches the driver. | VY1234 |
| utm_source | Where the link came from. Put your own name here, see below. | your-assistant |
Before you build one
- Nothing in the link is fatal. A parameter we cannot read costs that one field and nothing else: the form still opens, filled in with everything that was readable.
- A group bigger than our largest car is not left to find out on the page. The form opens on the largest class we sell and says the booking needs more than one car - book that one and repeat the booking for the rest, or write to us.
- The language is the first part of the address. /es/book opens the Spanish form, and there is no language parameter.
- Points are coordinates, not place names. Resolve the address first, or send the person to the route page instead.
- The pick-up has to be in Spain. A link with a pick-up outside it opens the form, and the order is refused when it is placed.
- Parameters are added, never renamed or removed. A link built today keeps working.
The same booking, in six languages
Barcelona airport to Sitges, half past nine on 25 September, four people, three bags, Comfort, flight VY1234.
Say where it came from
Put utm_source on the link with your own name, so a booking made through it can be told apart from somebody typing the address. The mark is kept with the order once the visitor accepts cookies; without consent the booking works exactly the same and carries no mark.
The same, for a machine
Every parameter, the vehicle classes with their seat counts, and the optional services with their ids, as JSON. Read it rather than guessing a class name.
https://letsgo-transfer.com/booking-link.jsonPrices, and booking through an API
There is no endpoint for creating a booking: a card payment needs a screen and a person, so the handover ends with this link in any case. A price without signing in is a separate endpoint that answers only to a service token we issue, so talk to us before you build against it.
POST /api/orders/quote