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.

SchrittTabelleErgebnis
Maklervertragcontract, contract_parties, contract_personVertrag, Parteien, Personen
zu vermittelnde Immobiliencontract_propertyFälle, Provision, Angebotsordner, Datenraumzugang
Kundenregistrierungcontract_registration, contract_registration_advertKopf und eine Zeile je Inserat, Entscheidung je Zeile
Angebotcontract_offerKauf- oder Mietangebot
Geschäftcontract_deal, contract_deal_paymentzugrunde liegender Vertrag, Zahlungen; die Zeilen der anderen Makler enden
Leistungsnachweiscontract_certificateProvision und USt., erfasste Rechnung
Änderung, Kündigung, Anlagecontract_event, contract_annexDokument, geänderte Laufzeit
digitale Annahmecontract_signatureUnterschrift 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

  1. Grundlegender Routenzugriff (Zugriff und Änderung auf der Route).
  2. Funktionsrecht vor dem Modellaufruf; Anlegen erfordert add, Ändern edit.
  3. 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.