O que é uma viagem sob demanda?

A documentação nesta seção mostra como criar e trabalhar com viagens usando o serviço de viagens sob demanda do Google Maps Mobility. Ela pressupõe familiaridade com o seguinte:

O TripService que você vai usar está disponível para gRPC e REST. Para simplificar, as referências de campo seguem a convenção do gRPC.

No Fleet Engine para serviços sob demanda, uma viagem é um tipo de jornada que modela a conclusão de um pedido de entrega de comida ou de corrida dos seus consumidores. Uma viagem tem um status que você informa ao Fleet Engine à medida que a jornada evolui, como NEW, ENROUTE_TO_PICKUP e outros. O status da viagem corresponde aos waypoints geolocalizados atribuídos ao veículo, e o Fleet Engine modifica esses waypoints do veículo a cada atualização de viagem que você faz. Consulte Viagens sob demanda em Noções básicas do Fleet Engine para saber mais sobre viagens e a relação delas com os veículos.

Ciclo de vida de uma viagem

Para rastrear cada viagem no Fleet Engine, primeiro crie uma entidade Trip. Consulte gRPC ou REST para referência.

A tabela a seguir descreve um exemplo de fluxo completo de uma viagem criada no seu sistema e os estágios do ciclo de vida dela no Fleet Engine. Ela pressupõe que você configurou o Fleet Engine e tem um veículo para atribuir à viagem, com as atualizações de localização ativadas no app do motorista. Consulte SDK do driver: viagens sob demanda.

1 Receber pedido de reserva. Antes de uma viagem do Fleet Engine começar, seu sistema de reservas recebe um pedido de corrida ou entrega de um consumidor pelo seu app ou outro sistema de reservas. Em seguida, seu sistema cria a entidade de viagem usando CreateTrip com campos obrigatórios, como o local de embarque. Ele também pode definir outros campos nesse momento, como passageiros e local de desembarque, ou aguardar até atribuir um veículo. Consulte Criar uma viagem de destino único.
2 Atribuir veículo.

Você pode atribuir veículos a viagens diretamente no seu sistema e informar a atribuição ao Fleet Engine ou usar o serviço de pesquisa de veículos para procurar veículos, filtrando por atributos de viagem e veículo para encontrar o melhor veículo para concluir a jornada. Qualquer veículo on-line dentro do raio de pesquisa informa a proximidade por atualizações de localização fornecidas pelo SDK do driver.

Quando SearchVehicle retorna um veículo que você corresponde a uma viagem, seu sistema chama o endpoint UpdateTrip para informar o ID do veículo atribuído à viagem NEW.

3 Atualizar viagem. Quando o motorista aceita a viagem e começa a navegar até o local de embarque, seu sistema atualiza o status da viagem de NEW para ENROUTE_TO_PICKUP. Você continua a consultar a localização do veículo durante toda a jornada, seja por uma conexão direta do app com o back-end ou consultando o Fleet Engine, que recebe um fluxo contínuo de atualizações de localização do veículo do SDK do driver. Em seguida, seu sistema informa cada marco da jornada ao Fleet Engine, que atualiza a lista de waypoints do veículo de acordo.
4 Compartilhar a jornada com o consumidor. O Fleet Engine disponibiliza os detalhes da viagem e a localização do veículo para o SDK do consumidor, que usa um listener para receber atualizações de viagem e exibi-las no aplicativo para o consumidor. O Fleet Engine atualiza automaticamente a HEC, a distância restante, rotas e os waypoints restantes do veículo. Consulte Compartilhar jornadas para viagens sob demanda para mais informações.
5 Concluir a viagem. Quando o veículo chega ao waypoint de destino da viagem e o motorista indica uma viagem bem-sucedida, seu sistema define o TripStatus como COMPLETE no Fleet Engine. Assim como os veículos, as entidades de viagem permanecem ativas no Fleet Engine por sete dias, independentemente do status, e depois são removidas.

Fluxo de sequência de viagens

O diagrama a seguir mostra uma visão mais detalhada desse fluxo.

TripSequenceDiagram

A seguir