Files
holiday-travel-app/INTERACTIVE_SEARCH_GUIDE.md

287 lines
6.5 KiB
Markdown

# Interactive Terminal Search Scripts
Two PowerShell scripts for searching travel deals via interactive prompts.
## 🚀 Quick Start
### 1. Start the Server
```powershell
npm run dev
```
### 2. Run a Search Script
**Option A: Full Interactive Search** (with detailed feature preferences)
```powershell
.\search-interactive.ps1
```
**Option B: Quick Search** (simplified prompts)
```powershell
.\search-quick.ps1
```
---
## 📋 What You'll Be Asked
### Basic Travel Info
1. **Where are you leaving from?**
- Enter IATA airport code (e.g., `YOW`, `YYZ`, `YUL`, `YVR`)
2. **Where do you want to go?**
- Enter destinations separated by commas (e.g., `CUN,PUJ,MBJ`)
3. **When do you want to travel?**
- Earliest departure date: `2025-12-15`
- Latest return date: `2026-01-15`
4. **How long do you want to stay?**
- Minimum nights: `5`
- Maximum nights: `9`
5. **What's your budget?**
- Enter amount in CAD or leave blank for no limit
6. **Flight preferences**
- Non-stop flights only? (y/n)
### Destination Features (Rate 0-10)
The script will ask you to rate the importance of:
- 🏖️ **Beach** - Direct beach access
- 🏊 **Pool** - Swimming pool facilities
-**Golf** - Golf courses nearby
- 💆 **Spa** - Spa and wellness facilities
- 🍽️ **Food** - Dining options and local cuisine
- 🎉 **Nightlife** - Bars, clubs, entertainment
- 🛍️ **Shopping** - Shopping centers and markets
- 🏛️ **Culture** - Museums, historical sites
- 🚵 **Outdoor** - Hiking, water sports, activities
- 👨‍👩‍👧‍👦 **Family** - Family-friendly amenities
**Rating Guide:**
- `0` = Not important at all
- `5` = Nice to have
- `10` = Must have
### Search Sources
Choose which sources to include:
- Deal sites (YOWDeals, YYZDeals, etc.)
- Skyscanner
- Google Flights
- Air Canada
---
## 🎯 Example Session
```
========================================
Holiday Travel Deal Finder
========================================
Where are you leaving from?
(Enter IATA airport code, e.g., YOW, YYZ, YUL, YVR)
Origin: YOW
Where do you want to go?
(Enter one or more IATA codes, separated by commas)
Examples: CUN,PUJ,MBJ (Caribbean) or LHR,CDG,FCO (Europe)
Destinations: CUN,PUJ,MBJ
When do you want to travel?
Earliest departure date (YYYY-MM-DD):
Start date: 2025-12-15
Latest return date (YYYY-MM-DD):
End date: 2026-01-15
How long do you want to stay?
Minimum nights: 7
Maximum nights: 9
What's your budget?
(Leave blank for no budget limit)
Budget (CAD): 1000
Flight preferences:
Non-stop flights only? (y/n): n
========================================
Destination Features
========================================
Rate the importance of these features (0-10):
0 = Not important, 10 = Must have
Beach access:
Rating (0-10): 10
Swimming pool:
Rating (0-10): 8
Golf course nearby:
Rating (0-10): 2
Spa & wellness:
Rating (0-10): 7
Food & dining options:
Rating (0-10): 9
Nightlife & entertainment:
Rating (0-10): 6
Shopping:
Rating (0-10): 3
Cultural attractions:
Rating (0-10): 4
Outdoor activities (hiking, water sports):
Rating (0-10): 8
Family-friendly:
Rating (0-10): 7
========================================
Search Sources
========================================
Which sources do you want to search?
Deal sites (YOWDeals, etc)? (y/n): y
Skyscanner? (y/n): y
Google Flights? (y/n): y
Air Canada? (y/n): y
========================================
Search Summary
========================================
From: YOW
To: CUN, PUJ, MBJ
Dates: 2025-12-15 to 2026-01-15
Stay: 7-9 nights
Budget: $1000 CAD
Non-stop only: False
Sources: Deals, Skyscanner, GoogleFlights, AirCanada
Top priorities:
beach: ██████████ 10/10
food: █████████ 9/10
pool: ████████ 8/10
========================================
Search now? (y/n): y
Searching for deals...
(This may take 10-30 seconds)
✓ Found 47 results!
========================================
Top Deals
========================================
[1] Ottawa → Cancun (7 nights)
Price: $685 CAD
Duration: 7 nights
Dates: 2025-12-20 → 2025-12-27
Source: Skyscanner Link
Link: https://www.skyscanner.ca/...
Score: 10542
[2] YOW → PUJ (8 nights)
Price: $712 CAD
Duration: 8 nights
Dates: 2025-12-22 → 2025-12-30
Source: yowdeals.com
Link: https://www.yowdeals.com/...
Score: 10235
...
Export all results to CSV? (y/n): y
✓ Exported to travel_deals_2025-10-29_143052.csv
Open top deal in browser? (y/n): y
✓ Opening in browser...
Happy travels! ✈️🏖️
```
---
## 🎨 How Feature Weighting Works
The app matches your preferences with destination profiles:
### Example: Cancun (CUN)
- Beach: 10/10 ⭐⭐⭐⭐⭐
- Pool: 9/10 ⭐⭐⭐⭐⭐
- Golf: 6/10 ⭐⭐⭐
- Spa: 8/10 ⭐⭐⭐⭐
- Food: 8/10 ⭐⭐⭐⭐
- Nightlife: 9/10 ⭐⭐⭐⭐⭐
- Shopping: 7/10 ⭐⭐⭐⭐
- Culture: 5/10 ⭐⭐⭐
- Outdoor: 8/10 ⭐⭐⭐⭐
- Family: 9/10 ⭐⭐⭐⭐⭐
If you rate **Beach: 10** and **Food: 9**, destinations like Cancun will score higher because they excel in those areas.
### Supported Destinations
**Caribbean**: CUN, PUJ, MBJ, NAS
**Europe**: LHR, CDG, FCO, BCN, AMS
**USA**: LAX, LAS, MIA, MCO, HNL
*Other destinations use average ratings*
---
## 💡 Tips
1. **Be specific with priorities** - Rate 3-5 features as 8+ for best matching
2. **Set realistic budgets** - Add 10-15% buffer for better results
3. **Multiple destinations** - Enter 3-5 options to see more deals
4. **Flexible dates** - Wider date ranges (30-60 days) find more options
5. **Save results** - Export to CSV for comparison and analysis
---
## 🔧 Troubleshooting
**"Unable to connect to the remote server"**
- Make sure the dev server is running: `npm run dev`
- Check that it's on port 4000: look for "Local: http://localhost:4000"
**"No deals found"**
- Try removing or increasing the budget
- Expand your date range
- Add more destination options
- Set non-stop to `n` instead of `y`
**Script won't run**
- Enable script execution: `Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned`
- Or run with: `powershell -ExecutionPolicy Bypass -File .\search-interactive.ps1`
---
## 📊 Understanding Results
Results are sorted by a **composite score** that considers:
- **Price** (lower is better)
- **Flight type** (non-stop gets bonus)
- **Trip length** (closer to 7 nights is ideal)
- **Source reliability** (curated deal sites get bonus)
- **Feature match** (how well destination matches your priorities)
Higher scores = better matches for your criteria!
---
Happy searching! 🌴✈️