grand-narbonne — Source Data Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 8.0.1 at 2026-06-27T01:25:21Z,
for the dataset file:///shared/grand-narbonne_6df99b72.zip. No country code was provided.

Use this report alongside our documentation.

Summary

Agencies included


Feed Info


Publisher Name:
Citibus
Publisher URL:
https://www.citibus.fr
Feed Email:
N/A
Feed Language:
French
Feed Start Date:
2026-06-05
Feed End Date:
2026-07-03

Files included


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

Counts


  • Agencies: 1
  • Blocks: 0
  • Routes: 57
  • Shapes: 366
  • Stops: 719
  • Trips: 5148

Specification Compliance report

11909 notices reported (0 errors, 11156 warnings, 753 infos)

Notice Code Severity Total
equal_shape_distance_diff_coordinates_distance_below_threshold WARNING 10067

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 10067 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.
"350" 70493 0.0 2 70492 0.0 1 1.8771201412676303E-9
"350" 70544 2.617 53 70543 2.617 52 3.3598264427003847E-9
"350" 70545 2.617 54 70544 2.617 53 0.2929125026298814
"350" 70546 2.617 55 70545 2.617 54 0.29291249928685786
"350" 70602 5.567 111 70601 5.567 110 2.771254144185766E-9
"351" 82705 0.0 2 82704 0.0 1 7.092026843153506E-10
"351" 82723 0.533 20 82722 0.533 19 2.321586924327428E-8
"351" 82753 1.306 50 82752 1.306 49 0.15406867640285615
"351" 82754 1.306 51 82753 1.306 50 3.2235551105252355E-11
"351" 82764 1.76 61 82763 1.76 60 0.5085751009189362
"351" 82765 1.76 62 82764 1.76 61 9.34785504116135E-10
"351" 82775 2.094 72 82774 2.094 71 0.2868410001622443
"351" 82777 2.097 74 82776 2.097 73 3.4891061495334778E-9
"351" 82786 2.333 83 82785 2.333 82 1.7319478552829068E-9
"351" 82788 2.334 85 82787 2.334 84 0.5208446569126884
"351" 82812 2.908 109 82811 2.908 108 0.456052632500252
"351" 82814 2.909 111 82813 2.909 110 7.528634633855241E-10
"351" 82825 3.442 122 82824 3.442 121 0.5737914678324706
"351" 82826 3.442 123 82825 3.442 122 7.42445270594628E-10
"351" 82832 3.847 129 82831 3.847 128 1.8094989949044348E-9
"351" 82836 4.013 133 82835 4.013 132 0.005786857761311107
"351" 82837 4.013 134 82836 4.013 133 0.09228321895175515
"351" 82838 4.013 135 82837 4.013 134 0.08654992508189652
"351" 82853 4.384 150 82852 4.384 149 0.2305695146286365
"351" 82854 4.384 151 82853 4.384 150 0.2842880174698985
"351" 82855 4.384 152 82854 4.384 151 0.053794612474324724
"351" 82869 4.888 166 82868 4.888 165 0.013143844221837325
"351" 82870 4.888 167 82869 4.888 166 1.7010657045147993E-8
"351" 82871 4.888 168 82870 4.888 167 0.013143827616913182
"351" 82908 6.194 205 82907 6.194 204 2.256542907873091E-10
"351" 82909 6.194 206 82908 6.194 205 0.19651294683477313
"351" 82910 6.194 207 82909 6.194 206 0.19651294661797344
"351" 82915 6.341 212 82914 6.341 211 2.9549202089360905E-9
"351" 82916 6.341 213 82915 6.341 212 0.3299833963361849
"351" 82917 6.341 214 82916 6.341 213 0.3299833935941604
"351" 82972 13.385 269 82971 13.385 268 0.4804014192033867
"351" 82973 13.385 270 82972 13.385 269 5.218168057280339E-8
"351" 83005 14.391 302 83004 14.391 301 0.24305916121242463
"351" 83006 14.391 303 83005 14.391 302 3.349939503317006E-9
"351" 83018 14.94 315 83017 14.94 314 1.0951152117338678E-9
"351" 83020 14.94 317 83019 14.94 316 1.0951152117338678E-9
"351" 83039 15.304 336 83038 15.304 335 0.02690592999313622
"351" 83040 15.304 337 83039 15.304 336 0.026905933022496192
"351" 83041 15.304 338 83040 15.304 337 3.196767921101768E-9
"351" 83045 15.604 342 83044 15.604 341 1.3037455668423028E-9
"351" 83053 15.846 350 83052 15.846 349 1.8089574465317071E-9
"351" 83054 15.846 351 83053 15.846 350 0.38539093544434605
"351" 83076 16.832 373 83075 16.832 372 1.1461686362210805E-9
"351" 83077 16.832 374 83076 16.832 373 0.06791137782188268
"351" 83078 16.832 375 83077 16.832 374 0.06791137676583786
equal_shape_distance_same_coordinates WARNING 414

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 414 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`.
"351" 83019 14.94 316 83018 14.94 315
"110" 91060 11.878 143 91059 11.878 142
"352" 93501 9.89 283 93500 9.89 282
"231" 101286 14.77 124 101285 14.77 123
"231" 101295 15.029 133 101294 15.029 132
"231" 101406 17.948 244 101405 17.948 243
"111" 87637 10.034 96 87636 10.034 95
"111" 87757 21.374 216 87756 21.374 215
"232" 99655 14.278 186 99654 14.278 185
"233" 43635 14.474 200 43634 14.474 199
"354" 84568 10.344 82 84567 10.344 81
"354" 84717 14.525 231 84716 14.525 230
"113" 94343 2.114 36 94342 2.114 35
"235" 90739 10.932 90 90738 10.932 89
"235" 90799 13.577 150 90798 13.577 149
"114" 105776 5.283 80 105775 5.283 79
"115" 43737 1.749 47 43736 1.749 46
"236" 105644 19.529 234 105643 19.529 233
"358" 22763 1.423 52 22762 1.423 51
"358" 22895 7.864 184 22894 7.864 183
"116" 105353 3.539 50 105352 3.539 49
"359" 53084 1.423 52 53083 1.423 51
"117" 92223 3.539 50 92222 3.539 49
"118" 106229 8.305 180 106228 8.305 179
"10" 21925 3.52 98 21924 3.52 97
"10" 22404 47.281 577 22403 47.281 576
"10" 22455 48.931 628 22454 48.931 627
"10" 22521 54.946 694 22520 54.946 693
"10" 22660 64.972 833 22659 64.972 832
"10" 22671 65.743 844 22670 65.743 843
"11" 30945 4.171 148 30944 4.171 147
"11" 31046 6.906 249 31045 6.906 248
"12" 35133 4.171 148 35132 4.171 147
"12" 35234 6.906 249 35233 6.906 248
"13" 39736 4.171 148 39735 4.171 147
"13" 39898 7.569 310 39897 7.569 309
"14" 83913 1.198 21 83912 1.198 20
"14" 83970 2.996 78 83969 2.996 77
"15" 63380 1.198 21 63379 1.198 20
"15" 63437 2.996 78 63436 2.996 77
"16" 14098 1.198 21 14097 1.198 20
"16" 14155 2.996 78 14154 2.996 77
"17" 55666 1.198 21 55665 1.198 20
"17" 55723 2.996 78 55722 2.996 77
"17" 55755 12.783 110 55754 12.783 109
"18" 15540 1.198 21 15539 1.198 20
"18" 15597 2.996 78 15596 2.996 77
"360" 40136 1.423 52 40135 1.423 51
"360" 40268 7.864 184 40267 7.864 183
"120" 100575 2.938 59 100574 2.938 58
fast_travel_between_consecutive_stops WARNING 4

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.
2631 "400000620" "S301" 269.4457160933584 4.490761934889306 54031 7 "_2813" "Route de Mailhac" "17:35:00" 54032 8 "_2785" "Monument aux Morts" "17:35:00"
1609 "500000335" "S301" 269.4457160933584 4.490761934889306 54031 7 "_2813" "Route de Mailhac" "17:35:00" 54032 8 "_2785" "Monument aux Morts" "17:35:00"
3496 "700000645" "S301" 269.4457160933584 4.490761934889306 54031 7 "_2813" "Route de Mailhac" "17:35:00" 54032 8 "_2785" "Monument aux Morts" "17:35:00"
4321 "100000406" "S301" 269.4457160933584 4.490761934889306 54031 7 "_2813" "Route de Mailhac" "17:35:00" 54032 8 "_2785" "Monument aux Morts" "17:35:00"
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 "20260627" "20260703" "20260704"
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
mixed_case_recommended_field WARNING 69

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 69 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.
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 2
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 3
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 4
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 159
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 160
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 161
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 162
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 163
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 164
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 165
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 166
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 167
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 168
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 169
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 756
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 757
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 758
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 759
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 760
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 761
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 762
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 763
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 764
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 765
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 766
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 1754
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 1755
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 1756
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 1757
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 1758
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 1759
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 1760
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 1761
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 1762
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 1763
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 1813
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 2480
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 2827
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 2828
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 2829
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 2830
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 2831
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 2832
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 2833
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 2834
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 2835
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 2836
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 3524
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 3741
"trips.txt" "trip_headsign" "ST PIERRE LA MER ACACIAS" 3742
route_long_name_contains_short_name WARNING 34

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`.
"S01" 25 "BC01" "BC01 - RPI Réveillon / Roches-Grises / Montplaisir"
"S02" 26 "BC02" "BC02 - RPI Hauts-de-Narbonne"
"S03" 27 "BC03" "BC03 - Mandirac -- Narbonne"
"S04" 28 "BC04" "BC04 - Cap-de-Pla / Ecole Zola / Collège Brassens"
"S05" 29 "BC05" "BC05 - LPA Martin Luther King Centre Reverdy"
"S06" 30 "BC06" "BC06 - Réveillon / Roches-Grises / Montplaisir -- Louise Michel"
"S07" 31 "BC07" "BC07 - Saint-Germain -- Louise Michel"
"S100" 32 "BC100" "BC100 - Saint-Pierre-la-Mer / Fleury-d'Aude -- Collège des Mailheuls"
"S101" 33 "BC101" "BC101 - Les-Cabanes / Fleury-d'Aude -- Collège des Mailheuls"
"S102" 34 "BC102" "BC102 - Fleury-d'Aude -- Collège des Mailheuls"
"S103" 35 "BC103" "BC103 - Salles-d'Aude -- Collège des Mailheuls"
"S104" 36 "BC104" "BC104 - Armissan / Vinassan -- Collège des Mailheuls"
"S105" 37 "BC105" "BC105 - Vinassan -- Collège des Mailheuls"
"S106" 38 "BC106" "BC106 - Ecarts-de-Gruissan"
"S107" 39 "BC107" "BC107 - Les-Cabanes -- Ecole de Fleury d'Aude"
"S108" 40 "BC108" "BC108 - Saint-Pierre-la-Mer -- Ecole de Fleury-d'Aude"
"S200" 41 "BC200" "BC200 - La-Palme -- Collège la Nadière"
"S201" 42 "BC201" "BC201 - Ecarts-de-Sigean"
"S202" 43 "BC202" "BC202 - Ecarts-de-Leucate"
"S204" 44 "BC204" "BC204 - Treilles / Caves -- Collège Saint Louis de Gonzague"
"S206" 45 "BC206" "BC206 - RPI - Bages / Prat-de-Cest"
"S207A" 46 "BC207A" "BC207A - RPI - Ecarts-de-Port-la-Nouvelle -- Circuit Village"
"S207B" 47 "BC207B" "BC207B - RPI - Ecarts-de-Port-la-Nouvelle -- Circuit Plage"
"S207C" 48 "BC207C" "BC207C - Ecarts-de-Port-la-Nouvelle -- Collège la Nadière"
"S300" 49 "BC300" "BC300 - Mailhac / Pouzols-Minervois / Sainte-Valière / Paraza / Ventenac-en-Minervois / Saint-Nazaire-d'Aude / Saint-Marcel-sur-Aude -- Collège Marcelin Albert"
"S301" 50 "BC301" "BC301 - Argeliers / Mirepeïsset / Bize-Minervois / Le-Somail -- Collège Marcelin Albert"
"S302" 51 "BC302" "BC302 - Bize-Minervois / Ginestas / Le-Somail -- Collège Marcelin Albert"
"S303" 52 "BC303" "BC303 - Sallèles d'Aude / Saint-Marcel-sur-Aude -- Collège Marcelin Albert"
"S304" 53 "BC304" "BC304 - Marcorignan / Saint-Marcel-sur-Aude -- Collège Marcelin Albert"
"S305" 54 "BC305" "BC305 - RPI - Mailhac / Pouzols-Minervois"
"S306" 55 "BC306" "BC306 - RPI - Sainte-Valière / Ventenac-en-Minervois"
"S307" 56 "BC307" "BC307 - RPI - Le Somail / Saint-Nazaire-d'Aude"
"S309" 57 "BC309" "BC309 - RPI - Ecarts-de-Cuxac-d'Aude"
"S310" 58 "BC310" "BC310 - RPI - Canet-d'Aude / Raissac-d'Aude / Villedaigne"
service_has_no_active_day_of_the_week WARNING 7

