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
⚠️76 warnings
Validation carried out using the current GTFS file and the GTFS-RT the 2025-12-07 at 08:09 Europe/Paris using the MobilityData GTFS-RT validator.
Warnings
vehicle_id not populated W002 25 errors
vehicle_id should be populated for TripUpdates and VehiclePositions
Sample errors
- trip_id 1104S-1720 does not have a vehicle_id
- trip_id 1104S-1650 does not have a vehicle_id
- trip_id 1104S-1705 does not have a vehicle_id
- trip_id 1104S-1620 does not have a vehicle_id
- trip_id 1104S-1635 does not have a vehicle_id
Header timestamp is older than 65 seconds W008 1 error
The data in a GTFS-realtime feed should always be less than one minute old
Sample errors
- header.timestamp is 924 min 9 sec old which is greater than the recommended age of 65 seconds
schedule_relationship not populated W009 50 errors
trip.schedule_relationship and stop_time_update.schedule_relationship should be populated
Sample errors
- trip_id 1104S-1720 stop_sequence 2 (and potentially more for this trip) does not have a schedule_relationship
- trip_id 1104S-1720 does not have a schedule_relationship
- trip_id 1104S-1650 stop_sequence 1 (and potentially more for this trip) does not have a schedule_relationship
- trip_id 1104S-1650 does not have a schedule_relationship
- trip_id 1104S-1705 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 533 | 30 times (100 % of validations) |
| W009 | trip.schedule_relationship and stop_time_update.schedule_relationship should be populated | 3 040 | 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. | 17 | 13 times (43 % of validations) |
| W008 | The data in a GTFS-realtime feed should always be less than one minute old | 11 | 11 times (37 % of validations) |
GTFS-RT feed content
Entities
Entities present in this feed at 2025-12-08 at 04:15 Europe/Paris.
trip_updates (3) 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 2025-12-08 at 04:15 Europe/Paris. You can look at the GTFS-RT documentation.
{
"entity": [
{
"id": "SM:T3-1-0454",
"tripUpdate": {
"stopTimeUpdate": [
{
"departure": {
"time": "1765166040"
},
"stopId": "Saint-Louis_Gare_T3_AR",
"stopSequence": 1
},
{
"arrival": {
"time": "1765166280"
},
"departure": {
"time": "1765166280"
},
"stopId": "Soleil_R",
"stopSequence": 2
},
{
"arrival": {
"time": "1765166400"
},
"departure": {
"time": "1765166400"
},
"stopId": "Place_Mermoz_T3",
"stopSequence": 3
},
{
"arrival": {
"time": "1765166520"
},
"departure": {
"time": "1765166520"
},
"stopId": "Saint-Exupéry_T3",
"stopSequence": 4
},
{
"arrival": {
"time": "1765166700"
},
"departure": {
"time": "1765166700"
},
"stopId": "Burgfelderhof_R",
"stopSequence": 5
},
{
"arrival": {
"time": "1765166820"
},
"departure": {
"time": "1765166820"
},
"stopId": "Waldighoferstrasse_AR",
"stopSequence": 6
},
{
"arrival": {
"time": "1765166880"
},
"departure": {
"time": "1765166880"
},
"stopId": "Félix_Platter-Spital_R",
"stopSequence": 7
},
{
"arrival": {
"time": "1765166940"
},
"departure": {
"time": "1765166940"
},
"stopId": "Im_Westfeld_AR",
"stopSequence": 8
},
{
"arrival": {
"time": "1765167000"
},
"departure": {
"time": "1765167000"
},
"stopId": "Strassburgerallee_AR",
"stopSequence": 9
},
{
"arrival": {
"time": "1765167060"
},
"departure": {
"time": "1765167060"
},
"stopId": "Burgfelderplatz_AR",
"stopSequence": 10
},
{
"arrival": {
"time": "1765167120"
},
"departure": {
"time": "1765167120"
},
"stopId": "Pilgerstrasse_AR",
"stopSequence": 11
},
{
"arrival": {
"time": "1765167240"
},
"departure": {
"time": "1765167240"
},
"stopId": "Spalentor_AR",
"stopSequence": 12
},
{
"arrival": {
"time": "1765167300"
},
"departure": {
"time": "1765167300"
},
"stopId": "Universität_AR",
"stopSequence": 13
}
],
"timestamp": "1765163333",
"trip": {
"directionId": 1,
"routeId": "T3",
"tripId": "T3-1-0454"
}
}
},
{
"id": "SM:601-0454",
"tripUpdate": {
"stopTimeUpdate": [
{
"departure": {
"time": "1765166040"
},
"stopId": "Kembs_Nord_AR",
"stopSequence": 1
},
{
"arrival": {
"delay": -30,
"time": "1765166070"
},
"departure": {
"delay": -30,
"time": "1765166070"
},
"stopId": "Ciel_A",
"stopSequence": 2
},
{
"arrival": {
"time": "1765166100"
},
"departure": {
"time": "1765166100"
},
"stopId": "Maison_du_Patrimoine_A",
"stopSequence": 3
},
{
"arrival": {
"time": "1765166160"
},
"departure": {
"time": "1765166160"
},
"stopId": "Kembs_Pres_A",
"stopSequence": 4
},
{
"arrival": {
"time": "1765166220"
},
"departure": {
"time": "1765166220"
},
"stopId": "Rue_de_lEurope_A",
"stopSequence": 5
},
{
"arrival": {
"time": "1765166340"
},
"departure": {
"time": "1765166340"
},
"stopId": "Kembs_Mairie_A",
"stopSequence": 6
},
{
"arrival": {
"time": "1765166460"
},
"departure": {
"time": "1765166460"
},
"stopId": "Schaeferhof_A",
"stopSequence": 7
},
{
"arrival": {
"time": "1765166520"
},
"departure": {
"time": "1765166520"
},
"stopId": "Colonel_Gauvin_A",
"stopSequence": 8
},
{
"arrival": {
"time": "1765166580"
},
"departure": {
"time": "1765166580"
},
"stopId": "Richardshaeuser_AR",
"stopSequence": 9
},
{
"arrival": {
"time": "1765166640"
},
"departure": {
"time": "1765166640"
},
"stopId": "Schnockeloch_A",
"stopSequence": 10
},
{
"arrival": {
"time": "1765166700"
},
"departure": {
"time": "1765166700"
},
"stopId": "Victor_Hugo_A",
"stopSequence": 11
},
{
"arrival": {
"time": "1765166760"
},
"departure": {
"time": "1765166760"
},
"stopId": "Orée_du_Bois_A",
"stopSequence": 12
},
{
"arrival": {
"time": "1765167060"
},
"departure": {
"time": "1765167060"
},
"stopId": "Petite_Camargue_Alsacienne_A",
"stopSequence": 13
},
{
"arrival": {
"time": "1765167240"
},
"departure": {
"time": "1765167240"
},
"stopId": "Rue_de_Séville_A",
"stopSequence": 14
}
],
"timestamp": "1765163333",
"trip": {
"routeId": "6",
"tripId": "601-0454"
}
}
},
{
"id": "SM:T3-6-0506",
"tripUpdate": {
"stopTimeUpdate": [
{
"departure": {
"time": "1765166760"
},
"stopId": "Birsfelden_Hard_AR",
"stopSequence": 1
},
{
"arrival": {
"time": "1765166820"
},
"departure": {
"time": "1765166820"
},
"stopId": "Salinenstrasse_AR",
"stopSequence": 2
},
{
"arrival": {
"time": "1765166880"
},
"departure": {
"time": "1765166880"
},
"stopId": "Schulstrasse_AR",
"stopSequence": 3
},
{
"arrival": {
"time": "1765166940"
},
"departure": {
"time": "1765166940"
},
"stopId": "Bären_AR",
"stopSequence": 4
},
{
"arrival": {
"time": "1765167000"
},
"departure": {
"time": "1765167000"
},
"stopId": "Breite_AR",
"stopSequence": 5
},
{
"arrival": {
"time": "1765167120"
},
"departure": {
"time": "1765167120"
},
"stopId": "Waldenburgerstrasse_AR",
"stopSequence": 6
},
{
"arrival": {
"time": "1765167180"
},
"departure": {
"time": "1765167180"
},
"stopId": "St_Alban-Tor_AR",
"stopSequence": 7
},
{
"arrival": {
"time": "1765167240"
},
"departure": {
"time": "1765167240"
},
"stopId": "Hardstrasse_AR",
"stopSequence": 8
}
],
"timestamp": "1765163333",
"trip": {
"routeId": "T3",
"tripId": "T3-6-0506"
}
}
}
],
"header": {
"gtfsRealtimeVersion": "1.0",
"timestamp": "1765163726"
}
}