Skip to content
PDF

Online-Buchung – Kasse (was Ihre Kunden sehen)

Sobald ein Kunde auf Ihrer Buchungsseite eine Zeit gewählt hat, läuft alles Weitere — das Reservieren des Zeitfensters, das Erfassen der Angaben, die Zahlung und die Bestätigung — automatisch ab. Diese Seite führt Sie Schritt für Schritt durch genau das, was Ihr Kunde erlebt, damit Sie den Ablauf gut genug verstehen, um ihn zu unterstützen und eine Zahlung in Ihren Büchern nachvollziehen zu können. Jede Phase wird durch Einstellungen geprägt, die Sie bereits steuern, und wir weisen jeweils darauf hin.

Das Zeitfenster wird mit Countdown gehalten

Sobald ein Kunde ein Zeitfenster reserviert, landet es in seinem Warenkorb und wird im Backend gehalten, sodass es ihm niemand wegnehmen kann, während er abschliesst. Ein schmaler Zeitbalken erscheint mit einem laufenden Countdown und der genauen Uhrzeit, zu der die Reservierung abläuft. Wie viel Zeit dafür bleibt, bestimmt die Einstellung Reservierungs-Timeout Ihrer Organisation — standardmässig 15 Minuten, und derselbe Wert steuert sowohl den Timer auf dem Bildschirm als auch die Haltung im Backend, damit beide stets übereinstimmen.

Erreicht der Timer null, bevor der Checkout abgeschlossen ist, wird die Reservierung automatisch freigegeben: Der Warenkorb wird geleert, das freigewordene Zeitfenster erscheint für den Nächsten wieder im Kalender, und der Kunde wird mit der kurzen Meldung «Reservierung abgelaufen» zurück an den Start geschickt. Für Sie gibt es nichts aufzuräumen — ein verlassener Warenkorb blockiert nie ein Zeitfenster. Dasselbe geschieht, wenn ein Kunde einen veralteten Tab offen lässt und viel später zurückkehrt.

Solange die Reservierung aktiv ist, kann der Kunde Geschenk-Gutscheine, weitere Produkte oder eine Guthaben-Aufladung in denselben Warenkorb legen und einen Gutscheincode oder sein vorhandenes Kontoguthaben auf den Gesamtbetrag anrechnen. Ob diese Extras überhaupt erscheinen, entscheiden Ihre Module und die pro Sitzung geltenden Schalter Gutscheine anzeigen / Produkte anzeigen.

Anmelden mit E-Mail und Einmalcode

Bevor jemand das Checkout-Formular erreichen kann, muss er sich ausweisen. Tippt der Kunde auf Zur Kasse, fragt ein Anmeldedialog nach seiner E-Mail-Adresse und schickt anschliessend einen Einmalcode an dieses Postfach (die Codelänge ist eine Mandanten-Einstellung). Er gibt den Code zur Bestätigung ein, und erst dann lässt ihn der Ablauf weitermachen — die Checkout-Seite ist geschützt, sodass ein Kunde, der ohne Anmeldung irgendwie dorthin gelangt, direkt zum Warenkorb zurückgeschickt wird. Genau dadurch wird die Buchung auch mit dem richtigen Kundendatensatz verknüpft: Bei einem wiederkehrenden Kunden werden die gespeicherten Angaben und das verfügbare Guthaben erkannt, und eine brandneue E-Mail-Adresse legt für Sie stillschweigend einen neuen Kunden an.

Die Checkout-Angaben ausfüllen

Das Checkout-Formular fragt die Felder ab, die Sie gewählt haben. Entscheidend ist: Der Kunde wird nach der kombinierten Menge aller Felder aus allem im Warenkorb gefragt — den auf jeder gebuchten Sitzung konfigurierten Checkout-Feldern, denjenigen auf allen Produkten im Warenkorb sowie den mandantenweiten Feldern Ihrer Organisation —, zusammengeführt und um Dubletten bereinigt. Bucht ein Kunde also eine Behandlung, die nach «Allergien» fragt, und kauft zugleich einen Gutschein, der nach «Name des Empfängers» fragt, sieht er ein einziges Formular mit beidem. Wie diese Auswahl getroffen wird, lesen Sie unter Felder.

