GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2026-01-24T01:12:20Z,
for the dataset file:///shared/czestochowa.zip. No country code was provided.

Use this report alongside our documentation.

Summary

Agencies included


  • Miejskie Przedsiębiorstwo Komunikacyjne w Częstochowie Spółka akcyjna

Feed Info


Publisher Name:
Urząd Miasta Częstochowy
Publisher URL:
http://czestochowa.pl
Feed Email:
N/A
Feed Language:
Polish
Feed Start Date:
2025-07-19
Feed End Date:
2025-08-31

Files included


  1. [Content_Types].xml
  2. agency.txt
  3. calendar.txt
  4. calendar_dates.txt
  5. feed_info.txt
  6. routes.txt
  7. shapes.txt
  8. stop_times.txt
  9. stops.txt
  10. transfers.txt
  11. trips.txt

Counts


  • Agencies: 1
  • Blocks: 315
  • Routes: 211
  • Shapes: 211
  • Stops: 891
  • Trips: 5578

Specification Compliance report

6726 notices reported (561 errors, 6164 warnings, 1 infos)

Notice Code Severity Total
equal_shape_distance_diff_coordinates ERROR 561

equal_shape_distance_diff_coordinates

Two consecutive points have equal shape_dist_traveled and different lat/lon coordinates in shapes.txt and the distance between the two points is greater than the 1.11m.

When sorted by shape.shape_pt_sequence, the values for shape_dist_traveled must increase along a shape. Two consecutive points with equal values for shape_dist_traveled and different coordinates indicate an error.

You can see more about this notice here.

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

