mirror of
https://github.com/mblanke/holiday-travel-app.git
synced 2026-03-01 05:20:22 -05:00
371 lines
9.7 KiB
Markdown
371 lines
9.7 KiB
Markdown
# Resort Comparison Tool - User Guide
|
||
|
||
Compare multiple resorts with automatic flight search, TripAdvisor ratings, and feature matching based on your preferences.
|
||
|
||
## 🚀 Quick Start
|
||
|
||
### Option 1: Interactive Mode
|
||
```powershell
|
||
.\compare-resorts.ps1
|
||
```
|
||
Paste your resort list when prompted.
|
||
|
||
### Option 2: Test Mode (Pre-loaded Data)
|
||
```powershell
|
||
.\compare-resorts-test.ps1
|
||
```
|
||
Uses the 14 resorts you provided for testing with departure date Jan 15, 2026.
|
||
|
||
---
|
||
|
||
## 📋 What You Get
|
||
|
||
### 1. **Comparison Grid**
|
||
- Resort rankings based on your preferences
|
||
- TripAdvisor ratings and review counts
|
||
- Price ranges ($$$ - $$$$$)
|
||
- Feature ratings (0-10 scale)
|
||
|
||
### 2. **Flight Information**
|
||
- Automatic flight links for each destination
|
||
- Skyscanner, Google Flights, and Air Canada links
|
||
- Estimated flight prices from Ottawa
|
||
- Departure date: January 15, 2026 (configurable)
|
||
|
||
### 3. **Feature Matching**
|
||
Rate these features 0-10:
|
||
- 🏖️ **Beach** - Direct beach access
|
||
- 🏊 **Pool** - Swimming pool quality
|
||
- ⛳ **Golf** - Golf courses nearby
|
||
- 💆 **Spa** - Spa & wellness facilities
|
||
- 🍽️ **Food** - Dining options
|
||
- 🎉 **Nightlife** - Entertainment
|
||
- 🛍️ **Shopping** - Shopping options
|
||
- 🏛️ **Culture** - Cultural attractions
|
||
- 🚵 **Outdoor** - Activities
|
||
- 👨👩👧👦 **Family** - Family-friendly
|
||
|
||
### 4. **TripAdvisor Ratings**
|
||
- Current ratings (out of 5.0)
|
||
- Number of reviews
|
||
- Integrated into match scoring
|
||
|
||
---
|
||
|
||
## 🏖️ Included Test Resorts
|
||
|
||
### Mexico - Riviera Maya & Tulum (CUN Airport)
|
||
1. **Bahia Principe Luxury Sian Ka'an** - 4.5/5 ⭐ (8,234 reviews)
|
||
2. **Catalonia Royal Tulum** - 4.5/5 ⭐ (6,421 reviews)
|
||
3. **Secrets Akumal Riviera Maya** - 4.5/5 ⭐ (9,127 reviews)
|
||
4. **UNICO 20°87° Hotel Riviera Maya** - 5.0/5 ⭐⭐⭐⭐⭐ (3,894 reviews)
|
||
5. **TRS Yucatán Hotel** - 4.5/5 ⭐ (5,621 reviews)
|
||
6. **Barcelo Maya Riviera** - 4.5/5 ⭐ (12,453 reviews)
|
||
7. **Valentin Imperial Riviera Maya** - 4.5/5 ⭐ (8,934 reviews)
|
||
8. **Grand Sirenis Riviera Maya** - 4.0/5 ⭐ (7,821 reviews)
|
||
9. **Dreams Tulum Resort & Spa** - 4.5/5 ⭐ (6,754 reviews)
|
||
|
||
### Dominican Republic - Punta Cana (PUJ Airport)
|
||
10. **Hyatt Zilara Cap Cana** - 5.0/5 ⭐⭐⭐⭐⭐ (9,821 reviews)
|
||
11. **Secrets Cap Cana** - 4.5/5 ⭐ (8,432 reviews)
|
||
12. **Dreams Onyx Resort & Spa** - 4.5/5 ⭐ (5,643 reviews)
|
||
13. **Royalton CHIC Punta Cana** - 4.5/5 ⭐ (7,234 reviews)
|
||
14. **Iberostar Grand Bávaro** - 4.5/5 ⭐ (6,821 reviews)
|
||
|
||
---
|
||
|
||
## 📊 Example Output
|
||
|
||
### Top 3 Resorts View
|
||
```
|
||
========================================
|
||
🏆 TOP 3 RESORTS FOR YOU
|
||
========================================
|
||
|
||
🥇 #1: UNICO 20°87° Hotel Riviera Maya
|
||
📍 Riviera Maya, Mexico [CUN]
|
||
⭐⭐⭐⭐⭐ 5.0/5.0 (3,894 reviews)
|
||
💰 $$$$$ | ✈️ $500-$800
|
||
🎯 Match Score: 942/1000
|
||
Best Features:
|
||
• pool: ██████████ 10/10
|
||
• spa: ██████████ 10/10
|
||
• food: ██████████ 10/10
|
||
🔗 Flights: https://www.skyscanner.ca/...
|
||
|
||
🥈 #2: Secrets Akumal Riviera Maya
|
||
📍 Akumal, Mexico [CUN]
|
||
⭐⭐⭐⭐⭐ 4.5/5.0 (9,127 reviews)
|
||
💰 $$$$$ | ✈️ $500-$800
|
||
🎯 Match Score: 938/1000
|
||
...
|
||
|
||
🥉 #3: Hyatt Zilara Cap Cana
|
||
📍 Cap Cana, Dominican Republic [PUJ]
|
||
⭐⭐⭐⭐⭐ 5.0/5.0 (9,821 reviews)
|
||
💰 $$$$$ | ✈️ $600-$900
|
||
🎯 Match Score: 932/1000
|
||
...
|
||
```
|
||
|
||
### Comparison Table
|
||
```
|
||
# Resort Dest Airport Rating Price Beach Pool Spa Food Score
|
||
- ------ ---- ------- ------ ----- ----- ---- --- ---- -----
|
||
1 UNICO 20°87° Hotel Riviera Maya CUN 5.0/5 $$$$$ 9 10 10 10 942
|
||
2 Secrets Akumal Akumal CUN 4.5/5 $$$$$ 10 9 9 9 938
|
||
3 Hyatt Zilara Cap Cana Cap Cana PUJ 5.0/5 $$$$$ 10 9 9 9 932
|
||
4 Secrets Cap Cana Cap Cana PUJ 4.5/5 $$$$$ 10 9 9 9 925
|
||
...
|
||
```
|
||
|
||
---
|
||
|
||
## 🎯 How Feature Matching Works
|
||
|
||
Your preferences are matched against each resort's profile:
|
||
|
||
### Example: If you rate Beach:10, Pool:8, Spa:8
|
||
|
||
**UNICO 20°87° Scores High:**
|
||
- Beach: 9/10 × Your rating (10) = 90 points
|
||
- Pool: 10/10 × Your rating (8) = 80 points
|
||
- Spa: 10/10 × Your rating (8) = 80 points
|
||
- **Strong match!**
|
||
|
||
**Grand Sirenis Scores Lower:**
|
||
- Beach: 8/10 × Your rating (10) = 80 points
|
||
- Pool: 8/10 × Your rating (8) = 64 points
|
||
- Spa: 7/10 × Your rating (8) = 56 points
|
||
- **Weaker match**
|
||
|
||
The system combines:
|
||
1. Feature matching score
|
||
2. TripAdvisor rating bonus
|
||
3. Normalized to 0-1000 scale
|
||
|
||
---
|
||
|
||
## ✈️ Flight Information
|
||
|
||
### Automatic Flight Links Generated For:
|
||
|
||
**From:** Ottawa (YOW)
|
||
**To:** CUN (Cancun) or PUJ (Punta Cana)
|
||
**Date:** January 15, 2026
|
||
**Return:** January 22, 2026 (7 nights)
|
||
|
||
Each resort gets:
|
||
- **Skyscanner Link** - Direct search with dates
|
||
- **Google Flights Link** - Google's flight search
|
||
- **Air Canada Link** - Book directly with AC
|
||
|
||
### Estimated Flight Prices
|
||
- **Ottawa → Cancun (CUN):** $500-$800 CAD
|
||
- **Ottawa → Punta Cana (PUJ):** $600-$900 CAD
|
||
|
||
*Prices are estimates. Click links for current prices.*
|
||
|
||
---
|
||
|
||
## 📤 Export Features
|
||
|
||
### CSV Export
|
||
Includes all data:
|
||
- Rankings and match scores
|
||
- All 10 feature ratings
|
||
- TripAdvisor data
|
||
- Flight links (clickable in Excel)
|
||
- Price ranges
|
||
|
||
**Filename Format:**
|
||
```
|
||
resort_comparison_test_2025-10-29_143052.csv
|
||
```
|
||
|
||
### What's in the CSV:
|
||
```
|
||
Rank,Resort,Destination,Country,Airport,DepartureDate,ReturnDate,
|
||
TripAdvisorRating,TripAdvisorReviews,PriceRange,AllInclusive,
|
||
MatchScore,Beach,Pool,Golf,Spa,Food,Nightlife,Shopping,Culture,
|
||
Outdoor,Family,EstFlightPrice,SkyscannerLink,GoogleFlightsLink,
|
||
AirCanadaLink
|
||
```
|
||
|
||
---
|
||
|
||
## 🔧 Customization
|
||
|
||
### Change Departure Date
|
||
In `compare-resorts-test.ps1`, modify:
|
||
```powershell
|
||
$departureDate = "2026-01-15" # Change to your date
|
||
```
|
||
|
||
### Change Trip Length
|
||
```powershell
|
||
$tripLength = 7 # Change to 5, 10, 14, etc.
|
||
```
|
||
|
||
### Change Origin City
|
||
```powershell
|
||
$origin = "YOW" # Change to YYZ, YUL, YVR, etc.
|
||
```
|
||
|
||
### Add Your Own Resorts
|
||
Edit `lib/resorts.ts` and add to `RESORT_DATABASE`:
|
||
```typescript
|
||
"your resort name": {
|
||
name: "Your Resort Name",
|
||
destination: "City",
|
||
country: "Country",
|
||
airportCode: "XXX",
|
||
features: {
|
||
beach: 9, pool: 8, golf: 7, spa: 8,
|
||
food: 9, nightlife: 7, shopping: 6,
|
||
culture: 5, outdoor: 8, family: 9
|
||
},
|
||
tripAdvisorRating: 4.5,
|
||
tripAdvisorReviews: 5000,
|
||
priceRange: "$$$$",
|
||
allInclusive: true
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## 💡 Tips for Best Results
|
||
|
||
### 1. Be Honest with Preferences
|
||
- Rate only what matters to you
|
||
- Don't rate everything 10/10
|
||
- Focus on 3-5 key features
|
||
|
||
### 2. Check Multiple Sources
|
||
- Open Skyscanner for best flight prices
|
||
- Use Google Flights for flexible dates
|
||
- Check Air Canada for direct flights
|
||
|
||
### 3. Read Recent Reviews
|
||
- TripAdvisor ratings are included
|
||
- Click through to read recent reviews
|
||
- Check for seasonal differences
|
||
|
||
### 4. Consider Total Cost
|
||
- Resort price range ($$$ - $$$$$)
|
||
- Flight estimates provided
|
||
- All-inclusive = more value
|
||
|
||
### 5. Compare Similar Resorts
|
||
- Group Mexico resorts together
|
||
- Compare DR resorts separately
|
||
- Different airports = different flight prices
|
||
|
||
---
|
||
|
||
## 📱 Sample Session
|
||
|
||
```powershell
|
||
PS> .\compare-resorts-test.ps1
|
||
|
||
========================================
|
||
Resort Comparison Tool - TEST MODE
|
||
========================================
|
||
|
||
Testing with 14 pre-loaded resorts:
|
||
• Bahia Principe Luxury Sian Ka'an
|
||
• Catalonia Royal Tulum
|
||
...
|
||
|
||
Travel Details (pre-configured):
|
||
From: YOW (Ottawa)
|
||
Departure: 2026-01-15
|
||
Trip Length: 7 nights
|
||
|
||
Rate your feature preferences (0-10):
|
||
Press Enter to use default values
|
||
|
||
Beach importance (0-10, default: 10): 10
|
||
Pool importance (0-10, default: 8): 9
|
||
Golf importance (0-10, default: 5): 3
|
||
Spa importance (0-10, default: 8): 9
|
||
Food importance (0-10, default: 9): 10
|
||
Nightlife importance (0-10, default: 7): 6
|
||
|
||
Your preferences:
|
||
beach: ██████████ 10/10
|
||
pool: █████████ 9/10
|
||
spa: █████████ 9/10
|
||
food: ██████████ 10/10
|
||
golf: ███ 3/10
|
||
nightlife: ██████ 6/10
|
||
|
||
Analyzing resorts and searching flights...
|
||
|
||
========================================
|
||
✓ Analysis Complete!
|
||
========================================
|
||
|
||
[Results displayed...]
|
||
|
||
Export to CSV? (y/n): y
|
||
✓ Exported to resort_comparison_test_2025-10-29_143052.csv
|
||
|
||
Open flights for #1 resort? (y/n): y
|
||
Opening flights for UNICO 20°87° Hotel Riviera Maya...
|
||
|
||
🎉 Comparison complete! Happy vacation planning! 🏖️✈️
|
||
```
|
||
|
||
---
|
||
|
||
## 🆘 Troubleshooting
|
||
|
||
**"Unable to connect to the remote server"**
|
||
- Make sure dev server is running: `npm run dev`
|
||
- Check it's on port 4000
|
||
- Wait 5 seconds after starting server
|
||
|
||
**"Resort not found in database"**
|
||
- Check spelling of resort name
|
||
- Resort may not be in database yet
|
||
- Add it manually to `lib/resorts.ts`
|
||
|
||
**Script won't execute**
|
||
```powershell
|
||
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
|
||
```
|
||
|
||
**Need to add more resorts**
|
||
- Edit `lib/resorts.ts`
|
||
- Add to `RESORT_DATABASE` object
|
||
- Restart server: `npm run dev`
|
||
|
||
---
|
||
|
||
## 📈 Understanding Match Scores
|
||
|
||
**900-1000:** Perfect match - Resort excels in your priorities
|
||
**800-899:** Excellent match - Strong alignment with preferences
|
||
**700-799:** Good match - Meets most requirements
|
||
**600-699:** Fair match - Some alignment
|
||
**Below 600:** Poor match - Consider other options
|
||
|
||
**Score Components:**
|
||
- Feature matching (70%)
|
||
- TripAdvisor rating (30%)
|
||
|
||
---
|
||
|
||
## 🎉 Next Steps
|
||
|
||
1. **Run the test** - `.\compare-resorts-test.ps1`
|
||
2. **Review top 3** - Check flight prices
|
||
3. **Export CSV** - Compare in Excel
|
||
4. **Book flights** - Click Skyscanner links
|
||
5. **Book resort** - Search resort name + "all-inclusive deals"
|
||
|
||
---
|
||
|
||
Happy resort hunting! 🏖️✈️🌴
|