GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2026-01-17T00:15:26Z,
for the dataset file:///shared/autobus-comarca.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_dates.txt
  3. routes.txt
  4. shapes.txt
  5. stop_times.txt
  6. stops.txt
  7. trips.txt

Counts


  • Agencies: 0
  • Blocks: 0
  • Routes: 54
  • Shapes: 121
  • Stops: 560
  • Trips: 85032

Specification Compliance report

2595 notices reported (2441 errors, 154 warnings, 0 infos)

Notice Code Severity Total
invalid_url ERROR 1

invalid_url

A field contains a malformed URL.

Definitions for valid URLs are quite vague. We perform strict validation using the Apache Commons UrlValidator.

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.
"agency.txt" 2 "agency_url" "https://www.infotuc.es/index.php/es//"
stop_time_with_arrival_before_previous_departure_time ERROR 2440

stop_time_with_arrival_before_previous_departure_time

Backwards time travel between stops in stop_times.txt

For a given trip_id, the arrival_time of (n+1)-th stoptime in sequence must not precede the departure_time of n-th stoptime in sequence in stop_times.txt.

You can see more about this notice here.

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

csvRowNumber (?) The row number of the faulty record. prevCsvRowNumber (?) The row of the previous stop time. tripId (?) The trip_id associated to the faulty record. arrivalTime (?) Arrival time at the faulty record. departureTime (?) Departure time at the previous stop time.
1470602 1467778 "202602270857000040042235" "09:14:00" "09:21:00"
1075962 1073167 "2026020614280000400821640" "14:45:00" "14:51:00"
1606706 1603922 "2026030618160000400821659" "18:33:00" "18:39:00"
1137562 1134775 "2026021217490000400221188" "18:13:00" "18:44:00"
1539059 1536295 "2026030510160000400821619" "10:33:00" "10:39:00"
1138325 1135543 "202602120657000040042234" "07:14:00" "07:21:00"
809857 807044 "202601292025000040022961" "20:51:00" "21:13:00"
462818 460023 "2026012314160000400821639" "14:33:00" "14:39:00"
1673053 1670313 "2026031217280000400821655" "17:45:00" "17:51:00"
878073 875250 "202601301221000040042243" "12:38:00" "12:45:00"
1339812 1336997 "2026022007160000400821604" "07:33:00" "07:39:00"
1209334 1206550 "2026021314520000400821642" "15:09:00" "15:15:00"
1474466 1471682 "2026022720160000400821684" "20:33:00" "20:39:00"
808934 806078 "2026012913010000400221164" "13:25:00" "13:56:00"
1474655 1471876 "2026022716520000400821652" "17:09:00" "17:15:00"
1538398 1535619 "2026030506200000400821679" "06:37:00" "06:43:00"
1473621 1470826 "2026022717520000400821657" "18:09:00" "18:15:00"
1474636 1471857 "2026022721160000400821691" "21:33:00" "21:39:00"
456292 453394 "2026012310370000400221152" "11:01:00" "11:32:00"
813138 810358 "202601292057000040042248" "21:14:00" "21:21:00"
1136701 1133896 "2026021218490000400221193" "19:13:00" "19:44:00"
1271591 1268808 "202602190857000040042235" "09:14:00" "09:21:00"
1275366 1272626 "2026021919160000400821664" "19:33:00" "19:39:00"
1071443 1068617 "2026020619370000400221197" "20:01:00" "20:32:00"
1070091 1067209 "2026020610490000400221153" "11:13:00" "11:44:00"
1075885 1073090 "2026020608050000400822570" "08:22:00" "08:28:00"
1070458 1067605 "2026020618370000400221192" "19:01:00" "19:32:00"
1268789 1265949 "2026021907090000400221211" "07:13:00" "07:44:00"
1071201 1068374 "2026020617370000400221187" "18:01:00" "18:32:00"
457791 454962 "2026012317250000400221186" "17:49:00" "18:20:00"
391203 388406 "2026012217130000400221185" "17:37:00" "18:08:00"
1136570 1133757 "2026021216490000400221183" "17:13:00" "17:44:00"
457996 455168 "2026012318250000400221191" "18:49:00" "19:20:00"
1665666 1662803 "2026031212490000400221163" "13:13:00" "13:44:00"
1137330 1134542 "2026021215490000400221178" "16:13:00" "16:44:00"
1071104 1068276 "2026020616370000400221182" "17:01:00" "17:32:00"
458093 455266 "2026012319250000400221196" "19:49:00" "20:20:00"
1209340 1206556 "2026021320160000400821684" "20:33:00" "20:39:00"
1474460 1471676 "2026022714520000400821642" "15:09:00" "15:15:00"
810843 808056 "2026012916010000400221179" "16:25:00" "16:56:00"
455899 452994 "2026012311370000400221157" "12:01:00" "12:32:00"
1277363 1274701 "2026021914100000400101" "14:32:00" "14:35:00"
1212396 1209754 "2026021320400000400106" "21:02:00" "21:05:00"
1340767 1337967 "2026022009160000400821614" "09:33:00" "09:39:00"
1667466 1664677 "2026031214490000400221173" "15:13:00" "15:44:00"
1736538 1733718 "202603131909000040042247" "19:26:00" "19:33:00"
1137685 1134899 "2026021219490000400221198" "20:13:00" "20:44:00"
1474810 1472031 "2026022718520000400821662" "19:09:00" "19:15:00"
808809 805954 "2026012912010000400221159" "12:25:00" "12:56:00"
1340938 1338143 "2026022008160000400821609" "08:33:00" "08:39:00"
leading_or_trailing_whitespaces WARNING 5

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" 522 "stop_name" "Burlada Pol. Mugazuri - Iturrondo "
"stops.txt" 523 "stop_name" "Burlada Pol. Mugazuri - Iturrondo "
"stops.txt" 546 "stop_name" " Burlada Avda. María Azcárate (tanatorio) "
"stops.txt" 547 "stop_name" " Burlada Avda. María Azcárate (instituto)"
"stops.txt" 551 "stop_name" " Huarte c/ Amsterdam (c/ Roma) (HUARTE)"
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"
mixed_case_recommended_field WARNING 120

