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. Ele 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 o atendimento de um pedido de entrega de comida ou de viagem dos seus consumidores. Uma viagem tem um status que você informa ao Motor de frota à medida que a jornada evolui, como NEW, ENROUTE_TO_PICKUP e muito mais. O status da viagem corresponde aos pontos de referência geolocalizados atribuídos ao veículo, e o Fleet Engine modifica esses pontos de referência do veículo a cada atualização de viagem feita. Consulte Viagens sob demanda em Fundamentos do Fleet Engine para saber mais sobre viagens e a relação delas com os veículos.

Ciclo 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 de ponta a ponta de uma viagem criada no seu sistema e os estágios do ciclo de vida dela no Fleet Engine. Ele pressupõe que você configurou o Fleet Engine e tem um veículo para atribuir à viagem, com atualizações de localização ativadas no app para motoristas. Consulte SDK Driver: viagens sob demanda.

1 Receba um pedido de agendamento. Antes de uma viagem do Fleet Engine começar, seu sistema de reservas primeiro recebe um pedido de carona ou entrega de um consumidor pelo seu app ou outro sistema de reservas. Em seguida, o sistema cria a entidade de viagem usando CreateTrip com os campos obrigatórios, como o local de partida. Ele também pode definir outros campos nesse momento, como passageiros e local de desembarque, ou esperar até que um veículo seja atribuído. 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 Pesquisar veículo para procurar veículos, filtrando por atributos de viagem e veículo para encontrar o melhor veículo para concluir a viagem. Qualquer veículo on-line dentro do raio de pesquisa informa a proximidade por atualizações de localização fornecidas pelo SDK Driver.

Quando SearchVehicle retorna um veículo que 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 pesquisando a localização do veículo durante toda a viagem, seja por uma conexão direta do app com seu back-end ou pesquisando o Fleet Engine, que recebe um fluxo contínuo de atualizações de localização do veículo pelo SDK Driver. Em seguida, seu sistema informa cada marco da viagem ao Fleet Engine, que atualiza a lista de waypoints do veículo de acordo.
4 Compartilhe a jornada com o consumidor. O Fleet Engine disponibiliza detalhes da viagem e localização do veículo para o SDK do consumidor, que usa um listener para receber atualizações da viagem e mostrá-las no app do consumidor. O Fleet Engine atualiza automaticamente a ETA, a distância restante, as rotas e os waypoints restantes do veículo. Consulte Compartilhar trajetos para viagens sob demanda para mais informações.
5 Concluir a viagem. Quando o veículo chega ao destino da viagem e o motorista indica que a viagem foi concluída, 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