— GenioFlow · Master-Workflow

Master-Workflow Vermietung: Container für 14 Sub-Workflows über die Mietverhältnis-Laufzeit.

Ein Mietverhältnis dauert oft 10 Jahre, manchmal 30. In dieser Zeit passieren Mieterhöhungen, Modernisierungen, Schäden, Mietminderungen, Eigentümerwechsel und am Ende eine Kündigung mit Übergabe und Kautions-Rückzahlung. Statt jeden Vorgang als isoliertes Ticket zu führen, modelliert ImmoGenio das gesamte Mietverhältnis als Master-Workflow mit acht Lebenszyklus-Zuständen. Geschäftsprozesse innerhalb dieser Phasen laufen als Sub-Workflows, automatisch über Trigger-Bindings gestartet, lückenlos im Audit-Trail. Was sonst über fünf verschiedene Systeme verstreut wäre, ist hier eine einzige Zeitachse.

3–4 Std/Vorgang manuelle Verwaltung verteilt über E-Mail, Excel und CRM 20 Min/Vorgang im Workflow — Sub-Starts und Eskalationen automatisch
  • 8-State-Master-Workflow: anbahnung → mietvertrag_aktiv → laufende_vermietung → gekuendigt → uebergabe_durchgefuehrt → kaution_rueckzahlung_aktiv → mietvertrag_abgeschlossen → abgeschlossen.
  • Container für 14 Sub-Workflows: Vertragsabschluss, Mieterhöhung, Mietminderung, Modernisierung, Anfragen, Schäden, Kündigung 573c, Übergabe, Kaution-Rückzahlung u. a.
  • Trigger-Bindings (Migration M206): Parent-State × Event → Sub-Workflow-Typ datengetrieben, neue Sub-Typen per Migration nachrüstbar.
  • Lifecycle-Events: `child_started`, `child_completed`, `child_cancelled` — automatische Master-Transitions auf Basis von Sub-Abschluss.
  • Zeitachsen-Visualisierung: vollständige Mietverhältnis-Historie als horizontale Balken — 10-Sekunden-Überblick auf 10 Jahre.
  • Parallele Sub-Workflows erlaubt: Mieterhöhung + Mietminderung + Modernisierung gleichzeitig, Konflikt-Guard verhindert Duplikate desselben Typs.

So einfach funktioniert es

  1. 01

    Anbahnung mit Sub `vertragsabschluss`

    Master startet in `anbahnung`, automatischer Sub-Workflow für Selbstauskunft, Bonitätsprüfung, Vertragsunterzeichnung. Nach QES wechselt der Master in `mietvertrag_aktiv`.

  2. 02

    Laufende Vermietung mit parallelen Subs

    Master in `laufende_vermietung`. Mieterhöhungen, Modernisierungen, Anfragen, Schäden laufen je nach Auslöser als eigenständige Sub-Workflows — parallel und ohne Reihenfolge-Zwang.

  3. 03

    Beendigung als Sub-Kaskade

    Kündigung triggert Sub `kuendigung_573c`, dieser triggert nach Auslauf der Frist Sub `wohnungsuebergabe`, dieser triggert Sub `kaution_rueckzahlung`. Master folgt entsprechend.

Der vollständige Zustandsraum

Acht Zustände bilden den Lebenszyklus eines Mietverhältnisses ab. Der Hauptzustand laufende_vermietung ist die Zeit, in der das Mietverhältnis produktiv läuft — oft Jahre. Alle anderen Zustände sind Übergangsphasen mit klar definierten Ein- und Ausgängen:

qes_abgeschlossen

einzug_durchgefuehrt

kuendigung_zugestellt

uebergabe_abgeschlossen

kaution_starten

kaution_abgeschlossen

finalisieren

anbahnung

mietvertrag_aktiv

laufende_vermietung

gekuendigt

uebergabe_durchgefuehrt

kaution_rueckzahlung_aktiv

mietvertrag_abgeschlossen

abgeschlossen