service_has_no_active_day_of_the_week

A service is not valid for any day of the week.

You can see more about this notice here.

csvRowNumber (?) The row number in calendar.txt where the error occurs. serviceId (?) The service_id field value.
2 "1_Narbonne_I"
3 "2_Narbonne_6"
4 "3_Narbonne_5"
5 "4_Narbonne_4"
6 "5_Narbonne_3"
7 "6_Narbonne_2"
8 "7_Narbonne_1"
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.
544 "12" "200001029" 13449 "_2583" "Réveillon" [43.13571,2.96609] 118.52029556750357
662 "13" "200001225" 16047 "_2583" "Réveillon" [43.13571,2.96609] 118.52029556750357
stop_too_far_from_shape_using_user_distance WARNING 554

stop_too_far_from_shape_using_user_distance

Stop time too far from shape.

A stop time entry that is a large distance away from the location of the shape in shapes.txt as defined by shape_dist_traveled values.

You can see more about this notice here.

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

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.
187 "10" "200000439" 4512 "_2703" "Gendarmerie" [42.85377298401028,3.035882842891972] 102.26152449855189
187 "10" "200000439" 4513 "_2704" "Collège St Louis de Gonzague" [42.85397160964351,3.03598957712872] 111.02527831192839
187 "10" "200000439" 4514 "_2729" "Ecole de Voile" [42.84677640625254,3.0371078123191975] 109.7055513600141
187 "10" "200000439" 4515 "_2731" "Cinéma" [42.84109001137114,3.0391716541353127] 115.78476524439031
187 "10" "200000439" 4517 "_2543" "Copacabana" [42.84816000002992,3.0421650000890406] 113.61253101713118
187 "10" "200000439" 4518 "_2733" "Rives des Corbières" [42.851901590911076,3.040762044869753] 100.87391021799537
187 "10" "200000439" 4519 "_2449" "Jardins de la Mer" [42.85800317757103,3.0407382241878516] 116.7237542197464
187 "10" "200000439" 4520 "_2556" "Cauquillous" [42.86194999999999,3.0429299999999992] 116.99645221582006
377 "11" "200000837" 9403 "_3034" "Cinémas" [43.1662,2.9855700000000005] 372.7651443000817
377 "11" "200000837" 9404 "_2997" "Croix Sud" [43.16294263158131,2.9886110525813994] 423.83619104988657
377 "11" "200000837" 9405 "_2698" "Route de Perpignan" [43.15903039097108,2.9863379663502627] 387.53295636113967
377 "11" "200000837" 9406 "_2930" "Plaine de Jeux" [43.15269231398394,2.9797898804205674] 428.8765841337567
377 "11" "200000837" 9407 "_2931" "Constellations" [43.14530481089044,2.973384303856037] 390.26401351650026
377 "11" "200000837" 9408 "_2938" "Montplaisir" [43.14574294117647,2.97121] 339.8508322846729
377 "11" "200000837" 9409 "_2937" "Sainte Claire" [43.14518000039922,2.9741216000000006] 352.4412107665495
377 "11" "200000837" 9410 "_2935" "Roches Grises" [43.141935904545385,2.9725362660541363] 460.1366379415567
377 "11" "200000837" 9411 "_2517" "Clos des Lentisques" [43.142321063660674,2.9708697786398957] 367.96502456824635
377 "11" "200000837" 9412 "_2934" "Chèvrefeuille" [43.142060753710524,2.9675838651100217] 378.8055300354375
377 "11" "200000837" 9413 "_2583" "Réveillon" [43.13939421053326,2.968862105210967] 581.2638588827378
377 "11" "200000837" 9414 "_2954" "Bacchus" [43.13823914293685,2.9701739997434142] 608.6566150908358
377 "11" "200000837" 9415 "_2674" "Comète" [43.13707767531395,2.9685812377421303] 572.0680953881474
377 "11" "200000837" 9416 "_2797" "Harmonia" [43.13570574470444,2.966079148901436] 301.49959919310925
377 "11" "200000837" 9417 "_2536" "Réveillon" [43.13708285714365,2.962561428565422] 321.518537038041
544 "12" "200001029" 13439 "_3034" "Cinémas" [43.1662,2.9855700000000005] 372.7651443000817
544 "12" "200001029" 13440 "_2997" "Croix Sud" [43.16294263158131,2.9886110525813994] 423.83619104988657
544 "12" "200001029" 13441 "_2698" "Route de Perpignan" [43.15903039097108,2.9863379663502627] 387.53295636113967
544 "12" "200001029" 13442 "_2930" "Plaine de Jeux" [43.15269231398394,2.9797898804205674] 428.8765841337567
544 "12" "200001029" 13443 "_2931" "Constellations" [43.14530481089044,2.973384303856037] 390.26401351650026
544 "12" "200001029" 13444 "_2938" "Montplaisir" [43.14574294117647,2.97121] 339.8508322846729
544 "12" "200001029" 13445 "_2937" "Sainte Claire" [43.14518000039922,2.9741216000000006] 352.4412107665495
544 "12" "200001029" 13446 "_2935" "Roches Grises" [43.141935904545385,2.9725362660541363] 460.1366379415567
544 "12" "200001029" 13447 "_2517" "Clos des Lentisques" [43.142321063660674,2.9708697786398957] 367.96502456824635
544 "12" "200001029" 13448 "_2934" "Chèvrefeuille" [43.142060753710524,2.9675838651100217] 378.8055300354375
662 "13" "200001225" 16036 "_3088" "Aire Covoiturage Croix Sud" [43.16586895322572,2.98707483161664] 122.55294214877665
662 "13" "200001225" 16037 "_3034" "Cinémas" [43.164642142972724,2.9889014286353204] 104.35285438755702
662 "13" "200001225" 16038 "_2997" "Croix Sud" [43.16296947368725,2.9886157894089362] 426.73124781002366
662 "13" "200001225" 16039 "_2698" "Route de Perpignan" [43.15904710971536,2.9863470288899365] 389.2115053286998
662 "13" "200001225" 16040 "_2930" "Plaine de Jeux" [43.152709530294,2.9797968608152856] 430.8646522338203
662 "13" "200001225" 16041 "_2931" "Constellations" [43.145304250699795,2.973411750053657] 392.3881307090567
662 "13" "200001225" 16042 "_2938" "Montplaisir" [43.14576333333335,2.97121] 341.3876158175447
662 "13" "200001225" 16043 "_2937" "Sainte Claire" [43.145180000404885,2.9740912244897966] 352.0197744654407
662 "13" "200001225" 16044 "_2935" "Roches Grises" [43.14192939854068,2.9725591576411077] 461.8174515523604
662 "13" "200001225" 16045 "_2517" "Clos des Lentisques" [43.142314779818236,2.970894557499382] 369.1633162684709
662 "13" "200001225" 16046 "_2934" "Chèvrefeuille" [43.14208176573954,2.9675976411363223] 380.3885719287392
83 "7" "200000163" 2059 "_2731" "Cinéma" [42.841090010931985,3.0390000751879254] 101.80038603663303
83 "7" "200000163" 2061 "_2543" "Copacabana" [42.848054444445125,3.042236666680098] 101.60064654089616
83 "7" "200000163" 2063 "_2449" "Jardins de la Mer" [42.85787757009444,3.040734298949073] 102.94290841685005
83 "7" "200000163" 2064 "_2556" "Cauquillous" [42.86182909091916,3.04286636356515] 103.07894314319786
56 "8" "200000074" 1581 "_2704" "Collège St Louis de Gonzague" [42.85399817036796,3.036027179539686] 106.86256103924241
56 "8" "200000074" 1582 "_2729" "Ecole de Voile" [42.84682132812715,3.037110156096809] 104.70976810812299
stops_match_shape_out_of_order WARNING 1

