Datenmodell und Gültigkeitsregeln der Vollmacht

Tabelle und Felder der Vollmacht, Validierung beim Speichern, Umgang mit entfernten Zeilen, Gültigkeits- und Abdeckungsregel sowie Quelle des Hinweises im Vertrag.

Die Vollmacht gehört zum Immobilienstamm (getMandates, saveMandates, getValidMandate); der Vertrag liest sie nur. Erfasst wird sie beim Speichern des Immobilienformulars (mandate_form = 1).

Datenmodell

Die Tabellennamen tragen in der Datenbank das eigene Präfix der Installation. property_mandate (20261101_001): property_id, owner_company_id, mandatary_company_id, scope (brokerage, management, full), date_from, date_to (NULL = offen), doc_id, note (höchstens 255), status (0, 1, 9), created_by, date_added, date_modified. Vor der Migration zeigt die Karte nur einen Hinweistext.

Validierung

  1. Ohne Bevollmächtigten: „Wählen Sie das bevollmächtigte Unternehmen aus der Liste.“
  2. Bevollmächtigter = Eigentümer: „Das bevollmächtigte Unternehmen kann nicht der Eigentümer selbst sein.“
  3. Ende vor Beginn: „Das Ende der Vollmacht kann nicht vor ihrem Beginn liegen.“ (Fehler in #error-mandate-i unter der Zeile).
  4. Eine nicht vorhandene Kennung der Dokumentenzentrale wird still auf 0 gesetzt.
  5. Das Formular schreibt mandate_ids aus der Antwort in versteckte Felder, damit das nächste Speichern die Zeilen aktualisiert.

Gültigkeit

  • Eine aus dem Formular entfernte Zeile wird status = 9 (die Historie bleibt).
  • Nur Zeilen mit status = 1 gelten; ein NULL-Ende ist offen.
  • Einen unbefristeten Vertragszeitraum deckt nur eine offene Vollmacht (mandateCovers()).
  • Der Hinweis in der Immobilienzeile des Vertragsformulars stammt aus getValidMandate(); getMandatedPropertyIds() liefert die Immobilien mit Vollmacht. Eine Lücke ist eine Warnung, kein Hindernis. Platzhalter in der Vertragsvorlage: {property_owner}, {mandate_clause}.

Dokument

Das Vollmachtsdokument wird über die Suche der Dokumentenzentrale gewählt und öffnet sich im gemeinsamen Viewer js-docmodal.