Dokumentation · Version 2.2.0
Courtora-Dokumentation
Installation, Einrichtung und Betrieb von Courtora Smart Court Booking, Schritt für Schritt.
Überblick
Courtora ermöglicht Vereinen und Sportanlagen die Online-Reservierung von Plätzen, Räumen oder anderen buchbaren Ressourcen – nicht nur für Tennis. Mitglieder und Gäste buchen im Frontend, Administratoren verwalten Plätze, Preise, Limits, Serien und Zahlungen im WordPress-Backend.
- Tagesansicht mit Platz-Tabs oder mehrtägiges Raster
- Drei Preistabellen: Mitglieder, Gäste, Mitglied + Gast
- Tages- und Wochenlimits, Stornofrist, Vorausbuchungszeitraum
- Serienbuchungen mit Konfliktbehandlung
- Manuelle Backend-Buchungen ohne Limits
- E-Mail-Benachrichtigungen mit bearbeitbaren Vorlagen
- Optionale Online-Zahlung über Mollie oder Barzahlung vor Ort
- CSV- und Excel-Export
Voraussetzungen
| Komponente | Anforderung |
|---|---|
| WordPress | ab 6.2 (getestet bis 7.1) |
| PHP | ab 8.0 |
| Lizenz | GPLv2 oder später |
| Optional | Mollie-Konto für Online-Zahlungen |
Installation
- In WordPress „Plugins → Installieren“ öffnen und nach „Courtora“ suchen.
- Bei „Courtora Smart Court Booking“ auf „Jetzt installieren“ klicken. Alternativ die ZIP-Datei von der Plugin-Seite auf WordPress.org herunterladen und unter „Plugins → Installieren → Plugin hochladen“ installieren.
- Plugin aktivieren. Datenbanktabellen und Standardeinstellungen werden automatisch angelegt.
- Im Admin-Menü erscheint der Eintrag „Courtora“.
Sprache: Englisch ist die Quellsprache. Für Deutsch, Französisch und Spanisch gibt es eigene Sprachpakete, siehe Sprachpakete.
Sprachpakete
Die Oberfläche von Courtora ist auf Englisch. Mit einem Sprachpaket erscheinen Buchungsansicht, Dialoge, E-Mail-Texte und Backend auf Deutsch, Französisch oder Spanisch. Jedes Paket enthält eine MO-Datei, die WordPress lädt, und eine PO-Datei zum Bearbeiten.
| Sprache | Datei | Download |
|---|---|---|
| Deutsch | courtora-smart-court-booking-de_DE-v2.2.0.zip | ZIP herunterladen |
| Französisch | courtora-smart-court-booking-fr_FR-v2.2.0.zip | ZIP herunterladen |
| Spanisch | courtora-smart-court-booking-es_ES-v2.2.0.zip | ZIP herunterladen |
Installation
- Das passende Sprachpaket herunterladen und entpacken.
- Die beiden Dateien
courtora-smart-court-booking-de_DE.moundcourtora-smart-court-booking-de_DE.po(bzw.fr_FRoderes_ES) per FTP oder über den Dateimanager deines Hosters in den Ordnerwp-content/languages/plugins/hochladen. Fehlt der Ordnerplugins, legst du ihn an. - In WordPress unter „Einstellungen → Allgemein → Sprache der Website“ die gewünschte Sprache wählen. Einzelne Nutzer können die Sprache auch im eigenen Profil umstellen.
- Die Courtora-Seiten neu laden. Nutzt du ein Cache-Plugin, leere vorher den Cache.
Hinweis: Die Sprachpakete passen zu Version 2.2.0 und funktionieren auch mit älteren 2.x-Versionen. Neue Texte späterer Versionen erscheinen bis zum nächsten Sprachpaket auf Englisch. Sobald es auf translate.wordpress.org ein offizielles Sprachpaket gibt, kann WordPress diese Dateien bei einem Übersetzungs-Update ersetzen.
Schnellstart
- Plätze anlegen unter „Courtora → Platz hinzufügen“.
- Preisregeln pro Platz für Mitglieder, Gäste und Mitglied + Gast eintragen.
- Einstellungen unter „Courtora → Einstellungen“: Betreiber-E-Mail, Stornofrist, Limits und Rollen.
- Seite erstellen und den Shortcode
[ctra_court_booking]einfügen. - Optional eine zweite Seite mit
[ctra_my_court_bookings]für „Meine Buchungen“.
Plätze
Unter „Courtora → Plätze“ siehst du alle Plätze mit ID, Sortierung und Status. Über „Platz hinzufügen“ oder „Bearbeiten“ legst du fest:
| Feld | Bedeutung |
|---|---|
| Platzname | Anzeigename im Frontend, z. B. „Platz 3 (Halle)“. |
| Sortierung | Reihenfolge der Tabs bzw. Spalten. |
| Status | Aktiv – buchbar. Nicht buchbar – sichtbar, aber gesperrt; ein eigener Hinweistext erscheint im Frontend. Ausgeblendet – im Frontend unsichtbar. |
| Buchungsintervall | Nur 60 Minuten (Standard), nur 30 Minuten oder beides. |
| Interne Notiz | Nur im Backend sichtbar. |
Mit „Kopieren“ duplizierst du einen Platz samt Preisregeln. Danach Namen anpassen und aktivieren.
Preisregeln
Jeder Platz hat drei unabhängige Preistabellen:
- Mitglieder – für Nutzer mit der konfigurierten Mitgliedsrolle.
- Gäste – für Nutzer mit der konfigurierten Gastrolle.
- Mitglied + Gast – wenn ein Mitglied im Buchungsdialog „Ich spiele mit einem Gast“ ankreuzt.
Jede Regel besteht aus Wochentag, Uhrzeit von/bis und Preis pro Stunde (optional Preis pro 30 Minuten). Der Einrichtungsassistent legt Regeln für einen Wochentagsbereich in einem Schritt an.

