В этом документе описывается, как создать поездку с одним пунктом назначения, заполнить необходимые поля и назначить её транспортному средству для выполнения. Предполагается, что вы настроили Fleet Engine, создали транспортные средства, используете работающее приложение для водителя и, при необходимости, приложение для клиента. См. следующие руководства:
Основы создания поездок
В этом разделе описываются данные запроса, необходимые для создания рейса в Fleet Engine. Запрос на создание отправляется с использованием gRPC и REST.
Поля поездок
Используйте следующие поля для создания рейса в Fleet Engine. Вы можете использовать разные поля для разных типов рейсов: одно- или многоцелевых, обратных или совместных. Необязательные поля можно указать при создании рейса или настроить позже, при его обновлении.
Имя | Необходимый? | Описание |
---|---|---|
родитель | Да | Строка, включающая идентификатор проекта. Этот идентификатор должен совпадать с идентификатором, используемым во всей вашей интеграции Fleet Engine, с теми же ролями учётной записи службы. |
trip_id | Да | Строка, которую вы создаёте, чтобы уникально идентифицировать эту поездку. Идентификаторы поездок имеют определённые ограничения, как указано в справочнике. |
тип_поездки | Да | Задайте для параметра TripType следующие значения для создаваемого типа поездки:
|
пункт_выдачи | Да | Место отправления поездки. |
Промежуточные пункты назначения | Да | Только для поездок с несколькими пунктами назначения : список промежуточных пунктов назначения, которые водитель посещает между пунктом посадки и пунктом высадки. Как и в случае с |
точки_пути_транспортного_средства | Да | Только для поездок с общим пулом : это поле поддерживает чередование путевых точек из нескольких поездок. Оно содержит все оставшиеся путевые точки для назначенного транспортного средства, а также путевые точки посадки и высадки для этой поездки. Вы можете настроить это поле, вызвав |
количество_пассажиров | Нет | Количество пассажиров в поездке. |
точка_высадки | Нет | Цель поездки. |
идентификатор_транспортного_средства | Нет | Идентификатор транспортного средства, назначенного для поездки. |
Пример: поездка в один пункт назначения
В следующем примере показано, как создать поездку в торговый центр Grand Indonesia East Mall. Поездка предполагает участие двух пассажиров, является эксклюзивной и имеет статус NEW
. provider_id
поездки должен совпадать с идентификатором проекта Google Cloud. В примере показан проект Google Cloud с идентификатором my-rideshare-co-gcp-project
. Этот проект также должен включать учетную запись службы для вызова Fleet Engine. Подробности см. в разделе «Роли учетных записей службы» .
static final String PROJECT_ID = "my-rideshare-co-gcp-project";
TripServiceBlockingStub tripService = TripService.newBlockingStub(channel);
// Trip initial settings.
String parent = "providers/" + PROJECT_ID;
Trip trip = Trip.newBuilder()
.setTripType(TripType.EXCLUSIVE) // Use TripType.SHARED for carpooling.
.setPickupPoint( // Grand Indonesia East Mall.
TerminalLocation.newBuilder().setPoint(
LatLng.newBuilder()
.setLatitude(-6.195139).setLongitude(106.820826)))
.setNumberOfPassengers(2)
// Provide the drop-off point if available.
.setDropoffPoint(
TerminalLocation.newBuilder().setPoint(
LatLng.newBuilder()
.setLatitude(-6.1275).setLongitude(106.6537)))
.build();
// Create trip request
CreateTripRequest createTripRequest = CreateTripRequest.newBuilder()
.setParent(parent)
.setTripId("trip-8241890") // Trip ID assigned by the provider.
.setTrip(trip) // The initial state is NEW.
.build();
// Error handling.
try {
Trip createdTrip = tripService.createTrip(createTripRequest);
} catch (StatusRuntimeException e) {
Status s = e.getStatus();
switch (s.getCode()) {
case ALREADY_EXISTS:
break;
case PERMISSION_DENIED:
break;
}
return;
}