Что такое поездка по запросу?

В этом разделе рассказывается, как создавать поездки и работать с ними в сервисе поездок по запросу 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 или использовать сервис Search Vehicle для поиска транспортных средств, фильтруя их по атрибутам поездки и транспортного средства, чтобы найти наиболее подходящее транспортное средство для поездки. Любое транспортное средство, находящееся в сети в пределах радиуса поиска, сообщает о своей близости через уведомления о местоположении, предоставляемые 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 значение COMPLETE в Fleet Engine. Помните, что, как и транспортные средства, объекты поездок остаются активными в Fleet Engine в течение семи дней независимо от статуса, после чего удаляются.

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

На схеме ниже показано, как это происходит.

TripSequenceDiagram

Дальнейшие действия