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
❌1 error, 6 warnings
Validation carried out using the current GTFS file and the GTFS-RT the 2026-07-20 at 09:10 Europe/Paris using the MobilityData GTFS-RT validator.
Errors
timestamp is in the future E050 1 error
All timestamps must be less than the current time
Sample errors
- header.timestamp 09:11:43 (1784531503) is 1 min 20 sec greater than 09:10:22 (1784531422721) - the current time in milliseconds
Warnings
vehicle_id not populated W002 2 errors
vehicle_id should be populated for TripUpdates and VehiclePositions
Sample errors
- trip_id ATOUMOD012:ServiceJourney:100000284:LOC does not have a vehicle_id
- trip_id ATOUMOD012:ServiceJourney:100000208:LOC does not have a vehicle_id
schedule_relationship not populated W009 4 errors
trip.schedule_relationship and stop_time_update.schedule_relationship should be populated
Sample errors
- trip_id ATOUMOD012:ServiceJourney:100000284:LOC stop_sequence 6 (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
- trip_id ATOUMOD012:ServiceJourney:100000208:LOC 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 | 84 | 24 times (80 % of validations) |
| W009 | trip.schedule_relationship and stop_time_update.schedule_relationship should be populated | 168 | 24 times (80 % of validations) |
| E050 | All timestamps must be less than the current time | 14 | 14 times (47 % 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-07-20 at 16:29 Europe/Paris.
trip_updates (4) 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-20 at 16:29 Europe/Paris. You can look at the GTFS-RT documentation.
{
"entity": [
{
"id": "SM:ATOUMOD012:ServiceJourney:100000319:LOC",
"tripUpdate": {
"stopTimeUpdate": [
{
"arrival": {
"delay": 51,
"time": "1784557491"
},
"departure": {
"delay": 51,
"time": "1784557491"
},
"stopId": "FR:76758:ZE:YVETOTxxxJeanxX:ATOUMOD012",
"stopSequence": 8
},
{
"arrival": {
"delay": 51,
"time": "1784557671"
},
"stopId": "FR:76758:ZE:YVETOTxxxGarex1:ATOUMOD012",
"stopSequence": 9
}
],
"timestamp": "1784557452",
"trip": {
"directionId": 1,
"routeId": "ATOUMOD012:Line:2:LOC",
"tripId": "ATOUMOD012:ServiceJourney:100000319:LOC"
}
}
},
{
"id": "SM:ATOUMOD012:ServiceJourney:100000288:LOC",
"tripUpdate": {
"stopTimeUpdate": [
{
"departure": {
"time": "1784559900"
},
"stopId": "FR:76758:ZE:YVETOTxxxGarex1:ATOUMOD012",
"stopSequence": 1
},
{
"arrival": {
"time": "1784560140"
},
"departure": {
"time": "1784560140"
},
"stopId": "FR:76758:ZE:YVETOTxxxPlace:ATOUMOD012",
"stopSequence": 2
},
{
"arrival": {
"time": "1784560260"
},
"departure": {
"time": "1784560260"
},
"stopId": "FR:76758:ZE:YVETOTxxxRuexFx:ATOUMOD012",
"stopSequence": 3
},
{
"arrival": {
"time": "1784560320"
},
"departure": {
"time": "1784560320"
},
"stopId": "FR:76758:ZE:YVETOTxxxRuexDu:ATOUMOD012",
"stopSequence": 4
},
{
"arrival": {
"time": "1784560440"
},
"departure": {
"time": "1784560440"
},
"stopId": "FR:76043:ZE:AUZEBOSCxxxLycx:ATOUMOD012",
"stopSequence": 5
},
{
"arrival": {
"time": "1784560620"
},
"departure": {
"time": "1784560620"
},
"stopId": "FR:76043:ZE:AUZEBOSCxxxLexC:ATOUMOD012",
"stopSequence": 6
},
{
"arrival": {
"time": "1784560740"
},
"departure": {
"time": "1784560740"
},
"stopId": "FR:76758:ZE:YVETOTxxxRuexCo:ATOUMOD012",
"stopSequence": 7
},
{
"arrival": {
"time": "1784560860"
},
"departure": {
"time": "1784560860"
},
"stopId": "FR:76758:ZE:YVETOTxxxRuexCl:ATOUMOD012",
"stopSequence": 8
},
{
"arrival": {
"time": "1784560920"
},
"departure": {
"time": "1784560920"
},
"stopId": "FR:76758:ZE:YVETOTxxxClosxD:ATOUMOD012",
"stopSequence": 9
},
{
"arrival": {
"time": "1784560980"
},
"departure": {
"time": "1784560980"
},
"stopId": "FR:76758:ZE:YVETOTxxxRuexD2:ATOUMOD012",
"stopSequence": 10
},
{
"arrival": {
"time": "1784561040"
},
"departure": {
"time": "1784561040"
},
"stopId": "FR:76758:ZE:YVETOTxxxFortxR:ATOUMOD012",
"stopSequence": 11
},
{
"arrival": {
"time": "1784561100"
},
"departure": {
"time": "1784561100"
},
"stopId": "FR:76758:ZE:YVETOTxxxRuexNi:ATOUMOD012",
"stopSequence": 12
},
{
"arrival": {
"time": "1784561280"
},
"departure": {
"time": "1784561280"
},
"stopId": "FR:76758:ZE:YVETOTxxxRuexD5:ATOUMOD012",
"stopSequence": 13
},
{
"arrival": {
"time": "1784561340"
},
"departure": {
"time": "1784561340"
},
"stopId": "FR:76758:ZE:YVETOTxxxMusxe:ATOUMOD012",
"stopSequence": 14
},
{
"arrival": {
"time": "1784561520"
},
"stopId": "FR:76758:ZE:YVETOTxxxGarexS:ATOUMOD012",
"stopSequence": 15
}
],
"timestamp": "1784557452",
"trip": {
"directionId": 1,
"routeId": "ATOUMOD012:Line:3:LOC",
"tripId": "ATOUMOD012:ServiceJourney:100000288:LOC"
}
}
},
{
"id": "SM:ATOUMOD012:ServiceJourney:100000359:LOC",
"tripUpdate": {
"stopTimeUpdate": [
{
"departure": {
"time": "1784557680"
},
"stopId": "FR:76758:ZE:YVETOTxxxGarex1:ATOUMOD012",
"stopSequence": 1
},
{
"arrival": {
"time": "1784557920"
},
"departure": {
"time": "1784557920"
},
"stopId": "FR:76758:ZE:YVETOTxxxMairie:ATOUMOD012",
"stopSequence": 2
},
{
"arrival": {
"time": "1784558040"
},
"departure": {
"time": "1784558040"
},
"stopId": "FR:76758:ZE:YVETOTxxxRuexD8:ATOUMOD012",
"stopSequence": 3
},
{
"arrival": {
"time": "1784558100"
},
"departure": {
"time": "1784558100"
},
"stopId": "FR:76758:ZE:YVETOTxxxAvenue:ATOUMOD012",
"stopSequence": 4
},
{
"arrival": {
"time": "1784558220"
},
"departure": {
"time": "1784558220"
},
"stopId": "FR:76758:ZE:YVETOTxxxRefign:ATOUMOD012",
"stopSequence": 5
},
{
"arrival": {
"time": "1784558340"
},
"departure": {
"time": "1784558340"
},
"stopId": "FR:76758:ZE:YVETOTxxxRuexJo:ATOUMOD012",
"stopSequence": 6
},
{
"arrival": {
"time": "1784558460"
},
"departure": {
"time": "1784558460"
},
"stopId": "FR:76758:ZE:YVETOTxxxRuexRo:ATOUMOD012",
"stopSequence": 7
},
{
"arrival": {
"time": "1784558580"
},
"departure": {
"time": "1784558580"
},
"stopId": "FR:76758:ZE:YVETOTxxxRaymon:ATOUMOD012",
"stopSequence": 8
},
{
"arrival": {
"time": "1784558760"
},
"departure": {
"time": "1784558760"
},
"stopId": "FR:76758:ZE:YVETOTxxxAlbert:ATOUMOD012",
"stopSequence": 9
},
{
"arrival": {
"time": "1784558880"
},
"departure": {
"time": "1784558880"
},
"stopId": "FR:76758:ZE:YVETOTxxxRuexR1:ATOUMOD012",
"stopSequence": 10
},
{
"arrival": {
"time": "1784559000"
},
"departure": {
"time": "1784559000"
},
"stopId": "FR:76758:ZE:YVETOTxxxRuexJ1:ATOUMOD012",
"stopSequence": 11
},
{
"arrival": {
"time": "1784559060"
},
"departure": {
"time": "1784559060"
},
"stopId": "FR:76758:ZE:YVETOTxxxAvenu2:ATOUMOD012",
"stopSequence": 12
},
{
"arrival": {
"time": "1784559180"
},
"departure": {
"time": "1784559180"
},
"stopId": "FR:76758:ZE:YVETOTxxxRuexDx:ATOUMOD012",
"stopSequence": 13
},
{
"arrival": {
"delay": 120,
"time": "1784559360"
},
"departure": {
"delay": 120,
"time": "1784559360"
},
"stopId": "FR:76758:ZE:YVETOTxxxRuexD1:ATOUMOD012",
"stopSequence": 14
},
{
"arrival": {
"delay": 180,
"time": "1784559540"
},
"departure": {
"delay": 180,
"time": "1784559540"
},
"stopId": "FR:76758:ZE:YVETOTxxxMusxe:ATOUMOD012",
"stopSequence": 15
},
{
"arrival": {
"delay": 300,
"time": "1784559720"
},
"stopId": "FR:76758:ZE:YVETOTxxxGarexS:ATOUMOD012",
"stopSequence": 16
}
],
"timestamp": "1784557452",
"trip": {
"routeId": "ATOUMOD012:Line:2:LOC",
"tripId": "ATOUMOD012:ServiceJourney:100000359:LOC"
}
}
},
{
"id": "SM:ATOUMOD012:ServiceJourney:100000295:LOC",
"tripUpdate": {
"stopTimeUpdate": [
{
"arrival": {
"delay": 70,
"time": "1784557570"
},
"departure": {
"delay": 70,
"time": "1784557570"
},
"stopId": "FR:76718:ZE:VALLIQUERVILLE1:ATOUMOD012",
"stopSequence": 5
},
{
"arrival": {
"delay": 70,
"time": "1784557990"
},
"stopId": "FR:76758:ZE:YVETOTxxxGarex1:ATOUMOD012",
"stopSequence": 6
}
],
"timestamp": "1784557452",
"trip": {
"routeId": "ATOUMOD012:Line:3:LOC",
"tripId": "ATOUMOD012:ServiceJourney:100000295:LOC"
}
}
}
],
"header": {
"gtfsRealtimeVersion": "1.0",
"timestamp": "1784557772"
}
}