Resource details
GTFS-RT (protobuff) des horaires aux arrêts.
This resource file is part of the dataset Réseau urbain Vikibus.
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
⚠️13 warnings
Validation carried out using the current GTFS file and the GTFS-RT the 2026-07-10 at 09:02 Europe/Paris using the MobilityData GTFS-RT validator.
Warnings
vehicle_id not populated W002 4 errors
vehicle_id should be populated for TripUpdates and VehiclePositions
Sample errors
- trip_id ATOUMOD012:ServiceJourney:100000326:LOC does not have a vehicle_id
- trip_id ATOUMOD012:ServiceJourney:100000284:LOC does not have a vehicle_id
- trip_id ATOUMOD012:ServiceJourney:100000208:LOC does not have a vehicle_id
- trip_id ATOUMOD012:ServiceJourney:100000346:LOC 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 1 min 29 sec old which is greater than the recommended age of 65 seconds
schedule_relationship not populated W009 8 errors
trip.schedule_relationship and stop_time_update.schedule_relationship should be populated
Sample errors
- trip_id ATOUMOD012:ServiceJourney:100000326:LOC stop_sequence 13 (and potentially more for this trip) does not have a schedule_relationship
- trip_id ATOUMOD012:ServiceJourney:100000326:LOC does not have a schedule_relationship
- trip_id ATOUMOD012:ServiceJourney:100000284:LOC stop_sequence 2 (and potentially more for this trip) does not have a schedule_relationship
- trip_id ATOUMOD012:ServiceJourney:100000284:LOC does not have a schedule_relationship
- trip_id ATOUMOD012:ServiceJourney:100000208:LOC 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 | 100 | 26 times (87 % of validations) |
| W009 | trip.schedule_relationship and stop_time_update.schedule_relationship should be populated | 200 | 26 times (87 % of validations) |
| E050 | All timestamps must be less than the current time | 13 | 13 times (43 % 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-07-10 at 17:52 Europe/Paris.
trip_updates (6) 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-07-10 at 17:52 Europe/Paris. You can look at the GTFS-RT documentation.
{
"entity": [
{
"id": "SM:ATOUMOD012:ServiceJourney:100000322:LOC",
"tripUpdate": {
"stopTimeUpdate": [
{
"arrival": {
"delay": 55,
"time": "1783698595"
},
"departure": {
"delay": 55,
"time": "1783698595"
},
"stopId": "FR:76610:ZE:SAINTExMARIExD5:ATOUMOD012",
"stopSequence": 12
},
{
"arrival": {
"delay": 55,
"time": "1783698655"
},
"departure": {
"delay": 55,
"time": "1783698655"
},
"stopId": "FR:76610:ZE:SAINTExMARIExD6:ATOUMOD012",
"stopSequence": 13
},
{
"arrival": {
"delay": 55,
"time": "1783698715"
},
"stopId": "FR:76610:ZE:SAINTExMARIExD4:ATOUMOD012",
"stopSequence": 14
}
],
"timestamp": "1783698651",
"trip": {
"directionId": 1,
"routeId": "ATOUMOD012:Line:1:LOC",
"tripId": "ATOUMOD012:ServiceJourney:100000322:LOC"
}
}
},
{
"id": "SM:ATOUMOD012:ServiceJourney:100000334:LOC",
"tripUpdate": {
"stopTimeUpdate": [
{
"departure": {
"time": "1783699680"
},
"stopId": "FR:76758:ZE:YVETOTxxxGarexS:ATOUMOD012",
"stopSequence": 1
},
{
"arrival": {
"time": "1783699800"
},
"departure": {
"time": "1783699800"
},
"stopId": "FR:76758:ZE:YVETOTxxxRuexDe:ATOUMOD012",
"stopSequence": 2
},
{
"arrival": {
"time": "1783699860"
},
"departure": {
"time": "1783699860"
},
"stopId": "FR:76758:ZE:YVETOTxxxRuexD6:ATOUMOD012",
"stopSequence": 3
},
{
"arrival": {
"time": "1783699980"
},
"departure": {
"time": "1783699980"
},
"stopId": "FR:76758:ZE:YVETOTxxxRuexD7:ATOUMOD012",
"stopSequence": 4
},
{
"arrival": {
"time": "1783700040"
},
"departure": {
"time": "1783700040"
},
"stopId": "FR:76758:ZE:YVETOTxxxRuexD4:ATOUMOD012",
"stopSequence": 5
},
{
"arrival": {
"time": "1783700100"
},
"departure": {
"time": "1783700100"
},
"stopId": "FR:76758:ZE:YVETOTxxxRuexD3:ATOUMOD012",
"stopSequence": 6
},
{
"arrival": {
"time": "1783700280"
},
"departure": {
"time": "1783700280"
},
"stopId": "FR:76610:ZE:SAINTExMARIExD3:ATOUMOD012",
"stopSequence": 7
},
{
"arrival": {
"time": "1783700400"
},
"departure": {
"time": "1783700400"
},
"stopId": "FR:76758:ZE:YVETOTxxxRuexMa:ATOUMOD012",
"stopSequence": 8
},
{
"arrival": {
"time": "1783700520"
},
"departure": {
"time": "1783700520"
},
"stopId": "FR:76758:ZE:YVETOTxxxJeanxX:ATOUMOD012",
"stopSequence": 9
},
{
"arrival": {
"time": "1783700700"
},
"stopId": "FR:76758:ZE:YVETOTxxxGarex1:ATOUMOD012",
"stopSequence": 10
}
],
"timestamp": "1783698651",
"trip": {
"directionId": 1,
"routeId": "ATOUMOD012:Line:2:LOC",
"tripId": "ATOUMOD012:ServiceJourney:100000334:LOC"
}
}
},
{
"id": "SM:ATOUMOD012:ServiceJourney:100000289:LOC",
"tripUpdate": {
"stopTimeUpdate": [
{
"departure": {
"time": "1783699800"
},
"stopId": "FR:76758:ZE:YVETOTxxxGarex1:ATOUMOD012",
"stopSequence": 1
},
{
"arrival": {
"time": "1783700040"
},
"departure": {
"time": "1783700040"
},
"stopId": "FR:76758:ZE:YVETOTxxxPlace:ATOUMOD012",
"stopSequence": 2
},
{
"arrival": {
"time": "1783700160"
},
"departure": {
"time": "1783700160"
},
"stopId": "FR:76758:ZE:YVETOTxxxRuexFx:ATOUMOD012",
"stopSequence": 3
},
{
"arrival": {
"time": "1783700220"
},
"departure": {
"time": "1783700220"
},
"stopId": "FR:76758:ZE:YVETOTxxxRuexDu:ATOUMOD012",
"stopSequence": 4
},
{
"arrival": {
"time": "1783700340"
},
"departure": {
"time": "1783700340"
},
"stopId": "FR:76043:ZE:AUZEBOSCxxxLycx:ATOUMOD012",
"stopSequence": 5
},
{
"arrival": {
"time": "1783700520"
},
"departure": {
"time": "1783700520"
},
"stopId": "FR:76043:ZE:AUZEBOSCxxxLexC:ATOUMOD012",
"stopSequence": 6
},
{
"arrival": {
"time": "1783700640"
},
"departure": {
"time": "1783700640"
},
"stopId": "FR:76758:ZE:YVETOTxxxRuexCo:ATOUMOD012",
"stopSequence": 7
},
{
"arrival": {
"time": "1783700760"
},
"departure": {
"time": "1783700760"
},
"stopId": "FR:76758:ZE:YVETOTxxxRuexCl:ATOUMOD012",
"stopSequence": 8
},
{
"arrival": {
"time": "1783700820"
},
"departure": {
"time": "1783700820"
},
"stopId": "FR:76758:ZE:YVETOTxxxClosxD:ATOUMOD012",
"stopSequence": 9
},
{
"arrival": {
"time": "1783700880"
},
"departure": {
"time": "1783700880"
},
"stopId": "FR:76758:ZE:YVETOTxxxRuexD2:ATOUMOD012",
"stopSequence": 10
},
{
"arrival": {
"time": "1783700940"
},
"departure": {
"time": "1783700940"
},
"stopId": "FR:76758:ZE:YVETOTxxxFortxR:ATOUMOD012",
"stopSequence": 11
},
{
"arrival": {
"time": "1783701000"
},
"departure": {
"time": "1783701000"
},
"stopId": "FR:76758:ZE:YVETOTxxxRuexNi:ATOUMOD012",
"stopSequence": 12
},
{
"arrival": {
"time": "1783701180"
},
"departure": {
"time": "1783701180"
},
"stopId": "FR:76758:ZE:YVETOTxxxRuexD5:ATOUMOD012",
"stopSequence": 13
},
{
"arrival": {
"time": "1783701240"
},
"departure": {
"time": "1783701240"
},
"stopId": "FR:76758:ZE:YVETOTxxxMusxe:ATOUMOD012",
"stopSequence": 14
},
{
"arrival": {
"time": "1783701420"
},
"stopId": "FR:76758:ZE:YVETOTxxxGarexS:ATOUMOD012",
"stopSequence": 15
}
],
"timestamp": "1783698651",
"trip": {
"directionId": 1,
"routeId": "ATOUMOD012:Line:3:LOC",
"tripId": "ATOUMOD012:ServiceJourney:100000289:LOC"
}
}
},
{
"id": "SM:ATOUMOD012:ServiceJourney:100000360:LOC",
"tripUpdate": {
"stopTimeUpdate": [
{
"arrival": {
"delay": 109,
"time": "1783698769"
},
"departure": {
"delay": 109,
"time": "1783698769"
},
"stopId": "FR:76758:ZE:YVETOTxxxRuexR1:ATOUMOD012",
"stopSequence": 10
},
{
"arrival": {
"delay": 109,
"time": "1783698889"
},
"departure": {
"delay": 109,
"time": "1783698889"
},
"stopId": "FR:76758:ZE:YVETOTxxxRuexJ1:ATOUMOD012",
"stopSequence": 11
},
{
"arrival": {
"delay": 109,
"time": "1783698949"
},
"departure": {
"delay": 109,
"time": "1783698949"
},
"stopId": "FR:76758:ZE:YVETOTxxxAvenu2:ATOUMOD012",
"stopSequence": 12
},
{
"arrival": {
"delay": 109,
"time": "1783699069"
},
"departure": {
"delay": 109,
"time": "1783699069"
},
"stopId": "FR:76758:ZE:YVETOTxxxRuexDx:ATOUMOD012",
"stopSequence": 13
},
{
"arrival": {
"delay": 109,
"time": "1783699249"
},
"departure": {
"delay": 109,
"time": "1783699249"
},
"stopId": "FR:76758:ZE:YVETOTxxxRuexD1:ATOUMOD012",
"stopSequence": 14
},
{
"arrival": {
"delay": 109,
"time": "1783699429"
},
"departure": {
"delay": 109,
"time": "1783699429"
},
"stopId": "FR:76758:ZE:YVETOTxxxMusxe:ATOUMOD012",
"stopSequence": 15
},
{
"arrival": {
"delay": 109,
"time": "1783699609"
},
"stopId": "FR:76758:ZE:YVETOTxxxGarexS:ATOUMOD012",
"stopSequence": 16
}
],
"timestamp": "1783698651",
"trip": {
"routeId": "ATOUMOD012:Line:2:LOC",
"tripId": "ATOUMOD012:ServiceJourney:100000360:LOC"
}
}
},
{
"id": "SM:ATOUMOD012:ServiceJourney:100000344:LOC",
"tripUpdate": {
"stopTimeUpdate": [
{
"departure": {
"time": "1783699440"
},
"stopId": "FR:76610:ZE:SAINTExMARIExD4:ATOUMOD012",
"stopSequence": 1
},
{
"arrival": {
"time": "1783699620"
},
"departure": {
"time": "1783699620"
},
"stopId": "FR:76610:ZE:SAINTExMARIExD1:ATOUMOD012",
"stopSequence": 2
},
{
"arrival": {
"time": "1783699740"
},
"departure": {
"time": "1783699740"
},
"stopId": "FR:76610:ZE:SAINTExMARIExD2:ATOUMOD012",
"stopSequence": 3
},
{
"arrival": {
"time": "1783699800"
},
"departure": {
"time": "1783699800"
},
"stopId": "FR:76610:ZE:SAINTExMARIExDE:ATOUMOD012",
"stopSequence": 4
},
{
"arrival": {
"time": "1783699860"
},
"departure": {
"time": "1783699860"
},
"stopId": "FR:76758:ZE:YVETOTxxxCentre:ATOUMOD012",
"stopSequence": 5
},
{
"arrival": {
"time": "1783699920"
},
"departure": {
"time": "1783699920"
},
"stopId": "FR:76758:ZE:YVETOTxxxAvenu1:ATOUMOD012",
"stopSequence": 6
},
{
"arrival": {
"time": "1783700160"
},
"departure": {
"time": "1783700160"
},
"stopId": "FR:76758:ZE:YVETOTxxxAlbert:ATOUMOD012",
"stopSequence": 7
},
{
"arrival": {
"time": "1783700340"
},
"departure": {
"time": "1783700340"
},
"stopId": "FR:76758:ZE:YVETOTxxxSalle:ATOUMOD012",
"stopSequence": 8
},
{
"arrival": {
"time": "1783700400"
},
"departure": {
"time": "1783700400"
},
"stopId": "FR:76758:ZE:YVETOTxxxPierrexVarinx2:ATOUMOD012",
"stopSequence": 9
},
{
"arrival": {
"time": "1783700700"
},
"departure": {
"time": "1783700700"
},
"stopId": "FR:76758:ZE:YVETOTxxxJeanxX:ATOUMOD012",
"stopSequence": 10
},
{
"arrival": {
"time": "1783700880"
},
"stopId": "FR:76758:ZE:YVETOTxxxGarexS:ATOUMOD012",
"stopSequence": 11
}
],
"timestamp": "1783698651",
"trip": {
"routeId": "ATOUMOD012:Line:1:LOC",
"tripId": "ATOUMOD012:ServiceJourney:100000344:LOC"
}
}
},
{
"id": "SM:ATOUMOD012:ServiceJourney:100000296:LOC",
"tripUpdate": {
"stopTimeUpdate": [
{
"arrival": {
"delay": -64,
"time": "1783698776"
},
"stopId": "FR:76758:ZE:YVETOTxxxGarex1:ATOUMOD012",
"stopSequence": 6
}
],
"timestamp": "1783698651",
"trip": {
"routeId": "ATOUMOD012:Line:3:LOC",
"tripId": "ATOUMOD012:ServiceJourney:100000296:LOC"
}
}
}
],
"header": {
"gtfsRealtimeVersion": "1.0",
"timestamp": "1783698757"
}
}