Das Formular eines wiederkehrenden Kunden wird aus seinem Profil vorausgefüllt; die Eingaben eines Gasts werden auf seinem Gerät gemerkt, falls er zurückkommt. Eine Regel wird automatisch durchgesetzt: Sobald ein Betrag zu zahlen ist, wird die Rechnungsadresse (Strasse, PLZ, Ort) zur Pflicht, selbst wenn Sie diese Felder nicht als Pflichtfelder markiert haben — Schweizer Belege benötigen sie, und das Backend besteht ebenfalls darauf. Kostenlose oder vollständig durch Guthaben gedeckte Buchungen überspringen das. Verwenden Sie ein Einwilligungs- oder AGB-Feld, erscheint es als zum Lesen scrollbare Zustimmung statt als schlichtes Eingabefeld, und ein Kunde, der es bereits unterzeichnet hat, wird nie ein zweites Mal danach gefragt.

Prüfen, dann zahlen — oder sofort bestätigen

Die meisten Kunden sehen als Nächstes eine Bestellübersicht: ihre Angaben, die gebuchten Positionen, die Preisaufschlüsselung mit allen Zeilen zu Gutschein, Guthaben und MwSt. sowie einen Endbetrag. (Die Bestellübersicht wird nur übersprungen, wenn Express-Buchung aktiviert ist oder wenn nichts mehr zu zahlen ist — siehe den nächsten Abschnitt.)

Was die Bestätigungsschaltfläche bewirkt, hängt vom Gesamtbetrag ab:

  • Nichts mehr zu zahlen — der gesamte Betrag ist durch Kontoguthaben und/oder einen Gutschein gedeckt (oder die Buchung ist kostenlos). Die Schaltfläche zeigt ein Häkchen-Symbol (ihre barrierefreie Bezeichnung lautet «Buchung bestätigen»), und ein Tippen bucht alles sofort, ohne dass ein Zahlungsanbieter beteiligt ist. Hinter den Kulissen wird die Bestellung auf der Stelle aktiviert, Guthaben und Gutscheinsalden werden abgebucht, und der Kunde gelangt direkt zur Bestätigungsseite.
  • Ein Betrag ist fällig — die Schaltfläche lautet Weiter zur Zahlung, und der Kunde wird zur Zahlung an den Zahlungsanbieter weitergeleitet.

Der Zahlungsschritt und wie er abgeglichen wird

Wenn Geld geschuldet wird, erreicht die Checkout-Übermittlung das Backend, das eine ausstehende Zahlung zur Bestellung erfasst und eine Sitzung mit dem für Ihre Organisation konfigurierten Zahlungsanbieter öffnet. Diesen Anbieter wählen Sie in den Einstellungen Ihrer Organisation im Modul Zahlungen. Wählen Sie Saferpay — es ist der einzige Zahlungsanbieter, der in dieser Version an den Checkout angebunden ist. Das Auswahlmenü listet auch Stripe, Datatrans, Wallee / PostFinance und Adyen auf, doch diese sind noch nicht angeschlossen; die Wahl eines davon verhindert, dass Zahlungen abgeschlossen werden. Der Kunde wird auf die gehostete Seite dieses Anbieters weitergeleitet, um die Kartendaten einzugeben. Zu diesem Zeitpunkt ist noch nichts gebucht — die Bestellung verharrt im Zustand Erstellt und wartet auf das Ergebnis.