Einstellungen
Rollen & Buchungslimits
| Einstellung | Bedeutung |
|---|---|
| Mitgliedsrolle / Gastrolle | Welche WordPress-Rolle als Mitglied bzw. Gast gilt. Eingeloggte Nutzer ohne passende Rolle werden als Mitglied behandelt. |
| Max. Buchungen pro Tag / Woche | Getrennt für Mitglieder und Gäste. 0 = kein Limit. Jede Buchung zählt als 1, unabhängig von 30 oder 60 Minuten. |
Zeiträume
| Einstellung | Bedeutung |
|---|---|
| Vorausplanung (Wochen) | Wie viele Wochen im Voraus gebucht werden darf. Die Grenze wird im Frontend angezeigt und serverseitig geprüft. |
| Storno-Vorlauf (Stunden) | Bis wie viele Stunden vor Beginn Nutzer selbst stornieren können. |
| Standard-Tagesanzahl | Anzahl der Tage in der Rasteransicht; per Shortcode-Attribut days überschreibbar. |
Darstellung
Statusfarben für „Frei“, „Belegt“, „Meine Buchung“ und „Gesperrt“ sowie die Farbe für Kopfzeile und Buttons.
E-Mail-Vorlagen
Unter „Einstellungen → E-Mail“ legst du Betreiber-E-Mail, Absenderadresse und optional eine BCC-Adresse fest. Betreff und Text der Buchungs- und Stornobestätigung sind frei bearbeitbar.
| Platzhalter | Wird ersetzt durch |
|---|---|
{name} | Name der buchenden Person |
{court_name} | Platzname |
{date} | Datum (TT.MM.JJJJ) |
{time_from} / {time_to} | Beginn / Ende |
{cancel_period} | Stornofrist |
Shortcodes
[ctra_court_booking] – Buchungskalender
| Attribut | Werte | Standard | Beispiel |
|---|---|---|---|
courts | Platz-IDs, kommagetrennt | alle aktiven Plätze | courts="1,2" |
view | tabs oder grid | tabs | view="grid" |
days | Anzahl Tage im Raster | Standard-Tagesanzahl | days="3" |
date | Startdatum JJJJ-MM-TT | heute | date="2026-06-15" |
[ctra_court_booking]
[ctra_court_booking view="grid" days="7"]
[ctra_court_booking courts="1,2" view="grid" days="3"]
Wichtig: Immer die Schreibweise mit Attributnamen verwenden: [ctra_court_booking courts="1,2"]. Die Kurzform [ctra_court_booking="1,2"] funktioniert erst ab Version 2.1.0.
[ctra_my_court_bookings] – Meine Buchungen
Zeigt eingeloggten Nutzern ihre Buchungen mit Storno-Button und Buchungshistorie.
[ctra_my_court_bookings]
Buchungsansichten
Tagesansicht mit Tabs (Standard)
Ein Tab pro Platz, Navigation über Pfeile und Kalender. Freie, belegte und eigene Buchungen sind farblich markiert. Ein Hinweis zeigt, bis zu welchem Datum gebucht werden kann.

Rasteransicht
Mit view="grid" erscheinen mehrere Tage und Plätze nebeneinander in 30-Minuten-Slots. Nicht buchbare Plätze sind grau mit Hinweis-Tooltip, Tage außerhalb des Buchungszeitraums ausgegraut. Auf Bildschirmen unter 768 px wechselt die Darstellung automatisch zur Tab-Ansicht.

Buchungsdialog
Beim Klick auf einen freien Slot öffnet sich der Dialog mit Zeit, Preis, Gast-Option und – falls aktiviert – Auswahl der Zahlungsart.

Meine Buchungen
Nutzer sehen ihre kommenden und vergangenen Buchungen. Innerhalb der Stornofrist können sie selbst stornieren; Buchende und Betreiber erhalten eine E-Mail.

Buchungsverwaltung
„Courtora → Buchungen“ listet alle Buchungen mit Filtern nach Platz, Zeitraum, Status, Typ und Name/E-Mail. Buchungen lassen sich bearbeiten, stornieren und als CSV oder Excel exportieren. Vergangene Buchungen können vor einem gewählten Datum dauerhaft bereinigt werden.

