Este documento descreve como criar uma viagem de destino único, definir os campos corretos e atribuir a um veículo para concluir. Ele pressupõe que você configurou o Fleet Engine, criou veículos, tem um app para motoristas funcionando e, opcionalmente, um aplicativo para o consumidor. Consulte os seguintes guias relacionados:
Noções básicas da criação de viagens
Esta seção descreve os detalhes da solicitação necessários para criar uma viagem no Fleet Engine. Você emite uma solicitação de criação usando gRPC ou REST.
Campos de viagem
Use os campos a seguir para criar uma viagem no Fleet Engine. É possível usar campos diferentes para os diferentes tipos de viagens: com um ou vários destinos, consecutivas ou compartilhadas. Você pode fornecer os campos opcionais ao criar a viagem ou defini-los mais tarde, ao atualizar a viagem.
| Nome | Obrigatório? | Descrição |
|---|---|---|
| parent | Sim | Uma string que inclui o ID do projeto. Esse ID precisa ser o mesmo usado em toda a integração do Fleet Engine, com as mesmas funções da conta de serviço. |
| trip_id | Sim | Uma string criada por você que identifica exclusivamente esta viagem. Os IDs de viagem têm algumas restrições, conforme indicado na referência. |
| trip_type | Sim | Defina o TripType com os seguintes valores para o tipo de viagem que você está criando:
|
| pickup_point | Sim | O ponto de origem da viagem. |
| Destinos intermediários | Sim | Somente viagens com vários destinos: a lista de destinos intermediários que o motorista visita entre
a retirada e o desembarque. Assim como |
| vehicle_waypoints | Sim | Somente viagens de transporte compartilhado: esse campo oferece suporte ao intercalamento dos pontos de parada de várias viagens.
Ele contém todos os pontos de parada restantes do veículo atribuído, bem como os pontos de parada de
embarque e desembarque da viagem. Para definir esse campo, chame |
| number_of_passengers | Não | O número de passageiros na viagem. |
| dropoff_point | Não | O destino da viagem. |
| vehicle_id | Não | O ID do veículo atribuído à viagem. |
Exemplo: viagem para um único destino
O exemplo a seguir demonstra como criar uma viagem para o Grand Indonesia East Mall. A viagem envolve dois passageiros, é exclusiva e o status é
NEW. O provider_id da viagem precisa ser igual ao ID do projeto do Google Cloud. Os exemplos mostram um projeto do Google Cloud com o ID do projeto my-rideshare-co-gcp-project. Ele também precisa incluir uma conta de serviço para chamar o Fleet Engine. Consulte Papéis da conta de serviço para mais detalhes.
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;
}