{
  "generatedAt": "2026-09-19T20:28:53.139Z",
  "model": "typesafe-ai/jev",
  "note": "Three fictional tourism scenarios. Decisions must be validated against real staff-labelled data before automation.",
  "totals": {
    "inputTokens": 1768,
    "outputTokens": 357,
    "totalTokens": 2125
  },
  "examples": [
    {
      "id": "hotel-guest-triage",
      "title": "Boutique hotel guest-message triage",
      "sector": "Small hotel",
      "state": {
        "channel": "email",
        "property": "24-room boutique hotel",
        "message": "Our flight now lands at 23:50, so we may not reach the hotel until 1am. Can you confirm late check-in and arrange an airport pickup? We also need a vegan breakfast. It is our anniversary trip."
      },
      "questions": {
        "route": {
          "type": "choice",
          "instructions": "Which hotel team should own the initial response?",
          "criteria": {
            "reservations": "booking changes, cancellations, or inventory",
            "reception": "arrival, check-in, checkout, or access",
            "concierge": "transport, dining, experiences, or celebrations",
            "manager": "complaints, safety incidents, or escalation"
          }
        },
        "urgency": {
          "type": "score",
          "instructions": "How urgently should staff review this message?",
          "criteria": [
            "low: no time-sensitive action",
            "medium: action within one business day",
            "high: action before the guest arrives",
            "critical: immediate safety or in-stay intervention"
          ]
        },
        "humanReview": {
          "type": "boolean",
          "instructions": "Should staff review this before a reply is sent?",
          "criteria": {
            "true": "availability checks, operational confirmation, or judgement are needed",
            "false": "an approved static answer can resolve the message"
          }
        },
        "revenueOpportunity": {
          "type": "choice",
          "instructions": "What is the strongest immediate revenue opportunity?",
          "criteria": {
            "airportTransfer": "paid airport pickup",
            "roomUpgrade": "room upgrade or anniversary package",
            "foodAndBeverage": "paid dining or celebration amenity",
            "none": "no clear commercial opportunity"
          }
        }
      },
      "answers": {
        "route": {
          "type": "choice",
          "choice": "concierge",
          "probabilities": {
            "manager": 0,
            "reservations": 0.12,
            "reception": 0.4,
            "concierge": 0.48
          }
        },
        "urgency": {
          "type": "score",
          "score": 2,
          "probabilities": {
            "0": 0,
            "1": 0,
            "2": 1,
            "3": 0
          }
        },
        "humanReview": {
          "type": "boolean",
          "probability": 0.94
        },
        "revenueOpportunity": {
          "type": "choice",
          "choice": "roomUpgrade",
          "probabilities": {
            "roomUpgrade": 0.53,
            "foodAndBeverage": 0.03,
            "none": 0,
            "airportTransfer": 0.44
          }
        }
      },
      "usage": {
        "inputTokens": 663,
        "outputTokens": 146,
        "totalTokens": 809
      },
      "elapsedMs": 1056
    },
    {
      "id": "tour-disruption",
      "title": "Tour-operator disruption routing",
      "sector": "Tour operator",
      "state": {
        "channel": "WhatsApp",
        "booking": "Mekong day tour for 8 guests",
        "message": "The minibus has not arrived and we have been waiting outside the hotel for 35 minutes. Two guests need to be back by 5pm for a flight. The driver is not answering."
      },
      "questions": {
        "route": {
          "type": "choice",
          "instructions": "Which team should own the incident now?",
          "criteria": {
            "reservations": "booking amendments or cancellations",
            "operations": "supplier, driver, guide, or live-tour delivery",
            "finance": "refund or payment processing",
            "manager": "serious safety, legal, or reputation escalation"
          }
        },
        "urgency": {
          "type": "score",
          "instructions": "Rate the urgency of operational intervention.",
          "criteria": [
            "low: no live service affected",
            "medium: inconvenience without a near deadline",
            "high: live service failure or time-sensitive disruption",
            "critical: immediate danger or stranded vulnerable guests"
          ]
        },
        "serviceFailure": {
          "type": "boolean",
          "instructions": "Is there evidence that the booked service is failing?"
        },
        "managerEscalation": {
          "type": "boolean",
          "instructions": "Does a manager need to be alerted immediately?",
          "criteria": {
            "true": "material safety, flight, legal, or reputation exposure exists",
            "false": "operations can resolve it under the normal disruption process"
          }
        }
      },
      "answers": {
        "route": {
          "type": "choice",
          "choice": "operations",
          "probabilities": {
            "finance": 0,
            "manager": 0.01,
            "reservations": 0,
            "operations": 0.99
          }
        },
        "urgency": {
          "type": "score",
          "score": 2,
          "probabilities": {
            "0": 0,
            "1": 0,
            "2": 1,
            "3": 0
          }
        },
        "serviceFailure": {
          "type": "boolean",
          "probability": 0.96
        },
        "managerEscalation": {
          "type": "boolean",
          "probability": 0.88
        }
      },
      "usage": {
        "inputTokens": 571,
        "outputTokens": 102,
        "totalTokens": 673
      },
      "elapsedMs": 361
    },
    {
      "id": "review-recovery",
      "title": "Guest-review service recovery",
      "sector": "Hotel reputation",
      "state": {
        "source": "Google review",
        "rating": "2 stars",
        "message": "The room was beautiful and the receptionist was kind, but loud building work started at 7am on both mornings. Nobody warned us before arrival. Breakfast was also delayed on our final day and we nearly missed our train."
      },
      "questions": {
        "primaryIssue": {
          "type": "choice",
          "instructions": "What is the main service-recovery issue?",
          "criteria": {
            "noise": "construction, neighbours, entertainment, or room noise",
            "communication": "important information was not disclosed",
            "breakfast": "food quality, availability, or delay",
            "staff": "staff attitude or service behaviour"
          }
        },
        "recoveryPriority": {
          "type": "score",
          "instructions": "How strongly should management prioritise follow-up?",
          "criteria": [
            "low: neutral comment or isolated preference",
            "medium: dissatisfaction with limited impact",
            "high: serious service failure affecting the stay",
            "critical: safety, discrimination, fraud, or legal risk"
          ]
        },
        "publicResponse": {
          "type": "boolean",
          "instructions": "Should the hotel publish a personalised public response?"
        },
        "directFollowUp": {
          "type": "boolean",
          "instructions": "Should management contact the guest privately?"
        }
      },
      "answers": {
        "primaryIssue": {
          "type": "choice",
          "choice": "communication",
          "probabilities": {
            "breakfast": 0,
            "noise": 0.32,
            "staff": 0,
            "communication": 0.68
          }
        },
        "recoveryPriority": {
          "type": "score",
          "score": 1.87,
          "probabilities": {
            "0": 0,
            "1": 0.13,
            "2": 0.87,
            "3": 0
          }
        },
        "publicResponse": {
          "type": "boolean",
          "probability": 0.63
        },
        "directFollowUp": {
          "type": "boolean",
          "probability": 0.81
        }
      },
      "usage": {
        "inputTokens": 534,
        "outputTokens": 109,
        "totalTokens": 643
      },
      "elapsedMs": 440
    }
  ]
}
