GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2025-12-05T15:53:04Z,
for the dataset file:///shared/lasi.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. LICENSE
  2. agency.txt
  3. calendar.txt
  4. calendar_dates.txt
  5. routes.txt
  6. stop_times.txt
  7. stops.txt
  8. trips.txt

Counts


  • Agencies: 8
  • Blocks: 0
  • Routes: 1028
  • Shapes: 0
  • Stops: 1707
  • Trips: 2016

Specification Compliance report

9135 notices reported (8064 errors, 1070 warnings, 1 infos)

Notice Code Severity Total
missing_trip_edge ERROR 4032

missing_trip_edge

Missing trip edge arrival_time or departure_time.

First and last stop of a trip must define both arrival_time and departure_time fields. Per stop_times.txt, "If there are not separate times for arrival and departure at a stop, enter the same value for arrival_time and departure_time."

You can see more about this notice here.

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

csvRowNumber (?) The row of the faulty record. stopSequence (?) `stops.stop_sequence` of the faulty record. tripId (?) The `trips.trip_id` of the faulty record. specifiedField (?) Name of the missing field.
19173 1 "8093" "arrival_time"
19176 4 "8093" "departure_time"
20328 1 "8091" "arrival_time"
20331 4 "8091" "departure_time"
5959 1 "11504" "arrival_time"
5973 15 "11504" "departure_time"
5950 1 "11506" "arrival_time"
5958 9 "11506" "departure_time"
5984 1 "11505" "arrival_time"
5991 8 "11505" "departure_time"
7444 1 "2303" "arrival_time"
7461 18 "2303" "departure_time"
21034 1 "2043a" "arrival_time"
21061 28 "2043a" "departure_time"
16395 1 "2302" "arrival_time"
16412 18 "2302" "departure_time"
8074 1 "2301" "arrival_time"
8091 18 "2301" "departure_time"
14257 1 "2300" "arrival_time"
14274 18 "2300" "departure_time"
6101 1 "11509" "arrival_time"
6108 8 "11509" "departure_time"
6071 1 "11500" "arrival_time"
6084 14 "11500" "departure_time"
6026 1 "11502" "arrival_time"
6041 16 "11502" "departure_time"
6044 1 "11501" "arrival_time"
6058 15 "11501" "departure_time"
292 1 "10668" "arrival_time"
296 5 "10668" "departure_time"
1990 1 "10667" "arrival_time"
1994 5 "10667" "departure_time"
1113 1 "10669" "arrival_time"
1117 5 "10669" "departure_time"
24064 1 "2044a" "arrival_time"
24093 30 "2044a" "departure_time"
1467 1 "10660" "arrival_time"
1471 5 "10660" "departure_time"
1015 1 "10662" "arrival_time"
1019 5 "10662" "departure_time"
2086 1 "10661" "arrival_time"
2090 5 "10661" "departure_time"
1553 1 "10664" "arrival_time"
1557 5 "10664" "departure_time"
2522 1 "10663" "arrival_time"
2526 5 "10663" "departure_time"
6093 1 "11510" "arrival_time"
6100 8 "11510" "departure_time"
1927 1 "10666" "arrival_time"
1931 5 "10666" "departure_time"
stop_time_with_only_arrival_or_departure_time ERROR 4032

stop_time_with_only_arrival_or_departure_time

Missing stop_times.arrival_time or stop_times.departure_time.

You can see more about this notice here.

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

