Ce document explique comment créer un trajet à destination unique, définir les champs appropriés et l'attribuer à un véhicule. Il suppose que vous avez configuré Fleet Engine et que vous avez créé des véhicules, que vous disposez d'une application de chauffeur fonctionnelle et, éventuellement, d'une application grand public. Pour en savoir plus, consultez les guides suivants :
Principes de base de la création de trajets
Cette section décrit les détails de la requête nécessaires pour créer un trajet dans Fleet Engine. Vous émettez une requête de création à l'aide de gRPC et de REST.
Champs de trajet
Utilisez les champs suivants pour créer un trajet dans Fleet Engine. Vous pouvez utiliser différents champs pour les différents types de trajets : à destination unique ou multiple, consécutifs ou partagés. Vous pouvez fournir les champs facultatifs lorsque vous créez le trajet ou les définir ultérieurement lorsque vous le mettez à jour.
| Nom | Obligatoire ? | Description |
|---|---|---|
| parent | Oui | Chaîne incluant l'ID du projet. Cet ID doit être identique à celui utilisé dans l'ensemble de votre intégration Fleet Engine, avec les mêmes rôles de compte de service. |
| trip_id | Oui | Chaîne que vous créez et qui identifie ce trajet de manière unique. Les ID de trajet sont soumis à certaines restrictions, comme indiqué dans la documentation de référence. |
| trip_type | Oui | Définissez TripType sur les valeurs suivantes pour le type de trajet que vous créez :
|
| pickup_point | Oui | Point de départ du trajet. |
| Destinations intermédiaires | Oui | Trajets multidestinations uniquement : liste des destinations intermédiaires que le conducteur visite entre la prise en charge et la dépose. Comme pour |
| vehicle_waypoints | Oui | Trajets partagés 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 les 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 pour le voyage. |
| dropoff_point | Non | Destination du trajet. |
| vehicle_id | Non | ID du véhicule attribué au trajet. |
Exemple : voyage vers une seule destination
L'exemple suivant montre comment créer un trajet vers le centre commercial Grand Indonesia East Mall. Le trajet implique deux passagers, est exclusif et son état est NEW. L'provider_id du trajet doit être identique à l'ID du projet Google Cloud. Les exemples montrent un projet Google Cloud avec l'ID de projet my-rideshare-co-gcp-project. Ce projet doit également inclure un compte de service pour appeler Fleet Engine. Pour en savoir plus, consultez Rôles des comptes de service.
static final String PROJECT_ID = "my-rideshare-co-gcp-project";
TripServiceBlockingStub tripService = TripService.newBlockingStub(channel);
// Trip initial settings.
String parent = "providers/" + PROJECT_ID;
Trip trip = Trip.newBuilder()
.setTripType(TripType.EXCLUSIVE) // Use TripType.SHARED for carpooling.
.setPickupPoint( // Grand Indonesia East Mall.
TerminalLocation.newBuilder().setPoint(
LatLng.newBuilder()
.setLatitude(-6.195139).setLongitude(106.820826)))
.setNumberOfPassengers(2)
// Provide the drop-off point if available.
.setDropoffPoint(
TerminalLocation.newBuilder().setPoint(
LatLng.newBuilder()
.setLatitude(-6.1275).setLongitude(106.6537)))
.build();
// Create trip request
CreateTripRequest createTripRequest = CreateTripRequest.newBuilder()
.setParent(parent)
.setTripId("trip-8241890") // Trip ID assigned by the provider.
.setTrip(trip) // The initial state is NEW.
.build();
// Error handling.
try {
Trip createdTrip = tripService.createTrip(createTripRequest);
} catch (StatusRuntimeException e) {
Status s = e.getStatus();
switch (s.getCode()) {
case ALREADY_EXISTS:
break;
case PERMISSION_DENIED:
break;
}
return;
}