viarail — Source Data Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 8.0.1 at 2026-08-08T03:35:12Z,
for the dataset file:///shared/viarail_a7d90d84.zip. No country code was provided.

Use this report alongside our documentation.

Summary

Agencies included


Feed Info


Publisher Name:
VIA Rail Canada inc.
Feed Email:
dev@viarail.ca
Feed Language:
English
Feed Start Date:
2026-07-09
Feed End Date:
2026-11-07

Files included


  1. agency.txt
  2. calendar.txt
  3. calendar_dates.txt
  4. feed_info.txt
  5. frequencies.txt
  6. routes.txt
  7. shapes.txt
  8. stop_times.txt
  9. stops.txt
  10. ticketing_deep_links.txt
  11. ticketing_identifiers.txt
  12. trips.txt

Counts


  • Agencies: 1
  • Blocks: 0
  • Routes: 19
  • Shapes: 83
  • Stops: 388
  • Trips: 85

Specification Compliance report

167 notices reported (0 errors, 4 warnings, 163 infos)

Notice Code Severity Total
missing_recommended_field WARNING 1

missing_recommended_field

A recommended field is missing.

The given field has no value in some input row, even though values are recommended.

You can see more about this notice here.

filename (?) The name of the faulty file. csvRowNumber (?) The row of the faulty record. fieldName (?) The name of the missing field.
"feed_info.txt" 2 "feed_version"
missing_timepoint_value WARNING 3

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.

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`.
1306 "554" 1
1307 "554" 2
1308 "554" 3
service_extends_far_in_the_future INFO 74

service_extends_far_in_the_future

A service end date is more than 2 years in the future.

You can see more about this notice here.

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

serviceId (?) The service_id that ends far in the future. serviceWindowEndDate (?) The end date of the service (YYYY-MM-DD format).
"499" "2030-12-31"
"495" "2030-12-31"
"496" "2030-12-31"
"497" "2030-12-31"
"490" "2030-12-31"
"492" "2030-12-31"
"269" "2030-12-31"
"533" "2030-12-29"
"371" "2030-12-31"
"270" "2030-12-29"
"397" "2030-12-29"
"396" "2030-12-31"
"112" "2030-12-30"
"278" "2030-12-31"
"279" "2030-12-27"
"525" "2030-12-31"
"526" "2030-12-28"
"520" "2030-12-31"
"449" "2030-12-31"
"443" "2030-12-31"
"442" "2030-12-31"
"519" "2030-12-31"
"518" "2030-12-31"
"511" "2030-12-29"
"510" "2030-12-31"
"513" "2030-12-31"
"512" "2030-12-31"
"433" "2030-12-29"
"517" "2030-12-31"
"516" "2030-12-31"
"458" "2030-12-31"
"450" "2030-12-31"
"451" "2030-12-31"
"452" "2030-12-31"
"453" "2030-12-31"
"454" "2030-12-31"
"455" "2030-12-31"
"456" "2030-12-31"
"482" "2030-12-31"
"508" "2030-12-31"
"504" "2030-12-29"
"505" "2030-12-29"
"502" "2030-12-31"
"503" "2030-12-31"
"500" "2030-12-31"
"467" "2030-12-31"
"466" "2030-12-31"
"461" "2030-12-31"
"460" "2030-12-29"
"462" "2030-12-31"
service_window_outside_feed_period INFO 83

service_window_outside_feed_period

A service window is not covered by the feed's validity period.

You can see more about this notice here.

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

serviceId (?) The service_id whose active window extends outside the feed validity period. serviceWindowStartDate (?) The first active date of the service window. serviceWindowEndDate (?) The last active date of the service window. daysBeforeFeedStart (?) Number of days the service window extends before feed_start_date (0 if none). daysAfterFeedEnd (?) Number of days the service window extends after feed_end_date (0 if none).
"270" "2024-01-03" "2030-12-29" 918 1513
"470" "2024-01-01" "2030-12-31" 920 1515
"472" "2024-01-01" "2030-12-31" 920 1515
"396" "2024-01-02" "2030-12-31" 919 1515
"473" "2024-01-01" "2030-12-31" 920 1515
"111" "2024-01-03" "2030-12-29" 918 1513
"397" "2024-01-07" "2030-12-29" 914 1513
"112" "2024-01-01" "2030-12-30" 920 1514
"475" "2024-01-01" "2030-12-31" 920 1515
"278" "2024-01-02" "2030-12-31" 919 1515
"476" "2024-01-01" "2030-12-31" 920 1515
"279" "2024-01-05" "2030-12-27" 916 1511
"510" "2024-01-01" "2030-12-31" 920 1515
"554" "2024-01-01" "2030-12-31" 920 1515
"433" "2024-01-06" "2030-12-29" 915 1513
"477" "2024-01-01" "2030-12-31" 920 1515
"511" "2024-01-06" "2030-12-29" 915 1513
"434" "2024-01-01" "2030-12-31" 920 1515
"478" "2024-01-01" "2030-12-31" 920 1515
"512" "2024-01-01" "2030-12-31" 920 1515
"479" "2024-01-01" "2030-12-31" 920 1515
"556" "2024-11-09" "2030-12-29" 607 1513
"513" "2024-01-01" "2030-12-31" 920 1515
"557" "2024-01-01" "2030-12-31" 920 1515
"91" "2024-01-01" "2030-12-31" 920 1515
"558" "2024-11-09" "2030-12-29" 607 1513
"559" "2026-07-13" "2026-12-28" 0 51
"516" "2024-01-01" "2030-12-31" 920 1515
"93" "2024-01-01" "2030-12-31" 920 1515
"517" "2024-01-01" "2030-12-31" 920 1515
"518" "2024-05-27" "2030-12-31" 773 1515
"95" "2024-01-05" "2030-12-27" 916 1511
"519" "2024-05-27" "2030-12-31" 773 1515
"481" "2024-01-01" "2030-12-31" 920 1515
"482" "2024-05-27" "2030-12-31" 773 1515
"560" "2026-07-13" "2026-12-28" 0 51
"484" "2024-05-27" "2030-12-31" 773 1515
"485" "2024-01-01" "2030-12-30" 920 1514
"442" "2024-01-01" "2030-12-31" 920 1515
"486" "2024-01-01" "2030-12-31" 920 1515
"520" "2024-01-02" "2030-12-31" 919 1515
"443" "2024-01-01" "2030-12-31" 920 1515
"487" "2024-01-05" "2030-12-29" 916 1513
"488" "2024-01-01" "2030-12-31" 920 1515
"489" "2024-01-01" "2030-12-31" 920 1515
"525" "2024-01-02" "2030-12-31" 919 1515
"526" "2024-01-04" "2030-12-28" 917 1512
"449" "2024-01-01" "2030-12-31" 920 1515
"490" "2024-01-01" "2030-12-31" 920 1515
"492" "2024-01-01" "2030-12-31" 920 1515
trip_headsign_matches_intermediate_stop INFO 1

trip_headsign_matches_intermediate_stop

Trip headsign matches the name of an intermediate stop, not the last stop.

The trip_headsign matches the stop_name of a stop that is not the last stop of the trip. This may confuse passengers boarding after that stop, since the headsign suggests the vehicle is heading to a stop it has already passed.

You can see more about this notice here.

csvRowNumber (?) The row number of the faulty record in `trips.txt`. tripId (?) The id of the trip with the problematic headsign. tripHeadsign (?) The headsign value that matches an intermediate stop name. stopId1 (?) The id of the intermediate stop whose name matches the headsign. stopSequence (?) The stop_sequence value of the intermediate stop that matches the headsign. stopId2 (?) The id of the actual last stop of the trip.
51 "502" "Niagara Falls" "346" 6 "120"
unknown_column INFO 3

unknown_column

A column name is unknown.

You can see more about this notice here.

filename (?) The name of the faulty file. fieldName (?) The name of the unknown column. index (?) The index of the faulty column.
"agency.txt" "ticketing_deep_link_id" 8
"trips.txt" "ticketing_trip_id" 8
"stop_times.txt" "ticketing_type" 11
unknown_file INFO 2

unknown_file

A file is unknown.

You can see more about this notice here.

filename (?) The name of the unknown file.
"ticketing_identifiers.txt"
"ticketing_deep_links.txt"