csvRowNumber (?) The row number of the faulty record. tripId (?) The trip_id associated to the faulty record. stopSequence (?) The sequence of the faulty stop. specifiedField (?) Either `arrival_time` or `departure_time`
19173 "8093" 1 "departure_time"
19176 "8093" 4 "arrival_time"
20328 "8091" 1 "departure_time"
20331 "8091" 4 "arrival_time"
5959 "11504" 1 "departure_time"
5973 "11504" 15 "arrival_time"
5950 "11506" 1 "departure_time"
5958 "11506" 9 "arrival_time"
5984 "11505" 1 "departure_time"
5991 "11505" 8 "arrival_time"
7444 "2303" 1 "departure_time"
7461 "2303" 18 "arrival_time"
21034 "2043a" 1 "departure_time"
21061 "2043a" 28 "arrival_time"
16395 "2302" 1 "departure_time"
16412 "2302" 18 "arrival_time"
8074 "2301" 1 "departure_time"
8091 "2301" 18 "arrival_time"
14257 "2300" 1 "departure_time"
14274 "2300" 18 "arrival_time"
6101 "11509" 1 "departure_time"
6108 "11509" 8 "arrival_time"
6071 "11500" 1 "departure_time"
6084 "11500" 14 "arrival_time"
6026 "11502" 1 "departure_time"
6041 "11502" 16 "arrival_time"
6044 "11501" 1 "departure_time"
6058 "11501" 15 "arrival_time"
292 "10668" 1 "departure_time"
296 "10668" 5 "arrival_time"
1990 "10667" 1 "departure_time"
1994 "10667" 5 "arrival_time"
1113 "10669" 1 "departure_time"
1117 "10669" 5 "arrival_time"
24064 "2044a" 1 "departure_time"
24093 "2044a" 30 "arrival_time"
1467 "10660" 1 "departure_time"
1471 "10660" 5 "arrival_time"
1015 "10662" 1 "departure_time"
1019 "10662" 5 "arrival_time"
2086 "10661" 1 "departure_time"
2090 "10661" 5 "arrival_time"
1553 "10664" 1 "departure_time"
1557 "10664" 5 "arrival_time"
2522 "10663" 1 "departure_time"
2526 "10663" 5 "arrival_time"
6093 "11510" 1 "departure_time"
6100 "11510" 8 "arrival_time"
1927 "10666" 1 "departure_time"
1931 "10666" 5 "arrival_time"
expired_calendar WARNING 26

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.
28 "27"
31 "30"
34 "33"
36 "35"
37 "36"
38 "37"
39 "38"
42 "41"
46 "45"
67 "66"
68 "67"
69 "68"
70 "69"
73 "72"
87 "86"
98 "97"
102 "101"
104 "103"
107 "106"
123 "122"
128 "127"
145 "144"
173 "172"
175 "174"
192 "191"
193 "192"
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"
route_long_name_contains_short_name WARNING 15

route_long_name_contains_short_name

Long name should not contain short name for a single route.

In routes.txt, route_long_name should not contain the value for route_short_name, because when both are provided, they are often combined by transit applications. Note that only one of the two fields is required. If there is no short name used for a route, use route_long_name only.

Good examples:

route_short_name/route_long_name Dataset
"N"/"Judah" Muni San Fransisco
"6"/"ML King Jr Blvd" Trimet Portland Streetcar
"55"/"Boulevard Saint Laurent" STM Montreal
"1"/"Rangiora/Cashmere" Metro Christchurch

Bad examples:

route_short_name/route_long_name
"604"/"604"
"14"/"Route 14"
"2"/"Route 2: Bellows Falls In-Town"

You can see more about this notice here.

routeId (?) The id of the faulty record. csvRowNumber (?) The row number of the faulty record. routeShortName (?) The faulty record's `route_short_name`. routeLongName (?) The faulty record's `route_long_name`.
"42" 43 "R: Oradea - Aleşd" "R: Oradea - Aleşd"
"107" 108 "R-E: Bucureşti Nord Gr.A - Aeroport H. Coanda T1" "R-E: Bucureşti Nord Gr.A - Aeroport H. Coanda T1"
"160" 161 "IR: Bucureşti Nord Gr.A - Titu" "IR: Bucureşti Nord Gr.A - Titu"
"166" 167 "IR: Titu - Bucureşti Nord Gr.A" "IR: Titu - Bucureşti Nord Gr.A"
"214" 215 "R: Kotegyan - Salonta" "R: Kotegyan - Salonta"
"216" 217 "R-E: Sărăţel - Bistriţa Nord" "R-E: Sărăţel - Bistriţa Nord"
"267" 268 "R-E: Bistriţa Nord - Sărăţel" "R-E: Bistriţa Nord - Sărăţel"
"271" 272 "IR: Paşcani - Iaşi" "IR: Paşcani - Iaşi"
"303" 304 "R: Siculeni - Miercurea Ciuc" "R: Siculeni - Miercurea Ciuc"
"500" 501 "R: Salonta - Kotegyan" "R: Salonta - Kotegyan"
"654" 655 "IC: Constanţa - Bucureşti Nord Gr.A" "IC: Constanţa - Bucureşti Nord Gr.A"
"695" 696 "R: Miercurea Ciuc - Siculeni" "R: Miercurea Ciuc - Siculeni"
"778" 779 "IR: Iaşi - Paşcani" "IR: Iaşi - Paşcani"
"786" 787 "IC: Bucureşti Nord Gr.A - Constanţa" "IC: Bucureşti Nord Gr.A - Constanţa"
"838" 839 "R: Sibiu - Miercurea Sibiu Hm." "R: Sibiu - Miercurea Sibiu Hm."
route_short_name_too_long WARNING 1028

