চাহিদা অনুযায়ী ট্রিপের জন্য একটি গাড়ি তৈরি করুন

অন-ডিমান্ড ট্রিপের জন্য Fleet Engine-এ কোনও গাড়ি তৈরি করতে, CreateVehicleRequest-এর সাথে CreateVehicle এন্ডপয়েন্ট ব্যবহার করুন। এই এন্ডপয়েন্টের জন্য Fleet Engine অন-ডিমান্ড অ্যাডমিন ভূমিকা সহ অ্যাকাউন্ট প্রয়োজন।

অন-ডিমান্ড ট্রিপের জন্য গাড়ির ফিল্ড

অন-ডিমান্ড ট্রিপের জন্য গাড়ি তৈরি করার সময়, আপনাকে অবশ্যই প্রয়োজনীয় ফিল্ড সেট করতে হবে। এছাড়াও, আপনাকে জানতে হবে যে নির্দিষ্ট কিছু গাড়ির ফিল্ড কীভাবে Fleet Engine-এর অন্যান্য ফাংশনকে প্রভাবিত করে। তার জন্য গাড়ির ফিল্ড আপডেট করুন দেখুন।

অন-ডিমান্ড ট্রিপের জন্য প্রয়োজনীয় ফিল্ড

  • vehicle_state: ডিফল্ট হিসেবে 'অজানা' হিসেবে সেট করা থাকে, তবে এটি 'অনলাইন' বা 'অফলাইন' হিসেবে সেট করা উচিত। গাড়ির ফিল্ড আপডেট করুন লিঙ্কে গিয়ে গাড়ির স্টেট ফিল্ড সেট করা সম্পর্কে তথ্য দেখুন।
  • supported_trip_types: ডিফল্ট হিসেবে অজানা, তবে শেয়ার করা, এক্সক্লুসিভ বা দুটিতেই সেট করা উচিত। বিবরণের জন্য অন-ডিমান্ড ট্রিপ নির্দেশিকায় ট্রিপের ধরন দেখুন।
  • maximum_capacity: গাড়িতে যতজন যাত্রী বসতে পারেন, যার মধ্যে ড্রাইভার অন্তর্ভুক্ত নন (সংজ্ঞা অনুযায়ী)।
  • vehicle_type: ভ্যালু হল AUTO, TAXI, TRUCK, TWO_WHEELER, BICYCLE অথবা PEDESTRIAN. গাড়ি সার্চ করার সময় গাড়ি ফিল্টার করতে ব্যবহার করা যেতে পারে। এটি ETA ও রুট গণনাকেও প্রভাবিত করে। Fleet Engine রুট এবং ভ্রমণের হিসেব প্রদান করে যা নিম্নলিখিত গাড়ির ধরন গ্রুপের উপর ভিত্তি করে ভ্রমণের মোডের সাথে সম্পর্কিত:
    • AUTO, TAXI বা TRUCK: যেমন, হাইওয়ে।
    • TWO_WHEELER: যেমন, ২-চাকার গাড়ি চলাচলের অনুমতি নেই এমন রুট দেখাবে না।
    • BICYCLE: যেমন, সাইকেল চালানোর পথ।
    • PEDESTRIAN: যেমন, শুধু পথচারীদের জন্য ব্রিজ ও হাঁটার রাস্তা।

অন্যান্য ফিল্ড

গাড়ির প্রোফাইল তৈরি করার সময় আপনি যেসব ফিল্ড সেট করতে পারবেন, সেগুলি সম্পর্কে জানতে গাড়ির ফিল্ড আপডেট করুন নিবন্ধটি দেখুন।

গাড়ি তৈরি করার উদাহরণ

গাড়ি তৈরি করতে, আপনি Java gRPC লাইব্রেরি বা REST ব্যবহার করতে পারবেন। যেসব ভাষায় উপলভ্য তার সম্পূর্ণ তালিকা দেখতে, অন-ডিমান্ড ট্রিপ পরিষেবার জন্য ক্লায়েন্ট লাইব্রেরি দেখুন।

CreateVehicle থেকে যে ভ্যালু রিটার্ন করা হয় সেটি হল তৈরি করা Vehicle এন্টিটি।

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.

বিশ্রাম

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 রেফারেন্স দেখুন।

এর পরে কী করতে হবে