🏓 Spieltag steht an!
{{s.title}}
{{fmtDate(s.date)}}
{{s.time}}
🏟️ Nächste Trainingstage
{{td.typeIcon}} {{td.typeName}} {{td.venueName}}
{{fmtDate(td.date)}} {{td.startTime}}–{{td.endTime}}
🎯 Wichtige Termine
{{d.label}} {{fmtDate(d.date)}}
{{d.info}}
📝 Letzte Protokolle
Noch keine
{{p.title}} {{fmtDate(p.date)}}
🎂 Nächste Geburtstage
{{b.name}} 🎉 Heute! in {{b.diff}} Tagen ({{b.age}}) in {{b.diff}} Tagen
📢 Letzte Nachrichten
{{m.title}} {{fmtDate(m.date)}}
{{m.content}}
🏓 Spieler ({{players.length}}) 👥 Mannschaften ({{teams.length}})
+ Spieler 📋 QTTR Import 🌐 myTischtennis 📊 JSON-Import 🗑 Alle löschen
Sortierung: QTTR TTR Name
🏓
{{playerSearch?'Kein Spieler gefunden':'Noch keine Spieler'}}
# Name QTTR TTR Mannschaft Status
{{i+1}} {{p.name}} 📊
{{p.qttr}} –
{{getTtr(p.id)}} –
{{getTeamName(p.teamId)||'–'}} {{p.active!==false?'Aktiv':'Inaktiv'}}
✏️ 🗑
+ Mannschaft Sortierung: QTTR TTR
{{t.name}}
{{teamPlayers(t.id).length}} Spieler • Ø QTTR: {{avgQttr(t.id)||'–'}} • Ø TTR: {{avgTtr(t.id)}} • {{t.league}} • MF: {{getTeamCaptain(t.id).name}}
🗑
Keine Spieler
{{i+1}}. {{p.name}} {{p.qttr||'–'}} {{getTtr(p.id)||'–'}} {{playerDeltaStr(p)}}
Alle {{c.icon}} {{c.label}}
+ Neue Aufgabe
{{t.title}}
{{t.description}}
{{getCat(t.category)?.icon}} {{getCat(t.category)?.label}} {{getStatusLabel(t.status)}} Fällig: {{fmtDate(t.due)}}
Offen In Arbeit Erledigt ✏️ 🗑
{{protocols.length}} Protokoll{{protocols.length!==1?'e':''}} + Neues Protokoll
{{p.title}}
{{fmtDate(p.date)}}
🗑 {{p.content}}
{{filteredEvents.length}} Termine 📅 Spielplan Import + Neuer Termin
Filter:
Alle
🏛️ Vorstand
{{t.name}}
📅 Anstehend
{{eventTypes[e.type]?.icon||'📌'}} {{e.title}}
BALD!
Vorstand
{{getTeamName(e.audience)}}
{{fmtDate(e.date)}} • {{e.time}} • {{e.location}}
{{e.notes}}
✏️ 🖨️ 🗑
Teilnahme ({{rsvpYes(e).length}} ✅ / {{rsvpNo(e).length}} ❌ / {{rsvpOpen(e).length}} offen)
📋
{{r.status==='ja'?'✅':r.status==='nein'?'❌':'❔'}} {{r.name}}
Änderungshistorie
{{log.time}} – {{log.name}} : {{log.from}} → {{log.to}}
📁 Vergangen
{{eventTypes[e.type]?.icon||'📌'}} {{e.title}}
{{fmtDate(e.date)}}
✏️ 🗑
📅 Hallenkalender
🏟️ Hallen ({{venues.length}})
🏋️ Trainingsserien
📋 Trainingstermine
←
{{calMonthName}} {{calYear}}
→
Heute
Halle:
Alle
{{v.name}}
{{v.name}}
Spieltag
Storniert
{{day.num}}
{{ev.label}}
+{{day.entries.length-3}} weitere
{{fmtDate(calSelectedDay.dateStr)}} – Termine
Keine Termine an diesem Tag
{{ev.label}}
Storniert
{{ev.time||''}}
📍 {{ev.venue}}
Grund: {{ev.cancelReason}}
Schließen
+ Halle hinzufügen
🏟️ {{v.name}}
📍 {{v.address}}
{{trainingDatesForVenue(v.id).length}} Trainingstermine
✏️ 🗑
+ Trainingsserie
🏋️
Noch keine Trainingsserien
{{getTrainingType(s.trainingTypeId)?.icon}} {{getTrainingType(s.trainingTypeId)?.name||'Training'}}
{{dayNames[s.dayOfWeek]}} {{s.startTime}}–{{s.endTime}} • {{getVenueName(s.venueId)}}
{{fmtDate(s.startDate)}} bis {{fmtDate(s.endDate)}}
{{seriesDatesCount(s.id)}} Termine generiert
Termine erstellen
🗑
Filter:
Alle
{{tt.icon}} {{tt.name}}
❌ Storniert
{{getTrainingType(td.trainingTypeId)?.icon}} {{getTrainingType(td.trainingTypeId)?.name}} Storniert
{{fmtDate(td.date)}} • {{td.startTime}}–{{td.endTime}} • {{getVenueName(td.venueId)}}
Grund: {{td.cancelReason}}
Stornieren
Reaktivieren
{{materials.length}} Einträge
+ Material hinzufügen
{{materialCount('platten')}}
Platten
{{materialCount('netze')}}
Netze
{{materialCount('baelle')}}
Bälle (Pakete)
{{materialCount('sonstiges')}}
Sonstiges
Filter:
Alle
🏓 Platten
🥅 Netze
⚪ Bälle
📦 Sonstiges
Material Kategorie Anzahl Zustand Standort Notizen
{{m.name}}
{{matCatLabel(m.category)}}
{{m.quantity}}
{{m.condition}}
{{getVenueName(m.venueId)||'–'}}
{{m.notes||'–'}}
✏️ 🗑
📊 Übersicht
💶 Barkasse
🍺 Strichlisten
🏠 Heimspieltage
🧾 Belege
💳 Beiträge
{{fmtEuro(totalCashBalance)}}
Kassenbestand
−{{fmtEuro(totalTallyOpen)}}
Offene Getränke
{{totalMatchDayResult>=0?'+':''}}{{fmtEuro(totalMatchDayResult)}}
Heimspieltage
−{{fmtEuro(totalExpenses)}}
Ausgaben
−{{fmtEuro(totalFeesOpen)}}
Offene Beiträge
+ Neue Kasse
💶
Noch keine Kasse angelegt
💶 {{cr.name}}
{{fmtEuro(cr.balance)}}
+ Buchung
🗑
{{tx.description}} {{fmtDate(tx.date)}}
{{tx.type==='einnahme'?'+':'−'}}{{fmtEuro(Math.abs(tx.amount))}}
Alle Getränke: 1,00 € / Stück . Strich = Getränk genommen, Saldo wird bei Bezahlung ausgeglichen.
🍺
Erst Spieler anlegen, dann erscheinen sie hier.
Spieler Getränke Saldo
{{tp.playerName}} {{tp.teamName}}
−
{{tp.count}}
+
{{tp.balance<0?'−':''}}{{fmtEuro(Math.abs(tp.balance))}}
Bezahlen
✓ Ausgeglichen
Gesamt offen:
−{{fmtEuro(totalTallyOpen)}}
Pro Heimspiel zahlen Erwachsenenspieler 3,00 € . Gäste bekommen ein Getränk frei; bei mehr wird um eine Spende gebeten (Spendenbox).
+ Heimspieltag abrechnen
🏠
Noch keine Heimspieltage abgerechnet
🏠 Heimspiel {{fmtDate(md.date)}}
{{md.teamName}}
Beiträge: {{md.payingCount}} × 3 € = +{{fmtEuro(md.income)}}
Spende Gäste: +{{fmtEuro(md.guestDonation||0)}}
Getränke Spieler: −{{fmtEuro(md.playerDrinkCost)}}
Ergebnis: {{md.result>=0?'+':''}}{{fmtEuro(md.result)}}
{{md.notes}}
🗑
Gesamtergebnis Heimspieltage:
{{totalMatchDayResult>=0?'+':''}}{{fmtEuro(totalMatchDayResult)}}
+ Neuer Beleg
Filter:
Alle
🔧 Material
🎪 Veranstaltung
🚗 Transport
📦 Sonstiges
{{rc.description}}
{{fmtEuro(rc.amount)}}
{{fmtDate(rc.date)}} • {{rc.vendor}}
{{rcCatLabel(rc.category)}}
✏️ 🗑
Mitgliedsbeiträge pro Spieler und Jahr tracken.
+ Beitrag erfassen
Gesamt offen: −{{fmtEuro(totalFeesOpen)}}
Gesamt bezahlt: +{{fmtEuro(totalFeesPaid)}}
{{players.find(p=>p.id===f.playerId)?.name||'(gelöschter Spieler)'}}
{{f.year}} • {{fmtEuro(f.amount)}}
{{f.paid?'✓ Bezahlt':'Offen'}} {{fmtDate(f.paidDate)}}
Als bezahlt markieren 🗑
{{messages.length}} Nachricht{{messages.length!==1?'en':''}} + Neue Nachricht
{{m.title}}
Vorstand
{{getTeamName(m.audience)}}
{{fmtDate(m.date)}}
{{m.content}}
🗑
{{players.length}} Kontakte 🖨️ Kontaktliste drucken
🎂 Nächste Geburtstage
{{b.name}} {{fmtDate(b.date)}} wird {{b.age}} 🎉 Heute! in {{b.diff}} Tagen in {{b.diff}} Tagen
👔 Mannschaftsführer
{{t.name}} {{getTeamCaptain(t.id).name}} – 📞 📧
Name Team 📞 Telefon 📧 E-Mail 🎂 Geburtstag 📍 Adresse
{{p.name}} {{getTeamName(p.teamId)||'–'}}
{{p.phone}} –
{{p.email}} –
{{p.birthday?fmtDate(p.birthday):'–'}}
{{p.address||'–'}}
{{documents.length}} Dokument{{documents.length!==1?'e':''}}
+ Dokument
Filter:
Alle
📋 Satzung
✍️ Vertrag
⚖️ Ordnung
📝 Protokoll
📦 Sonstiges
{{d.title}}
{{docCatLabel(d.category)}}
{{d.description}}
{{fmtDate(d.createdAt)}}