Picking Task¶
aggregate-root fulfillment
An instruction to locate and collect specific items from a location to fulfil an order.
Business Purpose: Drive the physical pick execution step within the fulfilment workflow.
Identity¶
| Type | Field | Description |
|---|---|---|
global |
task-id |
System-assigned identifier unique per picking instruction. |
Attributes¶
| Attribute | Description |
|---|---|
task-id Task ID |
Stable picking task identifier. |
order-id Order ID |
Order reference this task fulfils. |
location-id Location ID |
Fulfilment location assigned. |
status Status |
Current task state. |
assigned-at Assigned At |
Timestamp when the task was generated. |
completed-at Completed At |
Timestamp when picking was confirmed. |
Lifecycle¶
created → started → completed → cancelled
Invariants¶
picking-task-requires-order-lines— A picking task must reference at least one order line.completed-task-requires-confirmed-quantities— A completed picking task must have confirmed quantities for all lines.
Relationships¶
| Type | Target |
|---|---|
belongs-to |
fulfillment-order fulfillment-order |
references |
order order |
Events¶
| Event | Classification | Terminal |
|---|---|---|
PickingStarted |
transitioned | — |
PickingCompleted |
transitioned | ✓ |
Used by Capabilities¶
- fulfillment-execution Fulfillment Execution
Used by Processes¶
Used by Applications¶
- SIM
sim
Semantic Constraints¶
| Constraint | Type | Rule |
|---|---|---|
picking-task-belongs-to-fulfillment-order |
association |
A Picking Task must belong to exactly one Fulfillment Order. |
Note
Added in EVT-001 to satisfy event cross-references. Fulfillment execution unit.
Referenced by APIs¶
| Endpoint | Method | Role | Capability |
|---|---|---|---|
/picking-orders |
POST | response |
fulfillment-execution |
/picking-orders/{id}/status |
PUT | response |
fulfillment-execution |