Live · Status OK
OW Agenda · v1.3.1 · GPL-2.0

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.

v1.3.1GPL-2.0WordPress 6.3+PHP 7.4+
Warum

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.

Zeitfenster, die niemand belegt

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.

Die Doppelbuchung am Samstagmorgen

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.

Ein Backend, das am Empfang unbrauchbar ist

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.

Unter der Haube

Was sich konkret ändert

Keine Slogans. Hier sind die technischen Entscheidungen, die dieses Produkt auszeichnen.

Online-Buchung auf echten Zeitfenstern

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.

Double-Opt-in: Bots kommen nicht durch

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.

Freigabe direkt aus deinem Postfach

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.

Mobile-first-Kalender für die Praxis

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.

Kundenverzeichnis und Sitzungseinladungen

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.

Erinnerungen und Kalender, die nicht verloren gehen

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.

Vergleich

Gegenüber Alternativen

Überprüfbare Daten. Nur abhaken, was bei der Konkurrenz tatsächlich existiert.

KriteriumOW AgendaAmeliaBooklySimply Schedule Appointments
GeschäftsmodellKostenlos, GPL-2.0Freemium (Pro kostenpflichtig)Freemium (Pro kostenpflichtig)Freemium (Pro kostenpflichtig)
Grenzen der GratisversionKeine: alles inklusiveLite: 1 Mitarbeiter, 1 Standort5 Leistungen, 1 MitarbeiterBasisfunktionen
Zu aktivierender LizenzschlüsselKeinerFür die Pro-VersionFür die Pro-VersionFür die Pro-Version
E-Mail-Double-Opt-in, bevor das Zeitfenster belegt wirdStandardmäßig aktivNicht angegebenNicht angegebenNicht angegeben
Bestätigen / Ablehnen aus der E-Mail, ohne LoginHMAC-SHA256-signierte LinksJaNicht angegebenNicht angegeben
ICS-Datei an den Kunden-E-MailsREQUEST, Aktualisierungen und CANCEL
Automatische Anonymisierung vergangener TermineEnthalten, Frist einstellbarNicht angegebenNicht angegebenNicht angegeben
Tägliche VerwaltungSeite der Website, Mobile-firstWordPress-BackendWordPress-BackendWordPress-Backend
Integration

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>
Technische Fragen

Berechtigte Zweifel, direkte Antworten

Berücksichtigen die online angebotenen Zeitfenster auch telefonisch vereinbarte Termine?

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.

Wie verhindert das Plugin falsche Buchungen?

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.

Was passiert, wenn zwei Personen gleichzeitig dasselbe Zeitfenster buchen?

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.

Kann ein Kunde seinen Termin selbst absagen oder verschieben?

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.

Wie verwalte ich den Kalender vom Handy aus?

Ö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.

Ist das Plugin übersetzt?

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.

Kostenlos. Ohne Sternchen.

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.
Entwickelt von Julien Daniel · Châtelet, Belgien