Что такое поездка по требованию?

В этом разделе представлена документация, описывающая создание и работу с маршрутами с помощью сервиса поездок по запросу Google Maps Mobility. Предполагается, что вы знакомы со следующими аспектами:

TripService , который вы будете использовать, доступен для gRPC и REST . Для простоты ссылки на поля соответствуют правилам gRPC.

В Fleet Engine для услуг по запросу поездка — это тип поездки, моделирующий выполнение заказа на доставку еды или поездку от ваших клиентов. У поездки есть статус, который вы сообщаете Fleet Engine по мере её развития, например, NEW , ENROUTE_TO_PICKUP ) и другие. Статус поездки соответствует геолокированным путевым точкам, назначенным транспортному средству, и Fleet Engine изменяет эти путевые точки с каждым обновлением данных о поездке. Подробнее о поездках и их связи с транспортными средствами см. в разделе «Поездки по запросу» в разделе «Основные сведения о Fleet Engine» .

Жизнь как путешествие

Чтобы отслеживать каждую поездку в Fleet Engine, необходимо сначала создать объект Trip . См. gRPC или REST для справки.

В таблице ниже описан пример сквозного процесса поездки, созданной в вашей системе, и этапы её жизненного цикла в Fleet Engine. Предполагается, что вы настроили Fleet Engine и у вас есть автомобиль для назначения на поездку, а в приложении водителя включены обновления местоположения. См. Driver SDK: Поездки по требованию .

1 Получите запрос на бронирование. Перед началом поездки Fleet Engine ваша система бронирования получает запрос на поездку или доставку от клиента через ваше приложение или другую систему бронирования. Затем система создаёт объект поездки с помощью CreateTrip с обязательными полями, такими как место посадки. На этом этапе она также может указать другие поля, например, количество пассажиров и место высадки, или дождаться назначения транспортного средства. См. раздел Создание поездки с одним пунктом назначения .
2 Назначить транспортное средство.

Вы можете либо назначать автомобили на рейсы непосредственно в своей системе и сообщать о назначении в Fleet Engine, либо использовать сервис поиска автомобилей , фильтруя автомобили по параметрам как поездки, так и самого автомобиля, чтобы найти оптимальный вариант. Любой автомобиль, находящийся онлайн в радиусе поиска, сообщает о своей близости с помощью обновлений местоположения, предоставляемых Driver SDK.

Как только SearchVehicle возвращает транспортное средство, сопоставленное с поездкой, ваша система вызывает конечную точку UpdateTrip , чтобы сообщить идентификатор транспортного средства, назначенный вами NEW поездке.

3 Обновление поездки. Как только водитель принимает заказ и начинает движение к месту посадки, ваша система обновляет статус поездки с NEW на ENROUTE_TO_PICKUP . Вы продолжаете опрашивать местоположение автомобиля на протяжении всей поездки, либо через прямое подключение приложения к вашей серверной части, либо опрашивая Fleet Engine, который получает непрерывный поток обновлений местоположения автомобиля от Driver SDK. Затем ваша система сообщает о каждом этапе поездки во Fleet Engine, который соответствующим образом обновляет список путевых точек автомобиля.
4 Поделитесь путешествием с потребителем. Fleet Engine предоставляет информацию о поездке и местоположении транспортного средства в Consumer SDK, который использует прослушиватель для получения обновлений о поездке и отображения их в потребительском приложении. Fleet Engine автоматически обновляет данные о времени прибытия, оставшемся расстоянии, маршрутах и оставшихся точках маршрута транспортного средства. Подробнее см. в разделе «Поделиться поездками» для поездок по запросу .
5 Полное путешествие. Как только транспортное средство достигает конечной точки маршрута и ваш водитель сообщает об успешном завершении поездки, система устанавливает TripStatus в Fleet Engine на COMPLETE . Имейте в виду, что, как и транспортные средства, объекты поездок остаются активными в Fleet Engine в течение 7 дней независимо от статуса, после чего они удаляются.

Последовательность действий при поездке

На следующей диаграмме представлен более подробный вид этого потока.

TripSequenceDiagram

Что дальше?