Der Buchungsalltag: Status-Modell und Walk-ins
Kurz gesagt
- Genau 4 Status seht ihr bei jeder Buchung: Ausstehende Zahlung, Gebucht, Abgeschlossen, Storniert.
- "Gebucht" vs. "Ausstehend" berechnet openmatch automatisch aus offenen Zahlungen bei Splitbuchungen - ihr müsst nichts umschalten.
- Walk-ins legt ihr direkt in der App an, aktuell komplett ohne Provision und Servicegebühr.
Die 4 Status - und warum "Gebucht" mal wackelt
Jede Buchung zeigt euch genau einen von vier Status: Ausstehende Zahlung, Gebucht, Abgeschlossen, Storniert. Mehr gibt es nicht - das ist bewusst so eng gehalten.
Der Unterschied zwischen "Gebucht" und "Ausstehend" wird bei jeder Anzeige neu berechnet, nicht fest in der Datenbank gespeichert. Das ist bei Splitbuchungen relevant, wenn sich eine Gruppe einen Court teilt: Der Buchende zahlt seinen eigenen Anteil sofort bei der Bestätigung, die übrigen Spieler zahlen ihren Anteil über separate Einladungen ("Splits").
Beispiel: Ein Padel-Court kostet €40, vier Spieler teilen sich die Kosten. Der Buchende zahlt seinen Viertel-Anteil (€10) direkt an, die übrigen drei schulden zusammen €30. Solange auch nur einer der drei noch nicht bezahlt hat, zeigt die Buchung "Ausstehende Zahlung" mit dem noch offenen Betrag (z.B. €10, wenn zwei von drei bereits bezahlt haben). Sobald alle drei bezahlt haben, springt der Status automatisch auf "Gebucht" - ohne dass ihr etwas tut.

"Abgeschlossen" kommt von allein
Sobald das Zeitfenster einer Buchung endet, macht openmatch automatisch weiter: Innerhalb von bis zu 5 Minuten nach Buchungsende springt der Status auf "Abgeschlossen" (der genaue Zeitpunkt hängt davon ab, wann der Hintergrundjob zuletzt gelaufen ist). Ihr müsst niemanden manuell "einchecken" oder eine Buchung als erledigt markieren - diese Funktion gibt es bewusst nicht mehr.
Der Grund: Die frühere No-Show-Gebühr wurde vollständig gestrichen, und mit ihr die gesamte Check-in-Oberfläche - kein manuelles "angekommen" oder "nicht erschienen" mehr. Verspätete oder nicht erschienene Spieler haben heute keine gesonderten Konsequenzen mehr - weder über eine Straf-Gebühr noch über eure Stornierungsstaffeln (die nur bei einer tatsächlichen Stornierung vor Buchungsbeginn greifen). Die Buchung läuft einfach normal weiter und wird automatisch als "Abgeschlossen" markiert, unabhängig davon, ob der Spieler erschienen ist.
Walk-ins: Buchung für Laufkundschaft
Kommt ein Spieler ohne App vorbei oder ruft an, legt ihr die Buchung manuell in der App an ("Walk-in"). Das ist genau für diese Fälle gedacht: jemand bucht vor Ort oder telefonisch statt über die openmatch-App.
Aktuell laufen Walk-in-Buchungen mit 0% Provision und 0% Servicegebühr - ein Entgegenkommen, das zentral verwaltet wird und sich künftig ändern kann. Jede Walk-in-Buchung wird intern separat markiert, damit ihr sie in eurer Statistik von App-Buchungen unterscheiden könnt.
Ihr müsst dabei nicht selbst wählen, welcher Court frei ist: Lasst ihr das Court-Feld leer, sucht sich openmatch automatisch den passenden freien Platz zur gewünschten Zeit - genau wie bei einer normalen App-Buchung.

Plätze blockieren
Braucht ein Court Wartung, oder ist er für eine private Veranstaltung reserviert, blockiert ihr das Zeitfenster direkt am Platz - mit einem kurzen Grund (z.B. "Wartung", "privat gebucht"). Blockierte Zeitfenster verschwinden sofort aus der Buchbarkeit für Spieler; eine bereits bestehende Buchung im selben Fenster bleibt davon unberührt. Diese Funktion gehört zu allen Tarifen.

Stornieren und Problem-Kunden
Auf der Buchungsdetailseite findet ihr eine Stornieren-Aktion. Sie verlangt einen strukturierten Grund (z.B. Wetter, Wartung, Doppelbuchung, Venue geschlossen) plus optional eine kurze interne Notiz - das schafft eine saubere Historie für jeden Fall. Je nach Zeitpunkt der Stornierung wird dem Spieler automatisch der passende Betrag erstattet Rechtsprüfung ausstehend - verbindlich sind eure AGB.
Für wiederkehrende Problemfälle gibt es direkt auf der Buchung zusätzlich die Aktion "Kunde blockieren" - blockierte Spieler können danach bei euch nicht mehr neu buchen.