Per creare un veicolo in Fleet Engine per le corse on demand, utilizza CreateVehicle
con il CreateVehicleRequest
. Questo endpoint richiede un account con
il ruolo Amministratore on demand di Fleet Engine.
Campi per i veicoli per le corse on demand
Quando crei veicoli per le corse on demand, devi impostare i campi obbligatori. Tu dovrebbe anche sapere in che modo determinati campi dei veicoli influenzano in Fleet Engine. Per informazioni in merito, consulta Aggiornare i campi del veicolo.
Campi obbligatori per le corse on demand
vehicle_state
: il valore predefinito è sconosciuto, ma deve essere impostato su ONLINE o OFFLINE. Consulta le informazioni sull'impostazione del campo Stato del veicolo in Aggiorna campi del veicolo.supported_trip_types
: il valore predefinito è sconosciuto, ma deve essere impostato su CONDIVISI, ESCLUSIVI o entrambi. Consulta la sezione Tipi di viaggio nella sezione Viaggi on demand guida per i dettagli.maximum_capacity
: il numero di passeggeri che può trasportare il veicolo, che esclude il conducente (per definizione).vehicle_type
: i valori sonoAUTO
,TAXI
,TRUCK
,TWO_WHEELER
,BICYCLE
oPEDESTRIAN
. Può essere utilizzato per filtrare i veicoli per veicolo ricerche. Questo influisce anche sul calcolo dell'orario di arrivo stimato e dei percorsi. Fleet Engine fornisce percorsi e calcoli di viaggio che corrispondono alla modalità di viaggi in base ai seguenti gruppi di tipi di veicoli:AUTO
,TAXI
oTRUCK
: ad esempio autostrade.TWO_WHEELER
: ad esempio, non verranno restituiti percorsi in cui non sono disponibili veicoli a due ruote consentito.BICYCLE
: ad esempio, piste ciclabili.PEDESTRIAN
: ad esempio ponti e passaggi pedonali.
Altri campi
Per altri campi che puoi impostare quando crei un veicolo, consulta Aggiornare i campi del veicolo.
Esempio di creazione di un veicolo
Il valore restituito da CreateVehicle
è l'entità Vehicle
creata.
Java
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.
REST
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
Consulta la documentazione di riferimento providers.vehicles.create.