GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2026-02-03T17:07:35Z,
for the dataset file:///shared/saint-john-transit_54b2d464.zip. No country code was provided.

Use this report alongside our documentation.

Summary

Agencies included


Feed Info


Publisher Name:
N/A
Publisher URL:
N/A
Feed Email:
N/A
Feed Language:
N/A

Files included


  1. agency.txt
  2. calendar.txt
  3. calendar_dates.txt
  4. routes.txt
  5. shapes.txt
  6. stop_times.txt
  7. stops.txt
  8. trips.txt

Counts


  • Agencies: 1
  • Blocks: 0
  • Routes: 23
  • Shapes: 39
  • Stops: 729
  • Trips: 842

Specification Compliance report

5934 notices reported (0 errors, 5934 warnings, 0 infos)

Notice Code Severity Total
expired_calendar WARNING 4

expired_calendar

Dataset should not contain date ranges for services that have already expired.

This warning takes into account the calendar_dates.txt file as well as the calendar.txt file.

You can see more about this notice here.

csvRowNumber (?) The row of the faulty record. serviceId (?) The service id of the faulty record.
2 "Sunday and Holiday"
3 "Saturday"
4 "Monday to Friday"
5 "#33 - Monday to Friday"
leading_or_trailing_whitespaces WARNING 8

leading_or_trailing_whitespaces

The value in CSV file has leading or trailing whitespaces.

This notice is emitted for values protected with double quotes since whitespaces for non-protected values are trimmed automatically by CSV parser.

The validator strips whitespaces from protected values. We do not see any use case when such a whitespace may be needed. On the other hand, some real-world feeds use trailing whitespaces for some values and omit them for the others. This is causing the largest problem when a primary key and a foreign key differ just by a whitespace: it is clear that they are intended to be the same, that is why we always strip whitespaces.

You can see more about this notice here.

filename (?) The name of the faulty file. csvRowNumber (?) The row of the faulty record. fieldName (?) Faulty record's field name. fieldValue (?) Faulty value.
"stops.txt" 164 "stop_name" "Main St. / Union St. "
"stops.txt" 187 "stop_name" "University Ave. / Woodhaven Dr. "
"stops.txt" 189 "stop_name" "University Ave. / Christopher Ct. "
"stops.txt" 194 "stop_name" "Tucker Park Rd. / Sandy Point Rd. "
"stops.txt" 504 "stop_name" "Roxbury Dr. / Reading Crescent. "
"stops.txt" 571 "stop_name" "John T. McMillan Ave. / Upland Rd. "
"stops.txt" 714 "stop_name" "Dunn Ave. / Young St. "
"stops.txt" 718 "stop_name" "Parkwood Ave. / Sandy Point Rd. "
missing_recommended_file WARNING 1

missing_recommended_file

A recommended file is missing.

You can see more about this notice here.

filename (?) The name of the faulty file.
"feed_info.txt"
missing_timepoint_value WARNING 5919

missing_timepoint_value

stop_times.timepoint value is missing for a record.

When at least one of stop_times.arrival_time or stop_times.departure_time are provided, stop_times.timepoint should be defined

You can see more about this notice here.

Only the first 50 of 5919 affected records are displayed below.

csvRowNumber (?) The row number of the faulty record. tripId (?) The faulty record's `stop_times.trip_id`. stopSequence (?) The faulty record's `stop_times.stop_sequence`.
2 "#1A_WD_0_0605" 1
10 "#1A_WD_0_0605" 9
25 "#1A_WD_0_0605" 24
31 "#1A_WD_0_0605" 30
36 "#1A_WD_0_0605" 35
50 "#1A_WD_0_0605" 49
55 "#1A_WD_0_0605" 54
56 "#1A_WD_0_0635" 1
64 "#1A_WD_0_0635" 9
79 "#1A_WD_0_0635" 24
85 "#1A_WD_0_0635" 30
90 "#1A_WD_0_0635" 35
104 "#1A_WD_0_0635" 49
109 "#1A_WD_0_0635" 54
110 "#1A_WD_0_0705" 1
118 "#1A_WD_0_0705" 9
133 "#1A_WD_0_0705" 24
139 "#1A_WD_0_0705" 30
144 "#1A_WD_0_0705" 35
158 "#1A_WD_0_0705" 49
163 "#1A_WD_0_0705" 54
164 "#1A_SA_0_0705" 1
172 "#1A_SA_0_0705" 9
187 "#1A_SA_0_0705" 24
193 "#1A_SA_0_0705" 30
198 "#1A_SA_0_0705" 35
212 "#1A_SA_0_0705" 49
217 "#1A_SA_0_0705" 54
218 "#1A_SA_0_0735" 1
226 "#1A_SA_0_0735" 9
241 "#1A_SA_0_0735" 24
247 "#1A_SA_0_0735" 30
252 "#1A_SA_0_0735" 35
266 "#1A_SA_0_0735" 49
271 "#1A_SA_0_0735" 54
272 "#1A_SA_0_0805" 1
280 "#1A_SA_0_0805" 9
295 "#1A_SA_0_0805" 24
301 "#1A_SA_0_0805" 30
306 "#1A_SA_0_0805" 35
320 "#1A_SA_0_0805" 49
325 "#1A_SA_0_0805" 54
326 "#1A_SA_0_0835" 1
334 "#1A_SA_0_0835" 9
349 "#1A_SA_0_0835" 24
355 "#1A_SA_0_0835" 30
360 "#1A_SA_0_0835" 35
374 "#1A_SA_0_0835" 49
379 "#1A_SA_0_0835" 54
380 "#1A_SA_0_0905" 1
trip_coverage_not_active_for_next7_days WARNING 1

trip_coverage_not_active_for_next7_days

Trips data should be valid for at least the next seven days.

This notice is triggered if the date range where a significant number of trips are running ends in less than 7 days.

You can see more about this notice here.

currentDate (?) Current date (YYYYMMDD format). serviceWindowStartDate (?) The start date of the majority service window. serviceWindowEndDate (?) The end date of the majority service window.
"20260203" "20190204" "20201231"
unused_shape WARNING 1

unused_shape

Shape is not used in GTFS file trips.txt.

All records defined by GTFS shapes.txt should be used in trips.txt.

You can see more about this notice here.

shapeId (?) The faulty record's id. csvRowNumber (?) The row number of the faulty record.
"test_var_0" 9496