Ce document explique comment créer un trajet aller-à-retour, comment et l'attribuer à un véhicule à remplir. Nous partons du principe que vous avez configuré Fleet vous avez créé des véhicules, vous avez une application de conducteur qui fonctionne et éventuellement une application grand public. Vous devez également être familiarisé avec les différents disponibles pour les trajets à la demande. Consultez les guides associés suivants pour que:
- Configurer Fleet Engine
- Créer un véhicule
- Scénarios de trajet dans la présentation des trajets à la demande
Principes de base de la création de voyages
Cette section décrit les détails de la demande nécessaire à la création d'un trajet dans Fleet Engine. Vous pouvez émettre une requête de création à l'aide de gRPC et REST.
Champs de trajet
Utilisez les champs suivants pour créer un trajet dans Fleet Engine. Vous pouvez utiliser différentes pour les différents types de trajets: une seule ou plusieurs destinations, ou de pooling partagés. Toi vous pouvez renseigner les champs facultatifs lors de la création du voyage, ou vous pouvez les définir lorsque vous mettrez à jour le trajet.
Nom | Obligatoire ? | Description |
---|---|---|
parent | Oui | Chaîne incluant l'ID du projet. Cet ID doit être le même que celui utilisé sur l'ensemble de votre intégration Fleet Engine, avec le même compte de service de rôles. |
trip_id | Oui | Chaîne que vous créez et identifie ce trajet de manière unique. Les ID de trajet comportent certaines restrictions, comme indiqué dans la référence. |
trip_type | Oui | Définissez TripType sur les valeurs suivantes pour le type de voyage que vous créez:
<ph type="x-smartling-placeholder">
|
pickup_point | Oui | Point de départ du trajet. |
Destinations intermédiaires | Oui | Multi-destination trips only (Trajets multidestinations uniquement) : liste des destinations intermédiaires visitées par le conducteur entre le trajet
le retrait et le dépose. Comme pour |
vehicle_waypoints | Oui | Shared-pooling trips only (Trajets avec pooling partagé uniquement) : ce champ permet d'entrelacer les points de cheminement de plusieurs trajets.
Il contient tous les points de cheminement restants pour le véhicule attribué, ainsi que
comme points de cheminement de prise
en charge et de dépose pour ce trajet. Vous pouvez définir ce champ
en appelant |
number_of_passengers | Non | Nombre de passagers du voyage. |
dropoff_point | Non | Destination du voyage. |
vehicle_id | Non | Identifiant du véhicule attribué au trajet. |
Exemple: Créer un trajet aller-retour
Vous trouverez ci-dessous la procédure à suivre pour créer un trajet aller-retour et l'attribuer à un véhicule. Dans ce scénario, la création de trajets est la même que pour une destination unique. voyage. Ce n'est que plus tard que vous créez un autre trajet et que vous l'attribuez à un véhicule avec un trajet déjà actif.
// A vehicle with ID 'my-vehicle' is already created and it is assigned to a trip with ID 'current-trip'.
static final String PROJECT_ID = "my-rideshare-co-gcp-project";
static final String VEHICLE_ID =" my-vehicle";
static final String TRIP_ID = "back-to-back-trip");
TripServiceBlockingStub tripService = TripService.newBlockingStub(channel);
String parent = "providers/" + PROJECT_ID;
Trip trip = Trip.newBuilder()
.setTripType(TripType.EXCLUSIVE)
.setPickupPoint(
TerminalLocation.newBuilder().setPoint(
LatLng.newBuilder()
.setLatitude(-6.195139).setLongitude(106.820826)))
.setDropoffPoint(
TerminalLocation.newBuilder().setPoint(
LatLng.newBuilder()
.setLatitude(-6.1275).setLongitude(106.6537)))
.setVehicleId(VEHICLE_ID)
.build();
// Create trip request
CreateTripRequest createTripRequest = CreateTripRequest.newBuilder()
.setParent(parent)
.setTripId(TRIP_ID)
.setTrip(trip)
.build();
// Error handling.
try {
// Fleet Engine automatically assigns a 'waypoints' list to the trip containing
// the vehicle's current trip waypoints.
Trip createdTrip =
tripService.createTrip(createTripRequest);
} catch (StatusRuntimeException e) {
Status s = e.getStatus();
switch (s.getCode()) {
case ALREADY_EXISTS:
break;
case PERMISSION_DENIED:
break;
}
return;
}
Mettre à jour des trajets consécutifs
Lorsque vous attribuez un véhicule à un trajet aller-retour, vous attribuez un trajet à un même s'il en a déjà un.
Tout trajet créé dans Fleet Engine doit être attribué à un véhicule pour que Fleet Engine pour calculer l'heure d'arrivée prévue des trajets et en effectuer le suivi. Vous pouvez le faire pendant création d'un voyage ou ultérieurement lorsque vous le mettrez à jour.
Une fois que vous avez attribué le trajet à un véhicule, Fleet Engine ajoute automatiquement le
points de cheminement associés aux trajets aller-retour jusqu'aux points de cheminement du véhicule
. Le champ remainingWaypoints
d'un trajet contient la liste de tous les
les points de cheminement, y compris ceux d'autres trajets qui seront visités avant
le dépôt du voyage.
Prenons l'exemple de deux trajets aller-retour: Trajet A. et Trajet B. Le véhicule a récupéré le client pour le trajet A, et pendant l'itinéraire jusqu'au dépôt le conducteur reçoit une requête lui demandant de prendre en charge un autre client prochain trajet, Trajet B.
- Appeler
getVehicle()
renvoieremainingWaypoints
contenant:
Un abandon → B Retrait → B Abandon. getTrip()
ou la RappelonTripRemainingWaypointsUpdated
pour Le trajet A renvoieremainingWaypoints
contenant:
Un abandon.getTrip()
ou la RappelonTripRemainingWaypointsUpdated
pour Le trajet B renvoieremainingWaypoints
contenant:
Un abandon → B Retrait → et B Abandon.