🎾 Tennisplatz-Reservierung Pro
Vollständige Dokumentation für Administratoren und Redakteure. Alle Funktionen erklärt – von der Installation bis zum Export.
🎾 Übersicht
Tennisplatz-Reservierung Pro ist ein WordPress-Plugin für die Online-Buchung von Tennisplätzen direkt auf deiner Vereins- oder Club-Website. Eingeloggte Mitglieder buchen selbst, der Administrator behält die volle Kontrolle.
📅 Buchungen
Einzeltermine und Wiederhol-serien, Zeitkonflikt-Schutz, Stornierungsfrist, Buchungslimit pro Nutzer
🎾 Mehrere Plätze
Unbegrenzte Plätze mit eigenen Farben, parallel buchbar, eigene Ansicht pro Platz oder Gesamtansicht
🔧 Equipment
Ballmaschinen, Ballkörbe o.ä. als buchbares Zusatz-Equipment – mit Doppelbuchungs-Schutz
📊 Export
Buchungen als CSV, iCal oder JSON exportieren, Backup und Import für einfache Migration
✉️ E-Mails
Automatische Buchungsbestätigung und Admin-Benachrichtigung, eigener SMTP-Server konfigurierbar
👥 Benutzerverwaltung
Eigene Rolle „Tennisplatz-Admin", Nutzerliste mit Buchungshistorie, Selbstregistrierung optional
Shortcodes
| Shortcode | Beschreibung |
|---|---|
[tennis_booking] | Buchungskalender (Hauptansicht) |
[tennis_booking start_hour="8" end_hour="22" view="week"] | Mit eigenen Startzeiten und Wochenansicht |
[tennis_my_bookings] | „Meine Buchungen" des eingeloggten Nutzers |
📦 Installation & Lizenz
Plugin installieren
- ZIP-Datei
tennis-pro-8.0.0.zipüber WordPress-Backend → Plugins → Installieren → ZIP hochladen hochladen - Auf „Jetzt installieren" klicken – WordPress entpackt das Plugin automatisch
- Auf „Plugin aktivieren" klicken
- Das Plugin erstellt beim ersten Aktivieren alle benötigten Datenbanktabellen automatisch
Nach der Aktivierung erscheint Tennis Pro im WordPress-Menü. Unter Tennis Pro → Einstellungen geht es direkt weiter.
Lizenz aktivieren
- Gehe zu Tennis Pro → Einstellungen → System
- Trage deinen Lizenzschlüssel in das Feld „Lizenzschlüssel" ein
- Klicke auf „Lizenz aktivieren"
- Der Status wechselt auf ✅ Aktiv
Testmodus: Ohne gültige Lizenz läuft das Plugin im 30-tägigen Trial-Modus mit vollem Funktionsumfang. Danach sind neue Buchungen gesperrt, bestehende bleiben erhalten.
Updates einspielen
- Gehe zu Tennis Pro → Einstellungen → System → Update-Prüfung
- Klicke auf „Auf Updates prüfen" – der Server wird direkt abgefragt
- Falls ein Update verfügbar ist, erscheint eine Meldung mit Versionsnummer
- Das Update kann dann über WordPress → Plugins → Verfügbare Updates eingespielt werden
🚀 Erste Schritte
Empfohlene Reihenfolge für die Einrichtung eines neuen Systems:
- Plätze anlegen – mindestens einen Platz unter Tennis Pro → Plätze erstellen
- Kategorien anlegen – z.B. „Freies Training", „Vereinstraining", „Turnier" unter Tennis Pro → Kategorien
- Buchungsregeln festlegen – Öffnungszeiten, Buchungslimit, Stornierungsfrist unter Tennis Pro → Einstellungen
- E-Mail konfigurieren – Absender-Adresse und ggf. SMTP einstellen
- Shortcode einfügen –
[tennis_booking]auf einer Seite platzieren - Testbuchung – als Nutzer einloggen und eine Buchung vornehmen

