TT-ControlTurniersystem

Benutzerhandbuch — Tischtennis Turniersystem

Version: MVP Sprache: Deutsch Zielgruppen: Administratoren · Spieler · Betreuer


Inhaltsverzeichnis

  1. Systemübersicht
  2. Administrator-Anleitung
  3. Spieler-Anleitung
  4. Betreuer-Anleitung
  5. Tablet-Bedienung (Spieleingabe am Tisch)
  6. Häufige Fragen & Fehlerbehandlung

1. Systemübersicht

Das Tischtennis-Turniersystem ersetzt Papierbögen und manuelle Tabellen durch eine vollständig digitale Lösung. Alle Geräte am Veranstaltungsort greifen über den Browser auf das System zu — keine App-Installation erforderlich.

Dark Mode

Das System unterstützt einen Dark Mode, der über das Sonne/Mond-Icon im Header jeder Seite umgeschaltet werden kann.

Modus Beschreibung
Hell Heller Hintergrund (Standard)
Dunkel Dunkler Hintergrund — schont die Augen bei schwacher Beleuchtung
System Folgt automatisch der Betriebssystem-Einstellung

Die Einstellung wird im Browser gespeichert und bleibt über Sitzungen hinweg erhalten.

Startseite (Landingpage)

Die Startseite unter / bietet einen Überblick über das gesamte System:

  • Feature-Übersicht — Was das System für jede Rolle bietet (Admin, Spieler, Betreuer, Schiedsrichter)
  • Screenshot-Karussell — Visuelle Eindrücke der wichtigsten Ansichten (Auto-Play, Touch-fähig). Neue Screenshots im Ordner /public/screenshots/ werden automatisch erkannt und angezeigt — die Anzahl im Text passt sich dynamisch an.
  • Direkt einsteigen — Login-Karten für jede Rolle mit direkten Links zu den Anmeldeseiten
  • Registrierung — Spieler und Betreuer können sich direkt über die Startseite registrieren

Die Startseite ist öffentlich zugänglich — keine Anmeldung erforderlich.

Rollen im System

Rolle Zugang Aufgaben
Administrator /admin/login Turniere erstellen, Spieler verwalten, Auslosung, Einsprüche lösen
Spieler /player/login Eigene Partien verfolgen, Ergebnisse bestätigen, Einspruch erheben
Betreuer /betreuer/login Betreute Spieler live verfolgen, Aufrufe überwachen
Schiedsrichter/Tischbediener /table/[Tisch-ID] Live-Spielstand eingeben, Zeiten verwalten

Voraussetzungen

  • WLAN am Veranstaltungsort ist zwingend erforderlich — das System funktioniert nicht offline.
  • Für jeden Tisch wird ein Tablet (beliebiges Modell, Browser genügt) benötigt.
  • Spieler benötigen für die digitale Bestätigung ein eigenes Gerät (Smartphone oder PC) oder bestätigen direkt am Tablet.

2. Administrator-Anleitung

2.1 Registrierung & Anmeldung als Admin

Erstmalige Registrierung (Self-Service)

Neue Admins können sich selbst registrieren — ohne dass ein Systembetreiber eingreifen muss:

  1. Öffne /admin/signup im Browser.
  2. Fülle das Formular aus: Vorname, Nachname, Vereinsname, E-Mail und Passwort.
  3. Setze die Pflicht-Checkboxen für AGB und Datenschutzerklärung.
  4. Klicke auf Registrieren — du erhältst eine Bestätigungs-E-Mail.
  5. Klicke auf den Link in der E-Mail → du wirst zu einem Willkommens-Dialog weitergeleitet.
  6. Wähle deinen Tarif und schließe optional den Checkout ab. (Du kannst das auch überspringen und mit dem Free-Tarif starten.)

Nach der Registrierung ist dein Mandant sofort aktiv. Du kannst direkt Spieler anlegen und Turniere erstellen.

Anmeldung

  1. Öffne /admin/login im Browser.
  2. Gib deine E-Mail-Adresse und dein Passwort ein.
  3. Klicke auf Anmelden — du wirst automatisch zum Admin-Dashboard weitergeleitet.

Bei Verlust des Passworts klicke auf der Login-Seite auf Passwort vergessen — oder öffne direkt /admin/forgot-password. Du erhältst eine E-Mail mit einem Reset-Link, der dich zurück zur Admin-Login-Seite führt.


2.2 Spieler verwalten

Alle Spieler werden zentral in einer Datenbank verwaltet, unabhängig von einzelnen Turnieren.

