13. Unterschriften
Das Array signatures enthält die Unterschriften aller beteiligten Parteien. Ein vollständiger Bericht trägt drei Signaturen: Auftraggeber, Auftragnehmer und Bauleitung.
Felder
| Feldname | JSON-Key | Typ | Pflicht | Beschreibung | Beispiel |
|---|---|---|---|---|---|
| ID | id | UUID | ✓ | — | uuid |
| Bericht-ID | report_id | UUID | ✓ | — | uuid |
| Rolle | role | ENUM | ✓ | Signaturolle | CONTRACTOR |
| Name | name | VARCHAR(255) | ✓ | Vollständiger Name des Unterzeichners | Max Mustermann |
| Zeitstempel | signed_at | TIMESTAMP | ✓ | Datum und Uhrzeit der Unterzeichnung | 2025-06-12T17:45:00Z |
| Digitale Signatur | digital_signature | BLOB (bytea) | — | Kryptographische Signatur (optional) | base64-encoded bytes |
Signaturrollen (ENUM)
| Wert | Bedeutung |
|---|---|
CLIENT | Auftraggeber (z.B. DB InfraGO AG) |
CONTRACTOR | Auftragnehmer (ausführendes Bauunternehmen) |
SUPERVISOR | Bauleitung / Polier |
Signaturprozess
Ein Bericht durchläuft folgenden Signaturprozess:
- Auftragnehmer (
CONTRACTOR) schließt den Bericht ab und unterzeichnet - Bauleitung (
SUPERVISOR) prüft und unterzeichnet - Auftraggeber (
CLIENT) genehmigt und unterzeichnet → Bericht wechselt zuAPPROVED
JSON-Beispiel
{ "signatures": [ { "id": "uuid", "report_id": "uuid", "role": "CONTRACTOR", "name": "Max Mustermann", "signed_at": "2025-06-12T17:45:00Z", "digital_signature": null }, { "id": "uuid", "report_id": "uuid", "role": "SUPERVISOR", "name": "Erika Musterfrau", "signed_at": "2025-06-12T18:00:00Z", "digital_signature": null }, { "id": "uuid", "report_id": "uuid", "role": "CLIENT", "name": "Klaus Beispiel", "signed_at": "2025-06-12T18:30:00Z", "digital_signature": "dGhpcyBpcyBhIHNhbXBsZQ==" } ]}