mixed_case_recommended_field

This field has customer-facing text and should use Mixed Case (should contain upper and lower case letters).

This field contains customer-facing text and should use Mixed Case (upper and lower case letters) to ensure good readability when displayed to riders. Avoid the use of abbreviations throughout the feed (e.g. St. for Street) unless a location is called by its abbreviated name (e.g. “JFK Airport”). Abbreviations may be problematic for accessibility by screen reader software and voice user interfaces.

Good examples:
Field Text Dataset
"Schwerin, Hauptbahnhof" Verkehrsverbund Berlin-Brandenburg
"Red Hook/Atlantic Basin" NYC Ferry
"Campo Grande Norte" Carris
Bad examples:
Field Text
"GALLERIA MALL"
"3427 GG 17"
"21 Clark Rd Est"

You can see more about this notice here.

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

filename (?) Name of the faulty file. fieldName (?) Name of the faulty field. fieldValue (?) Faulty value. csvRowNumber (?) The row number of the faulty record.
"routes.txt" "route_long_name" "CIZUR MENOR-UNIVERSIDADES" 18
"trips.txt" "trip_headsign" "CIP HUARTE" 1040
"trips.txt" "trip_headsign" "CIP HUARTE" 1587
"trips.txt" "trip_headsign" "GORRAIZ NOR-ITAR" 3927
"trips.txt" "trip_headsign" "GORRAIZ NOR-ITAR" 3933
"trips.txt" "trip_headsign" "GORRAIZ NOR-ITAR" 3939
"trips.txt" "trip_headsign" "GORRAIZ NOR-ITAR" 4096
"trips.txt" "trip_headsign" "GORRAIZ NOR-ITAR" 4102
"trips.txt" "trip_headsign" "GORRAIZ NOR-ITAR" 4678
"trips.txt" "trip_headsign" "GORRAIZ NOR-ITAR" 4684
"trips.txt" "trip_headsign" "GORRAIZ NOR-ITAR" 4690
"trips.txt" "trip_headsign" "GORRAIZ NOR-ITAR" 5142
"trips.txt" "trip_headsign" "GORRAIZ NOR-ITAR" 5148
"trips.txt" "trip_headsign" "GORRAIZ NOR-ITAR" 5154
"trips.txt" "trip_headsign" "CORTES NAVARRA" 5797
"trips.txt" "trip_headsign" "CORTES NAVARRA" 5799
"trips.txt" "trip_headsign" "CORTES NAVARRA" 5801
"trips.txt" "trip_headsign" "CORTES NAVARRA" 5803
"trips.txt" "trip_headsign" "CORTES NAVARRA" 5805
"trips.txt" "trip_headsign" "CORTES NAVARRA" 5807
"trips.txt" "trip_headsign" "CORTES NAVARRA" 5809
"trips.txt" "trip_headsign" "CORTES NAVARRA" 5811
"trips.txt" "trip_headsign" "GORRAIZ NOR-ITAR" 6506
"trips.txt" "trip_headsign" "GORRAIZ NOR-ITAR" 6512
"trips.txt" "trip_headsign" "GORRAIZ NOR-ITAR" 6518
"trips.txt" "trip_headsign" "GORRAIZ NOR-ITAR" 6646
"trips.txt" "trip_headsign" "GORRAIZ NOR-ITAR" 6652
"trips.txt" "trip_headsign" "GORRAIZ NOR-ITAR" 7002
"trips.txt" "trip_headsign" "GORRAIZ NOR-ITAR" 7008
"trips.txt" "trip_headsign" "GORRAIZ NOR-ITAR" 7014
"trips.txt" "trip_headsign" "CIP HUARTE" 8872
"trips.txt" "trip_headsign" "CIP HUARTE" 9483
"trips.txt" "trip_headsign" "CIP HUARTE" 11911
"trips.txt" "trip_headsign" "CIP HUARTE" 12522
"trips.txt" "trip_headsign" "CIP HUARTE" 14950
"trips.txt" "trip_headsign" "CIP HUARTE" 15561
"trips.txt" "trip_headsign" "CIP HUARTE" 18042
"trips.txt" "trip_headsign" "CIP HUARTE" 18503
"trips.txt" "trip_headsign" "CIP HUARTE" 21222
"trips.txt" "trip_headsign" "CIP HUARTE" 21726
"trips.txt" "trip_headsign" "GORRAIZ NOR-ITAR" 24081
"trips.txt" "trip_headsign" "GORRAIZ NOR-ITAR" 24087
"trips.txt" "trip_headsign" "GORRAIZ NOR-ITAR" 24093
"trips.txt" "trip_headsign" "GORRAIZ NOR-ITAR" 24250
"trips.txt" "trip_headsign" "GORRAIZ NOR-ITAR" 24256
"trips.txt" "trip_headsign" "GORRAIZ NOR-ITAR" 24832
"trips.txt" "trip_headsign" "GORRAIZ NOR-ITAR" 24838
"trips.txt" "trip_headsign" "GORRAIZ NOR-ITAR" 24844
"trips.txt" "trip_headsign" "GORRAIZ NOR-ITAR" 25296
"trips.txt" "trip_headsign" "GORRAIZ NOR-ITAR" 25302
route_color_contrast WARNING 1

