Fahrzeug für On-Demand-Fahrten erstellen

Wenn Sie ein Fahrzeug in Fleet Engine für On-Demand-Fahrten erstellen möchten, verwenden Sie den Endpunkt CreateVehicle mit dem CreateVehicleRequest. Für diesen Endpunkt ist ein Konto mit der Rolle Fleet Engine On-Demand Admin erforderlich.

Felder für Fahrzeuge für On-Demand-Fahrten

Wenn Sie Fahrzeuge für On-Demand-Fahrten erstellen, müssen Sie die erforderlichen Felder festlegen. Sie sollten auch wissen, wie sich bestimmte Fahrzeugfelder auf andere Funktionen in Fleet Engine auswirken. Weitere Informationen finden Sie unter Fahrzeugfelder aktualisieren.

Pflichtfelder für On-Demand-Fahrten

  • vehicle_state: Standardmäßig „unknown“, sollte aber auf ONLINE oder OFFLINE festgelegt werden. Informationen zum Festlegen des Felds für den Fahrzeugstatus finden Sie unter Fahrzeugfelder aktualisieren.
  • supported_trip_types: Der Standardwert ist „unknown“, sollte aber auf SHARED, EXCLUSIVE oder beides festgelegt werden. Weitere Informationen finden Sie unter Fahrttypen im Leitfaden On-Demand-Fahrten.
  • maximum_capacity: Die Anzahl der Fahrgäste, die das Fahrzeug befördern kann, ohne den Fahrer (per Definition).
  • vehicle_type: Werte sind AUTO, TAXI, TRUCK, TWO_WHEELER, BICYCLE oder PEDESTRIAN. Kann zum Filtern von Fahrzeugen bei der Fahrzeugsuche verwendet werden. Das wirkt sich auch auf die Berechnung der voraussichtlichen Ankunftszeit und der Route aus. Fleet Engine bietet Routen und Reiseberechnungen, die dem Reisemodus basierend auf den folgenden Fahrzeugtypgruppen entsprechen:
    • AUTO, TAXI oder TRUCK: z. B. Autobahnen.
    • TWO_WHEELER: Es werden beispielsweise keine Routen zurückgegeben, auf denen Zweiräder nicht erlaubt sind.
    • BICYCLE: zum Beispiel Fahrradwege.
    • PEDESTRIAN: z. B. Brücken und Gehwege, die nur für Fußgänger bestimmt sind.

Andere Felder

Weitere Felder, die Sie beim Erstellen eines Fahrzeugs festlegen können, finden Sie unter Fahrzeugfelder aktualisieren.

Beispiel für die Erstellung eines Fahrzeugs

Zum Erstellen eines Fahrzeugs können Sie die Java-gRPC-Bibliothek oder REST verwenden. Eine vollständige Liste der unterstützten Sprachen finden Sie unter Clientbibliotheken für On-Demand-Fahrtdienste.

Der von CreateVehicle zurückgegebene Wert ist die erstellte Vehicle-Entität.

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

Weitere Informationen finden Sie in der Referenz zu providers.vehicles.create.

Nächste Schritte