> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trassets.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# v1 Datenmodell: aktuell verfügbare Tabellen

> Die Tabellen, die aktuell unter /v1/ verfügbar sind, umgeformt nach den Response-Shape-Konventionen, und wie sie sich verknüpfen — Accounting, Operations und Property.

`/v1/` dokumentiert eine Tabelle erst, sobald sie live ist. Aktuell haben vier Domänen
mindestens eine dokumentierte Tabelle.

<CardGroup cols={2}>
  <Card title="Accounting" icon="book" href="/de/v1/data-model/accounting">
    `booking_header`, `booking_positions` und `budgets`, mit `period`-, `amount`- und
    `amount_per_sqm`-Objekten.
  </Card>

  <Card title="Operations" icon="clipboard-list" href="/de/v1/data-model/operations">
    `notifications` und `projects`, mit der Umbenennung zu `technical_object_id` und dem
    `hierarchy`-Array.
  </Card>

  <Card title="Property" icon="building" href="/de/v1/data-model/property">
    `technical_objects`, mit dem bedingten `property_structure_account_id`-Fallback.
  </Card>

  <Card title="Stakeholder" icon="users" href="/de/v1/data-model/stakeholder">
    `tenants`, mit Mietvertrags-Datumsfeldern und Kontaktdaten — die Spalten
    `phone_1`–`phone_3` sind noch nicht zu einem Array zusammengefasst.
  </Card>
</CardGroup>

<Note>
  `Property.properties` ist ebenfalls live unter `/v1/`, wird aber unverändert (inklusive
  der durchnummerierten Spalten `entrance_1`–`entrance_5`) statt umgeformt ausgeliefert —
  bewusst nicht Teil dieses Datenmodells. Nutze stattdessen das unversionierte
  [`Property.properties`](/de/data-model/property#properties). Jede andere Tabelle
  (`orders`, `property_structure`, `assets`, `contract_debits` usw.) ist noch nicht live
  unter `/v1/` und bleibt auf dem unversionierten Pfad.
</Note>

## Wie die v1-Tabellen zusammenhängen

`property_id` ist der Join-Key, den sich alle Tabellen auf dieser Seite teilen.

```mermaid theme={null}
graph LR
  properties["Property.properties<br/>(property_id)"]

  properties -->|property_id| booking_header["Accounting.booking_header"]
  properties -->|property_id| notifications["Operations.notifications"]
  properties -->|property_id| projects["Operations.projects"]
  properties -->|property_id| technical_objects["Property.technical_objects<br/>(to_id)"]
  properties -->|property_id| budgets["Accounting.budgets"]
  properties -->|property_id| tenants["Stakeholder.tenants"]

  booking_header -->|booking_header_id| booking_positions["Accounting.booking_positions"]
  notifications -->|technical_object_id| technical_objects
  notifications -->|report_id| projects
```

### Verknüpfungsschlüssel im Detail

| Key                             | Bedeutung                                                                                                                                                                                                                                                                                                    | Kardinalität                                   |
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------- |
| `property_id`                   | Identifiziert ein Objekt. Auf jeder Tabelle dieser Seite vorhanden.                                                                                                                                                                                                                                          | 1 Objekt → viele Zeilen in jeder Domäne        |
| `booking_header_id`             | Gruppiert Buchungspositionen unter einem Buchungskopf.                                                                                                                                                                                                                                                       | 1 `booking_header` → viele `booking_positions` |
| `technical_object_id`           | Verknüpft eine Meldung mit dem technischen Objekt, auf das sie sich bezieht. Referenziert `technical_objects.to_id`.                                                                                                                                                                                         | 1 technisches Objekt → viele Meldungen         |
| `report_id`                     | Verknüpft ein Projekt mit der Meldung, aus der es entstanden ist, falls zutreffend.                                                                                                                                                                                                                          | 1 Meldung → 0..N Projekte                      |
| `property_structure_account_id` | Bedingter Fallback-Fremdschlüssel auf das unversionierte `Property.property_structure`, vorhanden auf `booking_header`, `booking_positions` und `technical_objects`. Nur befüllt, wenn der primäre Join-Key der Tabelle die Zeile nicht abdeckt — die genaue Bedingung steht in der jeweiligen Feldreferenz. | variiert pro Tabelle, siehe Feldreferenz       |

`budgets` und `tenants` tragen als Join-Key in die Tabellen dieser Seite nur `property_id`
— weitere, externe Join-Keys (`account_id`, `floor_area_id`) stehen in ihren jeweiligen
Feldreferenzen.

<Note>
  Die oben genannten Kardinalitäten beschreiben das beabsichtigte Datenmodell, nicht
  unabhängig verifizierte Zeilenzahlen. `projects.creditor_id` und `projects.to_hdr_id` sind
  bewusst nicht Teil dieses Diagramms — beide sind in der [Operations-Feldreferenz](/de/v1/data-model/operations)
  als unzuverlässig markiert, also nicht als funktionierende Verknüpfung behandeln.
</Note>
