An intelligent, multi-agent AI travel planning system that creates personalized itineraries with real-time search capabilities
- Overview
- Key Features
- Tech Stack
- Architecture
- UI Features
- 5-Tier Fallback System
- Installation
- Configuration
- Usage
- API Keys Setup
- Deployment
- Project Structure
- Contributing
- License
- Contact
Agentic AI Trip Planner is a cutting-edge travel planning application that leverages the power of multi-agent AI systems to create comprehensive, personalized travel itineraries. Built with CrewAI, it employs specialized AI agents that collaborate to research destinations, find the best deals, and craft detailed day-by-day travel plans.

- 🤖 Multi-Agent AI System: Three specialized AI agents work together (Location Expert, Guide Expert, Planner Expert)
- 🔄 5-Tier Fallback System: Ensures 99.9% uptime with automatic failover across multiple LLM providers
- 🌐 Real-time Web Search: Live data from the internet for flights, hotels, attractions, and events
- 📱 Beautiful UI: Modern, responsive interface with glassmorphism design and gradient themes
- 💾 Search History: Automatic saving and retrieval of all searches with rich card layouts
- 🎯 Interest-Based Planning: Customizable itineraries based on 24+ travel interests
- 🌍 Global Coverage: Support for 50+ countries and 500+ cities worldwide
🚀 Try it now:
- Streamlit Profile - https://share.streamlit.io/user/ratnesh-181998
- Project Demo - https://agentic-ai-trip-planner-crewai-ykagvec2ng6raotrdaw6sp.streamlit.app/
- Intelligent Agents: Three specialized AI agents collaborate to create comprehensive travel plans
- Location Expert: Researches transportation, accommodation, costs, weather, and visa requirements
- Guide Expert: Discovers attractions, restaurants, activities, and local events
- Planner Expert: Creates detailed day-by-day itineraries with timings and budget breakdowns
✈️ Flight Search: Real-time flight options with pricing and schedules- 🏨 Hotel Search: Accommodation recommendations with ratings and prices
- 🚆 Train Search: Railway options for intercity and international travel
- 🚌 Bus Search: Budget-friendly bus routes and schedules
- Responsive Design: Works seamlessly on desktop, tablet, and mobile
- Glassmorphism Effects: Modern, translucent design elements
- Gradient Themes: Beautiful color gradients inspired by nature (sunrise/sunset)
- Interactive Cards: Rich destination cards with images and video previews
- Dark/Light Modes: Automatic theme adaptation
- Multi-Interest Selection: Choose from 24+ travel interests
- Traveler Customization: Specify adults and children counts
- Date Range Planning: Flexible departure and return dates
- Budget Estimation: Automatic cost calculations per person
- History Tracking: All searches saved with metadata and timestamps
| Technology | Version | Purpose |
|---|---|---|
| Python | 3.10+ | Primary programming language |
| Streamlit | 1.28+ | Web application framework |
| CrewAI | 1.6.1+ | Multi-agent AI orchestration |
| LangChain | 0.1.0+ | LLM integration and chaining |
| Provider | Models | Tier |
|---|---|---|
| Groq | llama-3.3-70b, llama-3.1-8b, mixtral-8x7b, gemma2-9b | Tier 1-4 |
| Google Gemini | gemini-2.0-flash, gemini-1.5-pro | Tier 3-4 |
| Ollama | llama3.2 (local) | Tier 5 |
- DuckDuckGo Search (4.0+): Web search without API keys
- Serper API: Advanced Google search integration (optional)
- Browserless API: Web scraping capabilities (optional)
- Python-dotenv: Environment variable management
- SQLite3: Local database for caching
- File System: JSON/TXT storage for search history
- HTML5/CSS3: Custom styling and layouts
- JavaScript: Interactive elements (embedded in Streamlit)
- Base64 Encoding: Image handling and optimization
┌─────────────────────────────────────────────────────────────┐
│ USER INPUT │
│ (Destination, Dates, Interests, Travelers) │
└────────────────────┬────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ CREW ORCHESTRATOR │
│ (CrewAI Sequential Process) │
└────────────────────┬────────────────────────────────────────┘
│
┌────────────┼────────────┐
▼ ▼ ▼
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ AGENT 1 │ │ AGENT 2 │ │ AGENT 3 │
│ Location │ │ Guide │ │ Planner │
│ Expert │ │ Expert │ │ Expert │
└──────┬───────┘ └──────┬───────┘ └──────┬───────┘
│ │ │
│ Web Search │ Web Search │ Synthesis
│ Tools │ Tools │ Tools
▼ ▼ ▼
┌──────────────────────────────────────────────────────────────┐
│ KNOWLEDGE BASE & CONTEXT │
│ (Transportation, Hotels, Attractions, Events, Costs) │
└────────────────────┬─────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ FINAL ITINERARY OUTPUT │
│ (Day-by-day plan, Budget, Tips, Recommendations) │
└─────────────────────────────────────────────────────────────┘
Request → Tier 1 (Groq llama-3.3-70b) ──✓──> Success
│
✗ (Rate Limit/Error)
│
▼
Tier 2 (Groq llama-3.1-8b) ──✓──> Success
│
✗
▼
Tier 3 (Groq mixtral-8x7b) ──✓──> Success
│
✗
▼
Tier 4 (Google Gemini) ──✓──> Success
│
✗
▼
Tier 5 (Ollama Local) ──✓──> Success
The core feature where users input their travel details and receive AI-generated itineraries.
Features:
- Smart Location Selection: Dropdown menus for 50+ countries and 500+ cities
- Date Range Picker: Flexible departure and return date selection
- Traveler Configuration: Separate inputs for adults and children
- Interest Multiselect: 24+ categories including:
- 🏛️ Sightseeing & Landmarks
- 🍕 Food & Dining
- 🎨 Art & Museums
- 🏖️ Beach & Relaxation
- ⛰️ Adventure & Hiking
- 🎭 Culture & History
- 🛍️ Shopping
- 🎉 Nightlife & Parties
- And 16 more...
Output Includes:
- Comprehensive city introduction
- Day-by-day detailed itinerary with timings
- Restaurant recommendations with cuisine types
- Budget breakdown (flights, hotels, food, activities)
- Visa requirements and travel tips
- Weather forecast and packing suggestions
View and manage all previously generated trip plans.
Features:
- Rich Card Layout: Beautiful gradient cards showing trip summaries
- Metadata Display: Destination, dates, creation timestamp, file size
- Content Preview: Expandable sections to view full itinerary
- Download Options: Export any plan as TXT file
- Smart Sorting: Newest plans first
- Search Filters: (Coming soon)
Discover destinations based on specific travel interests.

