Allocations
Commit reserved stone to accepted work.

Exact buttons and available actions can vary with company plan, role permissions and enabled capabilities. Stoneware workflow rules and server-side checks remain authoritative.
What allocation means
Reservation is a temporary hold; allocation is the stronger commitment of exact physical stock to accepted work.
Do not simulate allocation by manually editing slab status. Use the canonical reservation/quote-link allocation workflow.
1. Confirm the reservation
Check that the reservation is still valid, the intended slabs remain protected, and the correct commercial quote has been linked where required.
2. Allocate accepted work
The verified allocation action is POST reservations/{id}/allocate and accepts quote_link_id. The effective user/token must have manage_slab_allocations authority.
Server-side locking and workflow validation should prevent the same slab from being committed twice.
3. Verify the committed pieces
Review the resulting allocation and exact slab identities. The physical commitment should match the accepted quote/selection before warehouse execution starts.
4. Create fulfilment
When the order is ready for warehouse execution, create fulfilment from the eligible allocation. The verified contract can capture core_order_id, delivery_type, recipient, address, required_date and notes.
5. Cancel safely
Allocation cancellation is a controlled action and accepts a reason. Cancel only while the workflow state permits release of unfulfilled commitment.
Do not cancel after material has already moved through fulfilment in a way that would break custody/history; use the appropriate downstream reversal/return workflow instead.
Control point
A successful allocation is the boundary between commercial acceptance and warehouse execution. Permission checks, company scope, current stock state and concurrency protection remain authoritative.