stops_match_shape_out_of_order

Two stop entries are different than their arrival-departure order defined by shapes.txt.

This could indicate a problem with the location of the stops, the path of the shape, or the sequence of the stops for their trip.

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. stopTimeCsvRowNumber1 (?) The row number of the first faulty record from `stop_times.txt`. stopId1 (?) The id of the first stop that is referred to. stopName1 (?) The name of the first stop that is referred to. match1 (?) Latitude and longitude pair of the first matching location. stopTimeCsvRowNumber2 (?) The row number of the second faulty record from `stop_times.txt`. stopId2 (?) The id of the second stop that is referred to. stopName2 (?) The name of the second stop that is referred to. match2 (?) Latitude and longitude pair of the second matching location.
377 "11" "200000837" 9417 "_2536" "Réveillon" [43.13570797264422,2.966083917859031] 9416 "_2797" "Harmonia" [43.13432786076815,2.962885446226598]
transfer_distance_too_large WARNING 1

transfer_distance_too_large

The transfer distance from stop to stop in transfers.txt is larger than 10 km.

You can see more about this notice here.

csvRowNumber (?) The row number from `transfers.txt` for the faulty entry. fromStopId (?) The ID of the stop in `from_stop_id`. toStopId (?) The ID of the stop in `to_stop_id`. distanceKm (?) The distance between the two stops in km.
2 "_2480" "_2912" 12.191452706169645
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.
"20260627" "20260529" "20260703"
service_window_outside_feed_period INFO 7