Migration M204 legt die State-Map an, M206 die Sub-Workflow-Bindings, M207 die Lifecycle-Event-Konfiguration, M208 die Permission-Matrix, M214 die Zeitachsen-Materialized-View, M217 die Konflikt-Guards für parallele Subs und M232 die Erweiterung um den Zustand kaution_rueckzahlung_aktiv.

Sub-Workflow-Bindings

Die wichtigste Eigenheit des Master-Workflows ist die datengetriebene Steuerung der Sub-Workflows. In Migration M206 ist eine Bindings-Tabelle hinterlegt mit der Form (parent_state, trigger_event, sub_workflow_type, condition). Die wichtigsten Bindings:

Master

Subs

auto-start

auf Verwalter-Trigger

auf Mieter-Antrag

auf Eigentümer-Trigger

auf Anfrage-Eingang

auf Schaden-Eingang

auf Kündigungs-Eingang

auf Termin-Setzung

auto-start

anbahnung

laufende_vermietung

gekuendigt

uebergabe_durchgefuehrt

vertragsabschluss

mieterhoehung

mietminderung

modernisierung

anfrage_general

schaden

kuendigung_573c

wohnungsuebergabe

kaution_rueckzahlung

Die wichtigsten Sub-Workflows im Detail:

  • vertragsabschluss — Selbstauskunft, Bonitätsprüfung, QES, Wohnungsgeberbestätigung. Startet automatisch im Master-Zustand anbahnung.
  • mieterhoehung — Vergleichsmieten-Erhebung, Mieter-Anschreiben, Frist-Tracking, optional Räumungsklage. Auf Verwalter-Trigger startbar.
  • mietminderung — Mängel-Erfassung, Minderungs-Berechnung, Mieter-Verhandlung. Auf Mieter-Antrag startbar.
  • modernisierung_einspruch — Modernisierungs-Ankündigung nach § 555c BGB, Mieter-Einspruchsphase, Härtefall-Prüfung, Bauphase.
  • anfrage_general — Mieter-Anfragen aus Portal/E-Mail/WhatsApp (siehe Anfragen-Ticket-Workflow).
  • schaden — Versicherungsschäden mit Gutachter-Termin und Auszahlung.
  • kuendigung_573c — Mieter- oder Verwalter-Kündigung mit Frist-Tracking nach § 573c BGB.
  • wohnungsuebergabe — Übergabe mit Doppel-Signatur und Mängel-Erfassung (siehe Wohnungsübergabe-Workflow).
  • kaution_rueckzahlung — Kaution-Abrechnung mit Schadensabzug und Auszahlung an Treuhandkonto-Inhaber.

Weitere Sub-Workflow-Typen sind über Migrationen ergänzbar, ohne dass der Master-Workflow angepasst werden muss — die Bindings-Tabelle ist offen.

Beispiel: Mietverhältnis Frau S., Lindenstraße 12, App. 4B (2020–2026)

Frau S. zieht 2020 in die Wohnung ein, zieht 2026 aus. In dieser Zeit laufen mehrere Sub-Workflows. So sieht der Lebenszyklus aus der Master-Perspektive aus:

Sub kaution_rueckzahlung (2026)Sub wohnungsuebergabe (2026)Sub kuendigung_573c (2026)Sub modernisierung (2025)Sub mietminderung (2024)Sub mieterhoehung (2023)Sub vertragsabschlussMaster vermietungSub kaution_rueckzahlung (2026)Sub wohnungsuebergabe (2026)Sub kuendigung_573c (2026)Sub modernisierung (2025)Sub mietminderung (2024)Sub mieterhoehung (2023)Sub vertragsabschlussMaster vermietung2020-03 — Master startet in "anbahnung"2023-07 — Verwalter startet Mieterhöhung2024-02 — Heizungsausfall, Mieterin meldet2025-05 — Eigentümer plant Modernisierung2026-01 — Frau S. kündigtchild_started:vertragsabschluss1child_completed:vertragsabschluss (qes_ok)2Transition zu "mietvertrag_aktiv"3Einzug am 1. April 2020 → "laufende_vermietung"4child_started:mieterhoehung5child_completed:mieterhoehung (zustimmung)6child_started:mietminderung7child_completed:mietminderung (verhandelt)8child_started:modernisierung_einspruch9child_completed:modernisierung_einspruch (umgesetzt)10child_started:kuendigung_573c11child_completed:kuendigung_573c (frist_abgelaufen)12Transition zu "gekuendigt"13child_started:wohnungsuebergabe14child_completed:wohnungsuebergabe (abgeschlossen)15Transition zu "uebergabe_durchgefuehrt"16child_started:kaution_rueckzahlung17child_completed:kaution_rueckzahlung (auszahlung_ok)18Finale Transition zu "abgeschlossen"19

