{
  "schemaVersion": "0.1-draft",
  "kind": "dol-archetype-template",
  "templateId": "salon.chairside@0.1.0",
  "domain": "personal-care.salon-barbershop",
  "displayName": "Chairside Salon & Barbershop Archetype",
  "runnable": false,
  "description": "Provider-neutral salon and barbershop model. A business overlay plus runtime bindings creates a separately scoped instance.",
  "instanceContract": {
    "requiresVenueBundle": true,
    "requiresUniqueInstanceId": true,
    "separatesBusinessState": true,
    "separatesIdentityAndBilling": true,
    "productionExecutorOwner": "business"
  },
  "amenities": [
    {
      "id": "business-identity",
      "name": "Business identity",
      "description": "Public brand, hours, policies, and isolated instance identity.",
      "locked": true,
      "defaultEnabled": true
    },
    {
      "id": "service-catalog",
      "name": "Service catalog",
      "description": "Services, durations, prices, preparation, and staff eligibility.",
      "locked": true,
      "defaultEnabled": true
    },
    {
      "id": "staff-resources",
      "name": "Staff & chairs",
      "description": "Working hours, staff eligibility, chairs, and cleanup buffers.",
      "locked": true,
      "defaultEnabled": true
    },
    {
      "id": "booking",
      "name": "Appointments",
      "description": "Availability, holds, confirmation, rescheduling, and cancellation.",
      "locked": true,
      "defaultEnabled": true
    },
    {
      "id": "client-context",
      "name": "Client preferences",
      "description": "Minimum necessary, consented customer context; no clinical records.",
      "locked": true,
      "defaultEnabled": true
    },
    {
      "id": "service-progress",
      "name": "Front desk & service",
      "description": "Check-in, in-service, completion, and truthful status updates.",
      "locked": true,
      "defaultEnabled": true
    },
    {
      "id": "waitlist",
      "name": "Walk-ins & waitlist",
      "description": "A local queue with explicit staff acceptance and no guaranteed appointment.",
      "locked": false,
      "defaultEnabled": true
    },
    {
      "id": "payments",
      "name": "Deposits & checkout",
      "description": "Optional provider binding. Quotes and simulated receipts are not charges.",
      "locked": false,
      "defaultEnabled": false
    },
    {
      "id": "communications",
      "name": "Reminders & rebooking",
      "description": "Consent-bound notification outbox and rebooking proposals; delivery requires a provider.",
      "locked": false,
      "defaultEnabled": true
    },
    {
      "id": "business-knowledge",
      "name": "Business knowledge",
      "description": "Grounded service and policy answers from the public bundle.",
      "locked": true,
      "defaultEnabled": true
    },
    {
      "id": "core-intelligence",
      "name": "Core Intelligence",
      "description": "Maps bounded text requests to typed proposals; cannot authorize actions.",
      "locked": false,
      "defaultEnabled": true
    },
    {
      "id": "core-voice",
      "name": "Core Voice",
      "description": "Optional replaceable voice adapter with a complete text fallback.",
      "locked": false,
      "defaultEnabled": false
    },
    {
      "id": "events-receipts",
      "name": "Events & receipts",
      "description": "Scoped projections, duplicate protection, and attributable outcomes.",
      "locked": true,
      "defaultEnabled": true
    },
    {
      "id": "administration",
      "name": "Owner operations",
      "description": "Inspect components, policy, operational state, and demo receipts.",
      "locked": true,
      "defaultEnabled": true
    },
    {
      "id": "accessibility",
      "name": "Accessibility",
      "description": "Required feature option: reduced motion, stronger contrast, larger text, and non-voice operation; baseline controls cannot be disabled.",
      "locked": true,
      "defaultEnabled": true
    },
    {
      "id": "booth-rental",
      "name": "Booth / chair rental",
      "description": "Optional relationship-scoped catalog and calendar ownership; production adapter not included.",
      "locked": false,
      "defaultEnabled": false
    },
    {
      "id": "inventory",
      "name": "Retail & inventory",
      "description": "Optional stock-aware retail contract; not activated in this sandbox.",
      "locked": false,
      "defaultEnabled": false
    },
    {
      "id": "ratings",
      "name": "Venue & professional ratings",
      "description": "Separate ratings tied to an eligible completed visit. Local sample ratings only; real submissions require verified sign-in and policy checks.",
      "defaultEnabled": true,
      "locked": false
    },
    {
      "id": "gallery-highlights",
      "name": "Gallery highlights",
      "description": "Planned shared component: owner-curated, consented, accessible highlights. Upload and moderation portal not yet implemented.",
      "defaultEnabled": false,
      "locked": false
    },
    {
      "id": "customer-feedback",
      "name": "Testimonials & private complaints",
      "description": "Planned shared component: OAuth/OIDC sign-in before submission, private complaint routing, separate testimonial publication consent and approval.",
      "defaultEnabled": false,
      "locked": false
    }
  ],
  "capabilityContract": {
    "id": "salon.chairside.capabilities@0.1.0",
    "path": "./contracts/salon-capabilities.json"
  },
  "policyProfiles": [
    {
      "id": "salon.chairside.sandbox@0.1.0",
      "path": "./policies/salon-sandbox.policy.json"
    }
  ],
  "intelligenceSkillsets": [
    {
      "id": "salon.chairside.reception@0.1.0",
      "path": "./skills/salon-reception.skill.json",
      "requiredAmenity": "core-intelligence"
    }
  ],
  "projectionRecipes": [
    {
      "id": "chairside.multi-surface@0.1.0",
      "path": "./projections/chairside.multi-surface.json"
    }
  ],
  "assurance": {
    "accessibility": {
      "available": true,
      "baselineRequired": true,
      "featureOption": "accessibility",
      "target": "WCAG 2.2 AA",
      "status": "design-mapped; partial automated and manual evidence required",
      "preferences": [
        "reduced-motion",
        "larger-text",
        "stronger-contrast"
      ],
      "neverRequire": [
        "voice",
        "diagnosis"
      ],
      "productionEvidenceRequired": true
    }
  },
  "activation": {
    "mode": "sandbox-only",
    "payments": "unbound",
    "notifications": "simulated",
    "liveGate": "owner-approved business bundle, trusted executor, durable storage, authenticated roles, provider bindings, accessibility/security review, acceptance and support plan"
  }
}
