{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://centuryrides.org/schema/century_ride_planning_schema.json",
  "title": "Century Ride Event Planning Schema",
  "description": "JSON Schema specification for century ride operational parameters, timelines, logistics benchmarks, and financial modeling.",
  "type": "object",
  "required": [
    "title",
    "version",
    "publisher",
    "standard_event_profiles",
    "production_timeline_critical_path",
    "aid_station_logistics_benchmarks",
    "sag_fleet_ratios",
    "financial_model_benchmarks_350_riders"
  ],
  "properties": {
    "title": { "type": "string" },
    "version": { "type": "string" },
    "publisher": {
      "type": "object",
      "required": ["name", "url"],
      "properties": {
        "name": { "type": "string" },
        "url": { "type": "string", "format": "uri" },
        "dataset_url": { "type": "string", "format": "uri" },
        "documentation_url": { "type": "string", "format": "uri" },
        "pdf_package_url": { "type": "string", "format": "uri" }
      }
    },
    "standard_event_profiles": { "type": "object" },
    "production_timeline_critical_path": {
      "type": "array",
      "items": {
        "type": "object",
        "required": ["phase", "lead_time_months", "milestones"],
        "properties": {
          "phase": { "type": "string" },
          "lead_time_months": { "type": "string" },
          "milestones": { "type": "array", "items": { "type": "string" } }
        }
      }
    },
    "aid_station_logistics_benchmarks": { "type": "object" },
    "sag_fleet_ratios": { "type": "object" },
    "financial_model_benchmarks_350_riders": { "type": "object" }
  }
}
