Restatify Booking Assistant
Manual slot search + reservation popup for WordPress, backed by Restatify Booking API.
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/carryman1979/wp_restatify-booking/archive/refs/heads/main.zipWP Restatify Booking Assistant
Product: Restatify-Booking
Current slug: wp_restatify-booking-assistant
Target slug (2.0.0): wp_restatify-booking
Company: https://www.restatify.tech
WordPress-Plugin fuer manuelle Terminsuche und Reservierungs-Popup.
Version: 2.1.1
Features
- Shortcode-Popup fuer Termin-Suche und Reservierung
- Globaler Buchungs-Overlay-Trigger ueber Link-Hash
#restatify-booking - Verbindung zur Restatify Booking API
- Dashboard-Widget mit Live-Status fuer API-Erreichbarkeit, Authentifizierung und Kalenderquellen
- Grundkonfiguration (erforderlich): API-Endpunkt und API-Key
- Experteneinstellungen (optional): Sync-Intervall, Kalenderliste, woechentliche Verfuegbarkeitsfenster, Autoresponder-Text
- Force-Sync-Button in den Einstellungen, um Sync-Konfiguration sofort erneut an die API zu senden
- Kalenderquellen-Modi mit
private/officialundgeneral/holiday - Branded HTML-/Text-Mails fuer Reservierung, Stornobestaetigung und interne Benachrichtigungen
- Theme-aware Mail-Branding: nutzt bei aktivem Restatify-Theme Logo und CI-Farben, sonst Platzhalter-Logo und Standardfarben
- Oeffentliche Storno-Seite mit Nonce, Rechenaufgabe und API-gestuetzter Termin-Stornierung
- Autoresponder-E-Mail mit ICS-Anhang
- Optionale KI-Helper-Funktion fuer Integration mit dem Chat-Overlay-Plugin
- Optionale Uebergabe von Chat-Ereignissen (bestaetigt/abgebrochen), wenn Multi Chat Overlay installiert ist
- Direktes Oeffnen des Booking-Overlays aus dem Chat-Flow inklusive Prefill der erkannten Felder
- Polylang-Registrierung fuer konfigurierbare Autoresponder-Texte
- CI-freundliches Styling ueber CSS-Variablen und Theme-Farbpresets
Kompatibilitaet und Unabhaengigkeit
- Funktioniert standalone nur mit der Booking API (Multi Chat Overlay ist optional).
- Funktioniert mit Multi Chat Overlay fuer chat-ausgeloestes Oeffnen der Buchung und Status-Rueckmeldungen im Chat.
- Wenn Multi Chat Overlay Session 1 aktiviert, kann das Formular mit den im Chat erkannten Daten vorbelegt werden, sodass Nutzer nur noch pruefen und absenden.
- Wenn Multi Chat Overlay nicht installiert ist, laeuft der Buchungsablauf normal weiter und Chat-Events werden sicher ignoriert.
LightStart-Wartungsmodus (Integration)
- In den Plugin-Einstellungen gibt es die Option
Bei LightStart-Wartung ausblenden. - Standardwert ist
AN. - Die Option wird nur angezeigt, wenn LightStart (
wp-maintenance-mode) installiert und aktiviert ist. - Ist LightStart nicht installiert oder nicht aktiv, wird diese Option nicht angezeigt und das Booking-Overlay bleibt sichtbar.
- Ist LightStart aktiv und Wartungsmodus eingeschaltet, wird das Booking-Overlay bei aktivierter Option automatisch unterdrueckt.
Installation
- Plugin-Ordner nach wp-content/plugins/ hochladen
- Plugin im WordPress-Admin aktivieren
- Einstellungen unter Einstellungen > Booking Assistant konfigurieren
- Shortcode [restatify_booking_popup] auf einer Seite platzieren
- Optional: beliebigen WP-Link mit
#restatify-bookingverwenden, um das Overlay zu oeffnen
API-Abhaengigkeit
Erfordert eine laufende Restatify Booking API Instanz.
Release-Paket erstellen
Fuer externe Updates immer das Release-ZIP mit Root-Ordner erzeugen:
powershell -ExecutionPolicy Bypass -File scripts/create-release-zip.ps1
Das Skript erzeugt das Artefakt unter release/wp_restatify-booking-<version>.zip.
Dieses ZIP kann im WordPress-Plugin-Installer als echtes Update eingespielt werden.
Architecture
Das Plugin ist in kleine Klassen mit klaren Verantwortlichkeiten aufgeteilt:
wp_restatify-booking.phpBootstrap-Datei: laedt Klassen, startet Plugin, behaelt optionale KI-Helper-Funktion.includes/class-restatify-booking-assistant-plugin.phpComposition Root: verdrahtet Services und registriert alle WordPress-Hooks.includes/class-restatify-booking-assistant-constants.phpGemeinsame Konstanten (Option-Key, Nonce-Action, Text-Domain usw.).includes/class-restatify-booking-assistant-options.phpSettings-Lifecycle: Defaults, Sanitisierung, Parser-Helfer, uebersetzte Optionen.includes/class-restatify-booking-assistant-api-client.phpBackend-API-Kommunikation: authentifizierte Requests und Sync-Config-Push.includes/class-restatify-booking-assistant-booking-controller.phpAJAX-Buchungsendpunkte: Terminsuche und Reservierung mit Kontaktkanal-Validierung.includes/class-restatify-booking-assistant-autoresponder.phpBestaetigungs-, Storno- und interne E-Mails mit HTML/Text-Fallback und ICS-Generierung.includes/class-restatify-booking-assistant-cancellation-controller.phpOeffentliche Storno-Seite mit Formular, Captcha, API-Call und Versand der Stornobestaetigung.includes/class-restatify-booking-assistant-ui.phpFrontend-Rendering/Assets und Rendering der Admin-Einstellungsseite.
Public interfaces
Die oeffentlichen Methoden in den oben genannten Klassen sind mit kurzen PHPDoc-Bloecken dokumentiert. Diese Dokumentation beschreibt Zweck, erwartete Payloads und Verhalten, damit kuenftige Aenderungen sicher umgesetzt werden koennen.
Request flow
- Frontend-JS sendet an
admin-ajax. Booking_Controllervalidiert Payload und kanalspezifische Kontaktdaten.Api_Clientsendet Reservierung an die Booking API.Autoresponderversendet E-Mail + ICS mit kanalbezogenen Kontaktdetails.Cancellation_Controllerverarbeitet den Storno-Link und versendet Stornobestaetigungen nach erfolgreichem API-Call.
Why this split
- Kleinere Dateien sind einfacher zu reviewen und zu testen.
- Das Naming zeigt die Verantwortung (
Options,Api_Client,Booking_Controller,UI). - Aenderungen in einem Bereich (z.B. API-Payloads) erfordern nicht mehr automatisch Aenderungen im Rendering.
Polylang
Wenn Polylang aktiv ist, werden konfigurierbare Booking-Autoresponder-Texte in der Uebersetzungsgruppe registriert:
Restatify Booking Assistant
Fields:
- Booking autoresponder subject
- Booking autoresponder body
- Booking autoresponder HTML body
- Booking owner notification subject/body
- Booking cancellation confirmation subject/body
- Booking owner cancellation subject/body
Uebersetzung unter: Languages > Translations.
CI styling hooks
Overlay-Styles sind theme-freundlich und koennen mit CSS-Variablen ueberschrieben werden:
--rs-booking-accent--rs-booking-accent-contrast--rs-booking-surface--rs-booking-text--rs-booking-border--rs-booking-slot-bg
Defaults mappen, wo verfuegbar, auf gaengige WordPress-Preset-Variablen (--wp--preset--color--*).
Sync configuration format
In den Plugin-Einstellungen werden Kalender zeilenweise definiert:
calendar_id|Label|private|general
or
calendar_id|Label|official|holiday
Woechentliche Verfuegbarkeitszeilen:
mo|09:00-12:00,13:00-17:00
Changelog
2.1.1
- Maintenance release: synchronized local booking runtime changes, release metadata, and wiki documentation.
- Refreshed release packaging baseline for coordinated multi-repo rollout.
2.1.0
- Booking-Autoresponder: ICS-Anhang wird jetzt mit stabiler
.ics-Dateiendung erzeugt (kein.tmp-Leak mehr im Mail-Client). - Booking-Autoresponder: ICS-Zeilen werden RFC-konform escaped/gefaltet, um kaputte Kalendereintraege in Clients zu vermeiden.
- Tests: Regressionstest fuer ICS-Anhang (Dateiendung + VEVENT-Grundstruktur) hinzugefuegt.
2.0.5
- Shared resolver and loader-order policy finalized for root-shared and exact-version fallback handling.
- Booking admin/UI look-and-feel and dark-theme oriented polish were consolidated for the current rollout.
- Booking API client/options/UI internals refactored in-place without changing public trigger behavior.
- Release-prep docs and test scaffolding updated for the coordinated multi-repo release run.
2.0.4
- Hotfix rebuild without version bump: replaced defective 2.0.4 release package.
- Added shared library installer/runtime resolver for versioned central shared path handling.
- Added packaged shared install payload in release ZIP to ensure
PrivacyLegalNoticeis available during install/update.
2.0.2
- Added PHP unit-test baseline and test runner hardening (
@php vendor/bin/phpunit) for Windows/CI shells without globalphpin PATH. - Added repository-level AGENTS and Copilot instruction files linked to centralized shared guidelines.
- Updated release docs and wiki index for the current maintenance release.
1.3.3
- Dashboard-Widget
Booking API Statushinzugefuegt (Verbindung, API-Key-Pruefung, Kalenderquellen, letzter Check). - Force-Sync-Button in den Plugin-Einstellungen hinzugefuegt.
- Admin-Post Action fuer manuellen Sync mit Nonce- und Capability-Pruefung ergaenzt.
1.3.2
- LightStart-Integration fuer Wartungsmodus hinzugefuegt.
- Neue Option
Bei LightStart-Wartung ausblendenin den Plugin-Einstellungen (Standard: AN). - Option nur sichtbar, wenn LightStart (
wp-maintenance-mode) installiert und aktiv ist. - Booking-Overlay (Assets, Shortcode, Global-Overlay) wird bei aktivem LightStart-Wartungsstatus optional unterdrueckt.
- Dokumentation fuer Betrieb mit LightStart erweitert.
1.3.1
- Admin-Oberflaeche fuer Kalender-, Verfuegbarkeits- und Kontaktkanalpflege weiter aufgeraeumt und strukturiert.
- Fehlerbehandlung im Buchungs-Popup verbessert, inklusive Rueckweg zur Terminauswahl bei fehlgeschlagener Reservierung.
- Hash-Link-Verhalten fuer das Buchungs-Overlay auf derselben Seite und ueber Navigationslinks stabilisiert.
- Empfohlene API-Kombination auf Booking API 1.2.1 angehoben, damit Feiertags- und Live-Kalenderpruefung konsistent zusammenarbeiten.
1.3.0
- Lesbare lokale Zeitdarstellung in den Buchungs- und Stornomails hinzugefuegt.
- Stornobestaetigung fuer Interessenten und optionale interne Stornobenachrichtigung hinzugefuegt.
- Branded HTML-Default-Templates mit Footer, Disclaimer, Maschinenhinweis und Umwelthinweis hinzugefuegt.
- Restatify-Theme Branding fuer Mails (Custom Logo + CI-Farben) mit Fallback auf Platzhalter-Logo und Standardfarben implementiert.
1.2.2
- Monolithische Plugin-Datei in modulare Klassen unter
includes/refaktoriert. - Architektur-Dokumentation mit klaren Klassenverantwortlichkeiten und Ablauf ergaenzt.
- Konfigurierbares oeffentliches Rate-Limiting fuer anonyme Slot-Suche und Reservierung hinzugefuegt.
1.2.1
- Klarere Beschreibungen fuer Admin-Felder (Zeitzone, Dauer, Suchzeitraum und Autoresponder-Felder) hinzugefuegt.
1.2.0
- Support-seitigen Trigger zum Oeffnen der Buchung ueber den Multi Chat Overlay Posteingang hinzugefuegt.
- Uebergabe von Buchungsbestaetigung/-abbruch als Chat-Ereignis hinzugefuegt.
- Expliziten Abbrechen-Button und verbessertes Abbruch-Handling hinzugefuegt.
- Polylang-Registrierung und Laufzeit-Uebersetzung fuer Autoresponder-Texte hinzugefuegt.
- Overlay-Styles auf Site-CI/Theme-Farben per CSS-Variablen ausgerichtet.
- Optionalen globalen Hash-basierten Oeffnungs-Trigger (
#restatify-booking) hinzugefuegt.