Screenshot: Übersicht Backend-Menü
Tennis Pro Navigation oben bzw. seitlich
🎾 Plätze verwalten
Unter Tennis Pro → Plätze werden alle buchbaren Plätze angelegt und verwaltet.
Platz anlegen
| Feld | Beschreibung |
|---|---|
| Name | Anzeigename, z.B. „Platz 1", „Außenplatz Nord" |
| Farbe (Text) | Textfarbe für die Zellendarstellung im Grid (HEX) |
| Hintergrundfarbe | Hintergrundfarbe für die gebuchten Zellen (HEX) |
| Reihenfolge | Sortierung im Frontend – niedrigere Zahl = weiter links |
Screenshot: Platzverwaltung
Übersicht aller Plätze mit Farb-Vorschau und Bearbeiten-Buttons
Platz bearbeiten / löschen
Bestehende Plätze können jederzeit umbenannt, umgefärbt oder gelöscht werden. Achtung: Beim Löschen eines Platzes werden alle zugehörigen Buchungen ebenfalls gelöscht.
Mindestens ein Platz muss vorhanden sein, damit das Buchungs-Frontend funktioniert.
🏷 Kategorien
Kategorien gruppieren Buchungsarten und steuern die Farbanzeige im Kalender. Erreichbar unter Tennis Pro → Kategorien.
| Feld | Beschreibung |
|---|---|
| Name | Anzeigename, z.B. „Freies Training", „Vereinstraining" |
| Hintergrundfarbe | Farbe der gebuchten Zelle für diese Kategorie |
| Textfarbe | Schriftfarbe in der Zelle |
| Nur Admin Admin | Wenn aktiviert, kann diese Kategorie ausschließlich von Tennisplatz-Admins gebucht werden – auch dann, wenn zusätzlich „🎓 Trainer" aktiviert ist |
| 🎓 Trainer | Macht die Kategorie zusätzlich für alle Mitglieder mit der Rolle „Trainer" sichtbar (zusätzlich zu Tennisplatz-Admins). Buchungen werden automatisch als „Training – <Trainername>" beschriftet (siehe Abschnitt „Trainer-Rolle & Training mit Gast") |
| 🎾 Gastspieler | Markiert die Kategorie als Gastspieler-Kategorie → löst Gebühr, Gastname-Feld und Benachrichtigungen aus (siehe Abschnitt „Gastspieler & Gebühr") |
| 🎓 Training mit Gast | Markiert die Kategorie als „Training mit Gast" → für Trainer erscheint ein Gastname-Feld, die Buchung wird als „Training – <Trainername> / Gast: <Name>" angezeigt und es greift die eigene Gebühr/Benachrichtigung (siehe Abschnitt „Trainer-Rolle & Training mit Gast") |
| 🔒 Namen | Steuert, wer die Namen der Buchenden (Spieler/Gast) im Frontend sehen darf. Trainer-Namen bleiben immer sichtbar. Stufen: alle sehen (Standard) · nur eingeloggte (Gäste sehen nur „Belegt") · nur Trainer+Admin · nur Admin. Empfehlung: „Freies Training" → nur eingeloggte; Trainings-Kategorien mit öffentlichem Trainer-Namen → Stufe 0. |
Gastspieler-Kategorie
Ist eine Kategorie als „🎾 Gastspieler" markiert, erscheint beim Buchen automatisch ein Feld für den Namen des Gastes, und – sofern die Gebührenfunktion aktiv ist – wird die Gastgebühr berechnet und per E-Mail mitgeteilt. Details im Abschnitt Gastspieler & Gebühr.
Ohne zugewiesene Kategorie werden Buchungen als „Belegt" (grau) angezeigt. Eine aussagekräftige Standard-Kategorie (z.B. „Freies Training") empfehlen wir immer anzulegen.
Ist bei einer Kategorie weder „Nur Admin" noch „🎓 Trainer" aktiviert, ist sie für alle eingeloggten Mitglieder sichtbar.
Die Felder „🎓 Trainer" und „Training mit Gast" gehören zur Trainer-Rolle. Details und Einrichtung im Abschnitt 🎓 Trainer-Rolle & Training mit Gast.
👤 Trainer (Zuordnung zu Buchungen)
Trainer werden unter Tennis Pro → Trainer verwaltet und können einzelnen Buchungen zugewiesen werden. Diese Zuordnung ist nur für Administratoren sichtbar und unabhängig von der Trainer-Benutzerrolle (siehe nächster Abschnitt).
| Feld | Beschreibung |
|---|---|
| Name | Name des Trainers, erscheint in der Buchungszelle |
| Reihenfolge | Sortierung im Auswahl-Dropdown |
| Verknüpfter Benutzer | Optional: ein Benutzerkonto mit der Rolle „🎓 Trainer", das mit diesem Trainer-Eintrag verknüpft wird (siehe unten) |
Beim Anlegen oder Bearbeiten einer Buchung kann (nur durch Admins) ein Trainer aus dieser Liste ausgewählt werden. Der Name wird dann in der Buchungszelle im Frontend angezeigt 👤 Max Mustermann.
Nicht zu verwechseln mit der Trainer-Benutzerrolle: Diese hier ist eine reine Namensliste für die Trainer-Spalte einer Buchung. Die Trainer-Rolle aus dem nächsten Abschnitt ist ein eigener Mitgliedstyp, der selbst Buchungen vornimmt.
Trainer-Eintrag mit Benutzerkonto verknüpfen
Jeder Trainer-Eintrag in dieser Liste kann optional mit einem Benutzerkonto verknüpft werden, das die Rolle „🎓 Trainer" besitzt. Dazu steht hinter jedem Trainer-Eintrag ein Auswahlfeld „– kein Benutzer verknüpft –" zur Verfügung, in dem alle Benutzer mit der Trainer-Rolle aufgelistet werden. Nach Auswahl mit „💾 Speichern" bestätigen.
Legt ein Admin anschließend eine Buchung an oder bearbeitet sie und wählt bei „Trainer (optional)" diesen Eintrag aus (z. B. Training mit Alex L.), kann der verknüpfte Benutzer diese Buchung im Frontend selbst bearbeiten und stornieren – genau wie eine eigene Buchung. Andere Trainer (z. B. „Gunther"), deren Benutzerkonto mit einem anderen Trainer-Eintrag verknüpft ist oder gar keiner Verknüpfung zugeordnet ist, sehen diese Buchung weiterhin nur, können sie aber nicht bearbeiten.
Die Verknüpfung wirkt sich ausschließlich auf die Bearbeitungsrechte aus. Den eingetragenen Trainer einer Buchung (Feld „Trainer (optional)") kann weiterhin nur ein Administrator ändern.
🎓 Trainer-Rolle & „Training mit Gast"
Mitglieder, die selbst Trainingseinheiten anbieten (z. B. Vereins- oder Jugendtraining), erhalten die eigene Tennis-Rolle „🎓 Trainer". Trainer sehen beim Buchen zusätzlich alle als „🎓 Trainer" markierten Kategorien – Buchungen in diesen Kategorien werden automatisch mit ihrem Namen beschriftet, ganz ohne manuelle Eingabe. Außerdem dürfen Trainer – anders als normale Mitglieder – Serien-Buchungen anlegen (siehe Abschnitt 🔁 Serien-Buchungen).
Einrichtung in 2 Schritten
- Mitglied zum Trainer machen: In der Benutzerverwaltung (Tennis Pro → Benutzer) bei der betreffenden Person im Dropdown „Rolle ändern" „🎓 Trainer" auswählen und speichern.
- Kategorien für Trainer freigeben: Unter Tennis Pro → Kategorien bei den gewünschten Trainingsformen (z. B. „Vereinstraining", „Jugendtraining") die Checkbox „🎓 Trainer" aktivieren. Optional zusätzlich „🎓 Training mit Gast" aktivieren und unter Tennis Pro → Einstellungen → Buchung → Training mit Gast Gebühr, Währung und verantwortliche E-Mail festlegen.
Wie eine Trainer-Buchung abläuft
Ein Mitglied mit der Rolle „Trainer" sieht im Buchungs-Popup zusätzlich alle Kategorien, bei denen „🎓 Trainer" aktiviert ist.
- Freies Training / normale Kategorie: Bucht der Trainer eine Kategorie ohne „🎓 Trainer"-Markierung (z. B. „Freies Training"), läuft die Buchung wie bei jedem anderen Mitglied – sein eigener Name wird wie gewohnt eingetragen.
- Als „🎓 Trainer" markierte Kategorie (z. B. „Vereinstraining"): Im Popup erscheint der Hinweis „Diese Buchung wird automatisch als „Training – <Name>" angezeigt." Der Anzeigename wird automatisch auf
Training – Max Mustermanngesetzt. Ein zusätzlicher Eintrag im Feld „Name / Kommentar" wird in Klammern angehängt, z.B.Training – Max Mustermann (Gruppe A). - „Training mit Gast"-Kategorie: Zusätzlich erscheint das Gastname-Feld. Der eingetragene Gastname wird angehängt:
Training – Max Mustermann / Gast: Erika Musterfrau.
Die Markierung „🎓 Trainer" gilt global pro Kategorie – sie ist für alle Mitglieder mit der Trainer-Rolle gleichzeitig sichtbar (keine individuelle Zuordnung mehr nötig). Eine Kategorie sollte entweder „Nur Admin" oder „🎓 Trainer" sein, nicht beides – ist „Nur Admin" aktiv, bleibt die Kategorie auch für Trainer gesperrt.
„Training mit Gast" – Gebühr & Benachrichtigung
Analog zur regulären Gastspieler-Gebühr lässt sich für „Training mit Gast" eine eigene Gebühr mit eigener Währung und eigenem Empfänger hinterlegen – unabhängig von den normalen Gastspieler-Einstellungen. Erreichbar unter Tennis Pro → Einstellungen → Buchung → Training mit Gast.
| Einstellung | Beschreibung |
|---|---|
| Funktion aktiv | Schaltet Gebühr & Benachrichtigung für „Training mit Gast" ein/aus |
| Betrag pro Stunde | Eigener Stundensatz + Währung für Training mit Gast. Wird anteilig nach Dauer berechnet |
| Verantwortliche E-Mail | Erhält jede „Training mit Gast"-Buchung mit fälligem Betrag (kassiert) – kann von der Gastspieler-E-Mail abweichen |
Was automatisch passiert
| Ereignis | Trainer | Verantwortliche/r |
|---|---|---|
| Anlegen | Bestätigungs-Mail (mit iCal-Termin und fälligem Betrag, falls „Training mit Gast") | E-Mail mit Gastname, Termin & einzuziehendem Betrag |
| Ändern (Zeit/Dauer/Kategorie) | Änderungs-Mail mit aktueller Gebühr (+ aktualisiertem iCal) | E-Mail mit neuem Betrag bzw. „Gebühr entfällt" |
| Stornieren | Storno-Mail mit Hinweis „Gebühr wird nicht fällig" | Storno-Mail „Gebühr entfällt" |
Tennisplatz-Admins sind von all dem unberührt: Sie sehen weiterhin alle Kategorien und können wie gewohnt für jedes Mitglied buchen. Die Trainer-Automatik greift ausschließlich bei Buchungen, die ein Mitglied mit der Rolle „Trainer" für sich selbst in einer als „🎓 Trainer" markierten Kategorie anlegt.
🔧 Equipment
Equipment (z.B. Ballmaschinen, Ballkörbe) kann unter Tennis Pro → Einstellungen → Equipment verwaltet und beim Buchen optional hinzugebucht werden.
| Feld | Beschreibung |
|---|---|
| Name | Bezeichnung, z.B. „Ballmaschine", „Ballkorb" |
| Beschreibung | Optionale Zusatzinfo (intern, wird nicht im Frontend angezeigt) |
| Anzahl | Wie viele Einheiten davon vorhanden sind (z.B. 2 Ballmaschinen) |
| Reihenfolge | Sortierung im Buchungs-Popup |
Wie Equipment funktioniert
- Beim Buchen erscheint eine optionale Checkbox-Liste mit verfügbarem Equipment
- Bereits gebuchtes Equipment wird ausgegraut und kann nicht doppelt gebucht werden – platzübergreifend
- Gebuchtes Equipment erscheint in der Buchungszelle als
🎾 Ballmaschine - Bei der Buchungsbearbeitung kann Equipment hinzugefügt oder entfernt werden
Die Anzahl bestimmt, wie viele parallele Buchungen mit diesem Equipment möglich sind. Sind z.B. 2 Ballmaschinen vorhanden, kann gleichzeitig 2× das Equipment gebucht werden.
📅 Buchungsregeln
Erreichbar unter Tennis Pro → Einstellungen → Buchungsregeln.
| Einstellung | Beschreibung |
|---|---|
| Buchungslimit | Max. Buchungen pro Nutzer pro Tag oder Woche (0 = unbegrenzt) |
| Buchungshorizont | Wie viele Tage im Voraus gebucht werden darf (0 = unbegrenzt) |
| Stornierungsfrist | Bis wie viele Stunden vor dem Termin storniert werden darf (0 = keine Frist) |
| Mindest-Vorlaufzeit | Mindestzeit in Stunden vor einem Termin für neue Buchungen |
| Meine Buchungen: Bearbeiten | Erlaubt Nutzern das Bearbeiten und Stornieren eigener Buchungen aus „Meine Buchungen" heraus |
Tages- / Wochenansicht
| Einstellung | Beschreibung |
|---|---|
| Startzeit | Erste angezeigte Uhrzeit im Kalender (z.B. 08:00) |
| Endzeit | Letzte angezeigte Uhrzeit (z.B. 22:00) |
| Monatsansicht | Aktiviert eine zusätzliche Monatsübersicht im Frontend |
| Wochenansicht | Wechsel zwischen Tages- und Wochenansicht im Frontend |
🎾 Gastspieler & Gebühr
Spielt ein Mitglied mit einem vereinsfremden Gast, kann dafür automatisch eine Gebühr berechnet und per E-Mail mitgeteilt werden – an das buchende Mitglied und an die verantwortliche Person (z. B. Kassenwart), die das Geld eintreibt.
Einrichtung in 2 Schritten
- Kategorie markieren: Unter Tennis Pro → Plätze & Kategorien bei der gewünschten Kategorie (z. B. „Spiel mit Gast") die Checkbox „🎾 Gastspieler" aktivieren.
- Gebühr & Empfänger festlegen: Unter Tennis Pro → Einstellungen → Buchung → Gastspieler die Werte eintragen.
| Einstellung | Beschreibung |
|---|---|
| Funktion aktiv | Schaltet Gebühr & Benachrichtigung ein/aus |
| Betrag pro Stunde | Stundensatz + Währung. Wird anteilig nach Dauer berechnet |
| Verantwortliche E-Mail | Erhält jede Gastbuchung mit fälligem Betrag (kassiert) |
Gebührenberechnung (anteilig): Bei 10 €/Stunde kostet eine 30-Minuten-Buchung 5 €, eine Stunde 10 €, 1,5 Stunden 15 €.
Was automatisch passiert
Über den gesamten Lebenszyklus einer Gastbuchung werden Mitglied und verantwortliche Person per E-Mail auf dem Laufenden gehalten:
| Ereignis | Mitglied | Verantwortliche/r |
|---|---|---|
| Anlegen | Popup-Hinweis + eine Bestätigungs-Mail (mit iCal-Termin und fälligem Betrag) | E-Mail mit Gastname, Termin & einzuziehendem Betrag |
| Ändern (Zeit/Dauer) | Änderungs-Mail mit aktueller Gebühr (+ aktualisiertem iCal) | E-Mail „Gastspieler-Buchung geändert" mit neuem Betrag |
| Kategorie → Gast | Hinweis: jetzt Gastgebühr fällig | E-Mail mit einzuziehendem Betrag |
| Kategorie Gast → normal | Hinweis: keine Gastgebühr mehr | E-Mail „Gebühr entfällt" |
| Stornieren | Storno-Mail mit Hinweis „Gebühr wird nicht fällig" | Storno-Mail „Gebühr entfällt" |
Die Gebühr wird bei jeder Änderung neu nach der aktuellen Dauer berechnet. Wird eine Gastbuchung z. B. von 1 h auf 1,5 h verlängert, steigt der Betrag entsprechend.
Bei Serien-Buchungen sind Gastspieler-Kategorien ausgeblendet – Gastspiele werden bewusst nur als Einzeltermine gebucht.
👥 Passiv-Mitglieder
Passiv-Mitglieder können in der Anzahl ihrer Buchungen pro Kalenderjahr begrenzt werden – oder ganz vom Buchen ausgeschlossen werden.
Einrichtung in 2 Schritten
- Funktion & Limit festlegen: Unter Tennis Pro → Einstellungen → Buchung → Passiv-Mitglieder die Funktion aktivieren und die erlaubten Buchungen pro Jahr eintragen.
- Mitglieder markieren: In der Benutzerverwaltung bei den betreffenden Personen die Checkbox „Passiv" setzen (speichert sofort).
| Einstellung | Beschreibung |
|---|---|
| Funktion aktiv | Extra-Schalter: ohne Aktivierung buchen Passiv-Mitglieder wie normale Mitglieder |
| Buchungen pro Jahr | Max. Anzahl pro Kalenderjahr. 0 = darf gar nicht buchen |
Steht das Limit auf 0, sieht das Passiv-Mitglied im Frontend den Hinweis „Passiv-Mitglieder dürfen keine Buchungen vornehmen". Andernfalls zeigt die Leiste den verbleibenden Jahres-Kontingent an.
✉️ E-Mail & SMTP
Erreichbar unter Tennis Pro → Einstellungen → E-Mail.
Allgemeine E-Mail-Einstellungen
| Einstellung | Beschreibung |
|---|---|
| E-Mail-Benachrichtigungen | Aktiviert/deaktiviert alle automatischen E-Mails |
| Absendername | Name des Absenders (z.B. „TC Kirrweiler") |
| Absender-E-Mail | Absenderadresse (sollte zur Domain passen) |
| Admin-Benachrichtigung | Admin erhält bei jeder neuen Buchung eine E-Mail |
| Admin-E-Mail | Empfänger-Adresse für Admin-Benachrichtigungen |
SMTP konfigurieren (optional)
Für zuverlässigen E-Mail-Versand empfiehlt sich ein eigener SMTP-Server statt des Standard-WordPress-Versands.
| Einstellung | Beispielwert |
|---|---|
| SMTP aktivieren | Ja |
| SMTP-Server | mail.cco-it.de |
| SMTP-Port | 587 (STARTTLS) oder 465 (SSL/TLS) |
| Verschlüsselung | STARTTLS (empfohlen) oder SSL/TLS |
| SMTP-Benutzer | buchung@cco-it.de |
| SMTP-Passwort | Wird verschlüsselt gespeichert, nie exportiert |
| Verbindungs-Timeout | 20 Sekunden (5–60) – höher setzen, wenn der Server langsam antwortet |
| SSL-Zertifikat-Prüfung deaktivieren | Nur als Notlösung, wenn der Hoster veraltete CA-Zertifikate hat. Nicht für Produktivbetrieb. |
Unter System → E-Mail-Test kann eine Test-E-Mail versendet werden. Bei Fehlern zeigt die Meldung jetzt die konkrete SMTP-Server-Antwort an (z.B. Fehlercode 535) – inklusive Tipps zur Behebung.
Microsoft 365 / Outlook
Für ein Microsoft-365-Postfach gelten zusätzliche Voraussetzungen:
| Einstellung | Wert |
|---|---|
| SMTP-Server | smtp.office365.com |
| Port / Verschlüsselung | 587 / STARTTLS |
| Benutzer | Vollständige M365-E-Mail-Adresse |
| Passwort | Ein App-Passwort (nicht das normale Kontopasswort) |
SMTP AUTH muss im M365 Admin Center aktiviert sein, sonst schlägt der Versand trotz korrektem App-Passwort mit „535 Authentication Unsuccessful" fehl:
Exchange Admin Center → Postfächer → [Postfach] → E-Mail → E-Mail-Apps verwalten → „Authentifiziertes SMTP" aktivieren.
Wichtig: Geblockte Ports beim Hoster
Viele Shared-Hoster (z.B. Strato) blockieren ausgehende Verbindungen zu fremden SMTP-Servern auf Port 25/465/587. Fehler: Connection timed out (110). In diesem Fall gibt es drei Wege:
- SMTP des eigenen Hosters nutzen – z.B. ein Postfach beim selben Anbieter (Strato →
smtp.strato.de). Funktioniert immer, Absender muss eine Adresse dieses Anbieters sein. - SMTP deaktivieren – WordPress versendet dann über den lokalen Server-Mailer (ausreichend für kleine Vereine).
- Externer Relay-Dienst – z.B. Brevo/SendGrid über Port
2525(meist nicht geblockt).
🎨 Design & Corporate Identity
Unter Tennis Pro → Einstellungen → Design lässt sich das Frontend an das Corporate Design anpassen.
Kalender-Stil
Umschalten zwischen „Klassisch" und „Modern" (siehe eigener Abschnitt unten)
Topbar-Farben
Hintergrund (Gradient) und Textfarbe der Kopfzeile über dem Kalender
Datums-Leiste
Farben der Datumszeile mit Wochentagen
Freie Slots
Hintergrundfarbe für gerade/ungerade Zeilen freier Zeitslots
Zeitanzeige
Hintergrundfarbe der linken Zeitspalte
Meine Buchungen
Farben der Überschrift im „Meine Buchungen"-Bereich
Schriftart
Globale Schriftart für das Frontend wählen (inkl. Google Fonts)
Alle Farbwerte werden als HEX-Codes gespeichert. Änderungen sind sofort sichtbar – kein Cache-Leeren nötig.
🗓 Kalender-Stil: Klassisch vs. Modern
Unter Tennis Pro → Einstellungen → Design → Kalender-Stil lässt sich das Erscheinungsbild und Verhalten des Buchungsrasters global umschalten.
Klassisch
Das bewährte, kompakte Tabellen-Raster. Standardeinstellung – unverändertes Verhalten.
Modern
Optisch aufgewertetes Raster: abgerundete Kacheln, sanfte Schatten, Hover-Effekte und Animationen – plus zusätzliche Interaktionen.
Zusatzfunktionen im Modern-Stil
- Ziehen-zum-Buchen: Mit gedrückter Maustaste über mehrere freie, zusammenhängende Slots nach unten ziehen, um die Dauer direkt festzulegen. Beim Loslassen öffnet sich das Buchungs-Popup mit der vorausgewählten Dauer.
- Auswahl-Hervorhebung: Die markierten Slots werden während des Ziehens grün umrandet angezeigt; belegte/gesperrte Slots beenden die Auswahl automatisch.
- Buchungs-Bestätigung: Eine frisch gebuchte Zelle leuchtet kurz grün auf.
„Ziehen-zum-Buchen" funktioniert mit der Maus in Tages- und Wochenansicht. Ein einfacher Klick auf einen freien Slot bucht wie gewohnt eine Einheit. Der Stil ist jederzeit gefahrlos umschaltbar – bestehende Buchungen bleiben unberührt.
📱 Progressive Web App (PWA)
Die App-Ansicht verwandelt das Buchungssystem in eine vollbildfüllende Web-App – ähnlich einer nativen App auf dem Smartphone oder Tablet. Der Buchungskalender ist direkt nach dem Aufruf sichtbar, auch ohne Login. Eingeloggte Mitglieder können direkt buchen; ein Rück-Menü führt zur Kachelseite mit weiteren Funktionen.
Die PWA ist eine separate Ansicht neben dem normalen Buchungskalender. Sie wird über eine eigene WordPress-Seite mit dem Template „Tennis Pro – App-Ansicht" bereitgestellt und hat eine eigene URL (z.B. /webapp/).
Seite einrichten
- Gehe zu WordPress → Seiten → Erstellen
- Gib der Seite einen Namen, z.B. „Tennisplatz App"
- Wähle in den Seiten-Attributen (rechte Spalte) unter „Template" den Eintrag „Tennis Pro – App-Ansicht"
- Wähle einen Slug, z.B.
webapp– die App ist dann unter/webapp/erreichbar - Seite veröffentlichen
- URL ans Vereins-Handy oder als Link auf der Website teilen
Die Seite benötigt keinen Shortcode – das Template steuert den gesamten App-Aufbau. Ein Shortcode auf dieser Seite würde ignoriert.
Einstellungen: PWA-Tab
Alle Anpassungen für die App-Ansicht befinden sich unter Tennis Pro → Einstellungen → Progressive Web App.
| Einstellung | Beschreibung |
|---|---|
| App-Name | Name der App – wird im Kopfbereich und im Browser-Tab angezeigt (z.B. „TC Kirrweiler – Platzreservierung") |
| App-Hintergrundfarbe | Hintergrundfarbe der gesamten App (Standard: dunkles Grün) |
| Kachel-Hintergrundfarbe | Farbe der Navigations-Kacheln auf der Menüseite |
| Kacheltext-Farbe | Farbe für Beschriftung und Icon auf den Kacheln – wird automatisch auch auf SVG-Icons angewendet |
| Überschrift-/Begrüßungsfarbe | Farbe des App-Titels und Begrüßungstexts auf der Kachelseite – unabhängig von der Kacheltext-Farbe einstellbar |
| App-Logo | Vereinslogo für die Kachelseite – Upload über die WP-Mediathek. Empfohlene Größe: 200 × 100 px (Querformat) |
| Vereins-Website-URL | URL für die Kachel „Zur Website" auf der Kachelseite |
| Website-Beschriftung | Beschriftung der Website-Kachel (Standard: „TCK Website") |
| Impressum-URL | Link zum Impressum – wahlweise als eigene Kachel oder Fußzeilen-Link |
| Impressum als Kachel | Impressum als reguläre Navigations-Kachel anzeigen statt nur im Footer |
| Registrierungs-Seite | Seiten-URL für den „Registrieren"-Button im Gast-Kopfbereich |
| Theme-Farbe (Statusleiste) | Farbe der Browser-Statusleiste auf Mobilgeräten (Chrome/Android) |
Aufbau der App
Die App besteht aus vier Bildschirmen, die animiert ineinander überblenden:
📅 Buchungskalender Startbildschirm
Direkt nach dem Aufruf sichtbar – für alle Besucher, auch ohne Login. Zeigt das vollständige Buchungsraster (scrollbar). Eingeloggte Nutzer können direkt buchen.
☰ Kachelseite (Menü)
Erreichbar über den ≡ Menü-Button oben links (nur eingeloggt). Enthält Kacheln für Buchung, Meine Buchungen, Profil, Website und optionale weitere Links.
🔐 Anmelden
In-App-Login ohne Weiterleitung zu wp-login.php. Zurück zum Kalender via ‹ Kalender-Button. Enthält Links zu „Passwort vergessen" und Registrierung.
📋 Meine Buchungen
Zeigt die eigenen Reservierungen in der App-Oberfläche. Erreichbar über die Kachel auf der Menüseite.
Gast-Ansicht (nicht eingeloggt)
Besucher, die nicht eingeloggt sind, sehen sofort den Buchungskalender – jedoch ohne Buchungsfunktion. Der Kalender ist lesend, belegte Slots sind sichtbar. Im Kopfbereich erscheinen die Buttons:
- Anmelden – öffnet den In-App-Login-Bildschirm
- Registrieren – führt zur konfigurierten Registrierungs-Seite (falls hinterlegt)
Gäste können den Kalender browsen und die Belegung prüfen – eine Buchung ist nur nach dem Login möglich.
Eingeloggte-Ansicht
Nach dem Login erscheint der Buchungskalender mit vollem Buchungszugriff. Im Kopfbereich sind drei Elemente sichtbar:
- ≡ Menü (links) – wechselt zur Kachelseite mit allen Navigationsmöglichkeiten
- App-Name (Mitte) – zeigt den konfigurierten Namen
- Abmelden (rechts) – schneller Logout direkt aus dem Kalender, ohne Umweg über die Kachelseite
Kachelseite (Menü)
Die Kachelseite ist das zentrale Navigationsmenü für eingeloggte Nutzer. Sie ist erreichbar über den ≡ Menü-Button im Kalender-Kopfbereich. Von hier aus zurück zum Kalender über den ‹ Kalender-Button oben links.
Folgende Kacheln sind verfügbar:
| Kachel | Funktion |
|---|---|
| 🎾 Platz buchen | Wechselt direkt zum Buchungskalender |
| 📋 Meine Buchungen | Öffnet die Liste der eigenen Reservierungen |
| 👤 Profil | Link zur WordPress-Profilseite des Nutzers |
| 🌐 Website | Öffnet die konfigurierte Vereins-Website (externer Link) |
| 📄 Impressum | Nur wenn „Impressum als Kachel" aktiviert ist |
| 🔓 Abmelden | Logout des aktuellen Nutzers |
Die Kachelfarben und Icons passen sich automatisch der konfigurierten Farbe an – SVG-Icons verwenden currentColor und werden immer in der eingestellten Kacheltext-Farbe dargestellt, unabhängig davon ob die Kachel ein <button>- oder <a>-Element ist.
Als App installieren (Add to Home Screen)
Die App-Ansicht kann auf Mobilgeräten und Desktops als eigenständige App installiert werden:
📱 Android / Chrome
App-URL im Chrome aufrufen → Menü (3 Punkte) → „Zum Startbildschirm hinzufügen" → Bestätigen. Die App öffnet dann ohne Adressleiste im Vollbildmodus.
🍎 iPhone / Safari
App-URL in Safari aufrufen → Teilen-Symbol → „Zum Home-Bildschirm" → Hinzufügen. Auf dem Home-Bildschirm erscheint das App-Icon.
💻 Desktop Chrome / Edge
App-URL aufrufen → Adressleiste → Installations-Icon (⊕) klicken → „Installieren". Die App öffnet in einem eigenen Fenster ohne Browser-UI.
🔗 QR-Code oder Link
Die App-URL lässt sich als QR-Code auf dem Vereinsgelände aushängen oder als Link auf der Vereins-Website einbinden – Mitglieder können sie direkt scannen und bookmarken.
Scrollverhalten des Buchungsrasters
In der PWA-Ansicht übernimmt der App-Bildschirm selbst das Scrollen – nicht eine Scroll-Box innerhalb des Rasters. Das bedeutet:
- Horizontal scrollen: Nach rechts wischen/scrollen um weitere Plätze zu sehen (auch bei 4+ Plätzen auf kleineren Bildschirmen)
- Vertikal scrollen: Nach unten wischen/scrollen für frühere oder spätere Uhrzeiten
- Die Scrollleisten befinden sich am Bildschirmrand – optimal erreichbar auf Touch-Geräten und Desktop
⚙️ System-Einstellungen
Unter Tennis Pro → Einstellungen → System befinden sich erweiterte Einstellungen.
| Einstellung | Beschreibung |
|---|---|
| Login-Seite | Eigene Login-Seite statt wp-login.php nutzen |
| Registrierung | Selbstregistrierung für neue Mitglieder aktivieren |
| Datenschutz-Seite | Seiten-ID für den Datenschutz-Link beim Registrieren |
| Selbstlöschung | Nutzern erlauben, ihr Konto selbst zu löschen |
| Daten bei Deinstallation | Alle Tabellen und Optionen beim Löschen des Plugins entfernen |
| Update-Prüfung | Manueller Check ob eine neue Plugin-Version verfügbar ist |
📌 Buchung im Frontend
Das Buchungs-Frontend wird per Shortcode [tennis_booking] auf einer Seite eingebunden. Nur eingeloggte Nutzer können buchen.
Buchungsvorgang
- Nutzer klickt auf einen freien Zeitslot im Kalender
- Das Buchungs-Popup öffnet sich mit vorausgefülltem Datum und Uhrzeit
- Nutzer wählt Dauer, Kategorie und optionalen Namen/Kommentar
- Optional: Equipment anwählen (falls vorhanden und verfügbar)
- Klick auf „Buchen" → Buchung wird gespeichert, E-Mail wird versendet
- Die Zelle wechselt sofort auf „Belegt" (ohne Seitenreload)
Buchung bearbeiten
Der Buchende kann seine eigenen Buchungen bearbeiten, indem er auf die gebuchte Zelle klickt:
- Platz wechseln (sofern auf dem Verein mehr als ein Platz angelegt ist)
- Startzeit und Dauer ändern
- Kategorie, Kommentar ändern
- Equipment hinzufügen oder entfernen
- Buchung löschen (sofern Stornierungsfrist nicht abgelaufen)
Beim Platzwechsel wird automatisch geprüft, ob der gewünschte Platz zur gewählten Zeit frei ist. Ist er belegt oder gesperrt, erscheint eine Fehlermeldung und die Buchung bleibt unverändert. Steht für den freigewordenen Slot auf dem alten Platz jemand auf der Warteliste, wird automatisch benachrichtigt. Dies gilt auch beim Bearbeiten einer ganzen Serie.
E-Mail-Bestätigung & Kalender
Nach dem Buchen erhält das Mitglied eine Bestätigungs-Mail mit beigefügtem Kalender-Termin (.ics). Wird die Buchung später geändert, kommt eine Änderungs-Mail mit einem aktualisierten .ics – beim Öffnen aktualisiert die Kalender-App (Google, Outlook, Apple) den bestehenden Termin automatisch, statt einen doppelten anzulegen.
Bei Gastspieler-Buchungen enthält dieselbe Bestätigungs-Mail zusätzlich die fällige Gebühr – es gibt also nur eine Mail statt zwei.
Ansichten
| Ansicht | Beschreibung |
|---|---|
| Tagesansicht | Standard – zeigt alle Plätze für einen Tag nebeneinander |
| Wochenansicht | Zeigt eine ganze Woche für einen Platz (aktivierbar in Einstellungen) |
| Monatsansicht | Kalenderübersicht mit gebuchten Tagen (aktivierbar in Einstellungen) |
🔁 Serien-Buchungen
Administratoren und Trainer können wiederkehrende Buchungen (Serien) anlegen. Diese werden automatisch für alle ausgewählten Termine erstellt.
Serien-Buchungen sind nur für Administratoren und Mitglieder mit der Rolle „🎓 Trainer" verfügbar (siehe Abschnitt 🎓 Trainer-Rolle).
Serie anlegen
- Als Admin oder Trainer auf einen freien Slot klicken → Buchungs-Popup öffnet sich
- Checkbox „Wiederkehrende Buchung" aktivieren
- Muster wählen: wöchentlich oder täglich
- Wochentag wählen (bei wöchentlich)
- Enddatum festlegen
- Auf „Buchen" klicken – alle konfliktfreien Termine werden angelegt
Bei aktiver Serie sind Gastspieler-Kategorien ausgeblendet – Gastspiele werden nur als Einzeltermine gebucht.
Einzeltermin aus Serie bearbeiten
Auf einen Serientermin klicken (erkennbar am 🔁-Symbol) → Edit-Popup öffnet sich. Änderungen werden nur für diesen einen Termin gespeichert.
Gesamte Serie bearbeiten
Im Edit-Popup erscheint bei Serien-Terminen eine blaue Box:
Änderungen auf gesamte Serie anwenden
Alle zukünftigen Termine dieser Serie werden aktualisiert. Termine mit Zeitkonflikt werden übersprungen.
Wenn die Checkbox aktiviert wird, werden alle zukünftigen Termine der Serie mit den neuen Werten aktualisiert (Uhrzeit, Dauer, Kategorie, Trainer, Equipment).
Serie löschen – drei Optionen
Beim Löschen eines Serientermins (Edit-Popup im Frontend bzw. Lösch-Dialog im Backend) stehen drei Möglichkeiten zur Wahl:
| Option | Wirkung |
|---|---|
| Nur diesen Termin | Löscht ausschließlich den angeklickten Termin. Die Serie bleibt sonst bestehen. |
| Ab diesem Termin | Löscht den angeklickten Termin und alle folgenden der Serie → die Serie wird verkürzt (Enddatum wird vorgezogen). Frühere Termine bleiben erhalten. |
| Gesamte Serie | Storniert alle zukünftigen Termine der Serie. |
So lässt sich eine Serie beliebig kürzen: Einfach den ersten zu entfernenden Termin anklicken und „Ab diesem Termin" wählen. Für alle gelöschten Termine werden Stornierungs-E-Mails verschickt.
📋 Meine Buchungen
Der Shortcode [tennis_my_bookings] zeigt dem eingeloggten Nutzer seine aktuellen und vergangenen Buchungen.
Angezeigt werden
- Datum, Uhrzeit und Platz
- Kategorie (farbig)
- Name/Kommentar
- Gebuchtes Equipment (🎾 Symbol)
- Serien-Markierung (🔁 Symbol)
- Buchungen auf der Warteliste
Bearbeiten und Stornieren
Wenn die Einstellung „Meine Buchungen: Bearbeiten" aktiviert ist, erscheinen Buttons zum Bearbeiten und Stornieren direkt bei jeder Buchung.
Vergangene Buchungen
Unterhalb der bevorstehenden Buchungen gibt es einen aufklappbaren Bereich „🕓 Vergangene Buchungen". Dieser zeigt zurückliegende Termine (neueste zuerst) – nur zur Ansicht, ohne Bearbeiten- oder Stornieren-Möglichkeit.
iCal-Export
Nutzer können ihre Buchungen als .ics-Datei exportieren und in Kalender-Apps (Google Calendar, Outlook, Apple Kalender) importieren. Der Export-Link ist in der „Meine Buchungen"-Ansicht sichtbar.
⏳ Warteliste
Wenn ein Zeitslot belegt ist, können sich Nutzer auf die Warteliste setzen.
Funktionsweise
- Nutzer klickt auf eine belegte Zelle
- Es erscheint eine Info: „Dieser Platz ist belegt – auf Warteliste setzen?"
- Nutzer bestätigt → Wartelisten-Eintrag wird erstellt
- Wenn die Buchung storniert wird, erhält der erste Wartelisten-Nutzer automatisch eine Benachrichtigungs-E-Mail
| Einstellung | Beschreibung |
|---|---|
| Sequenziell | Nur der erste Wartelistenplatz wird benachrichtigt (Standard) |
| Alle benachrichtigen | Alle auf der Warteliste werden gleichzeitig informiert |
🗂 Buchungsverwaltung (Admin)
Unter Tennis Pro → Buchungen sieht der Administrator alle Buchungen in einer tabellarischen Übersicht.
Filtermöglichkeiten
- Nach Datum (Von / Bis)
- Nach Platz
- Nach Kategorie
- Suche nach Name / E-Mail
Aktionen
- Buchung bearbeiten: Alle Felder ändern, auch Platz und Datum
- Buchung löschen: Sofortige Löschung, E-Mail wird versendet
- Neue Buchung anlegen: Admin kann direkt für beliebige Nutzer buchen
Administratoren unterliegen keinen Buchungsregeln (kein Limit, kein Horizont, keine Stornierungsfrist).
Zeiten sperren
Unter Tennis Pro → Zeiten sperren können bestimmte Zeiträume für alle Plätze blockiert werden (z.B. Turnierveranstaltungen). Gesperrte Slots können von niemandem gebucht werden.
👥 Benutzerverwaltung
Unter Tennis Pro → Benutzer befindet sich eine vereinfachte Nutzerverwaltung speziell für das Plugin.
Ansicht
- Alle WordPress-Nutzer mit ihrer E-Mail-Adresse
- Anzahl der Buchungen pro Nutzer
- Datum der letzten Buchung
- Schnellzugriff auf alle Buchungen eines Nutzers
Passiv-Mitglied markieren
In der Benutzertabelle gibt es eine Spalte „Passiv-Mitglied" mit einer Checkbox je Nutzer (speichert sofort). Markierte Nutzer unterliegen dem Jahres-Buchungslimit aus den Einstellungen – siehe Abschnitt Passiv-Mitglieder.
Rolle „🎓 Trainer" zuweisen
Im Dropdown „Rolle ändern" steht neben „Benutzer (Frontend)" und „Tennisplatz-Admin" auch „🎓 Trainer" zur Auswahl. Nach dem Speichern erhält das Mitglied Zugriff auf alle als „🎓 Trainer" markierten Kategorien (automatische Anzeigenamen-Generierung „Training – Name") und kann zusätzlich Serien-Buchungen anlegen – siehe Abschnitt 🎓 Trainer-Rolle & Training mit Gast.
Damit ein Trainer auch Buchungen bearbeiten kann, die ein Admin für ihn über die Trainer-Zuordnung (Feld „Trainer (optional)") angelegt hat, muss zusätzlich unter Tennis Pro → Trainer der entsprechende Trainer-Eintrag mit dem Benutzerkonto verknüpft werden – siehe Abschnitt 👤 Trainer (Zuordnung zu Buchungen).
Selbstregistrierung
Wenn unter Einstellungen aktiviert, können sich neue Mitglieder selbst registrieren. Die Registrierungsseite wird über die Seiten-ID in den Einstellungen verknüpft.
Login-Seite anpassen
Das Plugin kann die Standard-WordPress-Login-Seite (wp-login.php) durch eine eigene Seite ersetzen. Einstellungen unter Einstellungen → System → Login.
💾 Export & Import
Erreichbar unter Tennis Pro → Export / Import. Zwei Tabs: Export und Import.
JSON-Backup (System-Export)
Exportiert Stammdaten als JSON-Datei – ideal für Sicherungen und Migrationen:
| Abschnitt | Inhalt |
|---|---|
| 🎾 Plätze | Name, Farben, Reihenfolge |
| 🏷 Kategorien | Name, Farben, Admin-Only, Trainer-Only, Gastspieler-Flag, Training-mit-Gast-Flag, Namen-Sichtbarkeit (hide_names) |
| 👤 Trainer | Name, Reihenfolge |
| 🔧 Equipment | Name, Beschreibung, Anzahl, Reihenfolge |
| 👥 Passiv-Mitglieder | Optional, per E-Mail zugeordnet (beim Import werden vorhandene Benutzer markiert) |
| ⚙️ Einstellungen | Alle Buchungsregeln und Konfigurationen (ohne SMTP-Passwort) |
| 📅 Buchungen | Optional, mit Datumsbereich, inkl. Equipment-Zuordnungen |
CSV-Export
Buchungen als Excel-kompatible CSV-Datei mit Semikolon-Trennzeichen und UTF-8 BOM. Spalten:
court_name ; date ; timeslot ; duration ; player_name ; user_email ; category_name ; trainer_name ; equipment_names ; id ; end_time ; ...
iCal-Export
Buchungen als .ics-Datei für den Import in Kalender-Apps (Google Calendar, Outlook, Apple Kalender).
JSON-Import
Stellt Stammdaten aus einem Backup wieder her. Bestehende Einträge werden per Name abgeglichen und aktualisiert (kein Löschen von Bestehendem).
CSV-Import
Buchungen aus einer CSV-Datei einlesen. Pflichtfelder: court_name, date, timeslot, duration. Zeitkonflikte werden automatisch übersprungen.
Seiten-IDs (Login-Seite, Profil, Datenschutz) sind server-spezifisch und müssen nach einem Import auf einem neuen System manuell angepasst werden.
🔄 Updates
Tennisplatz-Reservierung Pro hat einen eigenen Update-Mechanismus über den CCO-IT Lizenzserver.
Automatische Update-Prüfung
WordPress prüft alle 12 Stunden automatisch ob eine neue Version verfügbar ist. Wenn ja, erscheint auf der Plugins-Seite der übliche Update-Hinweis.
Manuelle Prüfung
- Gehe zu Tennis Pro → Einstellungen → System
- Klicke auf „Auf Updates prüfen"
- Das Ergebnis erscheint sofort: aktuelle Version oder Update-Hinweis
Update einspielen
- Gehe zu WordPress → Plugins
- Bei „Tennisplatz-Reservierung Pro" erscheint der Update-Hinweis
- Klicke auf „Jetzt aktualisieren"
- WordPress lädt die neue Version vom Lizenzserver und installiert sie
Alle Einstellungen, Buchungen und Stammdaten bleiben beim Update vollständig erhalten. Das Update berührt nur die Plugin-Dateien, nicht die Datenbank (außer bei DB-Schema-Upgrades, die automatisch ablaufen).
🔐 Rollen & Rechte
| Rolle | Funktion | Kann buchen | Admin-Funktionen |
|---|---|---|---|
| Administrator | Voller Zugriff auf WordPress und Plugin | ✅ unbegrenzt | ✅ alle |
| Tennisplatz-Admin | Plugin-Admin ohne WordPress-Admin-Rechte | ✅ unbegrenzt | ✅ alle Plugin-Funktionen (außer Benutzerverwaltung) |
| 🎓 Trainer | Mitglied mit Zugriff auf alle als „🎓 Trainer" markierten Kategorien (automatische Namensgebung „Training – Name") | ✅ lt. Buchungsregeln + Trainer-Kategorien + Serien-Buchungen | ❌ kein Tennis-Backend |
| Subscriber / Mitglied | Standard-Nutzerkonto | ✅ lt. Buchungsregeln | ❌ keine |
| Nicht eingeloggt | Besucher | ❌ | ❌ |
„🎓 Trainer" ist eine eigene WordPress-Rolle (wie „Tennisplatz-Admin") und schließt sich mit den anderen Tennis-Rollen gegenseitig aus – ein Mitglied ist entweder Tennisplatz-Admin, Trainer oder normaler Benutzer.
Rolle „Tennisplatz-Admin" oder „🎓 Trainer" vergeben
- Am einfachsten unter Tennis Pro → Benutzer: Im Dropdown „Rolle ändern" die gewünschte Rolle auswählen und auf „💾 Speichern" klicken (speichert sofort per AJAX)
- Alternativ in WordPress unter Benutzer → Alle Benutzer → Benutzer bearbeiten → Rolle auf „Tennisplatz-Admin" bzw. „Tennis-Trainer" setzen → Speichern
- „Tennisplatz-Admin" erhält damit Zugriff auf das komplette Tennis-Pro-Backend (außer Benutzerverwaltung), aber nicht auf den Rest des WordPress-Backends
- „🎓 Trainer" erhält keinen Tennis-Backend-Zugriff, sieht aber im Frontend zusätzlich die als „🎓 Trainer" markierten Kategorien und darf Serien-Buchungen anlegen
❓ Häufige Fragen (FAQ)
Das Buchungs-Frontend zeigt nichts an
→ Überprüfe ob der Shortcode [tennis_booking] auf der Seite ist, mindestens ein Platz angelegt wurde und der Nutzer eingeloggt ist.
E-Mails kommen nicht an
→ SMTP konfigurieren (Einstellungen → E-Mail → SMTP) und über „E-Mail-Test" prüfen. Standard-WordPress-E-Mail wird oft von Spam-Filtern abgefangen.
Buchung schlägt fehl: „Zeitslot bereits belegt"
→ Ein anderer Nutzer hat denselben Slot gleichzeitig gebucht. Die Zelle automatisch aktualisiert sich – einfach einen anderen Slot wählen.
Equipment wird als belegt angezeigt, obwohl keine Buchung sichtbar
→ Equipment wird platzübergreifend geprüft. Die Buchung mit diesem Equipment könnte auf einem anderen Platz liegen. Seite neu laden um die aktuelle Verfügbarkeit zu sehen.
Update wird nach der Installation immer noch angezeigt
→ Einmal auf „Auf Updates prüfen" klicken (Einstellungen → System). Das leert den Update-Cache und die Plugins-Seite zeigt den korrekten Stand.
Buchungen im JSON-Export fehlen
→ Beim JSON-Export die Checkbox „Buchungen" aktivieren und den gewünschten Datumsbereich einstellen. Buchungen werden standardmäßig nicht exportiert.
CSV-Import: Buchungen werden übersprungen
→ Häufigste Ursachen: Platzname stimmt nicht überein (Groß-/Kleinschreibung egal, aber kein Tippfehler), Datumsformat muss YYYY-MM-DD sein, Zeitkonflikt mit bestehender Buchung.
Gastgebühr-Mail wird nicht verschickt
→ Prüfen: Ist die Funktion unter Einstellungen → Buchung → Gastspieler aktiv, ist die Kategorie als „🎾 Gastspieler" markiert, und sind E-Mail-Benachrichtigungen generell aktiviert? Die verantwortliche E-Mail muss eingetragen sein.
Trainer sieht seine Trainings-Kategorie nicht im Buchungs-Popup
→ Prüfen: Hat das Mitglied in der Benutzerverwaltung (Tennis Pro → Benutzer) die Rolle „🎓 Trainer", und ist die gewünschte Kategorie unter Tennis Pro → Kategorien mit der Checkbox „🎓 Trainer" markiert? Ist bei der Kategorie zusätzlich „Nur Admin" aktiviert, bleibt sie für Trainer trotzdem gesperrt – beide Häkchen sollten nicht gleichzeitig gesetzt sein.
„Training mit Gast"-Gebühr-Mail wird nicht verschickt
→ Prüfen: Ist die Funktion unter Einstellungen → Buchung → Training mit Gast aktiv, ist die Kategorie als „🎓 Training mit Gast" markiert, und ist die verantwortliche E-Mail eingetragen? Diese Einstellung ist unabhängig von der regulären Gastspieler-Gebühr.
Passiv-Mitglied kann trotzdem buchen / gar nicht buchen
→ Die Funktion muss unter Einstellungen → Buchung → Passiv-Mitglieder aktiviert sein und der Nutzer in der Benutzerverwaltung als „Passiv" markiert sein. Limit 0 = darf gar nicht buchen.
Wie richte ich die PWA / App-Ansicht ein?
→ Eine neue WordPress-Seite erstellen, als Template „Tennis Pro – App-Ansicht" wählen und veröffentlichen. Die URL dieser Seite ist der App-Link. Anschließend unter Tennis Pro → Einstellungen → Progressive Web App App-Name, Farben und Logo einstellen. Ausführliche Anleitung im Abschnitt 📱 Progressive Web App.
Gäste können in der PWA den Kalender sehen, aber nicht buchen
→ Das ist das gewünschte Verhalten. Nicht eingeloggte Besucher sehen den Kalender im Lesemodus – Buchungen erfordern einen Account. Über den „Anmelden"-Button im Kopfbereich gelangt man zum In-App-Login.
In der App-Ansicht kann ich nicht nach rechts scrollen (weitere Plätze sehen)
→ Den App-Bildschirm seitlich wischen oder die Scrollleiste am unteren Rand des Bildschirms nutzen (Desktop: Scroll-Leiste am unteren Fensterrand; Mobil: mit einem Finger horizontal wischen). Das Raster füllt sich nur horizontal, wenn tatsächlich mehr Plätze vorhanden sind als auf den Bildschirm passen.
Das App-Logo wird auf der Kachelseite sehr groß oder sehr klein dargestellt
→ Empfohlene Bildgröße: 200 × 100 px im Querformat. Das Logo wird auf max. 160 px Breite begrenzt und skaliert proportional. Ein quadratisches Logo oder Hochformat-Logo kann bei der Darstellung etwas anders wirken – ein leicht breiteres Format funktioniert am besten.
Der „Abmelden"-Button fehlt in der App-Ansicht
→ Der Abmelden-Button erscheint nur, wenn der Nutzer eingeloggt ist, und zwar im Kopfbereich des Buchungskalenders (rechts). Auf der Kachelseite gibt es zusätzlich eine separate Abmelden-Kachel. Stelle sicher, dass du eingeloggt bist und die App-Version mindestens 2.3.1 ist.
Kachel-Icons erscheinen in falscher Farbe
→ Die Icons in der App verwenden currentColor und übernehmen automatisch die eingestellte Kacheltext-Farbe (Einstellungen → PWA → Kacheltext-Farbe). Falls Icons hell auf hellem Hintergrund verschwinden – Kacheltext-Farbe auf einen kontrastierenden Wert (z.B. #ffffff für weißen Text auf dunklen Kacheln) setzen.
Wo finde ich weitere Hilfe?
→ cco-it.de/tennisreservierung-pro – oder direkt per E-Mail an a.diehm@cco-it.de
