অন-ডিমান্ড ট্রিপের জন্য ফ্লিট ইঞ্জিনে একটি যানবাহন তৈরি করতে, CreateVehicleRequest সহ CreateVehicle এন্ডপয়েন্টটি ব্যবহার করুন। এই এন্ডপয়েন্টটি ব্যবহার করার জন্য ফ্লিট ইঞ্জিন অন-ডিমান্ড অ্যাডমিন রোলযুক্ত একটি অ্যাকাউন্ট প্রয়োজন।
চাহিদা অনুযায়ী ট্রিপের যানবাহনের জন্য ক্ষেত্র
অন-ডিমান্ড ট্রিপের জন্য যানবাহন তৈরি করার সময়, আপনাকে প্রয়োজনীয় ফিল্ডগুলো সেট করতে হবে। ফ্লিট ইঞ্জিনের অন্যান্য কার্যকারিতার উপর নির্দিষ্ট কিছু যানবাহন ফিল্ড কীভাবে প্রভাব ফেলে, সে সম্পর্কেও আপনার পরিচিত থাকা উচিত। এর জন্য ‘যানবাহন ফিল্ড আপডেট করুন’ দেখুন।
অন-ডিমান্ড ট্রিপের জন্য প্রয়োজনীয় ফিল্ড
-
vehicle_state: ডিফল্টভাবে এটি unknown থাকে, কিন্তু এটিকে ONLINE বা OFFLINE-এ সেট করতে হবে। 'Update vehicle fields'- এ vehicle state ফিল্ডটি সেট করার বিষয়ে তথ্য দেখুন। -
supported_trip_types: ডিফল্টরূপে unknown থাকে, কিন্তু এটিকে SHARED, EXCLUSIVE, অথবা both-তে সেট করা উচিত। বিস্তারিত জানতে অন-ডিমান্ড ট্রিপস গাইডের Trip types দেখুন। -
maximum_capacity: যানবাহনটি যতজন যাত্রী বহন করতে পারে, যেখানে (সংজ্ঞা অনুসারে) চালক অন্তর্ভুক্ত নন। -
vehicle_type: এর মানগুলো হলোAUTO,TAXI,TRUCK,TWO_WHEELER,BICYCLE, অথবাPEDESTRIAN। যানবাহন অনুসন্ধানের জন্য এটি ফিল্টার করতে ব্যবহার করা যেতে পারে। এটি ETA (আনুমানিক পৌঁছানোর সময়) এবং রুট গণনাকেও প্রভাবিত করে। ফ্লিট ইঞ্জিন নিম্নলিখিত যানবাহনের প্রকারভেদের উপর ভিত্তি করে ভ্রমণের ধরনের সাথে সঙ্গতিপূর্ণ রুট এবং ভ্রমণ গণনা প্রদান করে:-
AUTO,TAXIবাTRUCK: উদাহরণস্বরূপ মহাসড়ক। -
TWO_WHEELER: উদাহরণস্বরূপ, এমন রুট ফেরত দেবে না যেখানে দুই চাকার যান চলাচলের অনুমতি নেই। -
BICYCLE: উদাহরণস্বরূপ, সাইকেল চলার পথ। -
PEDESTRIAN: উদাহরণস্বরূপ, শুধুমাত্র পথচারীদের জন্য সেতু এবং হাঁটার পথ।
-
অন্যান্য ক্ষেত্র
যানবাহন তৈরি করার সময় আপনি আরও যে সকল ফিল্ড সেট করতে পারেন, সেগুলোর জন্য ‘যানবাহনের ফিল্ড আপডেট করুন’ দেখুন।
যানবাহন তৈরির উদাহরণ
একটি যানবাহন তৈরি করতে, আপনি জাভা gRPC লাইব্রেরি অথবা REST ব্যবহার করতে পারেন। সমর্থিত ভাষাগুলির সম্পূর্ণ তালিকার জন্য, অন-ডিমান্ড ট্রিপ পরিষেবাগুলির জন্য ক্লায়েন্ট লাইব্রেরিগুলি দেখুন।
CreateVehicle থেকে প্রাপ্ত মানটি হলো তৈরি করা Vehicle এনটিটি।
জাভা
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"}]
}
EOMproviders.vehicles.create রেফারেন্সটি দেখুন।