Fahrzeug für On-Demand-Fahrten erstellen

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

Felder für On-Demand-Fahrzeuge

Beim Erstellen von Fahrzeugen für On-Demand-Fahrten müssen Pflichtfelder ausgefüllt werden. Ich sollten auch wissen, wie sich bestimmte Fahrzeugfelder auf andere Funktionalität in Fleet Engine. Entsprechende Informationen finden Sie unter Fahrzeugfelder aktualisieren.

Pflichtfelder für On-Demand-Reisen

  • vehicle_state: Die Standardeinstellung ist „Unbekannt“, sollte aber auf „ONLINE“ oder OFFLINE. Informationen zum Einstellen des Felds für den Fahrzeugstatus finden Sie unter Aktualisieren Fahrzeugfelder.
  • supported_trip_types: Die Standardeinstellung ist „Unbekannt“, sollte aber folgendermaßen festgelegt werden: SHARED, EXCLUSIVE oder beide. Weitere Informationen finden Sie unter Arten der Reise im Artikel On-Demand-Reisen. für weitere Informationen.
  • maximum_capacity: Anzahl der Fahrgäste, die das Fahrzeug befördern kann der den Treiber (per Definition) ausschließt.
  • vehicle_type: Mögliche Werte sind AUTO, TAXI, TRUCK, TWO-WHEELER, BICYCLE oder PEDESTRIAN. Kann zum Filtern von Fahrzeugen verwendet werden Suchanfragen. Dies hat auch Auswirkungen auf die voraussichtliche Ankunftszeit und die Routenberechnung. Fleet Engine stellt Routen und Reiseberechnungen bereit, die der Mobilitätsform des basierend auf den folgenden Fahrzeugtypgruppen:
    • AUTO, TAXI oder TRUCK, z. B. Autobahnen.
    • TWO_WHEELER: So werden z. B. keine Routen zurückgegeben, auf denen Motorräder nicht unterwegs sind. Zulässig sind.
    • BICYCLE: z. B. Fahrradwege.
    • PEDESTRIAN, z. B. Brücken und Gehwege für Fußgänger.

Andere Felder

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

Beispiel für die Fahrzeugerstellung

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

Siehe Referenz providers.vehicles.create.

Nächste Schritte