Position Schema
Felder
Position Schema
Schema for organisational positions / Planstellen (Spec docs/specs/org-chart-v2.md, ADR 0097b)
name
Display name of the position (e.g. "Head of Marketing")
code
Stable internal position code (e.g. "POS-2026-00042"). Generated by sequence service; protected against client writes.
orgUnitId
Anchoring org unit. NULL is allowed for top-level positions without OU (Geschäftsführung, Aufsichtsrat, Datenschutzbeauftragter). Settings inheritance skips the OU layer when null.
parentPositionId
Disciplinary parent position (Linie). Resolver climbs this chain for MANAGER(DISCIPLINARY,…) lookups.
dottedLineParentIds
Functional / dotted-line parent positions (Matrix). Resolver uses these for MANAGER(FUNCTIONAL,…) lookups.
positionType
LINE: regular org-chart position. STAFF: staff position with read access over the parent branch (no own subordinates). PROJECT: project-bound. EXECUTIVE: GF/C-Level without disciplinary parent.
LINESTAFFPROJECTEXECUTIVEroleType
Role flavour — purely informational, drives UI badges.
MANAGERINDIVIDUAL_CONTRIBUTORLEADASSISTANTnullrequiredSkillIds
Skills expected for this position (FK skill_definition).
requiredDocuments
Documents the holder must provide (e.g. Führungszeugnis, NDA). Phase 6 generates onboarding tasks from this list.
costCenterId
FK auf cost_center. Übersteuert org_unit.costCenterId. Siehe ADR 0116a.
defaultApprovalLimit
Approval budget limit in EUR for this position (e.g. CFO: 50000).
validFrom
First day this position is effective.
validTo
Last day this position is effective. NULL = open-ended.
isActive
Soft activation flag. Inactive positions are excluded from approver resolution.
description
Long-form description / Stellenbeschreibung.
responsibilities
Keine Felder passen zum Filter.
Standard-Endpoints
Diese Resource folgt dem generischen CRUD-Vertrag der Plattform. Lesen Sie die Konventionen für Pagination, Idempotenz, Optimistic Locking und Audit. Die wichtigsten Endpoints:
GET /api/v1/positions— Liste, paginiert + filterbarGET /api/v1/positions/<id>— Einzelne EntityPOST /api/v1/positions— AnlegenPATCH /api/v1/positions/<id>— Teil-UpdateDELETE /api/v1/positions/<id>— Soft-DeleteGET /api/v1/positions/<id>/timeline— Audit + Aktivitäten