Der vollständige Zustandsraum
Acht Zustände, drei davon mit Side-Effects: kategorisiert triggert ggf. einen Sub-Workflow (z. B. schaden), wartet_auf_extern startet das Eskalations-Tracking, bestaetigt schließt parallele Sub-Workflows ab. Der Workflow ist Standalone — kein Parent-Workflow erforderlich:
stateDiagram-v2
direction LR
[*] --> eingegangen
eingegangen --> kategorisiert : kategorisieren
kategorisiert --> zugewiesen : zuweisen
zugewiesen --> in_arbeit : bearbeitung_starten
in_arbeit --> wartet_auf_extern : extern_einbinden
wartet_auf_extern --> in_arbeit : extern_antwortet
in_arbeit --> behoben : behebung_melden
behoben --> bestaetigt : mieter_bestaetigt
behoben --> in_arbeit : mieter_reklamiert
bestaetigt --> abgeschlossen : abschliessen
behoben --> abgeschlossen : auto_nach_7_tagen
abgeschlossen --> [*]Der Rücksprung von behoben nach in_arbeit bei Mieter-Reklamation ist ein wichtiger Sicherheits-Querpfad: Hausmeister können „erledigt“ markieren, aber der Mieter hat das letzte Wort. Die implizite Bestätigung nach 7 Tagen verhindert verwaiste Tickets, ohne den Mieter zu übergehen.
Beispiel: Wasserfleck Decke Bad, Wohnung 3B
Mieterin Frau M. öffnet abends das Mieter-Portal und meldet: „Wasserfleck Decke Bad, seit gestern da, wird größer.“ Sie fotografiert die Stelle und reicht die Anfrage ein. Was dann passiert:
sequenceDiagram
autonumber
participant M as Mieterin Frau M.
participant P as Mieter-Portal
participant W as Workflow-Engine
participant V as Verwaltung
participant H as Hausmeister
participant N as Nachbar oben
participant S as Schaden-Sub-Workflow
participant I as Versicherer
M->>P: Anfrage + Foto "Wasserfleck Decke"
P->>W: Workflow starten, Zustand "eingegangen"
W->>W: Auto-Kategorisierung → "Schaden"
W-->>V: Push-Notification "Schadenmeldung 3B"
V->>W: Hausmeister H. zuweisen
H->>P: Anfrage öffnen, Termin "heute 16 Uhr"
H->>W: Zustand "in_arbeit"
H->>N: Klingelt bei Nachbar (Wohnung 4B)
H->>N: Rohrbruch unter Spüle identifiziert
H->>W: Schaden-Sub-Workflow starten (bridge)
W->>S: Sub-Workflow `schaden` läuft, Bridge zur Anfrage
S->>I: Schadensmeldung an Versicherer
W-->>M: Push "Ursache gefunden, Reparatur läuft"
H->>W: Anfrage auf "wartet_auf_extern"
Note over W: 4 Tage später: Klempner erledigt
H->>W: "behoben" markieren
W-->>M: Push "Erledigt — bitte bestätigen"
M->>P: "Problem gelöst" bestätigen
W->>W: Zustand "bestaetigt" → "abgeschlossen"Frau M. wurde zu vier Zeitpunkten informiert (Eingang, Ursache, Wartezustand, Erledigung). Der Schaden-Sub-Workflow lief parallel mit Versicherer-Anbindung. Die Anfrage selbst war nach 5 Tagen geschlossen — der Versicherungsfall läuft in seinem eigenen Sub-Workflow weiter.
Bridge zu Sub-Workflows
Anfragen sind oft die Eingangsseite zu komplexeren Prozessen. Die Bridge funktioniert über das Datenmodell-Feld bridge_workflow_id:
- Schadenmeldung mit Versicherer: Anfrage triggert Sub-Workflow
schaden(mit Versicherer-Kommunikation, Gutachter-Termin, Auszahlung). Anfrage bleibt sichtbar als „Wartet auf Versicherer“, der Bridge-Sub-Workflow läuft eigenständig. - Hausmeister-Aufgabe mit Zeit-Tracking: Anfrage triggert Sub-Workflow
aufgabe_status(siehe Hausmeister-Aufgaben-Workflow). Hausmeister bekommt die Arbeit als Aufgabe ins Tablet, Zeit-Tracking läuft automatisch in den Stundenzettel. - Instandsetzung mit Eigentümer-Freigabe: Größere Maßnahmen mit Kostenvoranschlag triggern Sub-Workflow
instandsetzungmit § 27 WEG-Freigabe-Prozess.
Die Bridge ist im Audit-Trail dokumentiert: Bei jeder Anfrage sehen Sie alle daran gekoppelten Sub-Workflows, bei jedem Sub-Workflow sehen Sie die ursprüngliche Anfrage. So bleibt die Eskalationskette auch bei langlaufenden Schadensfällen nachvollziehbar.
Technisch erzwungene Compliance
Der wichtigste Compliance-Aspekt ist die DSGVO-konforme Mieter-Kommunikation. Jede Push-Benachrichtigung, jede E-Mail, jede WhatsApp-Nachricht ist im Ticket dokumentiert — mit Inhalt, Empfänger, Kanal und Zeitstempel. Der Mieter kann Auskunft über alle ihn betreffenden Kommunikationen verlangen, ImmoGenio exportiert die Ticket-Historie als PDF. Interne Notizen, die mit dem Sichtbarkeits-Toggle „intern“ markiert sind, bleiben außen vor — § 26 BDSG-konform.
Die implizite Bestätigung nach 7 Tagen ist mietrechtlich abgesichert: Der Mieter erhält bei Eingang der Behebungsmeldung eine Push-Nachricht mit klarer Hinweis-Frist. Reagiert er nicht, dokumentiert der Audit-Trail den Versand und die Frist. Bei späterer Reklamation hat die Verwaltung einen rechtssicheren Nachweis, dass die Behebung gemeldet und nicht widersprochen wurde.