{
 "about": "This is a process map made with Ver Dura Complexity (https://complexity.verdura.cc). It shows a multistep process as steps joined by what flows between them.",
 "howToRead": [
  "nodes: the steps of the process. Each has a name, a description, a class, tags, a lane (\"layer\" in the data), and maybe a group.",
  "objects: the things that flow between steps, such as a document, a decision or a product. A node \"requires\" objects (its inputs) and \"produces\" objects (its outputs).",
  "connections: each joins one output of a node (\"from\") to one input of another node (\"to\"). Both ends carry the same object. Follow connections to follow the process. A connection back to an earlier step is a loop.",
  "if: an output with \"if\" is produced only on that condition. Several outputs of one node with different conditions are a branch.",
  "classes: kinds of step (for example a person, a machine, a source). They may carry a description.",
  "tags: free marks on nodes. The tag \"Problem\" marks a step that has an issue.",
  "layers: the lanes of the map: places or stages of the process, in order. Every node and group is on one lane.",
  "groups: bundles of steps on one lane. A group may sit inside another group (\"parent\").",
  "notes: stage notes. Each is an observation about one or more steps (\"nodes\"): what works well there, what goes wrong, an idea. It has a heading, a text (\"body\"), maybe a type, and maybe tags. Read them to judge the steps they are on.",
  "noteTypes: the kinds of stage note, in the order the map owner ranks them (for example Good and Bad). A note with no type has none of them.",
  "place: \"start\" on the step the map owner marked as where the process begins, \"finish\" on the step where it ends. Other steps with no inputs or no outputs are further starting or end points.",
  "An input with nothing connected to it comes from outside the map; an output with nothing connected leaves the map or is not used yet."
 ],
 "asText": "https://complexity.verdura.cc/view/68xGLozpOdl4iYzwZdWlUSzs/map.txt",
 "openInBrowser": "https://complexity.verdura.cc/view/68xGLozpOdl4iYzwZdWlUSzs",
 "map": {
  "app": "complexity",
  "name": "Process demo",
  "flow": "left to right",
  "defaultClass": "cl-step",
  "classes": [
   {
    "id": "cl-step",
    "name": "Step"
   }
  ],
  "tags": [
   {
    "id": "tg-problem",
    "name": "Problem"
   },
   {
    "id": "tg-constraint",
    "name": "Constraint"
   },
   {
    "id": "tg-nodata",
    "name": "No data"
   },
   {
    "id": "tg-improve",
    "name": "For improvement"
   }
  ],
  "objects": [
   {
    "id": "o-order",
    "name": "Order"
   },
   {
    "id": "o-authorised-order",
    "name": "Authorised order"
   },
   {
    "id": "o-declined-payment",
    "name": "Declined payment"
   },
   {
    "id": "o-payment-failed-email",
    "name": "Payment failed email"
   },
   {
    "id": "o-order-to-fulfil",
    "name": "Order to fulfil"
   },
   {
    "id": "o-short-order",
    "name": "Short order"
   },
   {
    "id": "o-confirmation-email",
    "name": "Confirmation email"
   },
   {
    "id": "o-order-released-to-warehouse",
    "name": "Order released to warehouse"
   },
   {
    "id": "o-question-to-customer",
    "name": "Question to customer"
   },
   {
    "id": "o-agreed-change",
    "name": "Agreed change"
   },
   {
    "id": "o-cancellation",
    "name": "Cancellation"
   },
   {
    "id": "o-released-payment",
    "name": "Released payment"
   },
   {
    "id": "o-cancellation-email",
    "name": "Cancellation email"
   },
   {
    "id": "o-pick-list",
    "name": "Pick list"
   },
   {
    "id": "o-picked-items",
    "name": "Picked items"
   },
   {
    "id": "o-missing-item-report",
    "name": "Missing item report"
   },
   {
    "id": "o-checked-items",
    "name": "Checked items"
   },
   {
    "id": "o-packed-parcel",
    "name": "Packed parcel"
   },
   {
    "id": "o-labelled-parcel",
    "name": "Labelled parcel"
   },
   {
    "id": "o-tracking-number",
    "name": "Tracking number"
   },
   {
    "id": "o-captured-payment",
    "name": "Captured payment"
   },
   {
    "id": "o-shipping-email-with-tracking",
    "name": "Shipping email with tracking"
   },
   {
    "id": "o-parcel-in-transit",
    "name": "Parcel in transit"
   },
   {
    "id": "o-delivered-parcel",
    "name": "Delivered parcel"
   },
   {
    "id": "o-failed-delivery",
    "name": "Failed delivery"
   },
   {
    "id": "o-order-received",
    "name": "Order received"
   },
   {
    "id": "o-parcel-at-pickup-point",
    "name": "Parcel at pickup point"
   }
  ],
  "layers": [
   {
    "id": "ln-customer",
    "name": "Customer"
   },
   {
    "id": "ln-shop",
    "name": "Shop system"
   },
   {
    "id": "ln-service",
    "name": "Customer service"
   },
   {
    "id": "ln-warehouse",
    "name": "Warehouse"
   },
   {
    "id": "ln-carrier",
    "name": "Carrier"
   }
  ],
  "groups": [
   {
    "id": "g-checkout",
    "name": "Checkout",
    "layer": "ln-customer"
   },
   {
    "id": "g-ship",
    "name": "Shipping",
    "layer": "ln-shop"
   },
   {
    "id": "g-pick",
    "name": "Picking",
    "layer": "ln-warehouse"
   },
   {
    "id": "g-pack",
    "name": "Packing",
    "layer": "ln-warehouse"
   }
  ],
  "nodes": [
   {
    "id": "n-order",
    "name": "Place the order on the site",
    "description": "The customer fills the basket, enters the delivery address and pays by card or PayPal at checkout.",
    "class": "cl-step",
    "tags": [],
    "layer": "ln-customer",
    "place": "start",
    "requires": [],
    "produces": [
     {
      "id": "n-order-o1",
      "object": "o-order"
     }
    ]
   },
   {
    "id": "n-auth",
    "name": "Authorise the payment",
    "description": "The payment provider holds the amount on the card. The money is taken only when the parcel ships.",
    "class": "cl-step",
    "tags": [],
    "layer": "ln-customer",
    "group": "g-checkout",
    "requires": [
     {
      "id": "n-auth-i1",
      "object": "o-order"
     }
    ],
    "produces": [
     {
      "id": "n-auth-o1",
      "object": "o-authorised-order",
      "if": "payment approved"
     },
     {
      "id": "n-auth-o2",
      "object": "o-declined-payment",
      "if": "payment declined"
     }
    ]
   },
   {
    "id": "n-declined",
    "name": "Email: payment did not go through",
    "description": "",
    "class": "cl-step",
    "tags": [],
    "layer": "ln-customer",
    "group": "g-checkout",
    "requires": [
     {
      "id": "n-declined-i1",
      "object": "o-declined-payment"
     }
    ],
    "produces": [
     {
      "id": "n-declined-o1",
      "object": "o-payment-failed-email"
     }
    ]
   },
   {
    "id": "n-retry",
    "name": "Read the payment failed email",
    "description": "About a third of these customers come back and order again. Nobody follows up the rest.",
    "class": "cl-step",
    "tags": [
     "tg-nodata"
    ],
    "layer": "ln-customer",
    "requires": [
     {
      "id": "n-retry-i1",
      "object": "o-payment-failed-email"
     }
    ],
    "produces": []
   },
   {
    "id": "n-stock",
    "name": "Check stock for every item",
    "description": "Stock in the shop system is updated from the warehouse once an hour, so it can be out of date.",
    "class": "cl-step",
    "tags": [
     "tg-problem"
    ],
    "layer": "ln-customer",
    "group": "g-checkout",
    "requires": [
     {
      "id": "n-stock-i1",
      "object": "o-authorised-order"
     }
    ],
    "produces": [
     {
      "id": "n-stock-o1",
      "object": "o-order-to-fulfil",
      "if": "all items in stock"
     },
     {
      "id": "n-stock-o2",
      "object": "o-short-order",
      "if": "an item is missing"
     }
    ]
   },
   {
    "id": "n-confirm",
    "name": "Send the order confirmation",
    "description": "",
    "class": "cl-step",
    "tags": [],
    "layer": "ln-customer",
    "group": "g-checkout",
    "requires": [
     {
      "id": "n-confirm-i1",
      "object": "o-order-to-fulfil"
     }
    ],
    "produces": [
     {
      "id": "n-confirm-o1",
      "object": "o-confirmation-email"
     },
     {
      "id": "n-confirm-o2",
      "object": "o-order-released-to-warehouse"
     }
    ]
   },
   {
    "id": "n-read-conf",
    "name": "Get the confirmation",
    "description": "",
    "class": "cl-step",
    "tags": [],
    "layer": "ln-customer",
    "requires": [
     {
      "id": "n-read-conf-i1",
      "object": "o-confirmation-email"
     }
    ],
    "produces": []
   },
   {
    "id": "n-short",
    "name": "Ask the customer what to do",
    "description": "By email, within one working day. Phone if the order is over 200 €.",
    "class": "cl-step",
    "tags": [],
    "layer": "ln-customer",
    "requires": [
     {
      "id": "n-short-i1",
      "object": "o-short-order"
     }
    ],
    "produces": [
     {
      "id": "n-short-o1",
      "object": "o-question-to-customer"
     }
    ]
   },
   {
    "id": "n-choose",
    "name": "Choose: wait, swap or cancel",
    "description": "",
    "class": "cl-step",
    "tags": [],
    "layer": "ln-customer",
    "requires": [
     {
      "id": "n-choose-i1",
      "object": "o-question-to-customer"
     }
    ],
    "produces": [
     {
      "id": "n-choose-o1",
      "object": "o-agreed-change",
      "if": "wait or swap"
     },
     {
      "id": "n-choose-o2",
      "object": "o-cancellation",
      "if": "cancel"
     }
    ]
   },
   {
    "id": "n-amend",
    "name": "Change the order",
    "description": "Done by hand in the shop admin.",
    "class": "cl-step",
    "tags": [
     "tg-improve"
    ],
    "layer": "ln-customer",
    "requires": [
     {
      "id": "n-amend-i1",
      "object": "o-agreed-change"
     }
    ],
    "produces": [
     {
      "id": "n-amend-o1",
      "object": "o-order-to-fulfil"
     }
    ]
   },
   {
    "id": "n-cancel",
    "name": "Cancel and release the payment",
    "description": "",
    "class": "cl-step",
    "tags": [],
    "layer": "ln-customer",
    "requires": [
     {
      "id": "n-cancel-i1",
      "object": "o-cancellation"
     }
    ],
    "produces": [
     {
      "id": "n-cancel-o1",
      "object": "o-released-payment"
     },
     {
      "id": "n-cancel-o2",
      "object": "o-cancellation-email"
     }
    ]
   },
   {
    "id": "n-read-cancel",
    "name": "Get the cancellation",
    "description": "",
    "class": "cl-step",
    "tags": [],
    "layer": "ln-customer",
    "requires": [
     {
      "id": "n-read-cancel-i1",
      "object": "o-cancellation-email"
     }
    ],
    "produces": []
   },
   {
    "id": "n-picklist",
    "name": "Print the pick list",
    "description": "Pick lists are printed in two waves: 9:00 and 13:00.",
    "class": "cl-step",
    "tags": [],
    "layer": "ln-customer",
    "requires": [
     {
      "id": "n-picklist-i1",
      "object": "o-order-released-to-warehouse"
     }
    ],
    "produces": [
     {
      "id": "n-picklist-o1",
      "object": "o-pick-list"
     }
    ]
   },
   {
    "id": "n-pick",
    "name": "Pick the items from the shelves",
    "description": "About 2 orders in 100 have a wrong item or size.",
    "class": "cl-step",
    "tags": [
     "tg-problem"
    ],
    "layer": "ln-customer",
    "requires": [
     {
      "id": "n-pick-i1",
      "object": "o-pick-list"
     }
    ],
    "produces": [
     {
      "id": "n-pick-o1",
      "object": "o-picked-items",
      "if": "all found"
     },
     {
      "id": "n-pick-o2",
      "object": "o-missing-item-report",
      "if": "item not on the shelf"
     }
    ]
   },
   {
    "id": "n-check",
    "name": "Check items against the order",
    "description": "",
    "class": "cl-step",
    "tags": [],
    "layer": "ln-customer",
    "requires": [
     {
      "id": "n-check-i1",
      "object": "o-picked-items"
     }
    ],
    "produces": [
     {
      "id": "n-check-o1",
      "object": "o-checked-items"
     }
    ]
   },
   {
    "id": "n-pack",
    "name": "Pack the parcel",
    "description": "Box size is chosen by eye. Too many parcels ship half empty.",
    "class": "cl-step",
    "tags": [
     "tg-improve"
    ],
    "layer": "ln-customer",
    "requires": [
     {
      "id": "n-pack-i1",
      "object": "o-checked-items"
     }
    ],
    "produces": [
     {
      "id": "n-pack-o1",
      "object": "o-packed-parcel"
     }
    ]
   },
   {
    "id": "n-label",
    "name": "Print the shipping label",
    "description": "",
    "class": "cl-step",
    "tags": [],
    "layer": "ln-customer",
    "requires": [
     {
      "id": "n-label-i1",
      "object": "o-packed-parcel"
     }
    ],
    "produces": [
     {
      "id": "n-label-o1",
      "object": "o-labelled-parcel"
     },
     {
      "id": "n-label-o2",
      "object": "o-tracking-number"
     }
    ]
   },
   {
    "id": "n-capture",
    "name": "Take the payment",
    "description": "",
    "class": "cl-step",
    "tags": [],
    "layer": "ln-customer",
    "requires": [
     {
      "id": "n-capture-i1",
      "object": "o-tracking-number"
     }
    ],
    "produces": [
     {
      "id": "n-capture-o1",
      "object": "o-captured-payment"
     },
     {
      "id": "n-capture-o2",
      "object": "o-shipping-email-with-tracking"
     }
    ]
   },
   {
    "id": "n-read-ship",
    "name": "Get the shipping email",
    "description": "",
    "class": "cl-step",
    "tags": [],
    "layer": "ln-customer",
    "requires": [
     {
      "id": "n-read-ship-i1",
      "object": "o-shipping-email-with-tracking"
     }
    ],
    "produces": []
   },
   {
    "id": "n-collect",
    "name": "Collect the parcels",
    "description": "One pickup a day at 15:00. Parcels packed later wait until tomorrow.",
    "class": "cl-step",
    "tags": [
     "tg-constraint"
    ],
    "layer": "ln-customer",
    "requires": [
     {
      "id": "n-collect-i1",
      "object": "o-labelled-parcel"
     }
    ],
    "produces": [
     {
      "id": "n-collect-o1",
      "object": "o-parcel-in-transit"
     }
    ]
   },
   {
    "id": "n-deliver",
    "name": "Deliver the parcel",
    "description": "",
    "class": "cl-step",
    "tags": [],
    "layer": "ln-customer",
    "requires": [
     {
      "id": "n-deliver-i1",
      "object": "o-parcel-in-transit"
     }
    ],
    "produces": [
     {
      "id": "n-deliver-o1",
      "object": "o-delivered-parcel",
      "if": "someone at home"
     },
     {
      "id": "n-deliver-o2",
      "object": "o-failed-delivery",
      "if": "nobody at home"
     }
    ]
   },
   {
    "id": "n-receive",
    "name": "Receive the parcel",
    "description": "",
    "class": "cl-step",
    "tags": [],
    "layer": "ln-customer",
    "place": "finish",
    "requires": [
     {
      "id": "n-receive-i1",
      "object": "o-delivered-parcel"
     }
    ],
    "produces": []
   },
   {
    "id": "n-failed",
    "name": "Leave at a pickup point",
    "description": "After 7 days the parcel goes back to the shop. What happens then is not settled.",
    "class": "cl-step",
    "tags": [
     "tg-nodata"
    ],
    "layer": "ln-customer",
    "place": "finish",
    "requires": [
     {
      "id": "n-failed-i1",
      "object": "o-failed-delivery"
     }
    ],
    "produces": []
   }
  ],
  "connections": [
   {
    "id": "c-1",
    "from": {
     "node": "n-order",
     "entry": "n-order-o1"
    },
    "to": {
     "node": "n-auth",
     "entry": "n-auth-i1"
    }
   },
   {
    "id": "c-2",
    "from": {
     "node": "n-auth",
     "entry": "n-auth-o2"
    },
    "to": {
     "node": "n-declined",
     "entry": "n-declined-i1"
    }
   },
   {
    "id": "c-3",
    "from": {
     "node": "n-declined",
     "entry": "n-declined-o1"
    },
    "to": {
     "node": "n-retry",
     "entry": "n-retry-i1"
    }
   },
   {
    "id": "c-4",
    "from": {
     "node": "n-auth",
     "entry": "n-auth-o1"
    },
    "to": {
     "node": "n-stock",
     "entry": "n-stock-i1"
    }
   },
   {
    "id": "c-5",
    "from": {
     "node": "n-stock",
     "entry": "n-stock-o1"
    },
    "to": {
     "node": "n-confirm",
     "entry": "n-confirm-i1"
    }
   },
   {
    "id": "c-6",
    "from": {
     "node": "n-confirm",
     "entry": "n-confirm-o1"
    },
    "to": {
     "node": "n-read-conf",
     "entry": "n-read-conf-i1"
    }
   },
   {
    "id": "c-7",
    "from": {
     "node": "n-stock",
     "entry": "n-stock-o2"
    },
    "to": {
     "node": "n-short",
     "entry": "n-short-i1"
    }
   },
   {
    "id": "c-8",
    "from": {
     "node": "n-short",
     "entry": "n-short-o1"
    },
    "to": {
     "node": "n-choose",
     "entry": "n-choose-i1"
    }
   },
   {
    "id": "c-9",
    "from": {
     "node": "n-choose",
     "entry": "n-choose-o2"
    },
    "to": {
     "node": "n-cancel",
     "entry": "n-cancel-i1"
    }
   },
   {
    "id": "c-10",
    "from": {
     "node": "n-cancel",
     "entry": "n-cancel-o2"
    },
    "to": {
     "node": "n-read-cancel",
     "entry": "n-read-cancel-i1"
    }
   },
   {
    "id": "c-11",
    "from": {
     "node": "n-choose",
     "entry": "n-choose-o1"
    },
    "to": {
     "node": "n-amend",
     "entry": "n-amend-i1"
    }
   },
   {
    "id": "c-12",
    "from": {
     "node": "n-confirm",
     "entry": "n-confirm-o2"
    },
    "to": {
     "node": "n-picklist",
     "entry": "n-picklist-i1"
    }
   },
   {
    "id": "c-13",
    "from": {
     "node": "n-picklist",
     "entry": "n-picklist-o1"
    },
    "to": {
     "node": "n-pick",
     "entry": "n-pick-i1"
    }
   },
   {
    "id": "c-14",
    "from": {
     "node": "n-pick",
     "entry": "n-pick-o1"
    },
    "to": {
     "node": "n-check",
     "entry": "n-check-i1"
    }
   },
   {
    "id": "c-15",
    "from": {
     "node": "n-check",
     "entry": "n-check-o1"
    },
    "to": {
     "node": "n-pack",
     "entry": "n-pack-i1"
    }
   },
   {
    "id": "c-16",
    "from": {
     "node": "n-pack",
     "entry": "n-pack-o1"
    },
    "to": {
     "node": "n-label",
     "entry": "n-label-i1"
    }
   },
   {
    "id": "c-17",
    "from": {
     "node": "n-label",
     "entry": "n-label-o2"
    },
    "to": {
     "node": "n-capture",
     "entry": "n-capture-i1"
    }
   },
   {
    "id": "c-18",
    "from": {
     "node": "n-capture",
     "entry": "n-capture-o2"
    },
    "to": {
     "node": "n-read-ship",
     "entry": "n-read-ship-i1"
    }
   },
   {
    "id": "c-19",
    "from": {
     "node": "n-label",
     "entry": "n-label-o1"
    },
    "to": {
     "node": "n-collect",
     "entry": "n-collect-i1"
    }
   },
   {
    "id": "c-20",
    "from": {
     "node": "n-collect",
     "entry": "n-collect-o1"
    },
    "to": {
     "node": "n-deliver",
     "entry": "n-deliver-i1"
    }
   },
   {
    "id": "c-21",
    "from": {
     "node": "n-deliver",
     "entry": "n-deliver-o1"
    },
    "to": {
     "node": "n-receive",
     "entry": "n-receive-i1"
    }
   },
   {
    "id": "c-22",
    "from": {
     "node": "n-deliver",
     "entry": "n-deliver-o2"
    },
    "to": {
     "node": "n-failed",
     "entry": "n-failed-i1"
    }
   }
  ],
  "noteTypes": [
   {
    "id": "ada79a02-d114-463a-8a37-800d629b86eb",
    "name": "Positive"
   },
   {
    "id": "47836396-c644-40d5-aa7f-58a3cf05119f",
    "name": "Negative"
   }
  ],
  "notes": []
 }
}