Die WordPress-Terminbuchung
ohne Geister-Termine.
OW Agenda übernimmt Online-Buchung, Freigabe, Erinnerungen und den Tagesplan der Praxis. Jede Besucheranfrage muss über einen Link an die angegebene E-Mail-Adresse bestätigt werden, bevor sie einen Platz belegt: Ein Bot erreicht deinen Terminplan nie. Kostenlos, GPL, ohne Pro-Version.
Warum noch ein Termin-Plugin?
Auf der Website einer Praxis macht ein Buchungsformular ohne Schutzmechanismus mehr Arbeit, als es spart. Jeder beliebige Bot füllt einen öffentlichen Terminplan, und wer das Telefon abnimmt, verbringt den Tag damit, echte Termine von Anfragen zu trennen, die es nie gegeben hat.
Die etablierten Plugins funktionieren, aber sie sind alle nach demselben Muster gebaut: eine bewusst beschnittene Gratisversion — ein Mitarbeiter, ein Standort, eine Handvoll Leistungen — und ein Jahresabo, um die Software wieder normal nutzen zu dürfen. Für eine Einzelpraxis bezahlt man vor allem das Recht, die Demo zu verlassen.
OW Agenda geht von einer echten Praxis und drei Bedingungen aus: Eine Anfrage existiert erst nach der Bestätigung per E-Mail, zwei Besucher können nicht dasselbe Zeitfenster buchen, und der Kalender muss sich im Stehen zwischen zwei Patienten auf dem Handy bedienen lassen. Alles Weitere — Kundenverzeichnis, Einladungen, ICS, Erinnerungen — folgt aus diesen drei Regeln.
Ohne Bestätigung per E-Mail ist ein offenes Formular ein Terminplan, den Bots gratis füllen. Hier bleibt die Anfrage offen, hält das Zeitfenster 45 Minuten und verschwindet von selbst, wenn der Link nie angeklickt wird.
Zwei Besucher auf demselben Zeitfenster, drei Sekunden auseinander: Eine einfache MySQL-Transaktion setzt keine Zeilensperre und speichert beide. OW Agenda serialisiert die Buchung über eine benannte Sperre — der Zweite bekommt eine Meldung, kein Duplikat.
Zwischen zwei Patienten öffnet niemand wp-admin auf dem Handy. Verwaltet wird auf einer Seite deiner Website, geschützt durch Login: Tagesansicht, offene Anfragen, Verschieben, Status erledigt / nicht erschienen — mit ein paar Daumentipps.
Was sich konkret ändert
Keine Slogans. Hier sind die technischen Entscheidungen, die dieses Produkt auszeichnen.
Der Shortcode [ow_agenda] zeigt die nächsten 14 verfügbaren Tage und danach die freien Uhrzeiten: Tag wählen, Zeitfenster wählen, kurzes Formular (Name, Telefon, E-Mail, Nachricht) und DSGVO-Einwilligungsfeld. Du stellst die Taktung, die Behandlungsdauer, den Puffer zwischen zwei Terminen, die Mindestvorlaufzeit und den Buchungshorizont ein. Jeder Eintrag in deinem Kalender — Online-Buchung, telefonisch aufgenommener Termin, geblockte Zeit — nimmt seinen Zeitraum aus der Verfügbarkeit heraus.
Eine Besucheranfrage bleibt unbestätigt, solange der per E-Mail zugestellte Link nicht angeklickt wurde. Sie hält das Zeitfenster 45 Minuten und wird danach automatisch gelöscht. Davor sind Honeypot-Feld und Zeitstempel des Formulars Pflicht — sie wegzulassen schaltet nichts mehr ab —, das Stundenkontingent wird pro IPv4-Adresse und pro /64-Präfix bei IPv6 gezählt, und eine Obergrenze begrenzt die unbestätigten Anfragen auf ein und denselben Tag.
Die Benachrichtigungs-E-Mail enthält zwei Buttons, Bestätigen und Ablehnen, deren Links mit HMAC-SHA256 signiert sind: Du entscheidest mit einem Tipp, ohne WordPress zu öffnen und ohne dich anzumelden. Die manuelle Freigabe ist der empfohlene Modus; die automatische Bestätigung bleibt für Tätigkeiten verfügbar, bei denen es nichts abzuwägen gibt.
Der Shortcode [ow_agenda_admin] erzeugt auf deiner Website eine Seite „Agenda“, geschützt durch Login und durch eine eigene Berechtigung: Tagesansicht, offene Anfragen, telefonisch vereinbarte Termine nachtragen, Zeitfenster blocken, Termine verschieben, Status erledigt und nicht erschienen. Auf dem Startbildschirm deines Handys verhält sie sich wie eine App.
Suchen, Anlegen, Bearbeiten und Löschen von Kundenkarten, die automatisch aus bestätigten Terminen gespeist werden. Für eine Folgesitzung lässt ein privater, persönlicher Link den Kunden sein Datum selbst wählen — auf einer Leistung und einer Dauer, die du festgelegt hast: Die Einladung läuft ab, wird genau einmal eingelöst und wird wieder nutzbar, wenn der Termin abgesagt wird.
Sorgfältig gestaltete HTML-E-Mails bei jedem Schritt, mit angehängter ICS-Datei: Dein Kunde übernimmt den Termin mit einer Geste in den Kalender seines Handys, eine Verschiebung aktualisiert den Eintrag und eine Absage löscht ihn. Die Erinnerung am Vortag geht in einem gleitenden Fenster von 12 bis 36 Stunden raus und wird beim nächsten Durchlauf nachgeholt; die stündliche Aufgabe plant sich selbst neu, falls sie verschwindet.
Gegenüber Alternativen
Überprüfbare Daten. Nur abhaken, was bei der Konkurrenz tatsächlich existiert.
| Kriterium | OW Agenda | Amelia | Bookly | Simply Schedule Appointments |
|---|---|---|---|---|
| Geschäftsmodell | Kostenlos, GPL-2.0 | Freemium (Pro kostenpflichtig) | Freemium (Pro kostenpflichtig) | Freemium (Pro kostenpflichtig) |
| Grenzen der Gratisversion | Keine: alles inklusive | Lite: 1 Mitarbeiter, 1 Standort | 5 Leistungen, 1 Mitarbeiter | Basisfunktionen |
| Zu aktivierender Lizenzschlüssel | Keiner | Für die Pro-Version | Für die Pro-Version | Für die Pro-Version |
| E-Mail-Double-Opt-in, bevor das Zeitfenster belegt wird | Standardmäßig aktiv | Nicht angegeben | Nicht angegeben | Nicht angegeben |
| Bestätigen / Ablehnen aus der E-Mail, ohne Login | HMAC-SHA256-signierte Links | Ja | Nicht angegeben | Nicht angegeben |
| ICS-Datei an den Kunden-E-Mails | REQUEST, Aktualisierungen und CANCEL | |||
| Automatische Anonymisierung vergangener Termine | Enthalten, Frist einstellbar | Nicht angegeben | Nicht angegeben | Nicht angegeben |
| Tägliche Verwaltung | Seite der Website, Mobile-first | WordPress-Backend | WordPress-Backend | WordPress-Backend |
Drei Wege, ein Formular einzubinden
Kein aufgezwungener proprietärer Page Builder. Wähle den Ansatz, der zu deinem Stack passt.
[ow_agenda]
// La page « Prendre rendez-vous » est créée automatiquement à l'activation.
// Le même shortcode sert aux invitations de séance : le lien privé envoyé
// à un client existant pointe vers cette page avec son jeton en paramètre.
//
// https://ton-site.be/prendre-rendez-vous/?owag_invite=<jeton>Berechtigte Zweifel, direkte Antworten
Ja. Alles, was in deinem Kalender steht, belegt die Zeit, die es braucht: eine Online-Buchung, ein nach einem Anruf von Hand eingetragener Termin, eine für eine Besprechung geblockte Zeit. Die Verfügbarkeitsberechnung startet bei deinen Öffnungszeiten, zieht diese Zeiträume ab und wendet dann die Dauer der Leistung, den Puffer zwischen zwei Terminen, die Mindestvorlaufzeit und den maximalen Buchungshorizont an. Ein angezeigtes Zeitfenster ist ein tatsächlich freies Zeitfenster.
Durch eine Anfrage, die es erst gibt, wenn sie bestätigt ist. Der Besucher bekommt einen Bestätigungslink; ohne Klick hält seine Anfrage das Zeitfenster 45 Minuten und wird danach gelöscht. Dazu kommen ein Honeypot-Feld und ein Zeitstempel, die inzwischen Pflicht sind — eine Übermittlung, die sie weglässt, wird abgelehnt, statt ungeprüft durchzugehen —, ein Stundenkontingent pro IP-Adresse (bei IPv6 nach /64-Präfix zusammengefasst, wo eine einzige Maschine sonst über Milliarden Adressen verfügt) und eine Obergrenze für unbestätigte Anfragen pro Tag, damit ein und derselbe Besucher nicht deinen ganzen Kalender einfrieren kann.
Nur eine Buchung geht durch. Der kritische Abschnitt wird über eine benannte MySQL-Sperre serialisiert: Verfügbarkeitsprüfung und Schreibvorgang laufen unter Sperre, was eine einfache Transaktion nicht garantierte — ein reiner Lesezugriff setzt unter REPEATABLE READ keinerlei Zeilensperre. Der Name der Sperre wird aus der Datenbank und dem Tabellenpräfix abgeleitet, damit sich zwei Websites auf demselben Shared Hosting nicht gegenseitig blockieren. Der zweite Besucher wird gebeten, ein anderes Zeitfenster zu wählen.
Ja, über den Link in seinen E-Mails, bis zu der Vorlauffrist, die du festlegst (standardmäßig 24 Stunden); danach bittet ihn die Seite, dich anzurufen. Die Absage verschickt eine ICS-Absagedatei, die den Eintrag aus seinem Kalender entfernt, und wenn der Termin aus einer privaten Einladung stammte, wird diese wieder nutzbar, statt endgültig verbraucht zu bleiben.
Öffne die Seite „Agenda“ deiner Website auf dem Handy, melde dich an und nutze dann „Zum Startbildschirm hinzufügen“. Die Oberfläche verhält sich danach wie eine App: laufender Tag, Anfragen zur Freigabe, telefonischen Termin nachtragen, Zeitfenster blocken, Termine verschieben, Status erledigt und nicht erschienen. Keine Installation, kein Store, und nichts, was dein Hosting verlässt.
Ja. Seit 1.3.1 laufen alle sichtbaren Texte — Einstellungen, Buchungs- und Absageseiten, API-Meldungen, E-Mail-Vorlagen und JavaScript-Oberfläche — über die Textdomain ow-agenda, mit Englisch als Ausgangssprache. Die Vorlage languages/ow-agenda.pot liegt für Übersetzer bei, und eine vollständige französische Übersetzung wurde erstellt und bei translate.wordpress.org eingereicht. Eine deutsche Übersetzung lässt sich auf genau demselben Weg ergänzen.
Keine Pro-Version, kein Lizenzschlüssel.
OW Agenda erscheint unter der Lizenz GPL-2.0. Alles, was diese Seite beschreibt, steckt in der .zip, die du herunterlädst: keine zurückgehaltene Funktion, kein Abo, keine Begrenzung der Zahl von Terminen, Mitarbeitern oder Leistungen.
- Alles ist enthalten: Online-Buchung, Double-Opt-in, Sitzungseinladungen, Kundenverzeichnis, ICS-E-Mails und Erinnerungen.
- Die .zip lädst du auf optionweb.dev herunter. Das Plugin ist nicht auf wordpress.org veröffentlicht: Installiere es über Plugins → Installieren → Plugin hochladen.
- Kein Drittanbieterdienst, keine Lizenzprüfung, kein Tracker: Die Kontaktdaten deiner Kunden bleiben auf deinem Hosting.
- Der Code steht unter GPL-2.0, lesbar und veränderbar: Du kannst ihn prüfen, anpassen und weiterentwickeln — mit uns oder ohne uns.