Live-Verkauf serverseitig sperren, bis alle für einen echten Verkauf nötigen Angaben bestätigt sind. Testmodus und Vorschau bleiben ohne Freigabe nutzbar.
Umgesetzt
src/lib/sales-gate.ts wird von jedem Checkout-Endpunkt aufgerufen, nicht nur von der Oberfläche
Livemodus (sk_live_): Verkauf nur mit eingeschaltetem Live-Verkauf und allen elf Bestätigungen (Termin, Ort, Unterkunft, Leistungen, Veranstalter, Steuerhinweis, Bedingungen, Widerrufsbelehrung, reiserechtliche Prüfung, Platzzahl, Stammmodel-Kontingent)
Widerrufsbelehrung als Voraussetzung (Migration 20261001150000_widerruf, Test 5c4b8be)
Buchung sofort möglich, sobald alle Freigaben erteilt sind; vor dem 01.11.2026 dann zum Early-Bird-Preis (5c28788)
Ein Live-Schlüssel außerhalb von APP_ENV=production bricht mit einem Fehler ab
Admin-Dashboard zeigt „Fehlt für den Live-Verkauf“
Grundlage
docs/ARCHITEKTUR.md (ADR-6), docs/OFFENE-PUNKTE.md, tests/sales-gate.test.ts. Die fehlenden Freigaben selbst: #22.
Status
Code: ja · Geprüft: ja · Gemergt: ja · Produktiv: ja (im Cluster belegt ausgerollt sha-5a88f3d am 13.10.2026)
Stand: 2026-10-16 (Quelle: git origin/main 9785eb2, Gitea-CI-Läufe und Registry, Memory der Sessions)
## Ziel
Live-Verkauf serverseitig sperren, bis alle für einen echten Verkauf nötigen Angaben bestätigt sind. Testmodus und Vorschau bleiben ohne Freigabe nutzbar.
## Umgesetzt
- [x] `src/lib/sales-gate.ts` wird von jedem Checkout-Endpunkt aufgerufen, nicht nur von der Oberfläche
- [x] Livemodus (`sk_live_`): Verkauf nur mit eingeschaltetem Live-Verkauf und allen elf Bestätigungen (Termin, Ort, Unterkunft, Leistungen, Veranstalter, Steuerhinweis, Bedingungen, Widerrufsbelehrung, reiserechtliche Prüfung, Platzzahl, Stammmodel-Kontingent)
- [x] Widerrufsbelehrung als Voraussetzung (Migration `20261001150000_widerruf`, Test `5c4b8be`)
- [x] Buchung sofort möglich, sobald alle Freigaben erteilt sind; vor dem 01.11.2026 dann zum Early-Bird-Preis (`5c28788`)
- [x] Ein Live-Schlüssel außerhalb von `APP_ENV=production` bricht mit einem Fehler ab
- [x] Admin-Dashboard zeigt „Fehlt für den Live-Verkauf“
## Grundlage
`docs/ARCHITEKTUR.md` (ADR-6), `docs/OFFENE-PUNKTE.md`, `tests/sales-gate.test.ts`. Die fehlenden Freigaben selbst: #22.
## Status
Code: ja · Geprüft: ja · Gemergt: ja · Produktiv: ja (im Cluster belegt ausgerollt sha-5a88f3d am 13.10.2026)
Stand: 2026-10-16 (Quelle: git origin/main 9785eb2, Gitea-CI-Läufe und Registry, Memory der Sessions)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Ziel
Live-Verkauf serverseitig sperren, bis alle für einen echten Verkauf nötigen Angaben bestätigt sind. Testmodus und Vorschau bleiben ohne Freigabe nutzbar.
Umgesetzt
src/lib/sales-gate.tswird von jedem Checkout-Endpunkt aufgerufen, nicht nur von der Oberflächesk_live_): Verkauf nur mit eingeschaltetem Live-Verkauf und allen elf Bestätigungen (Termin, Ort, Unterkunft, Leistungen, Veranstalter, Steuerhinweis, Bedingungen, Widerrufsbelehrung, reiserechtliche Prüfung, Platzzahl, Stammmodel-Kontingent)20261001150000_widerruf, Test5c4b8be)5c28788)APP_ENV=productionbricht mit einem Fehler abGrundlage
docs/ARCHITEKTUR.md(ADR-6),docs/OFFENE-PUNKTE.md,tests/sales-gate.test.ts. Die fehlenden Freigaben selbst: #22.Status
Code: ja · Geprüft: ja · Gemergt: ja · Produktiv: ja (im Cluster belegt ausgerollt sha-5a88f3d am 13.10.2026)
Stand: 2026-10-16 (Quelle: git origin/main
9785eb2, Gitea-CI-Läufe und Registry, Memory der Sessions)