Zum Inhalt springen

Fachobjekte: Case-Welt

Status: Entwurf

Die Vorgangs-Domäne. Das, was Anwender aktiv tun.

Case

Konkrete Bewertung / Berechnung einer Frage.

AttributBeschreibung
codeje Instanz eindeutig
namesprechend
case_typeCodeliste — liegenschafts_bewertung (Mandats-Case mit Modulwahl), holding_aggregation, unit_case, sanierungs_planung, mieterstrom_pruefung, portfolio_optimierung, renditerechner (investorisch, Erwerb durch Eigentümer prüfen)
liegenschaft_idmeist gesetzt (Hauptbezug)
eigentuemer_idbei Mandats-Cases gesetzt — sonst leer (Eigenbestand)
module_selectionListe der für diesen Case aktivierten Module (verwaltung, mieterstrom, messdienst, abrechnung, energieberatung, versicherung, mieter_access) — leer = noch nicht konfiguriert
tochter_idgesetzt bei unit_case (jeweiliges Modul wird genau von einer Tochter erbracht)
modell_idgewähltes Modell + Version
statusdraft → daten → analyse → entscheidung → freigabe → aktiv → archiv
ownerVerantwortlicher (User-Referenz)
assigneesMitwirkende (User-Liste)
approverFreigeber
created_at, created_by
decided_at, decided_bybei Freigabe
valid_from, valid_tofachliche Gültigkeit der Entscheidung

Dossier

Bündel aller Artefakte zu einem Case. Konzeptuell eng am Case (1:1), aber datenmodelltechnisch oft als eigene Aggregation modelliert.

Inhalte:

  • Stammdaten-Snapshot — eingefroren bei Freigabe
  • Modell-Snapshot — eingefroren bei Freigabe
  • Eingabewerte — Annahmen des Analysten (siehe Annahme)
  • Berechnungs-Outputs — Ergebnisse je Szenario
  • Dokumente — hochgeladene Anhänge (Exposé, Datenblätter, Verträge im Entwurf)
  • Kommentare — Threaded
  • Aufgaben — pro Case Mini-Todos
  • Agent-Vorschläge — KI-Output mit Begründung
  • Freigabe-Protokoll — wer-hat-wann-genehmigt
  • Reports — generierte PDF/Excel

Nach Freigabe: unveränderlich (Append-only auf Kommentar-Ebene erlaubt, alles andere eingefroren).

Szenario

Variante eines Case. Mehrere Szenarien hängen am gleichen Case.

AttributBeschreibung
codeje Case eindeutig
name„Best Case mit Förderung”, „Worst Case ohne PV”
kategoriebest, worst, realistisch, variante
is_tragendbool — markiert das gewählte Szenario für Freigabe
annahmen_jsonabweichende Parameter
ergebnis_jsonberechnete Kennzahlen (cached)

Annahme

Einzelner Parameter, den der Analyst pro Szenario setzt. Im einfachen Fall direkt im Szenario.annahmen_json, im erweiterten Fall als eigener Datensatz für Audit-Klarheit.

AttributBeschreibung
parameter_keyBezug zum Modell-Parameter
wertkonkreter Wert
einheitwenn relevant
begruendungFreitext
quelleStammdatum / Annahme / externe Quelle

Snapshot

Eingefrorene Kopie eines Stammdatums oder eines Modells zum Freigabezeitpunkt eines Case.

AttributBeschreibung
case_id
kindstammdaten, modell, entity_set
payload_jsonkomplette Kopie
frozen_atZeitpunkt
source_versionVersion des Originals

Spezialisierungen via case_type

Case ist generisch. Konkretisierungen über case_type:

case_typeBedeutung
liegenschafts_bewertungMandats-Case: Modulbündel für eine Liegenschaft eines Eigentümers konfigurieren und bewerten
unit_caseTochter-Beitrag zu einem einzelnen Modul eines Mandats
holding_caseAggregat über alle gewählten Module zu einem Mandat
sanierungs_planungreine Sanierungs-Wirtschaftlichkeit (Modul-Add-on oder eigener Case)
mieterstrom_pruefungreine Mieterstrom-Modul-Wirtschaftlichkeit
mieter_access_pruefungreine Mieter-Access-Modul-Wirtschaftlichkeit (perspektivisch, V2)
renditerechnerinvestorischer Case: Eigentümer prüft Erwerb einer Liegenschaft (Sheet „Renditerechner Immobilien” aus Excel-Vorlage)
portfolio_optimierungSolver-getrieben, mehrere Liegenschaften / Module gleichzeitig
vertriebs_caseexterne Präsentation (V2)

Verhalten kann je case_type variieren — andere Pflichtfelder, andere Workflows, andere Sichten. Mechanik im Spec-Modell über entity_type_attribute.required_when o. ä. (Detail offen — siehe docs/spec/90-governance/03-open-questions.md OP-14).

Verwandte Dokumente