Resource details
Données temps-réel du réseau L’va suivant la structure GTFS-RT au format Protocol Buffers.
This resource file is part of the dataset Réseau urbain L'va.
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
⚠️2 warnings
Validation carried out using the current GTFS file and the GTFS-RT the 2025-11-19 at 08:00 Europe/Paris using the MobilityData GTFS-RT validator.
Warnings
vehicle_id not populated W002 1 error
vehicle_id should be populated for TripUpdates and VehiclePositions
Sample errors
- trip_id 900000314 does not have a vehicle_id
ID in one feed missing from the other W003 1 error
a trip_id that is provided in the VehiclePositions feed should be provided in the TripUpdates feed, and a vehicle_id that is provided in the TripUpdates feed should be provided in the VehiclePositions feed
Sample errors
- trip_id 900000314 is in TripUpdates but not in VehiclePositions feed
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 | 55 | 21 times (70 % of validations) |
| W003 | a trip_id that is provided in the VehiclePositions feed should be provided in the TripUpdates feed, and a vehicle_id that is provided in the TripUpdates feed should be provided in the VehiclePositions feed | 94 | 21 times (70 % of validations) |
| E029 | The vehicle position should be within a certain distance of the GTFS shapes.txt data for the current trip unless there is a Service Alert with the Effect of DETOUR for this trip_id. | 16 | 11 times (37 % of validations) |
| E022 | stop_time_update arrival/departure times between sequential stops should always increase - they should never be the same or decrease. | 2 | 1 times (3 % of validations) |
| E041 | Unless a trip's schedule_relationship is CANCELED, a trip must have at least one stop_time_update | 1 | 1 times (3 % of validations) |
GTFS-RT feed content
Entities
Entities present in this feed at 2025-11-20 at 05:06 Europe/Paris.
vehicle_positions (1) trip_updates (1) service_alerts (0)Entities seen in the last 7 days.
trip_updates vehicle_positionsDecoded GTFS-RT feed
See full payload
Here is the decoded GTFS-RT feed Protobuf at 2025-11-20 at 05:06 Europe/Paris. You can look at the GTFS-RT documentation.
{
"entity": [
{
"id": "trip-800001089",
"tripUpdate": {
"delay": 0,
"stopTimeUpdate": [
{
"arrival": {
"delay": -469,
"time": "1763611390"
},
"departure": {
"delay": -469
},
"stopId": "vieccom2",
"stopSequence": 1
},
{
"arrival": {
"delay": 0
},
"departure": {
"delay": 0
},
"stopId": "viezies2",
"stopSequence": 2
},
{
"arrival": {
"delay": 0
},
"departure": {
"delay": 0
},
"stopId": "viebern2",
"stopSequence": 3
},
{
"arrival": {
"delay": 0
},
"departure": {
"delay": 0
},
"stopId": "viesavo2",
"stopSequence": 4
},
{
"arrival": {
"delay": 0
},
"departure": {
"delay": 0
},
"stopId": "viecent2",
"stopSequence": 5
},
{
"arrival": {
"delay": 0
},
"departure": {
"delay": 0
},
"stopId": "viecuri2",
"stopSequence": 6
},
{
"arrival": {
"delay": 0
},
"departure": {
"delay": 0
},
"stopId": "viecite2",
"stopSequence": 7
},
{
"arrival": {
"delay": 0
},
"departure": {
"delay": 0
},
"stopId": "viegest2",
"stopSequence": 8
},
{
"arrival": {
"delay": 0
},
"departure": {
"delay": 0
},
"stopId": "vieprin2",
"stopSequence": 9
},
{
"arrival": {
"delay": 0
},
"departure": {
"delay": 0
},
"stopId": "vierey2",
"stopSequence": 10
},
{
"arrival": {
"delay": 0
},
"departure": {
"delay": 0
},
"stopId": "vieteur2",
"stopSequence": 11
},
{
"arrival": {
"delay": 0
},
"departure": {
"delay": 0
},
"stopId": "viejeud2",
"stopSequence": 12
},
{
"arrival": {
"delay": 0
},
"departure": {
"delay": 0
},
"stopId": "viesncf",
"stopSequence": 13
},
{
"arrival": {
"delay": 0
},
"departure": {
"delay": 0
},
"stopId": "viecybe2",
"stopSequence": 14
},
{
"arrival": {
"delay": 0
},
"departure": {
"delay": 0
},
"stopId": "viechor2",
"stopSequence": 15
},
{
"arrival": {
"delay": 0
},
"departure": {
"delay": 0
},
"stopId": "vierava2",
"stopSequence": 16
},
{
"arrival": {
"delay": 0
},
"departure": {
"delay": 0
},
"stopId": "viechar2",
"stopSequence": 17
},
{
"arrival": {
"delay": 0
},
"departure": {
"delay": 0
},
"stopId": "vieceva2",
"stopSequence": 18
},
{
"arrival": {
"delay": 0
},
"departure": {
"delay": 0
},
"stopId": "ponvega2",
"stopSequence": 19
},
{
"arrival": {
"delay": 0
},
"departure": {
"delay": 0
},
"stopId": "ponforg2",
"stopSequence": 20
},
{
"arrival": {
"delay": 0
},
"departure": {
"delay": 0
},
"stopId": "ponbleu2",
"stopSequence": 21
},
{
"arrival": {
"delay": 0
},
"departure": {
"delay": 0
},
"stopId": "poncent2",
"stopSequence": 22
},
{
"arrival": {
"delay": 0
},
"departure": {
"delay": 0
},
"stopId": "ponmesa2",
"stopSequence": 23
},
{
"arrival": {
"delay": 0
},
"departure": {
"delay": 0
},
"stopId": "pongent2",
"stopSequence": 24
},
{
"arrival": {
"delay": 0
},
"departure": {
"delay": 0
},
"stopId": "ponplan2",
"stopSequence": 25
},
{
"arrival": {
"delay": 0
},
"departure": {
"delay": 0
},
"stopId": "ponbras2",
"stopSequence": 26
},
{
"arrival": {
"delay": 0
},
"departure": {
"delay": 0
},
"stopId": "poncour2",
"stopSequence": 27
},
{
"arrival": {
"delay": 0
},
"departure": {
"delay": 0
},
"stopId": "ponzmon2",
"stopSequence": 28
},
{
"arrival": {
"delay": 0
},
"departure": {
"delay": 0
},
"stopId": "ponfrer2",
"stopSequence": 29
},
{
"arrival": {
"delay": 0
},
"departure": {
"delay": 0
},
"stopId": "ponabb2",
"stopSequence": 30
},
{
"arrival": {
"delay": 0
},
"departure": {
"delay": 0
},
"stopId": "vierond2",
"stopSequence": 31
},
{
"arrival": {
"delay": 0
},
"departure": {
"delay": 0
},
"stopId": "viecedr2",
"stopSequence": 32
},
{
"arrival": {
"delay": 0
},
"departure": {
"delay": 0
},
"stopId": "viehorl2",
"stopSequence": 33
},
{
"arrival": {
"delay": 0
},
"departure": {
"delay": 0
},
"stopId": "vieferm2",
"stopSequence": 34
},
{
"arrival": {
"delay": 0
},
"departure": {
"delay": 0
},
"stopId": "viehame2",
"stopSequence": 35
},
{
"arrival": {
"delay": 0
},
"departure": {
"delay": 0
},
"stopId": "viemali2",
"stopSequence": 36
},
{
"arrival": {
"delay": 0
},
"departure": {
"delay": 0
},
"stopId": "viesmal2",
"stopSequence": 37
}
],
"timestamp": "1763611593",
"trip": {
"directionId": 1,
"routeId": "1",
"scheduleRelationship": "SCHEDULED",
"startTime": "05:11:00",
"tripId": "800001089"
},
"vehicle": {
"id": "vienne-93",
"label": "93",
"licensePlate": ""
}
}
},
{
"id": "vehicle-vienne-93",
"vehicle": {
"currentStatus": "STOPPED_AT",
"currentStopSequence": 1,
"position": {
"bearing": 169.0,
"latitude": 45.54225540161133,
"longitude": 4.850321292877197,
"speed": 0.0
},
"stopId": "vieccom2",
"timestamp": "1763611589",
"trip": {
"directionId": 1,
"routeId": "1",
"scheduleRelationship": "SCHEDULED",
"tripId": "800001089"
},
"vehicle": {
"id": "vienne-93",
"label": "93",
"licensePlate": ""
}
}
}
],
"header": {
"gtfsRealtimeVersion": "2.0",
"timestamp": "1763611609"
}
}