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
✅No error detected
Validation carried out using the current GTFS file and the GTFS-RT the 2025-08-06 at 09: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 |
---|---|---|---|
E022 | stop_time_update arrival/departure times between sequential stops should always increase - they should never be the same or decrease. | 122 | 24 times (80 % 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 | 6 | 3 times (10 % of validations) |
W009 | trip.schedule_relationship and stop_time_update.schedule_relationship should be populated | 3 | 3 times (10 % 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. | 2 | 2 times (7 % of validations) |
GTFS-RT feed content
Entities
Entities present in this feed at 2025-08-06 at 10:12 Europe/Paris.
vehicle_positions (3) service_alerts (2) trip_updates (2)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-08-06 at 10:12 Europe/Paris.
TRAVAUX rue René Basset le 23/08/25 Detour
Travaux rue René basset le 23/08/25. En raison de travaux rue René Basset, une déviation à été mise en place. L'arrêt "Hôtel de Ville" ne sera pas desservi la journée du 23/08/25 Reportez-vous aux arrêts "Léopold" / "Hôpital" et "Remparts". Merci pour votre compréhension, L'équipe Lunéo.
Fin des travaux Rue de Villers Unknown effect
Suite à la fin des travaux Rue de Villers, l’arrêt Saint-Charles est à nouveau accessible. L'équipe Lunéo.
Decoded GTFS-RT feed
See full payload
Here is the decoded GTFS-RT feed Protobuf at 2025-08-06 at 10:12 Europe/Paris. You can look at the GTFS-RT documentation.
{
"entity": [
{
"id": "vehicle:610f2b9e2f2cbac1",
"vehicle": {
"currentStatus": "STOPPED_AT",
"currentStopSequence": 1,
"position": {
"latitude": 48.5924072265625,
"longitude": 6.52842378616333
},
"stopId": "20",
"timestamp": "1754467962",
"trip": {
"routeId": "2",
"scheduleRelationship": "SCHEDULED",
"tripId": "2_10h10_ZAD"
},
"vehicle": {
"id": "610f2b9e2f2cbac1"
}
}
},
{
"id": "vehicle:5ce6b3f6f4e5a26fc64b3063",
"vehicle": {
"position": {
"latitude": 48.57917785644531,
"longitude": 6.514524936676025
},
"timestamp": "1754467958",
"trip": {
"routeId": "1",
"tripId": "1_10h33_Chateau_d_Eau"
},
"vehicle": {
"id": "5ce6b3f6f4e5a26fc64b3063",
"label": "456",
"licensePlate": "EZ-456-XD"
}
}
},
{
"id": "vehicle:66b9b78c14f3fcb51555c4c3",
"vehicle": {
"currentStatus": "INCOMING_AT",
"currentStopSequence": 3,
"position": {
"latitude": 48.60292053222656,
"longitude": 6.480130195617676
},
"stopId": "134",
"timestamp": "1754467957",
"trip": {
"routeId": "1",
"scheduleRelationship": "SCHEDULED",
"tripId": "1_10h06_Gregoire"
},
"vehicle": {
"id": "66b9b78c14f3fcb51555c4c3",
"label": "365",
"licensePlate": "GY-365-LH"
}
}
},
{
"id": "trip:1_10h06_Gregoire",
"tripUpdate": {
"stopTimeUpdate": [
{
"arrival": {
"time": "1754467291"
},
"departure": {
"time": "1754467389"
},
"stopId": "88",
"stopSequence": 1
},
{
"arrival": {
"time": "1754467857"
},
"departure": {
"time": "1754467923"
},
"stopId": "68",
"stopSequence": 2
},
{
"arrival": {
"time": "1754467970"
},
"departure": {
"time": "1754467970"
},
"stopId": "134",
"stopSequence": 3
},
{
"arrival": {
"time": "1754468030"
},
"departure": {
"time": "1754468030"
},
"stopId": "141",
"stopSequence": 4
},
{
"arrival": {
"time": "1754468090"
},
"departure": {
"time": "1754468090"
},
"stopId": "51",
"stopSequence": 5
},
{
"arrival": {
"time": "1754468150"
},
"departure": {
"time": "1754468150"
},
"stopId": "122",
"stopSequence": 6
},
{
"arrival": {
"time": "1754468150"
},
"departure": {
"time": "1754468150"
},
"stopId": "30",
"stopSequence": 7
},
{
"arrival": {
"time": "1754468210"
},
"departure": {
"time": "1754468210"
},
"stopId": "35",
"stopSequence": 8
},
{
"arrival": {
"time": "1754468270"
},
"departure": {
"time": "1754468270"
},
"stopId": "36",
"stopSequence": 9
},
{
"arrival": {
"time": "1754468330"
},
"departure": {
"time": "1754468330"
},
"stopId": "48",
"stopSequence": 10
},
{
"arrival": {
"time": "1754468390"
},
"departure": {
"time": "1754468390"
},
"stopId": "133",
"stopSequence": 11
},
{
"arrival": {
"time": "1754468450"
},
"departure": {
"time": "1754468450"
},
"stopId": "94",
"stopSequence": 12
},
{
"arrival": {
"time": "1754468630"
},
"departure": {
"time": "1754468630"
},
"stopId": "110",
"stopSequence": 13
},
{
"arrival": {
"time": "1754468750"
},
"departure": {
"time": "1754468750"
},
"stopId": "93",
"stopSequence": 14
},
{
"arrival": {
"time": "1754468810"
},
"departure": {
"time": "1754468810"
},
"stopId": "81",
"stopSequence": 15
},
{
"arrival": {
"time": "1754468990"
},
"departure": {
"time": "1754468990"
},
"stopId": "832",
"stopSequence": 16
},
{
"arrival": {
"time": "1754469050"
},
"departure": {
"time": "1754469050"
},
"stopId": "77",
"stopSequence": 17
},
{
"arrival": {
"time": "1754469110"
},
"departure": {
"time": "1754469110"
},
"stopId": "144",
"stopSequence": 18
},
{
"arrival": {
"time": "1754469230"
},
"departure": {
"time": "1754469230"
},
"stopId": "62",
"stopSequence": 19
},
{
"arrival": {
"time": "1754469350"
},
"departure": {
"time": "1754469350"
},
"stopId": "130",
"stopSequence": 20
},
{
"arrival": {
"time": "1754469410"
},
"departure": {
"time": "1754469410"
},
"stopId": "154",
"stopSequence": 21
},
{
"arrival": {
"time": "1754469470"
},
"departure": {
"time": "1754469470"
},
"stopId": "159",
"stopSequence": 22
},
{
"arrival": {
"time": "1754469530"
},
"departure": {
"time": "1754469530"
},
"stopId": "157",
"stopSequence": 23
},
{
"arrival": {
"time": "1754469710"
},
"departure": {
"time": "1754469710"
},
"stopId": "828",
"stopSequence": 24
}
],
"timestamp": "1754467957",
"trip": {
"routeId": "1",
"scheduleRelationship": "SCHEDULED",
"tripId": "1_10h06_Gregoire"
},
"vehicle": {
"id": "66b9b78c14f3fcb51555c4c3",
"label": "365",
"licensePlate": "GY-365-LH"
}
}
},
{
"id": "trip:2_10h10_ZAD",
"tripUpdate": {
"stopTimeUpdate": [
{
"arrival": {
"time": "1754467835"
},
"departure": {
"time": "1754467970"
},
"stopId": "20",
"stopSequence": 1
},
{
"arrival": {
"time": "1754468030"
},
"departure": {
"time": "1754468030"
},
"stopId": "7",
"stopSequence": 2
},
{
"arrival": {
"time": "1754468150"
},
"departure": {
"time": "1754468150"
},
"stopId": "19",
"stopSequence": 3
},
{
"arrival": {
"time": "1754468210"
},
"departure": {
"time": "1754468210"
},
"stopId": "14",
"stopSequence": 4
},
{
"arrival": {
"time": "1754468270"
},
"departure": {
"time": "1754468270"
},
"stopId": "6",
"stopSequence": 5
},
{
"arrival": {
"time": "1754468330"
},
"departure": {
"time": "1754468330"
},
"stopId": "10",
"stopSequence": 6
},
{
"arrival": {
"time": "1754468330"
},
"departure": {
"time": "1754468330"
},
"stopId": "12",
"stopSequence": 7
},
{
"arrival": {
"time": "1754468390"
},
"departure": {
"time": "1754468390"
},
"stopId": "124",
"stopSequence": 8
},
{
"arrival": {
"time": "1754468450"
},
"departure": {
"time": "1754468450"
},
"stopId": "40",
"stopSequence": 9
},
{
"arrival": {
"time": "1754468690"
},
"departure": {
"time": "1754468690"
},
"stopId": "128",
"stopSequence": 10
},
{
"arrival": {
"time": "1754468810"
},
"departure": {
"time": "1754468810"
},
"stopId": "26",
"stopSequence": 11
},
{
"arrival": {
"time": "1754468870"
},
"departure": {
"time": "1754468870"
},
"stopId": "95",
"stopSequence": 12
},
{
"arrival": {
"time": "1754469050"
},
"departure": {
"time": "1754469050"
},
"stopId": "825",
"stopSequence": 13
},
{
"arrival": {
"time": "1754469110"
},
"departure": {
"time": "1754469110"
},
"stopId": "323",
"stopSequence": 14
},
{
"arrival": {
"time": "1754469290"
},
"departure": {
"time": "1754469290"
},
"stopId": "110",
"stopSequence": 15
},
{
"arrival": {
"time": "1754469350"
},
"departure": {
"time": "1754469350"
},
"stopId": "826",
"stopSequence": 16
},
{
"arrival": {
"time": "1754469410"
},
"departure": {
"time": "1754469410"
},
"stopId": "137",
"stopSequence": 17
},
{
"arrival": {
"time": "1754469530"
},
"departure": {
"time": "1754469530"
},
"stopId": "70",
"stopSequence": 18
},
{
"arrival": {
"time": "1754469650"
},
"departure": {
"time": "1754469650"
},
"stopId": "71",
"stopSequence": 19
},
{
"arrival": {
"time": "1754469890"
},
"departure": {
"time": "1754469890"
},
"stopId": "52",
"stopSequence": 20
},
{
"arrival": {
"time": "1754470010"
},
"departure": {
"time": "1754470010"
},
"stopId": "118",
"stopSequence": 21
},
{
"arrival": {
"time": "1754470010"
},
"departure": {
"time": "1754470010"
},
"stopId": "29",
"stopSequence": 22
},
{
"arrival": {
"time": "1754470070"
},
"departure": {
"time": "1754470070"
},
"stopId": "103",
"stopSequence": 23
},
{
"arrival": {
"time": "1754470190"
},
"departure": {
"time": "1754470190"
},
"stopId": "117",
"stopSequence": 24
},
{
"arrival": {
"time": "1754470250"
},
"departure": {
"time": "1754470250"
},
"stopId": "130",
"stopSequence": 25
},
{
"arrival": {
"time": "1754470310"
},
"departure": {
"time": "1754470310"
},
"stopId": "331",
"stopSequence": 26
}
],
"timestamp": "1754467962",
"trip": {
"routeId": "2",
"scheduleRelationship": "SCHEDULED",
"tripId": "2_10h10_ZAD"
},
"vehicle": {
"id": "610f2b9e2f2cbac1"
}
}
},
{
"alert": {
"cause": "CONSTRUCTION",
"descriptionText": {
"translation": [
{
"text": "Travaux rue René basset le 23/08/25.\n\nEn raison de travaux rue René Basset, une déviation à été mise en place. \n\nL'arrêt \"Hôtel de Ville\" ne sera pas desservi la journée du 23/08/25\n\nReportez-vous aux arrêts \"Léopold\" / \"Hôpital\" et \"Remparts\".\n\nMerci pour votre compréhension, \n\nL'équipe Lunéo."
}
]
},
"effect": "DETOUR",
"headerText": {
"translation": [
{
"text": "TRAVAUX rue René Basset le 23/08/25"
}
]
},
"informedEntity": [
{
"routeId": "1"
}
]
},
"id": "alert:686531b08e26151779ed1fac"
},
{
"alert": {
"descriptionText": {
"translation": [
{
"text": "Suite à la fin des travaux Rue de Villers, l’arrêt Saint-Charles est à nouveau accessible.\n\nL'équipe Lunéo. "
}
]
},
"headerText": {
"translation": [
{
"text": "Fin des travaux Rue de Villers"
}
]
},
"informedEntity": [
{
"routeId": "1"
},
{
"routeId": "2"
},
{
"stopId": "10"
},
{
"stopId": "103"
},
{
"stopId": "104"
},
{
"stopId": "11"
},
{
"stopId": "110"
},
{
"stopId": "114"
},
{
"stopId": "117"
},
{
"stopId": "118"
},
{
"stopId": "119"
},
{
"stopId": "12"
},
{
"stopId": "122"
},
{
"stopId": "123"
},
{
"stopId": "124"
},
{
"stopId": "125"
},
{
"stopId": "128"
},
{
"stopId": "129"
},
{
"stopId": "13"
},
{
"stopId": "130"
},
{
"stopId": "131"
},
{
"stopId": "132"
},
{
"stopId": "133"
},
{
"stopId": "134"
},
{
"stopId": "135"
},
{
"stopId": "136"
},
{
"stopId": "137"
},
{
"stopId": "138"
},
{
"stopId": "14"
},
{
"stopId": "141"
},
{
"stopId": "142"
},
{
"stopId": "144"
},
{
"stopId": "145"
},
{
"stopId": "146"
},
{
"stopId": "147"
},
{
"stopId": "15"
},
{
"stopId": "154"
},
{
"stopId": "155"
},
{
"stopId": "157"
},
{
"stopId": "158"
},
{
"stopId": "159"
},
{
"stopId": "18"
},
{
"stopId": "19"
},
{
"stopId": "20"
},
{
"stopId": "22"
},
{
"stopId": "23"
},
{
"stopId": "24"
},
{
"stopId": "241"
},
{
"stopId": "242"
},
{
"stopId": "244"
},
{
"stopId": "245"
},
{
"stopId": "246"
},
{
"stopId": "248"
},
{
"stopId": "249"
},
{
"stopId": "25"
},
{
"stopId": "251"
},
{
"stopId": "252"
},
{
"stopId": "253"
},
{
"stopId": "254"
},
{
"stopId": "255"
},
{
"stopId": "257"
},
{
"stopId": "258"
},
{
"stopId": "26"
},
{
"stopId": "260"
},
{
"stopId": "261"
},
{
"stopId": "265"
},
{
"stopId": "266"
},
{
"stopId": "267"
},
{
"stopId": "27"
},
{
"stopId": "271"
},
{
"stopId": "273"
},
{
"stopId": "274"
},
{
"stopId": "275"
},
{
"stopId": "276"
},
{
"stopId": "277"
},
{
"stopId": "279"
},
{
"stopId": "28"
},
{
"stopId": "282"
},
{
"stopId": "283"
},
{
"stopId": "284"
},
{
"stopId": "285"
},
{
"stopId": "289"
},
{
"stopId": "29"
},
{
"stopId": "292"
},
{
"stopId": "295"
},
{
"stopId": "296"
},
{
"stopId": "297"
},
{
"stopId": "298"
},
{
"stopId": "299"
},
{
"stopId": "30"
},
{
"stopId": "300"
},
{
"stopId": "301"
},
{
"stopId": "302"
},
{
"stopId": "303"
},
{
"stopId": "304"
},
{
"stopId": "306"
},
{
"stopId": "308"
},
{
"stopId": "309"
},
{
"stopId": "31"
},
{
"stopId": "310"
},
{
"stopId": "313"
},
{
"stopId": "314"
},
{
"stopId": "315"
},
{
"stopId": "316"
},
{
"stopId": "323"
},
{
"stopId": "330"
},
{
"stopId": "331"
},
{
"stopId": "34"
},
{
"stopId": "35"
},
{
"stopId": "36"
},
{
"stopId": "37"
},
{
"stopId": "40"
},
{
"stopId": "41"
},
{
"stopId": "47"
},
{
"stopId": "48"
},
{
"stopId": "5"
},
{
"stopId": "50"
},
{
"stopId": "51"
},
{
"stopId": "52"
},
{
"stopId": "54"
},
{
"stopId": "6"
},
{
"stopId": "62"
},
{
"stopId": "63"
},
{
"stopId": "67"
},
{
"stopId": "68"
},
{
"stopId": "69"
},
{
"stopId": "7"
},
{
"stopId": "70"
},
{
"stopId": "71"
},
{
"stopId": "72"
},
{
"stopId": "73"
},
{
"stopId": "74"
},
{
"stopId": "76"
},
{
"stopId": "77"
},
{
"stopId": "8"
},
{
"stopId": "81"
},
{
"stopId": "825"
},
{
"stopId": "826"
},
{
"stopId": "828"
},
{
"stopId": "831"
},
{
"stopId": "832"
},
{
"stopId": "88"
},
{
"stopId": "89"
},
{
"stopId": "93"
},
{
"stopId": "94"
},
{
"stopId": "95"
},
{
"stopId": "96"
}
]
},
"id": "alert:688b2f1019b6309ff1a5a902"
}
],
"header": {
"gtfsRealtimeVersion": "2.0",
"timestamp": "1754467962"
}
}