> ## 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 Operations Datenmodell: Meldungen und Projekte

> Feldreferenz für die v1-Operations-Tabellen notifications und projects, inklusive der Umbenennung zu technical_object_id und dem hierarchy-Array.

Die v1-Operations-Domäne umfasst aktuell zwei reviewte Tabellen: `notifications` und
`projects`.

<Note>
  `notifications` und `projects` stellen im Live-v1-Schema jeweils über 20 Felder bereit.
  Diese Seite dokumentiert nur die wichtigsten Identifikations-, Verknüpfungs- und
  umgeformten Felder — die vollständige, automatisch generierte Feldliste findest du im
  Tab **API Reference**.
</Note>

## notifications

`GET /v1/operations/notifications` — Wartungsmeldungen und Schadensmeldungen.

<ResponseField name="report_id" type="integer" required>
  Eindeutige Meldungs-ID.
</ResponseField>

<ResponseField name="property_id" type="integer" required>
  Eindeutige Objekt-ID.
</ResponseField>

<ResponseField name="technical_object_id" type="integer">
  Technisches Objekt, auf das sich die Meldung bezieht. Referenziert
  `Property.technical_objects.to_id`.
</ResponseField>

<ResponseField name="person_id" type="integer">
  Meldende Person. Dies ist eine `bigint`-Sequenz aus einem anderen Subsystem — nicht mit
  demselben ID-Raum wie `person_id` auf `Accounting.booking_header` oder
  `Stakeholder.tenants` verwechseln.
</ResponseField>

<ResponseField name="cost_center_id" type="string">
  Kostenstelle, der die Meldung zugeordnet ist.
</ResponseField>

<ResponseField name="report_type" type="string">
  Art der Meldung.
</ResponseField>

<ResponseField name="priority_text" type="string">
  Prioritätsstufe.
</ResponseField>

<ResponseField name="Status" type="string">
  Aktueller Status der Meldung.
</ResponseField>

<ResponseField name="report_date" type="date">
  Datum der Erstellung der Meldung.
</ResponseField>

<ResponseField name="insurance_case" type="boolean">
  Ob die Meldung mit einem Versicherungsfall verknüpft ist.
</ResponseField>

## projects

`GET /v1/operations/projects` — Investitionsprojekte und größere Vorhaben mit mehreren
Aufträgen.

<ResponseField name="project_id" type="integer" required>
  Eindeutige Projekt-ID.
</ResponseField>

<ResponseField name="project_number" type="string">
  Lesbare Projektnummer — zu unterscheiden von `project_id` oben, das ist die ID für
  Lookups und Verknüpfungen.
</ResponseField>

<ResponseField name="property_id" type="integer" required>
  Eindeutige Objekt-ID.
</ResponseField>

<ResponseField name="cost_center_id" type="string">
  Kostenstelle, gegen die das Projekt gebucht wird.
</ResponseField>

<ResponseField name="creditor_id" type="integer">
  Hauptkreditor für das Projekt. Löst sich aktuell nicht gegen
  `Stakeholder.creditor.creditor_id` auf — als unzuverlässig behandeln, nicht als
  funktionierenden Fremdschlüssel, bis die Quelldaten korrigiert sind.
</ResponseField>

<ResponseField name="offer_id" type="integer">
  Zugehöriges Angebot, falls zutreffend.
</ResponseField>

<ResponseField name="report_id" type="integer">
  Zugehörige Meldung, falls das Projekt aus einer solchen entstanden ist.
</ResponseField>

<ResponseField name="to_hdr_id" type="integer">
  Sieht dem Namen nach wie eine Referenz auf ein technisches Objekt aus, ist es aber
  nicht — nur rund 3,5 % Treffer gegen `technical_objects.to_id`, auch gegen
  `orders`/`notifications` kein besserer Treffer. Die Zielentität ist ungeklärt; nicht als
  funktionierenden Fremdschlüssel behandeln.
</ResponseField>

<ResponseField name="hierarchy" type="string[]">
  Position in der Kostenaufschlüsselungs-Hierarchie, als geordnetes Array von der obersten
  Ebene abwärts. Leere Stufen werden weggelassen, die Array-Länge variiert also pro
  Projekt.
</ResponseField>

<ResponseField name="project_type" type="string">
  Projektart.
</ResponseField>

<ResponseField name="status" type="string">
  Aktueller Projektstatus.
</ResponseField>

<ResponseField name="project_budget" type="number">
  Gesamtes Budget für das Projekt.
</ResponseField>

<ResponseField name="percentage_completed" type="number">
  Fertigstellungsgrad in Prozent.
</ResponseField>

<ResponseField name="project_begin_date" type="date">
  Startdatum des Projekts.
</ResponseField>

<ResponseField name="project_end_date" type="date">
  Enddatum des Projekts.
</ResponseField>

<ResponseField name="projektleitung" type="string">
  Projektleitungs-Flag. Noch ein `'0'`/`'1'`-String, kein Boolean — die Bedeutung der
  beiden Werte ist mit dem Quellsystem noch nicht geklärt.
</ResponseField>