Sechs Jahre Mietverhältnis, sieben Sub-Workflows, eine durchgängige Audit-Spur. Der Verwalter sieht im Master-Cockpit die komplette Zeitachse mit allen Subs als horizontale Balken — ohne dass er Excel-Tabellen oder Aktenordner konsultieren muss.

Lifecycle-Events im Detail

Die drei Lifecycle-Events sind das technische Rückgrat der Master-Sub-Kommunikation. Jedes Event trägt eine strukturierte Payload und wird im Audit-Trail beider Workflows gespeichert:

  • child_started:<typ> — Master speichert die Sub-Referenz in einer Materialized View, der Master-Status-Badge zeigt „Sub läuft”. Bei parallelen Subs des gleichen Typs greift der Konflikt-Guard und blockiert den zweiten Start.
  • child_completed:<typ> — Sub hat Terminal-Zustand erreicht (z. B. erfolgreich oder widersprochen). Master prüft, ob aus diesem Status eine Master-Transition folgt. Bei child_completed:wohnungsuebergabe mit status=abgeschlossen triggert Master die Transition nach uebergabe_durchgefuehrt.
  • child_cancelled:<typ> — Sub wurde manuell abgebrochen. Master bleibt im aktuellen Zustand, schreibt Audit-Eintrag mit Begründung. Der Verwalter kann manuell entscheiden, ob ein Folge-Sub erforderlich ist.

Die Events sind asynchron: Ein Master-Workflow kann mehrere Events in kurzer Zeit empfangen und sequenziell verarbeiten. Die Engine garantiert Reihenfolge pro Master-Workflow-ID — keine Race-Conditions zwischen parallelen Subs.

Technisch erzwungene Compliance

Der Master-Workflow erzwingt drei Compliance-Eigenschaften, die in der Praxis oft schwierig sind: Vollständigkeit (kein Mietverhältnis verschwindet aus der Verwaltung, jedes hat einen aktuellen Zustand), Nachvollziehbarkeit (jeder Vorgang ist im Audit-Trail mit Person, Zeitpunkt und Begründung dokumentiert) und Anschlussfähigkeit (beim Eigentümerwechsel oder Verwalter-Wechsel ist die komplette Historie übergebbar — als PDF-Export oder als API-Datenstrom).

Die Sub-Workflow-Bindings sind nicht in Code, sondern in der Datenbank versioniert. Das bedeutet: Eine Anpassung an neue rechtliche Anforderungen (etwa neue WEG-Reform 2027) erfolgt per Migration, nicht per Deployment. Das schützt vor Drift zwischen Verwaltungspraxis und Software, weil die Sub-Workflow-Konfiguration so dokumentiert ist wie der Code, der sie ausführt.

Häufige Fragen

Was bedeutet „Master-Workflow" konkret im Unterschied zu einem Sub-Workflow?

Ein Master-Workflow ist ein Container mit langer Lebensdauer — beim Mietverhältnis oft 10 oder 20 Jahre. Er bildet die Lebenszyklus-Phase ab, in der sich das Mietverhältnis befindet (laufend, gekündigt, übergeben, abgeschlossen). Sub-Workflows sind die einzelnen Geschäftsprozesse innerhalb dieser Phasen — eine Mieterhöhung, eine Modernisierungsmaßnahme, eine Kündigung. Sub-Workflows haben eigene States, eigene Guards und eigene Dauer. Der Master ist „wo stehen wir", die Subs sind „was läuft gerade".

