Important : Pour annuler ou suspendre plusieurs trajets associés (par exemple, annuler tous les services pendant une journée), consultez l'article sur l'annulation de trajets à l'aide d'alertes.
Pour annuler un trajet en temps réel, sélectionnez-le à l'aide de l'élément "TripDescriptor". Une fois le trajet sélectionné, vous pouvez l'annuler avec un message de type "ServiceAlerts" (alertes de service) ou "TripUpdates" (mise à jour du trajet).
Annuler un trajet avec un message "ServiceAlerts"
Fournissez un message service_alert
avec un descripteur de trajet (TripDescriptor) correspondant au trajet concerné, et définissez le champ "effect" sur NO_SERVICE
. Si l'élément "TripDescriptor" est fourni dans une alerte EntitySelector
, le champ schedule_relationship
est ignoré. Les messages "ServiceAlerts" dans lesquels la valeur du champ "effect" est différente de NO_SERVICE
sont seulement annotés avec les détails de l'alerte.
Les trajets annulés via des alertes de service sont affichés dans la section sur les services interrompus dans les résultats de recherche.
Pour annuler un trajet non basé sur la fréquence via une alerte, il est recommandé de fournir un descripteur qui spécifie à la fois un identifiant de trajet (trip_id
) et une date de début (start_date
). Afin d'éviter toute ambiguïté, il est vivement déconseillé de fournir un trip_id
sans start_date
. Si vous n'indiquez que l'identifiant du trajet (trip_id
), le champ "trip" (trajet) risque d'annuler un seul trajet, ce qui n'est pas forcément ce que vous attendez.
Exemple de code :
alert {
informed_entity {
trip: {
trip_id: "T"
start_date: "20200818"
start_time: "07:00:00"
}
effect: NO_SERVICE
}
Exemple 1 :
Exemple 2 :
Annuler un trajet avec un message "TripUpdates"
Fournissez un message trip_update
avec un descripteur de trajet (TripDescriptor) correspondant au trajet concerné, et définissez le champ schedule_relationship
sur CANCELED
. Cette opération permet de supprimer le trajet des résultats de recherche. Une fois le trajet supprimé, toutes les mises à jour le concernant doivent indiquer qu'il est annulé afin de garantir l'exactitude des résultats de recherche. Découvrez l'impact des écarts de données sur les flux en temps réel.
Exemple de code :
trip_update {
trip {
trip_id: “T”
start_time: 12:34:56
schedule_relationship: CANCELED
}
}
Configurer des flux "ServiceAlerts" et "TripUpdates"
Vous ne pouvez pas annuler un trajet avec le flux vehicle_position
(position du véhicule), car un trajet annulé ne peut pas envoyer de données sur la position du véhicule concerné. Si le flux "VehiclePosition" vous sert à fournir des mises à jour sur le véhicule, vous pouvez configurer les flux "ServiceAlerts" ou "TripUpdates" pour indiquer seulement les annulations. Si vous envisagez d'utiliser le flux "TripUpdates" uniquement à cette fin, contactez l'équipe d'assistance pour le configurer.