Buat kendaraan untuk perjalanan on-demand

Untuk membuat kendaraan di Fleet Engine untuk perjalanan sesuai permintaan, gunakan CreateVehicle endpoint dengan CreateVehicleRequest. Endpoint ini memerlukan akun dengan peran Admin Fleet Engine Sesuai Permintaan.

Kolom untuk kendaraan perjalanan sesuai permintaan

Saat membuat kendaraan untuk perjalanan sesuai permintaan, Anda harus menetapkan kolom wajib diisi. Anda juga harus memahami pengaruh kolom kendaraan tertentu terhadap fungsi lain di Fleet Engine. Lihat Memperbarui kolom kendaraan untuk mengetahui informasi selengkapnya.

Kolom wajib diisi untuk perjalanan sesuai permintaan

  • vehicle_state: Defaultnya tidak diketahui, tetapi harus ditetapkan ke ONLINE atau OFFLINE. Lihat informasi tentang cara menetapkan kolom status kendaraan di Memperbarui kolom kendaraan.
  • supported_trip_types: Defaultnya tidak diketahui, tetapi harus ditetapkan ke SHARED, EXCLUSIVE, atau keduanya. Lihat Jenis perjalanan di panduan Perjalanan sesuai permintaan untuk mengetahui detailnya.
  • maximum_capacity: Jumlah penumpang yang dapat diangkut kendaraan, yang tidak termasuk pengemudi (menurut definisi).
  • vehicle_type: Nilainya adalah AUTO, TAXI, TRUCK, TWO_WHEELER, BICYCLE, atau PEDESTRIAN. Dapat digunakan untuk memfilter kendaraan untuk penelusuran kendaraan. Hal ini juga memengaruhi perhitungan ETA dan rute. Fleet Engine menyediakan rute dan perhitungan perjalanan yang sesuai dengan moda perjalanan berdasarkan kelompok jenis kendaraan berikut:
    • AUTO, TAXI, atau TRUCK: misalnya jalan raya.
    • TWO_WHEELER: misalnya tidak akan menampilkan rute yang tidak mengizinkan kendaraan roda 2.
    • BICYCLE: misalnya jalur sepeda.
    • PEDESTRIAN: misalnya jembatan dan jalan setapak khusus pejalan kaki.

Kolom lainnya

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

Contoh pembuatan kendaraan

Untuk membuat kendaraan, Anda dapat menggunakan library gRPC Java atau REST. Untuk mengetahui daftar lengkap bahasa yang didukung, lihat Library klien untuk layanan perjalanan sesuai permintaan.

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 providers.vehicles.create.

Langkah berikutnya