Создайте автомобиль для поездок по требованию

Чтобы создать транспортное средство в Fleet Engine для поездок по требованию, используйте конечную точку CreateVehicle с CreateVehicleRequest . Для этой конечной точки требуется учётная запись с ролью администратора Fleet Engine On-demand .

Поля для транспортных средств, осуществляющих поездки по требованию

При создании транспортных средств для поездок по требованию необходимо заполнить обязательные поля. Также следует знать, как некоторые поля транспортного средства влияют на другие функции Fleet Engine. Подробнее см. в разделе Обновление полей транспортного средства .

Обязательные поля для поездок по запросу

  • vehicle_state : по умолчанию неизвестно, но следует установить значение ONLINE или OFFLINE. Информацию о настройке поля состояния транспортного средства см. в разделе Обновление полей транспортного средства .
  • supported_trip_types : по умолчанию неизвестно, но следует выбрать SHARED, EXCLUSIVE или оба варианта. Подробнее см. в руководстве по поездкам по запросу .
  • maximum_capacity : количество пассажиров, которое может перевозить транспортное средство, не считая водителя (по определению).
  • vehicle_type : значения: AUTO , TAXI , TRUCK , TWO_WHEELER , BICYCLE или PEDESTRIAN . Может использоваться для фильтрации транспортных средств при поиске. Это также влияет на расчет времени прибытия и маршрута. Fleet Engine предоставляет маршруты и расчеты поездок в соответствии с видом транспорта на основе следующих групп типов транспортных средств:
    • AUTO , TAXI или TRUCK : например, автомагистрали.
    • TWO_WHEELER : например, не вернет маршруты, на которых запрещены двухколесные транспортные средства.
    • BICYCLE : например, велосипедные дорожки.
    • PEDESTRIAN : например, мосты и пешеходные дорожки, предназначенные только для пешеходов.

Другие поля

Другие поля, которые можно задать при создании транспортного средства, см. в разделе Обновление полей транспортного средства .

Пример создания транспортного средства

Значение, возвращаемое CreateVehicle , представляет собой созданную сущность Vehicle .

Ява

static final String PROJECT_ID = "project-id";

VehicleServiceBlockingStub vehicleService =
    VehicleService.newBlockingStub(channel);

String parent = "providers/" + PROJECT_ID;
Vehicle vehicle = Vehicle.newBuilder()
    .setVehicleState(VehicleState.OFFLINE)  // Initial state
    .addSupportedTripTypes(TripType.EXCLUSIVE)
    .setMaximumCapacity(4)
    .setVehicleType(VehicleType.newBuilder().setCategory(VehicleType.Category.AUTO))
    .addAttributes(VehicleAttribute.newBuilder()
        .setKey("on_trip").setValue("false"))  // Opaque to the Fleet Engine
    // Add .setBackToBackEnabled(true) to make this vehicle eligible for trip
    // matching while even if it is on a trip.  By default this is disabled.
    .build();

CreateVehicleRequest createVehicleRequest =
    CreateVehicleRequest.newBuilder()  // no need for the header
        .setParent(parent)
        .setVehicleId("vid-8241890")  // Vehicle ID assigned by Rideshare or Delivery Provider
        .setVehicle(vehicle)  // Initial state
        .build();

// In this case, the Vehicle is being created in the OFFLINE state and
// no initial position is being provided.  When the Driver App checks
// in with the Rideshare or Delivery Provider, the state can be set to ONLINE and
// the Driver App will update the Vehicle Location.

try {
  Vehicle createdVehicle =
      vehicleService.createVehicle(createVehicleRequest);
} catch (StatusRuntimeException e) {
  Status s = e.getStatus();
  switch (s.getCode()) {
    case ALREADY_EXISTS:
      break;
    case PERMISSION_DENIED:
      break;
  }
  return;
}
// If no Exception, Vehicle created successfully.

ОТДЫХ

curl -X POST \
  "https://fleetengine.googleapis.com/v1/providers/project-id/vehicles?vehicleId=vid-8241890" \
  -H "Authorization: Bearer $JWT" \
  -H "Content-Type: application/json" \
  --data-binary @- << EOM
{
    "vehicleState": "OFFLINE",
    "supportedTripTypes": ["EXCLUSIVE"],
    "maximumCapacity": 4,
    "vehicleType": {"category": "AUTO"},
    "attributes": [{"key": "on_trip", "value": "false"}]
}
EOM

См. ссылку providers.vehicles.create .

Что дальше?