Resource details
This resource file is part of the dataset Réseau urbain Distribus.
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
⚠️123 warnings
Validation carried out using the current GTFS file and the GTFS-RT the 2026-07-31 at 09:08 Europe/Paris using the MobilityData GTFS-RT validator.
Warnings
vehicle_id not populated W002 42 errors
vehicle_id should be populated for TripUpdates and VehiclePositions
Sample errors
- trip_id 1101-0850 does not have a vehicle_id
- trip_id 103-0905 does not have a vehicle_id
- trip_id 101-0910 does not have a vehicle_id
- trip_id 105-0833 does not have a vehicle_id
- trip_id 103-0820 does not have a vehicle_id
schedule_relationship not populated W009 81 errors
trip.schedule_relationship and stop_time_update.schedule_relationship should be populated
Sample errors
- trip_id 1101-0850 stop_sequence 1 (and potentially more for this trip) does not have a schedule_relationship
- trip_id 1101-0850 does not have a schedule_relationship
- trip_id 103-0905 stop_sequence 1 (and potentially more for this trip) does not have a schedule_relationship
- trip_id 103-0905 does not have a schedule_relationship
- trip_id 101-0910 stop_sequence 1 (and potentially more for this trip) does not have a schedule_relationship
Previous validations
Here is a recap of all the error types encountered over the last 30 days.
| Error ID | Description | Errors count | Number of occurences |
|---|---|---|---|
| W002 | vehicle_id should be populated for TripUpdates and VehiclePositions | 1,147 | 30 times (100 % of validations) |
| W009 | trip.schedule_relationship and stop_time_update.schedule_relationship should be populated | 2,135 | 30 times (100 % of validations) |
| E025 | Within the same stop_time_update, arrival and departures times can be the same, or the departure time can be later than the arrival time - the departure time should never come before the arrival time. | 3 | 3 times (10 % of validations) |
| W008 | The data in a GTFS-realtime feed should always be less than one minute old | 2 | 2 times (7 % of validations) |
GTFS-RT feed content
Entities
Entities present in this feed at 2026-08-01 at 00:27 Europe/Paris.
trip_updates (2) vehicle_positions (0) service_alerts (0)Entities seen in the last 7 days.
trip_updatesDecoded GTFS-RT feed
See full payload
Here is the decoded GTFS-RT feed Protobuf at 2026-08-01 at 00:27 Europe/Paris. You can look at the GTFS-RT documentation.
{
"entity": [
{
"id": "SM:450T-2400",
"tripUpdate": {
"stopTimeUpdate": [
{
"departure": {
"delay": 119,
"time": "1785535319"
},
"stopId": "Professeur_Coste_A",
"stopSequence": 1
},
{
"arrival": {
"delay": 149,
"time": "1785535390"
},
"departure": {
"delay": 149,
"time": "1785535409"
},
"stopId": "Rousserolles_A",
"stopSequence": 2
},
{
"arrival": {
"delay": 132,
"time": "1785535452"
},
"departure": {
"delay": 132,
"time": "1785535452"
},
"stopId": "Muguet_A",
"stopSequence": 3
},
{
"arrival": {
"delay": 163,
"time": "1785535483"
},
"departure": {
"delay": 163,
"time": "1785535483"
},
"stopId": "Cité_Beaulieu_A",
"stopSequence": 4
},
{
"arrival": {
"delay": 193,
"time": "1785535513"
},
"departure": {
"delay": 193,
"time": "1785535513"
},
"stopId": "Parc_des_Maréchaux_A",
"stopSequence": 5
},
{
"arrival": {
"delay": 179,
"time": "1785535619"
},
"departure": {
"delay": 179,
"time": "1785535619"
},
"stopId": "Parc_Soleil_A",
"stopSequence": 6
},
{
"arrival": {
"delay": 220,
"time": "1785535720"
},
"departure": {
"delay": 220,
"time": "1785535720"
},
"stopId": "Petite_Camargue_Alsacienne_A",
"stopSequence": 7
},
{
"arrival": {
"delay": 218,
"time": "1785535778"
},
"departure": {
"delay": 218,
"time": "1785535778"
},
"stopId": "Saint-Claude_A",
"stopSequence": 8
},
{
"arrival": {
"delay": 179,
"time": "1785535799"
},
"departure": {
"delay": 179,
"time": "1785535799"
},
"stopId": "Chapelle_A",
"stopSequence": 9
},
{
"arrival": {
"delay": 239,
"time": "1785535837"
},
"departure": {
"delay": 239,
"time": "1785535859"
},
"stopId": "Rue_de_Séville_A",
"stopSequence": 10
},
{
"arrival": {
"delay": 280,
"time": "1785535960"
},
"departure": {
"delay": 280,
"time": "1785535960"
},
"stopId": "Cité_du_Rail_A",
"stopSequence": 11
},
{
"arrival": {
"delay": 239,
"time": "1785536039"
},
"departure": {
"delay": 239,
"time": "1785536039"
},
"stopId": "Trois_Lys_A",
"stopSequence": 12
},
{
"arrival": {
"delay": 269,
"time": "1785536083"
},
"departure": {
"delay": 269,
"time": "1785536129"
},
"stopId": "Saint-Louis_Gare_Est_AR",
"stopSequence": 13
},
{
"arrival": {
"delay": 283,
"time": "1785536203"
},
"departure": {
"delay": 283,
"time": "1785536203"
},
"stopId": "Église_Saint-Louis_A",
"stopSequence": 14
},
{
"arrival": {
"delay": 279,
"time": "1785536259"
},
"departure": {
"delay": 279,
"time": "1785536259"
},
"stopId": "Breisach_A",
"stopSequence": 15
},
{
"arrival": {
"delay": 234,
"time": "1785536274"
},
"departure": {
"delay": 234,
"time": "1785536274"
},
"stopId": "Croisée_des_Lys_A",
"stopSequence": 16
},
{
"arrival": {
"delay": 201,
"time": "1785536361"
},
"departure": {
"delay": 201,
"time": "1785536361"
},
"stopId": "Claude_Hess_A",
"stopSequence": 17
},
{
"arrival": {
"delay": 171,
"time": "1785536391"
},
"departure": {
"delay": 171,
"time": "1785536391"
},
"stopId": "Rhin_A",
"stopSequence": 18
},
{
"arrival": {
"delay": 161,
"time": "1785536441"
},
"departure": {
"delay": 161,
"time": "1785536441"
},
"stopId": "Notre-Dame_de_la_Paix_A",
"stopSequence": 19
},
{
"arrival": {
"delay": 119,
"time": "1785536459"
},
"departure": {
"delay": 119,
"time": "1785536459"
},
"stopId": "Frontière_A",
"stopSequence": 20
},
{
"arrival": {
"delay": 125,
"time": "1785536585"
},
"departure": {
"delay": 125,
"time": "1785536585"
},
"stopId": "Hüningerstrasse_A",
"stopSequence": 21
},
{
"arrival": {
"delay": 95,
"time": "1785536615"
},
"departure": {
"delay": 95,
"time": "1785536615"
},
"stopId": "Voltaplatz_A",
"stopSequence": 22
},
{
"arrival": {
"delay": 119,
"time": "1785536819"
},
"departure": {
"delay": 119,
"time": "1785536819"
},
"stopId": "Kinderspital_UKBB_A",
"stopSequence": 23
},
{
"arrival": {
"delay": 119,
"time": "1785536939"
},
"stopId": "Schifflände_A",
"stopSequence": 24
}
],
"timestamp": "1785535329",
"trip": {
"routeId": "604",
"tripId": "450T-2400"
}
}
},
{
"id": "SM:450T-2430",
"tripUpdate": {
"stopTimeUpdate": [
{
"departure": {
"time": "1785537000"
},
"stopId": "Schifflände_R",
"stopSequence": 1
},
{
"arrival": {
"time": "1785537120"
},
"departure": {
"time": "1785537120"
},
"stopId": "Kinderspital_UKBB_R",
"stopSequence": 2
},
{
"arrival": {
"time": "1785537360"
},
"departure": {
"time": "1785537360"
},
"stopId": "Voltaplatz_R",
"stopSequence": 3
},
{
"arrival": {
"time": "1785537420"
},
"departure": {
"time": "1785537420"
},
"stopId": "Hüningerstrasse_R",
"stopSequence": 4
},
{
"arrival": {
"time": "1785537540"
},
"departure": {
"time": "1785537540"
},
"stopId": "Frontière_R",
"stopSequence": 5
},
{
"arrival": {
"time": "1785537600"
},
"departure": {
"time": "1785537600"
},
"stopId": "Notre-Dame_de_la_Paix_R",
"stopSequence": 6
},
{
"arrival": {
"time": "1785537660"
},
"departure": {
"time": "1785537660"
},
"stopId": "Rhin_R",
"stopSequence": 7
},
{
"arrival": {
"time": "1785537720"
},
"departure": {
"time": "1785537720"
},
"stopId": "Claude_Hess_R",
"stopSequence": 8
},
{
"arrival": {
"time": "1785537780"
},
"departure": {
"time": "1785537780"
},
"stopId": "Croisée_des_Lys_R",
"stopSequence": 9
},
{
"arrival": {
"time": "1785537840"
},
"departure": {
"time": "1785537840"
},
"stopId": "Breisach_R",
"stopSequence": 10
},
{
"arrival": {
"delay": -30,
"time": "1785537870"
},
"departure": {
"delay": -30,
"time": "1785537870"
},
"stopId": "Église_Saint-Louis_R",
"stopSequence": 11
},
{
"arrival": {
"time": "1785537900"
},
"departure": {
"time": "1785537900"
},
"stopId": "Saint-Louis_Gare_Est_AR",
"stopSequence": 12
},
{
"arrival": {
"time": "1785537960"
},
"departure": {
"time": "1785537960"
},
"stopId": "Trois_Lys_R",
"stopSequence": 13
},
{
"arrival": {
"time": "1785538080"
},
"departure": {
"time": "1785538080"
},
"stopId": "Cité_du_Rail_R",
"stopSequence": 14
},
{
"arrival": {
"time": "1785538140"
},
"departure": {
"time": "1785538140"
},
"stopId": "Rue_de_Séville_R",
"stopSequence": 15
},
{
"arrival": {
"time": "1785538200"
},
"departure": {
"time": "1785538200"
},
"stopId": "Chapelle_R",
"stopSequence": 16
},
{
"arrival": {
"delay": -30,
"time": "1785538230"
},
"departure": {
"delay": -30,
"time": "1785538230"
},
"stopId": "Saint-Claude_R",
"stopSequence": 17
},
{
"arrival": {
"time": "1785538260"
},
"departure": {
"time": "1785538260"
},
"stopId": "Petite_Camargue_Alsacienne_R",
"stopSequence": 18
},
{
"arrival": {
"time": "1785538320"
},
"departure": {
"time": "1785538320"
},
"stopId": "Parc_des_Maréchaux_R",
"stopSequence": 19
},
{
"arrival": {
"time": "1785538440"
},
"departure": {
"time": "1785538440"
},
"stopId": "Parc_Soleil_A",
"stopSequence": 20
},
{
"arrival": {
"delay": 30,
"time": "1785538590"
},
"departure": {
"delay": 30,
"time": "1785538590"
},
"stopId": "Cité_Beaulieu_R",
"stopSequence": 21
},
{
"arrival": {
"time": "1785538620"
},
"departure": {
"time": "1785538620"
},
"stopId": "Muguet_R",
"stopSequence": 22
},
{
"arrival": {
"delay": -30,
"time": "1785538650"
},
"departure": {
"delay": -30,
"time": "1785538650"
},
"stopId": "Rousserolles_R",
"stopSequence": 23
},
{
"arrival": {
"time": "1785538680"
},
"stopId": "Professeur_Coste_A",
"stopSequence": 24
}
],
"timestamp": "1785536349",
"trip": {
"directionId": 1,
"routeId": "604",
"tripId": "450T-2430"
}
}
}
],
"header": {
"gtfsRealtimeVersion": "1.0",
"timestamp": "1785536845"
}
}