shapeId (?) The id of the faulty shape. csvRowNumber (?) The row number from `shapes.txt`. shapeDistTraveled (?) The faulty record's `shape_dist_traveled` value. shapePtSequence (?) The faulty record's `shapes.shape_pt_sequence`. prevCsvRowNumber (?) The row number from `shapes.txt` of the previous shape point. prevShapeDistTraveled (?) The previous shape point's `shape_dist_traveled` value. prevShapePtSequence (?) The previous record's `shapes.shape_pt_sequence`. actualDistanceBetweenShapePoints (?) Actual distance traveled along the shape from the first shape point to the previous shape point.
"110" 57306 2.3901 40 57305 2.3901 39 312.39821011061764
"110" 57307 2.3901 41 57306 2.3901 40 11.07135721909766
"110" 57459 12.637 193 57458 12.637 192 40.82485315229044
"111" 57875 16.1469 341 57874 16.1469 340 274.1063534544716
"111" 57880 16.7057 346 57879 16.7057 345 89.74254898318424
"111" 57881 16.7057 347 57880 16.7057 346 29.214518720607735
"112" 58503 22.5125 412 58502 22.5125 411 40.029331919167795
"112" 58522 23.5332 431 58521 23.5332 430 38.21745957244649
"112" 58551 24.8726 460 58550 24.8726 459 26.008209441393085
"112" 58552 24.8726 461 58551 24.8726 460 19.485450880379936
"113" 58924 10.3811 174 58923 10.3811 173 47.526832920504994
"113" 59071 19.1917 321 59070 19.1917 320 12.775000342534986
"113" 59074 19.1985 324 59073 19.1985 323 22.335300244574167
"115" 60090 21.0158 434 60089 21.0158 433 163.24137761066146
"115" 60163 24.2714 507 60162 24.2714 506 39.66246280330928
"116" 60489 9.7263 175 60488 9.7263 174 66.37480461779391
"117" 61070 8.8342 154 61069 8.8342 153 10.321777739857769
"117" 61087 8.9168 171 61086 8.9168 170 1.5103173614673493
"117" 61296 19.6896 380 61295 19.6896 379 40.82485315229044
"117" 61474 25.47 558 61473 25.47 557 8.513499611450428
"119" 62776 17.1537 405 62775 17.1537 404 274.1063534544716
"119" 62781 17.7125 410 62780 17.7125 409 89.74254898318424
"119" 62782 17.7125 411 62781 17.7125 410 29.214518720607735
"10" 5449 14.5647 256 5448 14.5647 255 66.37480461779391
"12" 6453 5.9022 153 6452 5.9022 152 16.984605157634515
"12" 6722 18.5497 422 6721 18.5497 421 11.07135721909766
"14" 7404 4.1631 73 7403 4.1631 72 99.84784852674207
"14" 7432 5.8265 101 7431 5.8265 100 15.36835568729609
"14" 7448 6.2941 117 7447 6.2941 116 8.678239239107112
"14" 7458 6.9988 127 7457 6.9988 126 15.088440921142533
"14" 7459 6.9988 128 7458 6.9988 127 171.04834250348597
"14" 7466 7.7659 135 7465 7.7659 134 66.37480461779391
"15" 7551 1.3844 41 7550 1.3844 40 9.21641376317907
"15" 7552 1.3844 42 7551 1.3844 41 13.169028414340497
"16" 7863 1.7674 50 7862 1.7674 49 274.1063534544716
"18" 8435 4.7525 107 8434 4.7525 106 10.321777739857769
"18" 8452 4.8351 124 8451 4.8351 123 1.5103173614673493
"18" 8661 15.6079 333 8660 15.6079 332 40.82485315229044
"18" 8839 21.3883 511 8838 21.3883 510 8.513499611450428
"120" 63013 1.8119 64 63012 1.8119 63 8.513499611450428
"120" 63242 11.9169 293 63241 11.9169 292 3.0849417719127636
"120" 63245 11.9265 296 63244 11.9265 295 1.7429218250071086
"120" 63246 11.9265 297 63245 11.9265 296 8.529452765994765
"120" 63254 12.0 305 63253 12.0 304 9.758700377845956
"120" 63259 12.0085 310 63258 12.0085 309 1.7269464238516263
"1" 327 18.2878 326 326 18.2878 325 40.029331919167795
"1" 551 28.8002 550 550 28.8002 549 40.00282231656944
"2" 875 16.6291 312 874 16.6291 311 16.984605157634515
"2" 966 21.5082 403 965 21.5082 402 13.40553091573693
"2" 999 24.1872 436 998 24.1872 435 10.15465339674766
duplicate_route_name WARNING 7

duplicate_route_name

Two distinct routes have either the same route_short_name, the same route_long_name, or the same combination of route_short_name and route_long_name.

All routes of the same route_type with the same agency_id should have unique combinations of route_short_name and route_long_name.

Note that there may be valid cases where routes have the same short and long name, e.g., if they serve different areas. However, different directions must be modeled as the same route.

Example of bad data:

route_id route_short_name route_long_name
route1 U1 Southern
route2 U1 Southern

You can see more about this notice here.

csvRowNumber1 (?) The row number of the first occurrence. routeId1 (?) The id of the the first occurrence. csvRowNumber2 (?) The row number of the other occurrence. routeId2 (?) The id of the the other occurrence. routeShortName (?) Common `routes.route_short_name`. routeLongName (?) Common `routes.route_long_name`. routeTypeValue (?) Common `routes.route_type`. agencyId (?) Common `routes.agency_id`.
25 "1813" 29 "2019" "24" "BŁESZNO - KUKUCZKI-24" 3 "1"
42 "2030" 84 "1934" "24" "KUKUCZKI - BŁESZNO-24" 3 "1"
110 "616" 134 "2086" "11" "LEGIONÓW - DŹBÓW - KSSE SKORKI-11" 3 "1"
51 "1145" 153 "2015" "10" "JESIENNA - PARKITKA - SZPITAL-10" 3 "1"
28 "1035" 157 "2016" "10" "PARKITKA - SZPITAL - JESIENNA-10" 3 "1"
97 "1675" 159 "1752" "27" "GNASZYN DOSPEL - ZŁOTOGÓRSKA-27" 3 "1"
59 "1703" 179 "2085" "11" "DŹBÓW - KSSE SKORKI - LEGIONÓW-11" 3 "1"
equal_shape_distance_same_coordinates WARNING 5

