# Fulfillment: deliver what was sold and get the customer live

> A process map exported from forks.world (https://forks.world). Author: Brian. Source: https://forks.world/p/cmv4pv6i9000cjm064th4bye4
> It describes who does what, in what order, and with which technology. Read the plain-language sections first; the JSON at the end is the exact, complete data.

## Summary

- 9 steps across 1 layer
- Persona: Operations, Customer, Field and implementation team
- Technology / systems: Order system

## Pain points

Where this process hurts, worst first:

- **Reset expectations and expedite** (Fulfillment: deliver what was sold and get the customer live; painful): Promised dates slip when sales and operations are not talking

## How to read this file

- A process is made of **layers**. The main layer is the top level; any step of kind `subprocess` opens a detail layer with its own lanes and steps.
- **Lanes** are either persona (people/roles) or technology (systems). Each step belongs to one lane; `using` lists tools a person uses for that step.
- Step kinds: `start`, `task`, `decision` (its arrows carry the answer as a label), `subprocess`, `end`.

## Fulfillment: deliver what was sold and get the customer live

Lanes:
- Operations: person / role (id `ops`)
- Customer: person / role (id `cust`)
- Field and implementation team: person / role (id `field`)
- Order system: technology / system (id `erp`)

Steps, in the order they run:

1. **Turn the signed deal into an order** [subprocess; Operations; id `d1`], links to the published process "Book the order" (https://forks.world/p/cmv0ie85m0031jw06skkzz6vc; full text at https://forks.world/api/public/cmv0ie85m0031jw06skkzz6vc/export)
   - then Check stock, capacity and dates
2. **Check stock, capacity and dates** [task; Order system; id `d2`]
   - then Can we deliver on time?
3. **Can we deliver on time?** [decision; Operations; id `d3`]
   - if "Yes" go to Deliver, install or implement; if "No" go to Reset expectations and expedite
4. **Deliver, install or implement** [subprocess; Field and implementation team; id `d4`], links to the published process "Dispatch a field service visit" (https://forks.world/p/cmv0ieaij003qjw06hwqkzohp; full text at https://forks.world/api/public/cmv0ieaij003qjw06hwqkzohp/export)
   - then Onboard the customer and train them
5. **Onboard the customer and train them** [subprocess; Operations; id `d5`], links to the published process "Onboard a new customer: the first 30 days" (https://forks.world/p/cmv0ie9m0003gjw06n4e7s0hw; full text at https://forks.world/api/public/cmv0ie9m0003gjw06n4e7s0hw/export)
   - then Use it for the first time
6. **Use it for the first time** [task; Customer; id `d6`]
   - then Is the customer getting value?
7. **Is the customer getting value?** [decision; Operations; id `d7`]
   - if "Yes" go to Hand over to the service team; if "No" go to Onboard the customer and train them
8. **Hand over to the service team** [end; Operations; id `d8`]
9. **Reset expectations and expedite** [task; Operations; id `d3a`] ⚠ PAIN POINT (painful): Promised dates slip when sales and operations are not talking
   - then Check stock, capacity and dates

```mermaid
flowchart LR
  subgraph l_ops["Operations"]
    n_d1[["Turn the signed deal into an order"]]
    n_d3{"Can we deliver on time?"}
    n_d3a["Reset expectations and expedite"]
    n_d5[["Onboard the customer and train them"]]
    n_d7{"Is the customer getting value?"}
    n_d8(["Hand over to the service team"])
  end
  subgraph l_cust["Customer"]
    n_d6["Use it for the first time"]
  end
  subgraph l_field["Field and implementation team"]
    n_d4[["Deliver, install or implement"]]
  end
  subgraph l_erp["Order system"]
    n_d2["Check stock, capacity and dates"]
  end
  n_d1 --> n_d2
  n_d2 --> n_d3
  n_d3 -->|"Yes"| n_d4
  n_d3 -->|"No"| n_d3a
  n_d3a --> n_d2
  n_d4 --> n_d5
  n_d5 --> n_d6
  n_d6 --> n_d7
  n_d7 -->|"Yes"| n_d8
  n_d7 -->|"No"| n_d5
```

## Full data (JSON)

```json
{
  "title": "Fulfillment: deliver what was sold and get the customer live",
  "maps": {
    "m_root": {
      "id": "m_root",
      "lanes": [
        {
          "id": "ops",
          "name": "Operations",
          "type": "person"
        },
        {
          "id": "cust",
          "name": "Customer",
          "type": "person"
        },
        {
          "id": "field",
          "name": "Field and implementation team",
          "type": "person"
        },
        {
          "id": "erp",
          "name": "Order system",
          "type": "system"
        }
      ],
      "steps": [
        {
          "id": "d1",
          "kind": "subprocess",
          "lane": "ops",
          "link": {
            "id": "cmv0ie85m0031jw06skkzz6vc",
            "scope": "public",
            "title": "Book the order"
          },
          "next": [
            {
              "to": "d2"
            }
          ],
          "uses": [],
          "label": "Turn the signed deal into an order"
        },
        {
          "id": "d2",
          "kind": "task",
          "lane": "erp",
          "next": [
            {
              "to": "d3"
            }
          ],
          "uses": [],
          "label": "Check stock, capacity and dates"
        },
        {
          "id": "d3",
          "kind": "decision",
          "lane": "ops",
          "next": [
            {
              "to": "d4",
              "label": "Yes"
            },
            {
              "to": "d3a",
              "label": "No"
            }
          ],
          "uses": [],
          "label": "Can we deliver on time?"
        },
        {
          "id": "d3a",
          "kind": "task",
          "lane": "ops",
          "next": [
            {
              "to": "d2"
            }
          ],
          "pain": {
            "note": "Promised dates slip when sales and operations are not talking",
            "level": 2
          },
          "uses": [],
          "label": "Reset expectations and expedite"
        },
        {
          "id": "d4",
          "kind": "subprocess",
          "lane": "field",
          "link": {
            "id": "cmv0ieaij003qjw06hwqkzohp",
            "scope": "public",
            "title": "Dispatch a field service visit"
          },
          "next": [
            {
              "to": "d5"
            }
          ],
          "uses": [],
          "label": "Deliver, install or implement"
        },
        {
          "id": "d5",
          "kind": "subprocess",
          "lane": "ops",
          "link": {
            "id": "cmv0ie9m0003gjw06n4e7s0hw",
            "scope": "public",
            "title": "Onboard a new customer: the first 30 days"
          },
          "next": [
            {
              "to": "d6"
            }
          ],
          "uses": [],
          "label": "Onboard the customer and train them"
        },
        {
          "id": "d6",
          "kind": "task",
          "lane": "cust",
          "next": [
            {
              "to": "d7"
            }
          ],
          "uses": [],
          "label": "Use it for the first time"
        },
        {
          "id": "d7",
          "kind": "decision",
          "lane": "ops",
          "next": [
            {
              "to": "d8",
              "label": "Yes"
            },
            {
              "to": "d5",
              "label": "No"
            }
          ],
          "uses": [],
          "label": "Is the customer getting value?"
        },
        {
          "id": "d8",
          "kind": "end",
          "lane": "ops",
          "next": [],
          "uses": [],
          "label": "Hand over to the service team"
        }
      ],
      "title": "Fulfillment: deliver what was sold and get the customer live",
      "parent": null
    }
  }
}
```