Neuen Spieler anlegen:

  1. Navigiere zu Spieler im Admin-Dashboard.
  2. Klicke auf Spieler hinzufügen.
  3. Fülle das Formular aus:
    • Vorname und Nachname (Pflicht)
    • Verein (optional)
    • TTR-Wert (optional) — die aktuelle Tischtennis-Rangliste des Spielers. Wird für die Lostopf-Einteilung bei Auslosungen verwendet.
    • Jahrgang (optional) — Geburtsjahr des Spielers, relevant für Altersklassen-Turniere.
    • Lizenznummer (optional) — Spielerlizenz des Verbands (z. B. click-TT-Nummer).
    • Verband (optional) — Tischtennisverband des Spielers (z. B. „STTV", „DTTB").
    • Display-Name (automatisch generiert aus Vorname + erster Buchstabe Nachname, z. B. „Max M.") — max. 20 Zeichen, kann manuell angepasst werden. Wird auf Scoreboards und in Brackets angezeigt.
    • PIN (4-stellig, numerisch) — wird für die Spielbestätigung am Tablet und im Portal benötigt. Die PIN wird verschlüsselt gespeichert.
  4. Klicke auf Speichern.

Spieler bearbeiten:

  1. Klicke in der Spielerliste auf das Stift-Symbol neben dem Spieler.
  2. Ändere die gewünschten Felder.
  3. Klicke auf Speichern.

PIN zurücksetzen (Admin):

  1. Klicke in der Spielerliste auf das Schlüssel-Symbol neben dem Spieler.
  2. Gib die neue 4-stellige PIN ein und bestätige.
  3. Der Spieler wird in seinem Portal benachrichtigt, dass seine PIN geändert wurde.

Portal-Zugang einrichten:

Im Bearbeitungsdialog eines Spielers findest du den aufklappbaren Bereich „Portal-Zugang". Hier kannst du einem Spieler ohne eigenes Konto einen Portal-Zugang einrichten:

  1. Klappe den Bereich Portal-Zugang auf.
  2. Gib eine E-Mail-Adresse und ein Passwort (mindestens 8 Zeichen) für den Spieler ein.
  3. Klicke auf Speichern — der Spieler kann sich ab sofort unter /player/login anmelden.

Spieler mit Portal-Zugang werden in der Spielertabelle mit einem grünen „Portal"-Badge gekennzeichnet.

E-Mail ändern (Spieler mit Portal):

  1. Öffne den Bearbeitungsdialog des Spielers.
  2. Im Bereich Portal-Zugang ist die aktuelle E-Mail-Adresse sichtbar.
  3. Ändere die E-Mail-Adresse und klicke auf Speichern.

Passwort zurücksetzen (Spieler mit Portal):

  1. Öffne den Bearbeitungsdialog des Spielers.
  2. Im Bereich Portal-Zugang klicke auf Passwort zurücksetzen.
  3. Gib das neue Passwort ein und bestätige.

TTR-Plausibilitätshinweise:

Beim Eintragen oder Ändern des TTR-Werts zeigt das System Hinweise zur Einordnung:

TTR-Bereich Level
0–1000 Anfänger
1001–1500 Vereinsspieler
1501–2000 Leistungsspieler
2001–3000 Spitzenspieler

Bei ungewöhnlich hohen oder niedrigen Werten erscheint eine Warnmeldung (z. B. „TTR-Wert liegt im Spitzenspieler-Bereich — bitte prüfen"). Dies ist nur ein Hinweis, der Wert kann trotzdem gespeichert werden.

CSV-Import (click-TT):

Du kannst Spieler aus einer click-TT-Exportdatei importieren, anstatt sie einzeln anzulegen:

  1. Klicke in der Spielerverwaltung auf „CSV importieren".
  2. Schritt 1 — Upload: Wähle eine CSV-Datei aus (Semikolon- oder Komma-getrennt, UTF-8-Kodierung).
  3. Schritt 2 — Vorschau: Das System zeigt eine Vorschau aller erkannten Spieler:
Farbe Bedeutung
Grün Neuer Spieler — wird angelegt
Gelb Bestehender Spieler erkannt (per Lizenznummer oder ähnlichem Namen) — Daten werden aktualisiert
Rot Fehler in der Zeile — wird übersprungen
  1. Schritt 3 — Ergebnis: Nach dem Import siehst du eine Zusammenfassung (neu angelegt, aktualisiert, übersprungen).

Unterstützte Felder: Nachname, Vorname, Verein, TTR, Lizenznummer, Verband, Jahrgang.

Matching-Logik: Bestehende Spieler werden anhand der Lizenznummer (exakter Abgleich) oder des Namens (Fuzzy-Matching) erkannt. Neue Spieler erhalten automatisch eine PIN.

Hinweis: Die CSV-Datei muss im click-TT-Exportformat vorliegen. Andere Formate werden nicht unterstützt.

Spieler löschen:

  • Ein Spieler kann nur gelöscht werden, wenn er in keinem aktiven Turnier angemeldet ist.

Hinweis: Spieler können sich auch selbst über /player/register registrieren. Diese Selbstregistrierung verknüpft ihr Portal-Konto automatisch mit dem entsprechenden Spieler-Eintrag in der Datenbank.


2.3 Turnier erstellen

  1. Navigiere zu TurniereNeues Turnier.
  2. Fülle das Formular aus:
Feld Beschreibung
Name z. B. „Vereinsmeisterschaft 2026"
Datum Datum der Veranstaltung
Startzeit Geplante Uhrzeit des Turnieranfangs (Pflichtfeld) — wird für die automatische Zeitslot-Berechnung verwendet
Veranstaltungsort Ort / Halle der Veranstaltung
Format KO (Direktausscheidung) oder Gruppe + KO
Spielformat Best-of-3, Best-of-5 oder Best-of-7
Anzahl Tische Entspricht der physisch verfügbaren Tischanzahl
Kleines Finale Optional: Wenn aktiviert, spielen die beiden Halbfinal-Verlierer um Platz 3
  1. Optional: Lege unter Teilnahmebeschränkungen einen TTR-Bereich und/oder eine Jahrgangsgrenze fest (siehe unten).
  2. Optional: Aktiviere Kleines Finale, wenn ein Spiel um Platz 3 ausgetragen werden soll. Die Halbfinal-Verlierer werden automatisch in dieses Spiel eingesetzt.
  3. Klicke auf Turnier erstellen. Das Turnier startet im Status Entwurf.

Hinweis: Das Format „Gruppe + KO" wird nicht mehr direkt im Erstellungsformular konfiguriert. Die Gruppeneinstellungen (Anzahl Gruppen, Gruppenstärke) werden erst im Auslosungs-Tab über den Modus-Slider festgelegt.

Im Status Entwurf können alle Einstellungen noch geändert werden. Nach der Auslosung sind Einstellungen gesperrt.

Teilnahmebeschränkungen (optional)

Du kannst für ein Turnier folgende Einschränkungen festlegen:

Feld Beschreibung
TTR-Min / TTR-Max Nur Spieler mit TTR-Wert innerhalb dieses Bereichs (0–3000)
Jahrgang ab / Jahrgang bis Nur Spieler mit Geburtsjahr innerhalb dieser Grenzen

Alle Felder sind optional. Wenn kein Wert eingetragen wird, gibt es keine Einschränkung.

Hinweis: Einschränkungen können nur im Status Entwurf gesetzt werden. Nach der Auslosung sind sie eingefroren — bestehende Spieler sind davon nicht betroffen.

TTR-Projektion (optional)

Wenn das Turnier TTR-relevant ist (z. B. ein offizielles Verbandsturnier), aktiviere den Toggle TTR-relevant. Das System berechnet dann nach jedem Spiel die voraussichtliche TTR-Änderung für beide Spieler.

Einstellung Beschreibung
TTR-relevant Ein/Aus (Standard: ein). Steuert ob ΔTTR-Werte berechnet werden.
K-Faktor Koeffizient für die Berechnung — 16 (Standard), 24 (Verband), 32 (neue Spieler).

Hinweis: Die angezeigten TTR-Änderungen sind Projektionen, keine offiziellen Werte. Der echte TTR ändert sich erst nach Einreichung der Ergebnisse beim DTTB (über click-TT).

Öffentliche Vereinsseite (optional)

Turniere können öffentlich auf der Vereinsseite bekanntgemacht werden, damit Spieler sich online voranmelden können.

Einstellung Beschreibung
Auf Vereinsseite anzeigen Turnier erscheint auf der öffentlichen Vereinsseite (/verein/[vereins-url]). Standard: ein.
Anmeldungen automatisch bestätigen Wenn aktiviert, werden Anmeldungen sofort bestätigt und Spieler erhalten einen QR-Code per E-Mail. Wenn deaktiviert, landen Anmeldungen zunächst auf der Warteliste.
Meldeschluss Stichtag bis wann sich Spieler anmelden können. Standard: Turnierdatum.

Hinweis: Damit Spieler sich online anmelden können, muss das Turnier auf der Vereinsseite sichtbar sein und der Meldeschluss darf nicht abgelaufen sein.


2.4 Spieler für ein Turnier anmelden

  1. Öffne das Turnier unter Turniere → gewünschtes Turnier → Tab Spieler.
  2. Alle verfügbaren Spieler aus der Datenbank werden angezeigt.
  3. Klicke auf Hinzufügen neben jedem Spieler, der teilnehmen soll.
  4. Um einen Spieler zu entfernen, klicke auf Entfernen (nur möglich, solange keine Auslosung stattgefunden hat).

Mindestens 2 Spieler müssen angemeldet sein, bevor die Auslosung gestartet werden kann.

Warnungen bei Teilnahmebeschränkungen

Wenn ein Turnier TTR- oder Jahrgangs-Einschränkungen hat und ein Spieler die Kriterien nicht erfüllt, erscheint eine Warnmeldung beim Einschreiben (kein harter Block — du kannst den Spieler trotzdem anmelden):

Warnung Bedeutung
„Spieler-TTR liegt außerhalb des Turnierbereichs" TTR des Spielers ist zu hoch oder zu niedrig
„Spieler-Jahrgang liegt außerhalb des Turnierbereichs" Geburtsjahr des Spielers passt nicht zur Altersklasse
„Spieler hat keinen TTR-Wert" TTR ist nicht hinterlegt — Prüfung nicht möglich
„Spieler hat keinen Jahrgang" Geburtsjahr ist nicht hinterlegt — Prüfung nicht möglich

Nach der Warnung wirst du gefragt, ob du den Spieler trotzdem einschreiben möchtest. Als Admin hast du immer das letzte Wort.


2.5 Auslosung durchführen

  1. Öffne das Turnier → Tab Auslosung.
  2. Prüfe, dass alle Spieler korrekt eingetragen sind.

Modus wählen:

  1. Verwende den Modus-Slider oben im Tab, um den Turniermodus festzulegen:
Modus Beschreibung
KO Direktausscheidung — Verlierer scheiden sofort aus
Jeder gegen Jeden (Gruppe + KO) Spieler werden in Gruppen eingeteilt, Gruppensieger qualifizieren sich für die KO-Runde
  1. Bei Gruppe + KO wählst du zusätzlich die Gruppenstärke (z. B. 3er- oder 4er-Gruppen). Das System berechnet automatisch die Anzahl der Gruppen.

Live-Vorschau:

Sobald du den Modus und die Gruppenstärke einstellst, zeigt das System eine Live-Vorschau mit folgenden Informationen:

Vorschau-Feld Beschreibung
Spielanzahl Gesamtzahl aller Partien im Turnier
Geschätzte Dauer Voraussichtliche Gesamtdauer
Min/Max Spiele pro Spieler Mindest- und Maximalanzahl Spiele, die ein Spieler bestreiten wird
Voraussichtliches Ende Berechnete Uhrzeit basierend auf Startzeit und Tischanzahl

TTR-Lostöpfe:

Wenn Spieler mit TTR-Werten eingetragen sind, werden sie automatisch in Lostöpfe eingeteilt. Die Töpfe sind farblich unterschieden und sorgen für eine ausgewogene Verteilung der Spielstärke auf die Gruppen.

  1. Klicke auf Auslosung starten.
  2. Das System generiert die Gruppen- und/oder Bracket-Struktur und verteilt die Erstrundenspiele automatisch auf die verfügbaren Tische.
  3. Setze das Turnier auf Aktiv, um es freizuschalten.

Nach der Gruppenphase:

Wenn alle Gruppenspiele abgeschlossen sind, erscheint der Button „KO-Runde starten". Damit werden die qualifizierten Spieler in ein KO-Bracket überführt.

Freilose: Bei ungerader Spieleranzahl erhält der zufällig ausgeloste Spieler ein Freilos und rückt automatisch in die nächste Runde vor.

Achtung: Nach der Auslosung können keine Spieler mehr hinzugefügt oder entfernt werden und die Turniereinstellungen sind gesperrt.


2.6 Turnier durchführen — Übersicht & Tische

Hinweis: Nach der Auslosung wechselt der Tab-Name automatisch von „Auslosung" zu „Tischzuweisung und Spielablauf".

Spielstand verfolgen:

  • Auf der Turnier-Detailseite siehst du alle Partien mit aktuellem Status:
    • Ausstehend — noch nicht begonnen
    • Tisch festgelegt — Admin hat einen Tisch zugewiesen, Spiel wartet auf Beginn
    • Läuft — aktuell am Tisch
    • Beendet — Ergebnis eingetragen, Bestätigung ausstehend
    • Bestätigt — von beiden Spielern bestätigt
    • Einspruch — ein Spieler hat widersprochen

Tischzuweisung:

Der Admin weist jedem Spiel einen Tisch zu:

  1. Öffne den Tab Tischzuweisung und Spielablauf.
  2. Wähle ein ausstehendes Spiel und weise ihm einen verfügbaren Tisch zu.
  3. Der Status wechselt auf „Tisch festgelegt" — das Spiel erscheint auf dem zugewiesenen Tablet.

Tisch-Zugang für Schiedsrichter:

Jeder Tisch hat eine eindeutige URL. Diese kann auf dem Tablet-Browser geöffnet werden:

https://[deine-domain]/table/[Tisch-ID]

Die Tisch-ID ist in der Turnierverwaltung einsehbar. Der Zugang zum Tablet erfordert keine Anmeldung — einfach URL öffnen und losspielen.

Nächste Runde freischalten:

  • Sobald alle Partien einer Runde bestätigt sind, rücken die Gewinner automatisch in die nächste Runde vor.
  • Das Bracket aktualisiert sich automatisch.

2.7 Einsprüche bearbeiten

Wenn ein Spieler ein Ergebnis anficht, erscheint die Partie im Tab Einsprüche des Admin-Dashboards.

Ablauf:

  1. Navigiere zu Admin-Dashboard → Tab Einsprüche.
  2. Alle strittigen Partien werden tabellarisch angezeigt (Turnier, Spieler, Ergebnis, Einreicher, Zeitpunkt).
  3. Klicke auf Bearbeiten neben der entsprechenden Partie.
  4. Wähle eine Aktion:
Aktion Beschreibung
Ergebnis bestätigen Das eingetragene Ergebnis ist korrekt — Partie wird als bestätigt markiert
Score korrigieren Trage das richtige Ergebnis ein (Gleichstand ist nicht zulässig)
Rematch anfordern Partie wird zurückgesetzt — Schiedsrichter gibt das Spiel erneut ein
  1. Gib eine Admin-Notiz ein (Pflichtfeld bei allen Aktionen) — diese wird zur Dokumentation gespeichert.
  2. Klicke auf Entscheidung speichern.

Die Entscheidung wird mit deiner Benutzer-ID und dem Zeitstempel protokolliert.


2.8 Betreuer verwalten

Auf der Seite /admin/betreuer kannst du Spieler manuell Betreuern zuweisen:

  1. Wähle links in der Spielerliste einen oder mehrere Spieler aus (Checkbox).
  2. Wähle rechts den gewünschten Betreuer aus.
  3. Weise die Spieler per Drag & Drop oder über den Zuweisen-Button zu.
  4. Mit dem X-Button neben einem Spieler kann die Zuweisung wieder aufgehoben werden.

Admin-Zuweisungen überschreiben bestehende Betreuer-Anfragen und sind sofort wirksam.


2.9 Nutzerverwaltung & Rollenzuweisung

Unter /admin/users siehst du alle Nutzer des Systems und kannst ihnen Rollen zuweisen.

Übersicht:

  • Alle Spieler aus der Datenbank werden aufgelistet, inklusive Information ob ein Portal-Konto vorhanden ist.
  • Nutzer mit Portal-Konto aber ohne Spieler-Eintrag (z. B. reine Admins) erscheinen ebenfalls.
  • Die Liste ist nach Name und E-Mail durchsuchbar.

Rollen zuweisen:

  1. Klicke auf den Rollen-Button neben einem Nutzer.
  2. Ein Popover mit Checkboxen öffnet sich — wähle eine oder mehrere Rollen:
Rolle Zugang
admin Admin-Dashboard
spieler Spieler-Portal
betreuer Betreuer-Dashboard
schiedsrichter Schiedsrichter-Dashboard
  1. Klicke auf Speichern — die Änderung wird sofort wirksam.

Hinweis: Du kannst deine eigene admin-Rolle nicht entziehen — der entsprechende Button ist gesperrt.

Rollenwechsel für Nutzer mit mehreren Rollen:

Ein Nutzer, dem mehrere Rollen zugewiesen wurden, sieht in seiner jeweiligen Ansicht einen Wechsel-Button:

  • Im Admin-Dashboard: „Betreuer-Ansicht" und/oder „Schiedsrichter-Ansicht" (wenn entsprechende Rolle vorhanden)
  • Im Betreuer-Dashboard: „Admin-Ansicht" (wenn Admin-Rolle vorhanden)
  • Im Schiedsrichter-Dashboard: „Admin-Ansicht" (wenn Admin-Rolle vorhanden)

Rollenwechsel erfordern keine erneute Anmeldung — ein Klick genügt.

Audit-Log:

Alle Rollenzuweisungen werden protokolliert. Das Log ist am unteren Ende der /admin/users-Seite einsehbar und zeigt: Wer hat wann welche Rolle geändert.


2.10 Spielbearbeitung & Kampflos

Spiel manuell bearbeiten:

  1. Öffne das Turnier → Tab Bracket oder Spielplan.
  2. Klicke auf ein Spiel — das Bearbeitungs-Modal öffnet sich.
  3. Folgende Felder sind editierbar:
Feld Beschreibung
Status Wartend, Spielbereit, Läuft, Beendet, Bestätigt
Sätze Spieler 1 / 2 Gesamtzahl gewonnener Sätze
Gewinner Manuelle Zuweisung
Einzelne Sätze Klicke auf „+ Satz" um Satzergebnisse einzutragen oder zu korrigieren

Achtung: Bei laufenden Spielen (Status „Läuft") erscheint ein Warnhinweis. Änderungen werden trotzdem sofort gespeichert.

Kampflos & Spielbeendigung (Walkover):

Ein Spiel kann auf verschiedene Arten vorzeitig beendet werden:

  1. Öffne das Spiel-Modal über den Bracket-Tab.
  2. Klicke auf „Kampflos vergeben".
  3. Wähle den betroffenen Spieler und den Grund:
Grund Badge Beschreibung
Nicht erschienen w.o. Spieler ist nicht angetreten (wie bisher)
Aufgabe wegen Verletzung w.o. (orange) Spieler gibt während des Spiels wegen Verletzung auf
Disqualifikation w.o. (rot) Spieler wird disqualifiziert
  1. Gib den aktuellen Score ein — das System ermittelt automatisch den Gewinner und setzt den passenden Status.
  2. Der Gewinner wird sofort in die nächste KO-Runde übertragen (Auto-Advancement).

3-Aufrufe-System & Kampflos-Banner:

Sobald ein Spiel den Status „Spielbereit" erhält, startet automatisch ein Aufruf-Zähler:

  • Aufruf 1: Sofort bei Spielbereit-Status
  • Aufruf 2: Nach 2 Minuten
  • Aufruf 3: Nach weiteren 2 Minuten

Wenn nach dem 3. Aufruf kein Spieler erschienen ist, erscheint im Bracket und im Spielplan ein roter „Kampflos möglich"-Banner neben dem betroffenen Spiel. Du kannst dann über das Bearbeitungs-Modal Kampflos vergeben.


2.11 Gruppen-Darstellung (STTV-Format)

Wenn ein Turnier im Modus Gruppe + KO ausgelost wurde, zeigt das System für jede Gruppe drei Ansichten:

Kreuztabelle:

  • Zeigt alle Spieler der Gruppe in einer Matrix (Zeilen und Spalten).
  • An jeder Kreuzung steht das Ergebnis des direkten Duells (z. B. „3:1").
  • Das eigene Feld (Diagonale) ist ausgegraut.
  • Format entspricht dem STTV-Standard (Schweizerischer Tischtennisverband).

Runden-Spielplan:

  • Listet alle Spiele der Gruppe runden-weise auf.
  • Jede Runde zeigt: Paarung, Tisch, Status und Ergebnis.
  • Laufende Spiele werden hervorgehoben.

Abschlusstabelle:

Nach Abschluss aller Gruppenspiele wird die Abschlusstabelle berechnet. Die Sortierung erfolgt nach:

  1. Siege (absteigend)
  2. Satzverhältnis (absteigend)
  3. Direktvergleich (bei Gleichstand)

Die Tabelle zeigt pro Spieler: Platzierung, Name, Spiele, Siege, Niederlagen, Sätze (gewonnen:verloren) und Punkte (gewonnen:verloren).


2.12 Nutzerverwaltung & SMTP-Konfiguration

Unter /admin/settings findest du erweiterte Verwaltungsfunktionen.

Mein Konto:

  1. Öffne /admin/settings → Tab Mein Konto.
  2. Hier kannst du dein eigenes Admin-Passwort ändern:
    • Gib dein aktuelles Passwort ein.
    • Gib das neue Passwort ein (mindestens 8 Zeichen).
    • Bestätige das neue Passwort.
    • Klicke auf Passwort ändern.

Nutzerverwaltung (erweitert):

Über /admin/settings kannst du zusätzlich zur Rollenzuweisung (siehe 2.9):

Aktion Beschreibung
Admin-Passwort setzen Setze das Passwort eines anderen Admin-Nutzers zurück
Nutzer deaktivieren Sperrt den Zugang eines Nutzers — er kann sich nicht mehr anmelden
Nutzer löschen Entfernt den Nutzer dauerhaft aus dem System
Neuen Admin anlegen Erstelle einen neuen Admin-Nutzer mit E-Mail und Passwort

Hinweis: Du kannst dein eigenes Konto nicht deaktivieren oder löschen.

SMTP-Konfiguration:

  1. Öffne /admin/settings → Tab E-Mail / SMTP.
  2. Konfiguriere den E-Mail-Server, über den das System Benachrichtigungen versendet:
Feld Beschreibung
SMTP-Host Adresse des E-Mail-Servers (z. B. smtp.gmail.com)
SMTP-Port Port des Servers (z. B. 587 für TLS)
Benutzername E-Mail-Adresse oder Login des SMTP-Kontos
Passwort Passwort oder App-Passwort des SMTP-Kontos
Absender-Adresse Die „Von"-Adresse für ausgehende E-Mails
  1. Klicke auf Test-E-Mail senden, um die Konfiguration zu prüfen.
  2. Klicke auf Speichern.

Hinweis: Ohne SMTP-Konfiguration können keine E-Mails versendet werden (z. B. Passwort-Reset, Bestätigungs-E-Mails). Die Konfiguration ist für den Produktivbetrieb empfohlen.


2.13 Gruppen-Detailansicht

Im Modus Gruppe + KO kannst du jede Gruppe im Detail einsehen:

  1. Navigiere zur Turnier-Detailseite → Tab Gruppen.
  2. Klicke auf eine Gruppen-Karte — ein seitliches Panel (Sheet) öffnet sich.

Inhalte des Panels:

Bereich Beschreibung
Kreuztabelle Große, übersichtliche Matrix aller direkten Duelle in der Gruppe
Spielplan nach Runden Alle Gruppenspiele sortiert nach Runden mit Paarung, Tisch und Ergebnis
Tischzuweisung Tischnummer wird inline neben jedem Spiel angezeigt
Überfälligkeitsanzeige Spiele, deren geplante Startzeit überschritten ist, werden rosa hervorgehoben
Abschlusstabelle Nach Abschluss aller Gruppenspiele: Platzierung, Siege, Satzverhältnis. Die Top 2 (qualifiziert für KO-Runde) sind grün hervorgehoben

Hinweis: Das Panel schließt sich über den X-Button oder durch Klick außerhalb des Panels.


2.14 Öffentlicher Turnier-Zugang (Spectator)

Du kannst den aktuellen Turnierstand mit Zuschauern teilen — ohne dass diese sich anmelden müssen.

Öffentliche Seite:

Jedes Turnier hat eine öffentlich zugängliche Seite unter:

https://[deine-domain]/tournament/[Turnier-ID]

Diese Seite zeigt:

  • Gruppenphase: Alle Gruppen mit Kreuztabellen und Abschlusstabellen
  • KO-Bracket: Vollständiger Bracket-Baum mit Live-Ergebnissen
  • Live-Aktualisierung: Die Seite aktualisiert sich automatisch alle 10 Sekunden
  • Vollbild-Modus: Über den Button „Vollbild" kann die Ansicht auf TV oder Monitor im Vollbildmodus angezeigt werden — ideal für Zuschauer-Displays in der Halle
  • Auto-Scroll: Über den Auto-Scroll-Button (Doppelpfeil-Icon) wird ein automatisches Pingpong-Scrolling aktiviert — die Seite scrollt langsam von oben nach unten und zurück. Ideal für große Brackets auf TV-Displays. Bei Berührung des Bildschirms pausiert das Scrolling für 5 Sekunden und setzt dann automatisch fort.

Link teilen:

  1. Öffne die Turnier-Detailseite im Admin-Dashboard.
  2. Klicke auf „Link kopieren" — der öffentliche Link wird in die Zwischenablage kopiert.
  3. Alternativ: Klicke auf den QR-Code-Button — ein QR-Code wird generiert, den Zuschauer mit dem Smartphone scannen können.

Hinweis: Für die öffentliche Seite ist kein Login erforderlich. Jeder mit dem Link kann den Turnierstand live verfolgen.


2.15 Tisch-Display (Zuschauer-Anzeige)

Jeder Tisch hat eine eigene Display-Seite unter /display/table/[Tisch-ID], die auf einem Monitor oder Fernseher am Tisch angezeigt werden kann. Sie zeigt in Echtzeit:

  • Aktueller Spielstand (Sätze und Punkte, 10rem grosse Ziffern)
  • Spieler-Namen und Aufschlag-Anzeige (oranger Punkt)
  • Timeout-Status pro Spieler
  • Karten-Badges: Gelbe, Gelb-Rote und Rote Karten werden neben dem Spielernamen angezeigt
  • Satz-Historie (alle abgeschlossenen Sätze)
  • Endergebnis: Nach Spielende wird der Endstand 30 Sekunden lang angezeigt (Sieger hervorgehoben, komplette Satz-Historie inkl. letztem Satz)
  • Danach wechselt die Anzeige auf "Bereit" oder das nächste anstehende Spiel

Tipp: Nutze den Vollbild-Modus des Browsers (F11) für eine optimale Darstellung auf TV-Displays.


2.16 API-Dokumentation (Swagger)

Die vollständige REST-API-Dokumentation ist unter /api-docs erreichbar. Sie zeigt alle verfügbaren Endpunkte mit Parametern und Beispiel-Antworten im interaktiven Swagger-UI-Format.


2.17 Urkunden erstellen & drucken

Unter Turniere → gewünschtes Turnier → Tab Urkunden kannst du individuelle Urkunden für die Platzierten erstellen.

Drei Modi stehen zur Verfügung:

Tab Beschreibung
Vorlagen 5 vorgefertigte Designs (Modern, Modern-Elegant, Klassisch-Modern, Klassisch, Altdeutsch) — Klick auf eine Vorlage zeigt eine Vorschau
Vorgedruckt Für vorgedruckte Blanko-Urkunden: Lade ein Foto der leeren Urkunde hoch (wird nur als Positionierungshilfe bei 40 % Deckkraft angezeigt) und platziere Textbausteine darauf. Beim Druck werden nur die Texte gedruckt, nicht das Hintergrundbild.
Designer Vollständiger Editor mit Hintergrundfarbe/-bild, Text- und Bildelementen, SVG-Bibliothek (Pokale, Schläger, Lorbeerkranz etc.)

Designer-Funktionen:

  • Textbausteine: Spielername, Platzierung, Turniername, Datum, Spielklasse, Freitext (mehrfach platzierbar)
  • Bildelemente: 13 hochwertige SVG-Symbole (Pokale Gold/Silber/Bronze, Schläger, Ball, Tisch, Rahmen, Lorbeerkranz, Stern, Medaille)
  • Drag & Drop: Elemente per Maus verschieben
  • Maus-Resize: Bildelemente an der Ecke mit der Maus vergrößern/verkleinern
  • Layer-Reihenfolge: Elemente nach vorn/hinten verschieben über das Layer-Panel
  • Platzierungs-Zuordnung: Jedes Element kann auf bestimmte Platzierungen beschränkt werden (z. B. goldener Pokal nur für 1. Platz)
  • Orientierung: Hochformat oder Querformat wählbar

Drucken:

  1. Wähle, ob die Urkunde auch den 4. Platz einschließen soll (Checkbox).
  2. Klicke auf Drucken — es wird für jeden Platzierten eine eigene Seite erzeugt.
  3. Im Druckdialog des Browsers „Als PDF speichern" wählen oder direkt drucken.

Hinweis: Die Urkundeneinstellungen werden pro Turnier gespeichert. Du kannst sie jederzeit anpassen und neu drucken.


2.18 Abschlussberichte & CSV-Export

Nach Abschluss eines Turniers stehen verschiedene Berichte zur Verfügung:

Admin-Turnierbericht (/admin/tournaments/[id]/report):

  • Gesamtübersicht: Teilnehmeranzahl, Format, Datum
  • Endplatzierungen (1.–8. Platz je nach Turniergröße)
  • Statistiken: Spieldauer, längstes Spiel, Durchschnittswerte
  • CSV-Export: Alle Ergebnisse als CSV-Datei herunterladen

Spieler-Turnierbericht (/player/report/[tournamentId]):

  • Persönlicher Bericht mit allen eigenen Spielen, Ergebnissen und Endplatzierung
  • Druckbar als PDF über den Browser-Druckdialog
  • TTR-Tagesbilanz (bei TTR-relevanten Turnieren): Tabelle mit ΔTTR pro Spiel und kumuliertem Tagessaldo — zeigt welches Spiel wie viele Punkte gebracht oder gekostet hat.

Hinweis: Die TTR-Tagesbilanz zeigt Projektionen — der echte TTR-Wert ändert sich erst nach offizieller Einreichung beim DTTB (click-TT). LivePZ-Aktualisierungen erfolgen separat.

Betreuer-Turnierbericht (/coaches/report/[tournamentId]):

  • Übersicht aller betreuten Spieler mit deren Ergebnissen und Platzierungen

Tipp: Im Druckdialog „Als PDF speichern" wählen, um den Bericht digital zu archivieren.


2.19 Turnier-Fotogalerie

Teilnehmer, Betreuer, Schiedsrichter und Admins können Fotos zu einem Turnier hochladen und in einer öffentlichen Galerie teilen.

Admin-Ansicht:

Unter Turniere → gewünschtes Turnier → Tab Fotos siehst du als Admin:

  • Freigabe-Warteschlange (oben): Fotos, die noch auf deine Freigabe warten — mit Angabe des Grundes (z. B. „Aufnahmedatum weicht ab"). Für jedes Foto: Freigeben oder Ablehnen.
  • Freigegebene Fotos (unten): Alle öffentlich sichtbaren Fotos.
  • Der Tab zeigt eine Zahl neben „Fotos", wenn Freigaben ausstehen.

Plausibilitätsprüfung:

Beim Hochladen prüft das System automatisch die Foto-Metadaten:

Prüfung Was passiert
Aufnahmedatum passt zum Turniertag (±1 Tag) Foto wird sofort freigegeben
Aufnahmedatum weicht ab oder fehlt Foto wartet auf Admin-Freigabe
GPS-Standort zu weit vom Veranstaltungsort (>5 km) Foto wartet auf Admin-Freigabe
Admin lädt hoch Foto wird immer sofort freigegeben

Limits:

  • Max. 10 Fotos pro Person pro Turnier
  • Max. 100 Fotos pro Turnier insgesamt

Fotos hochladen (Spieler / Betreuer / Schiedsrichter):

  1. Öffne dein Dashboard.
  2. Klicke auf den Kamera-Button neben dem Turnier.
  3. Im Upload-Dialog:
    • Fotos auswählen (Drag & Drop oder Klick) — mehrere gleichzeitig möglich
    • Foto aufnehmen — öffnet direkt die Handy-Kamera (auf Mobilgeräten)
    • Optional: Bildunterschrift eingeben (max. 200 Zeichen)
  4. Klicke auf Hochladen — Bilder werden automatisch komprimiert.
  5. Ergebnis: grüne Meldung (sofort sichtbar) oder gelbe Meldung (wartet auf Freigabe).

Galerie ansehen:

  • Zuschauer: Öffne die öffentliche Turnierseite → Tab Fotos — kein Login nötig.
  • Klicke auf ein Foto für die Großansicht (Lightbox) mit Pfeiltasten, Wisch-Gesten und Bildunterschrift.

Hinweis: Fotos werden beim Hochladen automatisch komprimiert und GPS-Daten aus dem gespeicherten Bild entfernt (Datenschutz). Die Metadaten werden nur zur Plausibilitätsprüfung verwendet.


2.20 Dynamisches Doppel

Der Modus Dynamisches Doppel ist ein besonderer Turniermodus, bei dem die Doppelpartner in jeder Runde neu zusammengestellt werden. Am Ende zählt die Einzelwertung — jeder Spieler sammelt individuell Punkte über alle Runden hinweg.

Turnier im Modus „Dynamisches Doppel" erstellen:

  1. Navigiere zu TurniereNeues Turnier.
  2. Wähle als Format Dynamisches Doppel.
  3. Stelle die Rundenanzahl über den Schieberegler ein (2 bis 15 Runden).
  4. Fülle die übrigen Felder wie gewohnt aus (Name, Datum, Startzeit, Veranstaltungsort, Tische).

Option „Mit Vorgabe" (TTR-Handicap):

Wenn die Spieler unterschiedlich stark sind, kannst du die Option „Mit Vorgabe" aktivieren. Das System berechnet dann automatisch ein Handicap basierend auf der TTR-Differenz der beiden Doppelpartner gegenüber den Gegnern.

Feld Beschreibung
Mit Vorgabe Checkbox — aktiviert das TTR-basierte Handicap-System
Vorgabe-Kurve Interaktiver Editor mit 10 Stufen — per Drag & Drop anpassbar

Der Vorgabe-Kurven-Editor zeigt 10 Drag-Punkte, die du mit der Maus verschieben kannst. Jeder Punkt entspricht einer TTR-Differenz-Stufe und bestimmt, wie viele Vorgabepunkte das schwächere Team erhält. So kannst du die Kurve exakt an das Spielniveau deines Turniers anpassen.

Auslosung:

  1. Öffne das Turnier → Tab Auslosung.
  2. Klicke auf Auslosung starten — das System generiert automatisch für jede Runde wechselnde Doppelpartner.
  3. Die Tischzuweisung funktioniert wie bei anderen Modi mit der grün/rot-Ampel:
    • Grün — Tisch frei, Spiel kann zugewiesen werden
    • Rot — Tisch belegt

Tablet-Ansicht:

Am Tablet werden beide Spieler eines Doppelteams im Format angezeigt:

M. Fuchs / S. Holler  vs.  L. Wagner / K. Braun

Hinweis: Beim Dynamischen Doppel ist keine PIN-Bestätigung durch die Spieler erforderlich (wie beim regulären Doppel).

Ranking (Einzelwertung):

Obwohl als Doppel gespielt wird, erhält jeder Spieler eine individuelle Wertung. Die Sortierung erfolgt nach:

  1. Siege (absteigend)
  2. Satzdifferenz (gewonnene minus verlorene Sätze)
  3. Punktedifferenz (gewonnene minus verlorene Punkte)
  4. Direktvergleich (bei Gleichstand zwischen zwei Spielern)
  5. TTR-Wert (als letztes Kriterium)

Spectator-Ansicht:

Die öffentliche Turnierseite zeigt für Dynamisches Doppel:

  • Ranking-Tabelle mit der aktuellen Einzelwertung aller Spieler
  • Aktuelle Runde mit allen laufenden Doppelpaarungen und Live-Ergebnissen

2.21 Venue-Tischpool

Wenn am selben Veranstaltungsort und am selben Tag mehrere Turniere stattfinden, können sich diese einen gemeinsamen Tischpool teilen. So werden physische Tische effizient zwischen den Turnieren aufgeteilt — ohne Konflikte oder doppelte Belegung.

Automatische Pool-Erkennung:

Beim Erstellen eines neuen Turniers prüft das System automatisch, ob am gewählten Veranstaltungsort und Datum bereits ein anderes Turnier existiert. Wenn ja, erscheint ein blauer Hinweis-Banner:

„Am gleichen Ort und Datum existiert bereits ein Turnier. Sie können einem gemeinsamen Tischpool beitreten."

Pool beitreten:

  1. Klicke im Hinweis-Banner auf Pool beitreten.
  2. Lege fest, wie viele Tische dein Turnier maximal gleichzeitig nutzen darf.
  3. Das System teilt die physischen Tische automatisch zwischen den Turnieren auf.

Stabile QR-Codes:

Jeder physische Tisch im Pool erhält einen QR-Code, der den ganzen Tag gültig bleibt — unabhängig davon, welches Turnier gerade auf dem Tisch läuft. Das Tablet muss nicht neu konfiguriert werden, wenn ein Tisch von einem Turnier zum nächsten wechselt.

Pool-Dashboard:

Auf der Turnier-Detailseite findest du einen zusätzlichen Tab Pool-Dashboard. Dort siehst du:

Anzeige Beschreibung
Alle Tische im Pool Übersicht aller physischen Tische mit aktuellem Status
Belegung pro Veranstaltung Welches Turnier, welche Kreisrangliste oder welches Race den Tisch gerade nutzt
Veranstaltungstyp-Badge 🏆 Turnier, 📊 KRL, 🏁 Race — auf einen Blick erkennbar
Freie Tische Tische, die aktuell keinem Spiel zugewiesen sind
Tischübergänge Fließender Wechsel — sobald ein Spiel endet, wird der Tisch für andere Veranstaltungen freigegeben

Hinweis: Der Tischpool unterstützt alle Veranstaltungstypen — Turniere, Kreisranglisten und Race-Turniere teilen sich denselben Pool und dieselben physischen Tische. Ein Tablet-QR-Code funktioniert für alle drei Typen.

Fließender Tischübergang:

Wenn ein Spiel auf einem Tisch endet, wird dieser automatisch wieder dem Pool zurückgegeben. Andere Turniere können den Tisch sofort für ihre nächsten Spiele nutzen — ohne manuelles Umbuchen.

Schutz vor Doppelzuweisung:

Das System verhindert, dass zwei Turniere denselben Tisch gleichzeitig belegen. Wenn ein Tisch bereits von einem anderen Turnier genutzt wird, ist er für dein Turnier gesperrt (roter Status). So werden versehentliche Überschreibungen ausgeschlossen.

Hinweis: Der Tischpool funktioniert nur, wenn die Turniere denselben Veranstaltungsort und dasselbe Datum haben. Turniere an unterschiedlichen Orten oder Tagen teilen sich keine Tische.


2.22 Tischverwaltung (Live-Übersicht)

Unter /admin/tables sehen Administratoren alle Tische eines Veranstaltungsorts mit Live-Status:

Funktionen:

  • Venue-Auswahl: Wähle Ort + Datum — alle Tische des Veranstaltungsorts werden angezeigt
  • Live-Polling: Die Ansicht aktualisiert sich automatisch alle 5 Sekunden — ohne manuellen Reload
  • Belegungsanzeige: Jede Tischkarte zeigt:
    • Status-Badge: Frei (grün), Reserviert (orange), Belegt (blau)
    • Turniername + Spielnummer
    • Spielernamen mit Satzstand und aktuellen Punkten
    • Einzelne Satz-Ergebnisse als kompakte Badges
  • Turnier-Link: Klick auf die Begegnung führt direkt zur Turnier-Detailseite
  • Tisch-Anzeige: Monitor-Icon öffnet die Zuschauer-Anzeige des Tisches
  • Tischzuweisung aufheben: Bei reservierten Tischen kann die Zuweisung direkt entfernt werden
  • Live-Board: Button "Live-Board" öffnet die Venue-weite Zuschauer-Anzeige (siehe 2.23)

Hinweis: Tische die in einem gemeinsamen Tischpool (PROJ-40) liegen, werden turnierübergreifend angezeigt — ein Tisch der in Turnier A belegt ist, erscheint auch in Turnier B als belegt.


2.23 Spectator Live-Board (Venue-Anzeige)

Für Zuschauer gibt es eine Grossanzeige unter /display/venue?location=ORTSNAME&date=YYYY-MM-DD, die auf einem TV oder Beamer im Foyer angezeigt werden kann.

Zugang: Über den Button "Live-Board" in der Tischverwaltung oder der Turnier-Detailseite.

Anzeige:

  • Alle Tische des Veranstaltungsorts als Grid (responsive, passt sich an die Tischanzahl an)
  • Pro Tisch: Spielernamen, Satzstand, Live-Punktestand
  • Farbige Rahmen: Blau = Spiel läuft, Orange = Bereit, Grau = Frei
  • Kopfzeile: Veranstaltungsort, Datum, Uhrzeit, Anzahl aktiver Spiele
  • Automatische Aktualisierung alle 3 Sekunden

Bedienung:

  • Doppelklick wechselt in den Vollbildmodus
  • Kein Login erforderlich — die Seite ist öffentlich

2.24 Jeder gegen Jeden (Round Robin)

Neben KO und Gruppe+KO gibt es das Format Jeder gegen Jeden: Alle Spieler spielen gegen alle anderen. Es gibt keine KO-Phase — die Endplatzierung ergibt sich direkt aus der Tabelle.

Turnier erstellen:

  1. Unter "Format" → Jeder gegen Jeden wählen
  2. Alle anderen Einstellungen (Tische, Satzformat, Restriktionen) wie gewohnt

Auslosung:

Die Info-Karte zeigt die Gesamtzahl der Spiele an (z.B. bei 5 Spielern = 10 Spiele). Klicke auf "Auslosung starten" — die Paarungen werden nach dem Circle-Verfahren erstellt (ausgewogene Reihenfolge).

Tabelle:

Unter dem Spielplan wird eine Live-Tabelle angezeigt mit:

Spalte Bedeutung
# Rang
Spieler Name
Sp. Gespielte Spiele
S Siege
N Niederlagen
Sätze Gewonnen:Verloren (Differenz)
Punkte Gewonnen:Verloren

Sortierung: Siege absteigend → Satzdifferenz → Punktdifferenz.


2.25 Turnier kopieren

Jedes Turnier kann als Vorlage für ein neues Turnier kopiert werden.

  1. Öffne die Turnier-Detailseite
  2. Klicke auf das Kopieren-Symbol (zwei übereinanderliegende Blätter) im Header
  3. Ein neues Turnier mit dem Suffix "(Kopie)" wird erstellt
  4. Alle Einstellungen werden übernommen: Format, Tischanzahl, Satzformat, Restriktionen
  5. Du wirst direkt zum neuen Turnier weitergeleitet

Hinweis: Spieler und Auslosungen werden nicht kopiert — nur die Turnier-Konfiguration.


2.26 Statistik-Dashboard

Unter /admin/stats (erreichbar über "Statistiken" in der Admin-Navigation) siehst du eine Übersicht über alle Turniere:

  • KPI-Karten: Gesamtanzahl Turniere, Spieler, Spiele und durchschnittliche Spieldauer
  • Turnierformate: Balkendiagramm — wie viele Turniere pro Format (KO, Gruppe+KO, Dynamisches Doppel, Jeder gegen Jeden)
  • Turnierstatus: Verteilung Entwurf / Aktiv / Beendet
  • Spiele pro Monat: Zeitliche Verteilung der gespielten Spiele
  • Letzte Turniere: Die 10 zuletzt erstellten Turniere mit Spieleranzahl und Status (klickbar)

2.27 Mandanten-Verwaltung (Multi-Tenancy)

Das System unterstützt Mandanten (auch „Tenants" genannt). Jeder Mandant ist ein eigenständiger Bereich — z. B. ein Verein oder eine Abteilung — mit eigenen Turnieren, Spielern und Einstellungen. Standardmäßig gibt es einen „Default"-Mandanten, der automatisch angelegt wird.

Was bedeutet das?

Wenn mehrere Vereine dasselbe System nutzen, sieht jeder Verein nur seine eigenen Daten. Turniere, Spieler und Tische sind strikt getrennt. Die Verwaltung der Mandanten ist nur für Super-Admins sichtbar.

Super-Admin Rolle

Nur Benutzer mit der Rolle Super-Admin haben Zugriff auf die Mandanten-Verwaltung. Reguläre Admins sehen nur die Daten ihres eigenen Mandanten und haben keinen Zugriff auf andere Bereiche.

Mandanten-Switcher

Super-Admins sehen im Dashboard-Header ein Dropdown-Menü, mit dem sie zwischen Mandanten wechseln können. Nach dem Wechsel werden automatisch alle Daten (Turniere, Spieler, Tische) des ausgewählten Mandanten geladen.

Mandanten verwalten

Die Mandanten-Verwaltung erreichst du über /admin/tenants (bzw. den Menüpunkt Mandanten in der Admin-Navigation).

Übersicht:

Die Liste zeigt alle Mandanten mit folgenden Informationen:

Spalte Beschreibung
Logo Vereinslogo (falls hochgeladen)
Name Name des Mandanten (z. B. „TTC Musterstadt")
Slug Kurzbezeichnung für interne Zuordnung
Turniere Anzahl der Turniere dieses Mandanten
Spieler Anzahl der registrierten Spieler
Admins Anzahl der zugewiesenen Administratoren

Neuen Mandanten anlegen:

  1. Klicke auf Neuer Mandant.
  2. Fülle das Formular aus:
    • Name (Pflicht) — z. B. „TTC Musterstadt"
    • Slug — wird automatisch aus dem Namen generiert (z. B. „ttc-musterstadt")
    • Logo — Vereinslogo hochladen (optional)
    • Primärfarbe — Akzentfarbe für das Branding (optional)
    • Limits — optionale Begrenzungen für Turniere oder Spieler
  3. Klicke auf Speichern.

Mandant bearbeiten:

Klicke in der Liste auf den gewünschten Mandanten, um alle Felder zu ändern (Name, Logo, Farbe, Limits).

Mandant löschen:

Ein Mandant kann nur gelöscht werden, wenn er keine aktiven Turniere mehr hat. Beende oder lösche zuerst alle laufenden Turniere des Mandanten.

Tenant-Branding

Jeder Mandant kann ein eigenes Logo und eine Primärfarbe hinterlegen:

  • Das Logo wird im Admin-Header anstelle des Standard-Logos angezeigt.
  • Die Primärfarbe wird als Akzentfarbe im gesamten Admin-Bereich verwendet.

Admins einem Mandanten zuweisen

Super-Admins können über die Nutzerverwaltung (siehe Abschnitt 2.12) einen Administrator einem bestimmten Mandanten zuweisen. So wird sichergestellt, dass jeder Admin nur die Daten seines Vereins sieht und verwaltet.


2.28 Spieler-Ampelstatus & Tischzuweisung

Jeder Spieler hat einen Live-Status, der als farbiger Punkt neben dem Spielernamen angezeigt wird — in Brackets, Gruppenansichten und Spiellisten.

Statusfarben

Farbe Bedeutung
Grün Spielbereit — der Spieler hat aktuell kein Spiel und kann aufgerufen werden
Rosa Aufgerufen — dem Spieler wurde ein Tisch zugewiesen, das Spiel hat noch nicht begonnen
Rot Im Spiel — der Spieler spielt gerade aktiv an einem Tisch
Gelb Pause — der Spieler hat gerade ein Spiel beendet und hat 5 Minuten Erholungszeit

Tipp: Wenn du mit der Maus über einen roten Punkt fährst, wird das aktuelle Spiel mit einem Link zum zugehörigen Turnier angezeigt.

Tischverwaltung mit Warteschlange

Die Tischverwaltung erreichst du unter Tische in der Admin-Navigation.

Venue-Auswahl:

Oben wählst du den Veranstaltungsort. In der Dropdown-Liste erscheinen alle aktiven Veranstaltungen die einen Tischpool haben — Turniere, Kreisranglisten und Race-Turniere. Der Ort+Datum-Eintrag zeigt welche Veranstaltungstypen dort aktiv sind, z.B. „KGST Halle - 1.6.2026 · 📊 KRL".

Wenn Turnier, KRL und Race am selben Ort und Datum laufen, erscheinen sie als ein gemeinsamer Eintrag — alle Matches werden in der Tischansicht kombiniert dargestellt.

Aufbau:

  • Links: Alle Tische des aktuellen Venues mit ihrem Status (frei, belegt, welches Spiel aus welcher Veranstaltung)
  • Rechts: Die Warteschlange — alle noch nicht zugewiesenen Spiele am selben Venue (Turniere, KRL und Race)

Filter in der Warteschlange:

Filter Zeigt
Alle Alle anstehenden Spiele
Nur startbereit Spiele, bei denen beide Spieler grün sind
Aufgerufen Spiele, die einem Tisch zugewiesen wurden
Im Spiel Aktuell laufende Spiele
Pausiert Spiele, bei denen mindestens ein Spieler noch Pause hat
Einzel / Doppel Nach Spieltyp filtern

Spiel einem Tisch zuweisen:

  • Desktop: Ziehe ein spielbereites Spiel per Drag & Drop auf einen freien Tisch.
  • Mobilgerät: Tippe auf ein Spiel in der Warteschlange — es öffnet sich eine Auswahl der freien Tische.

Hinweis: Tische die von KRL- oder Race-Spielen belegt sind erscheinen rot — genau wie Turnier-Tische. Alle Veranstaltungstypen teilen denselben Tischpool.


2.29 Daten-Export

Unter Einstellungen findest du den Tab Datenexport. Damit kannst du alle Daten deines Mandanten als ZIP-Datei herunterladen.

So funktioniert es:

  1. Gehe zu Einstellungen → Tab Datenexport.
  2. Klicke auf Alle Daten als ZIP exportieren.
  3. Der Download startet automatisch.

Enthaltene Daten:

Kategorie Inhalt
Turniere Alle Turniereinstellungen und Konfigurationen
Spieler Spielerdaten (Name, Verein, TTR, Lizenznummer)
Ergebnisse Alle Spielergebnisse und Platzierungen
Satzergebnisse Detaillierte Satzstände jedes Spiels
Doppelpaare Zuordnung der Doppelpartner
Einstellungen Mandanten-Einstellungen und Konfiguration
Fotos Turnier-Fotogalerie-Bilder

Wichtig: Der Export enthält keine sensiblen Daten — keine Passwörter, keine PINs, keine Zugangsdaten. Der Export ist konform mit DSGVO Art. 20 (Recht auf Datenübertragbarkeit).


2.30 Spieler importieren (Excel/CSV)

Du kannst Spieler aus einer Datei importieren, anstatt sie einzeln anzulegen.

So funktioniert es:

  1. Gehe zur Spieler-Seite in der Admin-Navigation.
  2. Klicke auf Spieler importieren.
  3. Wähle eine Datei aus:
    • CSV — z. B. ein Export aus click-TT
    • Excel (.xlsx oder .xls) — z. B. die bereitgestellte Vorlage

Erwartete Spalten:

Spalte Pflicht Hinweis
Nachname Ja
Vorname Ja
Verein Nein Vereinsname
TTR Nein Tischtennis-Rating (Zahl)
Lizenznummer Nein click-TT Lizenznummer
Geburtsjahr Nein Vierstellig, z. B. 1995

Vorschau vor dem Import:

Nach dem Hochladen siehst du eine Vorschau aller erkannten Spieler:

Farbe Bedeutung
Grün Spieler existiert bereits und stimmt überein — wird aktualisiert
Gelb Neuer Spieler — wird neu angelegt
Rot Konflikt — z. B. unterschiedliche Daten bei gleicher Lizenznummer, manuell prüfen

Erst nach Bestätigung werden die Spieler tatsächlich importiert.

Tipp für Vereine ohne click-TT: Nutze die Excel-Vorlage, die auf der Import-Seite zum Download bereitsteht. Trage die Spielerdaten in die Vorlage ein und lade sie dann hoch.

2.31 Demodaten erzeugen

Wenn du neu einsteigst, kannst du mit einem Klick realistische Testdaten anlegen und das System sofort ausprobieren, ohne alles von Hand zu erfassen.

Was wird erzeugt?

  • 25 Demo-Spieler mit realistischen deutschen Namen, zufälligen TTR-Werten (1200–1800) und Vereinen
  • 1 Turnier Demo Vereinsmeisterschaft (Gruppe + KO, 4 Gruppen, einige Spiele bereits gespielt)
  • 1 Turnier Demo Vereinsmeisterschaft — Doppel (KO, 6 Doppelpaare)
  • 8 Tische in der „Demo-Halle"
  • 1 Demo-Betreuer-Konto (demo-betreuer@example.com)
  • 1 Demo-Schiedsrichter-Konto (demo-schiedsrichter@example.com)

Alle Demo-PINs lauten 1111, damit du Bestätigung und Schiedsrichter-Funktionen schnell testen kannst.

So erzeugst du die Demodaten:

  1. Öffne das Admin-Dashboard.
  2. Suche die Karte Demodaten (lila Stern-Symbol).
  3. Klicke auf Demodaten generieren und bestätige den Dialog.

Die Demodaten werden in allen Listen mit einem lila Demo-Abzeichen markiert, damit sie klar von deinen echten Daten unterscheidbar sind.

Demodaten wieder löschen:

Sobald Demodaten vorhanden sind, zeigt die Karte den Button Demodaten löschen. Ein Klick entfernt alle Demo-Datensätze (Spieler, Turniere, Tische, Betreuer- und Schiedsrichter-Konten). Deine selbst angelegten Daten bleiben dabei unverändert erhalten.

Hinweis: Die Demo-Spieler können zusätzlich zu deinen echten Spielern existieren. Du kannst also auch in einem aktiven Tenant Demodaten erzeugen, ohne deine produktiven Daten zu gefährden.

2.32 Tarif & Abonnement

TT-Control bietet vier Tarife: Free, Starter (9 €/Monat), Club (29 €/Monat) und Verband (79 €/Monat). Du kannst deinen Tarif jederzeit unter Einstellungen → Abonnement verwalten.

Upgrade durchführen

  1. Gehe zu Einstellungen → Abonnement.
  2. Klicke auf Tarif wechseln und wähle den gewünschten Plan.
  3. Du wirst zu Mollie weitergeleitet — wähle eine Zahlungsmethode.
  4. Nach erfolgreicher Zahlung wird dein Tarif sofort aktiviert.

SEPA-Überweisung & verzögerte Zahlungsmethoden

Wenn du SEPA-Überweisung oder eine andere verzögerte Zahlungsmethode wählst, wird dein Upgrade nicht sofort aktiviert — die Überweisung dauert in der Regel 1–3 Werktage.

Was du siehst:

  • Nach der Weiterleitung zurück zu TT-Control erscheint ein gelbes Info-Banner oben im Dashboard:

    „Dein Upgrade auf [Tarif] wird aktiviert, sobald wir den Zahlungseingang feststellen. SEPA-Überweisungen dauern in der Regel 1–3 Werktage."

  • Im Tab Abonnement wird angezeigt: „Ausstehend: [Tarif] — Zahlung erwartet seit [Datum]"
  • Dein Account bleibt bis zur Bestätigung auf dem bisherigen Tarif (z. B. Free)

Was passiert danach:

  • Sobald die Überweisung eingeht, bestätigt Mollie die Zahlung und dein Tarif wird automatisch aktiviert — das Banner verschwindet bei der nächsten Seiten-Ladung.
  • Wenn die Zahlung nach 7 Tagen nicht eingegangen ist, wird der Upgrade-Auftrag storniert und dein Account bleibt auf dem alten Tarif. Du erhältst eine E-Mail-Benachrichtigung und kannst den Upgrade jederzeit erneut starten.

Hinweis: Das gelbe Banner ist kein Fehler — es zeigt nur, dass deine Zahlung noch aussteht. Du kannst TT-Control normal weiter nutzen.

Downgrade durchführen

Wenn du auf einen niedrigeren Tarif wechselst und im aktuellen Abrechnungszeitraum mehr Turniere gespielt hast, als der Zieltarif inkludiert, wird eine Nachzahlung fällig (5 € pro Überziehungsturnier, abzüglich bereits bezahlter Abo-Beiträge). Die genaue Berechnung wird dir vor der Bestätigung angezeigt.

Add-ons

Add-on Preis Berechtigt
+1 Zusatzturnier 5 € einmalig Free, Starter
Alle Formate freischalten 5 €/Monat Free

Add-ons sind unter Einstellungen → Abonnement buchbar.


2.33 Check-in & QR-Codes am Turniertag

Vor dem Turnierbeginn erhalten Spieler persönliche QR-Codes, mit denen sie sich ihr Portal-Konto anlegen. Der Admin behält über die Check-in-Seite den Überblick wer anwesend ist und wer noch Zugangsprobleme hat.

QR-Codes drucken (vor dem Turniertag)

  1. Öffne das Turnier → Klicke auf den Tab „Check-in" (direkt neben „Spieler").
  2. Klicke auf „Alle QR-Codes drucken".
  3. Ein druckoptimiertes Fenster öffnet sich: 4 QR-Codes pro DIN A4-Seite, sortiert nach Verein.
  4. Jeder Zettel zeigt: Name, Verein und optional Startnummer.
  5. Verteile die Zettel vorab an die Betreuer oder lege sie am Turniertag aus.

Einzelnen QR anzeigen: Klicke auf „QR anzeigen" neben einem Spielernamen — ein Modal öffnet sich mit einem großen QR-Code, den Spieler mit dem Smartphone abfotografieren können.

Spieler-Status auf der Check-in-Seite

Status-Badge Bedeutung
Grau — Nicht registriert Spieler hat seinen QR-Code noch nicht gescannt
Gelb — Ausstehend Spieler hat sich registriert, wartet auf Admin-Freigabe
Grün — Verifiziert Spieler hat ein aktives Portal-Konto

Anwesenheit markieren

  • Klicke auf den Toggle „Da" / „Nicht da" neben jedem Spieler.
  • Die Statistik oben zeigt laufend: „X von Y Spielern anwesend".
  • Die Anwesenheit ist turnierspezifisch — sie beeinflusst nicht andere Turniere.

Ausstehende Verifikationen freigeben

Wenn ein Spieler keinen TTR-Wert oder keine Lizenznummer hat, landet seine Registrierung im Status „Ausstehend". Du entscheidest dann, ob du ihn freigibst:

  1. Klicke auf „Freigeben" neben dem Spielernamen.
  2. Der Status wechselt sofort zu Grün.

QR-Code neu generieren

Wenn ein Zettel verloren gegangen ist oder ein Spieler versehentlich den QR eines anderen gescannt hat:

  1. Klicke auf „QR erneuern" neben dem Spielernamen.
  2. Bestätige den Dialog — der alte QR-Code wird sofort ungültig.
  3. Zeige dem Spieler den neuen QR im Modal.

2.34 Startnummern & Fast-Lane

Wenn du bei einem Turnier Startnummern vergeben möchtest, kannst du das Feature pro Turnier aktivieren. Damit entsteht ein effizienter Fast-Lane-Workflow am Turniertag.

Was ist der Fast-Lane-Gedanke?

Spieler, die sich online angemeldet haben, müssen am Turniertag nur noch kurz zur Fast Lane — kein QR-Scannen, kein Formular, nur Zettel abholen. Ein Helfer macht einen Klick.

Für den Admin / Veranstalter

  • Beim Erstellen eines Turniers: Toggle „Startnummern vergeben" aktivieren.
  • Startnummern werden automatisch sequenziell vergeben (1, 2, 3...) sobald Spieler hinzugefügt werden.
  • Einzelne Nummern können manuell überschrieben werden (z. B. Ehrennummer für besondere Spieler).
  • In der Check-in-Seite erscheint eine zusätzliche Spalte „Startnr. abgeholt" mit einem Toggle.
  • Button „Fast Lane" öffnet eine gefilterte Ansicht: nur Spieler deren Startnummer noch nicht abgeholt wurde — für den Helfer an der Ausgabe.
  • Statistik: „X von Y Startnummern abgeholt".

Für den Spieler

  • Nach der Online-Anmeldung ist die zugewiesene Startnummer im Player-Portal sichtbar.
  • Status: Gelb = noch nicht abgeholt / Grün = abgeholt.
  • Der Spieler weiß vorab: „Ich bin Nummer 7 — ich muss nur noch den Zettel holen."

Für den Betreuer

  • Der gedruckte QR-Bogen (aus 2.33) zeigt die Startnummer prominent über Name und Verein.
  • Der Betreuer verteilt Zettel vorab — Spieler wissen schon vor dem Turniertag ihre Nummer.

2.35 Race-Turnierserie

Race-Turniere sind Tagesveranstaltungen im Schweizer System — alle Spieler spielen mehrere Runden, ohne ausscheiden zu können. Das System unterstützt zwei Algorithmen:

System Bundesländer Besonderheit
TTVSH (Schleswig-Holstein) SH Badeni-Setzung R1, Sieggruppen R2–5
MKTT Cup NDS, BW, Hessen, Rheinland, Thüringen Hälftenbildung R1, Badeni R2–4, Swiss R5–6

Race anlegen

  1. Navigiere zu Races im Admin-Dashboard.
  2. Klicke auf Neues Race.
  3. Fülle die Grunddaten aus:
Feld Hinweis
Name Name des Turniers
Datum Turniertag
Ort Veranstaltungsort (optional)
Verband / System TTVSH oder MKTT Cup
Max. Teilnehmer Maximale Spielerzahl (z. B. 16)
Meldeschluss Stichtag für Online-Anmeldungen (optional)
Satzformat Anzahl Gewinnsätze (z. B. Best of 5)
TTR-Bereich Mindest- und Maximal-TTR (optional)
Startnummern Aktivierbar — dann mit Fast-Lane-Workflow
Tischzuordnung Pflicht Wenn aktiviert: kein Match kann ohne zugeordneten Tisch gestartet werden. Empfohlen wenn ein Venue-Tischpool genutzt wird. Standard: aus.
  1. Klicke auf Speichern — das Race erscheint mit Status Offen.

Öffentliche Anmeldeseite

Jedes Race hat eine öffentliche Anmeldeseite unter /races/[ID]. Spieler können sich dort ohne Login anmelden:

  1. Vorname, Nachname, Verein eingeben.
  2. LivePZ / Q-TTR als Setzwert eintragen.
  3. Turnierlizenz-Checkbox bestätigen.
  4. Datenschutz-Checkbox bestätigen.
  5. Auf Anmelden klicken.

Wenn die Maximalteilnehmerzahl erreicht ist, landen Spieler automatisch auf der Warteliste.

Hinweis: Admins können Spieler auch direkt über das Admin-Interface eintragen — ohne Consent-Checkbox.

Runden spielen

  1. Wechsle zum Tab Runden im Race-Detail.
  2. Klicke auf Runde generieren — das System berechnet automatisch die Paarungen nach dem gewählten Algorithmus.
  3. Die Paarungen erscheinen als Tabelle. Tragt die Ergebnisse ein (Sätze Heim : Gast).
  4. Nach Eintragung aller Ergebnisse: Runde abschließen.
  5. Das System berechnet die Rangliste und bereitet die nächste Runde vor.

Freilos: Bei ungerader Spielerzahl vergeben beide Systeme automatisch ein Freilos an den am niedrigsten platzierten Spieler ohne bisheriges Freilos.

Rangliste (Standings)

Der Tab Standings zeigt nach jeder Runde die aktuelle Rangliste:

Spalte Bedeutung
Siege Gewonnene Matches
Buchholz Summe der Siege aller Gegner
Feinbuchholz (MKTT) Summe des Buchholz aller Gegner
Satzdiff. Differenz gewonnener/verlorener Sätze

Die Rangliste wird automatisch nach jedem Rundenabschluss neu berechnet.

Öffentliche Standings-Seite

Unter /races/[ID]/standings können Zuschauer die aktuelle Rangliste einsehen — ohne Login.

Spieler importieren

Statt Spieler einzeln einzutragen, kannst du sie aus einer Datei importieren. Öffne dazu im Race-Detail den Tab Teilnehmer und klicke auf Spieler importieren. Es öffnet sich ein Dialog mit drei Tabs:

CSV-Tab (MKTT):

  1. Exportiere die Spielerliste aus deiner Vereinsverwaltung als spieler_import.csv.
  2. Lade die Datei hoch — eine Vorschau zeigt alle erkannten Spieler.
  3. Klicke auf X Spieler importieren.

Das Format: Nachname;Vorname;Verein;Disziplin;Geburtsjahr;TTR;Geschlecht (Semikolon-getrennt).

XML-Tab (click-TT / MKTT):

  1. Exportiere die Teilnehmerliste aus click-TT als TournamentPortal-XML.
  2. Lade die XML-Datei hoch.
  3. Wenn die Datei mehrere Konkurrenzen enthält, wähle die gewünschte aus.
  4. Prüfe die Vorschau und klicke auf X Spieler importieren.

TTLive-Tab (TTVSH):

  1. Gib den Vereinsnamen ein — das System sucht in der TTVSH-Vereinsdatenbank.
  2. Wähle deinen Verein aus der Trefferliste.
  3. Die aktuelle Vereinsspielerliste wird direkt von TTLive abgerufen.
  4. Klicke auf X Spieler importieren.

Datenschutz-Hinweis: Die TTLive-Daten werden live abgerufen und nicht dauerhaft gespeichert — nur der Setzwert (LivePZ) fließt in den Spieler-Datensatz ein.

Ergebnisse exportieren

Nach Abschluss des Races kannst du die Ergebnisse exportieren. Öffne den Tab Export:

Format Verwendung
TournamentPortal-XML Upload an click-TT (MKTT) für TTR-Aktualisierung
.ttlive Import in TTLive (TTVSH) für LivePZ-Aktualisierung

Tisch-Zuweisung für Race-Matches

Wenn du einen gemeinsamen Venue-Tischpool nutzt, kannst du Race-Matches direkt einem Tisch zuweisen:

  1. Wechsle im Race-Detail zum Tab Runden.
  2. Klicke bei einem Match auf das Tisch-Dropdown — es erscheint eine Liste freier Tische.
  3. Wähle einen Tisch aus (grün = frei, rot = bereits belegt).
  4. Das Match ist jetzt diesem Tisch zugeordnet. Tablet-Nutzer können über die Tisch-URL direkt zu diesem Match navigieren.

Hinweis: Ein Tisch kann nur von einem Match gleichzeitig belegt werden — egal ob Turnier, KRL oder Race. Bereits belegte Tische erscheinen rot und können nicht ausgewählt werden.

Race löschen

Du kannst ein Race endgültig aus dem System entfernen:

  1. Navigiere zu Races im Admin-Dashboard.
  2. Klicke auf das Papierkorb-Symbol (oben rechts auf der Race-Karte).
  3. Ein Bestätigungsdialog erscheint — lese die Warnung und klicke auf Endgültig löschen.

Warnung: Das Löschen entfernt das Race zusammen mit allen Runden, Matches und Anmeldungen unwiderruflich. Diese Aktion kann nicht rückgängig gemacht werden.

Hinweis: Ist das Race Teil einer Rennen-Serie, werden die zugehörigen Serienpunkte ebenfalls entfernt.


2.36 Kreisrangliste

Die Kreisrangliste ist eine regelmäßige Verbands-Veranstaltung — kein Einzelturnier, sondern eine Serie von Turniertagen. TT-Control unterstützt zwei Typen:

Typ Altersklasse TTR-relevant Besonderheit
D/H (Damen & Herren) Erwachsene Ja 1 Qualifikation + 3 Kreiswertungsranglisten (KWR), Auf-/Abstieg nach jeder Runde
Senioren (KRTL) ab 40 Jahre Nein 2–3 Turniere, Gruppeneinteilung nach LivePZ-Stichtag

Kreisrangliste anlegen

  1. Navigiere zu Kreisranglisten im Admin-Dashboard (/admin/kreisranglisten).
  2. Klicke auf Neue Kreisrangliste.
  3. Fülle das Formular aus:
Feld Hinweis
Name Bezeichnung der Rangliste, z. B. „Kreisrangliste D/H 2026/27"
Datum Datum des ersten Turniertags
Typ Damen & Herren oder Senioren (KRTL)
Satzformat Bo5 (3 Gewinnsätze) oder Bo7 (4 Gewinnsätze)
LivePZ-Stichtag Nur bei Senioren: Datum für die LivePZ-Einteilung
Wettspielordnung Wird automatisch aus dem Typ vorbelegt — kann angepasst werden
Tischzuordnung Pflicht Wenn aktiviert: kein Match kann gestartet werden ohne zugeordneten Tisch. Empfohlen wenn ein Venue-Tischpool genutzt wird. Standard: aus.
  1. Klicke auf Speichern — die Rangliste erscheint mit Status Vorbereitung.

Teilnehmer importieren

Per CSV-Datei:

  1. Öffne die Kreisrangliste und wechsle zum Tab Teilnehmer.
  2. Klicke auf Spieler importieren → Tab CSV.
  3. Lade eine CSV-Datei hoch (Format: Nachname; Vorname; Verein; TTR-Wert).
  4. Klicke auf Vorschau — eine Tabelle zeigt die erkannten Spieler.
  5. Klicke auf Importieren um alle Spieler zu übernehmen.

Manuell:

  1. Klicke auf Spieler hinzufügen.
  2. Fülle Nachname, Vorname, Verein und TTR-Wert ein.
  3. Klicke auf Speichern — der Spieler erscheint sofort in der Liste.

Check-in am Turniertag

  1. Öffne die Kreisrangliste und wechsle zum Tab Check-in.
  2. Einzeln: Klicke für jeden anwesenden Spieler auf Anwesend — der Tab bleibt geöffnet.
  3. Alle auf einmal (Bulk): Aktiviere die Checkboxen links neben den Spielernamen, wähle alle gewünschten Spieler aus und klicke auf X Spieler einchecken in der Aktionsleiste unten.
  4. Der Live-Zähler oben zeigt die aktuelle Anwesenheitsquote.

Hinweis: Unentschuldigte Fehlende werden beim Auf-/Abstieg automatisch als erste Absteiger gewertet.

Gruppeneinteilung

  1. Wechsle zum Tab Gruppen.
  2. Klicke auf Gruppen generieren — das System teilt anwesende Spieler nach TTR (D/H) bzw. LivePZ (Senioren) in Gruppen ein.
  3. Du kannst Spieler per Drag & Drop zwischen Gruppen verschieben um die automatische Einteilung anzupassen.
  4. Klicke auf Gruppen freigeben — ab jetzt sind die Gruppen festgelegt und der Spielbetrieb kann starten.

Spielbetrieb — Ergebnisse eintragen

  1. Wechsle zum Tab Spielbetrieb.

  2. Klicke bei einem Spiel auf Ergebnis eintragen.

  3. Wähle die Eingabemethode:

    Kurzeingabe (Standard): Gib die gesamte Spielfolge in einem Feld ein — z. B. +7 -9 +5 +11 für 3:1. Das + steht für einen Gewinn-Satz, - für einen Verlust-Satz, die Zahl ist die Gegner-Bälle. Eine Live-Vorschau zeigt den Spielstand während der Eingabe.

    Satz für Satz: Wechsle auf den zweiten Tab um jeden Satz einzeln mit numerischen Feldern einzutragen. Werte aus der Kurzeingabe werden automatisch übernommen.

  4. Klicke auf Speichern — die Tabelle aktualisiert sich sofort.

Die Tabelle zeigt die Rangfolge nach dem jeweils geltenden System:

  • D/H: Siege → Satzdifferenz → Balldifferenz → Direktvergleich
  • Senioren: Plus-Punkte → Siege/Niederlagen → Satzdifferenz → Balldifferenz → Direktvergleich

Druckbericht

Am Ende des Turniertags:

  1. Wechsle zum Tab Bericht.
  2. Klicke auf Bericht drucken — der Browser öffnet eine druckoptimierte Ansicht mit Kreuztabellen, Platzierungen und Auf-/Abstieg.

Ergebnisexport

Wechsle zum Tab Export um Ergebnisse zu exportieren:

Format Verwendung
TournamentPortal-XML Upload an liga.nu / TournamentPortal des Verbands
.ttlive Import in die TTLive-App für TTR-/LivePZ-Aktualisierung
WYSIWYG-CSV Eigene Tabelle — Spalten auswählen, Reihenfolge per Drag & Drop, Trennzeichen wählen

Für den CSV-Konfigurator: Wähle die gewünschten Spalten, ziehe sie in die richtige Reihenfolge und klicke auf CSV herunterladen. Konfigurationen können unter einem Namen gespeichert und wiederverwendet werden.

Zuschauer-Ansicht

  1. Im Spielbetrieb-Tab: Klicke auf Zuschauer-Ansicht — ein neues Browserfenster öffnet sich.
  2. Die Seite ist öffentlich und erfordert keinen Login — du kannst den Link oder einen QR-Code für Zuschauer bereitstellen.
  3. Die Ansicht aktualisiert sich alle 15 Sekunden automatisch.

Spieler-PIN-Bestätigung

Beim Anlegen einer Kreisrangliste kannst du die Spieler-PIN-Bestätigung aktivieren. Wenn eingeschaltet, müssen Spieler nach dem Spiel ihr Ergebnis mit ihrem PIN am Tablet bestätigen.

Hinweis: Die Kreisranglisten-Funktion steht ab dem Club-Tarif zur Verfügung.

Rote Karte rückgängig machen

Wenn im Spielbetrieb-Tab eine rote Karte vergeben wird, erscheint ein gelbes Warn-Banner mit einem 2-Minuten-Countdown. Innerhalb dieser Frist kannst du auf Rückgängig klicken um die Streichung aufzuheben — das Match wird wieder auf "Offen" gesetzt. Nach Ablauf der Frist ist die Streichung fixiert.

Ergebnis-Eingabe am Tablet (Tisch-Betrieb)

Jedes Spiel kann direkt am Tisch auf einem Tablet erfasst werden — ohne Login:

  1. Klicke im Spielbetrieb-Tab bei einem Spiel auf das 📱-Symbol — die Tablet-Seite öffnet sich in einem neuen Tab.

  2. Gib auf dem Tablet die Satzergebnisse Satz für Satz ein.

    Kurzschreibweise: +7 → 11:7, -6 → 6:11, +14 → 16:14 (Deuce). Eingabe im ersten Feld genügt.

  3. Klicke auf Ergebnis speichern — das Match wird direkt gespeichert und die Spielbetrieb-Ansicht aktualisiert sich.

Die Tablet-Seite erfordert keine Anmeldung und funktioniert auf jedem Smartphone oder Tablet mit Browser.

Tisch-Zuweisung für KRL-Matches

Wenn du einen gemeinsamen Venue-Tischpool nutzt, kannst du jedem KRL-Match einen konkreten Tisch zuweisen:

  1. Im Spielbetrieb-Tab, klicke bei einem Match auf das Tisch-Symbol.
  2. Wähle einen freien Tisch aus dem Pool aus.
  3. Das Match ist jetzt diesem Tisch zugeordnet — der 📱-Link führt Tablet-Nutzer direkt zu diesem Match.

TTR-Projektion in KRL-Spielen

Für D/H-Ranglisten (nicht Senioren) zeigt die Spielansicht eine ΔTTR-Vorschau bevor das Ergebnis eingetragen ist.

  • Fahre mit der Maus über das ΔTTR-Symbol neben einem Match → ein Tooltip zeigt die erwartete TTR-Veränderung für beide Spieler, abhängig davon wer gewinnt.
  • Der Wert basiert auf der aktuellen TTR-Differenz der Spieler und dem DTTB-Berechnungsverfahren.
  • In der Tagesbilanz (sichtbar für eingeloggte Spieler in ihrer Spieler-Ansicht) erscheinen alle KRL-Spiele des Tages mit dem kumulierten ΔTTR.

Hinweis: Die Projektion ist eine Vorschau — der tatsächliche TTR-Wert wird erst nach offizieller Meldung an click-TT berechnet. Senioren-Ranglisten zeigen keine TTR-Projektion, da Senioren-KRLs nicht TTR-relevant sind.

Tisches-Tab in der KRL-Detailseite

Der Tab „Tische" erscheint in der KRL-Detailseite sobald die Kreisrangliste einen Ort und ein Datum hat.

Wenn noch kein Tischpool existiert:

Der Tab zeigt ein einfaches Formular:

  1. Trage die gewünschte Anzahl Tische ein.
  2. Klicke auf Pool anlegen.
  3. Der Pool wird automatisch für diesen Ort und dieses Datum erstellt — das Pool-Dashboard erscheint sofort.

Hinweis: Wenn "Tischzuordnung Pflicht" aktiv ist und noch kein Pool angelegt wurde, erscheint ein oranger Hinweis im Tab.

Wenn ein Tischpool vorhanden ist:

Der Tab zeigt das vollständige Pool-Dashboard:

  • Alle Tische des Pools mit ihrem aktuellen Status (frei / belegt / laufend)
  • Laufende KRL-Matches werden orange hervorgehoben
  • Belegte Tische erscheinen rot, freie Tische grün

Ein vorhandener Pool wird automatisch erkannt wenn Ort und Datum übereinstimmen — keine manuelle Verknüpfung nötig.

Tischbelegung im Spielbetrieb-Tab

Die Tischbelegung-Sektion im Spielbetrieb-Tab zeigt — wenn ein Pool vorhanden ist — den echten Status der Pool-Tische:

  • Grün: Tisch frei
  • Rot: Tisch belegt (Match zugewiesen)
  • Orange: Match läuft gerade

Jeder Tisch ist klickbar und öffnet die Tablet-Ansicht für diesen Tisch direkt in einem neuen Tab.

Kreisrangliste löschen

Du kannst eine Kreisrangliste endgültig aus dem System entfernen:

  1. Navigiere zu Kreisranglisten im Admin-Dashboard.
  2. Klicke auf das Papierkorb-Symbol (oben rechts auf der Ranglisten-Karte).
  3. Ein Bestätigungsdialog erscheint — lese die Warnung und klicke auf Endgültig löschen.

Warnung: Das Löschen entfernt die Rangliste zusammen mit allen Matches, Gruppen und Teilnehmern unwiderruflich. Diese Aktion kann nicht rückgängig gemacht werden.


2.37 Race-Seriewertung

Race-Turniere einer Saison können zu einer Turnierserie zusammengefasst werden. Die Serie vergibt nach jedem Race Punkte, führt eine Saisonrangliste und qualifiziert die besten Spieler für ein Finale.

Serie anlegen

  1. Navigiere zu Race-Serien im Admin-Dashboard (/admin/races/series).
  2. Klicke auf Neue Serie erstellen.
  3. Fülle das Formular aus:
Feld Hinweis
Name Bezeichnung der Serie, z. B. „TTVSH Race-Serie 2026/27"
Saison Jahr der Saison (z. B. 2026)
Verband / System TTVSH oder MKTT Cup
Qualifikationsschwelle Wie viele Spieler qualifizieren sich fürs Finale (Standard: 16)
Teilnahme-Bonus Zusatzpunkte für reine Teilnahme (Standard: 1)
  1. Klicke auf Erstellen.

Race zur Serie hinzufügen

  1. Öffne die Serie und wechsle zum Tab Turniere.
  2. Wähle ein Race aus der Dropdown-Liste aus.
  3. Optional: Aktiviere den Schalter Ist Finalrace — das Race zählt dann mit doppelten Punkten (TTVSH-Regel).
  4. Klicke auf Hinzufügen.

Punkteschema anpassen

Unter dem Tab Übersicht findest du das Punkteschema. Du kannst für jeden Platz eigene Punkte festlegen — zum Beispiel:

Platz Standard-Punkte
1. 13
2. 10
3. 8
... ...

Klicke auf Speichern um das Schema zu übernehmen.

Punkte berechnen

Nach jedem abgeschlossenen Race:

  1. Öffne die Serie und wechsle zum Tab Saisonrangliste.
  2. Klicke auf Neu berechnen — das System liest die Platzierungen aus allen zugeordneten Races und berechnet die Serienpunkte.
  3. Die Rangliste aktualisiert sich sofort.

Saisonrangliste (öffentlich)

Die Saisonrangliste ist öffentlich einsehbar — ohne Login — unter /races/series/[ID]/standings. Spieler mit Rang ≤ Qualifikationsschwelle erhalten einen grünen Qualifiziert-Badge.

Du kannst die Rangliste auch als CSV herunterladen: Klicke auf den CSV-Button oben rechts in der Rangliste.

Historien-Import

Falls ein vergangenes Race noch nicht in TT-Control erfasst war, kannst du die Ergebnisse nachträglich einrechnen:

  1. Im Tab Saisonrangliste: Scrolle zum Bereich Historien-Import.
  2. Gib ein Turnier-Label ein (z. B. „KWR1-2025") damit der Import später identifizierbar ist.
  3. Wähle eine Ergebnisdatei:
    • .ttlive — TTVSH-Format, Platzierungen werden aus Sieg/Niederlage-Zählung rekonstruiert
    • TournamentPortal-XML — MKTT-Format, Platzierungen direkt aus der XML
  4. Prüfe die Vorschau der berechneten Punkte.
  5. Klicke auf X Spieler importieren — die historischen Einträge fließen in die Saisonrangliste ein.

Hinweis: Historisch importierte Einträge werden getrennt von Live-Turnierdaten markiert und können jederzeit unterschieden werden.


2.38 Öffentliche Vereinsseite & Online-Voranmeldung

Jeder Verein hat eine eigene öffentliche Seite unter tt-control.de/verein/[vereins-url]. Diese Seite ist ohne Login zugänglich und zeigt alle Turniere, die für die Öffentlichkeit freigegeben wurden.

Vereins-URL einstellen

  1. Navigiere zu Einstellungen → Tab Vereinsseite.
  2. Trage unter Vereins-URL eine kurze, eindeutige Adresse ein (z. B. tus-esingen).
  3. Klicke auf Speichern. Deine Vereinsseite ist danach unter tt-control.de/verein/tus-esingen erreichbar.

Hinweis: Die URL darf nur Kleinbuchstaben, Ziffern und Bindestriche enthalten. Sie kann später geändert werden — alte Links funktionieren danach nicht mehr.

Turnier auf der Vereinsseite anzeigen

Beim Anlegen eines Turniers (oder nachträglich unter Turnier → Einstellungen) kannst du das Turnier öffentlich sichtbar machen:

  • Aktiviere Auf Vereinsseite anzeigen → das Turnier erscheint sofort auf der öffentlichen Seite.
  • Stelle bei Bedarf einen Meldeschluss ein — nach diesem Datum können sich Spieler nicht mehr anmelden.
  • Aktiviere Anmeldungen automatisch bestätigen wenn du die Anmeldungen ohne manuelle Prüfung bestätigen möchtest.

Online-Voranmeldung für Spieler

Wenn ein Turnier auf der Vereinsseite sichtbar ist und der Meldeschluss noch nicht abgelaufen ist, erscheint auf der Turnierseite eine Jetzt anmelden-Schaltfläche.

Spieler füllen das Anmeldeformular aus:

Feld Beschreibung
Vorname / Nachname Pflichtfelder
Verein Name des Vereins
Geburtsjahr Pflichtfeld
TTR-Wert Optional (oder Pflicht wenn Turnier TTR-relevant ist)
Lizenznummer Optional (Pflicht wenn Turnier TTR-relevant ist)
DSGVO-Zustimmung Pflichtfeld — Zustimmung zur Datenschutzerklärung

Nach dem Absenden:

  • Bei automatischer Bestätigung: Spieler erhält sofort eine Bestätigungs-E-Mail mit QR-Code für den Check-in am Turniertag.
  • Bei manueller Prüfung: Spieler erhält eine E-Mail mit dem Hinweis, dass seine Anmeldung eingegangen ist und geprüft wird.

2.39 Online-Anmeldungen verwalten

Wenn Spieler sich über die öffentliche Vereinsseite für ein Turnier angemeldet haben, findest du ihre Anmeldungen unter Turniere → gewünschtes Turnier → Tab Anmeldungen.

Anmeldung bestätigen

  1. Klicke auf Bestätigen neben der Anmeldung.
  2. Der Spieler erhält automatisch eine Bestätigungs-E-Mail mit QR-Code.
  3. Der Spieler wird in die Spielerliste des Turniers eingetragen und kann in die Auslosung aufgenommen werden.

Anmeldung ablehnen

  1. Klicke auf Ablehnen neben der Anmeldung.
  2. Es öffnet sich ein Dialog — gib optional eine Begründung ein (wird dem Spieler per E-Mail mitgeteilt).
  3. Klicke auf Bestätigen. Der Spieler wird aus der Bewerberliste entfernt.

Statusübersicht

Status Bedeutung
Ausstehend Anmeldung eingegangen, noch nicht bearbeitet
Bestätigt Anmeldung angenommen, Spieler in Turnierliste eingetragen
Abgelehnt Anmeldung abgelehnt, Spieler informiert

Hinweis: Anmeldungen die direkt vom Admin über die Spielerverwaltung eingetragen werden, erscheinen nicht im Anmeldungen-Tab — nur Online-Anmeldungen über die Vereinsseite.


3. Spieler-Anleitung

3.1 Registrierung

Weg A — QR-Code scannen (empfohlen am Turniertag)

Wenn dein Verein QR-Code-Zettel ausdruckt oder der Admin deinen QR am Bildschirm zeigt:

  1. Scanne den QR-Code mit deinem Smartphone.
  2. Die Seite zeigt: „Du registrierst dich als: [Dein Name] ([Verein])" — prüfe, dass dein Name stimmt.
  3. Fülle das Formular aus:
Feld Hinweis
E-Mail Deine persönliche E-Mail-Adresse
Passwort Mindestens 8 Zeichen
Geburtsjahr Zur Sicherheitsprüfung — muss mit deinem hinterlegten Jahrgang übereinstimmen
Lizenznummer (optional) Falls vorhanden, wirst du sofort auto-verifiziert
  1. Klicke auf Registrieren.
  2. Bei korrektem Geburtsjahr + Lizenznummer: Du bist sofort aktiv. Bei korrektem Geburtsjahr ohne Lizenznummer: Konto ist angelegt, wartet auf Admin-Freigabe.

Wichtig: Dein Geburtsjahr muss mit dem im System hinterlegten Jahrgang übereinstimmen. Stimmt es nicht, wird kein Konto angelegt — wende dich an den Admin.

Weg B — Manuell registrieren (ohne QR-Code)

Wenn du noch kein Konto hast und keinen QR-Code erhalten hast:

  1. Öffne /player/register.
  2. Fülle das Formular aus:
Feld Hinweis
Vorname / Nachname Wie auf der Meldeliste angegeben
Verein Optional
E-Mail Für Anmeldung und Passwort-Wiederherstellung
Passwort Mindestens 8 Zeichen
PIN (4-stellig) Für die Spielbestätigung — gut merken!
  1. Klicke auf Registrieren.
  2. Du erhältst eine Bestätigungs-E-Mail — klicke auf den Link darin.

Hinweis: Ohne QR-Code muss der Admin dein Konto manuell mit deinem Spieler-Datensatz verknüpfen. Informiere den Turnierleiter über deine E-Mail-Adresse.


3.2 Anmeldung & Passwort vergessen

Anmeldung:

  1. Öffne /player/login.
  2. Gib deine E-Mail-Adresse und dein Passwort ein.
  3. Klicke auf Anmelden — du wirst zum Dashboard weitergeleitet.

Passwort vergessen:

  1. Klicke auf der Login-Seite auf Passwort vergessen.
  2. Gib deine E-Mail-Adresse ein.
  3. Du erhältst eine E-Mail mit einem Reset-Link (gültig für 1 Stunde).
  4. Klicke auf den Link und gib ein neues Passwort ein (mindestens 8 Zeichen, zweimal bestätigen).

3.3 Mein Dashboard

Das Dashboard unter /player/dashboard ist deine zentrale Anlaufstelle während des Turniers.

Was du siehst:

  • Meine Partien: Alle deine Spiele im aktuellen Turnier, sortiert nach Status
  • Aufgerufen-Meldung: Wenn dein Spiel aufgerufen wurde, erscheint ein gelber Banner: „Dein Spiel wurde aufgerufen! → Tisch X". Bei Überschreitung von 10 Minuten wird der Banner rot.
  • Gegnerstatus: Siehst du, ob dein nächster Gegner gerade spielt und wie sein aktuelles Ergebnis ist.
  • W/L-Bilanz: Siege und Niederlagen deiner Gegner im laufenden Turnier.
  • Turnierbeschränkungen: Falls das Turnier TTR- oder Jahrgangs-Einschränkungen hat, werden diese als Badges neben dem Turniernamen angezeigt (z. B. „TTR: 1100–1300", „Jg.: 2005–2010").

Tabs:

Tab Inhalt
Partien Deine eigenen Spiele mit Status, Tisch und Gegner
Bracket Gesamter Turnierplan — dein Name ist hervorgehoben
Gegner Detaillierte Live-Übersicht aller deiner Gegner

Das Dashboard aktualisiert sich automatisch alle 10 Sekunden.


3.4 Spielergebnis bestätigen (PIN)

Nach einer Partie erscheint im Dashboard eine Bestätigungskarte mit dem Ergebnis.

Bestätigung im Portal:

  1. Die Karte zeigt: Ergebnis, Gegner, Rundenbezeichnung und dein Ergebnis (Sieg/Niederlage).
  2. Klicke auf Ergebnis bestätigen.
  3. Gib deine 4-stellige PIN über das Nummernfeld ein.
  4. Klicke auf Bestätigen (oder warte, bis das 4. Zeichen eingegeben ist).
  5. Bei korrekter PIN erscheint: „Warte auf Bestätigung des Gegners".
  6. Sobald auch der Gegner bestätigt hat, wechselt der Status auf „Bestätigt".

Automatische Bestätigung:

Wenn du innerhalb von 5 Minuten nach Spielende nicht bestätigst und keinen Einspruch einreichst, wird das Ergebnis automatisch auf deinen Namen bestätigt. Das System zeigt dir dann: „Automatisch bestätigt (kein Einspruch innerhalb von 5 Minuten)".

PIN-Fehler:

  • Nach 3 Fehlversuchen wird die Eingabe gesperrt.
  • Du musst dann den Turnierleiter kontaktieren, der deine PIN zurücksetzen kann.

Bestätigung am Tablet:

Wenn du kein Portal-Konto hast oder bevorzugst direkt am Tisch zu bestätigen:

  1. Nach Spielende am Tablet erscheint automatisch das Bestätigungsfeld.
  2. Spieler 1 gibt seine PIN ein → Spieler 2 gibt seine PIN ein.
  3. Nach beiden Bestätigungen erscheint „Ergebnis bestätigt".

3.5 Einspruch erheben

Wenn das eingetragene Ergebnis nicht stimmt:

  1. Klicke auf der Bestätigungskarte auf Einspruch erheben.
  2. Ein Dialog öffnet sich — du kannst optional einen Kommentar eingeben (max. 500 Zeichen), z. B. „Ergebnis war 3:1, nicht 3:2".
  3. Klicke auf Einspruch absenden.

Was danach passiert:

  • Das Spiel erhält den Status „Einspruch".
  • Der Turnierleiter wird benachrichtigt und bearbeitet den Einspruch im Admin-Dashboard.
  • Du siehst in deinem Dashboard: „Einspruch eingereicht. Der Turnierleiter wurde benachrichtigt."
  • Nach der Entscheidung des Turnierleiters wird das Ergebnis entsprechend angepasst.

3.6 Profil & PIN verwalten

Unter /player/settings kannst du dein Konto verwalten:

Profil bearbeiten:

  • Vorname, Nachname und Verein können geändert werden.
  • E-Mail-Adresse ist nicht editierbar.

TTR-Wert & weitere Daten (nur Anzeige):

Im Profil werden zusätzlich folgende Felder angezeigt, die nur vom Admin gepflegt werden können:

Feld Beschreibung
TTR-Wert Deine aktuelle Ranglistenwertung mit farbiger Level-Einordnung (Anfänger / Vereinsspieler / Leistungsspieler / Spitzenspieler)
Jahrgang Dein Geburtsjahr
Lizenznummer Deine Verbands-Lizenznummer
Verband Dein Tischtennisverband

Hinweis: Diese Felder sind im Spieler-Portal nicht editierbar. Wende dich an den Turnierleiter, wenn ein Wert korrigiert werden muss.

Der TTR-Wert wird zusätzlich als Badge neben deinem Spielernamen im Dashboard angezeigt, sodass du und andere Spieler die Spielstärke auf einen Blick sehen können.

Passwort ändern:

  1. Gib dein aktuelles Passwort ein.
  2. Gib das neue Passwort ein (mindestens 8 Zeichen).
  3. Bestätige das neue Passwort.
  4. Klicke auf Passwort ändern.

PIN ändern:

  1. Gib zur Sicherheit dein Passwort ein (nicht die alte PIN).
  2. Gib die neue 4-stellige PIN ein.
  3. Bestätige die neue PIN.
  4. Klicke auf PIN ändern.

Hinweis: Die neue PIN gilt sofort für alle zukünftigen Spielbestätigungen.


3.7 Betreuer verknüpfen

Die Betreuer-Suche findest du direkt auf deinem Dashboard (/player/dashboard), unterhalb der Turnier-Tabs.

Per Name suchen (Standard):

  1. Gib mindestens 2 Buchstaben des Vor- oder Nachnamens ein.
  2. Klicke auf Suchen oder drücke Enter.
  3. Alle passenden Betreuer werden angezeigt — klicke auf Anfrage senden.

Per Coach-ID suchen:

  1. Wechsle auf den Tab Per Coach-ID.
  2. Gib die 6-stellige Betreuer-ID ein (bekommst du vom Betreuer) und klicke auf Anfrage senden.

Vereinsbetreuer (gleicher Verein) werden automatisch aufgelistet — klicke auf Verknüpfen, kein Code nötig.

Der Betreuer muss die Anfrage in seinem Dashboard bestätigen. Status zeigt: „Anfrage ausstehend" → „Aktiver Betreuer: [Name]".

Eine bestehende Verknüpfung kann jederzeit auf dem Dashboard aufgehoben werden.


4. Betreuer-Anleitung

4.1 Registrierung als Betreuer

  1. Öffne /player/register.
  2. Aktiviere die Checkbox „Ich bin Betreuer, kein aktiver Turnierspieler".
  3. Fülle das Formular aus (Vorname, Nachname, Verein, E-Mail, Passwort).
  4. Klicke auf Registrieren und bestätige deine E-Mail-Adresse.

Nach der Registrierung erhältst du eine eindeutige 6-stellige Betreuer-ID (z. B. A3X7KP), die du an deine Spieler weitergeben kannst.

Als Betreuer erscheinst du nicht in Turnier-Teilnehmerlisten. Du hast keinen Spieler-Datensatz und kannst daher nicht in Turnieren angemeldet werden.


4.2 Betreuer-Dashboard

Das Dashboard unter /betreuer/dashboard zeigt dir eine Echtzeit-Übersicht aller betreuten Spieler.

Was du siehst:

  • Spieler-Liste: Alle dir zugewiesenen Spieler mit ihrer nächsten Partie (Gegner, Tisch, Runde)
  • Live-Spielstand: Für laufende Spiele wird der aktuelle Punktestand aus Spieler-Perspektive angezeigt (orange, gut erkennbar), z. B. „7 : 5". Darunter erscheinen die Satzergebnisse der bisherigen Sätze, z. B. „11:8 · 9:11 · 11:7".
  • Tischnummer: Die Tischnummer des laufenden Spiels wird direkt in der Spieler-Karte angezeigt.
  • Aufgerufen-Alarm: Wenn ein Spieler aufgerufen wird und noch nicht spielt, erscheint ein Hinweis: „⚠ [Spielername] wurde aufgerufen → Tisch X". Du kannst den Alarm manuell schließen oder er erlischt, wenn das Spiel beginnt.
  • Ausstehende Anfragen: Spieler, die dich als Betreuer angefragt haben, erscheinen im Bereich Anfragen.

Das Dashboard aktualisiert sich automatisch alle 10 Sekunden.


4.3 Spieler-Anfragen annehmen

  1. Im Tab Anfragen erscheinen alle offenen Anfragen mit Name und Verein des Spielers.
  2. Klicke auf Annehmen, um den Spieler deiner Betreuungsliste hinzuzufügen.
  3. Klicke auf Ablehnen, um die Anfrage abzuweisen.
  4. Mit dem Sperren-Symbol kannst du einen Spieler für zukünftige Anfragen sperren.

4.4 Spieler betreuen & Bracket verfolgen

Bracket-Ansicht:

  • Klicke auf den Tab Bracket im Betreuer-Dashboard.
  • Das vollständige Turnier-Bracket wird angezeigt.
  • Deine betreuten Spieler sind orange hervorgehoben (oranger Ring und Schatten am Spieler-Feld).

Bracket-Popup:

  • Klicke auf ein beliebiges Spiel im Bracket — ein Overlay öffnet sich mit:
    • Spielernamen und aktuelles Spielergebnis
    • Satzergebnisse der bereits gespielten Sätze
    • Status-Badge (z. B. „Läuft", „Beendet", „Bestätigt")
  • Das Overlay schließt sich mit dem X-Button oder einem Klick außerhalb.

Spieler entfernen:

  • Klicke neben einem Spieler auf das Entfernen-Symbol, um die Betreuung zu beenden.

5. Tablet-Bedienung (Spieleingabe am Tisch)

Das Tablet am Tisch benötigt keine Anmeldung — einfach die URL des entsprechenden Tisches im Browser öffnen.

5.0 Modus-Auswahl

Beim ersten Öffnen eines Tablets erscheint ein Auswahlscreen:

Modus Beschreibung
Schiedsrichteransicht Punkt-für-Punkt-Eingabe mit Timer, Karten, Timeout — wenn ein Schiedsrichter oder Operator am Tisch ist
Spieleransicht Satzweiser Eintragage am Ende jedes Satzes — wenn Spieler selbst das Ergebnis eingeben

Die Wahl wird für diesen Tisch gespeichert. Beim nächsten Öffnen startet das Tablet direkt im gewählten Modus. Über den Modus wechseln-Button oben rechts kann die Auswahl jederzeit zurückgesetzt werden.

Spieleransicht — Satzeingabe mit +N/-N Notation

In der Spieleransicht wird nach jedem Satz das Ergebnis mit einer kurzen Notation eingegeben:

Eingabe Bedeutung Ergebnis
+7 Spieler A gewinnt, Verlierer hat 7 Punkte 11:7
-9 Spieler A verliert, Spieler A hat 9 Punkte 9:11
+10 Spieler A gewinnt im Deuce 12:10
+14 Spieler A gewinnt im langen Deuce 16:14

Das Ergebnis wird nach der Eingabe kurz angezeigt und dann automatisch der nächste Satz aufgerufen. Das Match endet automatisch wenn die Gewinnsatz-Anzahl erreicht ist (Best-of-3: 2 Sätze, Best-of-5: 3 Sätze, Best-of-7: 4 Sätze).

Hinweis: In der Spieleransicht gibt es keine Punkt-für-Punkt-Eingabe, keine Karten und keinen Timer. Für den vollen Schiedsrichter-Funktionsumfang die Schiedsrichteransicht wählen.


Zeitslots & Überfälligkeitsanzeige:

Jedes Spiel zeigt den geplanten Beginn als Uhrzeit an (z. B. „14:30 Uhr"). Die Zeitslots werden automatisch vom System berechnet, basierend auf der Turnier-Startzeit, dem Spielformat und der Tischanzahl.

  • Pünktlich: Die Uhrzeit wird normal angezeigt.
  • Überfällig: Wenn die geplante Startzeit überschritten ist und das Spiel noch nicht begonnen hat, blinkt die Anzeige rosa — sowohl auf dem Tablet als auch im Admin-Dashboard. Dies hilft dem Turnierleiter, Verzögerungen schnell zu erkennen.

Hinweis: Die Zeitslots sind Schätzwerte. Die tatsächliche Spieldauer kann abweichen. Die Berechnung berücksichtigt das Spielformat (Best-of-3/5/7) und die durchschnittliche Satzdauer.

5.1 Aufschlag festlegen

Beim Start eines neuen Spiels erscheint automatisch ein Vollbild-Popup zur Aufschlagauswahl.

  • Das Popup zeigt beide Spielernamen mit einer orangenen Schaltfläche.
  • Tippe auf den Spieler, der den ersten Aufschlag hat.
  • Das Popup schließt sich und das Scoreboard wird freigegeben.

Aufschlag-Anzeige während des Spiels:

  • Ein oranger Punkt zeigt immer an, wer gerade aufschlägt.
  • Der Aufschlag wechselt automatisch alle 2 Punkte (Regelkonform).
  • Im Entscheidungssatz (z. B. Satz 5 bei Best-of-5) wechselt der Aufschlag ab 5:5 nach jedem Punkt.

Hinweis: Das Popup erscheint bei jedem neuen Satz erneut, wenn das Tablet neu geladen wird. Bei einem laufenden Spiel nach Seitenwechsel in der Mitte des Satzes einfach den aufschlagenden Spieler erneut auswählen.


5.2 Spielstand eingeben

Das Scoreboard zeigt links Spieler 1 und rechts Spieler 2.

Schaltfläche Funktion
P1 + Punkt für Spieler 1
P2 + Punkt für Spieler 2
P1 − Letzten Punkt von Spieler 1 entfernen
P2 − Letzten Punkt von Spieler 2 entfernen
↩ Rückgängig Letzten eingetragenen Punkt rückgängig machen (nur der letzte Punkt)
⇄ Tauschen Spielerpositionen tauschen (Spieler wechseln die Seite)

5.3 Satzende & Spielende

Automatisches Satzende:

  • Ein Satz endet automatisch, wenn ein Spieler 11 Punkte erreicht und mindestens 2 Punkte Vorsprung hat.
  • Bei 10:10 wird weitergespielt bis zur 2-Punkte-Differenz (Verlängerung).
  • Nach Satzende startet automatisch ein 60-Sekunden-Satztimer (Pause zwischen den Sätzen).

Satz-History:

  • Alle bereits gespielten Sätze werden in der Mitte des Tablets mit Satznummer und Ergebnis angezeigt (z. B. „1. 11:9", „2. 11:7").
  • Die Darstellung ist groß und gut lesbar — auch auf Distanz erkennbar.

Manuelles Satzende:

  • Schaltflächen S1 und S2 vergeben einen Satzgewinn manuell (z. B. bei Regelentscheidung des Schiedsrichters).

Spielende:

Das Spiel endet automatisch, wenn ein Spieler die erforderliche Anzahl Sätze gewonnen hat:

  • Best-of-3: 2 Sätze
  • Best-of-5: 3 Sätze
  • Best-of-7: 4 Sätze

Nach dem Spielende erscheint das Ergebnis-Display, gefolgt vom Bestätigungsfeld.

Reset:

  • Über die Schaltfläche Reset kann das Spiel komplett zurückgesetzt werden (z. B. bei Fehlstart).
  • Es erscheint ein Bestätigungsdialog vor dem endgültigen Reset.

5.4 Auszeit & Timer

Schaltfläche Funktion
T1 Auszeit für Spieler 1 starten (60 Sekunden, max. 1 pro Spiel)
T2 Auszeit für Spieler 2 starten (60 Sekunden, max. 1 pro Spiel)
  • Der Timer wird als Overlay auf dem gesamten Bildschirm angezeigt.
  • Nach Ablauf des Timers kehrt das Scoreboard automatisch zur Eingabe zurück.
  • Der Auszeit-Indikator neben dem Spielernamen zeigt deutlich sichtbar:
    • Orange / aktiv — Auszeit noch verfügbar
    • Grau / durchgestrichen — Auszeit bereits verbraucht
  • Die Anzeige ist auch auf Armeslänge gut erkennbar (großes Format, hoher Kontrast).

5.5 Schiedsrichter-Funktionen

Ein offizieller Schiedsrichter kann das Spiel am Tablet mit einer 4-stelligen PIN übernehmen.

Schiedsrichter-Übernahme:

  1. Am unteren Rand des Tablets erscheint die Schaltfläche „Schiedsrichter übernehmen".
  2. Klicke darauf — ein Overlay öffnet sich.
  3. Gib die 4-stellige Schiedsrichter-PIN ein (vom Turnierleiter erhalten).
  4. Nach erfolgreicher Übernahme wird der Schiedsrichtername in der Leiste angezeigt.

Karten ausstellen:

Nach der Übernahme erscheint die Schaltfläche „Karte" in der Schiedsrichterleiste.

  1. Klicke auf „Karte" — das Karten-Overlay öffnet sich.
  2. Wähle den Spieler und die Kartenfarbe:
Karte Bedeutung
Gelb Verwarnung — kein Punktverlust
Gelb-Rot Punkt-Strafe — Gegner erhält einen Punkt
Rot Spieler scheidet aus

Klicke anschließend auf Ausstellen — die Karte wird protokolliert und der Spielstand ggf. angepasst. Das Overlay schließt sich mit dem X-Button.

Satzende durch Kartenpunkt: Wenn der Strafpunkt (Gelb-Rot oder Rot) zum 11. Punkt mit mindestens 2 Punkten Vorsprung führt, wird der Satz automatisch abgeschlossen — inklusive Satzwechsel, Satzpause-Timer und ggf. Spielende. Dies gilt auch für Verlängerungen (ab 10:10).

Karten bei Reset: Beim Zurücksetzen eines Spiels (Reset-Button) erscheint ein zusätzlicher Dialog: "Sollen die ausgesprochenen Karten auch gelöscht werden?" Du kannst wählen zwischen "Karten behalten" und "Karten auch löschen".

Karten auf der Zuschauer-Anzeige: Karten werden auch auf der Tisch-Display-Seite (/display/table/...) neben dem Spielernamen als farbiges Badge angezeigt.

Ergebnis-Bestätigung als Schiedsrichter:

Nach dem Spielende erscheint für den zugewiesenen Schiedsrichter eine zusätzliche Schaltfläche „Ergebnis als Schiedsrichter bestätigen". Diese Bestätigung wird separat protokolliert.

Hinweis: Die Schiedsrichter-PIN ist 4-stellig und numerisch. Sie unterscheidet sich von der Spieler-PIN und wird zentral im Schiedsrichter-Dashboard verwaltet.


5.6 Ergebnisbestätigung am Tablet

Nach dem Spielende erscheint automatisch das Bestätigungsfeld (sequenziell):

Schritt 1 — Spieler 1:

  1. Spieler 1 gibt seine 4-stellige PIN über das Nummernfeld ein.
  2. Klickt auf Bestätigen.
  3. Bei korrekter PIN: ✓ „Spieler 1 hat bestätigt" erscheint.

Schritt 2 — Spieler 2:

  1. Spieler 2 gibt seine 4-stellige PIN über das Nummernfeld ein.
  2. Klickt auf Bestätigen.
  3. Bei korrekter PIN: ✓ „Ergebnis bestätigt — Beide Spieler haben das Ergebnis bestätigt."

Bei Fehler:

  • Nach 3 Fehlversuchen wird die PIN-Eingabe gesperrt.
  • Es erscheint: „Admin erforderlich — Bitte den Turnierleiter kontaktieren."
  • Der Administrator kann die PIN zurücksetzen.

Wenn ein Spieler kein Portal-Konto hat oder vergessen hat zu bestätigen: Das Ergebnis wird 5 Minuten nach Spielende automatisch bestätigt, sofern kein Einspruch eingereicht wurde.


6. Häufige Fragen & Fehlerbehandlung

„Kein aktives Turnier" wird angezeigt: → Der Administrator hat das Turnier noch nicht auf „Aktiv" gesetzt. Bitte den Turnierleiter kontaktieren.

„Spieler-Profil nicht gefunden" nach Login: → Deine E-Mail-Adresse wurde noch nicht mit einem Spieler-Datensatz verknüpft. Gib dem Turnierleiter deine registrierte E-Mail, damit er die Verknüpfung vornehmen kann.

PIN-Eingabe gesperrt: → Du hast 3 Mal die falsche PIN eingegeben. Wende dich an den Turnierleiter, der deine PIN zurücksetzen kann (Admin-Dashboard → Spieler → Schlüssel-Symbol).

Bestätigungsfenster erscheint nicht, obwohl das Spiel beendet ist: → Lade das Dashboard einmal neu (Seite aktualisieren). Das Dashboard pollt alle 10 Sekunden — bei langsamer Verbindung kann es kurz verzögert sein.

Tablet zeigt kein Spiel an / Seite ist leer: → Prüfe, ob die korrekte Tisch-URL geöffnet ist. Stelle sicher, dass dem Tisch eine aktive Partie zugewiesen wurde (sichtbar im Admin-Dashboard → Turnier → Bracket).

WLAN-Verbindung unterbrochen: → Das System kann ohne WLAN nicht genutzt werden. Stelle die Verbindung wieder her und lade die Seite neu. Alle Eingaben seit der letzten Synchronisierung können verloren gegangen sein — überprüfe den Spielstand nach Reconnect.

Einspruch wurde versehentlich eingereicht: → Informiere sofort den Turnierleiter. Ein Einspruch kann im Admin-Dashboard mit der Aktion „Ergebnis bestätigen (Original)" geschlossen werden.

Das Turnier zeigt nach der Auslosung falsche Ergebnisse: → Wende dich an den Administrator. Korrekturen sind über den Einspruchs-Mechanismus oder eine Admin-Überschreibung möglich.

Schiedsrichter-PIN funktioniert nicht / wird abgelehnt: → Die Schiedsrichter-PIN ist 4-stellig und numerisch. Stelle sicher, dass nicht versehentlich die 6-stellige Betreuer-ID oder die 4-stellige Spieler-PIN eingegeben wurde. Die Schiedsrichter-PIN wird im Schiedsrichter-Dashboard unter dem eigenen Profil angezeigt.

Das Aufschlag-Popup erscheint bei jedem Seitenaufruf: → Nur noch bei frischen Matches (Satz 1, kein Punkt gespielt). Nach einem Reload eines laufenden Spiels erscheint das Popup nicht mehr. Bei Doppel-Matches erfolgt die Aufschlagwahl in 3 Schritten: 1. Welches Doppel hat Aufschlag? → 2. Welcher Spieler schlägt auf? → 3. Wer ist Rückschläger? Ab Satz 2 erscheint das Popup erst nach der Satzpause — nur der Aufschläger wird gefragt, der Rückschläger ergibt sich automatisch (DTTB ITR 2.13.7).

Beim Einschreiben eines Spielers erscheint eine TTR- oder Jahrgangs-Warnung: → Das ist kein Fehler — der Spieler erfüllt die Teilnahmebeschränkungen des Turniers nicht vollständig. Als Admin kannst du ihn trotzdem einschreiben, indem du auf „Trotzdem einschreiben" klickst. Die Warnung wird nur protokolliert, verhindert die Anmeldung aber nicht.

Ein Spieler hat keinen TTR-Wert oder keinen Jahrgang eingetragen: → Öffne unter Spieler den Bearbeitungsdialog des Spielers und trage den fehlenden Wert nach. Danach kann die Turnierbeschränkung korrekt geprüft werden.

Wie komme ich zur Login-Seite meiner Rolle? → Öffne die Startseite / im Browser. Im Abschnitt „Direkt einsteigen" findest du Login-Karten für jede Rolle (Admin, Spieler, Betreuer, Schiedsrichter) mit direkten Links.

TTR-Wert wird bei Mouseover auf Spielernamen angezeigt — woher kommt der? → Der TTR-Wert wird vom Admin in der Spielerverwaltung hinterlegt. Im Bracket und in den Gruppentabellen erscheint er als Tooltip (Mouseover auf den Namen).

Wie teile ich den Turnierstand mit Zuschauern? → Öffne die Turnier-Detailseite im Admin-Dashboard und klicke auf „Link kopieren" oder den QR-Code-Button. Die öffentliche Seite unter /tournament/[Turnier-ID] zeigt Gruppen und KO-Bracket live — kein Login nötig. Ideal für TV-Displays mit dem Vollbild-Modus.

Wo sehe ich meinen TTR-Wert? → Im Spieler-Portal unter Profil (/player/settings). Der TTR-Wert wird mit einer farbigen Level-Einordnung angezeigt (Anfänger, Vereinsspieler, Leistungsspieler, Spitzenspieler). Der Wert wird vom Admin gepflegt und ist im Portal nicht editierbar.


Vollbild-Modus am Tablet: → In der Steuerleiste unter dem Spielfeld gibt es einen Vollbild-Button (⛶). Einmal antippen aktiviert den Vollbildmodus, erneutes Antippen oder Escape beendet ihn. Ideal für Tablets und Zuschauer-Displays.

Automatischer Seitenwechsel im Doppel (entscheidender Satz): → Im letzten möglichen Satz (z. B. Satz 3 im BO3) erscheint bei 5 Punkten einer Partei automatisch ein Hinweis zum Seitenwechsel. Die Seiten werden per Klick getauscht. Nach jedem Satzende wird automatisch gewechselt.

Vorgabe-Punkte im Dynamischen Doppel: → Werden in jedem Satz erneut voreingestellt, nicht nur im ersten. Die Vorgabe wird auf dem Tablet angezeigt und in der Aufschlagrotation korrekt berücksichtigt.

Ausgewogene Gruppenspiel-Reihenfolge (Gruppe+KO): → Bei neuen Auslosungen werden Gruppenspiele runden-weise über alle Gruppen verteilt: Runde 1 aller Gruppen, dann Runde 2, usw. So laufen alle Gruppen parallel auf gleichem Fortschritt.

Impressum, Datenschutz & AGB: → Über den Footer der Startseite erreichbar. Bei der Registrierung (Spieler, Betreuer, Schiedsrichter) müssen AGB und Datenschutzerklärung bestätigt werden — der Registrieren-Button ist erst aktiv, wenn beide Checkboxen gesetzt sind.

Tischbelegung im Auslosungs-Tab (alle Formate): → Die Tischzuweisung im Auslosungs-Tab nutzt jetzt überall die gleiche Dropdown-Komponente mit grünen (frei) und roten (belegt) Punkten — auch in der Gruppendetail-Ansicht und bei Jeder-gegen-Jeden. Die Belegung wird pool-weit erkannt: Ein Tisch der in Turnier A belegt ist, erscheint auch in Turnier B als rot markiert.

Karten auf Display + Satzende durch Kartenpunkt: → Gelbe, Gelb-Rote und Rote Karten werden jetzt auf der Tisch-Zuschauer-Anzeige (/display/table/...) als Badge neben dem Spielernamen angezeigt. Wenn eine Gelb-Rote oder Rote Karte zum Satzgewinn führt (11. Punkt mit 2 Vorsprung oder Verlängerung), wird der Satz automatisch abgeschlossen — inkl. Satzpause-Timer und Seitenwechsel.

Reset mit Karten-Option: → Beim Zurücksetzen eines Spiels am Tablet wird in einem zweiten Dialog gefragt, ob die ausgesprochenen Karten ebenfalls gelöscht werden sollen. Diese Option erscheint nur wenn tatsächlich Karten vergeben wurden.

Endergebnis auf Tisch-Display (30 Sekunden): → Nach Spielende zeigt die Tisch-Anzeige den vollständigen Endstand 30 Sekunden lang an — inkl. aller Sätze (auch des letzten entscheidenden Satzes). Danach wechselt die Anzeige zurück auf "Bereit" oder das nächste anstehende Spiel.


7. UAT-Testsuite — Automatische Regressionstests (PROJ-68)

Die UAT-Testsuite prüft vollautomatisch alle kritischen Funktionen auf der Staging-Umgebung (staging.tt-control.de). Sie legt einen temporären Test-Tenant mit eigenen Accounts an, führt alle Tests durch und räumt danach wieder auf.

Voraussetzungen

  • Node.js ≥ 18 installiert
  • Abhängigkeiten installiert: npm install
  • Playwright-Browser installiert: npx playwright install chromium
  • Zugang zur Staging-Umgebung (Netzwerk / VPN falls nötig)
  • Superadmin-Account auf Staging vorhanden (z. B. dirk.quitschau@coffeemaster.de)

Umgebungsvariablen

Vor dem Start müssen folgende Variablen gesetzt sein:

Variable Beschreibung Beispiel
STAGING_URL URL der Staging-Umgebung https://staging.tt-control.de
STAGING_SUPERADMIN_EMAIL E-Mail des Superadmin-Accounts <deine-superadmin-email>
STAGING_SUPERADMIN_PASSWORD Passwort des Superadmin-Accounts ***
UAT_TEST_PASSWORD Passwort für alle Test-Accounts (wird angelegt) ***

Testsuite starten

STAGING_URL=https://staging.tt-control.de \
STAGING_SUPERADMIN_EMAIL=<deine-superadmin-email> \
STAGING_SUPERADMIN_PASSWORD="***" \
UAT_TEST_PASSWORD="***" \
npx playwright test --config=playwright.config.ts

Oder als npm-Skript (falls konfiguriert):

npm run test:uat

Was passiert intern (Global Setup & Teardown)

Setup (einmalig vor allen Tests):

  1. Browser startet, Superadmin loggt sich auf Staging ein
  2. Temporärer Test-Tenant wird angelegt (z. B. UAT-Test-1234567890)
  3. Superadmin wechselt in den Test-Tenant-Kontext
  4. Vier Test-Accounts werden erstellt: Admin, Schiedsrichter, Betreuer, Spieler
  5. Zwei Test-Turniere werden angelegt: KO und Double-Elimination
  6. Alle Daten werden in playwright-report/.fixtures.json gespeichert
  7. Tests laufen gegen diese Fixtures

Teardown (einmalig nach allen Tests):

  1. Superadmin loggt sich erneut ein
  2. Test-Tenant wird vollständig gelöscht (inkl. aller Accounts, Turniere, Matches per CASCADE)
  3. Fixture-Datei wird gelöscht

Ergebnisse & Reports

Nach dem Testlauf stehen folgende Reports bereit:

Datei Inhalt
playwright-report/index.html HTML-Report mit Screenshots bei Fehlern — öffnen mit npx playwright show-report
playwright-report/results.json Maschinenlesbares JSON-Ergebnis
playwright-report/uat-report.md Markdown-Zusammenfassung mit Go/No-Go-Empfehlung
playwright-report/qa-input.md Strukturierter Input für manuelle QA-Nachbereitung

Testabdeckung (Stand 2026-04-25)

Bereich Tests Status
Admin-Login (korrekte & falsche Credentials) 2
Rollenwechsel Admin 1
Spielerverwaltung (Liste, Form, CSV-Import) 3
Turniere (Erstellen, TTR-Range, Klonen) 3
Berichte (Statistik-Dashboard) 1
Einstellungen (Settings, i18n) 2
Öffentliche Seiten (Landingpage, Pricing, Health) 3
Schiedsrichter-Login 1
Auth-Guards (Redirects, RLS-401) 4
Betreuer-Login 1 ⚠️ Skip (E-Mail-Confirm auf Staging)
Spieler-Login 1 ⚠️ Skip (E-Mail-Confirm auf Staging)
Dark-Mode-Toggle 2 ⚠️ Skip (nicht im Default-View)
Plan-Anzeige (Billing) 1 ⚠️ Skip (Mollie-Abhängigkeit)
Tablet-Score / PIN-Bestätigung 2 ⚠️ Skip (aktives Match nötig)

Hinweis: Intentionale Skips sind keine Fehler — sie dokumentieren Testbedingungen, die auf Staging nicht ohne weiteres herstellbar sind (E-Mail-Auslieferung, aktive Matches).

Einzelne Test-Dateien ausführen

# Nur Admin-Tests
npx playwright test tests/uat/admin/ --config=playwright.config.ts

# Nur Public-Pages
npx playwright test tests/uat/public/ --config=playwright.config.ts

# Nur einen bestimmten Test
npx playwright test --grep "AUTH-01" --config=playwright.config.ts

Häufige Probleme

Setup schlägt fehl mit „Superadmin-Login fehlgeschlagen": → Prüfe ob STAGING_SUPERADMIN_EMAIL und STAGING_SUPERADMIN_PASSWORD korrekt sind. Der Account muss auf Staging als Superadmin (role: super_admin) angelegt sein.

Setup schlägt fehl mit „403 Zugriff verweigert": → Der Superadmin-Account hat nicht die Rolle super_admin in den App-Metadaten oder die Staging-Umgebung läuft noch auf einem alten Container-Build. Staging neustarten und erneut versuchen.

Tests laufen, aber alle scheitern: → Überprüfe ob STAGING_URL erreichbar ist (curl https://staging.tt-control.de). Bei SSL-Problemen ist ignoreHTTPSErrors: true bereits konfiguriert.

Playwright-Browser fehlt:npx playwright install chromium ausführen.

Fixture-Datei von vorherigem Run noch vorhanden:rm playwright-report/.fixtures.json löscht die Altdaten manuell. Das Teardown hätte sie normalerweise entfernt.


Stand: 2026-04-25 — TT-Control Turniersystem MVP