Order Intake Profile Schema
Felder
Order Intake Profile Schema
ADR 0285 — tenant-configurable rule set that turns a confirmed weclapp sales order into a native project + positions + tasks + checklists.
name
Profile name.
isDefault
Exactly one active profile per tenant is the default (used when no party override matches).
enabled
Disabled profiles never run (rollout kill-switch).
partyId
Optional customer party this profile is pinned to; null = tenant-wide.
triggerGate
Explicit confirmation flag that must hold before the automation runs, evaluated against sales_order.weclappCustomAttributes. null = status pre-filter only.
projectDefaults
Defaults applied to the created project.
titleTemplate
Handlebars-subset template for the project title.
descriptionTemplate
Handlebars-subset template for the project (and, by default, task) description.
deadlineKey
weclappCustomAttributes key whose (date) value maps to project.endDate / task.dueDate (date-only, ADR 0285 G3).
orgUnitId
Dispo org unit the created project lands in (ADR 0285, Decision 7).
descriptionOnTasks
Whether to also copy the full description onto every task (matches the ITF n8n default).
writeBack
Optional narrow write-back to the weclapp sales order after materialisation. null = no write-back.
rules
Ordered match → outcome rules. The first matching rule wins per order position.
match
Match criteria against the (already-synced) article + order item. All present criteria must hold (AND). Omitted / null on the fallback rule.
position
Project-position outcome (ADR 0310) for a matched order item.
billingModel
Force the position billing model. null = derive from the order item unit (hour-like → time_and_material, fixed amount → flat_rate).
flat_ratetime_and_materialnulllimitMode
Hard budget cap on the lead task (ADR 0139). `derive` = take the cap from the order position (hour-like unit → minutes, fixed amount → amount); `minutes` / `amount` = force that dimension; `no_cap` = explicitly no cap. `none` is DEPRECATED — it used to mean `derive` while the UI labelled it "no cap", which made an explicit "no cap" inexpressible; it is still accepted (and read as `derive`) so profiles written before the rename keep working until the migration `scripts/migrations/2026-07-30-rename-intake-limit-mode.mjs` has run.
deriveminutesamountno_capnonetask
Task outcome for a matched order item.
titleTemplate
Handlebars-subset template for the task title.
checklistTemplateId
checklist_template to attach to the position / lead task (ADR 0217).
assign
Assignment outcome (ADR 0285, Decision 7 / ADR 0224).
mode
OPEN = unassigned, dispatcher schedules via "Aufgaben planen". FIXED = pin to userId/orgUnitId. DISPATCH_RULE = set task.dispatchPending + dispatchRuleId.
OPENFIXEDDISPATCH_RULEuserId
orgUnitId
dispatchRuleId
fallbackRule
Outcome applied to order positions that match no rule (ITF service/consulting default).
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/order_intake_profiles— Liste, paginiert + filterbarGET /api/v1/order_intake_profiles/<id>— Einzelne EntityPOST /api/v1/order_intake_profiles— AnlegenPATCH /api/v1/order_intake_profiles/<id>— Teil-UpdateDELETE /api/v1/order_intake_profiles/<id>— Soft-DeleteGET /api/v1/order_intake_profiles/<id>/timeline— Audit + Aktivitäten