{
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "$id": "https://usechartory.com/schemas/session-lanes.json",
 "description": "The data prop of <SessionLanes> (Chartory chart 125).",
 "type": "object",
 "title": "SessionLanesData",
 "properties": {
  "days": {
   "type": "number",
   "description": "The number of days."
  },
  "rows": {
   "type": "array",
   "items": {
    "type": "object",
    "title": "SessionLanesRow",
    "properties": {
     "label": {
      "type": "string",
      "description": "The name shown on the chart."
     },
     "act": {
      "type": "array",
      "items": {
       "type": "number"
      },
      "description": "The active hours."
     },
     "idleFrom": {
      "type": "number",
      "description": "Idle from this hour."
     },
     "blocked": {
      "type": "object",
      "title": "SessionLanesBlocked",
      "properties": {
       "d": {
        "type": "number",
        "description": "The day it is blocked from."
       },
       "text": {
        "type": "string",
        "description": "The label as shown."
       },
       "short": {
        "type": "string",
        "description": "The short form of the label, for the small sizes."
       }
      },
      "required": [
       "d",
       "text",
       "short"
      ],
      "description": "Where it is blocked and its label."
     },
     "state": {
      "type": "string",
      "description": "The state."
     },
     "tone": {
      "enum": [
       "ok",
       "warn",
       "bad"
      ],
      "description": "The tone of the mark (a colour token)."
     }
    },
    "required": [
     "label",
     "act",
     "state",
     "tone"
    ]
   },
   "description": "One entry per row."
  },
  "xl": {
   "type": "array",
   "items": {
    "type": "array",
    "prefixItems": [
     {
      "type": "number"
     },
     {
      "type": "string"
     }
    ],
    "minItems": 2,
    "maxItems": 2
   },
   "description": "The x axis labels: [position, label] pairs."
  }
 },
 "required": [
  "days",
  "rows",
  "xl"
 ]
}