route_short_name_too_long

Short name of a route is too long (more than 12 characters).

You can see more about this notice here.

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

routeId (?) The id of the faulty record. csvRowNumber (?) The row number of the faulty record. routeShortName (?) The faulty record's `route_short_name`.
"1" 2 "R: Huedin - Cluj Napoca"
"2" 3 "R: Bistriţa Bârgăului hcv. - Bistriţa Nord"
"3" 4 "R-E: Timişoara Nord - Oradea"
"4" 5 "R-E: Cluj Napoca - Bistriţa Nord"
"5" 6 "R: Mediaş - Sibiu"
"6" 7 "R: Cluj Napoca - Câmpia Turzii"
"7" 8 "R: Cluj Napoca - Huedin"
"8" 9 "R: Letca Hm. - Jibou"
"9" 10 "R: Oradea - Aleşd"
"10" 11 "R-E: Cluj Napoca - Sibiu"
"11" 12 "R: Oradea - Valea lui Mihai"
"12" 13 "R: Deda - Târgu Mureş"
"13" 14 "R: Târgu Mureş - Câmpia Turzii"
"14" 15 "R: Câmpia Turzii - Târgu Mureş"
"15" 16 "R: Halmeu - Satu Mare"
"16" 17 "R: Bratca - Oradea"
"17" 18 "R: Bistriţa Nord - Bistriţa Bârgăului hcv."
"18" 19 "R: Bistriţa Nord - Cluj Napoca"
"19" 20 "R: Baia Mare - Jibou"
"20" 21 "R-E: Sibiu - Cluj Napoca"
"21" 22 "R: Sibiu - Mediaş"
"22" 23 "R: Târgu Mureş - Deda"
"23" 24 "R: Arad - Caransebeş"
"24" 25 "R-E: Sibiu - Cluj Napoca"
"25" 26 "R: Jibou - Baia Mare"
"26" 27 "R: Oradea - Satu Mare"
"27" 28 "R: Cluj Napoca - Bistriţa Nord"
"28" 29 "R: Satu Mare - Halmeu"
"29" 30 "R-E: Bistriţa Nord - Cluj Napoca"
"30" 31 "R: Oradea - Cluj Napoca"
"31" 32 "R: Bistriţa Nord - Bistriţa Bârgăului hcv."
"32" 33 "R-E: Bistriţa Nord - Cluj Napoca"
"33" 34 "R: Satu Mare - Oradea"
"34" 35 "R: Topliţa - Târgu Mureş"
"35" 36 "R: Satu Mare - Baia Mare"
"36" 37 "R: Cluj Napoca - Târgu Mureş"
"37" 38 "R: Aleşd - Oradea"
"38" 39 "R: Oradea - Bratca"
"39" 40 "R: Târgu Mureş - Cluj Napoca"
"40" 41 "R: Cluj Napoca - Dej Calatori"
"41" 42 "R-E: Cluj Napoca - Bistriţa Nord"
"42" 43 "R: Oradea - Aleşd"
"43" 44 "R-E: Cluj Napoca - Sibiu"
"44" 45 "R: Cluj Napoca - Stana Hm."
"45" 46 "R: Câmpia Turzii - Cluj Napoca"
"46" 47 "R: Valea lui Mihai - Oradea"
"47" 48 "R-E: Cluj Napoca - Oradea"
"48" 49 "R: Jibou - Letca Hm."
"49" 50 "R: Lunca Ilvei - Bistriţa Nord"
"50" 51 "R: Cluj Napoca - Bistriţa Nord"
unknown_file INFO 1

unknown_file

A file is unknown.

You can see more about this notice here.

filename (?) The name of the unknown file.
"LICENSE"