Handling an order
Without lanes, on a wide and low canvas: auto orientation turns the flow to run right. Each kind of step has its own shape — start and end, decisions, input and output, a subprocess and a data store.
Handling an order
examples/order-flow.json{
"schemaVersion": 1,
"type": "flow",
"title": "Handling an order",
"source": "Shop operations handbook",
"width": 1320,
"height": 420,
"flow": {
"nodes": [
{
"id": "received",
"label": "Order received",
"kind": "start"
},
{
"id": "paid",
"label": "Payment cleared?",
"kind": "decision"
},
{
"id": "reserve",
"label": "Reserve stock"
},
{
"id": "stock",
"label": "Inventory",
"kind": "store"
},
{
"id": "available",
"label": "In stock?",
"kind": "decision"
},
{
"id": "backorder",
"label": "Backorder",
"sublabel": "supplier",
"kind": "subprocess"
},
{
"id": "ship",
"label": "Ship parcel"
},
{
"id": "notify",
"label": "Notify customer",
"kind": "io"
},
{
"id": "delivered",
"label": "Delivered",
"kind": "end"
},
{
"id": "cancelled",
"label": "Cancelled",
"kind": "end"
}
],
"edges": [
{
"from": "received",
"to": "paid"
},
{
"from": "paid",
"to": "reserve",
"label": "yes"
},
{
"from": "paid",
"to": "notify",
"label": "no"
},
{
"from": "reserve",
"to": "stock",
"label": "update",
"dash": "dotted"
},
{
"from": "reserve",
"to": "available"
},
{
"from": "available",
"to": "ship",
"label": "yes"
},
{
"from": "available",
"to": "backorder",
"label": "no"
},
{
"from": "backorder",
"to": "reserve",
"label": "restocked",
"dash": "dashed"
},
{
"from": "ship",
"to": "delivered"
},
{
"from": "notify",
"to": "cancelled"
}
],
"mainPath": [
"received",
"paid",
"reserve",
"available",
"ship",
"delivered"
]
}
}Focus
Source: Shop operations handbook
Show chart data
| Step | Kind | Leads to |
|---|---|---|
| Order received | start | Payment cleared? |
| Payment cleared? | decision | Reserve stock (yes), Notify customer (no) |
| Reserve stock | step | Inventory (update), In stock? |
| Notify customer | input or output | Cancelled |
| Inventory | data store | |
| In stock? | decision | Ship parcel (yes), Backorder (no) |
| Cancelled | end | |
| Ship parcel | step | Delivered |
| Backorder | subprocess | Reserve stock (restocked) |
| Delivered | end |