{
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "$id": "https://usechartory.com/schemas/marey-schedule.json",
 "description": "The data prop of <MareySchedule> (Chartory chart 067).",
 "type": "object",
 "title": "MareyScheduleData",
 "properties": {
  "stops": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "description": "The stops, in order."
  },
  "t0": {
   "type": "number",
   "description": "The start time."
  },
  "t1": {
   "type": "number",
   "description": "The end time."
  },
  "xt": {
   "type": "array",
   "items": {
    "type": "array",
    "prefixItems": [
     {
      "type": "number"
     },
     {
      "type": "string"
     }
    ],
    "minItems": 2,
    "maxItems": 2
   },
   "description": "The x axis ticks: [value, label] pairs."
  },
  "vans": {
   "type": "array",
   "items": {
    "type": "object",
    "title": "MareyScheduleVan",
    "properties": {
     "label": {
      "type": "string",
      "description": "The name shown on the chart."
     },
     "tok": {
      "type": "string",
      "description": "The colour token, e.g. \"data/primary\"."
     },
     "times": {
      "type": "array",
      "items": {
       "type": "array",
       "prefixItems": [
        {
         "type": "number"
        },
        {
         "type": "number"
        }
       ],
       "minItems": 2,
       "maxItems": 2
      },
      "description": "The times: [start, end]."
     },
     "late": {
      "type": "boolean",
      "description": "Marks the van as late."
     }
    },
    "required": [
     "label",
     "tok",
     "times"
    ]
   },
   "description": "One entry per van."
  },
  "plan": {
   "type": "array",
   "items": {
    "type": "array",
    "prefixItems": [
     {
      "type": "number"
     },
     {
      "type": "number"
     }
    ],
    "minItems": 2,
    "maxItems": 2
   },
   "description": "The plan."
  }
 },
 "required": [
  "stops",
  "t0",
  "t1",
  "xt",
  "vans"
 ]
}
