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
- Ohne Bevollmächtigten: „Wählen Sie das bevollmächtigte Unternehmen aus der Liste.“
- Bevollmächtigter = Eigentümer: „Das bevollmächtigte Unternehmen kann nicht der Eigentümer selbst sein.“
- Ende vor Beginn: „Das Ende der Vollmacht kann nicht vor ihrem Beginn liegen.“ (Fehler in
#error-mandate-iunter der Zeile). - Eine nicht vorhandene Kennung der Dokumentenzentrale wird still auf 0 gesetzt.
- Das Formular schreibt
mandate_idsaus 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 = 1gelten; 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.