Чтобы создать транспортное средство в Fleet Engine для поездок по требованию, используйте конечную точку CreateVehicle
с CreateVehicleRequest
. Для этой конечной точки требуется учетная запись с ролью Fleet Engine On-demand Admin .
Поля для транспортных средств, осуществляющих поездки по требованию
При создании транспортных средств для поездок по требованию необходимо задать обязательные поля. Вы также должны знать, как определенные поля транспортного средства влияют на другие функции в Fleet Engine. Для этого см. Обновление полей транспортного средства .
Обязательные поля для поездок по требованию
-
vehicle_state
: По умолчанию неизвестно, но должно быть установлено в ONLINE или OFFLINE. Информацию о настройке поля состояния транспортного средства см. в разделе Обновление полей транспортного средства . -
supported_trip_types
: по умолчанию неизвестно, но должно быть установлено на SHARED, EXCLUSIVE или оба. Подробности см. в разделе Типы поездок в руководстве по поездкам по запросу . -
maximum_capacity
: количество пассажиров, которых может перевозить транспортное средство, не считая водителя (по определению). -
vehicle_type
: значенияAUTO
,TAXI
,TRUCK
,TWO_WHEELER
,BICYCLE
илиPEDESTRIAN
. Может использоваться для фильтрации транспортных средств при поиске транспортных средств. Это также влияет на расчеты ETA и маршрута. 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 .