# Journal 2026-11-03

## Fehlerfinder: eingegrenzte Folgeprüfung

Die im Auftrag genannten Dateien anhand der aktuellen Dateiinhalte auf schwere, konkret auslösbare Fehler geprüft. Die fünf ausdrücklich ausgenommenen Befunde nicht erneut untersucht. Kein neuer schwerer Fehler sicher belegt; kein Anwendungscode geändert.

`python3 agents/helfer tests test_projekt`: erfolgreich, 11 Tests und 24 Assertions. Keine Browserabnahme, keine Gerätezugriffe und kein Git. Bestehende offene Abnahme- und Ausrollpunkte bleiben offen. Nur diese Dokumentation und `docs/TODO.md` fortgeschrieben.

## Präsentationsvideo Schwimmcontainer

Kurze Drehung des 3D-Modells ohne Messwerte, 16 Sekunden, 1280×720, 30 Bilder/s. Titel liegt im Bild. Datei: `docs/referenz/2026-11-03-schwimmcontainer-praesentation.mp4`. Hilfsdateien für die Aufnahme wieder entfernt.

## Deploy nimmt SwimMonitor 2.0 nicht mit

`scripts/deploy.sh` holt `origin/main`, Magallanes deployt denselben Branch. 2.0 lag nur auf `feature/swimmonitor-style`. Branch nach `main` fast-forward gemergt und nach origin geschoben (`c6fab7f`). Auf dem Server muss `./scripts/deploy.sh` noch einmal laufen. Kein SSH, kein Deploy von hier.

## Mobi Bonn Wassergewöhnung Mo 16–17 Uhr nicht buchbar

Kurs 466, Kapazität 10. Belegt sind 10 Plätze (9 verifiziert, 1 bestätigt ohne Mail: Deylan Idic). 4 Absagen belegen keinen Platz mehr, die Sitze sind nachbesetzt (zwei über die Warteliste). 14 Einträge auf der Warteliste, kein offenes 24-Stunden-Angebot. Die Kursdetailseite zählte Buchungen, nicht belegte Plätze, deshalb wirkte ein Platz frei. Dateien: `src/Controller/Admin/AdminCoursesController.php`, `templates/admin/courses/details.html.twig`, `src/Controller/AppointmentController.php`, `src/Controller/PublicBookingController.php`.

## Event-Center-Pakete: Dauern und Kinderzahl nur für neue Buchungen

Pakete, Dauern und max. Kinder bleiben einzeln im Admin unter `/admin/event-center/packages` einstellbar. 3,5 Stunden sind überall für neue Buchungen deaktiviert, bei den Paketen bis 6 Jahre zusätzlich 3 Stunden. Großes Paket ab 7: max. 20 Kinder, kleines Paket ab 7: max. 12. Eine 0,3-Stunden-Testdauer am kleinen Paket ab 7 ist ebenfalls inaktiv, damit der öffentliche Startpreis nicht 24 € zeigt. Bestehende Buchungen behalten Dauer und Teilnehmer über die gespeicherte Dauer-ID. Unter den Paketen steht der Hinweis auf `bz@ksb-dueren.de`, je Paket im Admin änderbar. Dateien: `src/Entity/EventPackage.php`, `src/Controller/Admin/EventCenterAdminController.php`, `src/Controller/EventCenterBookingController.php`, `templates/admin/event_center/packages/index.html.twig`, `templates/event_center/booking/step1_5_package_selection.html.twig`, `migrations/Version20261103183000.php`. Kein Deploy.

## Newsletter-Zustimmung im Kurs-Excel

Die Checkbox „Ich möchte über neue Kurse und Angebote per E-Mail informiert werden“ wurde bei der Schwimmkurs-Buchung nicht gespeichert, deshalb fehlte sie im XLSX. Jetzt liegt sie als `newsletter_consent` an der Buchung und erscheint als Spalte „Newsletter-Zustimmung“ in Teilnehmer-Excel und CSV. Alte Buchungen bleiben leer, neue speichern Ja/Nein. Dateien: `src/Entity/Appointment.php`, `src/Controller/AppointmentController.php`, `src/Service/CoursePdfService.php`, `src/Controller/Admin/AdminCoursesController.php`, `templates/appointment/public_booking.html.twig`, `migrations/Version20261103184500.php`. Kein Deploy.