service_window_outside_feed_period

A service window is not covered by the feed's validity period.

You can see more about this notice here.

serviceId (?) The service_id whose active window extends outside the feed validity period. serviceWindowStartDate (?) The first active date of the service window. serviceWindowEndDate (?) The last active date of the service window. daysBeforeFeedStart (?) Number of days the service window extends before feed_start_date (0 if none). daysAfterFeedEnd (?) Number of days the service window extends after feed_end_date (0 if none).
"6_Narbonne_2" "2026-06-03" "2026-07-01" 2 0
"2_Narbonne_6" "2026-05-30" "2026-06-27" 6 0
"4_Narbonne_4" "2026-06-01" "2026-06-29" 4 0
"1_Narbonne_I" "2026-05-29" "2026-07-03" 7 0
"7_Narbonne_1" "2026-06-04" "2026-07-02" 1 0
"3_Narbonne_5" "2026-05-31" "2026-06-28" 5 0
"5_Narbonne_3" "2026-06-02" "2026-06-30" 3 0
trip_headsign_matches_intermediate_stop INFO 592

trip_headsign_matches_intermediate_stop

Trip headsign matches the name of an intermediate stop, not the last stop.

The trip_headsign matches the stop_name of a stop that is not the last stop of the trip. This may confuse passengers boarding after that stop, since the headsign suggests the vehicle is heading to a stop it has already passed.

