API · v1 · stabil
CODEMETA OSDeveloper Center
Konsole öffnen
Entity · project_positions

Project Position Schema

Schema-ID
project_position
Collection
project_positions
Permissions
  • Lesenproject_position_view
  • Anlegenproject_position_create
  • Ändernproject_position_edit
  • Löschenproject_position_delete
Beziehungen

Felder

Project Position Schema

project_positions4 Permissions

ADR 0310 — optional billing/grouping layer between a project and its tasks; carries the billing model and aggregates the effort of its tasks.

projectIduuidoptional→ project

Owning project UUID.

positionNumberintegeroptional

Position number carried over from the sales order (display / ordering).

≥ 0nullable
sortOrderintegeroptional

Manual sort order within the project (drag & drop).

≥ 0nullable
titlestringerforderlich

Position title.

1–200 Zeichen
descriptionstringoptional

Position description.

max 4000 Zeichennullable
statusstringerforderlich

Position lifecycle status.

OPENDONECANCELLED
billingModelstringerforderlich

flat_rate = fixed price, bookings are a profitability metric only (never hard-blocked). time_and_material = billed by actual bookings; an optional cap lives on the task (limitMode).

flat_ratetime_and_material
plannedMinutesintegeroptional

Planned effort in minutes (Soll).

≥ 0nullable
plannedAmountstringoptional

Planned / sold net amount in EUR (Soll), decimal string.

Patternnullable
plannedAmountCurrencystringoptional

ISO 4217 currency for plannedAmount (default EUR when null).

Patternnullable
quantitystringoptional

Sold quantity carried over from the order item (decimal string).

Patternnullable
unitPricestringoptional

Unit price carried over from the order item (decimal string).

Patternnullable
netAmountstringoptional

Net amount carried over from the order item (decimal string).

Patternnullable
consumedMinutesintegeroptional

Sum of loggedMinutes of the tasks under this position (cached rollup).

≥ 0read-onlynullable
consumedAmountstringoptional

Sum of consumedAmount of the tasks under this position (cached rollup, EUR).

Patternread-onlynullable
articleIduuidoptional

Optional linked article UUID.

nullable
salesOrderIduuidoptional

Sales order this position was materialised from (order-import path).

read-onlynullable
salesOrderItemIdstringoptional

ID of the orderItem inside the linked sales_order (matches salesOrder.orderItems[].id).

read-onlynullable
salesOrderItemSourcestringoptional

Origin of the linked sales-order item — internal or weclapp.

internalweclappnull
read-onlynullable
billedAtdatetimeoptional

When this flat-rate position was put on a Leistungsnachweis (per-project billing run). Null = not billed yet.

read-onlynullable
performanceRecordIduuidoptional

Leistungsnachweis this position was billed on. Server-managed.

read-onlynullable
invoiceIduuidoptional

Invoice this position was billed on. Server-managed.

read-onlynullable

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/project_positions — Liste, paginiert + filterbar
  • GET /api/v1/project_positions/<id> — Einzelne Entity
  • POST /api/v1/project_positions — Anlegen
  • PATCH /api/v1/project_positions/<id> — Teil-Update
  • DELETE /api/v1/project_positions/<id> — Soft-Delete
  • GET /api/v1/project_positions/<id>/timeline — Audit + Aktivitäten

Suche