İsteğe bağlı geziler için araç oluşturun

Fleet Engine'de isteğe bağlı geziler için araç oluşturmak üzere CreateVehicleRequest ile CreateVehicle uç noktasını kullanın. Bu uç nokta, Fleet Engine On-demand Admin rolüne sahip bir hesap gerektirir.

Talep üzerine gezi araçları için alanlar

Talep üzerine geziler için araç oluştururken zorunlu alanları ayarlamanız gerekir. Ayrıca belirli araç alanlarının Fleet Engine'deki diğer işlevleri nasıl etkilediğini de bilmeniz gerekir. Bunun için Araç alanlarını güncelleme bölümüne bakın.

Seç-izle gezileri için zorunlu alanlar

  • vehicle_state: Varsayılan olarak bilinmiyor şeklinde ayarlanır ancak ONLINE veya OFFLINE olarak ayarlanmalıdır. Araç durumu alanını ayarlama hakkında bilgi için Araç alanlarını güncelleme bölümüne bakın.
  • supported_trip_types: Varsayılan olarak bilinmiyor şeklinde ayarlanır ancak SHARED, EXCLUSIVE veya her ikisi olarak ayarlanmalıdır. Ayrıntılar için Talep üzerine geziler kılavuzundaki Gezi türleri bölümüne bakın.
  • maximum_capacity: Aracın taşıyabileceği yolcu sayısı. Tanım gereği sürücü bu sayıya dahil değildir.
  • vehicle_type: Değerler AUTO, TAXI, TRUCK, TWO_WHEELER, BICYCLE veya PEDESTRIAN şeklindedir. Araç aramalarında araçları filtrelemek için kullanılabilir. Bu durum, TVS ve rota hesaplamalarını da etkiler. Fleet Engine, aşağıdaki araç türü gruplarına göre seyahat moduna karşılık gelen rotaları ve seyahat hesaplamalarını sağlar:
    • AUTO, TAXI veya TRUCK: Örneğin, otoyollar.
    • TWO_WHEELER: Örneğin, iki tekerlekli araçlara izin verilmeyen rotalar döndürülmez.
    • BICYCLE: Örneğin, bisiklet yolları.
    • PEDESTRIAN: Örneğin, yalnızca yayalara açık köprüler ve yürüyüş yolları.

Diğer alanlar

Araç oluştururken ayarlayabileceğiniz diğer alanlar için Araç alanlarını güncelleme başlıklı makaleyi inceleyin.

Araç oluşturma örneği

Araç oluşturmak için Java gRPC kitaplığını veya REST'i kullanabilirsiniz. Desteklenen dillerin tam listesi için İsteğe bağlı gezi hizmetleri için istemci kitaplıkları başlıklı makaleyi inceleyin.

CreateVehicle tarafından döndürülen değer, oluşturulan Vehicle varlığıdır.

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

providers.vehicles.create referansına bakın.

Sırada ne var?