Buat kendaraan untuk perjalanan on-demand

Untuk membuat kendaraan di Fleet Engine untuk perjalanan on-demand, gunakan CreateVehicle endpoint dengan CreateVehicleRequest. Endpoint ini memerlukan akun dengan peran Fleet Engine On-demand Admin.

Lapangan untuk kendaraan perjalanan on demand

Saat membuat kendaraan untuk perjalanan on demand, Anda harus menetapkan kolom yang wajib diisi. Anda juga harus terbiasa dengan bagaimana {i>field<i} kendaraan tertentu memengaruhi di Fleet Engine. Lihat Memperbarui kolom kendaraan untuk mengetahui informasi tersebut.

Kolom wajib diisi untuk perjalanan on demand

  • vehicle_state: Setelan default-nya adalah tidak diketahui, tetapi harus disetel ke ONLINE atau NONAKTIF. Lihat informasi tentang cara menyetel kolom status kendaraan di Update kolom kendaraan.
  • supported_trip_types: Setelan default-nya adalah tidak diketahui, tetapi harus disetel ke DIBAGIKAN, EKSKLUSIF, atau keduanya. Lihat Jenis perjalanan di Perjalanan on demand kami untuk mengetahui detailnya.
  • maximum_capacity: Jumlah penumpang yang dapat ditampung kendaraan, yang mengecualikan driver (menurut definisi).
  • vehicle_type: Nilainya adalah AUTO, TAXI, TRUCK, TWO-WHEELER, BICYCLE, atau PEDESTRIAN. Dapat digunakan untuk memfilter kendaraan penelusuran. Hal ini juga memengaruhi PWT dan penghitungan rute. Mesin Fleet memberikan rute dan perhitungan perjalanan yang sesuai dengan moda transportasi perjalanan berdasarkan grup jenis kendaraan berikut:
    • AUTO, TAXI, atau TRUCK: misalnya jalan raya.
    • TWO_WHEELER: misalnya tidak akan menampilkan rute yang bukan merupakan tempat sepeda diizinkan.
    • BICYCLE: misalnya, jalur sepeda.
    • PEDESTRIAN: misalnya jembatan dan trotoar khusus pejalan kaki.

Kolom lainnya

Untuk kolom lain yang dapat Anda tetapkan saat membuat kendaraan, lihat Memperbarui kendaraan kolom.

Contoh pembuatan kendaraan

Nilai yang ditampilkan dari CreateVehicle adalah entity Vehicle yang dibuat.

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

Lihat referensi providers.vehicles.create.

Langkah berikutnya