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
⚠️34 warnings
Validation carried out using the current GTFS file and the GTFS-RT the 2026-01-19 at 08:07 Europe/Paris using the MobilityData GTFS-RT validator.
Warnings
vehicle_id not populated W002 11 errors
vehicle_id should be populated for TripUpdates and VehiclePositions
Sample errors
- trip_id 2603 does not have a vehicle_id
- trip_id 2641 does not have a vehicle_id
- trip_id 2672 does not have a vehicle_id
- trip_id 2673 does not have a vehicle_id
- trip_id 2674 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 6 min 47 sec old which is greater than the recommended age of 65 seconds
schedule_relationship not populated W009 22 errors
trip.schedule_relationship and stop_time_update.schedule_relationship should be populated
Sample errors
- trip_id 2603 stop_sequence 3 (and potentially more for this trip) does not have a schedule_relationship
- trip_id 2603 does not have a schedule_relationship
- trip_id 2641 stop_sequence 1 (and potentially more for this trip) does not have a schedule_relationship
- trip_id 2641 does not have a schedule_relationship
- trip_id 2672 stop_sequence 5 (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 | 260 | 26 times (87 % of validations) |
| W009 | trip.schedule_relationship and stop_time_update.schedule_relationship should be populated | 520 | 26 times (87 % of validations) |
| W008 | The data in a GTFS-realtime feed should always be less than one minute old | 5 | 5 times (17 % of validations) |
| E037 | Sequential GTFS-rt trip stop_time_updates shouldn't have the same stop_id | 3 | 3 times (10 % of validations) |
| E003 | All trip_ids provided in the GTFS-rt feed must exist in the GTFS data, unless the schedule_relationship is ADDED | 19 | 1 times (3 % of validations) |
| E035 | The GTFS-rt trip.trip_id should belong to the specified trip.route_id in GTFS trips.txt | 3 | 1 times (3 % of validations) |
| E045 | If GTFS-rt stop_time_update contains both stop_sequence and stop_id, the values must match the GTFS data in stop_times.txt | 1 | 1 times (3 % of validations) |
GTFS-RT feed content
Entities
Entities present in this feed at 2026-01-19 at 13:07 Europe/Paris.
trip_updates (12) 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-01-19 at 13:07 Europe/Paris. You can look at the GTFS-RT documentation.
{
"entity": [
{
"id": "SM:2614",
"tripUpdate": {
"stopTimeUpdate": [
{
"arrival": {
"delay": -49,
"time": "1768823711"
},
"departure": {
"delay": -49,
"time": "1768823711"
},
"stopId": "PSMSEU2",
"stopSequence": 4
},
{
"arrival": {
"delay": 5,
"time": "1768823885"
},
"departure": {
"delay": 5,
"time": "1768823885"
},
"stopId": "PSMHOP2",
"stopSequence": 5
},
{
"arrival": {
"delay": -57,
"time": "1768824033"
},
"departure": {
"delay": -57,
"time": "1768824063"
},
"stopId": "PSMMRI2",
"stopSequence": 6
},
{
"arrival": {
"delay": -64,
"time": "1768824236"
},
"departure": {
"delay": -64,
"time": "1768824236"
},
"stopId": "PSMCHM2",
"stopSequence": 7
},
{
"arrival": {
"delay": -64,
"time": "1768824416"
},
"stopId": "PSMGAR2",
"stopSequence": 8
}
],
"timestamp": "1768823696",
"trip": {
"directionId": 1,
"routeId": "A1",
"tripId": "2614"
}
}
},
{
"id": "SM:2615",
"tripUpdate": {
"stopTimeUpdate": [
{
"arrival": {
"time": "1768825380"
},
"departure": {
"time": "1768825380"
},
"stopId": "PSMCHM1",
"stopSequence": 2
},
{
"arrival": {
"time": "1768825800"
},
"departure": {
"time": "1768825800"
},
"stopId": "PSMHOP1",
"stopSequence": 4
},
{
"arrival": {
"time": "1768825920"
},
"departure": {
"time": "1768825920"
},
"stopId": "PSMSEU1",
"stopSequence": 5
},
{
"arrival": {
"time": "1768826100"
},
"departure": {
"time": "1768826100"
},
"stopId": "PSMMBR1",
"stopSequence": 6
},
{
"arrival": {
"time": "1768826160"
},
"departure": {
"time": "1768826160"
},
"stopId": "PSMVMT1",
"stopSequence": 7
},
{
"arrival": {
"time": "1768826280"
},
"departure": {
"time": "1768826280"
},
"stopId": "PSMJDF1",
"stopSequence": 8
}
],
"timestamp": "1768821784",
"trip": {
"routeId": "A1",
"tripId": "2615"
}
}
},
{
"id": "SM:2616",
"tripUpdate": {
"stopTimeUpdate": [
{
"arrival": {
"time": "1768827960"
},
"departure": {
"time": "1768827960"
},
"stopId": "PSMSEU2",
"stopSequence": 4
}
],
"timestamp": "1768824366",
"trip": {
"directionId": 1,
"routeId": "A1",
"tripId": "2616"
}
}
},
{
"id": "SM:2649",
"tripUpdate": {
"stopTimeUpdate": [
{
"arrival": {
"time": "1768823700"
},
"departure": {
"time": "1768823700"
},
"stopId": "PSMBAT1",
"stopSequence": 2
},
{
"arrival": {
"time": "1768823820"
},
"departure": {
"time": "1768823820"
},
"stopId": "PSMECL1",
"stopSequence": 3
}
],
"timestamp": "1768820105",
"trip": {
"routeId": "A2",
"tripId": "2649"
}
}
},
{
"id": "SM:2650",
"tripUpdate": {
"stopTimeUpdate": [
{
"departure": {
"time": "1768825020"
},
"stopId": "PSMCOA1",
"stopSequence": 1
},
{
"arrival": {
"time": "1768825800"
},
"departure": {
"time": "1768825800"
},
"stopId": "PSMECL1",
"stopSequence": 6
},
{
"arrival": {
"time": "1768825920"
},
"departure": {
"time": "1768825920"
},
"stopId": "PSMPLA2",
"stopSequence": 8
},
{
"arrival": {
"time": "1768826040"
},
"departure": {
"time": "1768826040"
},
"stopId": "PSMVMO1",
"stopSequence": 10
},
{
"arrival": {
"time": "1768826100"
},
"departure": {
"time": "1768826100"
},
"stopId": "PSMCOU1",
"stopSequence": 11
},
{
"arrival": {
"time": "1768826160"
},
"departure": {
"time": "1768826160"
},
"stopId": "PSMGRE1",
"stopSequence": 12
}
],
"timestamp": "1768821426",
"trip": {
"directionId": 1,
"routeId": "A2",
"tripId": "2650"
}
}
},
{
"id": "SM:2651",
"tripUpdate": {
"stopTimeUpdate": [
{
"departure": {
"time": "1768827120"
},
"stopId": "PSMGAR1",
"stopSequence": 1
},
{
"arrival": {
"time": "1768827660"
},
"departure": {
"time": "1768827660"
},
"stopId": "PSMPLA1",
"stopSequence": 5
}
],
"timestamp": "1768823523",
"trip": {
"routeId": "A2",
"tripId": "2651"
}
}
},
{
"id": "SM:2680",
"tripUpdate": {
"stopTimeUpdate": [
{
"arrival": {
"time": "1768823760"
},
"departure": {
"time": "1768823760"
},
"stopId": "BRLMON1",
"stopSequence": 2
},
{
"arrival": {
"time": "1768823820"
},
"departure": {
"time": "1768823820"
},
"stopId": "BRLMAI1",
"stopSequence": 3
},
{
"arrival": {
"delay": -24,
"time": "1768824336"
},
"departure": {
"delay": -24,
"time": "1768824336"
},
"stopId": "PSMFLA1",
"stopSequence": 6
},
{
"arrival": {
"time": "1768824480"
},
"departure": {
"time": "1768824480"
},
"stopId": "PSMART1",
"stopSequence": 8
},
{
"arrival": {
"time": "1768824600"
},
"departure": {
"time": "1768824600"
},
"stopId": "PSMSAL1",
"stopSequence": 10
},
{
"arrival": {
"time": "1768825020"
},
"departure": {
"time": "1768825020"
},
"stopId": "PSMGAR1",
"stopSequence": 13
}
],
"timestamp": "1768820161",
"trip": {
"routeId": "B",
"tripId": "2680"
}
}
},
{
"id": "SM:2681",
"tripUpdate": {
"stopTimeUpdate": [
{
"arrival": {
"time": "1768826520"
},
"departure": {
"time": "1768826520"
},
"stopId": "LAGDUP1",
"stopSequence": 2
},
{
"arrival": {
"time": "1768826760"
},
"departure": {
"time": "1768826760"
},
"stopId": "LAGVER2",
"stopSequence": 3
},
{
"arrival": {
"time": "1768827180"
},
"departure": {
"time": "1768827180"
},
"stopId": "PSMPOM2",
"stopSequence": 5
},
{
"arrival": {
"time": "1768827960"
},
"departure": {
"time": "1768827960"
},
"stopId": "PSMZIN1",
"stopSequence": 13
}
],
"timestamp": "1768822926",
"trip": {
"directionId": 1,
"routeId": "B",
"tripId": "2681"
}
}
},
{
"id": "SM:2705",
"tripUpdate": {
"stopTimeUpdate": [
{
"arrival": {
"delay": 219,
"time": "1768822669"
},
"departure": {
"delay": 219,
"time": "1768822839"
},
"stopId": "PTPMOR2",
"stopSequence": 2
},
{
"arrival": {
"delay": 46,
"time": "1768823026"
},
"departure": {
"delay": 46,
"time": "1768823026"
},
"stopId": "PTPSTP2",
"stopSequence": 3
},
{
"arrival": {
"delay": 219,
"time": "1768823319"
},
"departure": {
"delay": 219,
"time": "1768823319"
},
"stopId": "PTPSTG2",
"stopSequence": 4
},
{
"arrival": {
"delay": 8,
"time": "1768823468"
},
"departure": {
"delay": 8,
"time": "1768823468"
},
"stopId": "PSMSLT2",
"stopSequence": 6
},
{
"arrival": {
"delay": 8,
"time": "1768823708"
},
"departure": {
"delay": 8,
"time": "1768823708"
},
"stopId": "PSMMRI2",
"stopSequence": 7
},
{
"arrival": {
"delay": -130,
"time": "1768823930"
},
"departure": {
"delay": -130,
"time": "1768823930"
},
"stopId": "PSMFEL2",
"stopSequence": 9
},
{
"arrival": {
"delay": -130,
"time": "1768824110"
},
"stopId": "PSMCOA1",
"stopSequence": 10
}
],
"timestamp": "1768822848",
"trip": {
"directionId": 1,
"routeId": "C",
"tripId": "2705"
}
}
},
{
"id": "SM:2732",
"tripUpdate": {
"stopTimeUpdate": [
{
"arrival": {
"time": "1768826100"
},
"departure": {
"time": "1768826100"
},
"stopId": "PSMAUV1",
"stopSequence": 4
}
],
"timestamp": "1768822500",
"trip": {
"routeId": "D",
"tripId": "2732"
}
}
},
{
"id": "SM:2733",
"tripUpdate": {
"stopTimeUpdate": [
{
"departure": {
"time": "1768827120"
},
"stopId": "PSMGAR1",
"stopSequence": 1
},
{
"arrival": {
"time": "1768827660"
},
"departure": {
"time": "1768827660"
},
"stopId": "PSMVHA1",
"stopSequence": 3
}
],
"timestamp": "1768823523",
"trip": {
"directionId": 1,
"routeId": "D",
"tripId": "2733"
}
}
},
{
"id": "SM:2787",
"tripUpdate": {
"stopTimeUpdate": [
{
"arrival": {
"time": "1768821960"
},
"departure": {
"time": "1768821960"
},
"stopId": "PSMSAL1",
"stopSequence": 4
},
{
"arrival": {
"time": "1768823040"
},
"departure": {
"time": "1768823040"
},
"stopId": "PSMCHM1",
"stopSequence": 8
},
{
"arrival": {
"time": "1768823340"
},
"departure": {
"time": "1768823340"
},
"stopId": "PSMMRI1",
"stopSequence": 9
},
{
"arrival": {
"time": "1768823700"
},
"departure": {
"time": "1768823700"
},
"stopId": "PSMJDF1",
"stopSequence": 12
},
{
"arrival": {
"time": "1768823760"
},
"departure": {
"time": "1768823760"
},
"stopId": "PSMCBR1",
"stopSequence": 13
},
{
"arrival": {
"time": "1768823820"
},
"stopId": "PSMCOA1",
"stopSequence": 14
}
],
"timestamp": "1768818369",
"trip": {
"routeId": "SCO",
"tripId": "2787"
}
}
}
],
"header": {
"gtfsRealtimeVersion": "1.0",
"timestamp": "1768824440"
}
}