Aufbau und Datenfluss des Vertragsmoduls
Begriffe des Vertragsmoduls, Schritte und Tabellen des Makler-Workflows, die Eigentümermodelle und der Prüfstand.
Das Vertragsmodul verwaltet Verträge, den Workflow der Immobilienvermittlung, die Dokumenterzeugung und die digitale Annahme; der Datenraum gewährt Makler und Interessent Zugang.
Überblick
Eigentümer eines Vertrags ist der Client (contract.company_client_id); jede inhaltliche Berechtigung filtert darauf. Die Richtung (direction) bestimmt die Seite des Clients: customer ist die Verkäuferseite (Nummer V-JJJJ-NNNN), supplier die Käuferseite (Nummer SZ-JJJJ-NNNN).
Ablauf und Tabellen
Die Tabellennamen tragen in der Datenbank das eigene Präfix der Installation.
| Schritt | Tabelle | Ergebnis |
|---|---|---|
| Maklervertrag | contract, contract_parties, contract_person | Vertrag, Parteien, Personen |
| zu vermittelnde Immobilien | contract_property | Fälle, Provision, Angebotsordner, Datenraumzugang |
| Kundenregistrierung | contract_registration, contract_registration_advert | Kopf und eine Zeile je Inserat, Entscheidung je Zeile |
| Angebot | contract_offer | Kauf- oder Mietangebot |
| Geschäft | contract_deal, contract_deal_payment | zugrunde liegender Vertrag, Zahlungen; die Zeilen der anderen Makler enden |
| Leistungsnachweis | contract_certificate | Provision und USt., erfasste Rechnung |
| Änderung, Kündigung, Anlage | contract_event, contract_annex | Dokument, geänderte Laufzeit |
| digitale Annahme | contract_signature | Unterschrift und Nachweis |
Eigentümermodelle
Einziger Schreiber aller Vertragstabellen ist das Admin-Modell contract/contract; auf der Katalogseite gibt es schlanke Adapter (contract/brokerage für den Datenraum, contract/esign für die Signaturseite, contract/expiry für den Ablaufhinweis, contract/passthrough). Vorlagen, Gründe, Ablehnungsgründe und Tätigkeiten haben eigene Modelle. Fremdschlüssel auf Datenbankebene gibt es nur bei den Dokument- und Freigabetabellen; alle anderen Beziehungen sind logisch.
Berechtigungen
- Grundlegender Routenzugriff (Zugriff und Änderung auf der Route).
- Funktionsrecht vor dem Modellaufruf; Anlegen erfordert
add, Ändernedit. - Inhaltlicher Geltungsbereich: Der Vertrag filtert auf
company_client_id; Vorlagen, Gründe, Ablehnungsgründe und Tätigkeiten sind gemeinsame Stammdaten ohne Inhaltsfilter.
Bekannte Einschränkungen
Das Verhalten ist aus dem Code und aus Tests auf einer echten MariaDB belegt; es lief nicht in einem Live-Datenraum, mit echtem E-Mail-Versand, echter Drive-Ablage oder produktiver Zeitplanung. Die Module Vertragsvorlage, Vertragsaktion, Datenraum-Verlauf und Immobilieninserat sind im Menü als „In Entwicklung“ markiert.