Der vollständige Zustandsraum
Sechs Zustände, zwei Wartezustände als parallele Pause-Möglichkeiten, zwei Terminal-Zustände. Die State-Machine ist bewusst kompakt — Hausmeister erinnern sich an die Zustände, ohne ein Schulungs-Manual zu öffnen:
stateDiagram-v2
direction LR
[*] --> angelegt
angelegt --> geplant : termin_setzen
geplant --> in_arbeit : begonnen<br/>[Timer startet]
in_arbeit --> wartet_auf_material : material_fehlt<br/>[Timer pausiert]
in_arbeit --> wartet_auf_freigabe : freigabe_anfordern<br/>[Timer pausiert]
wartet_auf_material --> in_arbeit : material_da<br/>[Timer läuft weiter]
wartet_auf_freigabe --> in_arbeit : freigabe_erteilt<br/>[Timer läuft weiter]
wartet_auf_freigabe --> nicht_loesbar : freigabe_abgelehnt
in_arbeit --> abgeschlossen : erledigt<br/>[Foto + Zeit fließt]
in_arbeit --> nicht_loesbar : nicht_machbar
abgeschlossen --> [*]
nicht_loesbar --> [*]Der Zeit-Tracker ist an die Übergänge gekoppelt — kein separates Start/Stop-Konzept. Das verhindert klassische Fehler („Hausmeister vergisst Timer zu stoppen“). Sehr lange Timer-Läufe (>10 Std) lösen automatisch eine Warnung an den Verwalter aus.
Beispiel: Heizungswartung Lindenstraße 12
Hausmeister Herr K. erhält am Montagmorgen die Aufgabe „Jährliche Heizungswartung Lindenstraße 12, Frist 30. April“. Aufgabe steht im Tablet-Kalender für Dienstag 9 Uhr.
sequenceDiagram
autonumber
participant K as Hausmeister K.
participant T as Tablet-App
participant W as Workflow-Engine
participant V as Verwalter
participant L as Lieferant
participant S as Stundenzettel
K->>T: Dienstag 9:05 — "Begonnen"
T->>W: Zustand "in_arbeit", Timer startet
K->>T: Routine-Checks (Brenner, Pumpen, Filter)
K->>T: Foto "Brennerdüse defekt" + Notiz
K->>T: "Material fehlt: Düse Typ XY-200"
T->>W: Zustand "wartet_auf_material"<br/>Timer pausiert (45 Min gelaufen)
W-->>V: Push "K. wartet auf Material 3B-Heizung"
V->>L: Bestellung auslösen
L-->>V: Lieferung am Freitag
V->>T: Freitag — "Material da" markieren
T->>W: Zustand "in_arbeit"<br/>Timer läuft weiter
K->>T: Freitag 14:00 — Einbau und Test
K->>T: Abschluss-Foto "Brenner läuft"
K->>T: "Erledigt"
T->>W: Zustand "abgeschlossen"<br/>Timer stoppt (Σ 2h 15min)
W->>S: 2h 15min in Stundenzettel K.
W->>W: Material 87 € → Kostenstelle Objekt 12Die Wartezeit zwischen Dienstag und Freitag zählt nicht — der Timer pausiert konsistent. Am Monatsende sieht der Stundenzettel von Herrn K. die exakten 2h 15min für diese Aufgabe, und die Materialkosten von 87 € landen in der NK-Abrechnung für das Objekt.
Technisch erzwungene Compliance
Die zentrale Compliance-Frage bei Hausmeister-Aufgaben ist die korrekte Stundenzettel-Erfassung — sie ist arbeitsrechtlich (Mindestlohngesetz) und steuerrechtlich relevant. ImmoGenio koppelt die Erfassung an die Workflow-Transitions: kein Statuswechsel ohne Timer-Update, keine Arbeitszeit ohne dokumentierten Aufgaben-Bezug. Manuelle Korrekturen sind möglich, aber im Audit-Trail mit Person, Zeitpunkt und Begründung versehen.
Bei NK-Abrechnungen für Mieter und WEG-Wirtschaftsplänen ist die saubere Kostenstellen-Zuordnung der Knackpunkt. Aufgaben tragen ein Pflicht-Tag „Kostenstelle“, die Engine verweigert den Übergang nach abgeschlossen, wenn dieses Tag fehlt. So entsteht ein lückenloser Audit-Pfad von der einzelnen Hausmeister-Stunde bis zur Position in der Jahresabrechnung — DIN 18960-konform.