TravelDesk – Reiseplanung für Firmenmonteure
Ein intelligenter Deep-Link-Generator: Das Tool bereitet Flug-, Hotel- und Mietwagensuchen vor und leitet direkt zu Booking.com weiter. Keine eigene Buchung, kein eigenes Inventar – volles Booking.com Angebot, vertraute Oberfläche.
Wie es funktioniert
- Nutzer gibt Reisedaten + Fabrikadresse ein
- Tool ermittelt IATA-Codes (Lookup-Tabelle + KI-Fallback)
- Tool geocoded die Adressen (Google Maps oder Nominatim)
- Optionaler Mietwagen-Check: Hotel-Adresse → Distanz zur Fabrik berechnen
- Tool generiert 3 Booking.com Deep-Links:
- flights.booking.com – mit Flughafen-Codes vorausgefüllt
- booking.com/searchresults – mit Ort, Datum, Personen
- booking.com/cars – mit Abholort und Datum
- KI (GPT-4o-mini) erstellt kurze Reiseempfehlung
Voraussetzungen
- Node.js (Version 18+) → https://nodejs.org
- API-Keys: Google Maps + OpenAI
Setup
1. Abhängigkeiten installieren
cd c:\Users\Timo\Documents\Reiseplanung
npm install
2. .env Datei anlegen
copy .env.example .env
Dann in .env eintragen:
GOOGLE_MAPS_API_KEY=dein_key
OPENAI_API_KEY=dein_key
PORT=3000
3. Server starten
npm start
→ Öffne http://localhost:3000
API-Keys
Google Maps (optional, aber empfohlen)
- https://console.cloud.google.com → APIs aktivieren:
- Geocoding API (Adresse → Koordinaten)
- Distance Matrix API (Mietwagen-Check)
- Ohne Google Maps: Nominatim (OpenStreetMap) als Fallback – kostenlos, kein Key nötig
OpenAI
- https://platform.openai.com → API Keys
- Verwendung: IATA-Code-Fallback (GPT-4o-mini) + KI-Zusammenfassung
API-Endpoints
POST /api/search
Generiert alle Deep-Links für eine Reise.
Request:
{
"origin": "Stuttgart, Deutschland",
"destination": "ul. Marszałkowska 1, Warschau, Polen",
"checkin": "2026-04-15",
"checkout": "2026-04-20",
"adults": 1,
"directFlightsOnly": false,
"refundableOnly": true,
"hotelAddress": "ul. Nowogrodzka 35, Warschau",
"specialRequirements": "Parkplatz"
}
Response:
{
"flightLink": "https://flights.booking.com/...",
"hotelLink": "https://www.booking.com/searchresults...",
"carLink": "https://www.booking.com/cars/...",
"originIATA": "STR",
"destIATA": "WAW",
"carNeeded": true,
"carMessage": "🚗 Mietwagen empfohlen – 2.3 km zur Fabrik",
"distanceMeters": 2300,
"summary": "KI-Empfehlung...",
"meta": { ... }
}
POST /api/check-distance
Prüft nachträglich ob ein Mietwagen nötig ist.
Request:
{
"hotelAddress": "ul. Nowogrodzka 35, Warschau",
"fabrikAddress": "ul. Marszałkowska 1, Warschau, Polen",
"checkin": "2026-04-15",
"checkout": "2026-04-20"
}
Response:
{
"distanceMeters": 800,
"carNeeded": false,
"carMessage": "✅ Kein Mietwagen nötig – 800m",
"carLink": "https://www.booking.com/cars/..."
}
IATA-Lookup
Das Tool enthält eine Tabelle mit 150+ Städten (Europa, Asien, Amerika, Afrika, Ozeanien).
Falls eine Stadt nicht in der Tabelle ist, fragt das Tool automatisch GPT-4o-mini nach dem IATA-Code. Falls auch das scheitert, wird ein Hinweis angezeigt und der Booking.com Flights Link öffnet ohne Vorausfüllung.
Mietwagen-Logik
| Szenario | Ergebnis |
|---|---|
| Hotel-Adresse angegeben, < 1,5 km zur Fabrik | Kein Mietwagen nötig |
| Hotel-Adresse angegeben, ≥ 1,5 km zur Fabrik | Mietwagen empfohlen |
| Keine Hotel-Adresse | Unbekannt – inline Distanz-Check möglich |
Entwicklungs-Modus
npm run dev
(nodemon mit Auto-Reload)
Description
Languages
JavaScript
90.4%
CSS
7%
HTML
2.3%
Dockerfile
0.3%