17 Interest Categories:
- 🏖️ Beach Destinations
-
🏙️ Urban Exploration
-
🌳 Nature & Wildlife
-
🏰 Castles & Palaces
-
🎭 Festivals & Events
-
🛍️ Shopping Havens
-
🎉 Nightlife Hotspots
-
📸 Photography Spots
-
🧘 Wellness & Spa
-
🏃 Sports & Fitness
-
👨👩👧 Family-Friendly
-
💑 Romantic Getaways
-
🎓 Educational Tours
Each Category Shows:
- Curated destination cards with images
- Price ranges (flights + hotels)
- Best time to visit
- Top attractions
- Insider tips
AI-powered flight search with real-time data.
Features:
- Route Input: From/To city selection
- Date Selection: Departure and return dates
- Passenger Details: Adults and children counts
- Class Selection: Economy, Business, First Class
- AI Analysis: Best deals, layover optimization, price trends
- Results Include:
- Multiple airline options
- Price comparisons
- Flight duration and layovers
- Booking links
- Price alerts and recommendations
Track all flight searches with detailed metadata.

Comprehensive hotel search powered by AI.
Features:
- Location-Based: City/area selection
- Check-in/Check-out Dates: Flexible date ranges
- Guest Configuration: Rooms, adults, children
- Amenity Filters: WiFi, Pool, Gym, Breakfast, etc.
- AI Recommendations:
- Best value hotels
- Luxury options
- Budget-friendly choices
- Location-based suggestions
- User ratings and reviews
Archive of all hotel searches with rich previews.

Railway options for intercity and international travel.
Features:
- Route Planning: Origin and destination stations
- Schedule Search: Date and time preferences
- Class Selection: Sleeper, AC, First Class, etc.
- AI Insights:
- Fastest routes
- Most scenic journeys
- Budget options
- Booking tips
Historical train search records.

Budget-friendly bus travel options.
Features:
- Route Search: City-to-city bus services
- Operator Comparison: Multiple bus companies
- Amenity Filters: AC, WiFi, Sleeper, etc.
- AI Recommendations: Best operators, timing, pricing
Archive of bus search results.

