Resource details
File name:
L'va - GTFS-RT TripUpdate
Format: gtfs-rt
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
2026-01-16
100%
2026-01-17
100%
2026-01-18
100%
2026-01-19
100%
2026-01-20
100%
2026-01-21
100%
2026-01-22
100%
2026-01-23
100%
2026-01-24
99.3%
2026-01-25
100%
2026-01-26
100%
2026-01-27
100%
2026-01-28
100%
2026-01-29
100%
2026-01-30
100%
2026-01-31
100%
2026-02-01
100%
2026-02-02
100%
2026-02-03
100%
2026-02-04
99.5%
2026-02-05
99.5%
2026-02-06
100%
2026-02-07
100%
2026-02-08
100%
2026-02-09
100%
2026-02-10
100%
2026-02-11
100%
2026-02-12
100%
2026-02-13
100%
2026-02-14
100%
2026-02-15
100%
Learn more
We test this resource download availability every hour by making an HTTP
For SIRI and SIRI Lite feeds, we perform a
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
✅No error detected
Validation carried out using the current GTFS file and the GTFS-RT the 2026-02-15 at 08:05 Europe/Paris using the MobilityData GTFS-RT validator.
Validate this GTFS-RT nowPrevious validations
Here is a recap of all the error types encountered over the last 30 days.
| Error ID | Description | Errors count | Number of occurences |
|---|---|---|---|
| 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 | 63 | 20 times (71 % of validations) |
| W002 | vehicle_id should be populated for TripUpdates and VehiclePositions | 34 | 17 times (61 % 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. | 25 | 11 times (39 % of validations) |
| E041 | Unless a trip's schedule_relationship is CANCELED, a trip must have at least one stop_time_update | 3 | 2 times (7 % of validations) |
GTFS-RT feed content
Entities
Entities present in this feed at 2026-02-15 at 12:52 Europe/Paris.
vehicle_positions (2) trip_updates (2) 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 2026-02-15 at 12:52 Europe/Paris. You can look at the GTFS-RT documentation.
{
"entity": [
{
"id": "trip-1700000086",
"tripUpdate": {
"delay": 169,
"stopTimeUpdate": [
{
"arrival": {
"delay": 169
},
"departure": {
"delay": 169
},
"stopId": "viesncf",
"stopSequence": 13
},
{
"arrival": {
"delay": 169
},
"departure": {
"delay": 169
},
"stopId": "viecybe2",
"stopSequence": 14
},
{
"arrival": {
"delay": 169
},
"departure": {
"delay": 169
},
"stopId": "viechor4",
"stopSequence": 15
},
{
"arrival": {
"delay": 169
},
"departure": {
"delay": 169
},
"stopId": "vierava2",
"stopSequence": 16
},
{
"arrival": {
"delay": 169
},
"departure": {
"delay": 169
},
"stopId": "viechar2",
"stopSequence": 17
},
{
"arrival": {
"delay": 169
},
"departure": {
"delay": 169
},
"stopId": "vieceva2",
"stopSequence": 18
},
{
"arrival": {
"delay": 169
},
"departure": {
"delay": 169
},
"stopId": "ponvega2",
"stopSequence": 19
},
{
"arrival": {
"delay": 169
},
"departure": {
"delay": 169
},
"stopId": "ponforg2",
"stopSequence": 20
},
{
"arrival": {
"delay": 169
},
"departure": {
"delay": 169
},
"stopId": "ponbleu2",
"stopSequence": 21
},
{
"arrival": {
"delay": 169
},
"departure": {
"delay": 169
},
"stopId": "poncent2",
"stopSequence": 22
},
{
"arrival": {
"delay": 169
},
"departure": {
"delay": 169
},
"stopId": "ponmesa2",
"stopSequence": 23
},
{
"arrival": {
"delay": 169
},
"departure": {
"delay": 169
},
"stopId": "pongent2",
"stopSequence": 24
},
{
"arrival": {
"delay": 169
},
"departure": {
"delay": 169
},
"stopId": "ponplan2",
"stopSequence": 25
},
{
"arrival": {
"delay": 169
},
"departure": {
"delay": 169
},
"stopId": "ponbras2",
"stopSequence": 26
},
{
"arrival": {
"delay": 169
},
"departure": {
"delay": 169
},
"stopId": "poncour2",
"stopSequence": 27
},
{
"arrival": {
"delay": 169
},
"departure": {
"delay": 169
},
"stopId": "ponzmon2",
"stopSequence": 28
},
{
"arrival": {
"delay": 169
},
"departure": {
"delay": 169
},
"stopId": "ponfrer2",
"stopSequence": 29
},
{
"arrival": {
"delay": 169
},
"departure": {
"delay": 169
},
"stopId": "ponabb2",
"stopSequence": 30
},
{
"arrival": {
"delay": 169
},
"departure": {
"delay": 169
},
"stopId": "vierond2",
"stopSequence": 31
},
{
"arrival": {
"delay": 169
},
"departure": {
"delay": 169
},
"stopId": "viecedr2",
"stopSequence": 32
},
{
"arrival": {
"delay": 169
},
"departure": {
"delay": 169
},
"stopId": "viehorl2",
"stopSequence": 33
},
{
"arrival": {
"delay": 169
},
"departure": {
"delay": 169
},
"stopId": "vieferm2",
"stopSequence": 34
},
{
"arrival": {
"delay": 169
},
"departure": {
"delay": 169
},
"stopId": "viehame2",
"stopSequence": 35
},
{
"arrival": {
"delay": 169
},
"departure": {
"delay": 169
},
"stopId": "viemali2",
"stopSequence": 36
},
{
"arrival": {
"delay": 169
},
"departure": {
"delay": 169
},
"stopId": "viesmal2",
"stopSequence": 37
}
],
"timestamp": "1771156331",
"trip": {
"directionId": 1,
"routeId": "1",
"scheduleRelationship": "SCHEDULED",
"startTime": "12:35:00",
"tripId": "1700000086"
},
"vehicle": {
"id": "vienne-87",
"label": "87",
"licensePlate": "87"
}
}
},
{
"id": "trip-1700000011",
"tripUpdate": {
"delay": 134,
"stopTimeUpdate": [
{
"arrival": {
"delay": 131,
"time": "1771155844"
},
"departure": {
"delay": 131,
"time": "1771156271"
},
"stopId": "vieurge",
"stopSequence": 1
},
{
"arrival": {
"delay": 134,
"time": "1771156324"
},
"departure": {
"delay": 134,
"time": "1771156334"
},
"stopId": "viehopi2",
"stopSequence": 2
},
{
"arrival": {
"delay": 134
},
"departure": {
"delay": 134
},
"stopId": "vieime2",
"stopSequence": 3
},
{
"arrival": {
"delay": 134
},
"departure": {
"delay": 134
},
"stopId": "viesalo2",
"stopSequence": 4
},
{
"arrival": {
"delay": 134
},
"departure": {
"delay": 134
},
"stopId": "vieguil2",
"stopSequence": 5
},
{
"arrival": {
"delay": 134
},
"departure": {
"delay": 134
},
"stopId": "viehgui2",
"stopSequence": 6
},
{
"arrival": {
"delay": 134
},
"departure": {
"delay": 134
},
"stopId": "vieenfa2",
"stopSequence": 7
},
{
"arrival": {
"delay": 134
},
"departure": {
"delay": 134
},
"stopId": "viebmau2",
"stopSequence": 8
},
{
"arrival": {
"delay": 134
},
"departure": {
"delay": 134
},
"stopId": "vieecol2",
"stopSequence": 9
},
{
"arrival": {
"delay": 134
},
"departure": {
"delay": 134
},
"stopId": "viedrap",
"stopSequence": 10
},
{
"arrival": {
"delay": 134
},
"departure": {
"delay": 134
},
"stopId": "viecuvi",
"stopSequence": 11
},
{
"arrival": {
"delay": 134
},
"departure": {
"delay": 134
},
"stopId": "viejeud2",
"stopSequence": 12
},
{
"arrival": {
"delay": 134
},
"departure": {
"delay": 134
},
"stopId": "viesncf3",
"stopSequence": 13
},
{
"arrival": {
"delay": 134
},
"departure": {
"delay": 134
},
"stopId": "viemars2",
"stopSequence": 14
},
{
"arrival": {
"delay": 134
},
"departure": {
"delay": 134
},
"stopId": "vieverd2",
"stopSequence": 15
},
{
"arrival": {
"delay": 134
},
"departure": {
"delay": 134
},
"stopId": "vieserv2",
"stopSequence": 16
},
{
"arrival": {
"delay": 134
},
"departure": {
"delay": 134
},
"stopId": "viepyra2",
"stopSequence": 17
},
{
"arrival": {
"delay": 134
},
"departure": {
"delay": 134
},
"stopId": "vieden1",
"stopSequence": 18
},
{
"arrival": {
"delay": 134
},
"departure": {
"delay": 134
},
"stopId": "vietren2",
"stopSequence": 19
},
{
"arrival": {
"delay": 134
},
"departure": {
"delay": 134
},
"stopId": "vieparm2",
"stopSequence": 20
},
{
"arrival": {
"delay": 134
},
"departure": {
"delay": 134
},
"stopId": "viemoul2",
"stopSequence": 21
},
{
"arrival": {
"delay": 134
},
"departure": {
"delay": 134
},
"stopId": "viegali2",
"stopSequence": 22
},
{
"arrival": {
"delay": 134
},
"departure": {
"delay": 134
},
"stopId": "vieavou2",
"stopSequence": 23
},
{
"arrival": {
"delay": 134
},
"departure": {
"delay": 134
},
"stopId": "vieparc3",
"stopSequence": 24
},
{
"arrival": {
"delay": 134
},
"departure": {
"delay": 134
},
"stopId": "viedame2",
"stopSequence": 25
},
{
"arrival": {
"delay": 134
},
"departure": {
"delay": 134
},
"stopId": "viecoll",
"stopSequence": 26
}
],
"timestamp": "1771156347",
"trip": {
"directionId": 1,
"routeId": "2",
"scheduleRelationship": "SCHEDULED",
"startTime": "12:49:00",
"tripId": "1700000011"
},
"vehicle": {
"id": "vienne-13",
"label": "13",
"licensePlate": "13"
}
}
},
{
"id": "vehicle-vienne-13",
"vehicle": {
"currentStatus": "INCOMING_AT",
"currentStopSequence": 3,
"position": {
"bearing": 24.0,
"latitude": 45.53486251831055,
"longitude": 4.880655765533447,
"speed": 6.388888835906982
},
"stopId": "vieime2",
"timestamp": "1771156345",
"trip": {
"directionId": 1,
"routeId": "2",
"scheduleRelationship": "SCHEDULED",
"tripId": "1700000011"
},
"vehicle": {
"id": "vienne-13",
"label": "13",
"licensePlate": "13"
}
}
},
{
"id": "vehicle-vienne-87",
"vehicle": {
"currentStopSequence": 13,
"position": {
"bearing": 220.0,
"latitude": 45.522884368896484,
"longitude": 4.869749069213867,
"speed": 8.88888931274414
},
"stopId": "viesncf",
"timestamp": "1771156328",
"trip": {
"directionId": 1,
"routeId": "1",
"scheduleRelationship": "SCHEDULED",
"tripId": "1700000086"
},
"vehicle": {
"id": "vienne-87",
"label": "87",
"licensePlate": "87"
}
}
}
],
"header": {
"gtfsRealtimeVersion": "2.0",
"timestamp": "1771156360"
}
}