equal_shape_distance_same_coordinates

Two consecutive points have equal shape_dist_traveled and the same lat/lon coordinates in shapes.txt.

When sorted by shape.shape_pt_sequence, the values for shape_dist_traveled must increase along a shape. Two consecutive points with equal values for shape_dist_traveled and the same coordinates indicate a duplicative shape point.

You can see more about this notice here.

shapeId (?) The id of the faulty shape. csvRowNumber (?) The row number from `shapes.txt`. shapeDistTraveled (?) Actual distance traveled along the shape from the first shape point to the faulty record. shapePtSequence (?) The faulty record's `shapes.shape_pt_sequence`. prevCsvRowNumber (?) The row number from `shapes.txt` of the previous shape point. prevShapeDistTraveled (?) Actual distance traveled along the shape from the first shape point to the previous shape point. prevShapePtSequence (?) The previous record's `shapes.shape_pt_sequence`.
"27" 13675 8.1999 177 13674 8.1999 176
"156" 79034 8.1999 177 79033 8.1999 176
"69" 35954 7.224 136 35953 7.224 135
"80" 42555 7.224 136 42554 7.224 135
"101" 52386 7.224 136 52385 7.224 135
expired_calendar WARNING 5578

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.

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

csvRowNumber (?) The row of the faulty record. serviceId (?) The service id of the faulty record.
2 "179768"
3 "148989"
4 "172841"
5 "176962"
6 "183919"
7 "149401"
8 "176721"
9 "174274"
10 "158685"
11 "179758"
12 "181107"
13 "176364"
14 "178328"
15 "176503"
16 "184478"
17 "176772"
18 "184479"
19 "174016"
20 "176193"
21 "173253"
22 "176586"
23 "181561"
24 "175444"
25 "181897"
26 "184311"
27 "175126"
28 "175959"
29 "184171"
30 "176026"
31 "172181"
32 "175193"
33 "174343"
34 "172720"
35 "182978"
36 "179711"
37 "171602"
38 "181214"
39 "176243"
40 "184480"
41 "149316"
42 "182388"
43 "181827"
44 "184011"
45 "183146"
46 "172193"
47 "158929"
48 "179752"
49 "176404"
50 "179792"
51 "183819"
feed_expiration_date7_days WARNING 1

feed_expiration_date7_days

Dataset should be valid for at least the next 7 days.

The dataset expiration date defined in feed_info.txt is in seven days or less. At any time, the published GTFS dataset should be valid for at least the next 7 days.

You can see more about this notice here.

csvRowNumber (?) The row number of the faulty record. currentDate (?) Current date (YYYYMMDD format). feedEndDate (?) Feed end date (YYYYMMDD format). suggestedExpirationDate (?) Suggested expiration date (YYYYMMDD format).
2 "20260124" "20250831" "20260131"
missing_feed_contact_email_and_url WARNING 1

missing_feed_contact_email_and_url

Best Practices for feed_info.txt suggest providing at least one of feed_contact_email and feed_contact_url.

You can see more about this notice here.

