Inventory Allocation Lifecycle¶
Models the lifecycle of an Inventory Allocation — the reservation of specific stock quantities to a channel, location, or order before physical fulfillment. Allocations move from planning through commitment to release or closure.
Object: allocation ·
States: 6 ·
Transitions: 8
State Diagram¶
flowchart LR
%% ── classDef palette ─────────────────────────────────────
classDef stInit fill:#0d9488,stroke:#0f766e,color:#fff,font-weight:bold
classDef stNorm fill:#3b82f6,stroke:#2563eb,color:#fff
classDef stOk fill:#16a34a,stroke:#15803d,color:#fff,font-weight:bold
classDef stFail fill:#dc2626,stroke:#b91c1c,color:#fff,font-weight:bold
classDef stHold fill:#d97706,stroke:#b45309,color:#fff
%% ── nodes ───────────────────────────────────────────────
draft(["Draft"])
active["Active"]
partially_fulfilled["Partially Fulfilled"]
fully_fulfilled[["Fully Fulfilled"]]
reallocated[["Reallocated"]]
cancelled[["Cancelled"]]
%% ── transitions ─────────────────────────────────
draft -->|"allocation-activated"| active
draft -->|"allocation-cancelled"| cancelled
active -->|"allocation-updated"| partially_fulfilled
active -->|"allocation-fulfilled"| fully_fulfilled
partially_fulfilled -->|"allocation-fulfilled"| fully_fulfilled
active -->|"allocation-reallocated"| reallocated
partially_fulfilled -->|"allocation-reallocated"| reallocated
active -->|"allocation-cancelled"| cancelled
%% ── class assignments ───────────────────────────
class draft stInit
class active,partially_fulfilled stNorm
class fully_fulfilled,reallocated stOk
class cancelled stFail
States¶
| State | Label | Description | Initial | Terminal |
|---|---|---|---|---|
draft |
Draft | Allocation plan created but not yet activated; quantities may still change. | ✓ | |
active |
Active | Allocation is live; stock is ring-fenced against the specified pool. | ||
partially-fulfilled |
Partially Fulfilled | Some allocated stock has been consumed by orders; remainder still reserved. | ||
fully-fulfilled |
Fully Fulfilled | All allocated stock has been consumed; allocation is complete. | ✓ | |
reallocated |
Reallocated | Remaining stock redirected to a different pool or location. | ✓ | |
cancelled |
Cancelled | Allocation voided before activation or mid-cycle; stock released to open pool. | ✓ |
Transitions¶
| From | To | Trigger | Guards |
|---|---|---|---|
draft |
active |
allocation-activated |
Sufficient stock available in source pool; Allocation window is within valid date range |
draft |
cancelled |
allocation-cancelled |
Allocation not yet activated |
active |
partially-fulfilled |
allocation-updated |
At least one order has consumed allocated stock; Remaining quantity > 0 |
active |
fully-fulfilled |
allocation-fulfilled |
All allocated quantity consumed by orders |
partially-fulfilled |
fully-fulfilled |
allocation-fulfilled |
Remaining quantity reached zero |
active |
reallocated |
allocation-reallocated |
Business decision to redirect remaining stock |
partially-fulfilled |
reallocated |
allocation-reallocated |
Remaining stock redirected mid-cycle |
active |
cancelled |
allocation-cancelled |
Emergency cancellation; no orders consumed stock |