Nach der Zahlung leitet der Anbieter den Kunden zurück auf eine Bestätigungs-URL, die die Bestell-ID und ein Ergebnis von Erfolg, Fehlgeschlagen oder Abgebrochen trägt. Hier kommt der für den Abgleich entscheidende Punkt: Dieses Ergebniswort in der URL ist nur ein Hinweis — ihm wird nie vertraut. Bei der Rückkehr bittet die App das Backend, die Zahlung abzuschliessen, und das Backend fragt den Zahlungsanbieter direkt, was wirklich geschehen ist. Nur wenn der Anbieter die Transaktion als Captured meldet (das Geld also tatsächlich eingezogen wurde), wird die Bestellung aktiviert: Das Zeitfenster wechselt von gehalten zu einer echten Buchung, die Zahlung wird als eingezogen gestempelt, die Bestellung als bezahlt markiert und ein Beleg erzeugt. Ein Kunde, der die URL manipuliert hat, kann keine Bestätigung vortäuschen, und wessen Karte tatsächlich fehlgeschlagen ist, dem kann kein falscher Erfolg angezeigt werden.

Da eine Netzwerkstörung oder ein geschlossener Browser-Tab diese Weiterleitung unterbrechen kann, gibt es zwei Sicherheitsnetze, die dafür sorgen, dass Bestellung und Zahlung von selbst zusammenfinden:

  • Webhooks des Anbieters. Der Zahlungsanbieter benachrichtigt das Backend unabhängig über Authorised- und Captured-Ereignisse. Trifft eine Benachrichtigung ein, während die Bestellung noch aussteht, wird sie zur Nachverfolgung protokolliert.
  • Ein Abgleich-Worker. Ein Hintergrundjob prüft in regelmässigen Abständen jede noch ausstehende Zahlung gegen den Anbieter. Hat der Anbieter das Geld, aber die Bestellung wurde nie abgeschlossen (der klassische Fall «bezahlt, dann den Tab geschlossen»), stellt der Worker sie wieder her und aktiviert die Buchung automatisch. Meldet der Anbieter keine Transaktion und ist genug Zeit vergangen, wird die verlassene Zahlung gefahrlos bereinigt, damit der Kunde es erneut versuchen kann. Abweichungen werden in Ihr Betriebsprotokoll geschrieben und steigen im Schweregrad, je länger sie ungelöst bleiben.

Der praktische Nutzen für Sie: Geld und Buchung werden anhand des Datensatzes des Zahlungsanbieters abgeglichen, nicht anhand dessen, was der Browser getan hat. Eine belastete Karte führt am Ende zu einer bestätigten Buchung, selbst wenn der Bildschirm des Kunden das nie angezeigt hat, und eine nicht belastete wird nie zu einer Phantom-Buchung. Eine fehlgeschlagene oder abgebrochene Zahlung lässt die Bestellung unangetastet und erlaubt dem Kunden einen erneuten Versuch über den Zahlungsanbieter (bis zu einer konfigurierten Anzahl an Versuchen).

Die Bestätigungsseite und der Beleg

Bei Erfolg landet der Kunde auf Ihrer Bestätigungsseite — mit Ihrem Bestätigungsbild, einem Dankeschön und einer übersichtlichen Liste jeder Sitzung (mit Datum, Uhrzeit und einer allfälligen sitzungsbezogenen Bestätigungsnachricht) sowie jedes gekauften Produkts. Für bezahlte Bestellungen wird ein Beleg als PDF erzeugt, und jeder gekaufte Geschenk-Gutschein erhält seinen eigenen Code und sein eigenes PDF, alles unmittelbar nach der Aktivierung der Buchung vorbereitet. Der Warenkorb wird geleert, und ein späteres Neuladen der Bestätigung führt den Kunden einfach zurück zum Kalender, ohne irgendetwas erneut auszulösen.

Der bezahlte Checkout setzt die Module Buchung und Zahlungen (Bestellungen) voraus; Gutscheine, Guthaben und die Hinweise «Produkt hinzufügen» hängen jeweils davon ab, dass das eigene Modul für Ihre Organisation aktiviert ist.