This project presents a simple multi-agent travel planning system that automates key components of trip preparation. The system uses three lightweight agents—Budget Agent, Places Agent, and Itinerary Agent—coordinated using a LangGraph workflow. Each agent interacts with external tools such as geocoding, weather forecasting, place search, and routing APIs. The goal of this phase is to create a functional, end-to-end prototype capable of generating a basic travel itinerary for a given destination. All modules were developed using Python and free/open-source APIs, making the system accessible for learning and experimentation.
Travel planning typically requires gathering information from multiple sources, including weather data, attractions, routes, and estimated costs. This process can be time-consuming for users.
To address this, a multi-agent architecture was implemented where each agent focuses on a specific task:
Identifying relevant places and attractions
Calculating travel cost estimates
Generating a simple itinerary
The system demonstrates how separate agents can collaborate through a structured workflow.
The project uses a modular approach with three main layers:
A graph-based workflow coordinates the execution of each node in sequence:
Geocode Node – Converts destination text to coordinates
Weather Node – Fetches 7-day weather forecast
Places Node – Retrieves attractions, beaches, and food locations
Routing Node – Computes pairwise travel durations
Budget Node – Estimates overall trip cost
Itinerary Node – Generates a text-based travel plan using an LLM
Each agent is a focused module that interacts with external tools:
Budget Agent: Calculates flight, hotel, meal, sightseeing, and contingency estimates
Places Agent: Pulls places data from Geoapify
Itinerary Agent: Uses Groq LLM to produce a readable itinerary
Custom tools were implemented for:
Geocoding (Nominatim)
Weather forecasting (Open-Meteo)
Places search (Geoapify)
Routing matrix (OpenRouteService)
All tools use publicly available APIs and return structured data for downstream use.
To validate the system, several destinations were tested, with “Goa, India” used as the primary example.
Experiment Setup
Input: Destination = “Goa, India”
Default settings: 5 days, 1 person, mid-budget tier
APIs: Active and reachable during testing
Workflow executed from end to end via travel_planner.py
Checks Performed
Geocode returned valid coordinates
Weather node produced a 7-day forecast
Places node fetched 15 attractions, 15 beaches, 15 food spots
Routing node produced a valid matrix
Budget estimation completed without errors
Itinerary agent successfully returned structured text
The system produced the following outcomes:
Geocode: Correct latitude/longitude for Goa
Weather: 7-day forecast with temperature and rainfall data
Places: 45 total points of interest categorized into attractions, beaches, and food
Routing: Travel times computed between sampled locations
Budget: Total estimated cost within ±10% of realistic values
Itinerary: A structured 5-day travel plan generated by the LLM using the collected data
The end-to-end system generated an itinerary successfully, demonstrating proper coordination between all agents and tools.
This Phase 1 implementation successfully demonstrates a basic multi-agent travel planner using free APIs and a graph-based orchestration framework. While the system is simple, it validates the idea that multiple specialized agents can collaborate to generate a complete travel plan. Future phases may include more detailed budgeting, improved routing optimization, human-in-the-loop refinement, and UI integration. This work provides a foundation for experimenting with agentic AI concepts in a practical, real-world project.