Curated list of popular destinations worldwide.
Features:
- Destination Cards: Beautiful cards with images/videos
- Quick Info: Country, description, price range, hotel options
- 5-Second Video Previews: Autoplay destination highlights
- Interactive Filters: By region, budget, season
- Featured Destinations:
- Bora Bora, French Polynesia
- Monaco, France
- Jerusalem, Israel
- Bologna, Italy
- And many more...
Expert advice and travel hacks.
Categories:
- Pre-Trip Planning: Visa, insurance, packing
- During Travel: Safety, communication, local customs
- Budget Tips: Money-saving strategies
- Health & Safety: Medical prep, emergency contacts
- Cultural Etiquette: Do's and don'ts by country
- Tech Tips: Apps, tools, connectivity
Our revolutionary 5-Tier Fallback System ensures 99.9% uptime by automatically switching between LLM providers when issues occur.
| Tier | Provider | Model | Speed | Quality | Fallback Trigger |
|---|---|---|---|---|---|
| 1 | Groq | llama-3.3-70b-versatile | ⚡⚡⚡ | ⭐⭐⭐⭐⭐ | Rate limit, API error |
| 2 | Groq | llama-3.1-8b-instant | ⚡⚡⚡ | ⭐⭐⭐⭐ | Rate limit, API error |
| 3 | Groq | mixtral-8x7b-32768 | ⚡⚡⚡ | ⭐⭐⭐⭐⭐ | Rate limit, API error |
| 4 | gemini-2.0-flash | ⚡⚡ | ⭐⭐⭐⭐ | Network error, auth failure | |
| 5 | Ollama | llama3.2 (local) | ⚡ | ⭐⭐⭐ | All cloud providers fail |
- Zero Downtime: Automatic failover in milliseconds
- Cost Optimization: Uses free tiers first, paid tiers as backup
- Offline Capability: Tier 5 works without internet
- User Transparency: Real-time status updates during fallback
- Smart Recovery: Automatically returns to Tier 1 when available
The system provides high-visibility alerts during fallback:
- 🚨 Red Alert: Tier 1 failure, switching to Tier 2-3
⚠️ Orange Alert: Cloud providers failed, switching to Tier 5- ✅ Green Success: Operation completed successfully
- Python 3.10 or higher
- pip (Python package manager)
- Git (for cloning repository)
- Ollama (optional, for Tier 5 local LLM)
git clone https://github.com/Ratnesh-181998/Agentic-AI-Trip-Planner-CrewAI.git
cd Agentic-AI-Trip-Planner-CrewAI# Windows
python -m venv .venv
.venv\Scripts\activate
# macOS/Linux
python3 -m venv .venv
source .venv/bin/activatepip install -r requirements.txtCreate a .env file in the root directory:
cp .env.example .envEdit .env with your API keys (see API Keys Setup)
streamlit run ratnesh_app_ULTIMATE.pyThe app will open in your browser at http://localhost:8501
Create a .env file with the following variables:
# Required for Tier 1-3 (Groq)
GROQ_API_KEY=your_groq_api_key_here
# Required for Tier 4 (Google Gemini)
GOOGLE_API_KEY=your_google_api_key_here
# Optional - Advanced Search (if using Serper)
SERPER_API_KEY=your_serper_api_key_here
# Optional - Web Scraping (if using Browserless)
BROWSERLESS_API_KEY=your_browserless_api_key_here
# Optional - Ollama Configuration (Tier 5)
OLLAMA_HOST=http://localhost:11434In the sidebar, you can choose:
- Auto (5-Tier Fallback): Recommended - uses all tiers
- Groq Only: Fast, requires API key
- Google Only: Uses Gemini models
- Ollama Only: Offline mode, requires local Ollama
- Visit Groq Console
- Sign up for a free account
- Navigate to API Keys section
- Create a new API key
- Copy and paste into
.envfile
Free Tier: 30 requests/minute, 14,400 requests/day
- Visit Google AI Studio
- Sign in with Google account
- Click "Create API Key"
- Copy and paste into
.envfile
Free Tier: 60 requests/minute
- Visit Serper.dev
- Sign up for free account
- Get API key from dashboard
- Copy and paste into
.envfile
Free Tier: 2,500 searches/month
For offline capability:
# Install Ollama
# Visit https://ollama.ai/ and download for your OS
# Pull the model
ollama pull llama3.2
# Verify it's running
ollama list- Open the App: Navigate to
http://localhost:8501 - Select Locations: Choose from/to country and city
- Set Dates: Pick departure and return dates
- Configure Travelers: Enter number of adults and children
- Choose Interests: Select from 24+ travel interests
- Generate Plan: Click "🚀 Generate Travel Plan"
- Review Output: Get detailed day-by-day itinerary
- Save/Download: Plans auto-save to
trip_plans/folder
- Navigate to respective tab
- Enter route details (from/to)
- Select dates and passenger count
- Click search button
- Review AI-generated options
- Download results or view in history
- Go to "🎯 Explore by Interest" tab
- Browse 17 interest categories
- Click on any category to see curated destinations
- View destination cards with images, prices, and details
- Push to GitHub:
git add .
git commit -m "Ready for deployment"
git push origin main- Configure Git LFS (for large files):
git lfs install
git lfs track "*.png" "*.jpg" "*.mp4"
git add .gitattributes
git commit -m "Add Git LFS tracking"
git push- Deploy on Streamlit:
- Visit Streamlit Cloud
- Connect your GitHub repository
- Select
ratnesh_app_ULTIMATE.pyas main file - Add environment variables (API keys)
- Click "Deploy"
In Streamlit Cloud settings, add:
GROQ_API_KEY=your_key
GOOGLE_API_KEY=your_key
SERPER_API_KEY=your_key (optional)
Agentic-AI-Trip-Planner-CrewAI/
│
├── ratnesh_app_ULTIMATE.py # Main Streamlit application
├── TravelAgents.py # AI agent definitions
├── TravelTasks.py # Task definitions for agents
├── TravelTasks_LEGACY.py # Legacy detailed tasks
├── TravelTools.py # Search and web tools
│
├── requirements.txt # Python dependencies
├── .env.example # Environment variable template
├── .gitignore # Git ignore rules
├── .gitattributes # Git LFS configuration
│
├── images/ # Destination images
│ ├── bologna.png
│ ├── borabora.png
│ ├── jerusalem.png
│ └── monaco.png
│
├── trip_plans/ # Saved trip itineraries
├── Flight_Search_History/ # Flight search archives
├── Hotel_Search_History/ # Hotel search archives
├── Train_Search_History/ # Train search archives
├── Bus_Search_History/ # Bus search archives
│
├── docs/ # Documentation files
│ ├── 5_TIER_SYSTEM.md
│ ├── DEPLOYMENT.md
│ ├── QUICK_START.md
│ └── API_SETUP.md
│
└── README.md # This file
We welcome contributions! Here's how you can help:
- Check existing issues
- Create a new issue with:
- Clear title and description
- Steps to reproduce
- Expected vs actual behavior
- Screenshots (if applicable)
- Environment details (OS, Python version)
- Open a feature request
- Describe the feature and its benefits
- Provide use cases and examples
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Follow PEP 8 style guide
- Add docstrings to functions
- Write unit tests for new features
- Update documentation
- Test on multiple Python versions (3.10, 3.11, 3.12)
This project is licensed under the MIT License - see below for details:
MIT License
Copyright (c) 2024 Ratnesh Singh
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
This project uses the following open-source libraries:
- Streamlit - Apache License 2.0
- CrewAI - MIT License
- LangChain - MIT License
- Groq SDK - Apache License 2.0
- Google Generative AI - Apache License 2.0
RATNESH SINGH
Data Scientist | AI/ML Engineer | 4+ Years Experience
- 📧 Email: rattudacsit2021gate@gmail.com
- 💼 LinkedIn: linkedin.com/in/ratneshkumar1998
- 🐙 GitHub: github.com/Ratnesh-181998
- 📱 Phone: +91-947XXXXX46
- 🌐 Live Demo: Streamlit App
- 📖 Documentation: GitHub Wiki
- 🐛 Issue Tracker: GitHub Issues
- 💬 Discussions: GitHub Discussions
Special thanks to:
- CrewAI Team - For the amazing multi-agent framework
- Streamlit - For the intuitive web app framework
- Groq - For lightning-fast LLM inference
- Google - For Gemini AI models
- Ollama - For local LLM capabilities
- Open Source Community - For continuous inspiration and support
- Real-time Booking Integration: Direct booking for flights, hotels, trains
- Multi-language Support: 10+ languages
- Mobile App: React Native version
- Social Features: Share itineraries, collaborate with friends
- AI Chat Assistant: Conversational interface for planning
- Price Alerts: Notifications for price drops
- Offline Mode: Full functionality without internet
- Advanced Analytics: Travel insights and statistics
- 5-Tier Fallback System
- Interest-based exploration
- Search history with rich cards
- User authentication
- Saved favorites
- Export to PDF/Google Calendar
Licensed under the MIT License - Feel free to fork and build upon this innovation! 🚀





