GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2026-05-05T00:59:16Z,
for the dataset file:///shared/ctm-cagliari_9ea08ba5.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. fare_attributes.txt
  4. routes.txt
  5. shapes.txt
  6. stop_times.txt
  7. stops.txt
  8. trips.txt

Counts


  • Agencies: 1
  • Blocks: 0
  • Routes: 37
  • Shapes: 118
  • Stops: 935
  • Trips: 12954

Specification Compliance report

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

Notice Code Severity Total
expired_calendar WARNING 20

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 "126_merged_1811299"
3 "1_merged_1811296"
4 "1_merged_1811286"
5 "126_merged_1811289"
6 "127_merged_1811300"
7 "20_merged_1811293"
8 "62_merged_1811287"
9 "62_merged_1811297"
10 "54_merged_1811284"
11 "127_merged_1811290"
12 "20_merged_1811283"
13 "96_merged_1811292"
14 "42_merged_1811285"
15 "96_merged_1811302"
16 "64_merged_1811298"
17 "64_merged_1811288"
18 "8_merged_1811291"
19 "42_merged_1811295"
20 "8_merged_1811301"
21 "54_merged_1811294"
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.
"fare_attributes.txt" 2 "agency_id"
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 100000

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 100000 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 "527;01;Di;01R22;1807219" 1
3 "527;01;Di;01R22;1807219" 2
4 "527;01;Di;01R22;1807219" 3
5 "527;01;Di;01R22;1807219" 4
6 "527;01;Di;01R22;1807219" 5
7 "527;01;Di;01R22;1807219" 6
8 "527;01;Di;01R22;1807219" 7
9 "527;01;Di;01R22;1807219" 8
10 "527;01;Di;01R22;1807219" 9
11 "527;01;Di;01R22;1807219" 10
12 "527;01;Di;01R22;1807219" 11
13 "527;01;Di;01R22;1807219" 12
14 "527;01;Di;01R22;1807219" 13
15 "527;01;Di;01R22;1807219" 14
16 "527;01;Di;01R22;1807219" 15
17 "527;01;Di;01R22;1807219" 16
18 "527;01;Di;01R22;1807219" 17
19 "527;01;Di;01R22;1807219" 18
20 "527;01;Di;01R22;1807219" 19
21 "527;01;Di;01R22;1807219" 20
22 "527;01;Di;01R22;1807219" 21
23 "527;01;Di;01R22;1807219" 22
24 "527;01;Di;01R22;1807219" 23
25 "527;01;Di;01R22;1807219" 24
26 "527;01;Di;01R22;1807219" 25
27 "527;01;Di;01R22;1807219" 26
28 "527;01;Di;01R22;1807219" 27
29 "527;01;Di;01R22;1807219" 28
30 "527;01;Di;01R22;1807219" 29
31 "527;01;Di;01R22;1807219" 30
32 "527;01;Di;01R22;1807219" 31
33 "527;01;Di;01R22;1807219" 32
34 "527;01;Di;01R22;1807219" 33
35 "527;01;Di;01R22;1807219" 34
36 "527;01;Di;01R22;1807219" 35
37 "527;01;Di;01R22;1807219" 36
38 "527;01;Di;01R22;1807218" 1
39 "527;01;Di;01R22;1807218" 2
40 "527;01;Di;01R22;1807218" 3
41 "527;01;Di;01R22;1807218" 4
42 "527;01;Di;01R22;1807218" 5
43 "527;01;Di;01R22;1807218" 6
44 "527;01;Di;01R22;1807218" 7
45 "527;01;Di;01R22;1807218" 8
46 "527;01;Di;01R22;1807218" 9
47 "527;01;Di;01R22;1807218" 10
48 "527;01;Di;01R22;1807218" 11
49 "527;01;Di;01R22;1807218" 12
50 "527;01;Di;01R22;1807218" 13
51 "527;01;Di;01R22;1807218" 14
mixed_case_recommended_field WARNING 3

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.

