GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2026-01-23T16:08:42Z,
for the dataset file:///shared/citpi.zip. No country code was provided.

Use this report alongside our documentation.

Summary

Agencies included


Feed Info


Publisher Name:
CITPI
Feed Email:
N/A
Feed Language:
French
Feed Start Date:
2026-01-08
Feed End Date:
2026-06-21

Files included


  1. agency.txt
  2. calendar.txt
  3. calendar_dates.txt
  4. fare_attributes.txt
  5. fare_rules.txt
  6. feed_info.txt
  7. routes.txt
  8. shapes.txt
  9. stop_times.txt
  10. stops.txt
  11. trips.txt

Counts


  • Agencies: 1
  • Blocks: 0
  • Routes: 28
  • Shapes: 120
  • Stops: 959
  • Trips: 1083

Specification Compliance report

17351 notices reported (0 errors, 17350 warnings, 1 infos)

Notice Code Severity Total
equal_shape_distance_diff_coordinates_distance_below_threshold WARNING 48

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.

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.
"910119" 44086 2.167 10084 44085 2.167 10083 0.557623873605493
"910119" 44640 38.979 40168 44639 38.979 40167 0.40577080036075047
"910121" 46522 38.298 40126 46521 38.298 40125 0.40577080036075047
"910120" 45719 38.36 60126 45718 38.36 60125 0.40577080036075047
"30130" 3122 2.648 60005 3121 2.648 60004 0.25935170661262497
"30131" 3334 2.648 60005 3333 2.648 60004 0.25935170661262497
"410061" 21834 4.398 30073 21833 4.398 30072 0.34260725066349995
"410064" 23055 8.929 230006 23054 8.929 230005 0.34260725066349995
"410063" 22638 8.929 230006 22637 8.929 230005 0.34260725066349995
"20279" 2668 5.643 230008 2667 5.643 230007 0.13585718224422447
"400061" 21006 22.822 20265 21005 22.822 20264 0.40577080036075047
"20277" 2116 5.643 230008 2115 5.643 230007 0.13585718224422447
"50173" 4334 0.415 30002 4333 0.415 30001 0.8316322895419757
"50173" 4402 2.361 120002 4401 2.361 120001 0.9510792408843959
"50176" 5052 0.432 20005 5051 0.432 20004 0.13587752721234075
"50175" 4818 1.018 30005 4817 1.018 30004 0.13587752721234075
"20272" 1466 7.036 220003 1465 7.036 220002 0.5434535059680966
"150176" 11516 9.081 270005 11515 9.081 270004 0.13587752721234075
"30129" 2981 5.384 190003 2980 5.384 190002 0.25935170661262497
"100050" 9245 2.571 70052 9244 2.571 70051 0.45157828460662996
"430071" 25463 9.509 390005 25462 9.509 390004 0.5559755059637761
"40144" 4007 2.974 150013 4006 2.974 150012 0.5135266222475758
"40143" 3682 2.194 100014 3681 2.194 100013 0.13587455176861152
"20269" 1084 0.409 20008 1083 0.409 20007 0.13585718224422447
"460111" 29151 7.718 200016 29150 7.718 200015 0.8362786050172364
"460111" 29218 9.555 280013 29217 9.555 280012 0.811962367174626
"460110" 28610 7.718 200016 28609 7.718 200015 0.8362786050172364
"460110" 28677 9.555 280013 28676 9.555 280012 0.811962367174626
"70121" 6850 10.322 10126 6849 10.322 10125 0.40577080036075047
"460113" 30004 7.718 200016 30003 7.718 200015 0.8362786050172364
"460113" 30071 9.555 280013 30070 9.555 280012 0.811962367174626
"460112" 29461 0.403 10016 29460 0.403 10015 0.8362786050172364
"460112" 29528 2.24 90013 29527 2.24 90012 0.811962367174626
"460112" 29573 4.335 140008 29572 4.335 140007 0.34260725066349995
"470035" 30801 2.906 10069 30800 2.906 10068 0.34260725066349995
"470034" 30515 5.496 150011 30514 5.496 150010 0.1917629292767661
"470037" 32207 6.099 160012 32206 6.099 160011 0.9512890348369873
"470036" 31606 6.099 160012 31605 6.099 160011 0.9512890348369873
"470036" 31860 12.728 270036 31859 12.728 270035 0.34260725066349995
"610115" 40322 31.595 250002 40321 31.595 250001 0.4678040510138637
"610116" 41214 4.798 160002 41213 4.798 160001 0.4678040510138637
"10436" 970 3.282 170002 969 3.282 170001 0.23569069339188464
"80103" 8262 1.202 30010 8261 1.202 30009 0.3835320328275656
"10435" 627 5.479 150002 626 5.479 150001 0.15611122830428145
"10434" 303 8.769 320002 302 8.769 320001 0.23569069339188464
"610109" 36080 0.97 60002 36079 0.97 60001 0.4678040510138637
"610113" 37415 29.677 80002 37414 29.677 80001 0.7016867984048493
"910116" 42624 34.456 60031 42623 34.456 60030 0.6398220386030128
equal_shape_distance_same_coordinates WARNING 3054

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.

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

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`.
"60190" 5288 0.72 20001 5287 0.72 10019
"60190" 5294 1.105 30001 5293 1.105 20006
"60190" 5320 2.127 40001 5319 2.127 30026
"60190" 5325 2.261 50001 5324 2.261 40005
"60190" 5334 2.441 60001 5333 2.441 50009
"60190" 5341 2.672 70001 5340 2.672 60007
"60190" 5347 2.818 80001 5346 2.818 70006
"60190" 5356 3.158 90001 5355 3.158 80009
"60190" 5360 3.247 100001 5359 3.247 90004
"60190" 5365 3.435 110001 5364 3.435 100005
"60190" 5373 3.786 120001 5372 3.786 110008
"60190" 5380 4.008 130001 5379 4.008 120007
"60190" 5391 4.234 140001 5390 4.234 130011
"60190" 5395 4.321 150001 5394 4.321 140004
"60190" 5404 4.548 160001 5403 4.548 150009
"60190" 5418 4.822 170001 5417 4.822 160014
"60190" 5425 4.939 180001 5424 4.939 170007
"60190" 5433 5.171 190001 5432 5.171 180008
"60190" 5440 5.277 200001 5439 5.277 190007
"60190" 5449 5.475 210001 5448 5.475 200009
"60190" 5451 5.597 220001 5450 5.597 210002
"60190" 5454 5.723 230001 5453 5.723 220003
"60190" 5457 5.802 240001 5456 5.802 230003
"60190" 5461 5.873 250001 5460 5.873 240004
"60190" 5464 5.973 260001 5463 5.973 250003
"60190" 5473 6.092 270001 5472 6.092 260009
"60190" 5480 6.189 280001 5479 6.189 270007
"60190" 5483 6.265 290001 5482 6.265 280003
"60190" 5486 6.345 300001 5485 6.345 290003
"60190" 5507 6.874 310001 5506 6.874 300021
"60190" 5514 6.955 320001 5513 6.955 310007
"60190" 5523 7.232 330001 5522 7.232 320009
"60190" 5535 7.432 340001 5534 7.432 330012
"60190" 5549 7.733 350001 5548 7.733 340014
"1150095" 48171 0.879 20001 48170 0.879 10022
"1150095" 48180 1.303 30001 48179 1.303 20009
"1150095" 48197 2.183 40001 48196 2.183 30017
"1150095" 48200 2.463 50001 48199 2.463 40003
"1150095" 48210 2.856 60001 48209 2.856 50010
"1150095" 48221 3.107 70001 48220 3.107 60011
"1150095" 48237 3.546 80001 48236 3.546 70016
"1150095" 48243 3.765 90001 48242 3.765 80006
"1150095" 48247 3.981 100001 48246 3.981 90004
"1150095" 48260 4.365 110001 48259 4.365 100013
"1150095" 48268 4.546 120001 48267 4.546 110008
"1150095" 48276 4.825 130001 48275 4.825 120008
"1150095" 48294 5.215 140001 48293 5.215 130018
"1150095" 48319 5.742 150001 48318 5.742 140025
"1150095" 48335 6.045 160001 48334 6.045 150016
"1150095" 48352 6.409 170001 48351 6.409 160017
fast_travel_between_consecutive_stops WARNING 18

fast_travel_between_consecutive_stops

A transit vehicle moves too fast between two consecutive stops.

The speed threshold depends on route type:

Route type Description Threshold, km/h
0 Light rail 100
1 Subway 150
2 Rail 500
3 Bus 150
4 Ferry 80
5 Cable tram 30
6 Aerial lift 50
7 Funicular 50
11 Trolleybus 150
12 Monorail 150
- Unknown 200

You can see more about this notice here.

tripCsvRowNumber (?) The row number of the problematic trip. tripId (?) `trip_id` of the problematic trip. routeId (?) `route_id` of the problematic trip. speedKph (?) Travel speed (km/h). distanceKm (?) Distance between stops (km). csvRowNumber1 (?) The row number of the first stop time. stopSequence1 (?) `stop_sequence` of the first stop. stopId1 (?) `stop_id` of the first stop. stopName1 (?) `stop_name` of the first stop. departureTime1 (?) `departure_time` of the first stop. csvRowNumber2 (?) The row number of the second stop time. stopSequence2 (?) `stop_sequence` of the second stop. stopId2 (?) `stop_id` of the second stop. stopName2 (?) `stop_name` of the second stop. arrivalTime2 (?) `arrival_time` of the second stop.
513 "3282206-PI-H26-PI_GTFS-Fête-2-01" "46" 330.2396563940216 0.18346647577445646 12550 20 "72069" "Don-Quichotte / face au Carrefour Don-Quichotte" "05:57:58" 12551 30 "72039" "Don-Quichotte / Grand Boulevard" "05:58:00"
512 "3282206-PI-H26-PI_GTFS-Semaine-01" "46" 330.2396563940216 0.18346647577445646 12505 20 "72069" "Don-Quichotte / face au Carrefour Don-Quichotte" "05:57:58" 12506 30 "72039" "Don-Quichotte / Grand Boulevard" "05:58:00"
1024 "8267224-PI-H26-PI_GTFS-Fête-2-01" "46" 330.2396563940216 0.18346647577445646 27708 20 "72069" "Don-Quichotte / face au Carrefour Don-Quichotte" "18:19:58" 27709 30 "72039" "Don-Quichotte / Grand Boulevard" "18:20:00"
1023 "8267224-PI-H26-PI_GTFS-Semaine-01" "46" 330.2396563940216 0.18346647577445646 27663 20 "72069" "Don-Quichotte / face au Carrefour Don-Quichotte" "18:19:58" 27664 30 "72039" "Don-Quichotte / Grand Boulevard" "18:20:00"
1079 "12543831-PI-H26-PI_GTFS-Semaine-01" "46" 330.2396563940216 0.18346647577445646 28954 20 "72069" "Don-Quichotte / face au Carrefour Don-Quichotte" "06:28:58" 28955 30 "72039" "Don-Quichotte / Grand Boulevard" "06:29:00"
1080 "12543831-PI-H26-PI_GTFS-Fête-2-01" "46" 330.2396563940216 0.18346647577445646 28998 20 "72069" "Don-Quichotte / face au Carrefour Don-Quichotte" "06:28:58" 28999 30 "72039" "Don-Quichotte / Grand Boulevard" "06:29:00"
1021 "8267223-PI-H26-PI_GTFS-Semaine-01" "46" 330.2396563940216 0.18346647577445646 27573 20 "72069" "Don-Quichotte / face au Carrefour Don-Quichotte" "16:43:58" 27574 30 "72039" "Don-Quichotte / Grand Boulevard" "16:44:00"
1022 "8267223-PI-H26-PI_GTFS-Fête-2-01" "46" 330.2396563940216 0.18346647577445646 27618 20 "72069" "Don-Quichotte / face au Carrefour Don-Quichotte" "16:43:58" 27619 30 "72039" "Don-Quichotte / Grand Boulevard" "16:44:00"
1027 "8267226-PI-H26-PI_GTFS-Semaine-01" "46" 330.2396563940216 0.18346647577445646 27841 20 "72069" "Don-Quichotte / face au Carrefour Don-Quichotte" "17:19:58" 27842 30 "72039" "Don-Quichotte / Grand Boulevard" "17:20:00"
1028 "8267226-PI-H26-PI_GTFS-Fête-2-01" "46" 330.2396563940216 0.18346647577445646 27886 20 "72069" "Don-Quichotte / face au Carrefour Don-Quichotte" "17:19:58" 27887 30 "72039" "Don-Quichotte / Grand Boulevard" "17:20:00"
517 "3282209-PI-H26-PI_GTFS-Fête-2-01" "46" 330.2396563940216 0.18346647577445646 12727 20 "72069" "Don-Quichotte / face au Carrefour Don-Quichotte" "07:41:58" 12728 30 "72039" "Don-Quichotte / Grand Boulevard" "07:42:00"
516 "3282209-PI-H26-PI_GTFS-Semaine-01" "46" 330.2396563940216 0.18346647577445646 12683 20 "72069" "Don-Quichotte / face au Carrefour Don-Quichotte" "07:41:58" 12684 30 "72039" "Don-Quichotte / Grand Boulevard" "07:42:00"
514 "3282207-PI-H26-PI_GTFS-Semaine-01" "46" 330.2396563940216 0.18346647577445646 12595 20 "72069" "Don-Quichotte / face au Carrefour Don-Quichotte" "07:02:58" 12596 30 "72039" "Don-Quichotte / Grand Boulevard" "07:03:00"
515 "3282207-PI-H26-PI_GTFS-Fête-2-01" "46" 330.2396563940216 0.18346647577445646 12639 20 "72069" "Don-Quichotte / face au Carrefour Don-Quichotte" "07:02:58" 12640 30 "72039" "Don-Quichotte / Grand Boulevard" "07:03:00"
1020 "8267222-PI-H26-PI_GTFS-Fête-2-01" "46" 330.2396563940216 0.18346647577445646 27528 20 "72069" "Don-Quichotte / face au Carrefour Don-Quichotte" "16:08:58" 27529 30 "72039" "Don-Quichotte / Grand Boulevard" "16:09:00"
1019 "8267222-PI-H26-PI_GTFS-Semaine-01" "46" 330.2396563940216 0.18346647577445646 27483 20 "72069" "Don-Quichotte / face au Carrefour Don-Quichotte" "16:08:58" 27484 30 "72039" "Don-Quichotte / Grand Boulevard" "16:09:00"
1025 "8267225-PI-H26-PI_GTFS-Semaine-01" "46" 330.2396563940216 0.18346647577445646 27753 20 "72069" "Don-Quichotte / face au Carrefour Don-Quichotte" "19:02:58" 27754 30 "72039" "Don-Quichotte / Grand Boulevard" "19:03:00"
1026 "8267225-PI-H26-PI_GTFS-Fête-2-01" "46" 330.2396563940216 0.18346647577445646 27797 20 "72069" "Don-Quichotte / face au Carrefour Don-Quichotte" "19:02:58" 27798 30 "72039" "Don-Quichotte / Grand Boulevard" "19:03:00"
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 4

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"
"fare_attributes.txt" 2 "agency_id"
"fare_attributes.txt" 3 "agency_id"
"fare_attributes.txt" 4 "agency_id"
non_ascii_or_non_printable_char WARNING 14225

non_ascii_or_non_printable_char

Non ascii or non printable char in ID field.

A value of a field with type ID contains non ASCII or non printable characters. This is not recommended.

You can see more about this notice here.

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

filename (?) Name of the faulty file. csvRowNumber (?) Row number of the faulty record. columnName (?) Name of the column where the error occurred. fieldValue (?) Faulty value.
"calendar.txt" 5 "service_id" "PI-H26-PI_GTFS-Fête-1-01"
"calendar.txt" 6 "service_id" "PI-H26-PI_GTFS-Fête-2-01"
"calendar_dates.txt" 5 "service_id" "PI-H26-PI_GTFS-Fête-1-01"
"calendar_dates.txt" 6 "service_id" "PI-H26-PI_GTFS-Fête-1-01"
"calendar_dates.txt" 7 "service_id" "PI-H26-PI_GTFS-Fête-2-01"
"stop_times.txt" 41 "trip_id" "3281905-PI-H26-PI_GTFS-Fête-2-01"
"stop_times.txt" 42 "trip_id" "3281905-PI-H26-PI_GTFS-Fête-2-01"
"stop_times.txt" 43 "trip_id" "3281905-PI-H26-PI_GTFS-Fête-2-01"
"stop_times.txt" 44 "trip_id" "3281905-PI-H26-PI_GTFS-Fête-2-01"
"stop_times.txt" 45 "trip_id" "3281905-PI-H26-PI_GTFS-Fête-2-01"
"stop_times.txt" 46 "trip_id" "3281905-PI-H26-PI_GTFS-Fête-2-01"
"stop_times.txt" 47 "trip_id" "3281905-PI-H26-PI_GTFS-Fête-2-01"
"stop_times.txt" 48 "trip_id" "3281905-PI-H26-PI_GTFS-Fête-2-01"
"stop_times.txt" 49 "trip_id" "3281905-PI-H26-PI_GTFS-Fête-2-01"
"stop_times.txt" 50 "trip_id" "3281905-PI-H26-PI_GTFS-Fête-2-01"
"stop_times.txt" 51 "trip_id" "3281905-PI-H26-PI_GTFS-Fête-2-01"
"stop_times.txt" 52 "trip_id" "3281905-PI-H26-PI_GTFS-Fête-2-01"
"stop_times.txt" 53 "trip_id" "3281905-PI-H26-PI_GTFS-Fête-2-01"
"stop_times.txt" 54 "trip_id" "3281905-PI-H26-PI_GTFS-Fête-2-01"
"stop_times.txt" 55 "trip_id" "3281905-PI-H26-PI_GTFS-Fête-2-01"
"stop_times.txt" 56 "trip_id" "3281905-PI-H26-PI_GTFS-Fête-2-01"
"stop_times.txt" 57 "trip_id" "3281905-PI-H26-PI_GTFS-Fête-2-01"
"stop_times.txt" 58 "trip_id" "3281905-PI-H26-PI_GTFS-Fête-2-01"
"stop_times.txt" 59 "trip_id" "3281905-PI-H26-PI_GTFS-Fête-2-01"
"stop_times.txt" 60 "trip_id" "3281905-PI-H26-PI_GTFS-Fête-2-01"
"stop_times.txt" 61 "trip_id" "3281905-PI-H26-PI_GTFS-Fête-2-01"
"stop_times.txt" 62 "trip_id" "3281905-PI-H26-PI_GTFS-Fête-2-01"
"stop_times.txt" 63 "trip_id" "3281905-PI-H26-PI_GTFS-Fête-2-01"
"stop_times.txt" 64 "trip_id" "3281905-PI-H26-PI_GTFS-Fête-2-01"
"stop_times.txt" 65 "trip_id" "3281905-PI-H26-PI_GTFS-Fête-2-01"
"stop_times.txt" 66 "trip_id" "3281905-PI-H26-PI_GTFS-Fête-2-01"
"stop_times.txt" 67 "trip_id" "3281905-PI-H26-PI_GTFS-Fête-2-01"
"stop_times.txt" 68 "trip_id" "3281905-PI-H26-PI_GTFS-Fête-2-01"
"stop_times.txt" 69 "trip_id" "3281905-PI-H26-PI_GTFS-Fête-2-01"
"stop_times.txt" 70 "trip_id" "3281905-PI-H26-PI_GTFS-Fête-2-01"
"stop_times.txt" 71 "trip_id" "3281905-PI-H26-PI_GTFS-Fête-2-01"
"stop_times.txt" 72 "trip_id" "3281905-PI-H26-PI_GTFS-Fête-2-01"
"stop_times.txt" 73 "trip_id" "3281905-PI-H26-PI_GTFS-Fête-2-01"
"stop_times.txt" 74 "trip_id" "3281905-PI-H26-PI_GTFS-Fête-2-01"
"stop_times.txt" 75 "trip_id" "3281905-PI-H26-PI_GTFS-Fête-2-01"
"stop_times.txt" 76 "trip_id" "3281905-PI-H26-PI_GTFS-Fête-2-01"
"stop_times.txt" 77 "trip_id" "3281905-PI-H26-PI_GTFS-Fête-2-01"
"stop_times.txt" 78 "trip_id" "3281905-PI-H26-PI_GTFS-Fête-2-01"
"stop_times.txt" 79 "trip_id" "3281905-PI-H26-PI_GTFS-Fête-2-01"
"stop_times.txt" 119 "trip_id" "3281906-PI-H26-PI_GTFS-Fête-2-01"
"stop_times.txt" 120 "trip_id" "3281906-PI-H26-PI_GTFS-Fête-2-01"
"stop_times.txt" 121 "trip_id" "3281906-PI-H26-PI_GTFS-Fête-2-01"
"stop_times.txt" 122 "trip_id" "3281906-PI-H26-PI_GTFS-Fête-2-01"
"stop_times.txt" 123 "trip_id" "3281906-PI-H26-PI_GTFS-Fête-2-01"
"stop_times.txt" 124 "trip_id" "3281906-PI-H26-PI_GTFS-Fête-2-01"
unknown_column INFO 1

unknown_column

A column name is unknown.

You can see more about this notice here.

filename (?) The name of the faulty file. fieldName (?) The name of the unknown column. index (?) The index of the faulty column.
"stop_times.txt" "platform_track" 10