🖨️ Als PDF drucken
Red Sea Dreams - Travel Portal PRD
Project Overview
Name: Red Sea Dreams
Domain: redseadreams.com
Type: Online Travel Portal for Marsa Alam and El Quseir, Egypt
Language: German (Primary), English (Secondary)
âś… LATEST UPDATES (21. Januar 2026)
🚀 ALL MAJOR FEATURES COMPLETE
Phase 1 - Go-Live Features (Completed):
1. ✅ Erweiterte Buchungsdaten (Hauptgast + zusätzliche Gäste)
2. âś… E-Mail-Benachrichtigung an Hotels bei neuer Buchung
3. âś… Stripe-Checkout finalisiert
Phase 2 - User Features (Completed):
1. âś… Passwort-vergessen-Funktion fĂĽr Hotel-Admins
2. âś… Amadeus Live-Flight Integration verifiziert (14+ FlĂĽge gefunden)
3. âś… Kundenregistrierung mit Buchungshistorie
4. âś… Bewertungssystem fĂĽr Hotels (nach Admin-Freigabe)
Phase 3 - Business Features (Completed):
1. ✅ Multi-Währung (EUR, CHF, USD) mit Umschalter
Phase 4 - SEO & Analytics (Completed - 21. Jan 2026):
1. âś… SEO-Optimierung (Sitemap.xml, robots.txt)
2. âś… Echtzeit-Auslastungs-Dashboard fĂĽr Hotel-Admins
3. âś… Live Wechselkurs-API (exchangerate.host)
Phase 5 - Combined Booking Flow (Completed - 21. Jan 2026):
1. âś… Verbesserte Hotel-Detailseite mit dynamischer Preisberechnung
- Zeigt Preis pro Nacht + Gesamtpreis bei Datumsauswahl
- Zimmerauswahl mit "Ausgewählt"-Badge
2. âś… Neue Buchungs-Extras-Seite (/booking/extras)
- 3-Schritte-Prozess: Extras → Kundendaten → Zahlung
- Flughafentransfer-Optionen (Hurghada + Marsa Alam)
- AusflĂĽge hinzufĂĽgen mit Teilnehmerauswahl
- Echtzeit-Gesamtpreisberechnung
3. âś… Kombinierte Buchung: Hotel + Transfer + AusflĂĽge in einem Checkout
All Implemented Features
1. Multi-Tenant Hotel Admin System âś…
Each hotel has own login
Isolated data access
10% automatic markup on public prices
2. Extended Hotel Admin Dashboard âś…
Tabs:
- Dashboard (stats)
- Zimmer (room CRUD)
- Medien (photo/video upload)
- Preise (period pricing)
- Kalender (availability)
- Buchungen (bookings)
- Bewertungen (Reviews) - NEW
- Einstellungen (children pricing, notification email)
3. Room Management âś…
Room types: sea_view, garden_view, pool_view, standard
CRUD operations
33 room amenities selectable
Photo/video upload per room
4. Period-Based Pricing âś…
Multiple price periods per room
Date range selection
Portal price preview (+10%)
5. Availability Calendar âś…
Per-room or per-type
Block reasons: booked, maintenance, closed
6. Children Pricing âś…
Infant age (free)
Child age and percentage
7. Super Admin Dashboard âś…
View all 8 hotels
Block/unblock hotels
Reset passwords
Manage charter flights
View all bookings
8. Customer System âś…
Registration with email/password
Login and dashboard
View booking history
Write hotel reviews
9. Review System âś…
Customers submit reviews (1-5 stars + comment)
Reviews require hotel admin approval
Hotel admins can respond to reviews
Average rating auto-calculated
10. Multi-Currency âś…
EUR (base), CHF, USD
Currency selector in navigation
Live exchange rates from API
11. Combined Booking System âś… (NEW - 21. Jan 2026)
Hotel Detail Page:
Dynamic price calculation on date selection
Shows: price per night Ă— nights = total
Room selection with visual indicator
Booking Extras Page:
Airport transfers from Hurghada (3h) or Marsa Alam (30min)
Private car or minibus options
Activity add-ons with participant count
Real-time total price updates
Checkout Integration:
Customer details form
Stripe payment flow
12. Core Features âś…
Hotel search with filters
Package booking wizard with:
Erwachsene/Kinder/Kleinkinder selection
Hauptgast + zusätzliche Gäste Formulare
Activity bookings
Transfer services
Amadeus live flights (verified working)
Stripe payments
Email notifications
Bilingual (DE/EN)
Password reset for hotel admins
API Endpoints
Customer
Method
Endpoint
Description
POST
/api/customers/register
Register new customer
POST
/api/customers/login
Customer login
GET
/api/customers/{id}/bookings
Get customer's bookings
GET
/api/customers/{id}/reviews
Get customer's reviews
Reviews
Method
Endpoint
Description
POST
/api/reviews
Create new review (pending)
GET
/api/reviews/hotel/{id}
Get approved reviews
GET
/api/hotel-admin/reviews/{id}
Get all reviews (admin)
PUT
/api/hotel-admin/reviews/{id}/approve
Approve review
PUT
/api/hotel-admin/reviews/{id}/reject
Reject review
PUT
/api/hotel-admin/reviews/{id}/respond
Hotel response
Currency
Method
Endpoint
Description
GET
/api/exchange-rates
Get exchange rates
Password Reset
Method
Endpoint
Description
POST
/api/password-reset/request
Request reset code
POST
/api/password-reset/verify
Verify code and set password
Test Credentials
Role
Email
Password
Super Admin
admin@redseadreams.com
admin123
Swiss Touch Resort
info@swisstouch.com
Swiss123
Scharser Beach Hotel
info@scharserhotel.co
Egypt123
Test Customer
testuser@example.com
test123
Tech Stack
Frontend: React, Tailwind CSS, Lucide Icons
Backend: FastAPI (Python)
Database: MongoDB
File Storage: Local (uploads directory)
Payment: Stripe
Email: Resend (Emergent)
Flights: Amadeus API
Testing Results
Go-Live Features: 10/10 tests passed (iteration_4.json)
Phase 2 & 3 Features: 15/15 tests passed (iteration_5.json)
Combined Booking Flow: 12/12 tests passed (iteration_6.json)
Total: 37/37 tests passed âś…
Upcoming Tasks
P1 - Recommended
[ ] WhatsApp Chatbot fĂĽr Kundenanfragen (Twilio API-Keys erforderlich)
[ ] Cloud storage for media (AWS S3 / Cloudinary) - Aktuell lokal, nicht persistent
P2 - Code Quality
[ ] Refactoring App.js (4000+ Zeilen) → Aufteilen in /pages, /components, /contexts
[ ] Refactoring server.py → Aufteilen in /routers, /models, /services
Known Limitations
Media uploads are local - Files stored in /app/uploads (not persistent in production)
App.js is 4000+ lines - Technical debt, should be split into modules
AI Chatbot - Uses GPT-4o via Emergent LLM Key (working on website, not WhatsApp)
Last Updated: 21. Januar 2026