Terminbuchung mit Zahlung automatisieren: unser eigener Ablauf
Terminbuchung mit Zahlung automatisieren: so läuft es bei uns
Eine Terminbuchung mit Zahlung lässt sich so automatisieren, dass ein Termin erst gilt, wenn er bezahlt ist. Unsere Buchung für den Prozess-Check funktioniert genau so: freie Zeiten aus Microsoft Bookings über Graph, Zahlung auf Stripe Checkout, Termin und Teams-Link erst nach bestätigter Zahlung per Webhook. Die Bestätigung verschickt Bookings per E-Mail. Im Büro greift niemand mehr ein.
Sie lesen das als Geschäftsleitung oder Büroleitung in einem KMU, das bezahlte Termine anbietet und Microsoft 365 nutzt. Der Ablauf ist der, den Sie beim Buchen des Prozess-Checks selbst durchlaufen. Er ist keine Empfehlung, dass jede Firma das bauen muss. Oft reicht ein fertiges Tool; wann, steht weiter unten.
Kann Microsoft Bookings die Zahlung selbst übernehmen?
Nein. In Microsofts häufigen Fragen zu Bookings lautet die Antwort auf «Kann ich eine Zahlung mit meinen Bookings verknüpfen?»: «Nein, es gibt keinen Zahlungssupport in Bookings.» Eine Schweizer Ausnahme nennt Microsoft nicht.
Bookings bietet eine öffentliche Buchungsseite: Kundschaft wählt eine Zeit, der Termin steht sofort im Kalender. Bei einem bezahlten Slot würde so jeder die Zahlung umgehen. Deshalb nutzen wir diesen Link nicht. Unsere Website wählt Datum und Uhrzeit; Bookings sieht den Termin erst, wenn das Geld da ist.
Der Ablauf in fünf Schritten
Fünf Schritte, drei Systeme: Website mit kleiner Schnittstelle, Stripe, Bookings.
Freie Zeiten lesen
Die Buchungsseite fragt unsere Schnittstelle nach freien 60-Minuten-Slots. Sie liest die Verfügbarkeit über Microsoft Graph aus Bookings. Bookings bleibt der Kalender, der weiss, was frei ist.
Zeit wählen und Angaben machen
Die Besucherin wählt Datum und Uhrzeit, gibt E-Mail an und optional Name sowie eine kurze Notiz zur Arbeit.
Auf der Seite von Stripe bezahlen
Weiterleitung zu Stripe Checkout. Kartendaten landen dort, nicht auf unserer Website.
Webhook legt den Termin an
Nach erfolgreicher Zahlung sendet Stripe eine signierte Meldung. Die Schnittstelle prüft die Signatur und legt in Bookings eine Online-Besprechung an, inklusive Teams-Link. Die Notiz aus Schritt 2 steht im Termin.
Bookings bestätigt
Die E-Mail mit Teams-Link kommt von Bookings wie bei jedem anderen Termin dort.
Microsoft dokumentiert beide Graph-Aufrufe: Verfügbarkeit lesen und Termin anlegen. Als Online-Termin markiert, liefert Bookings den Teams-Link mit.
Warum der Webhook den Termin anlegt und nicht die Danke-Seite
Stripe schreibt in der Anleitung zur Auftragsabwicklung, dass Sie sich nicht auf die Seite nach der Zahlung verlassen können: Wer bezahlt und die Verbindung verliert, bevor die Danke-Seite lädt, hätte sonst keinen Termin. Der Webhook geht direkt vom Zahlungsanbieter zum Server.
Zwei Punkte aus der Webhook-Dokumentation haben den Ablauf geprägt. Im Livebetrieb versucht Stripe fehlgeschlagene Zustellungen bis zu drei Tage erneut. Dieselbe Meldung kann mehrfach ankommen. Termin anlegen muss deshalb idempotent sein: zweimal dieselbe Zahlung darf nicht zwei Termine erzeugen. Und jemand muss fehlgeschlagene Zustellungen sehen. Ein bezahlter Slot ohne Kalendereintrag ist der Fehler, den dieser Ablauf nie verstecken darf.
Ohne Signaturprüfung könnte jemand mit der Webhook-Adresse eine gefälschte «bezahlt»-Meldung schicken und einen Termin ohne Zahlung erhalten.
Die Schnittstelle braucht eine App-Registrierung in Microsoft Entra mit Rechten für Bookings über Graph. Zugangsdaten laufen ab; ohne Erneuerung liest die Seite freie Zeiten, legt aber keine Termine mehr an. Im Betrieb lohnt sich ein einfacher Alarm, wenn Stripe Webhooks mehrfach fehlschlagen oder wenn Zahlungen ohne neuen Bookings-Eintrag hängen bleiben.
In Stripe Checkout speichern wir nur, was für die Zahlung und die Zuordnung nötig ist. Name, E-Mail und Notiz kommen aus Schritt 2 und landen erst im Bookings-Termin, wenn der Webhook feuert. So bleibt Bookings die Quelle für den Kalendereintrag, den Ihre Mitarbeitenden sehen.
Was bewusst von Hand bleibt
Läuft automatisch
- Freie Zeiten aus Bookings anzeigen
- Zahlung, die den Slot reserviert
- Termin in Bookings mit Teams-Link
- Bestätigung per E-Mail
- Notiz zur Arbeit im Termin
Bleibt von Hand
- Verschieben bis 12 Stunden vorher, per E-Mail oder Telefon
- Entscheidung «Geld zurück» nach dem Termin
- Rückzahlung über Stripe auf die Karte
Verschiebungen sind selten genug für E-Mail. Die Rückzahlung hängt am Urteil, ob die Stunde einen Automatisierungs-Case geliefert hat. Das entscheidet eine Person, keine Regel im Code.
Im Betrieb fiel uns auf: Stripe Checkout folgt der Sprache unserer Buchungsseite, die Bookings-Bestätigung aber der Sprache in den Unternehmenseinstellungen von Bookings. Wer zwei Sprachen bedient, prüft beides.
Wann ein fertiges Buchungstool reicht
Wenige Terminarten, Standardablauf, Buchung erst nach Zahlung, Franken und Zahlungsart der Kundschaft, kein Muss-Termin im Microsoft-365-Kalender: dann ist ein Tool mit eingebauter Zahlung oft die bessere Wahl, ohne Eigenbau.
Prüfen Sie Währung und Zahlungsarten auf den Anbieterseiten. Calendly listet für Zahlungen über Stripe AUD, CAD, EUR, GBP und USD; CHF stand zum Zeitpunkt dieses Artikels nicht auf der Liste. Stripe bietet in Checkout für die Schweiz TWINT; ob ein Buchungstool das durchreicht, ist zu prüfen, nicht anzunehmen.
Eigenbau lohnt sich auch nicht bei wenigen bezahlten Terminen pro Monat: Rechnung danach ist oft einfacher. B2B-Kundschaft, die eine Rechnung erwartet, schreckt Vorauszahlung per Karte ab, egal wie sauber der Flow ist.
Wann sich ein eigener Ablauf lohnt
Er lohnt sich, wenn die Buchung in Systeme muss, die Sie schon betreiben: Microsoft 365, Bookings als Kalender, Teams als Gespräch, Zahlung vor Bestätigung. Bookings allein kann das nicht.
Dazu passt: Bookings bereits im Einsatz, ein Kalender soll bleiben, Zahlung muss vor dem fixen Slot kommen, Notizen sollen in den Termin wandern, die Buchungsseite soll auf Ihrer Website in Ihren Sprachen stehen.
Rechnen Sie Betrieb ein. Stripe verrechnet pro Zahlung, ohne Einrichtungs- oder Monatsgebühr laut Preisseite Schweiz. Hosting und Betrieb einer Automatisierung liegen grob bei CHF 50–150 pro Monat. Fehlgeschlagene Webhooks brauchen Aufmerksamkeit; Graph-Zugangsdaten müssen vor Ablauf erneuert werden. Welche Package-Grösse der Ablauf bei Ihnen hätte, hängt von der Anzahl angebundener Systeme ab. Das klärt der Prozess-Check.
Kann Microsoft Bookings in der Schweiz Zahlungen entgegennehmen?
Nicht von sich aus. Laut Microsofts FAQ zu Bookings gibt es keinen Zahlungssupport in Bookings. Für die Zahlung brauchen Sie einen Anbieter wie Stripe und einen Ablauf, der den Termin erst nach Zahlung anlegt.
Buchen und den Ablauf selbst sehen
Am schnellsten verstehen Sie den Flow, wenn Sie ihn nutzen: Zeit wählen, auf Stripe bezahlen, Bestätigung mit Teams-Link von Bookings. 60 Minuten per Teams, CHF 99.
Inhalt der Stunde: was der Prozess-Check ist. Danach: nach dem Prozess-Check. Angebot: Prozess-Check-Seite.
Buchen Sie nicht, wenn ein fertiges Tool Franken und Ihre Zahlungsart schon abdeckt, oder wenn wenige Termine im Monat und Rechnung danach reichen.
Geschrieben von
Aurum Avis Labs
Baut und liefert bei Aurum Avis Labs. Schreibt hier über das, was wir in der Arbeit mit Gründern und KMU im DACH-Raum lernen.
Verwandte Artikel
Diese Artikel könnten Sie auch interessieren