Your AI-powered hotel research assistant that analyzes Agoda listings to find your perfect stay
A team of specialized agents that analyzes hotel listings from Agoda to create comprehensive accommodation guides. By evaluating locations, amenities, reviews, and value propositions, it helps you find the ideal hotel for your needs and preferences.
- City-based hotel discovery
- Flexible date range selection
- Room and guest configuration
- Advanced filtering options:
- Star rating
- Price range
- Amenities
- Traveler type
| Category | Details |
|---|---|
| π Location | Area, accessibility, nearby spots |
| ποΈ Rooms | Types, sizes, views, amenities |
| π° Value | Pricing, seasonal rates, packages |
| β Quality | Ratings, reviews, guest experiences |
| πββοΈ Facilities | Pools, gyms, restaurants, services |
| π₯ Guest Types | Business, family, couples, solo |
- Hotel property photos
- Room type imagery
- Facility showcases
- Location highlights
- Location advantages
- Best room selections
- Value-for-money analysis
- Seasonal considerations
- Booking strategies
- Check-in/out optimization
- Extra charges awareness
- Upgrade opportunities
- Loyalty program benefits
- Python 3.11 or higher
- Poetry (recommended) or pip
- OpenAI API key
# 1. Clone the repository
git clone https://github.com/jiaweing/agoda-hotel-agent.git
cd agoda-hotel-agent
# 2. Install dependencies
# Using poetry (recommended):
poetry install
# Or using pip:
pip install -r requirements.txt
# 3. Configure settings
cp .env.example .env
# Edit .env with your settingsagoda-hotel-agent/
βββ src/ # Source code
β βββ agents/ # AI agents
β β βββ agoda_scraper.py # Hotel discovery
β β βββ agoda_analyzer.py # Hotel analysis
β β βββ agoda_relevance.py # Hotel matching
β β βββ agoda_aggregator.py # Guide generation
β βββ config.py # Settings
β βββ utils/ # Utilities
β β βββ logging_config.py # Logging setup
β βββ main.py # CLI interface
βββ logs/ # Log files
βββ output/ # Generated guides
βββ requirements.txt # Dependencies
βββ pyproject.toml # Project metadata
| Package | Version | Purpose |
|---|---|---|
| crawl4ai | 0.5.0.post4 | Web crawling |
| crewai | 0.105.0 | Agent orchestration |
| langchain | 0.3.20 | LLM integration |
| langchain-openai | 0.3.7 | OpenAI support |
| beautifulsoup4 | 4.12.3 | HTML parsing |
| markdown | 3.5.2 | Content formatting |
| pillow | 10.4.0 | Image processing |
python src/main.py-
City Selection π
Available Cities: β’ Singapore β’ Bangkok β’ Tokyo β’ Seoul β’ Hong Kong -
Stay Details π
- Check-in/out dates
- Number of rooms
- Adults and children
- Maximum budget
-
Preferences β
- Star rating category
- Required amenities
- Traveler type
- Location preferences
graph TD
A[Search Parameters] --> B[Hotel Discovery]
B --> C[Relevance Matching]
C --> D[Detailed Analysis]
D --> E[Guide Generation]
style A fill:#f9f,stroke:#333,stroke-width:2px
style E fill:#bbf,stroke:#333,stroke-width:2px
-
Hotel Discovery π
- Searches available properties
- Gathers basic information
- Collects visual content
-
Smart Matching π―
- Criteria-based scoring
- Amenity verification
- Price range validation
-
Guide Creation π
- Category organization
- Detailed comparisons
- Personalized recommendations
output/
βββ hotels_in_[city]_[timestamp]/ # e.g., hotels_in_singapore_20250315/
βββ metadata/ # Hotel data
β βββ hotel_details.md # Property info
β βββ screenshots/ # Visual content
βββ guides/ # Final output
βββ full_guide.md # Complete guide
βββ category_guides/ # Focused guides
The system intelligently processes hotel information:
-
Search Range π
- Configurable hotel count
- Smart relevance filtering
- Category-based organization
-
Analysis Depth π
- Comprehensive property details
- Recent review analysis
- Price trend evaluation
- Location scoring
-
Smart Categories π―
- Luxury (5-star)
- Upscale (4-star)
- Mid-range (3-star)
- Budget-friendly
- Special picks by traveler type
graph TD
S[Search Parameters] --> A[Initial Search]
A --> B[Relevance Check]
B --> C{Meets Criteria?}
C -->|Yes| D[Hotel Analysis]
C -->|No| E[Next Hotel]
D --> F[Report Generation]
E --> A
F --> G[City Guide]
style S fill:#f9f,stroke:#333,stroke-width:2px
style G fill:#bbf,stroke:#333,stroke-width:2px
-
Scraper Agent π·οΈ
- Hotel listing discovery
- Property details extraction
- Photo collection
- Rate information gathering
-
Relevance Agent π―
- Criteria matching
- Amenity verification
- Price validation
- Location scoring
-
Analyzer Agent π§
- Detailed property analysis
- Review sentiment analysis
- Value assessment
- Location advantage evaluation
-
Aggregator Agent π
- Guide organization
- Category sorting
- Comparative analysis
- Recommendation generation
-
LLM Integration
- Model: OpenAI GPT
- Temperature: 0.2-0.3
- Structured output
- Consistent formatting
-
Content Processing
- YAML frontmatter
- Markdown formatting
- Screenshot optimization
- Data normalization
We welcome contributions! Feel free to:
- Report bugs
- Suggest features
- Submit pull requests
- Share improvement ideas
MIT License - feel free to use this code in your own projects!