konzept · echtzeit-buchung
Bergquelle Day-Spa
Ein Alpen-Spa, wenn es das gäbe. Buch eine Behandlung und sieh der Verfügbarkeit live zu: öffne diese Seite in einem zweiten Fenster, und ein Slot, den du hier nimmst, verschwindet dort in Echtzeit, keine Doppelbuchung möglich. Dieselbe Engine ist eine Physio-Praxis, ein Coiffeur oder ein Restaurant, nur andere Leistungen und Zeiten.
verbinde mit dem Buchungsdienst…
Der schwierige Teil jedes Buchungsflows ist, wirklich doppelbuchungssicher zu sein. Die Verfügbarkeit wird auf dem Server berechnet als Öffnungszeiten − Buchungen − Reservierungen, wobei Überschneidungen als Intervalle behandelt werden (ein 90-minütiges Ritual blockiert den Raum für jede Leistung), und jede Änderung wird über einen WebSocket an alle gesendet, die diesen Tag ansehen.
slot-berechnung · dieser Tag + Behandlung
reservierung → buchung lebenszyklus
Einen Slot zu wählen legt eine kurze serverseitige Reservierung an, die an deine Verbindung gebunden ist. Sie wird bei Bestätigung zur Buchung, oder von einem TTL-Sweep bei Timeout, Abbruch oder Verbindungsabbruch eingesammelt, damit ein Slot nie von jemandem blockiert bleiben kann, der weggegangen ist.
/ws/booking · öffne diese Seite in einem zweiten Fenster und sieh eine Reservierung hier live landen
Buchungen und Reservierungen liegen im Arbeitsspeicher und werden bei einem Server-Neustart gelöscht (dieselbe ehrliche Entscheidung wie bei den Collab-Räumen und dem Transit-Cache). Hier ist eine einzige geteilte Ressource modelliert; eine Verfügbarkeit pro Therapeut würde daraus einen echten Mehr-Ressourcen-Scheduler machen, ein naheliegender nächster Schritt.