Vermittlungszeilen, Provisionsberechnung und Datenraum-Abgleich
Das Datenmodell der Vermittlungszeile, die reinen Provisionsregeln, der gemeinsame interne Weg zum Abschließen einer Zeile und der Aufbau des Datenraumzugangs aus dem Vertrag.
Eine Vermittlungszeile (contract_property) ist eine Immobilie im Maklervertrag. Das Abschließen einer Zeile läuft über einen einzigen internen Endpunkt (contract/contract.closerow); den Datenraumzugang erzeugt der Vorgang syncContract() des Datenraum-Zugangsdienstes.
Datenmodell
Die Tabellennamen tragen in der Datenbank das eigene Präfix der Installation.
| Feld | Bedeutung |
|---|---|
property_id | die Immobilie aus den Stammdaten |
deal_type | zusammenfassende Art: sale, rent, share_sale, sale_rent (für ältere Leser) |
deal_cases | Fälle kommagetrennt: sale, share_sale, rent_long, rent_short; leer = deal_type entscheidet |
commission_rate, commission_share_rate, commission_months, commission_rent_rate | Provision je Fall |
date_from, date_to | Fenster des Vermittlungsrechts (NULL = Vertragslaufzeit) |
state | active, closed, ended |
end_reason | sold_by_other, rented_by_other, withdrawn, expired, manual, terminated |
closed_case | beim Abschluss der zustande gekommene Fall; der Leistungsnachweis rechnet damit |
ended_by_company_id, ended_by_name | wer verkauft hat |
date_ended, doc_share_id, note, sort_order | Beendigungstag, Angebotsordner, Notiz, Reihenfolge |
Bei einer älteren Zeile ist ein Fall mit dem Wert 0 nicht vermittelt und erscheint nicht im Dokument.
Provisionsberechnung
- Verkauf, Geschäftsanteil, Kurzzeitmiete: Provision = Basis × % (auf 0–100 begrenzt), auf zwei Dezimalstellen gerundet;
- Langzeitmiete: Provision = Netto-Monatsmiete × Monate;
- die Provision steht im Verhältnis der tatsächlich gezahlten Raten zu, daher entsteht je Zahlung ein Leistungsnachweis.
Abschließen einer Zeile
- Manuell: das Fenster „Status der Immobilie in der Vermittlung“ (
contract/contract.propertyclose, Rechtedit) mit Datum. - Aus einem Geschäft: Das Speichern eines Geschäfts mit Bezug auf einen aktiven, geschlossenen zugrunde liegenden Vertrag schließt die Zeile einmalig mit dem Fall des Geschäfts.
- Beide Wege rufen den internen Endpunkt
closerow: Bei Erfolg enden alle anderen aktiven Zeilen der Immobilie (sold_by_otheroderrented_by_other), die Makler erhalten eine fallabhängige E-Mail, und der Datenraumzugang jedes betroffenen Vertrags wird aktualisiert. - Aus der Immobilienliste können mit
masterdata/property+brokerenddie aktiven Zeilen aller Verträge beendet werden.
Der Angebotsordner einer beendeten oder abgeschlossenen Zeile bleibt bis zum Ende des Vortags des Beendigungsdatums erreichbar.
Datenraumzugang aus dem Vertrag
- Aus den mit
dataroommarkierten Personen der beauftragten Partei werden Benutzer, sofern noch nicht vorhanden; bei E-Mail-Übereinstimmung wird auch der Name geprüft. - Die Maklerfunktionen des Datenraums (
view,download,broker,terminate) werden für die Vertragslaufzeit vergeben (user_feature,source = order,origin = contract,source_ref = contract_id,access_mode = usable). - Die Angebotsordner werden für das Zeilenfenster vergeben (
doc_share_user.source = contract,source_ref = contract_property_id). - Nicht mehr gewünschte eigene Zeilen des Vertrags enden; manuelle Zeilen bleiben unberührt.
- Verlaufsereignisse:
access_granted,access_changed,access_revoked. Die Anmelde-E-Mail wird nicht automatisch versendet.
Die Gruppe neuer Datenraumbenutzer stammt aus der Erweiterungseinstellung „Datenraum – Gruppe neuer Benutzer“; ohne sie wird kein Benutzer angelegt, und der Fehler nennt den Ort der Einstellung.
Berechtigungen
Der Datenraum-Abgleich läuft mit contract/contract + grantaccess; ohne dieses Recht wird der Vertrag gespeichert, aber kein Zugang angelegt. Das Abschließen einer Zeile erfordert edit und den Inhaltsbereich.