ptv-metropolitan-train — Source Data Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 8.0.1 at 2026-08-01T17:58:30Z,
for the dataset file:///shared/ptv-metropolitan-train_05f97c87.zip. No country code was provided.

Use this report alongside our documentation.

Summary

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. calendar_dates.txt
  4. levels.txt
  5. pathways.txt
  6. routes.txt
  7. shapes.txt
  8. stop_times.txt
  9. stops.txt
  10. transfers.txt
  11. trips.txt

Counts


  • Agencies: 1
  • Blocks: 13267
  • Routes: 35
  • Shapes: 2130
  • Stops: 2859
  • Trips: 34357

Specification Compliance report

1164 notices reported (495 errors, 669 warnings, 0 infos)

Notice Code Severity Total
decreasing_or_equal_stop_time_distance ERROR 358

decreasing_or_equal_stop_time_distance

Decreasing or equal shape_dist_traveled in stop_times.txt.

When sorted by stop_times.stop_sequence, two consecutive entries in stop_times.txt should have increasing distance, based on the field shape_dist_traveled. If the values are equal, this is considered as an error.

You can see more about this notice here.

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

tripId (?) The id of the faulty trip. stopId (?) The id of the faulty stop. csvRowNumber (?) The row number from `stop_times.txt`. shapeDistTraveled (?) Actual distance traveled along the shape from the first shape point to the faulty record. stopSequence (?) The faulty record's `stop_times.stop_sequence`. prevCsvRowNumber (?) The row number from `stop_times.txt` of the previous stop time. prevShapeDistTraveled (?) Actual distance traveled along the shape from the first shape point to the previous stop time. prevStopSequence (?) The previous record's `stop_times.stop_sequence`.
"02-BEG-R-57-T5_WD01-BL104" "26293" 50925 0.0 2 50924 0.0 1
"02-BEG-R-57-T5_WD01-BL102" "26293" 50915 0.0 2 50914 0.0 1
"02-BEG-R-57-T5_WD01-BL100" "26293" 50905 0.0 2 50904 0.0 1
"02-BEG-R-57-T5_WD01-BL108" "26293" 50945 0.0 2 50944 0.0 1
"02-BEG-R-57-T5_WD01-BL106" "26293" 50935 0.0 2 50934 0.0 1
"02-BEG-R-57-T5_WD01-BL126" "26293" 51029 0.0 2 51028 0.0 1
"02-BEG-R-57-T5_WD01-BL124" "26293" 51022 0.0 2 51021 0.0 1
"02-BEG-R-57-T5_WD01-BL122" "26293" 51015 0.0 2 51014 0.0 1
"02-BEG-R-57-T5_WD01-BL120" "26293" 51005 0.0 2 51004 0.0 1
"02-BEG-R-57-T5_WD01-BL128" "26293" 51036 0.0 2 51035 0.0 1
"02-BEG-R-57-T5_WD01-BL116" "26293" 50985 0.0 2 50984 0.0 1
"02-BEG-R-57-T5_WD01-BL114" "26293" 50975 0.0 2 50974 0.0 1
"02-BEG-R-57-T5_WD01-BL112" "26293" 50965 0.0 2 50964 0.0 1
"02-BEG-R-57-T5_WD01-BL110" "26293" 50955 0.0 2 50954 0.0 1
"02-BEG-R-57-T5_WD01-BL118" "26293" 50995 0.0 2 50994 0.0 1
"02-BEG-R-57-T5_WD01-BL140" "26293" 51113 0.0 2 51112 0.0 1
"02-BEG-R-57-T5_WD01-BL148" "26293" 51169 0.0 2 51168 0.0 1
"02-BEG-R-57-T5_WD01-BL146" "26293" 51155 0.0 2 51154 0.0 1
"02-BEG-R-57-T5_WD01-BL144" "26293" 51141 0.0 2 51140 0.0 1
"02-BEG-R-57-T5_WD01-BL142" "26293" 51127 0.0 2 51126 0.0 1
"02-BEG-R-57-T5_WD01-BL130" "26293" 51043 0.0 2 51042 0.0 1
"02-BEG-R-57-T5_WD01-BL138" "26293" 51099 0.0 2 51098 0.0 1
"02-BEG-R-57-T5_WD01-BL136" "26293" 51085 0.0 2 51084 0.0 1
"02-BEG-R-57-T5_WD01-BL134" "26293" 51071 0.0 2 51070 0.0 1
"02-BEG-R-57-T5_WD01-BL132" "26293" 51057 0.0 2 51056 0.0 1
"02-BEG-R-57-T5_WD01-BL162" "26293" 51267 0.0 2 51266 0.0 1
"02-BEG-R-57-T5_WD01-BL160" "26293" 51253 0.0 2 51252 0.0 1
"02-BEG-R-57-T5_WD01-BL168" "26293" 51309 0.0 2 51308 0.0 1
"02-BEG-R-57-T5_WD01-BL166" "26293" 51295 0.0 2 51294 0.0 1
"02-BEG-R-57-T5_WD01-BL164" "26293" 51281 0.0 2 51280 0.0 1
"02-BEG-R-57-T5_WD01-BL152" "26293" 51197 0.0 2 51196 0.0 1
"02-BEG-R-57-T5_WD01-BL150" "26293" 51183 0.0 2 51182 0.0 1
"02-BEG-R-57-T5_WD01-BL158" "26293" 51239 0.0 2 51238 0.0 1
"02-BEG-R-57-T5_WD01-BL156" "26293" 51225 0.0 2 51224 0.0 1
"02-BEG-R-57-T5_WD01-BL154" "26293" 51211 0.0 2 51210 0.0 1
"02-BEG-R-57-T5_WD01-BL184" "26293" 51421 0.0 2 51420 0.0 1
"02-BEG-R-57-T5_WD01-BL182" "26293" 51407 0.0 2 51406 0.0 1
"02-BEG-R-57-T5_WD01-BL180" "26293" 51393 0.0 2 51392 0.0 1
"02-BEG-R-57-T5_WD01-BL188" "26293" 51449 0.0 2 51448 0.0 1
"02-BEG-R-57-T5_WD01-BL186" "26293" 51435 0.0 2 51434 0.0 1
"02-BEG-R-57-T5_WD01-BL174" "26293" 51351 0.0 2 51350 0.0 1
"02-BEG-R-57-T5_WD01-BL172" "26293" 51337 0.0 2 51336 0.0 1
"02-BEG-R-57-T5_WD01-BL170" "26293" 51323 0.0 2 51322 0.0 1
"02-BEG-R-57-T5_WD01-BL178" "26293" 51379 0.0 2 51378 0.0 1
"02-BEG-R-57-T5_WD01-BL176" "26293" 51365 0.0 2 51364 0.0 1
"02-BEG-R-57-T5_WD01-BL196" "26293" 51505 0.0 2 51504 0.0 1
"02-BEG-R-57-T5_WD01-BL194" "26293" 51491 0.0 2 51490 0.0 1
"02-BEG-R-57-T5_WD01-BL192" "26293" 51477 0.0 2 51476 0.0 1
"02-BEG-R-57-T5_WD01-BL190" "26293" 51463 0.0 2 51462 0.0 1
"02-BEG-R-57-T5_WD01-BL020" "26293" 50505 0.0 2 50504 0.0 1
equal_shape_distance_diff_coordinates ERROR 136

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 136 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.
"2-FKN-vpt-56.25.R" 456889 23894.03 262 456888 23894.03 261 57.126234945294314
"2-FKN-vpt-57.32.R" 482868 2332.06 23 482867 2332.06 22 57.126234945294314
"2-FKN-vpt-1.27.R" 435303 23898.66 259 435302 23898.66 258 57.126234945294314
"2-FKN-vpt-56.12.H" 448114 18740.54 381 448113 18740.54 380 53.15326112795716
"2-FKN-vpt-56.38.H" 465930 16469.35 314 465929 16469.35 313 53.15326112795716
"2-FKN-vpt-58.30.R" 505765 2332.06 23 505764 2332.06 22 57.126234945294314
"2-FKN-vpt-1.18.H" 428088 18740.54 381 428087 18740.54 380 53.15326112795716
"2-FKN-vpt-57.36.H" 485595 16469.35 314 485594 16469.35 313 53.15326112795716
"2-FKN-vpt-58.17.H" 496037 18740.34 390 496036 18740.34 389 53.15326112795716
"2-FKN-vpt-57.14.R" 469839 23894.03 262 469838 23894.03 261 57.126234945294314
"2-FKN-vpt-56.16.H" 450641 18740.34 390 450640 18740.34 389 53.15326112795716
"2-FKN-vpt-57.23.H" 476236 18736.61 405 476235 18736.61 404 53.15326112795716
"2-FKN-vpt-57.10.R" 467175 23894.03 262 467174 23894.03 261 57.126234945294314
"2-FKN-vpt-1.7.R" 443853 23894.03 262 443852 23894.03 261 57.126234945294314
"2-FKN-vpt-58.13.H" 493677 18740.34 390 493676 18740.34 389 53.15326112795716
"2-FKN-vpt-58.2.H" 497489 18740.54 381 497488 18740.54 380 53.15326112795716
"2-FKN-vpt-57.4.H" 486285 18740.34 390 486284 18740.34 389 53.15326112795716
"2-FKN-vpt-58.26.R" 502903 23894.03 262 502902 23894.03 261 57.126234945294314
"2-FKN-vpt-1.32.R" 439101 2332.06 23 439100 2332.06 22 57.126234945294314
"2-FKN-vpt-57.27.R" 479322 23894.03 262 479321 23894.03 261 57.126234945294314
"2-FKN-vpt-56.30.R" 460079 23894.03 262 460078 23894.03 261 57.126234945294314
"2-FKN-vpt-1.10.R" 422740 23898.66 259 422739 23898.66 258 57.126234945294314
"2-FKN-vpt-1.2.H" 428972 18740.54 381 428971 18740.54 380 53.15326112795716
"2-HBE-vpt-58.7.H" 677039 6263.86 148 677038 6263.86 147 6.2105673485907325
"2-FKN-vpt-1.23.R" 431865 23898.66 259 431864 23898.66 258 57.126234945294314
"2-HBE-vpt-58.12.H" 648332 10239.82 264 648331 10239.82 263 6.2105673485907325
"2-FKN-vpt-57.8.R" 488840 23894.03 262 488839 23894.03 261 57.126234945294314
"2-FKN-vpt-58.6.R" 509853 23894.03 262 509852 23894.03 261 57.126234945294314
"2-FKN-vpt-58.22.H" 499817 18736.61 405 499816 18736.61 404 53.15326112795716
"2-FKN-vpt-56.34.R" 463205 2332.06 23 463204 2332.06 22 57.126234945294314
"2-FKN-vpt-57.18.H" 472282 18740.54 381 472281 18740.54 380 53.15326112795716
"2-FKN-vpt-1.14.H" 425848 18740.54 381 425847 18740.54 380 53.15326112795716
"2-FKN-vpt-56.21.R" 453649 23898.66 259 453648 23898.66 258 57.126234945294314
"2-FKN-vpt-56.13.H" 448804 18740.34 390 448803 18740.34 389 53.15326112795716
"2-FKN-vpt-58.9.R" 512111 23898.66 259 512110 23898.66 258 57.126234945294314
"2-FKN-vpt-57.20.H" 474119 18740.34 390 474118 18740.34 389 53.15326112795716
"2-HBE-vpt-58.15.H" 650349 4642.08 115 650348 4642.08 114 6.2105673485907325
"2-FKN-vpt-1.17.H" 427685 18740.34 390 427684 18740.34 389 53.15326112795716
"2-FKN-vpt-56.26.H" 457940 18736.82 396 457939 18736.82 395 53.15326112795716
"2-FKN-vpt-1.8.R" 444773 23898.66 259 444772 23898.66 258 57.126234945294314
"2-FKN-vpt-56.17.H" 451044 18740.54 381 451043 18740.54 380 53.15326112795716
"2-FKN-vpt-58.29.R" 504386 16238.07 168 504385 16238.07 167 57.126234945294314
"2-FKN-vpt-57.24.R" 476795 23898.66 259 476794 23898.66 258 57.126234945294314
"2-HBE-vpt-58.19.H" 653266 10239.82 264 653265 10239.82 263 6.2105673485907325
"2-FKN-vpt-57.11.R" 468098 23898.66 259 468097 23898.66 258 57.126234945294314
"2-FKN-vpt-58.1.H" 490802 18740.54 381 490801 18740.54 380 53.15326112795716
"2-FKN-vpt-57.3.H" 481027 18740.34 390 481026 18740.34 389 53.15326112795716
"2-FKN-vpt-1.3.H" 437608 18740.34 390 437607 18740.34 389 53.15326112795716
"2-FKN-vpt-1.31.R" 438414 16238.07 168 438413 16238.07 167 57.126234945294314
"2-FKN-vpt-58.25.H" 502341 18736.82 396 502340 18736.82 395 53.15326112795716
number_out_of_range ERROR 1

