Resource details
Données horaires temps réel, au format GTFS-RT PROTOBUF, du réseau TOHM
This resource file is part of the dataset Réseau urbain TOHM.
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
❌4 errors, 60 warnings
Validation carried out using the current GTFS file and the GTFS-RT the 2026-03-05 at 08:05 Europe/Paris using the MobilityData GTFS-RT validator.
Errors
stop_times_updates not strictly sorted E002 1 error
stop_time_updates for a given trip_id must be strictly sorted by increasing stop_sequence
Sample errors
- trip_id 2786 stop_sequence [2, 3, 5, 6, 7, 7] is not strictly sorted by increasing stop_sequence
Sequential stop_time_updates have the same stop_sequence E036 1 error
Sequential GTFS-rt trip stop_time_updates should never have the same stop_sequence
Sample errors
- trip_id 2786 has repeating stop_sequence 7 - stop_sequence must increase for each stop_time_update
Sequential stop_time_updates have the same stop_id E037 1 error
Sequential GTFS-rt trip stop_time_updates shouldn't have the same stop_id
Sample errors
- trip_id 2786 has repeating stop_id PSMGAR1 at stop_sequence 7 - sequential stop_ids should be different
GTFS-rt stop_sequence not found in GTFS data E051 1 error
All stop_time_update stop_sequences in GTFS-realtime data must appear in GTFS stop_times.txt for that trip
Sample errors
- GTFS-rt trip_id 2786 contains stop_sequence 7 that does not exist in GTFS stop_times.txt for this trip
Warnings
vehicle_id not populated W002 20 errors
vehicle_id should be populated for TripUpdates and VehiclePositions
Sample errors
- trip_id 2603 does not have a vehicle_id
- trip_id 2604 does not have a vehicle_id
- trip_id 2605 does not have a vehicle_id
- trip_id 2606 does not have a vehicle_id
- trip_id 2639 does not have a vehicle_id
schedule_relationship not populated W009 40 errors
trip.schedule_relationship and stop_time_update.schedule_relationship should be populated
Sample errors
- trip_id 2603 stop_sequence 1 (and potentially more for this trip) does not have a schedule_relationship
- trip_id 2603 does not have a schedule_relationship
- trip_id 2604 stop_sequence 1 (and potentially more for this trip) does not have a schedule_relationship
- trip_id 2604 does not have a schedule_relationship
- trip_id 2605 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 | 418 | 29 times (100 % of validations) |
| W009 | trip.schedule_relationship and stop_time_update.schedule_relationship should be populated | 833 | 29 times (100 % of validations) |
| E037 | Sequential GTFS-rt trip stop_time_updates shouldn't have the same stop_id | 5 | 5 times (17 % of validations) |
| E002 | stop_time_updates for a given trip_id must be strictly sorted by increasing stop_sequence | 3 | 3 times (10 % of validations) |
| E036 | Sequential GTFS-rt trip stop_time_updates should never have the same stop_sequence | 3 | 3 times (10 % of validations) |
| E051 | All stop_time_update stop_sequences in GTFS-realtime data must appear in GTFS stop_times.txt for that trip | 3 | 3 times (10 % of validations) |
| W008 | The data in a GTFS-realtime feed should always be less than one minute old | 1 | 1 times (3 % of validations) |
GTFS-RT feed content
Entities
Entities present in this feed at 2026-03-05 at 21:43 Europe/Paris.
trip_updates (8) 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-03-05 at 21:43 Europe/Paris. You can look at the GTFS-RT documentation.
{
"entity": [
{
"id": "SM:2631",
"tripUpdate": {
"stopTimeUpdate": [
{
"arrival": {
"delay": -71,
"time": "1772741989"
},
"departure": {
"delay": -71,
"time": "1772741989"
},
"stopId": "PSMCHM1",
"stopSequence": 2
},
{
"arrival": {
"delay": -71,
"time": "1772742109"
},
"departure": {
"delay": -71,
"time": "1772742109"
},
"stopId": "PSMMRI1",
"stopSequence": 3
},
{
"arrival": {
"delay": -71,
"time": "1772742229"
},
"departure": {
"delay": -71,
"time": "1772742229"
},
"stopId": "PSMHOP1",
"stopSequence": 4
},
{
"arrival": {
"delay": -65,
"time": "1772742355"
},
"departure": {
"delay": -65,
"time": "1772742355"
},
"stopId": "PSMSEU1",
"stopSequence": 5
},
{
"arrival": {
"delay": -22,
"time": "1772742518"
},
"departure": {
"delay": -22,
"time": "1772742518"
},
"stopId": "PSMMBR1",
"stopSequence": 6
},
{
"arrival": {
"delay": -21,
"time": "1772742579"
},
"departure": {
"delay": -21,
"time": "1772742579"
},
"stopId": "PSMVMT1",
"stopSequence": 7
},
{
"arrival": {
"delay": 39,
"time": "1772742699"
},
"departure": {
"delay": 39,
"time": "1772742699"
},
"stopId": "PSMJDF1",
"stopSequence": 8
},
{
"arrival": {
"delay": 78,
"time": "1772742798"
},
"departure": {
"delay": 78,
"time": "1772742798"
},
"stopId": "PSMCBR1",
"stopSequence": 9
},
{
"arrival": {
"delay": 78,
"time": "1772742858"
},
"stopId": "PSMCOA1",
"stopSequence": 10
}
],
"timestamp": "1772741967",
"trip": {
"routeId": "A1",
"tripId": "2631"
}
}
},
{
"id": "SM:2632",
"tripUpdate": {
"stopTimeUpdate": [
{
"arrival": {
"time": "1772743740"
},
"departure": {
"time": "1772743740"
},
"stopId": "PSMMBR2",
"stopSequence": 3
},
{
"arrival": {
"time": "1772744280"
},
"departure": {
"time": "1772744280"
},
"stopId": "PSMCHM2",
"stopSequence": 7
}
],
"timestamp": "1772740141",
"trip": {
"directionId": 1,
"routeId": "A1",
"tripId": "2632"
}
}
},
{
"id": "SM:2633",
"tripUpdate": {
"stopTimeUpdate": [
{
"arrival": {
"time": "1772746140"
},
"departure": {
"time": "1772746140"
},
"stopId": "PSMMBR1",
"stopSequence": 6
},
{
"arrival": {
"time": "1772746320"
},
"departure": {
"time": "1772746320"
},
"stopId": "PSMCBR1",
"stopSequence": 9
}
],
"timestamp": "1772742542",
"trip": {
"routeId": "A1",
"tripId": "2633"
}
}
},
{
"id": "SM:2666",
"tripUpdate": {
"stopTimeUpdate": [
{
"arrival": {
"time": "1772741460"
},
"departure": {
"time": "1772741460"
},
"stopId": "PSMVMT2",
"stopSequence": 2
},
{
"arrival": {
"time": "1772741729"
},
"departure": {
"time": "1772741760"
},
"stopId": "PSMMRI2",
"stopSequence": 4
},
{
"arrival": {
"delay": 16,
"time": "1772741908"
},
"departure": {
"delay": 16,
"time": "1772741956"
},
"stopId": "PSMBAT2",
"stopSequence": 5
},
{
"arrival": {
"delay": 787,
"time": "1772742847"
},
"departure": {
"delay": 787,
"time": "1772742847"
},
"scheduleRelationship": "SKIPPED",
"stopId": "PSMECL1",
"stopSequence": 6
},
{
"arrival": {
"delay": 787,
"time": "1772742907"
},
"departure": {
"delay": 787,
"time": "1772742907"
},
"scheduleRelationship": "SKIPPED",
"stopId": "PSMOUR1",
"stopSequence": 7
},
{
"arrival": {
"delay": 824,
"time": "1772743004"
},
"departure": {
"delay": 824,
"time": "1772743004"
},
"scheduleRelationship": "SKIPPED",
"stopId": "PSMPLA2",
"stopSequence": 8
},
{
"arrival": {
"delay": 835,
"time": "1772743075"
},
"departure": {
"delay": 835,
"time": "1772743075"
},
"scheduleRelationship": "SKIPPED",
"stopId": "PSMCDG1",
"stopSequence": 9
},
{
"arrival": {
"delay": 835,
"time": "1772743135"
},
"departure": {
"delay": 835,
"time": "1772743135"
},
"scheduleRelationship": "SKIPPED",
"stopId": "PSMVMO1",
"stopSequence": 10
},
{
"arrival": {
"delay": 835,
"time": "1772743195"
},
"departure": {
"delay": 835,
"time": "1772743195"
},
"scheduleRelationship": "SKIPPED",
"stopId": "PSMCOU1",
"stopSequence": 11
}
],
"timestamp": "1772741487",
"trip": {
"directionId": 1,
"routeId": "A2",
"tripId": "2666"
}
}
},
{
"id": "SM:2667",
"tripUpdate": {
"stopTimeUpdate": [
{
"departure": {
"delay": 10,
"time": "1772742970"
},
"stopId": "PSMGAR1",
"stopSequence": 1
},
{
"arrival": {
"time": "1772743380"
},
"departure": {
"time": "1772743380"
},
"stopId": "PSMECL1",
"stopSequence": 3
},
{
"arrival": {
"time": "1772743440"
},
"departure": {
"time": "1772743440"
},
"stopId": "PSMOUR1",
"stopSequence": 4
},
{
"arrival": {
"time": "1772743560"
},
"departure": {
"time": "1772743560"
},
"stopId": "PSMCDG1",
"stopSequence": 6
},
{
"arrival": {
"time": "1772744280"
},
"departure": {
"time": "1772744280"
},
"stopId": "PSMVMT1",
"stopSequence": 12
}
],
"timestamp": "1772742988",
"trip": {
"routeId": "A2",
"tripId": "2667"
}
}
},
{
"id": "SM:2693",
"tripUpdate": {
"stopTimeUpdate": [
{
"departure": {
"delay": 72,
"time": "1772740932"
},
"stopId": "PSMAUV2",
"stopSequence": 1
},
{
"arrival": {
"delay": 57,
"time": "1772741097"
},
"departure": {
"delay": 57,
"time": "1772741097"
},
"stopId": "LAGDUP1",
"stopSequence": 2
},
{
"arrival": {
"delay": -20,
"time": "1772741260"
},
"departure": {
"delay": -20,
"time": "1772741260"
},
"stopId": "LAGVER2",
"stopSequence": 3
},
{
"arrival": {
"delay": 13,
"time": "1772741533"
},
"departure": {
"delay": 13,
"time": "1772741533"
},
"stopId": "PSMGAR2",
"stopSequence": 4
},
{
"arrival": {
"delay": 220,
"time": "1772741920"
},
"departure": {
"delay": 220,
"time": "1772741920"
},
"stopId": "PSMPOM2",
"stopSequence": 5
},
{
"arrival": {
"delay": 109,
"time": "1772741929"
},
"departure": {
"delay": 109,
"time": "1772741929"
},
"stopId": "PSMCER2",
"stopSequence": 6
},
{
"arrival": {
"delay": 78,
"time": "1772742018"
},
"departure": {
"delay": 78,
"time": "1772742018"
},
"stopId": "PSMSAL2",
"stopSequence": 7
},
{
"arrival": {
"delay": 28,
"time": "1772742028"
},
"departure": {
"delay": 28,
"time": "1772742028"
},
"stopId": "PSMPAP2",
"stopSequence": 8
},
{
"arrival": {
"delay": 19,
"time": "1772742079"
},
"departure": {
"delay": 19,
"time": "1772742079"
},
"stopId": "PSMART2",
"stopSequence": 9
},
{
"arrival": {
"delay": -10,
"time": "1772742110"
},
"departure": {
"delay": -10,
"time": "1772742110"
},
"stopId": "PSMZIN1",
"stopSequence": 10
},
{
"arrival": {
"delay": 78,
"time": "1772742438"
},
"departure": {
"delay": 78,
"time": "1772742438"
},
"stopId": "BRLMAI2",
"stopSequence": 11
},
{
"arrival": {
"delay": 109,
"time": "1772742503"
},
"departure": {
"delay": 109,
"time": "1772742529"
},
"stopId": "BRLMON2",
"stopSequence": 12
},
{
"arrival": {
"delay": 39,
"time": "1772742579"
},
"stopId": "BRLBVI2",
"stopSequence": 13
}
],
"timestamp": "1772740962",
"trip": {
"directionId": 1,
"routeId": "B",
"tripId": "2693"
}
}
},
{
"id": "SM:2746",
"tripUpdate": {
"stopTimeUpdate": [
{
"arrival": {
"time": "1772743740"
},
"departure": {
"time": "1772743740"
},
"stopId": "SMLRNN1",
"stopSequence": 2
},
{
"arrival": {
"time": "1772744820"
},
"stopId": "PSMGAR1",
"stopSequence": 7
}
],
"timestamp": "1772740142",
"trip": {
"routeId": "D",
"tripId": "2746"
}
}
},
{
"id": "SM:2747",
"tripUpdate": {
"stopTimeUpdate": [
{
"departure": {
"time": "1772745540"
},
"stopId": "PSMGAR1",
"stopSequence": 1
},
{
"arrival": {
"time": "1772745960"
},
"departure": {
"time": "1772745960"
},
"stopId": "PSMAUV2",
"stopSequence": 2
},
{
"arrival": {
"time": "1772746080"
},
"departure": {
"time": "1772746080"
},
"stopId": "PSMVHA1",
"stopSequence": 3
},
{
"arrival": {
"time": "1772746200"
},
"departure": {
"time": "1772746200"
},
"stopId": "PSMAUV1",
"stopSequence": 4
}
],
"timestamp": "1772741943",
"trip": {
"directionId": 1,
"routeId": "D",
"tripId": "2747"
}
}
}
],
"header": {
"gtfsRealtimeVersion": "1.0",
"timestamp": "1772743405"
}
}