В этом документе описывается, как создать поездку с одним пунктом назначения, заполнить необходимые поля и назначить её транспортному средству для выполнения. Предполагается, что вы настроили 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;
}