Resource details
This resource file is part of the dataset Réseau urbain Ticobus.
It is valid from 2024-09-02 to 9999-12-31.
- Agencies : 1
- Blocks : 0
- Routes : 2
- Shapes : 0
- Stops : 59
- Trips : 1
Download availability
Learn more
HEAD request with a timeout of 5 seconds. If we detect a downtime, we perform subsequent tests every 10 minutes, until the resource is back online.For SIRI and SIRI Lite feeds, we perform a
GET request: a 401 or 405 status code is considered successful. In case of HTTP 500, the feed will be considered unavailable, unless the body appears to contain SOAP.Validation details
❌61 errors, 76 warnings
❌ Errors
duplicate_key 57 errors
Duplicated entity.
The values of the given key and rows are duplicates.
Relevant links
Sample errors
| fieldName1 | fieldValue1 | filename | newCsvRowNumber | oldCsvRowNumber |
|---|---|---|---|---|
| "location_group_id" | "lg_2" | "location_groups.txt" | 3 | 2 |
| "location_group_id" | "lg_2" | "location_groups.txt" | 4 | 2 |
| "location_group_id" | "lg_2" | "location_groups.txt" | 5 | 2 |
| "location_group_id" | "lg_2" | "location_groups.txt" | 6 | 2 |
| "location_group_id" | "lg_2" | "location_groups.txt" | 7 | 2 |
| "location_group_id" | "lg_2" | "location_groups.txt" | 8 | 2 |
| "location_group_id" | "lg_2" | "location_groups.txt" | 9 | 2 |
| "location_group_id" | "lg_2" | "location_groups.txt" | 10 | 2 |
| "location_group_id" | "lg_2" | "location_groups.txt" | 11 | 2 |
| "location_group_id" | "lg_2" | "location_groups.txt" | 12 | 2 |
| "location_group_id" | "lg_2" | "location_groups.txt" | 13 | 2 |
| "location_group_id" | "lg_2" | "location_groups.txt" | 14 | 2 |
| "location_group_id" | "lg_2" | "location_groups.txt" | 15 | 2 |
| "location_group_id" | "lg_2" | "location_groups.txt" | 16 | 2 |
| "location_group_id" | "lg_2" | "location_groups.txt" | 17 | 2 |
| "location_group_id" | "lg_2" | "location_groups.txt" | 18 | 2 |
| "location_group_id" | "lg_2" | "location_groups.txt" | 19 | 2 |
| "location_group_id" | "lg_2" | "location_groups.txt" | 20 | 2 |
| "location_group_id" | "lg_2" | "location_groups.txt" | 21 | 2 |
| "location_group_id" | "lg_2" | "location_groups.txt" | 22 | 2 |
| "location_group_id" | "lg_2" | "location_groups.txt" | 23 | 2 |
| "location_group_id" | "lg_2" | "location_groups.txt" | 24 | 2 |
| "location_group_id" | "lg_2" | "location_groups.txt" | 25 | 2 |
| "location_group_id" | "lg_2" | "location_groups.txt" | 26 | 2 |
| "location_group_id" | "lg_2" | "location_groups.txt" | 27 | 2 |
| "location_group_id" | "lg_2" | "location_groups.txt" | 28 | 2 |
| "location_group_id" | "lg_2" | "location_groups.txt" | 29 | 2 |
| "location_group_id" | "lg_2" | "location_groups.txt" | 30 | 2 |
| "location_group_id" | "lg_2" | "location_groups.txt" | 31 | 2 |
| "location_group_id" | "lg_2" | "location_groups.txt" | 32 | 2 |
| "location_group_id" | "lg_2" | "location_groups.txt" | 33 | 2 |
| "location_group_id" | "lg_2" | "location_groups.txt" | 34 | 2 |
| "location_group_id" | "lg_2" | "location_groups.txt" | 35 | 2 |
| "location_group_id" | "lg_3" | "location_groups.txt" | 37 | 36 |
| "location_group_id" | "lg_3" | "location_groups.txt" | 38 | 36 |
| "location_group_id" | "lg_3" | "location_groups.txt" | 39 | 36 |
| "location_group_id" | "lg_3" | "location_groups.txt" | 40 | 36 |
| "location_group_id" | "lg_3" | "location_groups.txt" | 41 | 36 |
| "location_group_id" | "lg_3" | "location_groups.txt" | 42 | 36 |
| "location_group_id" | "lg_3" | "location_groups.txt" | 43 | 36 |
| "location_group_id" | "lg_3" | "location_groups.txt" | 44 | 36 |
| "location_group_id" | "lg_3" | "location_groups.txt" | 45 | 36 |
| "location_group_id" | "lg_3" | "location_groups.txt" | 46 | 36 |
| "location_group_id" | "lg_3" | "location_groups.txt" | 47 | 36 |
| "location_group_id" | "lg_3" | "location_groups.txt" | 48 | 36 |
| "location_group_id" | "lg_3" | "location_groups.txt" | 49 | 36 |
| "location_group_id" | "lg_3" | "location_groups.txt" | 50 | 36 |
| "location_group_id" | "lg_3" | "location_groups.txt" | 51 | 36 |
| "location_group_id" | "lg_3" | "location_groups.txt" | 52 | 36 |
| "location_group_id" | "lg_3" | "location_groups.txt" | 53 | 36 |
Showing only the first 50 errors.
missing_trip_edge 4 errors
Missing trip edge arrival_time or departure_time.
First and last stop of a trip must define both arrival_time and departure_time fields. Per stop_times.txt, “If there are not separate times for arrival and departure at a stop, enter the same value for arrival_time and departure_time.”
Relevant files
-
stop_times.txt
Sample errors
| csvRowNumber | specifiedField | stopSequence | tripId |
|---|---|---|---|
| 2 | "arrival_time" | 0 | "3" |
| 2 | "departure_time" | 0 | "3" |
| 26 | "arrival_time" | 24 | "3" |
| 26 | "departure_time" | 24 | "3" |
⚠️ Warnings
leading_or_trailing_whitespaces 2 errors
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.
Sample errors
| csvRowNumber | fieldName | fieldValue | filename |
|---|---|---|---|
| 9 | "stop_name" | "Les Améthystes " | "stops.txt" |
| 40 | "stop_name" | "Cheval blanc " | "stops.txt" |
missing_recommended_file 1 error
A recommended file is missing.
Sample errors
| filename |
|---|
| "feed_info.txt" |
mixed_case_recommended_field 37 errors
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"
Relevant links
Sample errors
| csvRowNumber | fieldName | fieldValue | filename |
|---|---|---|---|
| 2 | "agency_name" | "3CM" | "agency.txt" |
| 2 | "route_short_name" | "TAD 3CM" | "routes.txt" |
| 2 | "route_long_name" | "TAD 3CM" | "routes.txt" |
| 2 | "location_group_name" | "TAD 3CM" | "location_groups.txt" |
| 3 | "location_group_name" | "TAD 3CM" | "location_groups.txt" |
| 4 | "location_group_name" | "TAD 3CM" | "location_groups.txt" |
| 5 | "location_group_name" | "TAD 3CM" | "location_groups.txt" |
| 6 | "location_group_name" | "TAD 3CM" | "location_groups.txt" |
| 7 | "location_group_name" | "TAD 3CM" | "location_groups.txt" |
| 8 | "location_group_name" | "TAD 3CM" | "location_groups.txt" |
| 9 | "location_group_name" | "TAD 3CM" | "location_groups.txt" |
| 10 | "location_group_name" | "TAD 3CM" | "location_groups.txt" |
| 11 | "location_group_name" | "TAD 3CM" | "location_groups.txt" |
| 12 | "location_group_name" | "TAD 3CM" | "location_groups.txt" |
| 13 | "location_group_name" | "TAD 3CM" | "location_groups.txt" |
| 14 | "location_group_name" | "TAD 3CM" | "location_groups.txt" |
| 15 | "location_group_name" | "TAD 3CM" | "location_groups.txt" |
| 16 | "location_group_name" | "TAD 3CM" | "location_groups.txt" |
| 17 | "location_group_name" | "TAD 3CM" | "location_groups.txt" |
| 18 | "location_group_name" | "TAD 3CM" | "location_groups.txt" |
| 19 | "location_group_name" | "TAD 3CM" | "location_groups.txt" |
| 20 | "location_group_name" | "TAD 3CM" | "location_groups.txt" |
| 21 | "location_group_name" | "TAD 3CM" | "location_groups.txt" |
| 22 | "location_group_name" | "TAD 3CM" | "location_groups.txt" |
| 23 | "location_group_name" | "TAD 3CM" | "location_groups.txt" |
| 24 | "location_group_name" | "TAD 3CM" | "location_groups.txt" |
| 25 | "location_group_name" | "TAD 3CM" | "location_groups.txt" |
| 26 | "location_group_name" | "TAD 3CM" | "location_groups.txt" |
| 27 | "location_group_name" | "TAD 3CM" | "location_groups.txt" |
| 28 | "location_group_name" | "TAD 3CM" | "location_groups.txt" |
| 29 | "location_group_name" | "TAD 3CM" | "location_groups.txt" |
| 30 | "location_group_name" | "TAD 3CM" | "location_groups.txt" |
| 31 | "location_group_name" | "TAD 3CM" | "location_groups.txt" |
| 32 | "location_group_name" | "TAD 3CM" | "location_groups.txt" |
| 33 | "location_group_name" | "TAD 3CM" | "location_groups.txt" |
| 34 | "location_group_name" | "TAD 3CM" | "location_groups.txt" |
| 35 | "location_group_name" | "TAD 3CM" | "location_groups.txt" |
route_long_name_contains_short_name 2 errors
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"
Relevant files
-
routes.txt
Sample errors
| csvRowNumber | routeId | routeLongName | routeShortName |
|---|---|---|---|
| 2 | "2" | "TAD 3CM" | "TAD 3CM" |
| 3 | "3" | "Allo Tico" | "Allo Tico" |
stop_without_stop_time 34 errors
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.
Relevant files
-
stop_times.txt -
stops.txt
Sample errors
| csvRowNumber | stopId | stopName |
|---|---|---|
| 2 | "s_3" | "Chapelle" |
| 3 | "s_4" | "La Halle" |
| 4 | "s_5" | "La Halle" |
| 5 | "s_6" | "Abri bus RD22" |
| 6 | "s_7" | "Arret Vernayy" |
| 7 | "s_8" | "Village" |
| 8 | "s_9" | "ZAE 2B" |
| 9 | "s_10" | "Les Améthystes" |
| 10 | "s_11" | "Front de Bandière" |
| 11 | "s_12" | "Chenes" |
| 12 | "s_13" | "Mairie" |
| 13 | "s_14" | "Aristide Briand" |
| 14 | "s_15" | "Henri Dunant" |
| 15 | "s_16" | "La Boisse" |
| 16 | "s_17" | "Mairie" |
| 17 | "s_18" | "La Portelle" |
| 18 | "s_19" | "Les Avoux" |
| 19 | "s_20" | "Cheval blanc" |
| 20 | "s_21" | "Les Batonnes" |
| 21 | "s_22" | "Gare de la Valbonne" |
| 22 | "s_23" | "Route de Lyon" |
| 23 | "s_24" | "Mairie" |
| 24 | "s_25" | "Saint Louis" |
| 25 | "s_26" | "Gare" |
| 26 | "s_27" | "Carrier" |
| 27 | "s_28" | "Veepee" |
| 28 | "s_29" | "Desautel" |
| 29 | "s_30" | "Les Princes" |
| 30 | "s_31" | "Hexcel" |
| 31 | "s_32" | "La Craz" |
| 32 | "s_33" | "Cèdres Bleus" |
| 33 | "s_34" | "Recyclerie" |
| 34 | "s_35" | "MFR" |
| 35 | "s_36" | "2B" |
ℹ️ Information
unknown_column 5 errors
A column name is unknown.
Relevant links
Sample errors
| fieldName | filename | index |
|---|---|---|
| "location_id" | "location_groups.txt" | 2 |
| "start_pickup_dropoff_window" | "stop_times.txt" | 13 |
| "end_pickup_dropoff_window" | "stop_times.txt" | 14 |
| "mean_duration_factor" | "stop_times.txt" | 15 |
| "mean_duration_offset" | "stop_times.txt" | 16 |
Validation carried out using the current GTFS file the 2025-12-03 at 17:13 Europe/Paris using the Canonical GTFS Schedule Validator.