Case StudyAbenteuer & Bildung
Giovanni Orzes

Projektleitung

Giovanni Orzes

Individuelle Buchungs­plattform für einen Anbieter von Abenteuer­programmen

Wie eine Laravel-basierte Buchungsplattform die manuelle Koordination eines deutschen Abenteuer-Anbieters ersetzt hat, mit Multi-Programm-Buchungen, dynamischer PDF-Erzeugung und einer öffentlichen API.

Komplette Plattformvon manueller Koordination zu automatisierten Buchungen
Full StackLaravelAPI-DesignBuchungssystem
Logo von LaravelLaravelLogo von Node.jsNode.jsLogo von PostgreSQLPostgreSQLLogo von VercelVercel
Die Plattform hat Tabellen und E-Mail-Ketten durch ein einziges System ersetzt, das Buchungen abwickelt, Dokumente erzeugt und die Partnerkoordination automatisch übernimmt.

Kontext

Catweasel ist ein deutscher Anbieter von Abenteuerprogrammen, der erlebnisorientierte Lernprogramme an mehreren Standorten mit Partnerherbergen anbietet. Buchungen wurden über eine Kombination aus Tabellen, E-Mails und Telefonaten verwaltet. Mit wachsendem Programmportfolio wurde die manuelle Koordination zum Engpass, nicht die Programme selbst.

Das Unternehmen brauchte eine eigens gebaute Buchungsplattform für Multi-Programm-Planung, dynamische Preisgestaltung, Koordination der Partnerherbergen und Dokumentenerzeugung, alles aus einer einzigen Admin-Oberfläche.

Die Probleme

Manuelle Buchungsverwaltung: Jede Buchung erforderte manuelle Dateneingabe, E-Mail-Bestätigungen und Abstimmung mit Partnerherbergen. Eine einzelne Buchung konnte 4-5 separate manuelle Aufgaben erzeugen.

Kein öffentlicher Buchungsprozess: Kunden mussten anrufen oder mailen, um zu buchen. Keine Self-Service-Option. Anfragen gingen verloren, Antwortzeiten waren lang, die Conversion litt.

Dokumentenchaos: Buchungsbestätigungen, Trainer-Infoblätter und Kundenbriefe wurden für jede Buchung manuell in Word erstellt. Die Formatierung war inkonsistent, Details gelegentlich falsch.

Keine Multi-Programm-Unterstützung: Das Unternehmen bot mehrere Abenteuerprogramme mit unterschiedlichen Aktivitäten, Preisstrukturen und Partneranforderungen an. Kein System konnte diese Komplexität abbilden.

Koordinationsaufwand: Partnerherbergen, Trainer und Administratoren brauchten jeweils andere Informationen zur selben Buchung. Die richtige Information an die richtige Person zu verteilen war ein ständiger manueller Aufwand.

Was wir gebaut haben

Öffentliche Buchungs-API

Eine ratenlimitierte öffentliche API, die den kundenseitigen Buchungsprozess antreibt:

  • 6-stufiger Buchungsassistent für Programmauswahl, Aktivitätsanpassung und Zahlung
  • Entwurfssystem. Buchungen beginnen als Entwürfe, bis sie bestätigt sind, und verhindern so liegengebliebene unvollständige Datensätze
  • UUID-basierter Buchungsabruf für sicheren Zugriff ohne Authentifizierung
  • Rate Limiting (10-60 Anfragen/Min. je nach Endpoint) gegen Missbrauch
  • Unterstützung von Direkt- und Gruppenbuchungen mit unterschiedlichen Abläufen

Admin-Dashboard

Eine umfassende Verwaltungsoberfläche für das Operations-Team:

  • Buchungsverwaltung mit Status-Tracking, Filterung und Suche
  • Nutzerverwaltung mit rollenbasierter Zugriffskontrolle (Admin vs. reguläre Nutzer)
  • Konfiguration der Abenteuerprogramme mit anpassbaren Aktivitäten und Preisen
  • Verwaltung der Partnerherbergen mit Kapazitäts- und Verfügbarkeits-Tracking
  • CSV-Export für Buchungsdaten und Reporting

Dynamische PDF-Erzeugung

Automatisierte Dokumentenerzeugung, die jede manuelle Dokumenterstellung ersetzt:

  • Buchungsbestätigungen mit vollständigen Programmdetails und Preisen
  • Trainer-Infoblätter mit Teilnehmerlisten und Aktivitätsplänen
  • Kundenbriefe mit Programmübersicht und Logistikinformationen
  • Einheitliche Formatierung und Branding über alle Dokumente
  • Umgebungsspezifische Funktionen (PDF-Vorschau in der lokalen Entwicklung)

Zweisprachigkeit

Volle Unterstützung für Deutsch und Englisch in der gesamten Plattform:

  • Sprachumschaltung für den öffentlichen Buchungsprozess und die Admin-Oberfläche
  • Übersetzte E-Mail-Benachrichtigungen
  • Zweisprachige PDF-Erzeugung je nach Sprachpräferenz des Kunden

Technische Architektur

| Komponente | Umsetzung | |---|---| | Backend-Framework | Laravel 12 (PHP 8.2) | | Datenbank | MySQL mit strukturierten Migrationen | | Frontend | Bootstrap 5 + Tailwind CSS 4, Vite-Bundling | | PDF-Engine | DomPDF + Snappy für die Dokumentenerzeugung | | API-Design | RESTful mit sauberem Throttling pro Endpoint | | Architektur | Modulare Controller-Struktur (Buchung, Admin, Programme, Partnerhäuser) | | Sicherheit | Rollenbasierter Zugriff, UUID-basierter Abruf, Rate Limiting | | Deployment | Automatisierte Skripte mit Cleanup-Routinen |

Ergebnisse

  • Buchungsprozess: Vollständig Self-Service. Kunden buchen ohne Anruf oder E-Mail
  • Dokumentenerzeugung: Automatisiert. Bestätigungen, Trainer-Blätter und Kundenbriefe werden sofort erzeugt
  • Admin-Aufwand: Von Stunden täglicher Koordination auf Dashboard-Verwaltung reduziert
  • Partnerkoordination: Automatisierte Informationsverteilung an Herbergen und Trainer
  • Multi-Programm-Unterstützung: Unbegrenzte Programmkonfigurationen mit eigenen Preisen und Aktivitäten

Was sich verzinst hat

Jedes neue Abenteuerprogramm auf der Plattform erbt automatisch den Buchungsprozess, die Preis-Engine, die PDF-Vorlagen und das Partnerkoordinationssystem. Ein Programm hinzuzufügen ist Konfiguration, keine Entwicklung.

Die Buchungsdaten sammeln sich zu operativer Intelligenz. Das Unternehmen sieht jetzt, welche Programme sich am schnellsten füllen, welche Zeitfenster Nachfrage haben und welche Partnerherbergen Kapazität haben, und trifft so mit der Zeit klügere Planungsentscheidungen.

Die API-Architektur bedeutet, dass das Buchungssystem nicht an ein Frontend gebunden ist. Dieselbe API könnte eine Mobile-App, ein Partnerportal oder eine Integration mit einem Reise-Aggregator antreiben, ohne das Kernsystem anzufassen.

So lässt sich das auf Ihr Unternehmen übertragen

Jedes Unternehmen hat andere Hebelpunkte. Buchen Sie ein Diagnosegespräch, und wir kartieren Ihre.