route_color_contrast

Insufficient route color contrast.

A route's color and route_text_color should be contrasting.

You can see more about this notice here.

routeId (?) The id of the faulty record. csvRowNumber (?) The row number of the faulty record. routeColor (?) The faulty record's HTML route color. routeTextColor (?) The faulty record's HTML route text color.
"76" 47 "#C0C0C0" "#FFFFFF"
unusable_trip WARNING 27

unusable_trip

Trips must have more than one stop to be usable.

A trip must visit more than one stop in stop_times.txt to be usable by passengers for boarding and alighting.

You can see more about this notice here.

csvRowNumber (?) The row number of the faulty record. tripId (?) The faulty record's id.
3548 "2026011706300000300112958"
3953 "2026011706420000300112967"
4542 "2026011709050000300112964"
7979 "2026011906290000300111435"
8461 "2026011906410000300113154"
8998 "2026011907050000300113155"
11018 "2026012006290000300111435"
11500 "2026012006410000300113154"
12037 "2026012007050000300113155"
14057 "2026012106290000300111435"
14539 "2026012106410000300113154"
15076 "2026012107050000300113155"
23702 "2026012406300000300112958"
24107 "2026012406420000300112967"
24696 "2026012409050000300112964"
28133 "2026012606290000300111435"
28615 "2026012606410000300113154"
29152 "2026012607050000300113155"
31172 "2026012706290000300111435"
31654 "2026012706410000300113154"
32191 "2026012707050000300113155"
34211 "2026012806290000300111435"
34693 "2026012806410000300113154"
35230 "2026012807050000300113155"
43856 "2026013106300000300112958"
44261 "2026013106420000300112967"
44850 "2026013109050000300112964"