Complete Trip: voice-first flight and hotel booking, built on Vocal Bridge
Published 14 August 2026
A conversational travel planner that captures intent by voice, pulls live flights and hotels from Sabre, and keeps an on-screen trip summary in sync as you decide.
TL;DR Built by Team Omega's Jacques Hasard, Jonathan Yue, Sophie Zhai, and Madhu Sudan Vashist, Complete Trip is a voice-first travel planner on Vocal Bridge's Voice for your app surface. A traveler describes the trip out loud, the agent runs live flight and hotel searches against Sabre, and the results and running total render on screen while the conversation continues. When plans change, the agent re-runs the search and the screen updates without the traveler repeating themselves. It was a finalist at the Deeplearning.ai Voice AI Hackathon: The Complete Trip, powered by Sabre and VB.
The problem: booking a trip is iterative, and forms fight you
Planning even a short trip is a moving target. You start with a rough intent, be in the Bay Area tomorrow, near a specific museum, for two nights, and refine as constraints surface. There are no non-stop flights on your dates. The hotel you liked is non-refundable. The whole trip needs to slide a day.
Booking sites make you carry all of that yourself. You fill a form, read results, go back, change a field, re-read, and repeat, holding the trade-offs between price, refund policy, and timing in your head the whole time. The intent is conversational, but the interface is a stack of dropdowns and reloads.
What Complete Trip built
Complete Trip turns that back-and-forth into a conversation. A traveler states the trip in plain language and the agent handles the mechanics: searching live inventory, narrating trade-offs, adjusting when the plan shifts, and assembling a final itinerary with a total the traveler can confirm out loud. Searches run against Sabre, so the options are real inventory, not mock data.
The design is a clean division of labor between talking and seeing. Voice carries the messy, iterative intent and lets the traveler interrupt at any point. The screen does what voice cannot, showing two flights or two hotels side by side so price and refund policy are comparable at a glance.
How they use Vocal Bridge
Complete Trip is built on Vocal Bridge's Voice for your app surface, where the voice agent and the web UI exchange actions on the same real-time data channel. When the agent returns search results, cards populate on screen. When the traveler selects a flight or hotel by voice, or taps a result directly, the agent's state updates without the choice being repeated. The running trip summary and total are the shared source of truth.
The split is straightforward: Complete Trip owns the agent logic, prompt design, and Sabre integration; Vocal Bridge owns the voice channel, real-time transport, streaming speech, barge-in, transcript streaming, and the client action bus that keeps speech and UI in lockstep.
import { useAgentActions } from "@vocalbridgeai/react";
const { onAction, sendAction } = useAgentActions();
// agent → app: search results render as cards on screen
onAction("show_options", ({ flights, hotels }) => {
setResults({ flights, hotels });
});
// app → agent: traveler tapped a card, so the agent need not re-ask
const handlePick = (kind, id) => sendAction("select_option", { kind, id });
Illustrative. The real implementation carries richer flight and hotel fields.
What's hard about voice here
Dead air while a live search runs. Querying Sabre for real flights and hotels takes time, and silence in a voice call reads as a broken agent. Complete Trip fills the wait with destination context (weather, neighborhoods, getting around) rather than a spinner, using Vocal Bridge's streaming speech so the agent keeps talking while the tool call resolves.
Keeping speech and screen in agreement. The traveler can act by voice or by tap, and the agent has to treat both as the same intent so it never asks a question the screen already answered. Vocal Bridge's bidirectional data channel carries client actions both ways, so a tap and a spoken "option one" land as the same state change.
Interruptions mid-turn. Real conversation is not tidy. In the demo the traveler cuts in with "I can't see them on screen" while the agent is mid-sentence, and the agent has to yield, re-send the results, and recover. Vocal Bridge handles the barge-in and turn-taking so an interruption resolves cleanly instead of talking over the user.
Complete Trip already demonstrates the right multimodal split. The production levers are equally concrete: make every retry and re-send visible, preserve the selected state through interruptions, and confirm consequential changes in both speech and screen.
Why voice for trip planning
A trip is defined by constraints you discover as you go, and voice keeps up. A form asks you to know the answer before you ask the question, to commit to dates and airports up front, then start over when the plan changes. A conversation lets you say "move the whole trip one day" and lets the system do the re-work. The screen still earns its place for the part voice is bad at, comparing several priced options at once. The strongest version is not voice instead of a UI but voice and a UI that stay in sync.
Create your free account, deploy a voice agent, and integrate it into your app
No credit card required.
Sign Up Free →Full Developer Guide