# Event Center E-Mail-Setup

## ✅ Was wurde implementiert:

1. **E-Mail-Template-System** für Event Center Buchungen
2. **Automatischer E-Mail-Versand** nach erfolgreicher Buchung
3. **Admin-Interface** zur Template-Verwaltung
4. **Standard-Template** als Fallback

---

## 📧 E-Mail-Template erstellen (Admin-Interface)

### Schritt 1: Admin-Panel öffnen

Gehe zu: **Admin → E-Mail-Templates** (in deinem Admin-Menü)

### Schritt 2: Neues Template erstellen

1. Klicke auf **"Neues Template erstellen"**
2. Fülle die Felder aus:

**Template-Daten:**
- **Name:** `BewegungsZentrum Buchungsbestätigung`
- **Typ:** `BewegungsZentrum - Buchungsbestätigung`
- **Betreff:** `Buchungsbestätigung - Kindergeburtstag im BewegungsZentrum`
- **Status:** `Aktiv` ✓

### Schritt 3: E-Mail-Inhalt (HTML)

Hier ist ein Beispiel-Template mit allen verfügbaren Platzhaltern:

```html
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <style>
        body {
            font-family: 'Segoe UI', Arial, sans-serif;
            line-height: 1.6;
            color: #333;
            max-width: 600px;
            margin: 0 auto;
            padding: 20px;
            background-color: #f8f9fa;
        }
        .header {
            text-align: center;
            margin-bottom: 30px;
            padding: 30px;
            background: linear-gradient(135deg, #0d6efd 0%, #0056b3 100%);
            color: white;
            border-radius: 12px;
            box-shadow: 0 4px 8px rgba(0,0,0,0.1);
        }
        .header h1 {
            margin: 0;
            font-size: 2em;
        }
        .content {
            background-color: #fff;
            padding: 30px;
            border-radius: 12px;
            box-shadow: 0 2px 8px rgba(0,0,0,0.1);
        }
        .booking-details {
            margin: 25px 0;
            padding: 25px;
            background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
            border-radius: 10px;
            border-left: 5px solid #0d6efd;
        }
        .booking-details h2 {
            color: #0d6efd;
            margin-top: 0;
            font-size: 1.4em;
        }
        .booking-details p {
            margin: 12px 0;
            font-size: 1.05em;
        }
        .booking-details strong {
            color: #0056b3;
            font-weight: 600;
        }
        .highlight {
            background: #fff3cd;
            padding: 15px;
            border-radius: 8px;
            border-left: 4px solid #ffc107;
            margin: 20px 0;
        }
        .footer {
            margin-top: 30px;
            text-align: center;
            font-size: 0.9em;
            color: #6c757d;
            padding: 20px;
            background-color: #fff;
            border-radius: 8px;
        }
        ul {
            background: #f8f9fa;
            padding: 20px 20px 20px 40px;
            border-radius: 8px;
            margin: 20px 0;
        }
        li {
            margin: 10px 0;
        }
    </style>
</head>
<body>
    <div class="header">
        <h1>🎉 BewegungsZentrum Düren</h1>
        <p style="margin: 10px 0 0 0; font-size: 1.2em;">Buchungsbestätigung Kindergeburtstag</p>
    </div>

    <div class="content">
        <p style="font-size: 1.1em;">Sehr geehrte(r) {{parentFirstName}} {{parentLastName}},</p>

        <p>vielen Dank für Ihre Buchung im BewegungsZentrum! Wir freuen uns darauf, den <strong>{{childAge}}. Geburtstag</strong> von <strong>{{childFirstName}}</strong> zu einem unvergesslichen Erlebnis zu machen! 🎈🎊</p>

        <div class="booking-details">
            <h2>📋 Ihre Buchungsdetails</h2>
            <p><strong>Geburtstagskind:</strong> {{childFirstName}} {{childLastName}} ({{childAge}} Jahre)</p>
            <p><strong>Anzahl Kinder:</strong> {{totalChildren}} Kinder insgesamt</p>
            <p><strong>Gewähltes Paket:</strong> {{packageName}}</p>
            <p><strong>Dauer:</strong> {{duration}}</p>
            <p><strong>Preis:</strong> {{price}}</p>
            <p><strong>📅 Datum:</strong> {{date}}</p>
            <p><strong>🕐 Uhrzeit:</strong> {{startTime}} - {{endTime}} Uhr</p>
            <p><strong>Buchungsnummer:</strong> <code style="background: #fff; padding: 3px 8px; border-radius: 4px; font-family: monospace;">{{bookingToken}}</code></p>
        </div>

        <div class="highlight">
            <p><strong>⏰ Wichtig:</strong> Bitte erscheinen Sie <strong>15 Minuten vor Beginn</strong> im BewegungsZentrum, damit wir pünktlich starten können!</p>
        </div>

        <p><strong>📝 Checkliste - Bitte mitbringen:</strong></p>
        <ul>
            <li>Sportkleidung für alle Kinder</li>
            <li>Hallenschuhe (saubere Turnschuhe)</li>
            <li>Getränke für die Kinder</li>
            <li>Optional: Kuchen/Snacks für die Pause</li>
        </ul>

        <p><strong>📍 Anfahrt:</strong><br>
        BewegungsZentrum Düren<br>
        Mariaweilerstraße 4<br>
        52349 Düren</p>

        <div style="margin-top: 30px; padding-top: 20px; border-top: 2px solid #e9ecef;">
            <p style="font-size: 0.95em; color: #6c757d;">Bei Fragen oder Änderungswünschen erreichen Sie uns unter:<br>
            <strong>E-Mail:</strong> {{contactEmail}}<br>
            <strong>Telefon:</strong> (02421) 2259 592</p>
        </div>

        <p style="margin-top: 30px; font-size: 1.05em;">Wir freuen uns auf Sie und Ihre Kinder! 🎉</p>
        
        <p style="margin-top: 20px;">Mit sportlichen Grüßen<br>
        <strong>Ihr BewegungsZentrum-Team</strong></p>
    </div>

    <div class="footer">
        <p><strong>Kreissportbund Düren e.V.</strong><br>
        BewegungsZentrum<br>
        Mariaweilerstraße 4, 52349 Düren<br>
        E-Mail: {{contactEmail}} | Tel: (02421) 2259 592</p>
        <p style="font-size: 0.85em; margin-top: 15px;">
            <a href="https://bewegungszentrum-dueren.de/allgemeine-geschaeftsbedingungen/" style="color: #0d6efd; text-decoration: none;">AGB</a> | 
            <a href="https://bewegungszentrum-dueren.de/datenschutz/" style="color: #0d6efd; text-decoration: none;">Datenschutz</a>
        </p>
    </div>
</body>
</html>
```

