Este documento descreve como criar uma única viagem de destino, definir as campos e atribuí-los a um veículo para preenchimento. Ele pressupõe que você configurou a frota Engine e que tenha criado veículos, tenha um app de motorista funcionando e opcionalmente, um aplicativo para o consumidor. Consulte os seguintes guias relacionados para isso:
Noções básicas sobre a 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 da viagem
Use os campos a seguir para criar uma viagem no Fleet Engine. É possível usar diferentes para os diferentes tipos de viagem: um ou vários destinos, em viagens consecutivas ou compartilhadas. Você você pode fornecer os campos opcionais ao criar a viagem ou pode defini-los mais tarde, ao atualizar a viagem.
Nome | Obrigatório? | Descrição |
---|---|---|
pai | 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 a mesma conta de serviço papéis de segurança na nuvem. |
trip_id | Sim | Uma string que você cria que identifica exclusivamente essa viagem. Os IDs de viagem têm restrições específicas, 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 | 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 durante a viagem.
embarque e desembarque. Assim como em |
vehicle_waypoints | Sim | Somente viagens em pool compartilhado: este campo permite a intercalação dos waypoints de várias viagens.
Contém todos os waypoints restantes do veículo atribuído, bem como
como os waypoints de embarque e desembarque desta viagem. É possível 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 | ID do veículo atribuído à viagem. |
Exemplo: viagem de destino único
O exemplo a seguir demonstra como criar uma viagem para a Grande Indonésia
Shopping East Mall. A viagem envolve dois passageiros, é exclusiva e seu status é
NEW
: O provider_id
da viagem precisa ser o mesmo do Google Cloud
ID do projeto. Os exemplos mostram um projeto do Google Cloud com o ID do projeto
my-rideshare-co-gcp-project
: Este 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;
}