You can see more about this notice here.

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

csvRowNumber (?) The row number of the faulty record in `trips.txt`. tripId (?) The id of the trip with the problematic headsign. tripHeadsign (?) The headsign value that matches an intermediate stop name. stopId1 (?) The id of the intermediate stop whose name matches the headsign. stopSequence (?) The stop_sequence value of the intermediate stop that matches the headsign. stopId2 (?) The id of the actual last stop of the trip.
73 "200000128" "Jean Jaurès" "_2831" 20 "_2402"
84 "200000172" "Jean Jaurès" "_2853" 10 "_2402"
90 "200000185" "Victor Hugo" "_2484" 7 "_2848"
91 "200000186" "Victor Hugo" "_2484" 7 "_2848"
92 "200000187" "Victor Hugo" "_2484" 7 "_2848"
93 "200000188" "Victor Hugo" "_2484" 7 "_2848"
94 "200000189" "Victor Hugo" "_2484" 7 "_2848"
123 "200000290" "Jean Jaurès" "_2831" 12 "_2402"
124 "200000291" "Jean Jaurès" "_2831" 12 "_2402"
125 "200000292" "Jean Jaurès" "_2831" 12 "_2402"
171 "200000408" "Jean Jaurès" "_2853" 10 "_2402"
172 "200000409" "Jean Jaurès" "_2853" 10 "_2402"
173 "200000410" "Jean Jaurès" "_2853" 10 "_2402"
377 "200000837" "Réveillon" "_2583" 25 "_2536"
378 "200000838" "Réveillon" "_2583" 25 "_2536"
379 "200000839" "Réveillon" "_2583" 25 "_2536"
380 "200000840" "Réveillon" "_2583" 25 "_2536"
469 "200000954" "Théâtre" "_2495" 1 "_3095"
470 "200000955" "Théâtre" "_2495" 1 "_3095"
471 "200000956" "Théâtre" "_2495" 1 "_3095"
472 "200000957" "Théâtre" "_2495" 1 "_3095"
473 "200000958" "Théâtre" "_2495" 1 "_3095"
474 "200000959" "Théâtre" "_2495" 1 "_3095"
475 "200000960" "Théâtre" "_2495" 1 "_3095"
476 "200000961" "Théâtre" "_2495" 1 "_3095"
477 "200000962" "Théâtre" "_2495" 1 "_3095"
581 "200001091" "Théâtre" "_2495" 1 "_3095"
582 "200001092" "Théâtre" "_2495" 1 "_3095"
583 "200001093" "Théâtre" "_2495" 1 "_3095"
584 "200001094" "Théâtre" "_2495" 1 "_3095"
585 "200001095" "Théâtre" "_2495" 1 "_3095"
586 "200001096" "Théâtre" "_2495" 1 "_3095"
587 "200001097" "Théâtre" "_2495" 1 "_3095"
588 "200001098" "Théâtre" "_2495" 1 "_3095"
589 "200001099" "Théâtre" "_2495" 1 "_3095"
590 "200001100" "Théâtre" "_2495" 1 "_3095"
591 "200001101" "Théâtre" "_2495" 1 "_3095"
592 "200001102" "Théâtre" "_2495" 1 "_3095"
593 "200001103" "Théâtre" "_2495" 1 "_3095"
594 "200001104" "Théâtre" "_2495" 1 "_3095"
595 "200001105" "Théâtre" "_2495" 1 "_3095"
596 "200001106" "Théâtre" "_2495" 1 "_3095"
597 "200001107" "Théâtre" "_2495" 1 "_3095"
598 "200001108" "Théâtre" "_2495" 1 "_3095"
599 "200001109" "Théâtre" "_2495" 1 "_3095"
600 "200001110" "Théâtre" "_2495" 1 "_3095"
601 "200001111" "Théâtre" "_2495" 1 "_3095"
602 "200001112" "Théâtre" "_2495" 1 "_3095"
603 "200001113" "Théâtre" "_2495" 1 "_3095"
604 "200001114" "Théâtre" "_2495" 1 "_3095"
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.
"agency.txt" "agency_sort_order" 9
unsorted_stop_times INFO 153

