> ## 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 Contracts Datenmodell: Dienstleistungsverträge

> Feldreferenz für die v1-Contracts-Tabelle service_contracts, inklusive des contract_period-Objekts.

Die v1-Contracts-Domäne umfasst eine Tabelle: `service_contracts`, die den Regeln der
[Response-Struktur](/de/v1/response-shape-conventions) folgt.

<Note>
  `contract_debits`, `contract_debit_diffs` und `contract_ends` haben noch keinen
  `/v1/`-Endpunkt — bis dahin über den unversionierten Pfad abrufen, siehe das
  [vollständige Datenmodell](/de/data-model/contracts).
</Note>

## service\_contracts

`GET /v1/contracts/service_contracts` — Wartungs- und Dienstleistungsverträge.

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

<ResponseField name="creditor_id" type="string" required>
  Identifiziert den Dienstleister. Referenziert `Stakeholder.creditor` — siehe die
  [Stakeholder-Feldreferenz](/de/v1/data-model/stakeholder).
</ResponseField>

<ResponseField name="creditor_name" type="string">
  Anzeigename des Dienstleisters. In den meisten Zeilen `null` — verknüpfe stattdessen über
  `creditor_id` für einen zuverlässigen Namen.
</ResponseField>

<ResponseField name="contract_id" type="string" required>
  Vertrags-ID, ein formatierter String (z. B. `"2019/00015"`).
</ResponseField>

<ResponseField name="contract_number" type="string">
  Lesbare Vertragsnummer.
</ResponseField>

<ResponseField name="contract_name" type="string">
  Vertragsname.
</ResponseField>

<ResponseField name="contract_category" type="string">
  Vertragskategorie.
</ResponseField>

<ResponseField name="contract_type" type="string">
  Vertragstyp.
</ResponseField>

<ResponseField name="contract_period" type="object">
  Vertragslaufzeit — `{start, end}` (Datumsstrings).
</ResponseField>

<ResponseField name="contract_value" type="string">
  Vertragswert. Dezimalwert als String serialisiert (z. B. `"0.0000"`), keine JSON-Zahl —
  vor Rechenoperationen casten.
</ResponseField>

<ResponseField name="contract_value_year" type="string">
  Auf ein Jahr normalisierter Vertragswert. Dezimalwert als String serialisiert, wie
  `contract_value`.
</ResponseField>

<ResponseField name="contract_reasoning" type="string">
  Begründungscode für den Vertrag.
</ResponseField>

<ResponseField name="contract_reasoning_comment" type="string">
  Freitextkommentar zur Vertragsbegründung.
</ResponseField>
