/v1/ only documents a table once it’s live. Four domains currently have at least one
documented table.
Accounting
booking_header, booking_positions, and budgets, with period, amount, and amount_per_sqm objects.Operations
notifications and projects, with the technical_object_id rename and the hierarchy array.Property
technical_objects, with the conditional property_structure_account_id fallback.Stakeholder
tenants, with lease dates and contact fields — the phone_1–phone_3 columns aren’t arrayified yet.Property.properties is also live under /v1/, but is exposed as-is (raw numbered
entrance_1–entrance_5 columns and all) rather than reshaped — it’s deliberately left
out of this data model. Use the unversioned
Property.properties instead. Every other table
(orders, property_structure, assets, contract_debits, and so on) isn’t live under
/v1/ yet and stays on the unversioned path.How the v1 tables connect
property_id is the join key shared across every table on this page.
Join keys in detail
budgets and tenants only carry property_id as a join key into the tables on this
page — see their field references for other, external join keys (account_id,
floor_area_id).
Cardinalities above describe the intended data model, not independently verified row
counts.
projects.creditor_id and projects.to_hdr_id are deliberately left out of this
diagram — both are flagged as unreliable in the Operations field
reference, so don’t treat them as working joins.