number_out_of_range

Out of range value.

The values in the given column of the input rows are out of range.

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 faulty field. fieldType (?) The type of the faulty field. fieldValue (?) Faulty value.
"pathways.txt" 2314 "traversal_time" "positive integer" 0
equal_shape_distance_diff_coordinates_distance_below_threshold WARNING 310

equal_shape_distance_diff_coordinates_distance_below_threshold

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 0 but less than 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 small difference of coordinates (greater than 0 but less than 1.11 m distance) result in a warning.

You can see more about this notice here.

Only the first 50 of 310 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.
"2-FKN-vpt-56.25.R" 456862 21561.38 235 456861 21561.38 234 0.8214629017550946
"2-CBE-vpt-57.2.R" 356464 34994.83 360 356463 34994.83 359 0.6367853601745425
"2-CBE-vpt-57.14.R" 355333 34995.81 357 355332 34995.81 356 0.6367853601745425
"2-CBE-vpt-56.4.R" 351751 34994.78 361 351750 34994.78 360 0.6367853601745425
"2-PKM-vpt-57.20.R" 1131758 49899.35 451 1131757 49899.35 450 0.6367853601745425
"2-FKN-vpt-1.27.R" 435276 21566.01 232 435275 21566.01 231 0.8214629017550946
"2-PKM-vpt-56.13.R" 1112344 49899.35 447 1112343 49899.35 446 0.6367853601745425
"2-FKN-vpt-56.12.H" 447905 6523.87 172 447904 6523.87 171 0.6079953698338537
"2-FKN-vpt-56.12.H" 447934 8724.6 201 447933 8724.6 200 0.8357230828439335
"2-FKN-vpt-56.12.H" 448135 21069.3 402 448134 21069.3 401 0.6008148851824606
"2-PKM-vpt-1.6.R" 1108294 49897.38 456 1108293 49897.38 455 0.6367853601745425
"2-FKN-vpt-56.38.H" 465721 4252.68 105 465720 4252.68 104 0.6079953698338537
"2-FKN-vpt-56.38.H" 465750 6453.41 134 465749 6453.41 133 0.8357230828439335
"2-FKN-vpt-56.38.H" 465951 18798.11 335 465950 18798.11 334 0.6008148851824606
"2-PKM-vpt-58.6.R" 1160293 49897.38 456 1160292 49897.38 455 0.6367853601745425
"2-FKN-vpt-1.18.H" 427879 6523.87 172 427878 6523.87 171 0.6079953698338537
"2-FKN-vpt-1.18.H" 427908 8724.6 201 427907 8724.6 200 0.8357230828439335
"2-PKM-vpt-57.8.R" 1142961 49897.37 452 1142960 49897.37 451 0.6367853601745425
"2-PKM-vpt-58.31.R" 1156207 21099.06 204 1156206 21099.06 203 0.6367853601745425
"2-PKM-vpt-1.18.R" 1098260 49899.35 447 1098259 49899.35 446 0.6367853601745425
"2-FKN-vpt-57.36.H" 485386 4252.68 105 485385 4252.68 104 0.6079953698338537
"2-FKN-vpt-57.36.H" 485415 6453.41 134 485414 6453.41 133 0.8357230828439335
"2-FKN-vpt-57.36.H" 485616 18798.11 335 485615 18798.11 334 0.6008148851824606
"2-FKN-vpt-58.17.H" 495828 6523.67 181 495827 6523.67 180 0.6079953698338537
"2-FKN-vpt-58.17.H" 495857 8724.39 210 495856 8724.39 209 0.8357230828439335
"2-FKN-vpt-58.17.H" 496058 21069.09 411 496057 21069.09 410 0.6008148851824606
"2-FKN-vpt-57.14.R" 469812 21561.38 235 469811 21561.38 234 0.8214629017550946
"2-CBE-vpt-58.4.R" 363281 34994.78 361 363280 34994.78 360 0.6367853601745425
"2-CBE-vpt-1.2.R" 345429 34994.83 360 345428 34994.83 359 0.6367853601745425
"2-PKM-vpt-58.18.R" 1149105 49897.38 456 1149104 49897.38 455 0.6367853601745425
"2-FKN-vpt-56.16.H" 450432 6523.67 181 450431 6523.67 180 0.6079953698338537
"2-FKN-vpt-56.16.H" 450461 8724.39 210 450460 8724.39 209 0.8357230828439335
"2-FKN-vpt-57.23.H" 476012 6523.67 181 476011 6523.67 180 0.6079953698338537
"2-FKN-vpt-57.23.H" 476041 8724.39 210 476040 8724.39 209 0.8357230828439335
"2-FKN-vpt-57.23.H" 476257 21065.37 426 476256 21065.37 425 0.6008148851824606
"2-PKM-vpt-1.36.H" 1106242 8487.6 133 1106241 8487.6 132 0.06409471688470395
"2-FKN-vpt-57.10.R" 467148 21561.38 235 467147 21561.38 234 0.8214629017550946
"2-FKN-vpt-1.7.R" 443826 21561.38 235 443825 21561.38 234 0.8214629017550946
"2-PKM-vpt-1.14.R" 1095923 49897.38 456 1095922 49897.38 455 0.6367853601745425
"2-FKN-vpt-58.13.H" 493468 6523.67 181 493467 6523.67 180 0.6079953698338537
"2-FKN-vpt-58.13.H" 493497 8724.39 210 493496 8724.39 209 0.8357230828439335
"2-FKN-vpt-58.2.H" 497280 6523.87 172 497279 6523.87 171 0.6079953698338537
"2-FKN-vpt-58.2.H" 497309 8724.6 201 497308 8724.6 200 0.8357230828439335
"2-FKN-vpt-58.2.H" 497510 21069.3 402 497509 21069.3 401 0.6008148851824606
"2-FKN-vpt-57.4.H" 486076 6523.67 181 486075 6523.67 180 0.6079953698338537
"2-FKN-vpt-57.4.H" 486105 8724.39 210 486104 8724.39 209 0.8357230828439335
"2-FKN-vpt-57.4.H" 486306 21069.09 411 486305 21069.09 410 0.6008148851824606
"2-FKN-vpt-58.26.R" 502876 21561.38 235 502875 21561.38 234 0.8214629017550946
"2-FKN-vpt-57.27.R" 479295 21561.38 235 479294 21561.38 234 0.8214629017550946
"2-FKN-vpt-56.30.R" 460052 21561.38 235 460051 21561.38 234 0.8214629017550946
expired_calendar WARNING 6

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.
8 "T5"
19 "T5+WD08"
22 "T5+WD0A"
26 "T5+WD0E"
31 "T5+WD79"
35 "T6_1"
leading_or_trailing_whitespaces WARNING 3

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" 1321 "stop_name" "East Pakenham Railway Station "
"stops.txt" 1496 "stop_name" "Glen Huntly Railway Station "
"stops.txt" 2687 "stop_name" "Union Railway Station "
missing_recommended_field WARNING 35

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.
"routes.txt" 2 "agency_id"
"routes.txt" 3 "agency_id"
"routes.txt" 4 "agency_id"
"routes.txt" 5 "agency_id"
"routes.txt" 6 "agency_id"
"routes.txt" 7 "agency_id"
"routes.txt" 8 "agency_id"
"routes.txt" 9 "agency_id"
"routes.txt" 10 "agency_id"
"routes.txt" 11 "agency_id"
"routes.txt" 12 "agency_id"
"routes.txt" 13 "agency_id"
"routes.txt" 14 "agency_id"
"routes.txt" 15 "agency_id"
"routes.txt" 16 "agency_id"
"routes.txt" 17 "agency_id"
"routes.txt" 18 "agency_id"
"routes.txt" 19 "agency_id"
"routes.txt" 20 "agency_id"
"routes.txt" 21 "agency_id"
"routes.txt" 22 "agency_id"
"routes.txt" 23 "agency_id"
"routes.txt" 24 "agency_id"
"routes.txt" 25 "agency_id"
"routes.txt" 26 "agency_id"
"routes.txt" 27 "agency_id"
"routes.txt" 28 "agency_id"
"routes.txt" 29 "agency_id"
"routes.txt" 30 "agency_id"
"routes.txt" 31 "agency_id"
"routes.txt" 32 "agency_id"
"routes.txt" 33 "agency_id"
"routes.txt" 34 "agency_id"
"routes.txt" 35 "agency_id"
"routes.txt" 36 "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"
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" "lift" 1692
"stops.txt" "stop_name" "MCE DP1" 1860
"stops.txt" "stop_name" "MCE DP2" 1861
route_long_name_contains_short_name WARNING 17

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`.
"aus:vic:vic-02-ALM:" 2 "Alamein" "Alamein - City"
"aus:vic:vic-02-BEG:" 4 "Belgrave" "Belgrave - City"
"aus:vic:vic-02-CBE:" 6 "Cranbourne" "Cranbourne - City"
"aus:vic:vic-02-CGB:" 9 "Craigieburn" "Craigieburn - City"
"aus:vic:vic-02-FKN:" 11 "Frankston" "Frankston - City"
"aus:vic:vic-02-GWY:" 13 "Glen Waverley" "Glen Waverley - City"
"aus:vic:vic-02-HBE:" 15 "Hurstbridge" "Hurstbridge - City"
"aus:vic:vic-02-LIL:" 17 "Lilydale" "Lilydale - City"
"aus:vic:vic-02-MDD:" 19 "Mernda" "Mernda - City"
"aus:vic:vic-02-PKM:" 21 "Pakenham" "Pakenham - City"
"aus:vic:vic-02-RCE:" 23 "Flemington Racecourse" "Flemington Racecourse - City"
"aus:vic:vic-02-SHM:" 25 "Sandringham" "Sandringham - City"
"aus:vic:vic-02-STY:" 27 "Stony Point" "Stony Point - Frankston"
"aus:vic:vic-02-SUY:" 29 "Sunbury" "Sunbury - City"
"aus:vic:vic-02-UFD:" 31 "Upfield" "Upfield - City"
"aus:vic:vic-02-WER:" 33 "Werribee" "Werribee - City"
"aus:vic:vic-02-WIL:" 35 "Williamstown" "Williamstown - City"
route_short_name_too_long WARNING 19

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.

routeId (?) The id of the faulty record. csvRowNumber (?) The row number of the faulty record. routeShortName (?) The faulty record's `route_short_name`.
"aus:vic:vic-02-ALM-R:" 3 "Replacement Bus"
"aus:vic:vic-02-BEG-R:" 5 "Replacement Bus"
"aus:vic:vic-02-CBE-R:" 7 "Replacement Bus"
"aus:vic:vic-02-CGB-R:" 10 "Replacement Bus"
"aus:vic:vic-02-FKN-R:" 12 "Replacement Bus"
"aus:vic:vic-02-GWY:" 13 "Glen Waverley"
"aus:vic:vic-02-GWY-R:" 14 "Replacement Bus"
"aus:vic:vic-02-HBE-R:" 16 "Replacement Bus"
"aus:vic:vic-02-LIL-R:" 18 "Replacement Bus"
"aus:vic:vic-02-MDD-R:" 20 "Replacement Bus"
"aus:vic:vic-02-PKM-R:" 22 "Replacement Bus"
"aus:vic:vic-02-RCE:" 23 "Flemington Racecourse"
"aus:vic:vic-02-RCE-R:" 24 "Replacement Bus"
"aus:vic:vic-02-SHM-R:" 26 "Replacement Bus"
"aus:vic:vic-02-STY-R:" 28 "Replacement Bus"
"aus:vic:vic-02-SUY-R:" 30 "Replacement Bus"
"aus:vic:vic-02-UFD-R:" 32 "Replacement Bus"
"aus:vic:vic-02-WER-R:" 34 "Replacement Bus"
"aus:vic:vic-02-WIL-R:" 36 "Replacement Bus"
stop_too_far_from_shape WARNING 2

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.

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.
3604 "2-BEG-R-vpt-57.2.R" "02-BEG-R-57-T2-BL002" 48922 "26116" "Belgrave Rail Replacement Bus Stop" [-37.90630509,145.3426632] 1228.404754676316
3347 "2-BEG-R-vpt-56.5.R" "02-BEG-R-56-T5_WD0E-BL002" 47491 "26116" "Belgrave Rail Replacement Bus Stop" [-37.90630509,145.3426632] 1228.404754676316
stop_without_stop_time WARNING 238

stop_without_stop_time

A stop in stops.txt is not referenced by any stop_times.stop_id.

Such stops are not used by any trip and normally do not provide user value. This notice may indicate a typo in stop_times.txt.

You can see more about this notice here.

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

csvRowNumber (?) The row number of the faulty record. stopId (?) The id of the faulty stop. stopName (?) The name of the faulty stop.
164 "12257" "Richmond Station"
226 "14234" "Moorabbin Station"
229 "14237" "Patterson Station"
232 "14240" "Bentleigh Station"
235 "14243" "McKinnon Station"
238 "14246" "Ormond Station"
241 "14249" "Glen Huntly Station"
253 "14261" "Armadale Station"
254 "14262" "Armadale Station"
257 "14265" "Toorak Station"
258 "14266" "Toorak Station"
261 "14269" "Hawksburn Station"
262 "14270" "Hawksburn Station"
266 "14274" "Brighton Beach Station"
289 "14297" "South Yarra Station"
410 "15520" "Footscray Station"
411 "15521" "Footscray Station"
415 "15525" "Flemington Racecourse Station"
432 "15543" "Essendon Station"
443 "19998" "Sunbury Station"
444 "19999" "Diggers Rest Station"
445 "20029" "Craigieburn Station"
446 "20043" "Southern Cross Station"
448 "22181" "Southern Cross Station"
449 "22182" "Southern Cross Station"
450 "22183" "Southern Cross Station"
451 "22184" "Southern Cross Station"
452 "22185" "Southern Cross Station"
453 "22186" "Southern Cross Station"
454 "22187" "Southern Cross Station"
461 "22238" "Flinders Street Station"
462 "22239" "North Melbourne Station"
463 "22240" "Footscray Station"
464 "22241" "Sunshine Station"
465 "22242" "Ginifer Station"
466 "22243" "St Albans Station"
467 "22244" "Watergardens Station"
468 "22245" "Newport Station"
469 "22246" "Werribee Station"
470 "22247" "Richmond Station"
471 "22248" "Caulfield Station"
472 "22249" "Clayton Station"
473 "22250" "Dandenong Station"
474 "22251" "Berwick Station"
475 "22252" "Pakenham Station"
476 "22253" "Essendon Station"
477 "22254" "Broadmeadows Station"
479 "26101" "Alamein Rail Replacement Bus Stop"
480 "26102" "Albion Rail Replacement Bus Stop"
481 "26103" "Alphington Rail Replacement Bus Stop"
unexpected_enum_value WARNING 35

unexpected_enum_value

An enum has an unexpected value.

You can see more about this notice here.

filename (?) The name of the faulty file. csvRowNumber (?) The row number of the faulty record. fieldName (?) The name of the field where the error occurred. fieldValue (?) Faulty value.
"routes.txt" 2 "route_type" 400
"routes.txt" 3 "route_type" 400
"routes.txt" 4 "route_type" 400
"routes.txt" 5 "route_type" 400
"routes.txt" 6 "route_type" 400
"routes.txt" 7 "route_type" 400
"routes.txt" 8 "route_type" 400
"routes.txt" 9 "route_type" 400
"routes.txt" 10 "route_type" 400
"routes.txt" 11 "route_type" 400
"routes.txt" 12 "route_type" 400
"routes.txt" 13 "route_type" 400
"routes.txt" 14 "route_type" 400
"routes.txt" 15 "route_type" 400
"routes.txt" 16 "route_type" 400
"routes.txt" 17 "route_type" 400
"routes.txt" 18 "route_type" 400
"routes.txt" 19 "route_type" 400
"routes.txt" 20 "route_type" 400
"routes.txt" 21 "route_type" 400
"routes.txt" 22 "route_type" 400
"routes.txt" 23 "route_type" 400
"routes.txt" 24 "route_type" 400
"routes.txt" 25 "route_type" 400
"routes.txt" 26 "route_type" 400
"routes.txt" 27 "route_type" 400
"routes.txt" 28 "route_type" 400
"routes.txt" 29 "route_type" 400
"routes.txt" 30 "route_type" 400
"routes.txt" 31 "route_type" 400
"routes.txt" 32 "route_type" 400
"routes.txt" 33 "route_type" 400
"routes.txt" 34 "route_type" 400
"routes.txt" 35 "route_type" 400
"routes.txt" 36 "route_type" 400