filename (?) Name of the faulty file. fieldName (?) Name of the faulty field. fieldValue (?) Faulty value. csvRowNumber (?) The row number of the faulty record.
"stops.txt" "stop_name" "S.S. 554 (cavalcavia pedonale)" 51
"stops.txt" "stop_name" "della pace (cimitero)" 84
"routes.txt" "route_long_name" "linea 41" 15
stop_too_far_from_shape WARNING 74

stop_too_far_from_shape

Stop too far from trip shape.

Per GTFS Best Practices, route alignments (in shapes.txt) should be within 100 meters of stop locations which a trip serves. This potentially indicates a problem with the location of the stop or the path of the shape.

You can see more about this notice here.

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

tripCsvRowNumber (?) The row number of the faulty record from `trips.txt`. shapeId (?) The id of the shape that is referred to. tripId (?) The id of the trip that is referred to. stopTimeCsvRowNumber (?) The row number of the faulty record from `stop_times.txt`. stopId (?) The id of the stop that is referred to. stopName (?) The name of the stop that is referred to. match (?) Latitude and longitude pair of the location. geoDistanceToShape (?) Distance from stop to shape.
153 "523;06;As;06A11" "523;06;As;06A12;1807302" 4920 "SV0901" "Parcheggi Stadio (capolinea 6)" [39.1985236,9.138517] 133.59528786781695
1921 "527;03P;Di;03PR03" "527;03P;Di;03PR02;1795814" 67662 "FE0224" "28 Febbraio (Assessorato RAS)" [39.22769743028786,9.126490960253863] 186.36882163423624
1921 "527;03P;Di;03PR03" "527;03P;Di;03PR02;1795814" 67663 "DO0226" "Donoratico (parco)" [39.227699300000005,9.1263347] 343.37525958984975
1921 "527;03P;Di;03PR03" "527;03P;Di;03PR02;1795814" 67664 "DO0004" "Donoratico (ang. via Capula)" [39.227699300000005,9.1263347] 555.7212320446148
181 "527;06;As;06A11" "527;06;As;06A11;1796949" 6149 "SV0901" "Parcheggi Stadio (capolinea 6)" [39.1985236,9.138517] 133.59528786781695
373 "523;50A;As;50AA05" "523;50A;As;50AA02;1806772" 13012 "RV0244" "Riva Villasanta (ang. via Randaccio)" [39.25251459999999,9.1437356] 2012.7605770764424
373 "523;50A;As;50AA05" "523;50A;As;50AA02;1806772" 13013 "RV0556" "Riva Villasanta (ang. vico Villasanta)" [39.25251459999999,9.1437356] 1739.318731086514
373 "523;50A;As;50AA05" "523;50A;As;50AA02;1806772" 13014 "IT0690" "Italia (ang. via D'Acquisto)" [39.2546887,9.1413077] 1326.587463341038
373 "523;50A;As;50AA05" "523;50A;As;50AA02;1806772" 13015 "IT0552" "Italia (Vetreria)" [39.2547169,9.1412759] 1110.8732790470215
373 "523;50A;As;50AA05" "523;50A;As;50AA02;1806772" 13016 "IT0815" "Italia (ang. via Sinnai)" [39.2547169,9.1412759] 884.4377742648098
373 "523;50A;As;50AA05" "523;50A;As;50AA02;1806772" 13017 "CB0479" "Cabras (ang. via Italia)" [39.254795200000004,9.1412093] 476.01323081106705
373 "523;50A;As;50AA05" "523;50A;As;50AA02;1806772" 13018 "CB0547" "Cabras (Polizia Municipale)" [39.2524961,9.1437648] 297.8059435855514
373 "523;50A;As;50AA05" "523;50A;As;50AA02;1806772" 13019 "CB0654" "Cabras (campi sportivi)" [39.25244817806866,9.144751334675528] 157.49073374063957
1549 "523;50A;As;50AA05" "523;50A;As;50AA04;1797213" 54692 "UV0830" "Policlinico Universitario" [39.26909750000001,9.1260943] 334.6014231474441
1549 "523;50A;As;50AA05" "523;50A;As;50AA04;1797213" 54693 "UV2059" "Policlinico Universitario" [39.2690843,9.126141100000002] 244.54991287571002
372 "527;03P;As;03PA03" "527;03P;As;03PA02;1796761" 13008 "DO0005" "Donoratico (ang. via Ciusa)" [39.2273713992,9.12667939458] 626.3481914264042
372 "527;03P;As;03PA03" "527;03P;As;03PA02;1796761" 13009 "DO0225" "Donoratico (fronte parco)" [39.2273713992,9.12667939458] 368.9288255154231
372 "527;03P;As;03PA03" "527;03P;As;03PA02;1796761" 13010 "FE0223" "28 Febbraio (fronte Assessorato RAS)" [39.2273713992,9.12667939458] 207.6235843542373
671 "523;06;Di;06R11" "523;06;Di;06R11;1800038" 23410 "SV0901" "Parcheggi Stadio (capolinea 6)" [39.198506384,9.138370117550002] 135.42899943895137
318 "527;06;Di;06R11" "527;06;Di;06R11;1796982" 11168 "SV0901" "Parcheggi Stadio (capolinea 6)" [39.198506384,9.138370117550002] 135.42899943895137
694 "523;50A;Di;50AR01" "523;50A;Di;50AR03;1797201" 24318 "CB0427" "Cabras (ang. vico Zuddas)" [39.252505799999994,9.1466973] 102.75201602451263
694 "523;50A;Di;50AR01" "523;50A;Di;50AR03;1797201" 24319 "CB0481" "Cabras (ang. via Monte Marganai)" [39.252505799999994,9.1466973] 458.78142971242346
694 "523;50A;Di;50AR01" "523;50A;Di;50AR03;1797201" 24320 "CB0823" "Cabras (fronte Polizia Municipale)" [39.25334112192994,9.14644474284055] 619.2731005945186
694 "523;50A;Di;50AR01" "523;50A;Di;50AR03;1797201" 24321 "CB0467" "Cabras (cantina sociale)" [39.2554939,9.145431] 812.6150808778051
694 "523;50A;Di;50AR01" "523;50A;Di;50AR03;1797201" 24322 "IT0549" "Italia (passaggio livello)" [39.252505799999994,9.1466973] 1244.460241728473
694 "523;50A;Di;50AR01" "523;50A;Di;50AR03;1797201" 24323 "IT0551" "Italia (fronte Vetreria)" [39.252505799999994,9.1466973] 1400.7361174558916
694 "523;50A;Di;50AR01" "523;50A;Di;50AR03;1797201" 24324 "IT0824" "Italia (portici)" [39.252505799999994,9.1466973] 1590.3054109621944
694 "523;50A;Di;50AR01" "523;50A;Di;50AR03;1797201" 24325 "MC0555" "Santa Maria Chiara (ang. via Balilla)" [39.252505799999994,9.1466973] 1893.5297663475735
694 "523;50A;Di;50AR01" "523;50A;Di;50AR03;1797201" 24326 "MC0242" "Santa Maria Chiara (scuole)" [39.252505799999994,9.1466973] 2213.5047014515467
694 "523;50A;Di;50AR01" "523;50A;Di;50AR03;1797201" 24327 "MC0240" "Santa Maria Chiara (fronte via Calamattia)" [39.252505799999994,9.1466973] 2609.244447152817
1435 "523;50A;Di;50AR01" "523;50A;Di;50AR04;1797190" 50647 "UV0830" "Policlinico Universitario" [39.26898,9.1225956] 480.2208649940657
12681 "523;50A;Di;50AR01" "523;50A;Di;50AR05;1797220" 446710 "RV0244" "Riva Villasanta (ang. via Randaccio)" [39.252505799999994,9.1466973] 2212.1769353342934
12681 "523;50A;Di;50AR01" "523;50A;Di;50AR05;1797220" 446711 "RV0556" "Riva Villasanta (ang. vico Villasanta)" [39.252505799999994,9.1466973] 1949.453450857204
12681 "523;50A;Di;50AR01" "523;50A;Di;50AR05;1797220" 446712 "IT0690" "Italia (ang. via D'Acquisto)" [39.252505799999994,9.1466973] 1586.940137111462
12681 "523;50A;Di;50AR01" "523;50A;Di;50AR05;1797220" 446713 "IT0552" "Italia (Vetreria)" [39.252505799999994,9.1466973] 1404.601126682144
12681 "523;50A;Di;50AR01" "523;50A;Di;50AR05;1797220" 446714 "IT0815" "Italia (ang. via Sinnai)" [39.252505799999994,9.1466973] 1220.1005915219898
12681 "523;50A;Di;50AR01" "523;50A;Di;50AR05;1797220" 446715 "CB0479" "Cabras (ang. via Italia)" [39.2554939,9.145431] 833.67885484585
12681 "523;50A;Di;50AR01" "523;50A;Di;50AR05;1797220" 446716 "CB0547" "Cabras (Polizia Municipale)" [39.252505799999994,9.1466973] 481.493705968179
12681 "523;50A;Di;50AR01" "523;50A;Di;50AR05;1797220" 446717 "CB0654" "Cabras (campi sportivi)" [39.2524015,9.1468146] 235.0837178242086
1045 "527;50A;As;50AA05" "527;50A;As;50AA04;1797183" 37174 "UV0830" "Policlinico Universitario" [39.26909750000001,9.1260943] 334.6014231474441
1045 "527;50A;As;50AA05" "527;50A;As;50AA04;1797183" 37175 "UV2059" "Policlinico Universitario" [39.2690843,9.126141100000002] 244.54991287571002
1210 "527;50A;As;50AA05" "527;50A;As;50AA02;1806772" 42891 "RV0244" "Riva Villasanta (ang. via Randaccio)" [39.25251459999999,9.1437356] 2012.7605770764424
1210 "527;50A;As;50AA05" "527;50A;As;50AA02;1806772" 42892 "RV0556" "Riva Villasanta (ang. vico Villasanta)" [39.25251459999999,9.1437356] 1739.318731086514
1210 "527;50A;As;50AA05" "527;50A;As;50AA02;1806772" 42893 "IT0690" "Italia (ang. via D'Acquisto)" [39.2546887,9.1413077] 1326.587463341038
1210 "527;50A;As;50AA05" "527;50A;As;50AA02;1806772" 42894 "IT0552" "Italia (Vetreria)" [39.2547169,9.1412759] 1110.8732790470215
1210 "527;50A;As;50AA05" "527;50A;As;50AA02;1806772" 42895 "IT0815" "Italia (ang. via Sinnai)" [39.2547169,9.1412759] 884.4377742648098
1210 "527;50A;As;50AA05" "527;50A;As;50AA02;1806772" 42896 "CB0479" "Cabras (ang. via Italia)" [39.254795200000004,9.1412093] 476.01323081106705
1210 "527;50A;As;50AA05" "527;50A;As;50AA02;1806772" 42897 "CB0547" "Cabras (Polizia Municipale)" [39.2524961,9.1437648] 297.8059435855514
1210 "527;50A;As;50AA05" "527;50A;As;50AA02;1806772" 42898 "CB0654" "Cabras (campi sportivi)" [39.25244817806866,9.144751334675528] 157.49073374063957
336 "523;03P;As;03PA03" "523;03P;As;03PA02;1799315" 11823 "DO0005" "Donoratico (ang. via Ciusa)" [39.2273713992,9.12667939458] 626.3481914264042
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.
"20260505" "20200811" "20200829"