DB-Schema-Detailprüfung UC03 – Füll-Abo & Füllkarten-Verwaltung¶
Stand: 01.08.2026 14:55 Branch: docs/einheitliche-kopfbereiche Status: Abgeschlossen; Gegen vorhandene UC03-Spezifikation und Prisma-Zielschema v3 konzeptionell geprüft
| Datum, Uhrzeit | Version | Änderung | Autor |
|---|---|---|---|
| 01.08.2026 14:55 | 1.0 | Kopfbereich vereinheitlicht | David Mittig |
| 01.08.2026 11:12 | 1.0 | Kopfbereich ergänzt | David Mittig |
1. Prüfgrundlage¶
Geprüft wurde gegen:
docs/developer/uc03/uc03-spezifikation.md,backend/prisma/schema.prismav3,docs/developer/uc00/db-schema-zielbild-uc-matrix.md,docs/developer/db-schema.mdv6,docs/management/roadmap.md.
Korrekturhinweis:
Die frühere Fassung dieser Detailprüfung enthielt die falsche Aussage, dass keine eigene UC03-Spezifikation gefunden wurde. Die Spezifikation existiert und wurde in dieser Nachprüfung berücksichtigt.
2. Fachlicher UC-Zweck aus der Spezifikation¶
UC03 ermöglicht Tauchschulen, Füll-Abos, Füllkarten, Guthaben und einzelne Füllvorgänge auf Kundenebene zu verwalten.
Die Spezifikation beschreibt ausdrücklich ein gemeinsames Füllkonto- und Ledger-Modell. Dabei werden Füllkonto, Füllvorgang und Ledger-Buchungen als zentrale fachliche Wahrheit für Guthaben und Verbrauch definiert.
3. Spezifikationsanforderungen gegen Prisma-Zielschema¶
| Anforderung UC03 | Prisma-Zielschema v3 | Bewertung |
|---|---|---|
| gemeinsames Füllkonto-Modell | FillSubscription + FillCard getrennt |
abweichend |
| Ledger als fachliche Wahrheit | FillCardTransaction |
nur teilweise abbildbar |
fill_accounts |
nicht vorhanden | Abweichung |
fill_transactions |
nicht vorhanden | Abweichung |
fill_ledger_entries |
nicht vorhanden | Abweichung |
| Anzahlkarte | FillCard |
teilweise abbildbar |
| Bonuskarte 10+3 | keine separaten Felder paid_units, bonus_units |
nicht vollständig |
| Punktekarte | remainingCredits als Int |
nur eingeschränkt |
| Einzel-Füllung ohne dauerhaftes Füllkonto | aktuell schwierig, da FillCardTransaction.fillCardId Pflicht ist |
Abweichung |
| Korrektur / Storno über Gegenbuchung | FillCardTransactionType.correction vorhanden |
teilweise |
| append-only Ledger | nicht als eigenes Ledger modelliert | Abweichung |
| Gasart | gasMix Textfeld |
teilweise |
| Nitrox-Detaildaten FO₂ / Analyse | nicht vorhanden | offen |
| Offline / Konfliktstatus | über SyncQueue allgemein |
teilweise |
4. Feld-für-Feld-Bewertung¶
4.1 Aktuelles Prisma-Zielschema¶
Aktuell vorhanden:
FillSubscription,FillCard,FillCardTransaction,FillSubscriptionStatus,FillCardStatus,FillCardTransactionType.
Bewertung:
- Das Schema bildet ein einfaches V1-Füllkartenmodell ab.
- Es bildet nicht das in UC03 beschriebene gemeinsame Füllkonto-/Ledger-Modell vollständig ab.
4.2 Fehlende Spezifikationsfelder¶
In der UC03-Spezifikation beschriebene Felder, die im Prisma-Zielschema v3 nicht oder nicht sauber vorhanden sind:
account_type,balance_type,gas_scope,paid_units,bonus_units,initial_balance,current_balanceals Ledger-abgeleiteter Komfortwert,fill_model,consumption_units,fo2,analysis_confirmed_by,sync_status,balance_before,balance_after,related_entry_id,reasonals Pflichtgrund bei Korrektur / Storno.
5. Harte oder relevante Abweichungen¶
| Punkt | Bewertung | Empfehlung |
|---|---|---|
Spezifikation fordert fill_accounts |
Prisma hat FillSubscription und FillCard |
Zielmodell entscheiden |
| Spezifikation fordert Ledger als Wahrheit | Prisma hat nur FillCardTransaction |
FillLedgerEntry prüfen |
| Einzel-Füllung ohne Füllkonto | Prisma benötigt fillCardId |
fillCardId optional oder eigenes FillTransaction ergänzen |
| Bonus-/Punktemodell | Prisma zu einfach | Felder oder generisches Kontomodell ergänzen |
| Nitrox-Daten | fehlen | V1-Entscheidung nötig |
| Offline-Konfliktstatus | nicht direkt auf UC03-Tabellen | Sync-Konzept präzisieren |
6. Ergebnis¶
UC03 ist im Prisma-Zielschema v3 nicht vollständig gemäss vorhandener Spezifikation abgebildet.
Das aktuelle Prisma-Zielschema v3 bildet einen vereinfachten Füllkarten-/Füllabo-Kern ab, weicht aber vom in UC03 beschriebenen Füllkonto-/Ledger-Zielmodell ab.
Korrekte Statusformulierung:
UC03 ist gegen die vorhandene Spezifikation geprüft. Das Prisma-Zielschema v3 deckt einen einfachen UC03-V1-Kern ab, ist aber nicht vollständig konsistent mit dem spezifizierten Füllkonto- und Ledger-Modell.
7. Offene Nacharbeit¶
- [ ] Entscheidung: vereinfachtes Prisma-Modell behalten oder auf
fill_accounts,fill_transactions,fill_ledger_entriesumstellen. - [ ] Falls Spezifikation führend bleibt: Prisma-Schema für UC03 umbauen.
- [ ] Entscheidung zu Einzel-Füllung ohne dauerhaftes Füllkonto.
- [ ] Entscheidung zu Bonus- und Punktefeldern.
- [ ] Entscheidung zu Nitrox-Feldern FO₂ und Analysebestätigung.
- [ ] Entscheidung zu append-only Ledger und Korrektur-/Stornoregeln.
- [ ] UC03-Spezifikation und Prisma-Zielschema danach synchronisieren.
- [ ] Technische Prisma-Validierung bleibt offen.