Resource details
Horaires temps-réel du réseau Lunéo (GTFS-RT)
This resource file is part of the dataset Réseau urbain Lunéo.
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
❌4 errors
Validation carried out using the current GTFS file and the GTFS-RT the 2025-12-08 at 08:10 Europe/Paris using the MobilityData GTFS-RT validator.
Errors
Sequential stop_time_update times are not increasing E022 4 errors
stop_time_update arrival/departure times between sequential stops should always increase - they should never be the same or decrease.
Sample errors
- trip_id 1_08h04_Faisanderie stop_sequence 8 arrival_time 08:16:20 (1765178180) is equal to previous stop arrival_time 08:16:20 (1765178180) - times must increase between two sequential stops
- trip_id 1_08h04_Faisanderie stop_sequence 8 arrival_time 08:16:20 (1765178180) is equal to previous stop departure_time 08:16:20 (1765178180) - times must increase between two sequential stops
- trip_id 1_08h04_Faisanderie stop_sequence 8 departure_time 08:16:20 (1765178180) is equal to previous stop departure_time 08:16:20 (1765178180) - times must increase between two sequential stops
- trip_id 1_08h04_Faisanderie stop_sequence 8 departure_time 08:16:20 (1765178180) is equal to previous stop arrival_time 08:16:20 (1765178180) - times must increase between two sequential stops
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 |
|---|---|---|---|
| E022 | stop_time_update arrival/departure times between sequential stops should always increase - they should never be the same or decrease. | 92 | 22 times (73 % 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 | 4 | 1 times (3 % of validations) |
| W009 | trip.schedule_relationship and stop_time_update.schedule_relationship should be populated | 2 | 1 times (3 % of validations) |
GTFS-RT feed content
Entities
Entities present in this feed at 2025-12-08 at 08:22 Europe/Paris.
vehicle_positions (3) trip_updates (3) service_alerts (1)Entities seen in the last 7 days.
service_alerts trip_updates vehicle_positionsService alerts
Here is a display of service alerts contained in this feed at 2025-12-08 at 08:22 Europe/Paris.
Grande collecte de jouets et de livres 2025 Unknown effect
Collecte de jouets et de livres au profit des enfants du secours populaire. Rendez-vous à l'agence de mobilité Lunéo du 17/11/25 au 05/12/25 pour y déposer jouets, livres et jeux de société. 1 jouet collécté = 1 enfant heureux. Merci à tous, L'équipe Lunéo,
Decoded GTFS-RT feed
See full payload
Here is the decoded GTFS-RT feed Protobuf at 2025-12-08 at 08:22 Europe/Paris. You can look at the GTFS-RT documentation.
{
"entity": [
{
"id": "vehicle:610f2b9e2f2cbac1",
"vehicle": {
"currentStatus": "STOPPED_AT",
"currentStopSequence": 7,
"position": {
"latitude": 48.58479690551758,
"longitude": 6.491436958312988
},
"stopId": "54",
"timestamp": "1765178578",
"trip": {
"routeId": "2",
"scheduleRelationship": "SCHEDULED",
"tripId": "2_08h10_Peupleraie"
},
"vehicle": {
"id": "610f2b9e2f2cbac1"
}
}
},
{
"id": "vehicle:66b9b78c14f3fcb51555c4c3",
"vehicle": {
"currentStopSequence": 14,
"position": {
"latitude": 48.5902214050293,
"longitude": 6.490620136260986
},
"stopId": "132",
"timestamp": "1765178576",
"trip": {
"routeId": "1",
"scheduleRelationship": "SCHEDULED",
"tripId": "1_08h02_Chateau_d_Eau"
},
"vehicle": {
"id": "66b9b78c14f3fcb51555c4c3",
"label": "365",
"licensePlate": "GY-365-LH"
}
}
},
{
"id": "vehicle:5ce6b3ecf4e5a26fbf886039",
"vehicle": {
"currentStopSequence": 14,
"position": {
"latitude": 48.59192657470703,
"longitude": 6.495166778564453
},
"stopId": "110",
"timestamp": "1765178575",
"trip": {
"routeId": "1",
"scheduleRelationship": "SCHEDULED",
"tripId": "1_08h04_Faisanderie"
},
"vehicle": {
"id": "5ce6b3ecf4e5a26fbf886039",
"label": "450",
"licensePlate": "EZ-450-XD"
}
}
},
{
"id": "trip:1_08h02_Chateau_d_Eau",
"tripUpdate": {
"stopTimeUpdate": [
{
"arrival": {
"time": "1765177335"
},
"departure": {
"time": "1765177370"
},
"stopId": "147",
"stopSequence": 1
},
{
"arrival": {
"time": "1765177424"
},
"departure": {
"time": "1765177440"
},
"stopId": "158",
"stopSequence": 2
},
{
"arrival": {
"time": "1765177467"
},
"departure": {
"time": "1765177475"
},
"stopId": "146",
"stopSequence": 3
},
{
"arrival": {
"time": "1765177510"
},
"departure": {
"time": "1765177521"
},
"stopId": "155",
"stopSequence": 4
},
{
"arrival": {
"time": "1765177568"
},
"departure": {
"time": "1765177580"
},
"stopId": "131",
"stopSequence": 5
},
{
"arrival": {
"time": "1765177630"
},
"departure": {
"time": "1765177696"
},
"stopId": "63",
"stopSequence": 6
},
{
"arrival": {
"time": "1765177796"
},
"departure": {
"time": "1765177841"
},
"stopId": "145",
"stopSequence": 7
},
{
"arrival": {
"time": "1765177889"
},
"departure": {
"time": "1765177945"
},
"stopId": "76",
"stopSequence": 8
},
{
"arrival": {
"time": "1765177964"
},
"departure": {
"time": "1765178023"
},
"stopId": "831",
"stopSequence": 9
},
{
"arrival": {
"time": "1765178155"
},
"departure": {
"time": "1765178205"
},
"stopId": "825",
"stopSequence": 10
},
{
"arrival": {
"time": "1765178264"
},
"departure": {
"time": "1765178280"
},
"stopId": "323",
"stopSequence": 11
},
{
"arrival": {
"time": "1765178340"
},
"departure": {
"time": "1765178392"
},
"stopId": "94",
"stopSequence": 12
},
{
"arrival": {
"time": "1765178468"
},
"departure": {
"time": "1765178509"
},
"stopId": "110",
"stopSequence": 13
},
{
"arrival": {
"time": "1765178680"
},
"departure": {
"time": "1765178680"
},
"stopId": "132",
"stopSequence": 14
},
{
"arrival": {
"time": "1765178740"
},
"departure": {
"time": "1765178740"
},
"stopId": "47",
"stopSequence": 15
},
{
"arrival": {
"time": "1765178800"
},
"departure": {
"time": "1765178800"
},
"stopId": "37",
"stopSequence": 16
},
{
"arrival": {
"time": "1765178860"
},
"departure": {
"time": "1765178860"
},
"stopId": "34",
"stopSequence": 17
},
{
"arrival": {
"time": "1765178920"
},
"departure": {
"time": "1765178920"
},
"stopId": "31",
"stopSequence": 18
},
{
"arrival": {
"time": "1765179100"
},
"departure": {
"time": "1765179100"
},
"stopId": "25",
"stopSequence": 19
},
{
"arrival": {
"time": "1765179280"
},
"departure": {
"time": "1765179280"
},
"stopId": "22",
"stopSequence": 20
}
],
"timestamp": "1765178576",
"trip": {
"routeId": "1",
"scheduleRelationship": "SCHEDULED",
"tripId": "1_08h02_Chateau_d_Eau"
},
"vehicle": {
"id": "66b9b78c14f3fcb51555c4c3",
"label": "365",
"licensePlate": "GY-365-LH"
}
}
},
{
"id": "trip:2_08h10_Peupleraie",
"tripUpdate": {
"stopTimeUpdate": [
{
"arrival": {
"time": "1765178070"
},
"departure": {
"time": "1765178098"
},
"stopId": "331",
"stopSequence": 1
},
{
"arrival": {
"time": "1765178171"
},
"departure": {
"time": "1765178180"
},
"stopId": "131",
"stopSequence": 2
},
{
"arrival": {
"time": "1765178227"
},
"departure": {
"time": "1765178238"
},
"stopId": "114",
"stopSequence": 3
},
{
"arrival": {
"time": "1765178264"
},
"departure": {
"time": "1765178274"
},
"stopId": "104",
"stopSequence": 4
},
{
"arrival": {
"time": "1765178328"
},
"departure": {
"time": "1765178339"
},
"stopId": "28",
"stopSequence": 5
},
{
"arrival": {
"time": "1765178348"
},
"departure": {
"time": "1765178364"
},
"stopId": "119",
"stopSequence": 6
},
{
"arrival": {
"time": "1765178411"
},
"departure": {
"time": "1765178580"
},
"stopId": "54",
"stopSequence": 7
},
{
"arrival": {
"time": "1765178760"
},
"departure": {
"time": "1765178760"
},
"stopId": "72",
"stopSequence": 8
},
{
"arrival": {
"time": "1765178940"
},
"departure": {
"time": "1765178940"
},
"stopId": "69",
"stopSequence": 9
},
{
"arrival": {
"time": "1765179060"
},
"departure": {
"time": "1765179060"
},
"stopId": "136",
"stopSequence": 10
},
{
"arrival": {
"time": "1765179120"
},
"departure": {
"time": "1765179120"
},
"stopId": "826",
"stopSequence": 11
},
{
"arrival": {
"time": "1765179300"
},
"departure": {
"time": "1765179300"
},
"stopId": "110",
"stopSequence": 12
},
{
"arrival": {
"time": "1765179360"
},
"departure": {
"time": "1765179360"
},
"stopId": "93",
"stopSequence": 13
},
{
"arrival": {
"time": "1765179480"
},
"departure": {
"time": "1765179480"
},
"stopId": "81",
"stopSequence": 14
},
{
"arrival": {
"time": "1765179600"
},
"departure": {
"time": "1765179600"
},
"stopId": "96",
"stopSequence": 15
},
{
"arrival": {
"time": "1765179660"
},
"departure": {
"time": "1765179660"
},
"stopId": "27",
"stopSequence": 16
},
{
"arrival": {
"time": "1765179780"
},
"departure": {
"time": "1765179780"
},
"stopId": "129",
"stopSequence": 17
},
{
"arrival": {
"time": "1765179900"
},
"departure": {
"time": "1765179900"
},
"stopId": "41",
"stopSequence": 18
},
{
"arrival": {
"time": "1765180020"
},
"departure": {
"time": "1765180020"
},
"stopId": "125",
"stopSequence": 19
},
{
"arrival": {
"time": "1765180080"
},
"departure": {
"time": "1765180080"
},
"stopId": "13",
"stopSequence": 20
},
{
"arrival": {
"time": "1765180140"
},
"departure": {
"time": "1765180140"
},
"stopId": "11",
"stopSequence": 21
},
{
"arrival": {
"time": "1765180140"
},
"departure": {
"time": "1765180140"
},
"stopId": "5",
"stopSequence": 22
},
{
"arrival": {
"time": "1765180200"
},
"departure": {
"time": "1765180200"
},
"stopId": "15",
"stopSequence": 23
},
{
"arrival": {
"time": "1765180260"
},
"departure": {
"time": "1765180260"
},
"stopId": "18",
"stopSequence": 24
},
{
"arrival": {
"time": "1765180320"
},
"departure": {
"time": "1765180320"
},
"stopId": "8",
"stopSequence": 25
},
{
"arrival": {
"time": "1765180380"
},
"departure": {
"time": "1765180380"
},
"stopId": "20",
"stopSequence": 26
}
],
"timestamp": "1765178578",
"trip": {
"routeId": "2",
"scheduleRelationship": "SCHEDULED",
"tripId": "2_08h10_Peupleraie"
},
"vehicle": {
"id": "610f2b9e2f2cbac1"
}
}
},
{
"id": "trip:1_08h04_Faisanderie",
"tripUpdate": {
"stopTimeUpdate": [
{
"arrival": {
"time": "1765177675"
},
"departure": {
"time": "1765177716"
},
"stopId": "74",
"stopSequence": 1
},
{
"arrival": {
"time": "1765177877"
},
"departure": {
"time": "1765177892"
},
"stopId": "88",
"stopSequence": 2
},
{
"arrival": {
"time": "1765177971"
},
"departure": {
"time": "1765177991"
},
"stopId": "68",
"stopSequence": 3
},
{
"arrival": {
"time": "1765178027"
},
"departure": {
"time": "1765178037"
},
"stopId": "134",
"stopSequence": 4
},
{
"arrival": {
"time": "1765178101"
},
"departure": {
"time": "1765178110"
},
"stopId": "141",
"stopSequence": 5
},
{
"arrival": {
"time": "1765178131"
},
"departure": {
"time": "1765178188"
},
"stopId": "51",
"stopSequence": 6
},
{
"arrival": {
"time": "1765178222"
},
"departure": {
"time": "1765178232"
},
"stopId": "122",
"stopSequence": 7
},
{
"arrival": {
"time": "1765178265"
},
"departure": {
"time": "1765178277"
},
"stopId": "30",
"stopSequence": 8
},
{
"arrival": {
"time": "1765178281"
},
"departure": {
"time": "1765178313"
},
"stopId": "35",
"stopSequence": 9
},
{
"arrival": {
"time": "1765178336"
},
"departure": {
"time": "1765178359"
},
"stopId": "36",
"stopSequence": 10
},
{
"arrival": {
"time": "1765178413"
},
"departure": {
"time": "1765178450"
},
"stopId": "48",
"stopSequence": 11
},
{
"arrival": {
"time": "1765178458"
},
"departure": {
"time": "1765178471"
},
"stopId": "133",
"stopSequence": 12
},
{
"arrival": {
"time": "1765178521"
},
"departure": {
"time": "1765178544"
},
"stopId": "94",
"stopSequence": 13
},
{
"arrival": {
"time": "1765178670"
},
"departure": {
"time": "1765178670"
},
"stopId": "110",
"stopSequence": 14
},
{
"arrival": {
"time": "1765178790"
},
"departure": {
"time": "1765178790"
},
"stopId": "93",
"stopSequence": 15
},
{
"arrival": {
"time": "1765178850"
},
"departure": {
"time": "1765178850"
},
"stopId": "81",
"stopSequence": 16
},
{
"arrival": {
"time": "1765179030"
},
"departure": {
"time": "1765179030"
},
"stopId": "832",
"stopSequence": 17
},
{
"arrival": {
"time": "1765179090"
},
"departure": {
"time": "1765179090"
},
"stopId": "77",
"stopSequence": 18
},
{
"arrival": {
"time": "1765179150"
},
"departure": {
"time": "1765179150"
},
"stopId": "144",
"stopSequence": 19
},
{
"arrival": {
"time": "1765179270"
},
"departure": {
"time": "1765179270"
},
"stopId": "62",
"stopSequence": 20
},
{
"arrival": {
"time": "1765179390"
},
"departure": {
"time": "1765179390"
},
"stopId": "130",
"stopSequence": 21
},
{
"arrival": {
"time": "1765179450"
},
"departure": {
"time": "1765179450"
},
"stopId": "154",
"stopSequence": 22
},
{
"arrival": {
"time": "1765179510"
},
"departure": {
"time": "1765179510"
},
"stopId": "159",
"stopSequence": 23
},
{
"arrival": {
"time": "1765179570"
},
"departure": {
"time": "1765179570"
},
"stopId": "157",
"stopSequence": 24
},
{
"arrival": {
"time": "1765179750"
},
"departure": {
"time": "1765179750"
},
"stopId": "147",
"stopSequence": 25
}
],
"timestamp": "1765178575",
"trip": {
"routeId": "1",
"scheduleRelationship": "SCHEDULED",
"tripId": "1_08h04_Faisanderie"
},
"vehicle": {
"id": "5ce6b3ecf4e5a26fbf886039",
"label": "450",
"licensePlate": "EZ-450-XD"
}
}
},
{
"alert": {
"cause": "HOLIDAY",
"descriptionText": {
"translation": [
{
"text": "Collecte de jouets et de livres au profit des enfants du secours populaire.\n\nRendez-vous à l'agence de mobilité Lunéo du 17/11/25 au 05/12/25 pour y déposer jouets, livres et jeux de société.\n\n1 jouet collécté = 1 enfant heureux. \n\nMerci à tous, \n\nL'équipe Lunéo, "
}
]
},
"headerText": {
"translation": [
{
"text": "Grande collecte de jouets et de livres 2025"
}
]
},
"informedEntity": [
{
"routeId": "1"
},
{
"routeId": "2"
}
]
},
"id": "alert:654b89d79ba4918b96f470b3"
}
],
"header": {
"gtfsRealtimeVersion": "2.0",
"timestamp": "1765178578"
}
}