Wie werden Sub-Workflows automatisch gestartet?

In Migration M206 ist eine Bindings-Tabelle hinterlegt, die Trigger-Konfigurationen verwaltet: Parent-State × Event → Sub-Workflow-Typ. Beispiele: Im Zustand `anbahnung` startet automatisch ein `vertragsabschluss`-Sub. Beim Event `kuendigung_eingegangen` im Zustand `laufende_vermietung` startet automatisch ein `kuendigung_573c`-Sub. Beim Übergang nach `uebergabe_durchgefuehrt` startet automatisch ein `kaution_rueckzahlung`-Sub. Die Bindings sind datengetrieben — neue Sub-Workflow-Typen lassen sich per Migration ergänzen, ohne Code-Änderung.

Welche Lifecycle-Events kommuniziert der Master mit den Subs?

Drei zentrale Events werden bidirektional gefeuert: `child_started:<typ>` (ein Sub wurde gestartet — der Master speichert die Referenz und zeigt einen Badge), `child_completed:<typ>` (ein Sub ist im Terminal-Zustand — der Master entscheidet, ob daraus eine eigene Transition folgt), `child_cancelled:<typ>` (ein Sub wurde abgebrochen — der Master entscheidet über Eskalation). Beispiel: `child_completed:wohnungsuebergabe` triggert im Master die Transition von `gekuendigt` nach `uebergabe_durchgefuehrt`.

Wie sieht die Mietverhältnis-Historie für den Verwalter aus?

Der Master-Workflow rendert eine Zeitachsen-Visualisierung mit allen Sub-Workflows als horizontale Balken. Vertragsabschluss am Anfang, dann der lange `laufende_vermietung`-Balken, in dem mehrere Mieterhöhungen, eine Modernisierung und am Ende die Kündigung als kürzere Sub-Balken sichtbar sind. Jeder Sub-Balken ist anklickbar und führt direkt in die Workflow-Detailsicht. Das gibt dem Verwalter einen 10-Sekunden-Überblick über ein 10-Jahres-Mietverhältnis.

Was passiert, wenn ein Sub-Workflow fehlschlägt — etwa eine Mieterhöhung wird vom Mieter zurückgewiesen?

Sub-Workflows haben eigene Terminal-Zustände, darunter typischerweise `erfolgreich`, `widersprochen`, `abgebrochen`. Bei `child_completed:mieterhoehung mit status=widersprochen` bleibt der Master in `laufende_vermietung` — die Mieterhöhung ist gescheitert, das Mietverhältnis läuft unverändert weiter. Der Verwalter sieht den negativen Ausgang im Audit-Trail, kann nach Beratung mit dem Eigentümer eine neue Mieterhöhung starten (neuer Sub-Workflow) oder eine Räumungsklage als anderen Sub-Workflow einleiten.

Kann ein Mietverhältnis mehrere Sub-Workflows parallel haben?

Ja, das ist sogar der Normalfall. Während einer laufenden Modernisierungsmaßnahme kann gleichzeitig eine Mietminderung wegen Heizungsausfall laufen, und parallel dazu eine Mieterhöhung-Vorbereitung. Die Engine erlaubt parallele Subs, solange sie nicht denselben Typ haben (zwei parallele Mieterhöhungen sind blockiert — Konflikt-Guard). Der Master synchronisiert die Subs nicht inhaltlich, gibt aber dem Verwalter einen Konflikt-Hinweis: „Mieterhöhung läuft, gleichzeitig Mietminderung — wirtschaftlich abwägen."

Bereit, Ihre Verwaltung zu digitalisieren?

45 Tage volle Professional-Suite testen — Tarif-Wahl erst nach dem Test, ohne Bankdaten.