{
  "$schema": "contracts/builder-template-registry.v1.json",
  "registryVersion": "1.0.0",
  "generatedAt": "2026-10-31T00:00:00.000Z",
  "source": {
    "factory": "tokhoreaisolutions-bit/tokhore-ai-template-factory",
    "consumer": "tokhoreaisolutions-bit/tokhore-ai-builder-app",
    "studio": "tokhore-template-factory-design-studio"
  },
  "demoOnly": true,
  "templates": [
    {
      "id": "mobile-service--level-3",
      "name": "Mobile Service — Booking & Dispatch",
      "type": "mobile-app",
      "version": "0.2.0+level-3",
      "status": "draft",
      "description": "Customer booking, availability, dispatcher board and driver mobile view with ride status.",
      "tags": [
        "booking",
        "dispatch",
        "drivers"
      ],
      "reuses": [
        "factory:mobile-service"
      ],
      "config": {
        "brandName": "SwiftRide Metro",
        "primaryColor": "#1f7a78",
        "modules": {
          "booking": true,
          "calendar": true,
          "dispatch": true,
          "driver-app": true,
          "customerAgent": true
        },
        "locale": "en-US",
        "notes": "",
        "assets": {
          "customerAgent": "{\"schema\":\"tokhore.customer-agent.v1\",\"source\":\"tokhore-template-factory-design-studio\",\"demoOnly\":true,\"runtimeProtectionVerified\":false,\"activationAuthorized\":false,\"config\":{\"schema\":\"tokhore.customer-agent.v1\",\"name\":\"Tokhore Care\",\"tone\":\"friendly\",\"greeting\":\"Hi, I'm {{name}}. I can check an order, explain what's included, or book a call.\",\"escalationWords\":[\"refund\",\"cancel\",\"complaint\",\"lawyer\",\"human\",\"person\",\"manager\"],\"escalationMessage\":\"I'm handing this to a member of our team so a person can answer it properly.\",\"contactEmail\":\"\",\"contactPhone\":\"\",\"roles\":[{\"id\":\"support\",\"name\":\"Support\",\"job\":\"Answer questions from the help docs, check order status and open tickets.\",\"greeting\":\"Support here — ask about your order, hours or what's included.\",\"skills\":[\"help_answer\",\"order_status\",\"open_ticket\",\"handoff_person\"],\"enabled\":true},{\"id\":\"sales\",\"name\":\"Sales\",\"job\":\"Explain packages and what's included, and pass serious enquiries to the team.\",\"greeting\":\"Sales here — tell me what you need and I'll explain the options.\",\"skills\":[\"help_answer\",\"leave_lead\",\"handoff_person\"],\"enabled\":true},{\"id\":\"booking\",\"name\":\"Booking\",\"job\":\"Take a request for a call or visit. A teammate confirms the real slot.\",\"greeting\":\"Booking here — tell me a day and time and I'll note the request.\",\"skills\":[\"book_appointment\",\"help_answer\",\"handoff_person\"],\"enabled\":true}],\"faq\":[{\"id\":\"faq-hours\",\"q\":\"What are your opening hours?\",\"a\":\"Our team is available Monday–Saturday, 8am to 6pm.\",\"keywords\":[\"hours\",\"open\",\"close\",\"available\"]},{\"id\":\"faq-included\",\"q\":\"What is included in a package?\",\"a\":\"Each package lists its own features; higher packages include everything in the lower ones plus more.\",\"keywords\":[\"included\",\"package\",\"features\",\"what do i get\"]},{\"id\":\"faq-timeline\",\"q\":\"How long does a build take?\",\"a\":\"A ready-made template build is usually a few working days; a custom build depends on scope.\",\"keywords\":[\"long\",\"timeline\",\"when\",\"days\",\"ready\"]},{\"id\":\"faq-changes\",\"q\":\"Can I change things after delivery?\",\"a\":\"Yes — you can request changes; the team quotes the work before doing it.\",\"keywords\":[\"change\",\"edit\",\"after delivery\",\"modify\"]}],\"orders\":[{\"id\":\"ORD-1042\",\"customer\":\"Rahman Legal\",\"item\":\"Business website + AI customer service agent\",\"status\":\"in_progress\",\"updated\":\"2026-10-28\"},{\"id\":\"ORD-1043\",\"customer\":\"Harbor Dental\",\"item\":\"Booking app with student/teacher plans\",\"status\":\"awaiting_approval\",\"updated\":\"2026-10-30\"}]}}"
        }
      },
      "preview": {
        "route": "/dispatch"
      },
      "reliability": {
        "$schema": "tokhore.reliability-requirements.v1",
        "version": "1.0.2",
        "status": "CODE_ONLY_UNVERIFIED",
        "domain": "booking-dispatch",
        "runtimeProtectionVerified": false,
        "activationAuthorized": false,
        "foundation": [
          {
            "id": "scoped-identity",
            "ref": "foundation/identity",
            "text": "Scoped identity: every action bound to an authenticated, tenant/client-scoped principal.",
            "status": "CODE_ONLY_UNVERIFIED"
          },
          {
            "id": "health-events",
            "ref": "foundation/observability",
            "text": "Redacted health events with incident correlation IDs; no secrets or personal data in events.",
            "status": "CODE_ONLY_UNVERIFIED"
          },
          {
            "id": "checkpoint-outbox",
            "ref": "foundation/durability",
            "text": "Durable checkpoint/outbox where side effects exist, so work resumes without loss or duplication.",
            "status": "CODE_ONLY_UNVERIFIED"
          },
          {
            "id": "safe-recovery",
            "ref": "foundation/recovery",
            "text": "Safe domain recovery: retries bounded, unknown outcomes reconciled before re-execution.",
            "status": "CODE_ONLY_UNVERIFIED"
          },
          {
            "id": "cost-guard",
            "ref": "foundation/cost-guard",
            "text": "Cost Guard budget limits and an operator kill switch for paid or external calls.",
            "status": "CODE_ONLY_UNVERIFIED"
          },
          {
            "id": "regression-tests",
            "ref": "foundation/testing",
            "text": "Isolation, recovery and security regression tests required before release.",
            "status": "CODE_ONLY_UNVERIFIED"
          },
          {
            "id": "release-approval",
            "ref": "foundation/release",
            "text": "Human release approval plus evidence-bound activation through canonical Builder governance.",
            "status": "CODE_ONLY_UNVERIFIED"
          }
        ],
        "domainRequirements": [
          {
            "id": "double-booking",
            "ref": "domain/booking",
            "text": "Slot reservation is atomic and idempotent; location/ETA data only from configured providers.",
            "status": "CODE_ONLY_UNVERIFIED"
          }
        ],
        "note": "Requirements only. Checkboxes or config here never prove active protection; verification and activation require canonical Builder governance evidence."
      }
    }
  ]
}
