{
  "agency": {
    "id": "ttc",
    "name": "Toronto Transit Commission",
    "timezone": "America/Toronto",
    "serviceArea": {
      "municipality": "Toronto",
      "region": "Ontario",
      "country": "CA"
    }
  },
  "serviceDate": "2026-07-16",
  "generatedAt": "2026-07-16T08:30:00-04:00",
  "serviceConfig": {
    "scheduleVersion": "2026.07.1",
    "dayType": "weekday",
    "planningHorizon": {
      "startDate": "2026-07-16",
      "endDate": "2026-09-05"
    },
    "routes": [
      {
        "routeId": "501",
        "shortName": "501",
        "longName": "Queen",
        "mode": "streetcar",
        "color": "#D71920",
        "active": true,
        "directions": [
          {
            "directionId": 0,
            "headsign": "Neville Park",
            "terminusStopId": "neville-park-loop"
          },
          {
            "directionId": 1,
            "headsign": "Long Branch",
            "terminusStopId": "long-branch-loop"
          }
        ],
        "servicePeriods": [
          {
            "name": "early_morning",
            "startTime": "05:00:00",
            "endTime": "06:29:59",
            "targetHeadwayMinutes": 12,
            "vehicleRequirement": 14
          },
          {
            "name": "am_peak",
            "startTime": "06:30:00",
            "endTime": "09:29:59",
            "targetHeadwayMinutes": 6,
            "vehicleRequirement": 27
          },
          {
            "name": "midday",
            "startTime": "09:30:00",
            "endTime": "15:29:59",
            "targetHeadwayMinutes": 8,
            "vehicleRequirement": 21
          },
          {
            "name": "pm_peak",
            "startTime": "15:30:00",
            "endTime": "18:59:59",
            "targetHeadwayMinutes": 6,
            "vehicleRequirement": 28
          },
          {
            "name": "evening",
            "startTime": "19:00:00",
            "endTime": "25:29:59",
            "targetHeadwayMinutes": 10,
            "vehicleRequirement": 17
          }
        ],
        "keyStops": [
          {
            "stopId": "long-branch-loop",
            "name": "Long Branch Loop",
            "coordinates": {
              "latitude": 43.5919,
              "longitude": -79.5441
            },
            "accessible": true,
            "amenities": [
              "shelter",
              "real_time_display",
              "bike_rack"
            ]
          },
          {
            "stopId": "queen-spadina",
            "name": "Queen Street West at Spadina Avenue",
            "coordinates": {
              "latitude": 43.6489,
              "longitude": -79.3962
            },
            "accessible": true,
            "amenities": [
              "shelter",
              "real_time_display"
            ]
          },
          {
            "stopId": "neville-park-loop",
            "name": "Neville Park Loop",
            "coordinates": {
              "latitude": 43.6738,
              "longitude": -79.2803
            },
            "accessible": false,
            "amenities": [
              "shelter"
            ]
          }
        ]
      },
      {
        "routeId": "29",
        "shortName": "29",
        "longName": "Dufferin",
        "mode": "bus",
        "color": "#0075C9",
        "active": true,
        "directions": [
          {
            "directionId": 0,
            "headsign": "Wilson Station",
            "terminusStopId": "wilson-station"
          },
          {
            "directionId": 1,
            "headsign": "Exhibition",
            "terminusStopId": "exhibition-loop"
          }
        ],
        "servicePeriods": [
          {
            "name": "am_peak",
            "startTime": "06:00:00",
            "endTime": "09:29:59",
            "targetHeadwayMinutes": 5,
            "vehicleRequirement": 24
          },
          {
            "name": "midday",
            "startTime": "09:30:00",
            "endTime": "15:29:59",
            "targetHeadwayMinutes": 7,
            "vehicleRequirement": 18
          },
          {
            "name": "pm_peak",
            "startTime": "15:30:00",
            "endTime": "18:59:59",
            "targetHeadwayMinutes": 5,
            "vehicleRequirement": 25
          },
          {
            "name": "evening",
            "startTime": "19:00:00",
            "endTime": "25:00:00",
            "targetHeadwayMinutes": 9,
            "vehicleRequirement": 14
          }
        ],
        "branches": [
          {
            "branchId": "29A",
            "destination": "Exhibition",
            "operatingPeriods": [
              "am_peak",
              "midday",
              "pm_peak",
              "evening"
            ]
          },
          {
            "branchId": "29C",
            "destination": "Princes' Gates",
            "operatingPeriods": [
              "pm_peak"
            ]
          }
        ]
      }
    ],
    "serviceExceptions": [
      {
        "exceptionId": "construction-queen-church",
        "type": "detour",
        "priority": "high",
        "effectiveFrom": "2026-07-13T05:00:00-04:00",
        "effectiveUntil": "2026-07-24T23:59:59-04:00",
        "affectedRoutes": [
          "501"
        ],
        "description": "Streetcars divert via Richmond Street and Adelaide Street due to track work near Queen Street East and Church Street.",
        "temporaryStops": [
          {
            "stopId": "temp-richmond-yonge",
            "name": "Richmond Street East at Yonge Street",
            "coordinates": {
              "latitude": 43.6515,
              "longitude": -79.3789
            }
          }
        ],
        "cancelledStops": [
          "queen-victoria",
          "queen-church"
        ]
      },
      {
        "exceptionId": "event-exhibition-2026-07-16",
        "type": "event_service",
        "priority": "medium",
        "effectiveFrom": "2026-07-16T16:00:00-04:00",
        "effectiveUntil": "2026-07-16T23:30:00-04:00",
        "affectedRoutes": [
          "29"
        ],
        "description": "Additional buses operate between Dufferin Station and Exhibition Loop for the waterfront concert.",
        "supplementalTrips": {
          "count": 18,
          "averageHeadwayMinutes": 4,
          "assignedVehicles": [
            "BUS-8421",
            "BUS-8437",
            "BUS-8512",
            "BUS-8619"
          ]
        }
      }
    ],
    "fleetAllocation": {
      "streetcar": {
        "availableVehicles": 164,
        "scheduledVehicles": 139,
        "maintenanceReserve": 17,
        "operationalSpare": 8
      },
      "bus": {
        "availableVehicles": 1712,
        "scheduledVehicles": 1486,
        "maintenanceReserve": 154,
        "operationalSpare": 72
      }
    },
    "performanceTargets": {
      "onTimePerformancePercent": 90,
      "maximumPassengerLoadFactor": 1.15,
      "minimumTripCompletionPercent": 98.5,
      "headwayAdherence": {
        "earlyToleranceMinutes": 1,
        "lateToleranceMinutes": 3
      }
    },
    "controlStrategy": {
      "automaticVehicleLocationEnabled": true,
      "headwayManagementEnabled": true,
      "interventions": [
        {
          "type": "short_turn",
          "requiresSupervisorApproval": true,
          "passengerNotificationRequired": true
        },
        {
          "type": "holding",
          "maximumDurationMinutes": 5,
          "requiresSupervisorApproval": false
        },
        {
          "type": "expressing",
          "maximumSkippedStops": 4,
          "requiresSupervisorApproval": true
        }
      ]
    }
  }
}