Resource details

File name: GTFS-RT
Format: gtfs-rt

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

2025-07-07
100%
2025-07-08
100%
2025-07-09
99.5%
2025-07-10
98.8%
2025-07-11
98.7%
2025-07-12
99.4%
2025-07-13
99.6%
2025-07-14
98.8%
2025-07-15
98.8%
2025-07-16
98.9%
2025-07-17
99.6%
2025-07-18
98.8%
2025-07-19
99.5%
2025-07-20
99.4%
2025-07-21
99.5%
2025-07-22
99.5%
2025-07-23
99.5%
2025-07-24
99.5%
2025-07-25
99.4%
2025-07-26
99.4%
2025-07-27
98.7%
2025-07-28
99.4%
2025-07-29
99.4%
2025-07-30
98.7%
2025-07-31
99.4%
2025-08-01
99.4%
2025-08-02
99.4%
2025-08-03
98.7%
2025-08-04
99.4%
2025-08-05
98.8%
2025-08-06
100%
Learn more
We test this resource download availability every hour by making an HTTP 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 now

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. 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_positions

Service 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" } }