{"schema":"https://otranspo.ca/schemas/public-api/v1/route-evidence","schemaVersion":"1.0.0","evidenceState":"measured","generatedAt":"2026-11-03T23:32:32.690Z","route":{"id":"oc_transpo:15","publicNumber":"15","operatorId":"oc_transpo","operatorName":"OC Transpo","variantIds":["15"]},"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":"15","computedAt":"2026-11-03T23:32:32.690Z","summary":{"routeId":"15","routeLabel":"15","operatorId":"oc_transpo","observations":29316,"weekdaysObserved":18,"serviceDaysObserved":18,"onTimePct":68.4,"averageDelaySeconds":218.3,"p95DelaySeconds":946,"computedAt":"2026-11-03T23:32:32.690Z","windowStart":"2026-10-05T00:00:00.000Z","windowEnd":"2026-11-02T23:59:59.999Z"},"hourlyReliability":[{"routeId":"15","routeLabel":"15","operatorId":"oc_transpo","hour":6,"observations":1189,"serviceDays":11,"onTimePct":82.1,"medianDelaySeconds":59,"p95DelaySeconds":895},{"routeId":"15","routeLabel":"15","operatorId":"oc_transpo","hour":7,"observations":2064,"serviceDays":10,"onTimePct":77.5,"medianDelaySeconds":38,"p95DelaySeconds":743},{"routeId":"15","routeLabel":"15","operatorId":"oc_transpo","hour":8,"observations":2359,"serviceDays":10,"onTimePct":72.9,"medianDelaySeconds":0,"p95DelaySeconds":1068},{"routeId":"15","routeLabel":"15","operatorId":"oc_transpo","hour":9,"observations":1893,"serviceDays":10,"onTimePct":69.3,"medianDelaySeconds":138,"p95DelaySeconds":913},{"routeId":"15","routeLabel":"15","operatorId":"oc_transpo","hour":10,"observations":370,"serviceDays":10,"onTimePct":84.3,"medianDelaySeconds":37,"p95DelaySeconds":480},{"routeId":"15","routeLabel":"15","operatorId":"oc_transpo","hour":14,"observations":220,"serviceDays":10,"onTimePct":97.7,"medianDelaySeconds":-16,"p95DelaySeconds":172},{"routeId":"15","routeLabel":"15","operatorId":"oc_transpo","hour":15,"observations":1355,"serviceDays":10,"onTimePct":51.9,"medianDelaySeconds":272,"p95DelaySeconds":945},{"routeId":"15","routeLabel":"15","operatorId":"oc_transpo","hour":16,"observations":2323,"serviceDays":10,"onTimePct":58.5,"medianDelaySeconds":236,"p95DelaySeconds":1354},{"routeId":"15","routeLabel":"15","operatorId":"oc_transpo","hour":17,"observations":2212,"serviceDays":10,"onTimePct":58.6,"medianDelaySeconds":225,"p95DelaySeconds":911},{"routeId":"15","routeLabel":"15","operatorId":"oc_transpo","hour":18,"observations":2192,"serviceDays":10,"onTimePct":73,"medianDelaySeconds":156,"p95DelaySeconds":669},{"routeId":"15","routeLabel":"15","operatorId":"oc_transpo","hour":19,"observations":109,"serviceDays":10,"onTimePct":72.5,"medianDelaySeconds":-14,"p95DelaySeconds":1142}],"scheduledTripPositionCoverage":{"routeId":"15","routeLabel":"15","operatorId":"oc_transpo","scheduledTrips":240,"observedTrips":231,"notObservedTrips":9,"coveragePct":96.3,"serviceDays":5},"scheduledTripPositionCoverageByHour":[{"hour":6,"scheduledTrips":25,"observedTrips":25,"notObservedTrips":0,"coveragePct":100},{"hour":7,"scheduledTrips":30,"observedTrips":30,"notObservedTrips":0,"coveragePct":100},{"hour":8,"scheduledTrips":35,"observedTrips":35,"notObservedTrips":0,"coveragePct":100},{"hour":9,"scheduledTrips":20,"observedTrips":20,"notObservedTrips":0,"coveragePct":100},{"hour":14,"scheduledTrips":10,"observedTrips":10,"notObservedTrips":0,"coveragePct":100},{"hour":15,"scheduledTrips":25,"observedTrips":23,"notObservedTrips":2,"coveragePct":92},{"hour":16,"scheduledTrips":35,"observedTrips":32,"notObservedTrips":3,"coveragePct":91.4},{"hour":17,"scheduledTrips":40,"observedTrips":37,"notObservedTrips":3,"coveragePct":92.5},{"hour":18,"scheduledTrips":20,"observedTrips":19,"notObservedTrips":1,"coveragePct":95}],"headwayRegularity":null}],"recurringProblemStops":[{"stopId":"1456","stopName":"CITY PARK / AD. 2280","observations":437,"onTimeArrivals":217,"onTimePct":49.7,"medianDelaySeconds":310,"worstFiveInOneHundredDelaySeconds":1134,"serviceDays":20,"windowStart":"2026-10-05","windowEnd":"2026-11-02","lastSettledAt":"2026-11-03T00:03:31.663Z"},{"stopId":"2114","stopName":"DEN HAAG / CARWOOD","observations":464,"onTimeArrivals":245,"onTimePct":52.8,"medianDelaySeconds":270,"worstFiveInOneHundredDelaySeconds":1086,"serviceDays":20,"windowStart":"2026-10-05","windowEnd":"2026-11-02","lastSettledAt":"2026-11-03T00:03:31.663Z"},{"stopId":"2115","stopName":"DEN HAAG / BOREALIS","observations":464,"onTimeArrivals":245,"onTimePct":52.8,"medianDelaySeconds":272,"worstFiveInOneHundredDelaySeconds":1065,"serviceDays":20,"windowStart":"2026-10-05","windowEnd":"2026-11-02","lastSettledAt":"2026-11-03T00:03:30.983Z"},{"stopId":"2113","stopName":"DEN HAAG / MONTRÉAL","observations":464,"onTimeArrivals":247,"onTimePct":53.2,"medianDelaySeconds":264,"worstFiveInOneHundredDelaySeconds":1070,"serviceDays":20,"windowStart":"2026-10-05","windowEnd":"2026-11-02","lastSettledAt":"2026-11-03T00:03:31.663Z"},{"stopId":"1176","stopName":"MONTRÉAL / MONTFORT HOSPITAL","observations":464,"onTimeArrivals":256,"onTimePct":55.2,"medianDelaySeconds":254,"worstFiveInOneHundredDelaySeconds":1065,"serviceDays":20,"windowStart":"2026-10-05","windowEnd":"2026-11-02","lastSettledAt":"2026-11-03T00:03:28.186Z"},{"stopId":"2116","stopName":"DEN HAAG / BOREALIS","observations":463,"onTimeArrivals":257,"onTimePct":55.5,"medianDelaySeconds":255,"worstFiveInOneHundredDelaySeconds":1047,"serviceDays":20,"windowStart":"2026-10-05","windowEnd":"2026-11-02","lastSettledAt":"2026-11-03T00:03:30.983Z"},{"stopId":"1479","stopName":"DEN HAAG / BATHGATE","observations":444,"onTimeArrivals":251,"onTimePct":56.5,"medianDelaySeconds":233,"worstFiveInOneHundredDelaySeconds":1060,"serviceDays":20,"windowStart":"2026-10-05","windowEnd":"2026-11-02","lastSettledAt":"2026-11-03T00:03:29.952Z"},{"stopId":"1478","stopName":"DEN HAAG / LA CITÉ","observations":444,"onTimeArrivals":254,"onTimePct":57.2,"medianDelaySeconds":226,"worstFiveInOneHundredDelaySeconds":1047,"serviceDays":20,"windowStart":"2026-10-05","windowEnd":"2026-11-02","lastSettledAt":"2026-11-03T00:03:30.589Z"},{"stopId":"1480","stopName":"BATHGATE / DEN HAAG","observations":444,"onTimeArrivals":256,"onTimePct":57.7,"medianDelaySeconds":230,"worstFiveInOneHundredDelaySeconds":1060,"serviceDays":20,"windowStart":"2026-10-05","windowEnd":"2026-11-02","lastSettledAt":"2026-11-03T00:03:29.952Z"},{"stopId":"8361","stopName":"MONTRÉAL / CUMMINGS","observations":464,"onTimeArrivals":268,"onTimePct":57.8,"medianDelaySeconds":227,"worstFiveInOneHundredDelaySeconds":1037,"serviceDays":20,"windowStart":"2026-10-05","windowEnd":"2026-11-02","lastSettledAt":"2026-11-03T00:03:28.628Z"},{"stopId":"1481","stopName":"BATHGATE / PLUMBER","observations":444,"onTimeArrivals":259,"onTimePct":58.3,"medianDelaySeconds":224,"worstFiveInOneHundredDelaySeconds":1072,"serviceDays":20,"windowStart":"2026-10-05","windowEnd":"2026-11-02","lastSettledAt":"2026-11-03T00:03:29.952Z"},{"stopId":"1457","stopName":"CITY PARK / HARPER","observations":437,"onTimeArrivals":260,"onTimePct":59.5,"medianDelaySeconds":235,"worstFiveInOneHundredDelaySeconds":1159,"serviceDays":20,"windowStart":"2026-10-05","windowEnd":"2026-11-02","lastSettledAt":"2026-11-03T00:03:31.327Z"}],"publishedScheduleChange":{"state":"measured","operatorId":"oc_transpo","publicNumber":"15","effectiveDate":"2026-10-30","generatedAt":"2026-11-03T23:39:08.906Z","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":["15"],"longNames":["Blair <> Parliament ~ Parlement"],"headsigns":["Blair","La Cité","Parliament ~ Parlement"],"scheduledTrips":48,"distinctStops":78,"distinctShapes":4,"firstServiceSeconds":21720,"lastServiceSeconds":69540,"shapeChecksums":["07351bdb66eee96336b3b636afd44cbda7954080ce148c32901f205f6626012a","2119ed8e1e596102cdb5ba0e777adfde4ec5e1319ea7c8864233633b008a723b","3acc7630edd1b39301f60d92f071e3bb81ac50df5550b0bcfa62c6f0a48b5122","40d49f27eca03c4505fc987d8de29be19ff13371bdf2f159a0839eb4dd45b1ba","420156ce890694748cff20309254d76326a75c7a29d278c13c9dcc8d3b557c89","544878702bcf573b7d77371c137266412ad4d581a197ca8134002ac68e6d0fe2","5624f903b68e253298f970532b27ce2ecf28013dcab431d1636ca40e4b68e252","6fec78323da9b002d6b2ef5ee6bbe6abc11287ae9a2e41c734a904f169c7a674","7361dfa7eab6390a41d4754d3d7b66579c0cec9587a45a8a10848dfe0e62554b","b50def5ca54417187b9bd5f7dd4f33d3e1ed845cde5870fcedc998e34a5a0f14","c666a6fd2f5ca57a0c4bf01025599603980490996317394253b5a802d899846f","cf9576b0275ebe3779c4ac6dacf52a108224ee11082f5e7c51edf1bee59e3d79","d2c4e65dd08bdba446ffb5ee7952a9300207f811a72e96312363df2d9eb996d8","e38de0ebe027afd193c73b5425ba506ceb86a917cc3a0b334c4e52000e45224c"],"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":["15"],"longNames":["Blair <> Parliament ~ Parlement"],"headsigns":["Blair","La Cité","Parliament ~ Parlement"],"scheduledTrips":48,"distinctStops":78,"distinctShapes":4,"firstServiceSeconds":21720,"lastServiceSeconds":69540,"shapeChecksums":["07351bdb66eee96336b3b636afd44cbda7954080ce148c32901f205f6626012a","2119ed8e1e596102cdb5ba0e777adfde4ec5e1319ea7c8864233633b008a723b","3acc7630edd1b39301f60d92f071e3bb81ac50df5550b0bcfa62c6f0a48b5122","40d49f27eca03c4505fc987d8de29be19ff13371bdf2f159a0839eb4dd45b1ba","420156ce890694748cff20309254d76326a75c7a29d278c13c9dcc8d3b557c89","544878702bcf573b7d77371c137266412ad4d581a197ca8134002ac68e6d0fe2","5624f903b68e253298f970532b27ce2ecf28013dcab431d1636ca40e4b68e252","6fec78323da9b002d6b2ef5ee6bbe6abc11287ae9a2e41c734a904f169c7a674","7361dfa7eab6390a41d4754d3d7b66579c0cec9587a45a8a10848dfe0e62554b","b50def5ca54417187b9bd5f7dd4f33d3e1ed845cde5870fcedc998e34a5a0f14","c666a6fd2f5ca57a0c4bf01025599603980490996317394253b5a802d899846f","cf9576b0275ebe3779c4ac6dacf52a108224ee11082f5e7c51edf1bee59e3d79","d2c4e65dd08bdba446ffb5ee7952a9300207f811a72e96312363df2d9eb996d8","e38de0ebe027afd193c73b5425ba506ceb86a917cc3a0b334c4e52000e45224c"],"calendarAddedServiceCount":0,"calendarRemovedServiceCount":2},"reliabilityBefore":{"phase":"before","windowStart":"2026-10-16","windowEnd":"2026-10-29","observations":16300,"serviceDays":10,"withinFiveMinutesPct":68.4,"averageDelaySeconds":226,"worstFiveInOneHundredDelaySeconds":983},"reliabilityAfter":{"phase":"after","windowStart":"2026-10-30","windowEnd":"2026-11-02","observations":3326,"serviceDays":2,"withinFiveMinutesPct":75.2,"averageDelaySeconds":143,"worstFiveInOneHundredDelaySeconds":594},"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-04T00:09:11.463Z","freshnessSeconds":428919,"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_19dc3ec0e2f36f349626ee26234c82cabe1df60bcc2756e8165a10002334dd08","checkedAt":"2026-11-04T00:09:11.463Z","observedAt":"2026-11-04T00:09:05.000Z","freshnessSeconds":6,"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":428919,"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":65343,"freshnessState":"current","qualityState":"complete","reasonCodes":[]}]}}