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

В документации этого раздела рассказывается, как создавать поездки и работать с ними с помощью сервиса Google Карт для поездок по запросу. Для работы с ним необходимо знать:

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 в течение 7 дней независимо от статуса, после чего они удаляются.

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

На приведенной ниже схеме показан более подробный вид этого потока.

TripSequenceDiagram

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