## Phase 4: Terminverwaltung und Google Maps API Hier wird die Kalenderfunktionalität implementiert, einschließlich der verschiedenen Termintypen und der Integration von Google Maps. Schritt 1: Terminkategorien und Basismodell erstellen Navigiere in das calendars-Verzeichnis und öffne models.py. Erstelle ein Event-Modell als Basis für alle Termine, mit Feldern wie title, description, start_time, end_time (optional), location_address und Maps_shortlink. Erstelle Training und Game als Submodelle von Event unter Verwendung von Multi-Table-Inheritance. Schritt 2: Besondere Logik für Game implementieren Füge dem Game-Modell die Felder opponent, meeting_minutes_before_game und die season hinzu. Implementiere Logik für die Mindestanzahl von Spielern (Default 9, kann von Coaches überschrieben werden). Erstelle ein Modell GameResult zur Speicherung der Ergebnisse pro Inning. Schritt 3: Google Maps Integration Implementiere eine Logik im calendars App, die eine gegebene Adresse in einen Google Maps Shortlink umwandelt. Dies erfordert die Nutzung einer API (oder eine einfache URL-Erstellung basierend auf den Adressdaten). Schritt 4: Dashboard-Views und Zugriffsrechte Entwickle die Views in der dashboard-App, die basierend auf der Rolle des eingeloggten Benutzers (Elternteil, Spieler, Coach) die entsprechenden Termine und "Widgets" anzeigen. Implementiere die Zugriffslogik, sodass ein Coach nur Termine für seine Gliederung (Mannschaft oder Team) anlegen, absagen oder bearbeiten kann.