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ê configurou o Fleet Engine e que criou veículos, tem um app para motoristas funcional e, opcionalmente, um app para o consumidor. Consulte os guias relacionados abaixo para saber mais:
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 campos diferentes para cada tipo de viagem: viagens de um ou vários destinos, voltas para trás ou em pool compartilhado. Você pode fornecer os campos opcionais ao criar a viagem ou 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 os mesmos papéis da conta de serviço. |
trip_id | Sim | Uma string criada por você que identifica exclusivamente essa viagem. Os IDs de viagem têm determinadas 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 | 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 em pool compartilhado: este campo permite a intercalação dos waypoints 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. 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 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 de 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 de contas 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;
}