mouveo2 — Source Data Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 8.0.1 at 2026-06-19T21:27:41Z,
for the dataset file:///shared/mouveo2_0d72c516.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. calendar_dates.txt
  4. routes.txt
  5. shapes.txt
  6. stop_times.txt
  7. stops.txt
  8. trips.txt

Counts


  • Agencies: 1
  • Blocks: 18
  • Routes: 7
  • Shapes: 407
  • Stops: 295
  • Trips: 407

Specification Compliance report

499 notices reported (81 errors, 5 warnings, 413 infos)

Notice Code Severity Total
block_trips_with_overlapping_stop_times ERROR 22

block_trips_with_overlapping_stop_times

Trips with the same block id have overlapping stop times.

You can see more about this notice here.

csvRowNumberA (?) The row number from `trips.txt` of the first faulty trip. tripIdA (?) The id of first faulty trip. serviceIdA (?) The service id of the first faulty trip. csvRowNumberB (?) The row number from `trips.txt` of the second faulty trip. tripIdB (?) The id of the other faulty trip. serviceIdB (?) The service id of the other faulty trip. blockId (?) The `trips.block_id` of the overlapping trip. intersection (?) The overlapping period.
13 "6_A_08:26_(geo3723)" "LMWJVS-_N_H_f_E_20260105-20301231" 26 "6_R_08:55_(geo3736)" "LM-JVS-_N_H_f_E_20260105-20301231" "11" "20260105"
16 "6_A_11:35_(geo3726)" "LM-JVS-_N_H_f_E_20260105-20301231" 29 "6_R_12:04_(geo3739)" "LM-JVS-_N_H_f_E_20260105-20301231" "11" "20260105"
20 "6_A_16:04_(geo3730)" "LMWJVS-_N_H_f_E_20260105-20301231" 33 "6_R_16:33_(geo3743)" "LM-JVS-_N_H_f_E_20260105-20301231" "11" "20260105"
21 "6_A_17:11_(geo3731)" "LMWJVS-_N_H_f_E_20260105-20301231" 34 "6_R_17:40_(geo3744)" "LM-JVS-_N_H_f_E_20260105-20301231" "11" "20260105"
2 "7_A_06:30_(geo3711)" "LMWJVS-_N_H_f_E_20260105-20301231" 7 "7_R_06:50_(geo3716)" "LMWJVS-_N_H_f_E_20260105-20301231" "12" "20260105"
3 "7_A_08:15_(geo3712)" "LMWJVS-_N_H_f_E_20260105-20301231" 8 "7_R_09:04_(geo3717)" "LMWJVS-_N_H_f_E_20260105-20301231" "12" "20260105"
4 "7_A_12:10_(geo3713)" "LMWJVS-_N_H_f_E_20260105-20301231" 408 "7_R_12:59_(geo4131)" "LMWJVS-_N_H_f_E_20260105-20301231" "12" "20260105"
5 "7_A_16:10_(geo3714)" "LMWJVS-_N_H_f_E_20260105-20301231" 9 "7_R_16:59_(geo3719)" "LMWJVS-_N_H_f_E_20260105-20301231" "12" "20260105"
6 "7_A_18:15_(geo3715)" "LMWJVS-_N_H_f_E_20260105-20301231" 10 "7_R_19:04_(geo3720)" "LMWJVS-_N_H_f_E_20260105-20301231" "12" "20260105"
42 "5_A_07:05_(geo3752)" "LMWJVS-_N_H_f_E_20260105-20301231" 55 "5_R_07:26_(geo3765)" "LMWJVS-_N_H_f_E_20260105-20301231" "10" "20260105"
43 "5_A_08:05_(geo3753)" "LMWJVS-_N_H_f_E_20260105-20301231" 56 "5_R_08:26_(geo3766)" "LMWJVS-_N_H_f_E_20260105-20301231" "10" "20260105"
44 "5_A_09:05_(geo3754)" "LMWJVS-_N_H_f_E_20260105-20301231" 57 "5_R_09:26_(geo3767)" "LMWJVS-_N_H_f_E_20260105-20301231" "10" "20260105"
45 "5_A_10:05_(geo3755)" "LMWJVS-_N_H_f_E_20260105-20301231" 58 "5_R_10:26_(geo3768)" "LMWJVS-_N_H_f_E_20260105-20301231" "10" "20260105"
46 "5_A_11:05_(geo3756)" "LMWJVS-_N_H_f_E_20260105-20301231" 59 "5_R_11:26_(geo3769)" "LMWJVS-_N_H_f_E_20260105-20301231" "10" "20260105"
47 "5_A_12:05_(geo3757)" "LMWJVS-_N_H_f_E_20260105-20301231" 60 "5_R_12:26_(geo3770)" "LMWJVS-_N_H_f_E_20260105-20301231" "10" "20260105"
48 "5_A_13:05_(geo3758)" "LMWJVS-_N_H_f_E_20260105-20301231" 61 "5_R_13:26_(geo3771)" "LMWJVS-_N_H_f_E_20260105-20301231" "10" "20260105"
49 "5_A_14:05_(geo3759)" "LMWJVS-_N_H_f_E_20260105-20301231" 62 "5_R_14:26_(geo3772)" "LMWJVS-_N_H_f_E_20260105-20301231" "10" "20260105"
50 "5_A_15:05_(geo3760)" "LMWJVS-_N_H_f_E_20260105-20301231" 63 "5_R_15:26_(geo3773)" "LMWJVS-_N_H_f_E_20260105-20301231" "10" "20260105"
51 "5_A_16:05_(geo3761)" "LMWJVS-_N_H_f_E_20260105-20301231" 64 "5_R_16:26_(geo3774)" "LMWJVS-_N_H_f_E_20260105-20301231" "10" "20260105"
52 "5_A_17:05_(geo3762)" "LMWJVS-_N_H_f_E_20260105-20301231" 65 "5_R_17:26_(geo3775)" "LMWJVS-_N_H_f_E_20260105-20301231" "10" "20260105"
53 "5_A_18:05_(geo3763)" "LMWJVS-_N_H_f_E_20260105-20301231" 66 "5_R_18:26_(geo3776)" "LMWJVS-_N_H_f_E_20260105-20301231" "10" "20260105"
54 "5_A_19:05_(geo3764)" "LMWJVS-_N_H_f_E_20260105-20301231" 67 "5_R_19:26_(geo3777)" "LMWJVS-_N_H_f_E_20260105-20301231" "10" "20260105"
decreasing_or_equal_stop_time_distance ERROR 59

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 59 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`.
"7_A_16:10_(geo3714)" "Pgeo1011" 5990 2.77 4 5989 2.77 3
"7_A_16:10_(geo3714)" "Pgeo1841" 6011 28.39 25 6010 28.39 24
"7_R_09:04_(geo3717)" "Pgeo1012" 6097 27.55 25 6096 27.55 24
"7_R_09:04_(geo3717)" "Pgeo1223" 6101 30.33 29 6100 30.33 28
"2_A_17:20_(geo3897)" "Pgeo1393" 3238 16.04 17 3237 16.04 16
"6_R_13:15_(geo3740)" "Pgeo1012" 5789 6.44 9 5788 6.44 8
"6_R_13:15_(geo3740)" "Pgeo1223" 5793 9.21 13 5792 9.21 12
"6_R_13:15_(geo3740)" "Pgeo1001" 5795 10.21 15 5794 10.21 14
"6_R_07:56_(geo3735)" "Pgeo1012" 5683 6.44 9 5682 6.44 8
"6_R_07:56_(geo3735)" "Pgeo1223" 5687 9.21 13 5686 9.21 12
"6_R_07:56_(geo3735)" "Pgeo1001" 5689 10.21 15 5688 10.21 14
"2_A_16:40_(geo3896)" "Pgeo1393" 3189 16.04 17 3188 16.04 16
"6_R_17:47_(geo3751)" "Pgeo1012" 5879 6.44 9 5878 6.44 8
"6_R_17:47_(geo3751)" "Pgeo1223" 5883 9.21 13 5882 9.21 12
"6_R_17:47_(geo3751)" "Pgeo1001" 5885 10.21 15 5884 10.21 14
"7_A_08:15_(geo3712)" "Pgeo1011" 5934 2.77 4 5933 2.77 3
"7_A_08:15_(geo3712)" "Pgeo1841" 5955 28.39 25 5954 28.39 24
"7_R_12:59_(geo4131)" "Pgeo1012" 6127 27.55 25 6126 27.55 24
"7_R_12:59_(geo4131)" "Pgeo1223" 6131 30.33 29 6130 30.33 28
"6_R_09:02_(geo3747)" "Pgeo1012" 5714 6.44 9 5713 6.44 8
"6_R_09:02_(geo3747)" "Pgeo1223" 5718 9.21 13 5717 9.21 12
"6_R_09:02_(geo3747)" "Pgeo1001" 5720 10.21 15 5719 10.21 14
"7_A_18:15_(geo3715)" "Pgeo1011" 6018 2.77 4 6017 2.77 3
"7_A_18:15_(geo3715)" "Pgeo1841" 6039 28.39 25 6038 28.39 24
"6_R_12:04_(geo3739)" "Pgeo1012" 5758 8.05 10 5757 8.05 9
"6_R_12:04_(geo3739)" "Pgeo1223" 5762 10.83 14 5761 10.83 13
"6_R_12:04_(geo3739)" "Pgeo1001" 5764 11.82 16 5763 11.82 15
"7_A_06:30_(geo3711)" "Pgeo1829" 5926 10.63 12 5925 10.63 11
"6_R_16:33_(geo3743)" "Pgeo1012" 5833 8.05 10 5832 8.05 9
"6_R_16:33_(geo3743)" "Pgeo1223" 5837 10.83 14 5836 10.83 13
"6_R_16:33_(geo3743)" "Pgeo1001" 5839 11.82 16 5838 11.82 15
"7_R_06:50_(geo3716)" "Pgeo1012" 6067 27.55 25 6066 27.55 24
"7_R_06:50_(geo3716)" "Pgeo1223" 6071 30.33 29 6070 30.33 28
"7_A_12:10_(geo3713)" "Pgeo1011" 5962 2.77 4 5961 2.77 3
"7_A_12:10_(geo3713)" "Pgeo1841" 5983 28.39 25 5982 28.39 24
"6_R_06:53_(geo3734)" "Pgeo1012" 5668 6.44 9 5667 6.44 8
"6_R_06:53_(geo3734)" "Pgeo1223" 5672 9.21 13 5671 9.21 12
"6_R_06:53_(geo3734)" "Pgeo1001" 5674 10.21 15 5673 10.21 14
"6_R_18:51_(geo3745)" "Pgeo1012" 5894 6.44 9 5893 6.44 8
"6_R_18:51_(geo3745)" "Pgeo1223" 5898 9.21 13 5897 9.21 12
"6_R_18:51_(geo3745)" "Pgeo1001" 5900 10.21 15 5899 10.21 14
"2_A_10:11_(geo3887)" "Pgeo1393" 2898 16.04 17 2897 16.04 16
"6_R_16:40_(geo3750)" "Pgeo1012" 5848 6.44 9 5847 6.44 8
"6_R_16:40_(geo3750)" "Pgeo1223" 5852 9.21 13 5851 9.21 12
"6_R_16:40_(geo3750)" "Pgeo1001" 5854 10.21 15 5853 10.21 14
"6_R_08:55_(geo3736)" "Pgeo1012" 5699 8.05 10 5698 8.05 9
"6_R_08:55_(geo3736)" "Pgeo1223" 5703 10.83 14 5702 10.83 13
"6_R_08:55_(geo3736)" "Pgeo1001" 5705 11.82 16 5704 11.82 15
"2_A_12:30_(geo3890)" "Pgeo1393" 2995 16.04 17 2994 16.04 16
"7_R_16:59_(geo3719)" "Pgeo1012" 6157 27.55 25 6156 27.55 24
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 4

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" "PMA1 (ARQUES)" 3
"stops.txt" "stop_name" "PMA2 (CAMPAGNE-LÈS-WARDRECQUES)" 76
"stops.txt" "stop_name" "PMA1 (ARQUES)" 204
"stops.txt" "stop_name" "PMA2 (CAMPAGNE-LÈS-WARDRECQUES)" 213
service_extends_far_in_the_future INFO 6

service_extends_far_in_the_future

A service end date is more than 2 years in the future.

You can see more about this notice here.

serviceId (?) The service_id that ends far in the future. serviceWindowEndDate (?) The end date of the service (YYYY-MM-DD format).
"-----S-_N_H_f_E_20260105-20301231" "2030-12-28"
"--W----_N_H_f_E_20260105-20301231" "2030-12-25"
"--W----_N_H_f_E_20261005-20301231" "2030-12-25"
"LM-JVS-_N_H_f_E_20260105-20301231" "2030-12-31"
"LMWJV--_N_H_f_E_20260105-20301231" "2030-12-31"
"LMWJVS-_N_H_f_E_20260105-20301231" "2030-12-31"
trip_with_shape_dist_traveled_but_no_shape_distances INFO 407

trip_with_shape_dist_traveled_but_no_shape_distances

A trip has shape_dist_traveled values in stop_times.txt but the shape referenced by the trip's shape_id does not have shape_dist_traveled values on all of its points in shapes.txt.

When stop times define distance values but the shape does not carry matching distances on every point, consumers cannot use those distances to align stops to the shape geometry reliably. This inconsistency may cause incorrect routing or display behaviour.

Note: Only the first stop time carrying a shape_dist_traveled value is referenced in the notice; this is a representative row rather than an exhaustive list.

You can see more about this notice here.

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

tripCsvRowNumber (?) The row number of the faulty record in trips.txt. tripId (?) The trip_id of the faulty trip. shapeId (?) The shape_id referenced by the trip. stopTimeCsvRowNumber (?) The row number of the first stop_times.txt record for this trip that contains a shape_dist_traveled value. Provided as a representative location; other stop times for the same trip may also carry distance values.
347 "1_A_15:40_(geo4061)" "4061" 912
5 "7_A_16:10_(geo3714)" "3714" 5987
251 "1_A_16:40_(geo3964)" "3964" 1003
196 "2_R_11:41_(geo3909)" "3909" 3577
340 "1_A_13:55_(geo4053)" "4053" 730
323 "1_A_09:40_(geo4036)" "4036" 288
341 "1_A_14:10_(geo4055)" "4055" 756
245 "1_A_15:10_(geo3958)" "3958" 847
162 "2_R_16:25_(geo3873)" "3873" 3787
89 "3_A_06:47_(geo3799)" "3799" 3981
111 "3_R_08:34_(geo3821)" "3821" 4303
204 "2_R_17:26_(geo3917)" "3917" 3835
45 "5_A_10:05_(geo3755)" "3755" 4996
23 "6_A_19:22_(geo3733)" "3733" 5646
17 "6_A_12:41_(geo3727)" "3727" 5548
165 "2_R_18:41_(geo3876)" "3876" 3885
199 "2_R_13:51_(geo3912)" "3912" 3674
373 "1_R_11:08_(geo4087)" "4087" 1723
369 "1_R_10:08_(geo4083)" "4083" 1611
120 "3_R_14:04_(geo3830)" "3830" 4429
244 "1_A_14:55_(geo3957)" "3957" 821
46 "5_A_11:05_(geo3756)" "3756" 5015
240 "1_A_13:55_(geo3953)" "3953" 717
316 "1_A_07:55_(geo4029)" "4029" 106
255 "1_A_17:40_(geo3968)" "3968" 1107
247 "1_A_15:40_(geo3960)" "3960" 899
151 "2_R_08:48_(geo3862)" "3862" 3431
123 "3_R_16:13_(geo3833)" "3833" 4471
304 "1_R_16:53_(geo4017)" "4017" 2353
170 "2_A_06:50_(geo3882)" "3882" 2737
190 "2_R_07:31_(geo3903)" "3903" 3383
8 "7_R_09:04_(geo3717)" "3717" 6073
351 "1_A_16:40_(geo4065)" "4065" 1016
274 "1_R_09:23_(geo3987)" "3987" 1513
388 "1_R_14:53_(geo4102)" "4102" 2143
234 "1_A_12:25_(geo3947)" "3947" 561
368 "1_R_09:53_(geo4082)" "4082" 1583
185 "2_A_17:20_(geo3897)" "3897" 3222
212 "1_A_06:55_(geo3925)" "3925" 41
241 "1_A_14:10_(geo3954)" "3954" 743
345 "1_A_15:10_(geo4059)" "4059" 860
285 "1_R_12:08_(geo3998)" "3998" 1821
223 "1_A_09:40_(geo3936)" "3936" 275
171 "2_A_07:27_(geo3883)" "3883" 2769
169 "2_A_06:50_(geo3881)" "3881" 2721
407 "1_R_19:38_(geo4121)" "4121" 2675
109 "3_R_07:22_(geo3819)" "3819" 4275
48 "5_A_13:05_(geo3758)" "3758" 5053
216 "1_A_07:55_(geo3929)" "3929" 93
313 "1_R_19:08_(geo4026)" "4026" 2605