Este documento descreve como criar uma viagem de ida e volta, definir as campos e atribuí-los a um veículo para preenchimento. Ele pressupõe que você configurou a frota Engine, você criou veículos, tem um app para motoristas funcionando e opcionalmente, um aplicativo para o consumidor. Você também deve estar familiarizado com as várias para viagens sob demanda. Consulte os seguintes guias relacionados para que:
- Configurar o Fleet Engine
- Criar um veículo
- Cenários de viagem na visão geral de Viagens sob demanda
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: criar uma viagem de ida
Veja a seguir como criar uma viagem de ida e volta e atribuí-la a um veículo Nesse caso, a criação da viagem é a mesma usada para um destino viagem. Só depois você cria outra viagem e a atribui a um veículo com uma viagem já ativa.
// A vehicle with ID 'my-vehicle' is already created and it is assigned to a trip with ID 'current-trip'.
static final String PROJECT_ID = "my-rideshare-co-gcp-project";
static final String VEHICLE_ID =" my-vehicle";
static final String TRIP_ID = "back-to-back-trip");
TripServiceBlockingStub tripService = TripService.newBlockingStub(channel);
String parent = "providers/" + PROJECT_ID;
Trip trip = Trip.newBuilder()
.setTripType(TripType.EXCLUSIVE)
.setPickupPoint(
TerminalLocation.newBuilder().setPoint(
LatLng.newBuilder()
.setLatitude(-6.195139).setLongitude(106.820826)))
.setDropoffPoint(
TerminalLocation.newBuilder().setPoint(
LatLng.newBuilder()
.setLatitude(-6.1275).setLongitude(106.6537)))
.setVehicleId(VEHICLE_ID)
.build();
// Create trip request
CreateTripRequest createTripRequest = CreateTripRequest.newBuilder()
.setParent(parent)
.setTripId(TRIP_ID)
.setTrip(trip)
.build();
// Error handling.
try {
// Fleet Engine automatically assigns a 'waypoints' list to the trip containing
// the vehicle's current trip waypoints.
Trip createdTrip =
tripService.createTrip(createTripRequest);
} catch (StatusRuntimeException e) {
Status s = e.getStatus();
switch (s.getCode()) {
case ALREADY_EXISTS:
break;
case PERMISSION_DENIED:
break;
}
return;
}
Atualizar viagens de ida e volta
Ao atribuir um veículo para uma viagem de ida e volta, você atribui uma viagem a um veículo, mesmo que já tenha sido atribuído a ele.
Qualquer viagem criada no Fleet Engine deve ser atribuída a um veículo para que o Fleet Engine para calcular os HECs das viagens e monitorá-los. Você pode fazer isso durante criação da viagem ou depois, ao atualizá-la.
Depois de atribuir a viagem a um veículo, o Fleet Engine adiciona automaticamente o
waypoints associados às viagens de ida e volta até os waypoints do veículo
. O campo remainingWaypoints
de uma viagem contém uma lista de todos os
waypoints, incluindo os de outras viagens que serão visitadas antes
o desembarque da viagem.
Por exemplo, considere duas viagens de ida e volta: Viagem A. e a Viagem B. O veículo pegou o consumidor para a Viagem A e durante o trajeto até a desembarque. local, o motorista recebe uma solicitação para retirar outro consumidor para o próxima viagem, a Viagem B.
- Chamar
getVehicle()
retornaremainingWaypoints
que contenham:
Uma desistência → B Retirada → B Desistência. getTrip()
ou o CallbackonTripRemainingWaypointsUpdated
para A viagem A retornaremainingWaypoints
que contenham:
Uma desistência.getTrip()
ou o CallbackonTripRemainingWaypointsUpdated
para A viagem B retornaremainingWaypoints
que contêm:
Uma desistência → B Retirada → e B Desistência.