unsorted_stop_times

Stop times are not sorted by trip_id and stop_sequence.

'stop_times.txt' entries for a given trip are not sorted by stop_sequence, or are not contiguous in the file.

You can see more about this notice here.

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

tripId (?) The faulty record's trip_id. startCsvRowNumber (?) CSV row number of the first stop_times entry for this trip. endCsvRowNumber (?) CSV row number of the last stop_times entry for this trip.
"700001412" 77966 78005
"700001415" 78086 78125
"700001414" 78046 78085
"700001413" 78006 78045
"400001829" 66699 66736
"400001827" 66623 66660
"400001828" 66661 66698
"600001302" 23489 23526
"600001301" 23451 23488
"600001300" 23413 23450
"100001426" 95824 95863
"100001427" 95864 95903
"100001428" 95904 95943
"100001429" 95944 95983
"100000945" 91777 91792
"100000946" 91793 91808
"400001748" 64403 64442
"400001746" 64323 64362
"400001747" 64363 64402
"400001745" 64283 64322
"600001431" 27056 27095
"600001439" 27376 27415
"600001438" 27336 27375
"600001437" 27296 27335
"600001436" 27256 27295
"600001435" 27216 27255
"600001434" 27176 27215
"600001433" 27136 27175
"600001432" 27096 27135
"700001354" 77391 77428
"700001353" 77353 77390
"700001352" 77315 77352
"600001442" 27496 27535
"600001441" 27456 27495
"600001440" 27416 27455
"600001444" 27536 27575
"200000999" 12256 12295
"600001513" 28416 28455
"600001512" 28376 28415
"600001511" 28336 28375
"600001510" 28296 28335
"400001162" 57487 57502
"400001163" 57503 57518
"500000596" 36302 36317
"500000597" 36318 36333
"500001020" 38613 38625
"100001366" 95173 95210
"100001367" 95211 95248
"100001368" 95249 95286
"200000783" 8018 8055