{
  "schemaVersion": "1.0.0",
  "name": "Thermo Fisher GSS support flow",
  "status": "proposed",
  "scope": "Life-sciences instrument support",
  "mode": "synthetic-demo",
  "sources": [
    {
      "title": "Services and Support for Life Sciences Instruments",
      "url": "https://www.thermofisher.com/us/en/home/products-and-services/services/services-support-life-sciences-instruments.html"
    },
    {
      "title": "Global support contact instructions",
      "url": "https://docs.thermofisher.com/r/FreeStyle-User-guide-1.8-SP3-QF1/enGUID-4EDDEF80-1031-412E-AA58-BB54098B2386"
    },
    {
      "title": "Digital Services and Support Ecosystem",
      "url": "https://www.thermofisher.com/us/en/home/products-and-services/services/services-support-life-sciences-instruments/digital-service-innovations.html"
    }
  ],
  "entry": "A",
  "nodes": [
    {
      "id": "A",
      "type": "start",
      "label": "Incoming call"
    },
    {
      "id": "B",
      "type": "input",
      "label": "Welcome; choose language; confirm service country if needed"
    },
    {
      "id": "C",
      "type": "notice",
      "label": "Priority-contract customers: use the number in your contract"
    },
    {
      "id": "M",
      "type": "menu",
      "label": "Proposed GSS main menu"
    },
    {
      "id": "R1",
      "type": "route",
      "label": "Instrument fault or repair",
      "intent": "hardware"
    },
    {
      "id": "R2",
      "type": "route",
      "label": "Application or software help",
      "intent": "technical"
    },
    {
      "id": "R3",
      "type": "route",
      "label": "Maintenance, installation, qualification or training",
      "intent": "planned"
    },
    {
      "id": "R4",
      "type": "route",
      "label": "Existing case or service visit",
      "intent": "case"
    },
    {
      "id": "R5",
      "type": "route",
      "label": "Service plan, quote or renewal",
      "intent": "contract"
    },
    {
      "id": "R6",
      "type": "route",
      "label": "Order, delivery or invoice",
      "intent": "order"
    },
    {
      "id": "R0",
      "type": "route",
      "label": "Other request / general support",
      "intent": "general"
    },
    {
      "id": "I",
      "type": "input",
      "label": "Relevant product, optional case reference, contact and site; agent fallback"
    },
    {
      "id": "RT",
      "type": "routing",
      "label": "Select destination by intent, product, country and language"
    },
    {
      "id": "H",
      "type": "decision",
      "label": "Destination open?"
    },
    {
      "id": "Q",
      "type": "queue",
      "label": "Queue for selected team"
    },
    {
      "id": "V",
      "type": "decision",
      "label": "Agent available?"
    },
    {
      "id": "AG",
      "type": "end",
      "label": "Agent handoff with collected context"
    },
    {
      "id": "CB",
      "type": "input",
      "label": "Offer callback if enabled or regional online support"
    },
    {
      "id": "AH",
      "type": "notice",
      "label": "Play local opening hours; priority callers use contract number"
    },
    {
      "id": "CF",
      "type": "end",
      "label": "Confirm request or referral and end"
    }
  ],
  "edges": [
    {
      "from": "A",
      "to": "B"
    },
    {
      "from": "B",
      "to": "C"
    },
    {
      "from": "C",
      "to": "M"
    },
    {
      "from": "M",
      "to": "R1",
      "condition": "1"
    },
    {
      "from": "M",
      "to": "R2",
      "condition": "2"
    },
    {
      "from": "M",
      "to": "R3",
      "condition": "3"
    },
    {
      "from": "M",
      "to": "R4",
      "condition": "4"
    },
    {
      "from": "M",
      "to": "R5",
      "condition": "5"
    },
    {
      "from": "M",
      "to": "R6",
      "condition": "6"
    },
    {
      "from": "M",
      "to": "R0",
      "condition": "0 / repeated invalid input"
    },
    {
      "from": "R1",
      "to": "I"
    },
    {
      "from": "R2",
      "to": "I"
    },
    {
      "from": "R3",
      "to": "I"
    },
    {
      "from": "R4",
      "to": "I"
    },
    {
      "from": "R5",
      "to": "I"
    },
    {
      "from": "R6",
      "to": "I"
    },
    {
      "from": "R0",
      "to": "I"
    },
    {
      "from": "I",
      "to": "RT"
    },
    {
      "from": "RT",
      "to": "H"
    },
    {
      "from": "H",
      "to": "Q",
      "condition": "yes"
    },
    {
      "from": "H",
      "to": "AH",
      "condition": "no"
    },
    {
      "from": "Q",
      "to": "V"
    },
    {
      "from": "V",
      "to": "AG",
      "condition": "yes"
    },
    {
      "from": "V",
      "to": "CB",
      "condition": "long wait / overflow"
    },
    {
      "from": "AH",
      "to": "CB"
    },
    {
      "from": "CB",
      "to": "CF"
    }
  ],
  "controls": {
    "repeat": "9",
    "back": "*",
    "invalidInput": {
      "replays": 1,
      "fallback": "R0"
    }
  },
  "assumptions": [
    "Menu keys and queue labels are proposals, not published internal IVR configuration.",
    "Callbacks, hours, and product support depend on regional configuration.",
    "No global serial-number format is claimed.",
    "Chat adapts voice nodes to text; actual handoffs require real integrations."
  ]
}

