GTFS Schedule Validation Report

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

Use this report alongside our documentation.

Summary

Agencies included


Feed Info


Publisher Name:
CITROUS
Feed Email:
N/A
Feed Language:
French
Feed Start Date:
2023-07-10
Feed End Date:
2023-07-30

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: 21
  • Shapes: 45
  • Stops: 332
  • Trips: 477

Specification Compliance report

833 notices reported (4 errors, 828 warnings, 1 infos)

Notice Code Severity Total
equal_shape_distance_diff_coordinates ERROR 4

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.

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.
"T360022" 14890 3.298 80001 14889 3.298 70030 19.941114580153727
"T360023" 15168 3.946 110001 15167 3.946 100030 19.941114580153727
"360018" 5270 3.267 80001 5269 3.267 70030 19.941114580153727
"360019" 5549 3.991 110001 5548 3.991 100030 19.941114580153727
equal_shape_distance_diff_coordinates_distance_below_threshold WARNING 22

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.
"T380004" 15391 1.73 60002 15390 1.73 60001 0.13588578716525848
"340009" 3758 2.503 50014 3757 2.503 50013 0.3683526629496454
"2100028" 14071 7.48 10158 14070 7.48 10157 0.36831432037933076
"2100027" 13173 7.48 10158 13172 7.48 10157 0.36831432037933076
"300100" 1006 3.781 90014 1005 3.781 90013 0.3683526629496454
"2100024" 12454 7.48 10158 12453 7.48 10157 0.36831432037933076
"T430011" 16640 3.083 90006 16639 3.083 90005 0.0781005233960966
"T430011" 16773 6.656 210002 16772 6.656 210001 0.13588578716525848
"400050" 6771 2.868 100006 6770 2.868 100005 0.0781005233960966
"430029" 7187 6.625 210002 7186 6.625 210001 0.13588578716525848
"430029" 7310 10.802 330002 7309 10.802 330001 0.3316952152544436
"350089" 4139 3.915 120002 4138 3.915 120001 0.19176694411564335
"1000139" 8938 11.991 20004 8937 11.991 20003 0.8929725537720832
"350090" 4543 5.229 90002 4542 5.229 90001 0.3316952152544436
"380031" 5991 1.73 60002 5990 1.73 60001 0.13588578716525848
"350091" 4939 5.229 90002 4938 5.229 90001 0.3316952152544436
"330120" 3580 10.809 210005 3579 10.809 210004 0.8707741535042172
"T390005" 15947 4.958 90002 15946 4.958 90001 0.19171312865864576
"400049" 6472 2.319 60014 6471 2.319 60013 0.3683526629496454
"300094" 134 3.781 90014 133 3.781 90013 0.3683526629496454
"300094" 321 10.12 270005 320 10.12 270004 0.8707741535042172
"1300056" 11352 13.857 80044 11351 13.857 80043 0.8929725537720832
equal_shape_distance_same_coordinates WARNING 795

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 795 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`.
"T380005" 15562 0.525 20001 15561 0.525 10014
"T380005" 15578 0.764 30001 15577 0.764 20016
"T380005" 15591 1.147 40001 15590 1.147 30013
"T380005" 15595 1.442 50001 15594 1.442 40004
"T380005" 15609 1.798 60001 15608 1.798 50014
"T380005" 15616 2.007 70001 15615 2.007 60007
"T380005" 15624 2.224 80001 15623 2.224 70008
"T380005" 15633 2.493 90001 15632 2.493 80009
"T380005" 15640 2.683 100001 15639 2.683 90007
"T380005" 15648 2.995 110001 15647 2.995 100008
"T380005" 15657 3.307 120001 15656 3.307 110009
"T380005" 15661 3.827 130001 15660 3.827 120004
"T380005" 15684 5.339 140001 15683 5.339 130023
"T380005" 15694 5.628 150001 15693 5.628 140010
"T380005" 15706 5.751 160001 15705 5.751 150012
"T380005" 15738 6.211 170001 15737 6.211 160032
"T380005" 15747 6.394 180001 15746 6.394 170009
"T380005" 15766 6.714 190001 15765 6.714 180019
"T380005" 15771 6.886 200001 15770 6.886 190005
"T380005" 15775 7.129 210001 15774 7.129 200004
"T380004" 15327 0.602 20001 15326 0.602 10012
"T380004" 15331 0.76 30001 15330 0.76 20004
"T380004" 15350 1.085 40001 15349 1.085 30019
"T380004" 15359 1.266 50001 15358 1.266 40009
"T380004" 15390 1.73 60001 15389 1.73 50031
"T380004" 15403 1.849 70001 15402 1.849 60013
"T380004" 15413 2.132 80001 15412 2.132 70010
"T380004" 15436 3.641 90001 15435 3.641 80023
"T380004" 15441 4.185 100001 15440 4.185 90005
"T380004" 15450 4.488 110001 15449 4.488 100009
"T380004" 15459 4.82 120001 15458 4.82 110009
"T380004" 15464 4.999 130001 15463 4.999 120005
"T380004" 15475 5.285 140001 15474 5.285 130011
"T380004" 15480 5.484 150001 15479 5.484 140005
"T380004" 15488 5.685 160001 15487 5.685 150008
"T380004" 15500 5.958 170001 15499 5.958 160012
"T380004" 15505 6.337 180001 15504 6.337 170005
"T380004" 15518 6.729 190001 15517 6.729 180013
"T420008" 16434 0.62 20001 16433 0.62 10011
"T420008" 16450 1.198 30001 16449 1.198 20016
"T420008" 16458 2.101 40001 16457 2.101 30008
"T420008" 16468 2.773 50001 16467 2.773 40010
"T420008" 16474 3.083 60001 16473 3.083 50006
"T420007" 16372 2.356 20001 16371 2.356 10066
"T420007" 16378 2.665 30001 16377 2.665 20006
"T420007" 16388 3.332 40001 16387 3.332 30010
"T420007" 16396 4.232 50001 16395 4.232 40008
"T420007" 16412 4.832 60001 16411 4.832 50016
"2000177" 11926 29.354 20001 11925 29.354 10380
"2000177" 11970 32.556 30001 11969 32.556 20044
expired_calendar WARNING 3

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 "RS-H23-ROUS_GTF-Semaine-02"
3 "RS-H23-ROUS_GTF-Samedi-01"
4 "RS-H23-ROUS_GTF-Dimanche-01"
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 "20260123" "20230730" "20260130"
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"
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.
"20260123" "20230710" "20230728"
unexpected_enum_value WARNING 4

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" 18 "route_type" 1501
"routes.txt" 20 "route_type" 1501
"routes.txt" 21 "route_type" 1501
"routes.txt" 22 "route_type" 1501
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