π¨ Smart Hotel Reservation Agent Welcome to the Smart Hotel Reservation Agent β an AI-powered web application that helps users search for the best hotel deals across multiple booking sites and assists in completing hotel bookings conversationally. Built with Streamlit, powered by Gemini LLM via Google ADK, this project delivers an intelligent and user-friendly hotel booking experience.
β¨ Features
π Hotel Search Assistant Uses Google Search and AI to retrieve up to 15 hotel options based on user queries.
π° Price Comparison Engine Simulates pricing from multiple platforms like Booking.com, Agoda, Trivago, etc., and presents the best deals.
ποΈ Conversational Booking Flow Interactive assistant to help users book a hotel via steps like selecting room type, choosing dates, entering guest info, and final confirmation.
π Summary View Displays a concise summary of search results including price ranges and total hotels found.
β Real-Time Booking Status Tracking Sidebar panel shows the current step and lets users cancel bookings if needed.
π Technologies Used Python 3.10+ Core programming language Streamlit Frontend web interface Google ADK LLM-based agents + tool integration Gemini-2.0-Flash Language model used for search and conversation LiteLLM Lightweight LLM model wrapper Pydantic Data validation for structured responses
π¦ Installation Make sure you have Python 3.10+ installed.
Clone the Repository git clone https://github.com/your-username/hotel-agent.git cd hotel-agent
Install Dependencies pip install -r requirements.txt
Set Google API Key Replace in the code or use environment variable: export GOOGLE_API_KEY="your_google_api_key_here"
π File Structure . βββ hotel_agent_app.py # Main Streamlit application βββ requirements.txt # Project dependencies βββ README.md # This file π§ Agent Architecture The app utilizes two custom LLM Agents:
1. π hotel_search_agent Searches for hotels via google_search tool. Returns structured hotel data in JSON format. Enriches hotel data with mock price comparison from 8 booking sites.
2. π booking_agent Conversational flow for hotel booking. Handles room type selection, dates, guest info, and confirmation. Maintains multi-step booking state in memory.
π¬ Sample Commands Try the following prompts: Find hotels in Goa under 10000 Book The Leela Palace 2 guests for 2 nights confirm booking
π§ͺ Demo Walkthrough
- Enter prompt like "Find hotels in Mumbai"
- View hotel cards with best prices from multiple sites
- Click "π Book" to begin booking
- Select room type, dates, number of guests
- Confirm your booking and receive booking ID
π Notes The hotel prices and links are mocked for demonstration. Booking logic is state-driven and easily extendable. All sessions are stored in-memory, not persistent.
π§Ύ Requirements litellm streamlit google-adk Install via:
bash pip install -r requirements.txt
π Future Enhancements π Add authentication and user accounts π§ Integrate real hotel APIs like Booking.com, Expedia π§ Send email confirmations using SMTP or SendGrid πΎ Add persistent session/database support