---

## 🎯 Verfügbare Platzhalter

Diese Platzhalter kannst du im Template verwenden (werden automatisch ersetzt):

| Platzhalter | Beschreibung | Beispiel |
|-------------|--------------|----------|
| `{{parentFirstName}}` | Vorname Erziehungsberechtigter | "Anna" |
| `{{parentLastName}}` | Nachname Erziehungsberechtigter | "Müller" |
| `{{childFirstName}}` | Vorname Geburtstagskind | "Max" |
| `{{childLastName}}` | Nachname Geburtstagskind | "Müller" |
| `{{childAge}}` | Alter des Geburtstagskindes | "7" |
| `{{totalChildren}}` | Anzahl Kinder gesamt | "12" |
| `{{packageName}}` | Name des Pakets | "Premium-Paket" |
| `{{duration}}` | Dauer des Events | "2 Stunden" |
| `{{price}}` | Preis | "150,00 €" |
| `{{date}}` | Datum | "15.03.2025" |
| `{{startTime}}` | Startzeit | "14:00" |
| `{{endTime}}` | Endzeit | "16:00" |
| `{{bookingToken}}` | Buchungsnummer | "abc123xyz" |
| `{{notes}}` | Anmerkungen (optional) | "Erdnussallergie beachten" |
| `{{contactEmail}}` | Kontakt-E-Mail | "info@ksb-dueren.de" |

---

## 🔄 Betreff-Beispiele

```
Buchungsbestätigung - Kindergeburtstag für {{childFirstName}}
```

```
🎉 Kindergeburtstag im BewegungsZentrum - {{date}}
```

```
Bestätigung: {{packageName}} für {{childFirstName}} ({{date}})
```

---

## ⚙️ Template-Verwaltung

### Template bearbeiten:
1. Admin → E-Mail-Templates
2. Wähle das Template aus
3. Klicke auf "Bearbeiten"
4. Ändere Inhalt/Betreff
5. Speichern

### Template deaktivieren:
- Setze Status auf "Inaktiv"
- System verwendet dann Standard-Template

### Mehrere Templates:
- Du kannst mehrere Templates erstellen
- Nur das **aktive** Template vom Typ "BewegungsZentrum - Buchungsbestätigung" wird verwendet
- Falls mehrere aktiv: Das zuletzt aktualisierte wird verwendet

---

## 🧪 E-Mail testen

### Test-Buchung durchführen:
1. Gehe zu: `/ksbdueren/public/booking/event-center/step/1`
2. Führe eine Test-Buchung durch
3. Prüfe dein E-Mail-Postfach

### E-Mails prüfen in Logs:
```bash
# Symfony Logs prüfen
tail -f var/log/prod.log | grep "event center"

# Oder gezielt nach E-Mail-Logs suchen
tail -f var/log/prod.log | grep "confirmation email"
```

---

## 📊 System-Logs

Alle E-Mail-Versendungen werden geloggt:
- **Admin → System-Logs**
- Filter: "E-Mail" oder "event_center_confirmation"
- Zeigt: Erfolg/Fehler, Empfänger, Zeitstempel

---

## 🚨 Fehlerbehebung

### Problem: Keine E-Mail erhalten

**Checkliste:**
1. ✅ Ist MAILER_DSN korrekt konfiguriert? (siehe OUTLOOK_EMAIL_SETUP.md)
2. ✅ Ist ein aktives Template vorhanden?
3. ✅ Prüfe Spam-Ordner
4. ✅ Prüfe Logs: `var/log/prod.log`
5. ✅ Test-E-Mail senden:
   ```bash
   php bin/console app:test-email test@example.com
   ```

### Problem: E-Mail ohne Platzhalter

- Template wurde nicht richtig gespeichert
- Platzhalter falsch geschrieben (Case-Sensitive!)
- Cache leeren: `php bin/console cache:clear`

### Problem: Outlook-SMTP-Fehler

Siehe: `OUTLOOK_EMAIL_SETUP.md`

---

## 📝 Nächste Schritte

1. ✅ Outlook E-Mail konfigurieren (MAILER_DSN in .env)
2. ✅ E-Mail-Template über Admin-Interface erstellen
3. ✅ Test-Buchung durchführen
4. ✅ Template nach Bedarf anpassen

**Viel Erfolg! 🚀**





