{"schema":"https://otranspo.ca/schemas/public-api/v1/route-evidence","schemaVersion":"1.0.0","evidenceState":"measured","generatedAt":"2026-11-04T02:32:33.275Z","route":{"id":"oc_transpo:21","publicNumber":"21","operatorId":"oc_transpo","operatorName":"OC Transpo","variantIds":["21"]},"grading":{"servicePurpose":"conventional","policy":"all_settled_arrivals","contextToVerify":[],"numericOtpPublished":true},"definitions":{"onTime":"absolute difference between the last eligible provider prediction and the scheduled arrival is no more than 300 seconds; this does not measure actual arrival","worstFiveInOneHundred":"95th-percentile difference between last eligible provider predictions and scheduled arrivals; a threshold, not a maximum or average of the latest 5%","noPublishedPosition":"a scheduled trip with no matching public vehicle position in this coverage check; this is not by itself a confirmed no-show or cancellation","riderReports":"investigation leads only; not counted as service-failure proof"},"methods":{"settledArrivals":"last-prediction-within-ten-minutes-v1","scheduledTripPositions":"retained-timetable-trip-position-v2"},"cohorts":[{"routeId":"21","computedAt":"2026-11-04T02:32:33.275Z","summary":{"routeId":"21","routeLabel":"21","operatorId":"oc_transpo","observations":989,"weekdaysObserved":18,"serviceDaysObserved":18,"onTimePct":31,"averageDelaySeconds":454.7,"p95DelaySeconds":992,"computedAt":"2026-11-04T02:32:33.275Z","windowStart":"2026-10-05T00:00:00.000Z","windowEnd":"2026-11-02T23:59:59.999Z"},"hourlyReliability":[{"routeId":"21","routeLabel":"21","operatorId":"oc_transpo","hour":7,"observations":121,"serviceDays":10,"onTimePct":29.8,"medianDelaySeconds":432,"p95DelaySeconds":807},{"routeId":"21","routeLabel":"21","operatorId":"oc_transpo","hour":8,"observations":240,"serviceDays":10,"onTimePct":12.9,"medianDelaySeconds":533,"p95DelaySeconds":1034},{"routeId":"21","routeLabel":"21","operatorId":"oc_transpo","hour":16,"observations":100,"serviceDays":10,"onTimePct":32,"medianDelaySeconds":426,"p95DelaySeconds":664},{"routeId":"21","routeLabel":"21","operatorId":"oc_transpo","hour":17,"observations":90,"serviceDays":9,"onTimePct":94.4,"medianDelaySeconds":0,"p95DelaySeconds":314}],"scheduledTripPositionCoverage":{"routeId":"21","routeLabel":"21","operatorId":"oc_transpo","scheduledTrips":25,"observedTrips":25,"notObservedTrips":0,"coveragePct":100,"serviceDays":5},"scheduledTripPositionCoverageByHour":[{"hour":7,"scheduledTrips":5,"observedTrips":5,"notObservedTrips":0,"coveragePct":100},{"hour":8,"scheduledTrips":10,"observedTrips":10,"notObservedTrips":0,"coveragePct":100},{"hour":16,"scheduledTrips":5,"observedTrips":5,"notObservedTrips":0,"coveragePct":100},{"hour":17,"scheduledTrips":5,"observedTrips":5,"notObservedTrips":0,"coveragePct":100}],"headwayRegularity":null}],"recurringProblemStops":[{"stopId":"5186","stopName":"CANOTEK / AD. 5350","observations":98,"onTimeArrivals":21,"onTimePct":21.4,"medianDelaySeconds":513,"worstFiveInOneHundredDelaySeconds":1032,"serviceDays":20,"windowStart":"2026-10-05","windowEnd":"2026-11-02","lastSettledAt":"2026-11-02T23:03:18.404Z"},{"stopId":"5185","stopName":"CANOTEK / AD. 5369","observations":98,"onTimeArrivals":24,"onTimePct":24.5,"medianDelaySeconds":495,"worstFiveInOneHundredDelaySeconds":1031,"serviceDays":20,"windowStart":"2026-10-05","windowEnd":"2026-11-02","lastSettledAt":"2026-11-02T23:03:18.404Z"},{"stopId":"10149","stopName":"BLAIR D","observations":60,"onTimeArrivals":16,"onTimePct":26.7,"medianDelaySeconds":377,"worstFiveInOneHundredDelaySeconds":813,"serviceDays":20,"windowStart":"2026-10-05","windowEnd":"2026-11-02","lastSettledAt":"2026-11-02T14:03:56.308Z"},{"stopId":"5184","stopName":"CANOTEK / AD. 5510","observations":98,"onTimeArrivals":28,"onTimePct":28.6,"medianDelaySeconds":475,"worstFiveInOneHundredDelaySeconds":1032,"serviceDays":20,"windowStart":"2026-10-05","windowEnd":"2026-11-02","lastSettledAt":"2026-11-02T23:03:19.241Z"},{"stopId":"5183","stopName":"CANOTEK / AD. 5480","observations":98,"onTimeArrivals":31,"onTimePct":31.6,"medianDelaySeconds":458,"worstFiveInOneHundredDelaySeconds":994,"serviceDays":20,"windowStart":"2026-10-05","windowEnd":"2026-11-02","lastSettledAt":"2026-11-02T23:03:19.767Z"},{"stopId":"5182","stopName":"CANOTEK / AD. 5420","observations":98,"onTimeArrivals":32,"onTimePct":32.7,"medianDelaySeconds":438,"worstFiveInOneHundredDelaySeconds":978,"serviceDays":20,"windowStart":"2026-10-05","windowEnd":"2026-11-02","lastSettledAt":"2026-11-02T23:03:20.290Z"},{"stopId":"5181","stopName":"CANOTEK / AD. 5370","observations":98,"onTimeArrivals":36,"onTimePct":36.7,"medianDelaySeconds":404,"worstFiveInOneHundredDelaySeconds":970,"serviceDays":20,"windowStart":"2026-10-05","windowEnd":"2026-11-02","lastSettledAt":"2026-11-02T23:03:21.295Z"},{"stopId":"5180","stopName":"CANOTEK / AD. 5350","observations":98,"onTimeArrivals":39,"onTimePct":39.8,"medianDelaySeconds":400,"worstFiveInOneHundredDelaySeconds":955,"serviceDays":20,"windowStart":"2026-10-05","windowEnd":"2026-11-02","lastSettledAt":"2026-11-02T23:03:20.290Z"}],"publishedScheduleChange":{"state":"measured","operatorId":"oc_transpo","publicNumber":"21","effectiveDate":"2026-10-30","generatedAt":"2026-11-04T03:19:31.976Z","before":{"phase":"before","comparisonDate":"2026-10-26","feedVersionId":"3932bee1-4577-4968-9a97-2987e88312ad","sourceChecksum":"1d13d0abb2506002092feaff3dc08c45abd96d7b94ad4ed13c73616dab7e8ed8","sourceUrl":"https://oct-gtfs-emasagcnfmcgeham.z01.azurefd.net/public-access/GTFSExport.zip","sourceFetchedAt":"2026-10-23T01:15:52.775Z","serviceStart":"2026-10-23","serviceEnd":"2026-11-23","routeIds":["21"],"longNames":["Canotek <> Blair"],"headsigns":["Blair","Canotek"],"scheduledTrips":5,"distinctStops":16,"distinctShapes":2,"firstServiceSeconds":25800,"lastServiceSeconds":62040,"shapeChecksums":["161f59ef5b34c71a8522e361ebb8242b8ffc60b90cd80777847c916963548bd7","178119ff100452fa10e600740b6bbb24c1ec2876a16b34325c72009cb6a0f159","49e175af119f0bbef8827979834b478df870262c0aff5068fac270bf7689e2bb","6d640f500e846e38880d11a07a1dd6da6cb7780782921d4ab03c5092d470fa8b","db0790d6967520c705814cb69d7e505edc300b7fd317cbfde55bd80795666e38","f211937a4b474563f0ed5c4a12045bdf16ba492826ae6e3f8e6022c2601fdaff"],"calendarAddedServiceCount":0,"calendarRemovedServiceCount":2},"after":{"phase":"after","comparisonDate":"2026-11-02","feedVersionId":"6ee8491d-8f94-4122-a67b-ef228d9e0945","sourceChecksum":"91dd8e42516043447b7a3e7185d65557916494aaafeb36792fa1c09c514e2bbb","sourceUrl":"https://oct-gtfs-emasagcnfmcgeham.z01.azurefd.net/public-access/GTFSExport.zip","sourceFetchedAt":"2026-10-30T01:00:32.195Z","serviceStart":"2026-10-30","serviceEnd":"2026-11-30","routeIds":["21"],"longNames":["Canotek <> Blair"],"headsigns":["Blair","Canotek"],"scheduledTrips":5,"distinctStops":16,"distinctShapes":2,"firstServiceSeconds":25800,"lastServiceSeconds":62040,"shapeChecksums":["161f59ef5b34c71a8522e361ebb8242b8ffc60b90cd80777847c916963548bd7","178119ff100452fa10e600740b6bbb24c1ec2876a16b34325c72009cb6a0f159","49e175af119f0bbef8827979834b478df870262c0aff5068fac270bf7689e2bb","6d640f500e846e38880d11a07a1dd6da6cb7780782921d4ab03c5092d470fa8b","db0790d6967520c705814cb69d7e505edc300b7fd317cbfde55bd80795666e38","f211937a4b474563f0ed5c4a12045bdf16ba492826ae6e3f8e6022c2601fdaff"],"calendarAddedServiceCount":0,"calendarRemovedServiceCount":2},"reliabilityBefore":{"phase":"before","windowStart":"2026-10-16","windowEnd":"2026-10-29","observations":551,"serviceDays":10,"withinFiveMinutesPct":32.1,"averageDelaySeconds":445,"worstFiveInOneHundredDelaySeconds":944},"reliabilityAfter":{"phase":"after","windowStart":"2026-10-30","windowEnd":"2026-11-02","observations":112,"serviceDays":2,"withinFiveMinutesPct":35.7,"averageDelaySeconds":363,"worstFiveInOneHundredDelaySeconds":574},"reliabilityComparisonReady":false,"scheduleComparisonQualification":"calendar_exception"},"meta":{"schema":"https://otranspo.ca/schemas/response-meta/v1","schemaVersion":1,"surface":"public.reliability-evidence","requestId":null,"requestIdState":"header_only_for_cacheable_compatibility","generatedAt":"2026-11-04T03:27:11.184Z","freshnessSeconds":440798,"sourceState":"current","qualityState":"complete","evidenceIds":[],"missingSources":[],"reasonCodes":[],"sources":[{"id":"realtime:gtfs-rt","version":1,"kind":"gtfs_realtime","operatorId":null,"owner":"not-recorded","publicUrl":null,"publicUrlState":"not_recorded","licence":"not-recorded","licenceState":"not_recorded","cadence":"not-recorded","cadenceState":"not_recorded","snapshotId":"srcsnap_eb14da73e0be311d0c36b93c1db60e9cdf2fb96590208a2028eb10ab90f3c92c","checkedAt":"2026-11-04T03:27:11.184Z","observedAt":"2026-11-04T03:26:53.000Z","freshnessSeconds":18,"freshnessState":"current","qualityState":"complete","reasonCodes":[]},{"id":"gtfs-static:oc_transpo","version":1,"kind":"gtfs_static","operatorId":"oc_transpo","owner":"OC Transpo","publicUrl":"https://oct-gtfs-emasagcnfmcgeham.z01.azurefd.net/public-access/GTFSExport.zip","publicUrlState":"recorded","licence":"not-recorded","licenceState":"not_recorded","cadence":"not-recorded","cadenceState":"not_recorded","snapshotId":"srcsnap_36f5225e05530e76b58f769c4e17556d8b022b1e7451eafaf1351b5f254e4874","checkedAt":"2026-11-03T06:01:01.750Z","observedAt":"2026-10-30T01:00:32.195Z","freshnessSeconds":440798,"freshnessState":"current","qualityState":"complete","reasonCodes":[]},{"id":"gtfs-static:sto","version":4,"kind":"gtfs_static","operatorId":"sto","owner":"STO","publicUrl":"https://contenu.sto.ca/GTFS/GTFS.zip","publicUrlState":"recorded","licence":"not-recorded","licenceState":"not_recorded","cadence":"not-recorded","cadenceState":"not_recorded","snapshotId":"srcsnap_af1083bec06aef79340878f362df2de9e4bb56ff9e4dfca9a5ba0fd2fe2a55e7","checkedAt":"2026-11-03T06:01:01.750Z","observedAt":"2026-11-03T06:00:08.280Z","freshnessSeconds":77222,"freshnessState":"current","qualityState":"complete","reasonCodes":[]}]}}