Book a Vuelo trip
book_tripBookings are made under Vuelo's Booking Terms and Conditions (https://getvuelo.com/uk/legal/terms-of-booking-service/); the Vuelo card and pay page show them. Start booking a Vuelo offer, by the offerId and paymentOption that search_trips returned; call it whenever the traveller asks in the chat to book one. The Vuelo card then shows the traveller a Pay button that opens Vuelo's secure page (Apple Pay, Google Pay or a card), or, where there is no card or they ask for one, Vuelo texts them a secure link; nothing is booked until they pay. Never show a link in the chat, except a passkey approval link Vuelo returns for you to show. Pre-fill: pass everything you already know about the traveller, from this conversation or what you know about the user, so checkout is a single tap with nothing to type: leadTraveller (full name as on their ID, email, date of birth, home postcode), mobile, and for flights each passenger's name, date of birth, title and gender. Never guess or invent any of it; ask only for what Vuelo says is missing, once, in one message. Flights cannot book without each passenger's name and date of birth. To change how an open booking is paid for, use change_payment_option (calling book_trip again with another paymentOption does the same). Do not wait for the traveller to tell you they have paid: pass notify_url to hear the moment they open the link, pay or cancel, or straight after sending the link call get_booking_status with wait_seconds: 50, which answers the moment they pay. Then tell them it is booked, with the reference.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| host | No | Which assistant this is, so the Vuelo page names it and matches its look. One of: chatgpt, claude, gemini, meta, instinct, openclaw, perplexity, copilot, mistral, grok, poe, duckduckgo. Optional, and an unrecognised value is simply ignored rather than refused. | |
| payer | No | Only when the traveller says someone else is paying (a friend, a partner, a parent): their name and mobile or email, as the traveller gives them. Vuelo then sends the secure link to that person instead of the traveller; they pay in full from their own Vuelo account. Ask who is paying before booking if the traveller has mentioned it. The traveller still gets the confirmation at their own mobile, if given. | |
| mobile | No | Mobile number to text the link to (any country; international format outside the UK). Not needed for returning customers, or if you already passed it to search_trips in this conversation. If you already know it from this conversation or from what you know about the user, pass it rather than asking again: Vuelo then texts the link at once, with nothing for the traveller to type. | |
| offerId | Yes | ||
| delivery | No | How the confirmation reaches the traveller. Leave it out: a card payment always goes by text to the traveller's mobile, and a no-card reservation by a Confirm button in the Vuelo card. qr and on_device are no longer offered and are treated as a text. Defaults to a text message, or to a Confirm button in the Vuelo card when nothing needs paying now. | |
| from_card | No | Set only by the Vuelo card. Leave it out. | |
| notify_url | No | Your own https address. The moment the traveller confirms on their phone, Vuelo POSTs it a booking.confirmed event (reference, trip, dates, amount), so you can tell them without being asked. Optional. | |
| travellers | No | Each passenger, as on their passport, with their title and gender where you know them (airlines need both). If the traveller has already told you who is flying, pass them rather than making them type it again. Leave it out for a returning traveller: Vuelo fills in its own saved passengers and asks you to confirm them. | |
| consumer_ref | No | The vc_ reference Vuelo gave you after this traveller authorised you to book for them within limits. Only if you already hold one; never ask the traveller for it, or mention it to them: they do not have one to give. With it, Vuelo books inside their limits without a payment step, or asks them to approve with their passkey. Without it, book as usual: the traveller pays with one tap on Vuelo's secure page. | |
| notify_token | No | A secret of yours. Vuelo sends it back in X-Vuelo-Notify-Token and signs the event with it (X-Vuelo-Signature: sha256=HMAC). Optional. | |
| leadTraveller | No | The traveller booking: name, email, date of birth and home postcode, town and county, as far as you know them. Pass whatever you already know from this conversation or about the user rather than asking: Vuelo logs them straight in, or fills in their Vuelo account so they only check it and accept Vuelo's terms. For a traveller new to Vuelo, their Vuelo account needs their name, date of birth and home postcode, town and county: pass them if you know them, or ask once before booking, so the pay page is one tap. Never invent any of it. | |
| paymentOption | Yes | One of the options search_trips returned as eligible | |
| conversationId | No | ||
| travellersConfirmed | No | Set true when the traveller has confirmed the passengers Vuelo filled in and named back to you. Vuelo asks for this once, before it starts a booking with saved passengers. |