This project introduces a next-generation travel planner that goes beyond finding the cheapest flight. By leveraging a multi-agent system (CrewAI), Google Gemini LLM, Amadeus, and Serper APIs, the planner recommends not just cost-effective routes from Melbourne (MEL) to Bengaluru (BLR), but also turns layovers into enriching stopovers. For each potential stopover city, the system generates personalized city guides—covering food, hotels, and attractions—making every journey an opportunity for adventure, not just a transfer.
Introduction
Traditional travel aggregators like Skyscanner or Google Flights focus on minimizing time and cost, treating layovers as inconveniences. This project reimagines travel planning by orchestrating specialized AI agents to recommend journeys that balance price and experience. Layovers become opportunities for exploration, with AI-curated guides for each stopover city, tailored to the traveler’s interests.
UI Preview
Methodology
1. Agent Design and Orchestration
Flight Planner Agent: Finds direct and 1-stop flights using the Amadeus API.
Route Evaluator Agent: Ranks and scores flight options by price and stopover experience, factoring in user interests.
Local Guide Agent: Generates 1–2 day itineraries for stopover cities using web search (Serper API) and web scraping, with robust fallback content.
Agents are orchestrated using CrewAI, which manages task sequencing, context passing, and error handling.
2. Tool Integration
FlightSearch Tool: Integrates with Amadeus API for real-time flight data.
StopoverEvaluator Tool: Custom logic for scoring and ranking flights, supporting multiple data formats and interest-based bonuses.
SerperApiToolWrapper: Performs semantic web search, returning real URLs and descriptions.
ScrapeWebsiteToolWrapper: Extracts content from top web results, with city-specific fallback itineraries.
3. Workflow
User Input: Origin, destination, date, and interests are entered via the Streamlit UI.
Flight Search: The Flight Planner agent retrieves flight offers.
Route Evaluation: The Route Evaluator agent scores and selects the best routes.
Itinerary Generation: The Local Guide agent creates detailed stopover plans.
Results Display: The UI presents top flight options and itineraries, with download capability.
4. Frontend Interface
Streamlit App: Provides a modern, responsive interface with:
Sidebar for trip details and preferences
Progress bar and status updates
Card-based display of flights and itineraries
Downloadable travel plan (JSON)
UI snapshot: ui-preview.png
Experiments
1. Evaluation Setup
The planner was tested with a variety of real-world travel scenarios, including:
Multi-leg international trips
Stopover optimization for user interests (e.g., food, culture)
Edge cases with limited flight options
2. Sample Queries
“Find the best flights from Melbourne to Bengaluru with a cultural stopover.”
“Show me routes with the shortest layover and best food experiences.”
“Plan a trip from NYC to Tokyo with a 1-day stop in Singapore.”
3. Deployment Environment
Local testing via:
streamlit run src/travel_planner/ui.py
Requires API keys for Gemini, Amadeus, and Serper in .env
Results
Accuracy: The system reliably finds optimal flights and generates relevant, city-specific itineraries.
Latency: Fast, interactive responses thanks to Gemini LLM and efficient API/tool integration.
User Experience: The conversational, visual interface makes complex travel planning accessible to all users.
Conclusion
The Multi-Agent AI Travel Planner demonstrates the power of orchestrated agents and tool integration in automating and enhancing the travel planning process. By combining real-time data, LLM reasoning, and web search, the system delivers a seamless, personalized experience that outperforms traditional manual methods.