ADR-006: Plan-Feature-Management¶
Stand: 06.08.2026 18:42 Branch: main Status: Akzeptiert
| Datum, Uhrzeit | Version | Änderung | Autor |
|---|---|---|---|
| 06.08.2026 18:42 | 1.0 | Bereits umgesetzte Architekturentscheidung aus CLAUDE.md in einen eigenständigen ADR migriert |
Codex |
Kontext¶
Tarife müssen festlegen können, welche Use Cases enthalten sind und welche Mengenbegrenzungen für Benutzer, Kunden und Equipment gelten. Einzelne Tenants benötigen zusätzlich überschreibbare Limits, beispielsweise während einer Testphase.
Die Entscheidung war bisher nur in CLAUDE.md, im Prisma-Schema und im Seed-Script dokumentiert.
Entscheidung¶
Plan-Features werden als systemweite Standardwerte in der Tabelle plan_features geführt und können für einzelne Tenants über dafür vorgesehene Tenant-Felder überschrieben werden.
plan_featuresist die zentrale Konfiguration pro Plan und Use Case.is_includedsteuert, ob ein Use Case in einem Plan enthalten ist.max_users,max_customersundmax_equipmentdefinieren Standardlimits.- Tenantbezogene Trial-Limits können die Standardwerte überschreiben.
- Neue Use Cases werden durch neue Konfigurationseinträge ergänzt, nicht durch fest codierte Planprüfungen.
Begründung¶
- Planregeln bleiben datengetrieben und zentral wartbar.
- Neue Use Cases oder geänderte Limits benötigen keine verteilten Codeänderungen.
- Systemweite Standards und tenantbezogene Ausnahmen sind klar getrennt.
- Die bestehende Prisma-Implementierung und das Seed-Script folgen bereits diesem Modell.
Konsequenzen¶
- Planprüfungen müssen
plan_featuresals maßgebliche Konfiguration verwenden. - Tenantüberschreibungen dürfen nur die ausdrücklich vorgesehenen Werte ersetzen.
- Änderungen an Planwerten müssen auditierbar und mit Seed- beziehungsweise Migrationslogik abgestimmt sein.
- Eine spätere Erweiterung der Preislogik soll dieses Datenmodell fortführen oder durch ein neues ADR ersetzen.
Umsetzungsstand¶
- Prisma-Modell
PlanFeature: umgesetzt - Seed-Daten: umgesetzt
- Vollständige administrative Pflegeoberfläche: noch offen
Verwandte Dokumente¶
backend/prisma/schema.prismabackend/prisma/seed.tsCLAUDE.md(historische Fundstelle)