Zum Hauptinhalt springen
/v1/ umfasst sechs Datendomänen und dazu vorberechnete Objekt-Kennzahlen, unten nach Tabelle aufgeschlüsselt. Die Feldreferenz je Endpunkt steht in der API-Referenz.

Accounting

accounts, booking_headers, booking_positions, budgets und account_hierarchies

Contracts

service_contracts, contract_debits, contract_debit_diffs, contract_ends und index_rent

Depreciation

assets und depreciation

KPI (Preview)

property_kpis und property_kpis_by_floor_area_type, aggregiert aus den anderen Domänen

Operations

notifications, offers, orders, projects und requests

Property

properties, property_structure, property_creditor_services und technical_objects

Stakeholder

creditors, employees, owners und tenants

Wie die Tabellen zusammenhängen

property_id ist der Join-Key, den sich alle Tabellen auf dieser Seite teilen. Ein Buchungsvorgang erzeugt einen booking_headers, der alle dabei ausgelösten Buchungen (booking_positions) vereint. Buchungen können auf Konten unterschiedlicher Art gebucht werden — Sachkonto, Personenkonto, Kreditorkonto, Projektkonto oder Kostenstelle, siehe accounts.account_type_name. Da ein Buchungsvorgang in der Regel einen Kreditor, einen Mieter oder eine Kostenstelle betrifft, enthält booking_headers creditor_id, person_id und property_structure_account_id bereits selbst — der Join über booking_positions entfällt.
Zu jedem Konto kann es ein budget für einen bestimmten Monat geben. Bei einer Kostenstelle entspricht property_structure.account_id dem accounts.account_number der zugehörigen Konto-Zeile — nicht deren accounts.account_id. contract_debits referenziert über account_number das Sachkonto, auf das gebucht wird — gegen accounts.account_number. contract_debit_diffs nutzt denselben Feldnamen account_number, löst aber gegen ein Personenkonto auf — gleicher Spaltenname, andere Kontoart je Tabelle. contract_debits.debit_type.code ist etwas anderes, ein Sollart-Code, kein Kontenbezug (siehe die account_id-Zeile weiter unten).

Verknüpfungsschlüssel im Detail

Die oben genannten Kardinalitäten beschreiben das beabsichtigte Datenmodell.

Schlüsselaufbau: zusammengesetzt, aber nicht zerlegbar

Die Identifikatoren sind hierarchisch. Jeder trägt den darüberliegenden als wörtliches Links-Präfix, ein Mietverhältnis-Schlüssel nennt also Einheit und Objekt gleich mit:
Der Schlüssel entsteht durch Anhängen: 1002 (Objekt) + 10001 (Flächennummer) = floor_area_id 100210001; 100210001 + 100001 (Mieter-Nummer) = floor_area_person_id 100210001100001. Trotzdem nicht zurückzerlegen, um die Bestandteile zu ermitteln. Die Segmentbreiten sind nicht fest — dasselbe Objekt kann sowohl 45111 als auch 451110 als floor_area_id führen, 45111 ist also selbst ein Präfix von 451110 und ein Präfix-Vergleich damit mehrdeutig. Beim Bilden des Schlüssels fallen außerdem Trennzeichen weg: eine person_id "010-1" landet als Suffix 0101 und lässt sich nicht zurückgewinnen. property_id, floor_area_id und person_id direkt lesen statt den zusammengesetzten Wert zu zerschneiden.