{"schema":"https://otranspo.ca/schemas/public-api/v1/route-evidence","schemaVersion":"1.0.0","evidenceState":"measured","generatedAt":"2026-11-04T00:32:32.769Z","route":{"id":"oc_transpo:98","publicNumber":"98","operatorId":"oc_transpo","operatorName":"OC Transpo","variantIds":["98"]},"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":"98","computedAt":"2026-11-04T00:32:32.769Z","summary":{"routeId":"98","routeLabel":"98","operatorId":"oc_transpo","observations":107427,"weekdaysObserved":19,"serviceDaysObserved":27,"onTimePct":83.5,"averageDelaySeconds":127.3,"p95DelaySeconds":562,"computedAt":"2026-11-04T00:32:32.769Z","windowStart":"2026-10-05T00:00:00.000Z","windowEnd":"2026-11-02T23:59:59.999Z"},"hourlyReliability":[{"routeId":"98","routeLabel":"98","operatorId":"oc_transpo","hour":0,"observations":565,"serviceDays":11,"onTimePct":93.6,"medianDelaySeconds":23,"p95DelaySeconds":396},{"routeId":"98","routeLabel":"98","operatorId":"oc_transpo","hour":4,"observations":60,"serviceDays":10,"onTimePct":90,"medianDelaySeconds":64,"p95DelaySeconds":355},{"routeId":"98","routeLabel":"98","operatorId":"oc_transpo","hour":5,"observations":1111,"serviceDays":11,"onTimePct":93.4,"medianDelaySeconds":38,"p95DelaySeconds":307},{"routeId":"98","routeLabel":"98","operatorId":"oc_transpo","hour":6,"observations":2630,"serviceDays":15,"onTimePct":84.8,"medianDelaySeconds":87,"p95DelaySeconds":548},{"routeId":"98","routeLabel":"98","operatorId":"oc_transpo","hour":7,"observations":3586,"serviceDays":14,"onTimePct":77,"medianDelaySeconds":89,"p95DelaySeconds":601},{"routeId":"98","routeLabel":"98","operatorId":"oc_transpo","hour":8,"observations":3593,"serviceDays":14,"onTimePct":79.8,"medianDelaySeconds":72,"p95DelaySeconds":724},{"routeId":"98","routeLabel":"98","operatorId":"oc_transpo","hour":9,"observations":3539,"serviceDays":14,"onTimePct":87.3,"medianDelaySeconds":104,"p95DelaySeconds":431},{"routeId":"98","routeLabel":"98","operatorId":"oc_transpo","hour":10,"observations":3606,"serviceDays":14,"onTimePct":87.4,"medianDelaySeconds":80,"p95DelaySeconds":431},{"routeId":"98","routeLabel":"98","operatorId":"oc_transpo","hour":11,"observations":3628,"serviceDays":14,"onTimePct":89.6,"medianDelaySeconds":58,"p95DelaySeconds":392},{"routeId":"98","routeLabel":"98","operatorId":"oc_transpo","hour":12,"observations":3654,"serviceDays":14,"onTimePct":91.3,"medianDelaySeconds":51,"p95DelaySeconds":390},{"routeId":"98","routeLabel":"98","operatorId":"oc_transpo","hour":13,"observations":3671,"serviceDays":14,"onTimePct":87,"medianDelaySeconds":30,"p95DelaySeconds":524},{"routeId":"98","routeLabel":"98","operatorId":"oc_transpo","hour":14,"observations":3777,"serviceDays":14,"onTimePct":81.5,"medianDelaySeconds":68,"p95DelaySeconds":617},{"routeId":"98","routeLabel":"98","operatorId":"oc_transpo","hour":15,"observations":3928,"serviceDays":14,"onTimePct":83.4,"medianDelaySeconds":77,"p95DelaySeconds":556},{"routeId":"98","routeLabel":"98","operatorId":"oc_transpo","hour":16,"observations":3633,"serviceDays":14,"onTimePct":76.7,"medianDelaySeconds":97,"p95DelaySeconds":728},{"routeId":"98","routeLabel":"98","operatorId":"oc_transpo","hour":17,"observations":3386,"serviceDays":14,"onTimePct":80.7,"medianDelaySeconds":134,"p95DelaySeconds":657},{"routeId":"98","routeLabel":"98","operatorId":"oc_transpo","hour":18,"observations":2896,"serviceDays":14,"onTimePct":81.5,"medianDelaySeconds":95,"p95DelaySeconds":953},{"routeId":"98","routeLabel":"98","operatorId":"oc_transpo","hour":19,"observations":2301,"serviceDays":14,"onTimePct":85.7,"medianDelaySeconds":91,"p95DelaySeconds":464},{"routeId":"98","routeLabel":"98","operatorId":"oc_transpo","hour":20,"observations":2167,"serviceDays":14,"onTimePct":84,"medianDelaySeconds":22,"p95DelaySeconds":472},{"routeId":"98","routeLabel":"98","operatorId":"oc_transpo","hour":21,"observations":2136,"serviceDays":14,"onTimePct":93.1,"medianDelaySeconds":64,"p95DelaySeconds":325},{"routeId":"98","routeLabel":"98","operatorId":"oc_transpo","hour":22,"observations":2048,"serviceDays":14,"onTimePct":89.8,"medianDelaySeconds":52,"p95DelaySeconds":492},{"routeId":"98","routeLabel":"98","operatorId":"oc_transpo","hour":23,"observations":1496,"serviceDays":14,"onTimePct":93.4,"medianDelaySeconds":105,"p95DelaySeconds":317}],"scheduledTripPositionCoverage":{"routeId":"98","routeLabel":"98","operatorId":"oc_transpo","scheduledTrips":889,"observedTrips":880,"notObservedTrips":9,"coveragePct":99,"serviceDays":1},"scheduledTripPositionCoverageByHour":[{"hour":0,"scheduledTrips":3,"observedTrips":3,"notObservedTrips":0,"coveragePct":100},{"hour":4,"scheduledTrips":5,"observedTrips":5,"notObservedTrips":0,"coveragePct":100},{"hour":5,"scheduledTrips":20,"observedTrips":20,"notObservedTrips":0,"coveragePct":100},{"hour":6,"scheduledTrips":54,"observedTrips":54,"notObservedTrips":0,"coveragePct":100},{"hour":7,"scheduledTrips":63,"observedTrips":63,"notObservedTrips":0,"coveragePct":100},{"hour":8,"scheduledTrips":68,"observedTrips":68,"notObservedTrips":0,"coveragePct":100},{"hour":9,"scheduledTrips":48,"observedTrips":47,"notObservedTrips":1,"coveragePct":97.9},{"hour":10,"scheduledTrips":48,"observedTrips":44,"notObservedTrips":4,"coveragePct":91.7},{"hour":11,"scheduledTrips":48,"observedTrips":47,"notObservedTrips":1,"coveragePct":97.9},{"hour":12,"scheduledTrips":48,"observedTrips":48,"notObservedTrips":0,"coveragePct":100},{"hour":13,"scheduledTrips":48,"observedTrips":48,"notObservedTrips":0,"coveragePct":100},{"hour":14,"scheduledTrips":53,"observedTrips":53,"notObservedTrips":0,"coveragePct":100},{"hour":15,"scheduledTrips":68,"observedTrips":68,"notObservedTrips":0,"coveragePct":100},{"hour":16,"scheduledTrips":63,"observedTrips":62,"notObservedTrips":1,"coveragePct":98.4},{"hour":17,"scheduledTrips":63,"observedTrips":63,"notObservedTrips":0,"coveragePct":100},{"hour":18,"scheduledTrips":53,"observedTrips":53,"notObservedTrips":0,"coveragePct":100},{"hour":19,"scheduledTrips":33,"observedTrips":33,"notObservedTrips":0,"coveragePct":100},{"hour":20,"scheduledTrips":28,"observedTrips":28,"notObservedTrips":0,"coveragePct":100},{"hour":21,"scheduledTrips":28,"observedTrips":28,"notObservedTrips":0,"coveragePct":100},{"hour":22,"scheduledTrips":27,"observedTrips":25,"notObservedTrips":2,"coveragePct":92.6},{"hour":23,"scheduledTrips":20,"observedTrips":20,"notObservedTrips":0,"coveragePct":100}],"headwayRegularity":{"matchedArrivals":9957,"scheduledIntervals":8341,"predictedIntervals":8341,"scheduledWaitSeconds":325.6,"predictedWaitSeconds":387.1,"excessPredictedWaitSeconds":61.5,"routeCount":1,"stopCount":46,"serviceDays":14,"minimumSourceMatchCoveragePct":98.6,"windowStart":"2026-10-07","windowEnd":"2026-11-02","computedAt":"2026-11-04T00:32:49.768Z","method":"settled-predicted-excess-wait-v1","routeId":"98","operatorId":"oc_transpo"}}],"recurringProblemStops":[],"publishedScheduleChange":{"state":"measured","operatorId":"oc_transpo","publicNumber":"98","effectiveDate":"2026-10-30","generatedAt":"2026-11-04T00:39:39.852Z","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":["98"],"longNames":["Hawthorne <> Hurdman"],"headsigns":["Hawthorne","Hurdman","South Keys / Hunt Club Loop ~ South Keys / Boucle Hunt Club"],"scheduledTrips":150,"distinctStops":81,"distinctShapes":4,"firstServiceSeconds":17700,"lastServiceSeconds":87900,"shapeChecksums":["27ca8af131eea2ea183e60573926f971b936dac32f491e1eff03703142cef61e","32623dacf46b283f364297e97735a2f9e2fb52f29216281632e1ae12eecc0402","33a00e24a209fb4317827cea616bf9509ec30267e77e6ac4973a9bee78d89236","3fea03c7a181a0f24d4533ddfc27b3d35613af6cac329fa751824551f31de535","44da99b98784e7e36e68f96c3a19af1008021ed95cb82a39a5925115e306ac7f","46e0b5c1552b2580b1110b7b11183dbc6be78a56b19e48bfaf8f7c8438b8a875","6f2a39a50b5874d51f555f878740f18693d148a799aa8dc539ad33acb5d3556e","74c08c5232e0af20fb95493414d49bf7507414d50f7fa1b1b7e041cdf73b55bd","822952ed40a3faf900f9cc18bded1a0510daf5ac8371bba21d29d2fb60eba737","8470ed95741cbca947e729dbd3e2e4cb7232c9402f9652c473dbcc48774f782a","85faec050ae5a365ce5d391ae48fcc092fae259726e852f81b53f0bf78243099","8de183e65c8fd3478c010e02741bf35790178db9c5203b5c7af40b37de8570a7","958b502e775a1a35d194c0a24541fa5db45ed779cca622653912345e1dc0eaba","975473e94ccf52083076b9183fa9fa0addd6be8aeab9bd7f641f404de0abe17c","97a19f8c76eb968c5b5a7743a7dd957c2d0a7f2c4a973f3bf155e08004e825e6","9df8c8df23d6697292fdd5e617982e68089d8cd26e6e716ea16a1ed09054588b","9fb00b389a3287c1163c82a86ca560f554d47224dc71c0c6e03c79a937c133f3","abdcbcaa56cf32a1ff3695afb67e4449dc429b2bb5daa3ff3df76115721c2d7a","b4e6e1828c7f3bb38764941da049bfd44cd21f9758440384eeeb5a3c5e852afa","cb5af57e8252fc6d29c820e374abd88177f5141f328920b5fd4c8f030f374ff1","dde797691bf104f53cabc871f74f5c3fd76ce3a3fcdda70e8040d8bda9f36197","e91742c2a3371f197051ea902ac0d56339dff26feb0117318d617d316653c8fd","ebe53dd2add66c3bb80b86c09a3669b46a05b746eb232588f536c7cd781180ce","ee133b94fbe0a4ebe5fd78c504c114d3096a824991bc86e7683e9d57147a5836","f088f91fa8225956f68af1b5a445c19e3953d367d76b3f0e228b4a734f06ab76"],"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":["98"],"longNames":["Hawthorne <> Hurdman"],"headsigns":["Hawthorne","Hurdman","South Keys / Hunt Club Loop ~ South Keys / Boucle Hunt Club"],"scheduledTrips":150,"distinctStops":81,"distinctShapes":4,"firstServiceSeconds":17700,"lastServiceSeconds":87900,"shapeChecksums":["27ca8af131eea2ea183e60573926f971b936dac32f491e1eff03703142cef61e","32623dacf46b283f364297e97735a2f9e2fb52f29216281632e1ae12eecc0402","33a00e24a209fb4317827cea616bf9509ec30267e77e6ac4973a9bee78d89236","3fea03c7a181a0f24d4533ddfc27b3d35613af6cac329fa751824551f31de535","44da99b98784e7e36e68f96c3a19af1008021ed95cb82a39a5925115e306ac7f","46e0b5c1552b2580b1110b7b11183dbc6be78a56b19e48bfaf8f7c8438b8a875","6f2a39a50b5874d51f555f878740f18693d148a799aa8dc539ad33acb5d3556e","74c08c5232e0af20fb95493414d49bf7507414d50f7fa1b1b7e041cdf73b55bd","822952ed40a3faf900f9cc18bded1a0510daf5ac8371bba21d29d2fb60eba737","8470ed95741cbca947e729dbd3e2e4cb7232c9402f9652c473dbcc48774f782a","85faec050ae5a365ce5d391ae48fcc092fae259726e852f81b53f0bf78243099","8de183e65c8fd3478c010e02741bf35790178db9c5203b5c7af40b37de8570a7","958b502e775a1a35d194c0a24541fa5db45ed779cca622653912345e1dc0eaba","975473e94ccf52083076b9183fa9fa0addd6be8aeab9bd7f641f404de0abe17c","97a19f8c76eb968c5b5a7743a7dd957c2d0a7f2c4a973f3bf155e08004e825e6","9df8c8df23d6697292fdd5e617982e68089d8cd26e6e716ea16a1ed09054588b","9fb00b389a3287c1163c82a86ca560f554d47224dc71c0c6e03c79a937c133f3","abdcbcaa56cf32a1ff3695afb67e4449dc429b2bb5daa3ff3df76115721c2d7a","b4e6e1828c7f3bb38764941da049bfd44cd21f9758440384eeeb5a3c5e852afa","cb5af57e8252fc6d29c820e374abd88177f5141f328920b5fd4c8f030f374ff1","dde797691bf104f53cabc871f74f5c3fd76ce3a3fcdda70e8040d8bda9f36197","e91742c2a3371f197051ea902ac0d56339dff26feb0117318d617d316653c8fd","ebe53dd2add66c3bb80b86c09a3669b46a05b746eb232588f536c7cd781180ce","ee133b94fbe0a4ebe5fd78c504c114d3096a824991bc86e7683e9d57147a5836","f088f91fa8225956f68af1b5a445c19e3953d367d76b3f0e228b4a734f06ab76"],"calendarAddedServiceCount":0,"calendarRemovedServiceCount":2},"reliabilityBefore":{"phase":"before","windowStart":"2026-10-16","windowEnd":"2026-10-29","observations":57184,"serviceDays":14,"withinFiveMinutesPct":84.4,"averageDelaySeconds":121,"worstFiveInOneHundredDelaySeconds":554},"reliabilityAfter":{"phase":"after","windowStart":"2026-10-30","windowEnd":"2026-11-02","observations":14724,"serviceDays":4,"withinFiveMinutesPct":80.1,"averageDelaySeconds":155,"worstFiveInOneHundredDelaySeconds":600},"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-04T01:06:11.672Z","freshnessSeconds":432339,"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_ac9cb5635ca7a0b3bdffe0139b8f5011a77b02f12f98fa680b334f2a08d38a13","checkedAt":"2026-11-04T01:06:11.672Z","observedAt":"2026-11-04T01:05:44.000Z","freshnessSeconds":27,"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":432339,"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":68763,"freshnessState":"current","qualityState":"complete","reasonCodes":[]}]}}