Der vollständige Zustandsraum
Der Vertragsabschluss ist ein Sub-Workflow innerhalb des Master-Workflows „vermietung”. Er modelliert sechs Zustände plus einen Terminal-Abbruch. Zentral sind drei Guards: Bonitäts-Ampel grün für bonitaet_freigeben, Vertrag-Entwurf liegt vor für qes_versenden, Aktivierungsdatum ≥ heute UND SEPA-Mandat versendet für mietvertrag_aktiv. Das Migration-Set M216 verankert die Tabellenstruktur und den initialen Guard-Code:
Der Übergang qes_signatur_empfangen wird nicht manuell vom Verwalter ausgelöst — er kommt als Webhook vom Skribble-Service. Die Engine validiert dabei das Zertifikat (eIDAS-konform) und legt das signierte PDF im Mietvertrags-Archiv ab. Der Verwalter sieht den Statuswechsel als Realtime-Update im Portal.
Beispiel: Wohnung „Frankfurter Allee 42, App. 3C” — Vertragsabschluss mit Frau M.
Die 3-Zimmer-Wohnung wurde im April inseriert, drei Besichtigungen wurden durchgeführt, Frau M. wurde als Wunschmieterin ausgewählt. Mietbeginn soll der 1. Juni sein.
Vom Auswahlentscheid bis zum aktiven Vertrag vergehen in diesem Beispiel weniger als 48 Stunden — Frau M. bekommt am Mittwoch den Magic-Link, signiert am Donnerstag, und der Vertrag wird zum 1. Juni um Mitternacht automatisch scharfgeschaltet.
Technisch erzwungene Compliance
Vermieter haften gegenüber dem Eigentümer für die Sorgfaltspflicht bei der Mieterauswahl. Wer einen Mietvertrag ohne Bonitätsprüfung abschließt und der Mieter zahlt nicht, kann mit Schadensersatzansprüchen konfrontiert werden. Klassische Hausverwaltungssoftware lässt diesen Schritt optional — ein Verwalter kann unter Zeitdruck oder aus Unachtsamkeit die Bonität überspringen.
ImmoGenio macht das technisch unmöglich. Der Guard zum Übergang qes_versendet prüft das Vorhandensein einer freigegebenen Bonität. Versucht der Verwalter, den Vertrag direkt zu versenden, blockiert die Engine den Übergang und liefert eine Begründung („Bonität nicht freigegeben — bitte zuerst SCHUFA-Abfrage durchführen oder Bürgschaft hinterlegen”). Im Audit-Trail wird jeder Guard-Fehlschlag dokumentiert — ein dokumentierter Versuch, den Prozess zu umgehen, ist Beweis für Sorgfaltsbewusstsein.
Manueller Override mit Begründung
Es gibt Fälle, in denen die SCHUFA-Auskunft nicht aussagekräftig ist — etwa bei Berufseinsteigern ohne Kredithistorie, bei ausländischen Mietern oder bei einer übernommenen Bürgschaft. Der Workflow erlaubt einen manuellen Override: Der Verwalter kann in „bonitaet_pruefen” mit einer Pflicht-Begründung („Bürgschaft von Bürgen-XY, Bonität geprüft”) in „bonitaet_freigegeben” wechseln. Diese Begründung wird im Audit-Trail mit Zeitstempel und User-ID gespeichert — und ist im Streitfall als bewusste Entscheidung dokumentiert, nicht als versäumter Schritt.