Neste documento, descrevemos como criar uma única viagem de destino, definir os campos corretos e atribuí-la a um veículo para atendimento. Ele pressupõe que você tenha configurado o Fleet Engine e criado veículos, um app de motorista e, opcionalmente, um app de consumidor. Consulte os seguintes guias relacionados:
Conceitos básicos 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 e 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, viagens 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 essa viagem. Os IDs de viagem têm algumas restrições, conforme indicado na referência. |
trip_type | Sim | Defina TripType como os seguintes valores para o tipo de viagem que você está criando:
|
pickup_point | Sim | 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 coleta e a entrega. Assim como o |
vehicle_waypoints | Sim | Somente viagens compartilhadas: esse campo aceita a intercalação de pontos de passagem de várias viagens.
Ele contém todos os waypoints restantes do veículo atribuído, além dos waypoints de embarque e desembarque dessa viagem. É possível definir esse campo
chamando |
number_of_passengers | Não | O número de passageiros na viagem. |
dropoff_point | Não | O destino da viagem. |
vehicle_id | Não | ID do veículo atribuído à viagem. |
Exemplo: viagem de destino único
O exemplo a seguir demonstra como criar uma viagem para o Grand Indonesia East Mall. A viagem envolve dois passageiros, é exclusiva e tem 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
. Esse projeto 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;
}