В этом документе описывается услуга поездок по требованию в Fleet Engine. Предполагается, что вы прочитали Что такое Fleet Engine? и знаете о конкретных возможностях службы Fleet Engine, которые вам нужны.
При чтении этой документации помните следующее:
- Вы назначаете поездки транспортным средствам, чтобы смоделировать реальную связь между поездкой и водителем, который ее совершает . Прочитайте Введение в транспортные средства, чтобы лучше понять, как транспортные средства работают в Fleet Engine.
- В этом документе также описаны некоторые элементы транспортного средства, которые применяются только к поездкам по запросу.
- Fleet Engine для поездок по требованию использует два ресурса :
Trip
иVehicle
. Fleet Engine предоставляет как gRPC-сервис, так и REST-интерфейсы:
Что такое поездка по запросу?
В Fleet Engine поездка представляет собой поездку по требованию, которая может достигать различных транспортных целей. Например:
- Люди : перевозка одного или нескольких человек от места посадки до места высадки.
- Продукты питания и товары : заберите один или несколько заказов на продукты питания из указанного офиса компании и доставьте эти заказы одному или нескольким получателям по их адресам.
Элементы поездки
На следующем рисунке показаны основные элементы поездки: назначенный идентификатор транспортного средства, статус поездки и путевые точки поездки. Типы путевых точек различаются в зависимости от этапа поездки: пункт посадки, промежуточный и пункт высадки. В любой поездке промежуточный пункт назначения или путевая точка являются необязательными. В примере на изображении транспортное средство прибыло в пункт посадки
Модель данных для поездок
Поскольку ваш бэкэнд назначает поездки транспортным средствам, он также должен знать о других поездках, запланированных для транспортного средства. По этой причине следующие диаграммы иллюстрируют модель данных ресурса Trip
рядом с диаграммой для связанного с ним ресурса Vehicle
. Вы можете просмотреть обе диаграммы, чтобы изучить взаимосвязи между двумя ресурсами, имея в виду следующее:
- Поездки назначаются транспортному средству по его идентификатору .
- Ассоциация поездка-транспортное средство — «многие к одному» . То есть данная поездка может быть единственной запланированной поездкой для транспортного средства или одной из многих поездок для транспортного средства.
- Объекты Trip содержат два списка точек маршрута поездки , один для самой поездки и один для назначенного транспортного средства. Это более подробно объясняется в этом документе.
- Транспортное средство по запросу также имеет список промежуточных точек поездки , более подробно описанный в этом документе.
Модель данных о поездке
Модель данных транспортного средства
Типы поездок
Когда ваш сервис создает поездку, он может установить поле tripType
как одно из следующих: EXCLUSIVE
или SHARED
.
Эксклюзивные поездки
Эксклюзивная поездка — это та, поездка которой не пересекается с другими поездками, и та, которую транспортное средство завершает либо до, либо после других поездок по своему расписанию. Это означает, что когда ваша система назначает эксклюзивные поездки, она может назначать их транспортному средству только для выполнения последовательно, а не одновременно. Для иллюстрации вы можете создать эксклюзивные поездки с любыми из следующих характеристик:
- Поездка с одной посадкой и одной высадкой для транспортного средства, в расписании которого нет других поездок.
- Поездка с посадкой, промежуточной точкой маршрута и высадкой для транспортного средства, в расписании которого нет других поездок.
- Поездка с посадкой и высадкой, добавленная в конец уже запланированной поездки для транспортного средства. В этих случаях каждая поездка является исключительной по отношению к другой, но поездки заказываются в режиме «бок о бок». Кроме того, такие поездки могут включать промежуточные пункты назначения, если это необходимо.
Совместные поездки
Совместная поездка — это поездка, поездка которой может перекрываться с другими бронированиями поездок. Для этих типов поездок ваша система может назначить их одновременным выполнением с чередованием пунктов назначения. Например, высадка для одной поездки может произойти после посадки для другой поездки. Кроме того, совместные поездки не могут использовать промежуточные путевые точки.
Обычно совместную поездку можно использовать для одного из сценариев совместного объединения, проиллюстрированных в разделе «Сценарии поездок» .
Точки маршрута поездки
Для Google Maps путевая точка — это место на маршруте, обычно определяемое координатами широты/долготы. Для поездок по требованию путевая точка представлена объектом TripWaypoint
, который содержит дополнительную информацию, например:
- Идентификатор поездки
-
WaypointType
: точка посадки, промежуточная точка или точка высадки - Информация о пути и расстоянии между предыдущей точкой маршрута и текущей.
- Условия дорожного движения по пути к точке маршрута
- Время в пути и расчетное время прибытия до точки маршрута
Смотрите ссылки:
Типы путевых точек поездки
Промежуточная точка поездки определяется по отношению к общему жизненному циклу поездки транспортного средства:
- Точка отправления — используется для указания отправной точки или начала поездки, например, когда водитель забирает заказ на еду для последующей доставки или когда водитель забирает человека для последующей высадки.
- Промежуточная точка маршрута — промежуточный пункт назначения, который может использоваться для различных целей, например, когда водитель высаживает одного пассажира из той же группы бронирования, но сама поездка не завершена, так как остается больше пассажиров. Эта точка маршрута является необязательной и может использоваться только для эксклюзивных поездок.
- Точка высадки — используется для обозначения конечного пункта поездки, например, когда оставшийся пассажир выходит из транспортного средства.
Списки путевых точек поездки
Сущность Trip
включает два списка путевых точек, каждый из которых является повторяющимся полем типа TripWaypoint
. Один список описывает поля, необходимые для самой поездки, а другой — все оставшиеся путевые точки для транспортного средства, связанного с поездкой. Это позволяет вам иметь полную картину всех элементов поездки: поездки и всего пути транспортного средства.
- Оставшиеся путевые точки для транспортного средства — поле с именем
vehicle_waypoints
. Оно содержит все оставшиеся путевые точки для всех поездок, назначенных транспортному средству. - Оставшиеся точки маршрута для поездки — поле с именем
remaining_waypoints
. Оно содержит точки маршрута, которые транспортное средство должно пройти последовательно до конечной точки маршрута. Смотрите сценарии в разделе Сценарии поездки .- Для поездки в один пункт назначения, назначенной транспортному средству, в расписании которого нет других поездок, сюда будут входить только пункты посадки и высадки, при условии, что транспортное средство не покинуло точку посадки.
- Для любого другого сценария поездки, где транспортное средство также запланировано для других поездок, оставшиеся путевые точки для любой поездки на его маршруте будут включать все путевые точки из других поездок, которые транспортное средство должно пересечь, прежде чем достичь путевой точки высадки для этой поездки. Например, в поездке «бок о бок», где транспортное средство находится на пути к высадке для поездки A, оставшиеся путевые точки для поездки B будут включать путевую точку высадки для поездки A. Fleet Engine вычисляет эту информацию с помощью поля
vehicle_waypoints
.
См. ссылку на сущность Trip
: gRPC или REST .
Сценарии поездок
На следующих диаграммах показаны различные поддерживаемые сценарии поездок. В этих сценариях только поездка с общим пулом имеет тип SHARED
; все остальные — EXCLUSIVE
. На диаграммах также отображается статус поездки и оставшиеся путевые точки для транспортного средства, выполняющего поездку, концепции, описанные далее в этом руководстве.
Поездка в один пункт назначения
Поездка в один пункт назначения — это EXCLUSIVE
поездка с одним местом посадки и одним местом высадки. Например, водитель забирает пассажира из одного места и везет его в другое; или водитель забирает заказ на доставку еды из ресторана и отдает его клиенту.
Многоцелевые поездки
Поездка с несколькими пунктами назначения — это EXCLUSIVE
поездка, которая содержит один или несколько промежуточных пунктов назначения между пунктами посадки и высадки. Например, три клиента совместного пользования бронируют поездку вместе с телефона одного человека, но у каждого из них разные пункты назначения.
Поездки один за другим
Поездки «бок-ту-бок» — это EXCLUSIVE
поездки, которые содержат ряд независимых поездок, следующих одна за другой. Каждая поездка в цепочке может быть одно- или многоадресной. В этом сценарии водитель обязуется забрать другого клиента перед завершением текущей поездки.
Эти поездки могут быть назначены только для транспортных средств, которые позволяют планирование «назад-назад». См. справочник Vehicle
REST , gRPC .
Совместные поездки с пулами
Совместная поездка с объединением отличается от других типов поездок. Во-первых, это должна быть SHARED
поездка, а не EXCLUSIVE
. В этом случае транспортное средство выполняет поездки одновременно, а не последовательно, как в случае с эксклюзивными поездками. Хотя совместная поездка с объединением делит свою поездку с другими поездками, она не делится информацией о месте посадки и высадки между поездками. Вместо этого каждая поездка является эксклюзивным бронированием, так что конечный пользователь, забронировавший одну поездку, не может видеть информацию о месте посадки или пункте назначения для любой другой поездки, кроме своей собственной. Например:
- Служба трансфера в аэропорту забирает разных клиентов из их домов и доставляет их в разные терминалы аэропорта по маршруту. Человек 2 может использовать ваше потребительское приложение для отслеживания хода поездки, но его приложение показывает только его часть поездки, а не то, где человека 1 забрали или где его высадят, даже если части их поездок пересекаются.
- Водитель доставки еды забирает три заказа еды из одного и того же ресторана, чтобы доставить их в разные дома клиентов. Используя ваше потребительское приложение, Человек 3 может видеть, где и когда была забрана его еда, а также маршрут водителя, но не может видеть места выдачи еды для людей 1 и 2.
Статус поездки и ее жизненный цикл
В этом разделе описывается статус поездки и его влияние на транспортное средство, а также различные сценарии, с которыми вы сталкиваетесь при назначении и управлении поездками по требованию.
Поездка обычно проходит через различные состояния, от создания до завершения. В широком смысле поездка может быть активной или неактивной в зависимости от ее статуса. Статус поездки влияет на различные сценарии использования Fleet Engine, а также на возможность для вас определять прогресс транспортного средства в ходе поездки. Остальная часть этого документа обсуждает эти сценарии.
В следующей таблице перечислены статусы поездок по активным и неактивным типам.
Активные статусы поездок | Неактивные статусы поездок |
---|---|
NEW UNKNOWN_TRIP_STATUS ENROUTE_TO_PICKUP ARRIVED_AT_PICKUP ENROUTE_TO_INTERMEDIATE_DESTINATION ARRIVED_AT_INTERMEDIATE_DESTINATION ENROUTE_TO_DROPOFF | COMPLETE CANCELED |
Статус поездки и оставшиеся точки маршрута транспортного средства
При назначении дополнительных поездок транспортному средству, уже выполняющему поездку, необходимо понимать взаимосвязь между оставшимися путевыми точками транспортного средства и то, как статус поездки влияет на эти оставшиеся путевые точки.
Например, вы можете назначить новый запрос на совместную поездку транспортному средству, которое поддерживает только эксклюзивные поездки и находится в процессе завершения поездки. В этом случае вы смоделируете поездку как поездку «бок о бок». При назначении такой поездки ваша система должна гарантировать, что путевые точки для новой поездки появятся после путевых точек для текущей поездки.
Во время поездки транспортного средства Fleet Engine удаляет предыдущую путевую точку поездки из списка оставшихся путевых точек транспортного средства только тогда, когда транспортное средство сообщает, что оно находится на пути к следующему пункту назначения или завершило его. То есть, любое из следующего:
- ПУТЬ_К_ПРОМЕЖУТОЧНОМУ_ПУНКТУ_НАЗНАЧЕНИЯ
- ENROUTE_TO_DROPOFF
- ЗАВЕРШЕННЫЙ
Когда статус поездки меняется на COMPLETED
, Fleet Engine удаляет конечную точку поездки из списка оставшихся точек маршрута транспортного средства.
Напротив, изменения статуса, указывающие на прибытие в промежуточную точку, обычно не влияют на список оставшихся промежуточных точек для транспортного средства:
- ПРИБЫЛ_В_ЗАБОР
- ПРИБЫЛ_В_ПРОМЕЖУТОЧНЫЙ_ПУНКТ_НАЗНАЧЕНИЯ
- ПРИБЫЛ_ВО_ВРЕМЯ_ВЫСАДКИ
Для иллюстрации на примере поездки по требованию: предположим, что водитель забирает клиента из дома, отвозит его в место, где он ждет, пока клиент выполнит задание, а затем отвозит клиента обратно в дом. При первоначальном создании поездка имеет три путевых точки: PICKUP
, INTERMEDIATE
и DROPOFF
. Следующая таблица иллюстрирует результаты запроса оставшихся путевых точек на различных этапах поездки:
Статус поездки | Оставшиеся точки маршрута |
---|---|
ARRIVED_AT_PICKUP | PICKUP INTERMEDIATE DROPOFF |
ENROUTE_TO_INTERMEDIATE_DESTINATION | PICKUP INTERMEDIATE DROPOFF |
ARRIVED_AT_INTERMEDIATE_DESTINATION | PICKUP INTERMEDIATE DROPOFF |
ENROUTE_TO_DROPOFF | PICKUP INTERMEDIATE DROPOFF |
ARRIVED_AT_DROPOFF | PICKUP INTERMEDIATE DROPOFF |
COMPLETE | PICKUP INTERMEDIATE DROPOFF |
Требования к статусу для переназначенных или отмененных поездок
Прежде чем вы сможете выполнить любое из следующих действий, вам необходимо установить статус поездки как NEW
или CANCELED
.
- При изменении назначения транспортного средства для поездки . Например, если водитель отказывается от назначения транспортного средства для поездки и его необходимо переназначить на другое транспортное средство.
- При очистке назначения транспортного средства для поездки . Например, если водитель отменяет поездку в пути, и вы хотите очистить назначение транспортного средства, статус должен быть либо
NEW
, либоCANCELED
.
Результаты поиска по статусу поездки
При использовании сервиса SearchTrips
для определенного транспортного средства он возвращает список активных поездок в SearchTripsResponse
. Активные поездки также отображаются в поле active_trips
сущности Vehicle
. Подробности см. в справочнике SearchTripsResponse
: gRPC или REST .
Таким образом, все поездки с активным статусом отображаются в поле active_trips
, а завершенные или отмененные поездки — нет.
Что дальше?
,В этом документе описывается услуга поездок по требованию в Fleet Engine. Предполагается, что вы прочитали Что такое Fleet Engine? и знаете о конкретных возможностях службы Fleet Engine, которые вам нужны.
При чтении этой документации помните следующее:
- Вы назначаете поездки транспортным средствам, чтобы смоделировать реальную связь между поездкой и водителем, который ее совершает . Прочитайте Введение в транспортные средства, чтобы лучше понять, как транспортные средства работают в Fleet Engine.
- В этом документе также описаны некоторые элементы транспортного средства, которые применяются только к поездкам по запросу.
- Fleet Engine для поездок по требованию использует два ресурса :
Trip
иVehicle
. Fleet Engine предоставляет как gRPC-сервис, так и REST-интерфейсы:
Что такое поездка по запросу?
В Fleet Engine поездка представляет собой поездку по требованию, которая может достигать различных транспортных целей. Например:
- Люди : перевозка одного или нескольких человек от места посадки до места высадки.
- Продукты питания и товары : заберите один или несколько заказов на продукты питания из указанного офиса компании и доставьте эти заказы одному или нескольким получателям по их адресам.
Элементы поездки
На следующем рисунке показаны основные элементы поездки: назначенный идентификатор транспортного средства, статус поездки и путевые точки поездки. Типы путевых точек различаются в зависимости от этапа поездки: пункт посадки, промежуточный и пункт высадки. В любой поездке промежуточный пункт назначения или путевая точка являются необязательными. В примере на изображении транспортное средство прибыло в пункт посадки
Модель данных для поездок
Поскольку ваш бэкэнд назначает поездки транспортным средствам, он также должен знать о других поездках, запланированных для транспортного средства. По этой причине следующие диаграммы иллюстрируют модель данных ресурса Trip
рядом с диаграммой для связанного с ним ресурса Vehicle
. Вы можете просмотреть обе диаграммы, чтобы изучить взаимосвязи между двумя ресурсами, имея в виду следующее:
- Поездки назначаются транспортному средству по его идентификатору .
- Ассоциация поездка-транспортное средство — «многие к одному» . То есть данная поездка может быть единственной запланированной поездкой для транспортного средства или одной из многих поездок для транспортного средства.
- Объекты Trip содержат два списка точек маршрута поездки , один для самой поездки и один для назначенного транспортного средства. Это более подробно объясняется в этом документе.
- Транспортное средство по запросу также имеет список промежуточных точек поездки , более подробно описанный в этом документе.
Модель данных о поездке
Модель данных транспортного средства
Типы поездок
Когда ваш сервис создает поездку, он может установить поле tripType
как одно из следующих: EXCLUSIVE
или SHARED
.
Эксклюзивные поездки
Эксклюзивная поездка — это та, поездка которой не пересекается с другими поездками, и та, которую транспортное средство завершает либо до, либо после других поездок по своему расписанию. Это означает, что когда ваша система назначает эксклюзивные поездки, она может назначать их транспортному средству только для выполнения последовательно, а не одновременно. Для иллюстрации вы можете создать эксклюзивные поездки с любыми из следующих характеристик:
- Поездка с одной посадкой и одной высадкой для транспортного средства, в расписании которого нет других поездок.
- Поездка с посадкой, промежуточной точкой маршрута и высадкой для транспортного средства, в расписании которого нет других поездок.
- Поездка с посадкой и высадкой, добавленная в конец уже запланированной поездки для транспортного средства. В этих случаях каждая поездка является исключительной по отношению к другой, но поездки заказываются в режиме «бок о бок». Кроме того, такие поездки могут включать промежуточные пункты назначения, если это необходимо.
Совместные поездки
Совместная поездка — это поездка, поездка которой может перекрываться с другими бронированиями поездок. Для этих типов поездок ваша система может назначить их одновременным выполнением с чередованием пунктов назначения. Например, высадка для одной поездки может произойти после посадки для другой поездки. Кроме того, совместные поездки не могут использовать промежуточные путевые точки.
Обычно совместную поездку можно использовать для одного из сценариев совместного объединения, проиллюстрированных в разделе «Сценарии поездок» .
Точки маршрута поездки
Для Google Maps путевая точка — это место на маршруте, обычно определяемое координатами широты/долготы. Для поездок по требованию путевая точка представлена объектом TripWaypoint
, который содержит дополнительную информацию, например:
- Идентификатор поездки
-
WaypointType
: точка посадки, промежуточная точка или точка высадки - Информация о пути и расстоянии между предыдущей точкой маршрута и текущей.
- Условия дорожного движения по пути к точке маршрута
- Время в пути и расчетное время прибытия до точки маршрута
Смотрите ссылки:
Типы путевых точек поездки
Промежуточная точка поездки определяется по отношению к общему жизненному циклу поездки транспортного средства:
- Точка отправления — используется для указания отправной точки или начала поездки, например, когда водитель забирает заказ на еду для последующей доставки или когда водитель забирает человека для последующей высадки.
- Промежуточная точка маршрута — промежуточный пункт назначения, который может использоваться для различных целей, например, когда водитель высаживает одного пассажира из той же группы бронирования, но сама поездка не завершена, так как остается больше пассажиров. Эта точка маршрута является необязательной и может использоваться только для эксклюзивных поездок.
- Точка высадки — используется для обозначения конечного пункта поездки, например, когда оставшийся пассажир выходит из транспортного средства.
Списки путевых точек поездки
Сущность Trip
включает два списка путевых точек, каждый из которых является повторяющимся полем типа TripWaypoint
. Один список описывает поля, необходимые для самой поездки, а другой — все оставшиеся путевые точки для транспортного средства, связанного с поездкой. Это позволяет вам иметь полную картину всех элементов поездки: поездки и всего пути транспортного средства.
- Оставшиеся путевые точки для транспортного средства — поле с именем
vehicle_waypoints
. Оно содержит все оставшиеся путевые точки для всех поездок, назначенных транспортному средству. - Оставшиеся точки маршрута для поездки — поле с именем
remaining_waypoints
. Оно содержит точки маршрута, которые транспортное средство должно пройти последовательно до конечной точки маршрута. Смотрите сценарии в разделе Сценарии поездки .- Для поездки в один пункт назначения, назначенной транспортному средству, в расписании которого нет других поездок, сюда будут входить только пункты посадки и высадки, при условии, что транспортное средство не покинуло точку посадки.
- Для любого другого сценария поездки, где транспортное средство также запланировано для других поездок, оставшиеся путевые точки для любой поездки на его маршруте будут включать все путевые точки из других поездок, которые транспортное средство должно пересечь, прежде чем достичь путевой точки высадки для этой поездки. Например, в поездке «бок о бок», где транспортное средство находится на пути к высадке для поездки A, оставшиеся путевые точки для поездки B будут включать путевую точку высадки для поездки A. Fleet Engine вычисляет эту информацию с помощью поля
vehicle_waypoints
.
См. ссылку на сущность Trip
: gRPC или REST .
Сценарии поездок
На следующих диаграммах показаны различные поддерживаемые сценарии поездок. В этих сценариях только поездка с общим пулом имеет тип SHARED
; все остальные — EXCLUSIVE
. На диаграммах также отображается статус поездки и оставшиеся путевые точки для транспортного средства, выполняющего поездку, концепции, описанные далее в этом руководстве.
Поездка в один пункт назначения
Поездка в один пункт назначения — это EXCLUSIVE
поездка с одним местом посадки и одним местом высадки. Например, водитель забирает пассажира из одного места и везет его в другое; или водитель забирает заказ на доставку еды из ресторана и отдает его клиенту.
Многоцелевые поездки
Поездка с несколькими пунктами назначения — это EXCLUSIVE
поездка, которая содержит один или несколько промежуточных пунктов назначения между пунктами посадки и высадки. Например, три клиента совместного пользования бронируют поездку вместе с телефона одного человека, но у каждого из них разные пункты назначения.
Поездки один за другим
Поездки «бок-ту-бок» — это EXCLUSIVE
поездки, которые содержат ряд независимых поездок, следующих одна за другой. Каждая поездка в цепочке может быть одно- или многоадресной. В этом сценарии водитель обязуется забрать другого клиента перед завершением текущей поездки.
Эти поездки могут быть назначены только для транспортных средств, которые позволяют планирование «назад-назад». См. справочник Vehicle
REST , gRPC .
Совместные поездки с пулами
Совместная поездка с объединением отличается от других типов поездок. Во-первых, это должна быть SHARED
поездка, а не EXCLUSIVE
. В этом случае транспортное средство выполняет поездки одновременно, а не последовательно, как в случае с эксклюзивными поездками. Хотя совместная поездка с объединением делит свою поездку с другими поездками, она не делится информацией о месте посадки и высадки между поездками. Вместо этого каждая поездка является эксклюзивным бронированием, так что конечный пользователь, забронировавший одну поездку, не может видеть информацию о месте посадки или пункте назначения для любой другой поездки, кроме своей собственной. Например:
- Служба трансфера в аэропорту забирает разных клиентов из их домов и доставляет их в разные терминалы аэропорта по маршруту. Человек 2 может использовать ваше потребительское приложение для отслеживания хода поездки, но его приложение показывает только его часть поездки, а не то, где человека 1 забрали или где его высадят, даже если части их поездок пересекаются.
- Водитель доставки еды забирает три заказа еды из одного и того же ресторана, чтобы доставить их в разные дома клиентов. Используя ваше потребительское приложение, Человек 3 может видеть, где и когда была забрана его еда, а также маршрут водителя, но не может видеть места выдачи еды для людей 1 и 2.
Статус поездки и ее жизненный цикл
В этом разделе описывается статус поездки и его влияние на транспортное средство, а также различные сценарии, с которыми вы сталкиваетесь при назначении и управлении поездками по требованию.
Поездка обычно проходит через различные состояния, от создания до завершения. В широком смысле поездка может быть активной или неактивной в зависимости от ее статуса. Статус поездки влияет на различные сценарии использования Fleet Engine, а также на возможность для вас определять прогресс транспортного средства в ходе поездки. Остальная часть этого документа обсуждает эти сценарии.
В следующей таблице перечислены статусы поездок по активным и неактивным типам.
Активные статусы поездок | Неактивные статусы поездок |
---|---|
NEW UNKNOWN_TRIP_STATUS ENROUTE_TO_PICKUP ARRIVED_AT_PICKUP ENROUTE_TO_INTERMEDIATE_DESTINATION ARRIVED_AT_INTERMEDIATE_DESTINATION ENROUTE_TO_DROPOFF | COMPLETE CANCELED |
Статус поездки и оставшиеся точки маршрута транспортного средства
При назначении дополнительных поездок транспортному средству, уже выполняющему поездку, необходимо понимать взаимосвязь между оставшимися путевыми точками транспортного средства и то, как статус поездки влияет на эти оставшиеся путевые точки.
Например, вы можете назначить новый запрос на совместную поездку транспортному средству, которое поддерживает только эксклюзивные поездки и находится в процессе завершения поездки. В этом случае вы смоделируете поездку как поездку «бок о бок». При назначении такой поездки ваша система должна гарантировать, что путевые точки для новой поездки появятся после путевых точек для текущей поездки.
Во время поездки транспортного средства Fleet Engine удаляет предыдущую путевую точку поездки из списка оставшихся путевых точек транспортного средства только тогда, когда транспортное средство сообщает, что оно находится на пути к следующему пункту назначения или завершило его. То есть, любое из следующего:
- ПУТЬ_К_ПРОМЕЖУТОЧНОМУ_ПУНКТУ_НАЗНАЧЕНИЯ
- ENROUTE_TO_DROPOFF
- ЗАВЕРШЕННЫЙ
Когда статус поездки меняется на COMPLETED
, Fleet Engine удаляет конечную точку поездки из списка оставшихся точек маршрута транспортного средства.
Напротив, изменения статуса, указывающие на прибытие в промежуточную точку, обычно не влияют на список оставшихся промежуточных точек для транспортного средства:
- ПРИБЫЛ_В_ЗАБОР
- ПРИБЫЛ_В_ПРОМЕЖУТОЧНЫЙ_ПУНКТ_НАЗНАЧЕНИЯ
- ПРИБЫЛ_ВО_ВРЕМЯ_ВЫСАДКИ
Для иллюстрации на примере поездки по требованию: предположим, что водитель забирает клиента из дома, отвозит его в место, где он ждет, пока клиент выполнит задание, а затем отвозит клиента обратно в дом. При первоначальном создании поездка имеет три путевых точки: PICKUP
, INTERMEDIATE
и DROPOFF
. Следующая таблица иллюстрирует результаты запроса оставшихся путевых точек на различных этапах поездки:
Статус поездки | Оставшиеся точки маршрута |
---|---|
ARRIVED_AT_PICKUP | PICKUP INTERMEDIATE DROPOFF |
ENROUTE_TO_INTERMEDIATE_DESTINATION | PICKUP INTERMEDIATE DROPOFF |
ARRIVED_AT_INTERMEDIATE_DESTINATION | PICKUP INTERMEDIATE DROPOFF |
ENROUTE_TO_DROPOFF | PICKUP INTERMEDIATE DROPOFF |
ARRIVED_AT_DROPOFF | PICKUP INTERMEDIATE DROPOFF |
COMPLETE | PICKUP INTERMEDIATE DROPOFF |
Требования к статусу для переназначенных или отмененных поездок
Прежде чем вы сможете выполнить любое из следующих действий, вам необходимо установить статус поездки как NEW
или CANCELED
.
- При изменении назначения транспортного средства для поездки . Например, если водитель отказывается от назначения транспортного средства для поездки и его необходимо переназначить на другое транспортное средство.
- При очистке назначения транспортного средства для поездки . Например, если водитель отменяет поездку в пути, и вы хотите очистить назначение транспортного средства, статус должен быть либо
NEW
, либоCANCELED
.
Результаты поиска по статусу поездки
При использовании сервиса SearchTrips
для определенного транспортного средства он возвращает список активных поездок в SearchTripsResponse
. Активные поездки также отображаются в поле active_trips
сущности Vehicle
. Подробности см. в справочнике SearchTripsResponse
: gRPC или REST .
Таким образом, все поездки с активным статусом отображаются в поле active_trips
, а завершенные или отмененные поездки — нет.