Manuelle Buchung
Unter „Courtora → Manuell buchen“ trägst du Buchungen für Mitglieder, Gäste oder Veranstaltungen ein.
- Für Administratoren gelten keine Tages-, Wochen- oder Dauerlimits und kein Vorausbuchungszeitraum.
- Die Zeiten müssen dem 30-Minuten-Raster entsprechen.
- Der eingegebene Preis gilt – auch 0 € (kostenlos). Über „Preis Mitglied“ / „Preis Gast“ kann er berechnet werden.
- Der „Aboname (für alle sichtbar)“ erscheint im Frontend statt „Belegt“, die interne Notiz nur im Backend.
- Bei Überschneidung fragt ein Dialog, ob die bestehende Buchung storniert werden soll; Buchende und Betreiber werden benachrichtigt.

Serienbuchungen
Unter „Courtora → Serie anlegen“ erstellst du wiederkehrende Termine (z. B. wöchentliches Training) mit Platz, Wochentag, Uhrzeit, Zeitraum und Wiederholung. Bei Konflikten mit bestehenden Buchungen:
| Option | Wirkung |
|---|---|
| Überspringen | Der betroffene Serientermin wird nicht angelegt, die bestehende Buchung bleibt. |
| Abbrechen | Die Serie stoppt beim ersten Konflikt; bereits angelegte Termine bleiben. |
| Termin stornieren | Die bestehende Buchung wird nach Sicherheitsabfrage storniert (mit Benachrichtigung, unabhängig von der Stornofrist) und der Serientermin eingetragen. |
Hinweis: Bei „Termin stornieren“ werden online bezahlte Buchungen nicht automatisch über Mollie erstattet. Eine Erstattung löst du im Mollie-Dashboard selbst aus.

Online-Zahlung
Online-Zahlung ist optional und deaktiviert, bis du unter „Courtora → Einstellungen → Zahlungen“ einen Mollie-API-Schlüssel einträgst. Mit dem Verbindungstest prüfst du den Schlüssel.
- Zahlungsarten: Barzahlung vor Ort, PayPal, Wero, Apple Pay, Google Pay, Kreditkarte, Überweisung (je nach Freischaltung im Mollie-Konto).
- Die Zahlung erfolgt auf den Seiten von Mollie; Courtora verarbeitet keine Zahlungsdaten.
- Übermittelt werden Betrag, Beschreibung (Platz, Datum, Uhrzeit), Rücksprung- und Webhook-URL, Buchungs-ID und Plugin-Version – keine Namen oder E-Mail-Adressen.
- Ohne API-Schlüssel nimmt Courtora keine Verbindung zu externen Diensten auf.

Datenschutz im Plugin
Courtora speichert Buchungen in eigenen Tabellen: Datum, Uhrzeit, Platz, WordPress-Benutzer-ID oder Name und E-Mail eines Gastes, Notizen, Preis und Zahlungsstatus.
- Datenschutz-Leitfaden: Courtora ergänzt einen Textvorschlag unter „Einstellungen → Datenschutz“. Er ist keine Rechtsberatung und muss vom Betreiber geprüft werden.
- Datenexport: Buchungen und Serien werden über Benutzerkonto und E-Mail-Adresse gefunden.
- Datenlöschung: Künftige Buchungen werden ohne E-Mail storniert, Name, E-Mail, Kontoverknüpfung und Notizen entfernt. Bezahlte Buchungen bleiben ohne Personenbezug für die Buchhaltung erhalten. Gleiches gilt beim Löschen eines WordPress-Benutzers.
- Deinstallation: Beim Löschen des Plugins über die Plugin-Seite werden alle Daten entfernt.
Caching
Caching-Plugins und Hosting-Caches können Buchungsseite und Skripte zwischenspeichern.
- Nach jedem Update den Cache der Website und des Hostings leeren.
admin-ajax.phpvom Caching ausschließen oder folgende Header senden:
Cache-Control: no-store, no-cache, must-revalidate, max-age=0, private
Pragma: no-cache
Viele Hoster umgehen den Cache für eingeloggte Nutzer. Teste deshalb auch abgemeldet bzw. im privaten Fenster.
Häufige Fragen
Muss ich Mollie verwenden?
Nein. Ohne Online-Zahlung wird vor Ort bezahlt.
Funktioniert Courtora nur für Tennis?
Nein. Jede buchbare Ressource ist möglich, z. B. Padel, Squash, Badminton, Soccer-Court oder Vereinsraum.
Welche Limits gelten für Administratoren?
Keine. Manuelle Buchungen und Serien ignorieren die Limits aus den Einstellungen.
Besucher sehen alte Buttons oder Daten.
Cache leeren und admin-ajax.php vom Caching ausschließen (siehe Caching).
Wie kann ich Courtora unterstützen?
Mit einem freiwilligen Beitrag über PayPal, einer Bewertung im WordPress-Pluginverzeichnis oder Hilfe bei Übersetzungen.