Resource details
Flux temps réel Gratibus
This resource file is part of the dataset Réseau urbain Gratibus.
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
❌6 errors, 1 warning
Validation carried out using the current GTFS file and the GTFS-RT the 2025-07-23 at 09:05 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 B_01 stop_sequence 18 arrival_time 09:23:20 (1753255400) is equal to previous stop arrival_time 09:23:20 (1753255400) - times must increase between two sequential stops
- trip_id B_01 stop_sequence 18 arrival_time 09:23:20 (1753255400) is equal to previous stop departure_time 09:23:20 (1753255400) - times must increase between two sequential stops
- trip_id B_01 stop_sequence 18 departure_time 09:23:20 (1753255400) is equal to previous stop departure_time 09:23:20 (1753255400) - times must increase between two sequential stops
- trip_id B_01 stop_sequence 18 departure_time 09:23:20 (1753255400) is equal to previous stop arrival_time 09:23:20 (1753255400) - times must increase between two sequential stops
stop_time_update doesn't have arrival or departure E043 1 error
If a stop_time_update doesn't have a schedule_relationship of SKIPPED or NO_DATA, then either arrival or departure must be provided
Sample errors
- trip_id Z_R_02 stop_sequence 0 doesn't have arrival or departure
VehiclePosition and TripUpdate ID pairing mismatch E047 1 error
If separate `VehiclePositions` and `TripUpdates` feeds are provided, `VehicleDescriptor` or `TripDescriptor` ID value pairing should match between the two feeds.
Sample errors
- trip_id Z_R_02 and vehicle_id 60efd6e3556b6d0001d90ef8 pairing in VehiclePositions does not match trip_id Z_A_01 and vehicle_id 60efd6e3556b6d0001d90ef8 pairing in TripUpdates feed and trip block_ids aren't the same - ID pairing between feeds should match
Warnings
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 Z_A_01 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 |
---|---|---|---|
E022 | stop_time_update arrival/departure times between sequential stops should always increase - they should never be the same or decrease. | 188 | 26 times (96 % 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 | 25 | 18 times (67 % of validations) |
E043 | If a stop_time_update doesn't have a schedule_relationship of SKIPPED or NO_DATA, then either arrival or departure must be provided | 71 | 16 times (59 % of validations) |
E047 | If separate `VehiclePositions` and `TripUpdates` feeds are provided, `VehicleDescriptor` or `TripDescriptor` ID value pairing should match between the two feeds. | 12 | 11 times (41 % of validations) |
E037 | Sequential GTFS-rt trip stop_time_updates shouldn't have the same stop_id | 7 | 5 times (19 % of validations) |
E025 | Within the same stop_time_update, arrival and departures times can be the same, or the departure time can be later than the arrival time - the departure time should never come before the arrival time. | 2 | 2 times (7 % of validations) |
GTFS-RT feed content
Entities
Entities present in this feed at 2025-07-24 at 09:11 Europe/Paris.
trip_updates (5) vehicle_positions (4) 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-07-24 at 09:11 Europe/Paris. You can look at the GTFS-RT documentation.
{
"entity": [
{
"id": "vehicle:e1c40ca21e54afde",
"vehicle": {
"currentStatus": "STOPPED_AT",
"currentStopSequence": 8,
"position": {
"latitude": 47.02372360229492,
"longitude": -2.2990200519561768
},
"stopId": "HERBAUPORT_A",
"timestamp": "1753341099",
"trip": {
"routeId": "Ligne C",
"scheduleRelationship": "SCHEDULED",
"tripId": "C_02"
},
"vehicle": {
"id": "e1c40ca21e54afde"
}
}
},
{
"id": "vehicle:686cec19be97c0a2d3f4f810",
"vehicle": {
"currentStopSequence": 8,
"occupancyStatus": "MANY_SEATS_AVAILABLE",
"position": {
"latitude": 47.00092315673828,
"longitude": -2.2211647033691406
},
"stopId": "MURETSABL_AR",
"timestamp": "1753341099",
"trip": {
"routeId": "Ligne A",
"scheduleRelationship": "SCHEDULED",
"tripId": "A_01"
},
"vehicle": {
"id": "686cec19be97c0a2d3f4f810",
"label": "972",
"licensePlate": "GT-556-BT"
}
}
},
{
"id": "vehicle:60efd6e3556b6d0001d90ef8",
"vehicle": {
"currentStopSequence": 4,
"occupancyStatus": "EMPTY",
"position": {
"latitude": 46.92384719848633,
"longitude": -2.16437029838562
},
"stopId": "ONCHERE_R",
"timestamp": "1753341097",
"trip": {
"routeId": "Ligne Z",
"scheduleRelationship": "SCHEDULED",
"tripId": "Z_R_02"
},
"vehicle": {
"id": "60efd6e3556b6d0001d90ef8",
"label": "804",
"licensePlate": "FR-142-SJ"
}
}
},
{
"id": "vehicle:727b840497a9c18a",
"vehicle": {
"currentStatus": "STOPPED_AT",
"currentStopSequence": 9,
"position": {
"latitude": 47.02617263793945,
"longitude": -2.250533103942871
},
"stopId": "PLAGEVIEIL_AR",
"timestamp": "1753341095",
"trip": {
"routeId": "Ligne B",
"scheduleRelationship": "SCHEDULED",
"tripId": "B_01"
},
"vehicle": {
"id": "727b840497a9c18a"
}
}
},
{
"id": "trip:B_01",
"tripUpdate": {
"stopTimeUpdate": [
{
"arrival": {
"time": "1753340352"
},
"departure": {
"time": "1753340428"
},
"stopId": "GARE-URB_AR",
"stopSequence": 0
},
{
"arrival": {
"time": "1753340533"
},
"departure": {
"time": "1753340543"
},
"stopId": "MAISONSANTE_A",
"stopSequence": 1
},
{
"arrival": {
"time": "1753340595"
},
"departure": {
"time": "1753340604"
},
"stopId": "CRF-PIERRBEA_A",
"stopSequence": 2
},
{
"arrival": {
"time": "1753340675"
},
"departure": {
"time": "1753340695"
},
"stopId": "RP-PIERRIER_A",
"stopSequence": 4
},
{
"arrival": {
"time": "1753340812"
},
"departure": {
"time": "1753340859"
},
"stopId": "ROUSSI_A",
"stopSequence": 5
},
{
"arrival": {
"time": "1753340900"
},
"departure": {
"time": "1753340929"
},
"stopId": "ENTRE-VIEIL_A",
"stopSequence": 6
},
{
"arrival": {
"time": "1753340961"
},
"departure": {
"time": "1753340976"
},
"stopId": "MARDI-GRA_A",
"stopSequence": 7
},
{
"arrival": {
"time": "1753341018"
},
"departure": {
"time": "1753341038"
},
"stopId": "ECOLE-VIEIL_A",
"stopSequence": 8
},
{
"arrival": {
"time": "1753341084"
},
"departure": {
"time": "1753341100"
},
"stopId": "PLAGEVIEIL_AR",
"stopSequence": 9
},
{
"arrival": {
"time": "1753341160"
},
"departure": {
"time": "1753341160"
},
"stopId": "CHEVRETTRES_AR",
"stopSequence": 10
},
{
"arrival": {
"time": "1753341220"
},
"departure": {
"time": "1753341220"
},
"stopId": "RESISTANCE_AR",
"stopSequence": 11
},
{
"arrival": {
"time": "1753341280"
},
"departure": {
"time": "1753341280"
},
"stopId": "TRAQUES_AR",
"stopSequence": 12
},
{
"arrival": {
"time": "1753341340"
},
"departure": {
"time": "1753341340"
},
"stopId": "ECOLE-VIEIL_R",
"stopSequence": 13
},
{
"arrival": {
"time": "1753341460"
},
"departure": {
"time": "1753341460"
},
"stopId": "MARDI-GRA_R",
"stopSequence": 14
},
{
"arrival": {
"time": "1753341520"
},
"departure": {
"time": "1753341520"
},
"stopId": "ENTRE-VIEIL_R",
"stopSequence": 15
},
{
"arrival": {
"time": "1753341580"
},
"departure": {
"time": "1753341580"
},
"stopId": "ROUSSI_R",
"stopSequence": 16
},
{
"arrival": {
"time": "1753341700"
},
"departure": {
"time": "1753341700"
},
"stopId": "RP-PIERRIER_R",
"stopSequence": 17
},
{
"arrival": {
"time": "1753341700"
},
"departure": {
"time": "1753341700"
},
"stopId": "CHAMPMART_R",
"stopSequence": 18
},
{
"arrival": {
"time": "1753341760"
},
"departure": {
"time": "1753341760"
},
"stopId": "CRF-PIERRBEA_R",
"stopSequence": 19
},
{
"arrival": {
"time": "1753341820"
},
"departure": {
"time": "1753341820"
},
"stopId": "MAISONSANTE_R",
"stopSequence": 20
},
{
"arrival": {
"time": "1753341940"
},
"departure": {
"time": "1753341940"
},
"stopId": "GARE-URB_AR",
"stopSequence": 21
}
],
"timestamp": "1753341095",
"trip": {
"routeId": "Ligne B",
"scheduleRelationship": "SCHEDULED",
"tripId": "B_01"
},
"vehicle": {
"id": "727b840497a9c18a"
}
}
},
{
"id": "trip:C_01",
"tripUpdate": {
"stopTimeUpdate": [
{
"arrival": {
"time": "1753335341"
},
"departure": {
"time": "1753336863"
},
"stopId": "GARE-URB_AR",
"stopSequence": 0
},
{
"arrival": {
"time": "1753336949"
},
"departure": {
"time": "1753336959"
},
"stopId": "MAISONSANTE_A",
"stopSequence": 1
},
{
"arrival": {
"time": "1753337061"
},
"departure": {
"time": "1753337071"
},
"stopId": "HOUSSI_A",
"stopSequence": 2
},
{
"arrival": {
"time": "1753337146"
},
"departure": {
"time": "1753337159"
},
"stopId": "LUZAY_A",
"stopSequence": 3
},
{
"arrival": {
"time": "1753337249"
},
"departure": {
"time": "1753337255"
},
"stopId": "LUZERON_A",
"stopSequence": 4
},
{
"arrival": {
"time": "1753337277"
},
"departure": {
"time": "1753337286"
},
"stopId": "PAREEBLAN_A",
"stopSequence": 5
},
{
"arrival": {
"time": "1753337304"
},
"departure": {
"time": "1753337313"
},
"stopId": "EGLISE_A",
"stopSequence": 6
},
{
"arrival": {
"time": "1753337368"
},
"departure": {
"time": "1753337380"
},
"stopId": "MAIRIEANNEXE_A",
"stopSequence": 7
},
{
"arrival": {
"time": "1753337417"
},
"departure": {
"time": "1753337637"
},
"stopId": "HERBAUPORT_A",
"stopSequence": 8
},
{
"arrival": {
"time": "1753337704"
},
"departure": {
"time": "1753337714"
},
"stopId": "RUEECOLES_AR",
"stopSequence": 9
},
{
"arrival": {
"time": "1753337777"
},
"departure": {
"time": "1753337792"
},
"stopId": "DUNES_AR",
"stopSequence": 10
},
{
"arrival": {
"time": "1753337815"
},
"departure": {
"time": "1753337830"
},
"stopId": "MARTROGER_AR",
"stopSequence": 11
},
{
"arrival": {
"time": "1753337985"
},
"departure": {
"time": "1753338006"
},
"stopId": "TERRSPORT_AR",
"stopSequence": 12
},
{
"arrival": {
"time": "1753338049"
},
"departure": {
"time": "1753338072"
},
"stopId": "GRANDEDOUV_AR",
"stopSequence": 13
},
{
"arrival": {
"time": "1753338126"
},
"departure": {
"time": "1753338321"
},
"stopId": "HERBAUPORT_R",
"stopSequence": 14
},
{
"arrival": {
"time": "1753338359"
},
"departure": {
"time": "1753338372"
},
"stopId": "MAIRIEANNEXE_R",
"stopSequence": 15
},
{
"arrival": {
"time": "1753338418"
},
"departure": {
"time": "1753338464"
},
"stopId": "EGLISE_R",
"stopSequence": 16
},
{
"arrival": {
"time": "1753338482"
},
"departure": {
"time": "1753338490"
},
"stopId": "PAREEBLAN_R",
"stopSequence": 17
},
{
"arrival": {
"time": "1753338518"
},
"departure": {
"time": "1753338589"
},
"stopId": "LUZERON_R",
"stopSequence": 18
},
{
"arrival": {
"time": "1753338627"
},
"departure": {
"time": "1753338637"
},
"stopId": "LUZAY_R",
"stopSequence": 19
},
{
"arrival": {
"time": "1753338722"
},
"departure": {
"time": "1753338731"
},
"stopId": "HOUSSI_R",
"stopSequence": 20
},
{
"arrival": {
"time": "1753338829"
},
"departure": {
"time": "1753338839"
},
"stopId": "MAISONSANTE_R",
"stopSequence": 21
},
{
"arrival": {
"time": "1753338921"
},
"stopId": "GARE-URB_AR",
"stopSequence": 22
}
],
"timestamp": "1753341099",
"trip": {
"routeId": "Ligne C",
"scheduleRelationship": "SCHEDULED",
"tripId": "C_01"
},
"vehicle": {
"id": "686cec19be97c0a2d3f4f810",
"label": "972",
"licensePlate": "GT-556-BT"
}
}
},
{
"id": "trip:A_01",
"tripUpdate": {
"stopTimeUpdate": [
{
"arrival": {
"time": "1753340407"
},
"departure": {
"time": "1753340442"
},
"stopId": "GARE-URB_AR",
"stopSequence": 0
},
{
"arrival": {
"time": "1753340603"
},
"departure": {
"time": "1753340649"
},
"stopId": "PLACE-DARME_A",
"stopSequence": 1
},
{
"arrival": {
"time": "1753340724"
},
"departure": {
"time": "1753340736"
},
"stopId": "TERRDEBOUL_A",
"stopSequence": 2
},
{
"arrival": {
"time": "1753340760"
},
"departure": {
"time": "1753340793"
},
"stopId": "LONGSEJOUR_A",
"stopSequence": 3
},
{
"arrival": {
"time": "1753340810"
},
"departure": {
"time": "1753340822"
},
"stopId": "CRF-BARBAU_A",
"stopSequence": 4
},
{
"arrival": {
"time": "1753340954"
},
"departure": {
"time": "1753340971"
},
"stopId": "CLAIRMAT_AR",
"stopSequence": 5
},
{
"arrival": {
"time": "1753340992"
},
"departure": {
"time": "1753341014"
},
"stopId": "HUTTOPIA_AR",
"stopSequence": 6
},
{
"arrival": {
"time": "1753341030"
},
"departure": {
"time": "1753341052"
},
"stopId": "MAISONBLANCHE_AR",
"stopSequence": 7
},
{
"arrival": {
"time": "1753341140"
},
"departure": {
"time": "1753341140"
},
"stopId": "MURETSABL_AR",
"stopSequence": 8
},
{
"arrival": {
"time": "1753341260"
},
"departure": {
"time": "1753341260"
},
"stopId": "CRF-BARBAU_R",
"stopSequence": 9
},
{
"arrival": {
"time": "1753341320"
},
"departure": {
"time": "1753341320"
},
"stopId": "LONGSEJOUR_R",
"stopSequence": 10
},
{
"arrival": {
"time": "1753341380"
},
"departure": {
"time": "1753341380"
},
"stopId": "TERRDEBOUL_R",
"stopSequence": 11
},
{
"arrival": {
"time": "1753341500"
},
"departure": {
"time": "1753341500"
},
"stopId": "PLACE-DARME_R",
"stopSequence": 12
},
{
"arrival": {
"time": "1753341620"
},
"departure": {
"time": "1753341620"
},
"stopId": "GARE-URB_AR",
"stopSequence": 13
}
],
"timestamp": "1753341099",
"trip": {
"routeId": "Ligne A",
"scheduleRelationship": "SCHEDULED",
"tripId": "A_01"
},
"vehicle": {
"id": "686cec19be97c0a2d3f4f810",
"label": "972",
"licensePlate": "GT-556-BT"
}
}
},
{
"id": "trip:Z_R_02",
"tripUpdate": {
"stopTimeUpdate": [
{
"stopId": "RPFOSSE_AR",
"stopSequence": 0
},
{
"arrival": {
"time": "1753340836"
},
"departure": {
"time": "1753340886"
},
"stopId": "VILLAVAC_R",
"stopSequence": 1
},
{
"arrival": {
"time": "1753340933"
},
"departure": {
"time": "1753340943"
},
"stopId": "CROIXVERTE_R",
"stopSequence": 2
},
{
"arrival": {
"time": "1753340982"
},
"departure": {
"time": "1753341044"
},
"stopId": "NOURES_R",
"stopSequence": 3
},
{
"arrival": {
"time": "1753341190"
},
"departure": {
"time": "1753341190"
},
"stopId": "ONCHERE_R",
"stopSequence": 4
},
{
"arrival": {
"time": "1753341370"
},
"departure": {
"time": "1753341370"
},
"stopId": "CROIXROUG_R",
"stopSequence": 5
},
{
"arrival": {
"time": "1753341610"
},
"departure": {
"time": "1753341610"
},
"stopId": "RPGOIS_AR",
"stopSequence": 6
},
{
"arrival": {
"time": "1753341790"
},
"departure": {
"time": "1753341790"
},
"stopId": "CENTREVILL_R",
"stopSequence": 7
},
{
"arrival": {
"time": "1753341850"
},
"departure": {
"time": "1753341850"
},
"stopId": "PARCMAIRIE_R",
"stopSequence": 8
},
{
"arrival": {
"time": "1753341970"
},
"departure": {
"time": "1753341970"
},
"stopId": "MAIRSONROUG_R",
"stopSequence": 9
},
{
"arrival": {
"time": "1753342210"
},
"departure": {
"time": "1753342210"
},
"stopId": "TRESSON_AR",
"stopSequence": 10
},
{
"arrival": {
"time": "1753342450"
},
"departure": {
"time": "1753342450"
},
"stopId": "CAMPINGBONH_R",
"stopSequence": 11
},
{
"arrival": {
"time": "1753342570"
},
"departure": {
"time": "1753342570"
},
"stopId": "ECOLECOM_R",
"stopSequence": 12
},
{
"arrival": {
"time": "1753342690"
},
"departure": {
"time": "1753342690"
},
"stopId": "CROIXBLANCH_R",
"stopSequence": 13
},
{
"arrival": {
"time": "1753342750"
},
"departure": {
"time": "1753342750"
},
"stopId": "FRANCS_R",
"stopSequence": 14
},
{
"arrival": {
"time": "1753342870"
},
"departure": {
"time": "1753342870"
},
"stopId": "4VENTS_R",
"stopSequence": 15
},
{
"arrival": {
"time": "1753343170"
},
"departure": {
"time": "1753343170"
},
"stopId": "PRKCAMPING_R",
"stopSequence": 16
},
{
"arrival": {
"time": "1753343410"
},
"departure": {
"time": "1753343410"
},
"stopId": "PORTMORIN_AR",
"stopSequence": 17
},
{
"arrival": {
"time": "1753343590"
},
"departure": {
"time": "1753343590"
},
"stopId": "CAMPINGBOSS_AR",
"stopSequence": 18
},
{
"arrival": {
"time": "1753343950"
},
"departure": {
"time": "1753343950"
},
"stopId": "PISCINE_AR",
"stopSequence": 19
},
{
"arrival": {
"time": "1753344070"
},
"departure": {
"time": "1753344070"
},
"stopId": "GARE-INTERURB_AR",
"stopSequence": 20
}
],
"timestamp": "1753341097",
"trip": {
"routeId": "Ligne Z",
"scheduleRelationship": "SCHEDULED",
"tripId": "Z_R_02"
},
"vehicle": {
"id": "60efd6e3556b6d0001d90ef8",
"label": "804",
"licensePlate": "FR-142-SJ"
}
}
},
{
"id": "trip:C_02",
"tripUpdate": {
"stopTimeUpdate": [
{
"arrival": {
"time": "1753340279"
},
"departure": {
"time": "1753340439"
},
"stopId": "GARE-URB_AR",
"stopSequence": 0
},
{
"arrival": {
"time": "1753340541"
},
"departure": {
"time": "1753340552"
},
"stopId": "MAISONSANTE_A",
"stopSequence": 1
},
{
"arrival": {
"time": "1753340674"
},
"departure": {
"time": "1753340680"
},
"stopId": "HOUSSI_A",
"stopSequence": 2
},
{
"arrival": {
"time": "1753340799"
},
"departure": {
"time": "1753340808"
},
"stopId": "LUZAY_A",
"stopSequence": 3
},
{
"arrival": {
"time": "1753340858"
},
"departure": {
"time": "1753340866"
},
"stopId": "LUZERON_A",
"stopSequence": 4
},
{
"arrival": {
"time": "1753340891"
},
"departure": {
"time": "1753340904"
},
"stopId": "PAREEBLAN_A",
"stopSequence": 5
},
{
"arrival": {
"time": "1753340921"
},
"departure": {
"time": "1753340931"
},
"stopId": "EGLISE_A",
"stopSequence": 6
},
{
"arrival": {
"time": "1753340986"
},
"departure": {
"time": "1753341028"
},
"stopId": "MAIRIEANNEXE_A",
"stopSequence": 7
},
{
"arrival": {
"time": "1753341078"
},
"departure": {
"time": "1753341100"
},
"stopId": "HERBAUPORT_A",
"stopSequence": 8
},
{
"arrival": {
"time": "1753341340"
},
"departure": {
"time": "1753341340"
},
"stopId": "RUEECOLES_AR",
"stopSequence": 9
},
{
"arrival": {
"time": "1753341400"
},
"departure": {
"time": "1753341400"
},
"stopId": "DUNES_AR",
"stopSequence": 10
},
{
"arrival": {
"time": "1753341520"
},
"departure": {
"time": "1753341520"
},
"stopId": "MARTROGER_AR",
"stopSequence": 11
},
{
"arrival": {
"time": "1753341580"
},
"departure": {
"time": "1753341580"
},
"stopId": "TERRSPORT_AR",
"stopSequence": 12
},
{
"arrival": {
"time": "1753341640"
},
"departure": {
"time": "1753341640"
},
"stopId": "GRANDEDOUV_AR",
"stopSequence": 13
},
{
"arrival": {
"time": "1753341820"
},
"departure": {
"time": "1753341820"
},
"stopId": "HERBAUPORT_R",
"stopSequence": 14
},
{
"arrival": {
"time": "1753341880"
},
"departure": {
"time": "1753341880"
},
"stopId": "MAIRIEANNEXE_R",
"stopSequence": 15
},
{
"arrival": {
"time": "1753342000"
},
"departure": {
"time": "1753342000"
},
"stopId": "EGLISE_R",
"stopSequence": 16
},
{
"arrival": {
"time": "1753342060"
},
"departure": {
"time": "1753342060"
},
"stopId": "PAREEBLAN_R",
"stopSequence": 17
},
{
"arrival": {
"time": "1753342120"
},
"departure": {
"time": "1753342120"
},
"stopId": "LUZERON_R",
"stopSequence": 18
},
{
"arrival": {
"time": "1753342180"
},
"departure": {
"time": "1753342180"
},
"stopId": "LUZAY_R",
"stopSequence": 19
},
{
"arrival": {
"time": "1753342240"
},
"departure": {
"time": "1753342240"
},
"stopId": "HOUSSI_R",
"stopSequence": 20
},
{
"arrival": {
"time": "1753342360"
},
"departure": {
"time": "1753342360"
},
"stopId": "MAISONSANTE_R",
"stopSequence": 21
},
{
"arrival": {
"time": "1753342480"
},
"departure": {
"time": "1753342480"
},
"stopId": "GARE-URB_AR",
"stopSequence": 22
}
],
"timestamp": "1753341099",
"trip": {
"routeId": "Ligne C",
"scheduleRelationship": "SCHEDULED",
"tripId": "C_02"
},
"vehicle": {
"id": "e1c40ca21e54afde"
}
}
}
],
"header": {
"gtfsRealtimeVersion": "2.0",
"timestamp": "1753341101"
}
}