https://github.com/busrarafa/ai-travel-planner
A conversational AI travel assistant that collects trip preferences through natural multilingual dialogue (English & Chinese) and generates a structured trip profile — integration-ready for itinerary and booking APIs.
https://github.com/busrarafa/ai-travel-planner
gpt4-turbo json language-model llm multi-turn-conversations natural-language-processing openai-api prompt-engineering python3 text-generation
Last synced: 18 days ago
JSON representation
A conversational AI travel assistant that collects trip preferences through natural multilingual dialogue (English & Chinese) and generates a structured trip profile — integration-ready for itinerary and booking APIs.
- Host: GitHub
- URL: https://github.com/busrarafa/ai-travel-planner
- Owner: BusraRafa
- License: mit
- Created: 2026-05-16T04:20:27.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2026-05-16T04:33:48.000Z (about 1 month ago)
- Last Synced: 2026-05-16T06:39:08.858Z (about 1 month ago)
- Topics: gpt4-turbo, json, language-model, llm, multi-turn-conversations, natural-language-processing, openai-api, prompt-engineering, python3, text-generation
- Language: Python
- Homepage: https://mtravel.ai/
- Size: 23.4 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ✈️ AI-Travel-Planer
An AI-powered multilingual travel assistant that collects trip preferences through natural conversation and generates a complete, personalized travel itinerary. Supports both **English** and **Chinese (中文)**.
---
## Overview
AI-Travel-Planer is a conversational travel planning system where an AI assistant named **Martin** guides users through a friendly, natural dialogue to understand their travel needs — then compiles everything into a structured trip plan ready for itinerary generation.
The assistant intelligently collects trip details step by step, handles mid-conversation changes, confirms all details before finalizing, and outputs a clean summary of the trip profile.
---
## How It Works
The assistant follows a two-phase flow:
**Phase 1 — Preference Collection**
Martin engages the user in conversation and progressively collects the following:
| Field | Description |
|---|---|
| **Destination** | Where the user is traveling to |
| **Origin** | Where they are departing from |
| **Traveling With** | Who is joining and total traveler count |
| **Travel Dates** | When the trip starts |
| **Duration** | How many days the trip lasts |
| **Purpose** | Type of trip — leisure, business, cultural, foodie, etc. |
| **Transportation** | Preferred mode of travel within the destination |
**Phase 2 — Confirmation & Finalization**
Once all fields are collected, Martin presents a full summary for user confirmation. Users can make natural language edits (e.g. "change the duration to 10 days") and the assistant updates accordingly — then re-confirms before generating the final trip profile.
A trip description is automatically generated from the full conversation to capture motivations, preferences, and experience goals for downstream itinerary planning.
---
## Key Features
- Conversational AI assistant with distinct personality and tone (Martin from Travel Labs)
- Multilingual support — English and Chinese, selectable at initialization
- Smart information extraction from natural language using LLMs
- Handles mid-conversation corrections and field updates gracefully
- Confirms all details before finalizing — users can edit anything before locking in
- Auto-generates a rich trip description from conversation context
- Fuzzy date parsing — understands inputs like "second week of next month"
- Outputs a clean JSON trip profile on confirmation
---
## Tech Stack
- **Language:** Python 3.8+
- **AI:** OpenAI GPT-4 Turbo
- **Language Support:** English, Chinese (via GPT multilingual understanding)
- **APIs:** Booking.com (integration-ready), Google Places
- **Date Parsing:** `python-dateutil`
- **Interface:** CLI (web/app integration-ready via modular `TravelChatbot` class)
---
## Project Structure
```
AI-Travel-Planer/
├── main.py # Core chatbot logic — TravelChatbot class and CLI runner
├── booking.py # Booking.com API integration
├── opentest.py # OpenAI connection testing
├── test.py # General test scripts
├── .gitignore
└── LICENSE
```
---
## Getting Started
### 1. Clone the repository
```bash
git clone https://github.com/your-username/AI-Travel-Planer.git
cd AI-Travel-Planer
```
### 2. Install dependencies
```bash
pip install -r requirements.txt
```
### 3. Set up your `.env` file
```
OPENAI_API_KEY=your_openai_api_key
TRAVEL_API_KEY=your_booking_api_key
```
### 4. Run the assistant
```bash
python main.py
```
---
## Sample Output (Trip Profile JSON)
```json
{
"travel_info": {
"from": "Dhaka, Bangladesh",
"to": "Tokyo, Japan",
"traveling_with": "2 people (couple)",
"when": "second week of June (2025-06-08)",
"duration": "10 days",
"purpose": "sightseeing and cultural exploration",
"transportation": "trains and public transit",
"descriptions of the trip": "A couple seeking an immersive cultural experience..."
},
"status": "complete",
"missing_info": [],
"confirmed": true
}
```
---
## Supported Travel Purposes
The `purpose` field accepts any free-text description. Common examples include:
| Category | Examples |
|---|---|
| **Leisure** | Sightseeing, beach holiday, relaxation, honeymoon |
| **Cultural** | Heritage tours, museum visits, local cuisine exploration |
| **Adventure** | Hiking, trekking, outdoor activities |
| **Business** | Conferences, corporate travel, networking |
| **Family** | Family vacation, theme parks, kid-friendly activities |
| **Solo** | Backpacking, self-discovery, solo exploration |
---
## Future Roadmap
- Real-time hotel and flight price fetching
- Full Booking.com and Skyscanner integration
- Day-by-day itinerary generation from the trip profile
- Map view of the planned itinerary
- Save and share travel plans
- Mobile app and web interface support
- Personal travel dashboard
---
## License
Licensed under the [MIT License](https://github.com/BusraRafa/AI-Travel-Planner/blob/main/LICENSE).