csvRowNumber (?) The row number of the validated record.
2
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"
mixed_case_recommended_field WARNING 570

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 570 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.
"stops.txt" "stop_name" "IKARA III" 3
"stops.txt" "stop_name" "IKARA II" 4
"stops.txt" "stop_name" "ŚW. ROCHA - SZKOŁA" 7
"stops.txt" "stop_name" "CMENTARZ ŚW. ROCHA" 11
"stops.txt" "stop_name" "RYNEK WIELUŃSKI" 12
"stops.txt" "stop_name" "KOMENDA MIEJSKA POLICJI" 13
"stops.txt" "stop_name" "DĄBROWSKIEGO - SĄDY" 14
"stops.txt" "stop_name" "PLAC BIEGAŃSKIEGO" 15
"stops.txt" "stop_name" "HOENE-WROŃSKIEGO" 19
"stops.txt" "stop_name" "ALEJA BOHATERÓW MONTE CASSINO" 20
"stops.txt" "stop_name" "BÓR WYPALANKI" 27
"stops.txt" "stop_name" "SZARYCH SZEREGÓW" 32
"stops.txt" "stop_name" "BRZEZINY KOLONIA" 33
"stops.txt" "stop_name" "WYCZERPY DOLNE" 42
"stops.txt" "stop_name" "RONDO TRZECH KRZYŻY" 48
"stops.txt" "stop_name" "PLAC DASZYŃSKIEGO" 49
"stops.txt" "stop_name" "II ALEJA NAJŚWIĘTSZEJ MARYI PANNY" 50
"stops.txt" "stop_name" "DWORZEC GŁÓWNY PKP" 52
"stops.txt" "stop_name" "DWORZEC PKS" 53
"stops.txt" "stop_name" "SZKOŁA STRAŻY POŻARNEJ" 55
"stops.txt" "stop_name" "NOWE BRZEZINY I" 64
"stops.txt" "stop_name" "NOWE BRZEZINY II" 65
"stops.txt" "stop_name" "SOBUCZYNA - SZAFIROWA" 66
"stops.txt" "stop_name" "RAKÓW - DWORZEC PKP" 69
"stops.txt" "stop_name" "STARY RAKÓW" 71
"stops.txt" "stop_name" "STADION RAKÓW" 72
"stops.txt" "stop_name" "KANAŁ KOHNA" 81
"stops.txt" "stop_name" "GALERIA JURAJSKA" 82
"stops.txt" "stop_name" "SKWER SOKOŁÓW" 84
"stops.txt" "stop_name" "ŚW. KAZIMIERZA" 85
"stops.txt" "stop_name" "III ALEJA NAJŚWIĘTSZEJ MARYI PANNY" 86
"stops.txt" "stop_name" "KOMENDA MIEJSKA POLICJI" 87
"stops.txt" "stop_name" "RYNEK WIELUŃSKI" 88
"stops.txt" "stop_name" "CMENTARZ ŚW. ROCHA" 89
"stops.txt" "stop_name" "WIELKOBORSKA - PRZYCHODNIA" 94
"stops.txt" "stop_name" "GNASZYN DOSPEL" 99
"stops.txt" "stop_name" "GNASZYN - DWORZEC PKP" 101
"stops.txt" "stop_name" "SIEDLEC - ŚW. ANTONIEGO" 103
"stops.txt" "stop_name" "MSTÓW - SŁOWACKIEGO" 104
"stops.txt" "stop_name" "MSTÓW - PLAC MICKIEWICZA" 105
"stops.txt" "stop_name" "MSTÓW - OŚRODEK ZDROWIA" 106
"stops.txt" "stop_name" "WANCERZÓW - KOŚCIÓŁ" 107
"stops.txt" "stop_name" "WANCERZÓW - SADOWA" 108
"stops.txt" "stop_name" "WANCERZÓW - BRZOZOWA" 109
"stops.txt" "stop_name" "JASKRÓW - POGODNA" 110
"stops.txt" "stop_name" "JASKRÓW - STAROWIEJSKA" 111
"stops.txt" "stop_name" "JASKRÓW - RĘDZIŃSKA" 112
"stops.txt" "stop_name" "JASKRÓW - CZĘSTOCHOWSKA" 113
"stops.txt" "stop_name" "JASKRÓW - WILLE" 114
"stops.txt" "stop_name" "JASKRÓW - MIROWSKA" 115
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.
"20260124" "20250719" "20250830"
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.
"[Content_Types].xml"