একটি গন্তব্যের ট্রিপ তৈরি করুন

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

ট্রিপ তৈরি করার প্রাথমিক তথ্য

এই বিভাগে Fleet Engine-এ ট্রিপ তৈরি করার জন্য প্রয়োজনীয় অনুরোধের বিবরণ দেওয়া হয়েছে। gRPC এবং REST-এর মধ্যে যেকোনও একটি ব্যবহার করে আপনি তৈরি করার অনুরোধ ইস্যু করেন।

  • CreateTrip() পদ্ধতি: gRPC অথবা REST
  • CreateTripRequest মেসেজ: শুধু gRPC

ট্রিপ ফিল্ড

Fleet Engine-এ ট্রিপ তৈরি করতে নিম্নলিখিত ফিল্ড ব্যবহার করুন। আপনি বিভিন্ন ধরনের ট্রিপের জন্য বিভিন্ন ফিল্ড ব্যবহার করতে পারেন: একক বা একাধিক গন্তব্য, ব্যাক-টু-ব্যাক বা শেয়ার করা পুলিং ট্রিপ। ট্রিপ তৈরি করার সময় আপনি ঐচ্ছিক ফিল্ডগুলি পূরণ করতে পারেন অথবা পরে ট্রিপ আপডেট করার সময় সেগুলি সেট করতে পারেন।

ট্রিপ ফিল্ড
নাম প্রয়োজনীয়? বিবরণ
অভিভাবক হ্যাঁ প্রোজেক্ট আইডি সহ স্ট্রিং। এই আইডিটি অবশ্যই একই আইডি হতে হবে যা আপনার সম্পূর্ণ Fleet Engine ইন্টিগ্রেশন জুড়ে ব্যবহৃত হয়, একই পরিষেবা অ্যাকাউন্ট ভূমিকার সাথে।
trip_id হ্যাঁ আপনার তৈরি করা একটি স্ট্রিং যা এই ট্রিপকে অনন্যভাবে শনাক্ত করে। ট্রিপ আইডিতে নির্দিষ্ট কিছু বিধিনিষেধ আছে, যা রেফারেন্সে উল্লেখ করা আছে।
trip_type হ্যাঁ আপনি যে ধরনের ট্রিপ তৈরি করছেন তার জন্য TripType-এর ভ্যালু নিম্নলিখিতভাবে সেট করুন:
  • একটি গন্তব্য: SHARED বা EXCLUSIVE-এ সেট করুন।
  • একাধিক গন্তব্য: EXCLUSIVE-এ সেট করা হয়েছে।
  • পরপর: EXCLUSIVE-এ সেট করা আছে।
  • শেয়ার করা পুলিং: SHARED-এ সেট করা আছে।
pickup_point হ্যাঁ ট্রিপের শুরুর জায়গা।
মধ্যবর্তী গন্তব্য হ্যাঁ

শুধুমাত্র একাধিক গন্তব্য সহ ট্রিপের ক্ষেত্রে: পিক-আপ ও ড্রপ-অফের মধ্যে ড্রাইভার যেসব মধ্যবর্তী গন্তব্যে যান সেগুলির তালিকা। dropoff_point-এর মতো, এই ফিল্ডও পরে UpdateTrip কল করে সেট করা যেতে পারে, তবে একাধিক গন্তব্য সহ ট্রিপের সংজ্ঞায় মধ্যবর্তী গন্তব্য অন্তর্ভুক্ত থাকে।

vehicle_waypoints হ্যাঁ

শুধুমাত্র শেয়ার্ড-পুলিং ট্রিপ: এই ফিল্ড একাধিক ট্রিপ থেকে ওয়েপয়েন্ট ইন্টারলিভ করার সুবিধা দেয়। এতে অ্যাসাইন করা গাড়ির জন্য বাকি থাকা সব ওয়েপয়েন্ট, পাশাপাশি এই ট্রিপের জন্য পিক-আপ ও ড্রপ-অফ ওয়েপয়েন্টও থাকে। আপনি CreateTrip বা UpdateTrip-এ কল করে এই ফিল্ড সেট করতে পারবেন। এছাড়াও, আপনি UpdateVehicle-এ কল করে waypoints ফিল্ডের মাধ্যমে গাড়ির ওয়েপয়েন্ট আপডেট করতে পারবেন। গোপনীয়তা সংক্রান্ত কারণে পরিষেবাটি GetTrip কলে এই তথ্য ফেরত দেয় না।

number_of_passengers না ট্রিপে যাত্রীর সংখ্যা।
dropoff_point না ট্রিপের গন্তব্য।
vehicle_id না ট্রিপের জন্য অ্যাসাইন করা গাড়ির আইডি।

উদাহরণ: একটি গন্তব্যের ট্রিপ

গ্র্যান্ড ইন্দোনেশিয়া ইস্ট মলে যাওয়ার ট্রিপ কীভাবে তৈরি করবেন তা নিম্নলিখিত উদাহরণ থেকে জানতে পারবেন। ট্রিপে দুজন যাত্রী আছেন, এটি এক্সক্লুসিভ এবং এর স্ট্যাটাস হল NEW। ট্রিপের provider_id অবশ্যই Google Cloud প্রোজেক্ট আইডির মতো হতে হবে। উদাহরণে প্রোজেক্ট আইডি my-rideshare-co-gcp-project সহ Google Cloud প্রোজেক্ট দেখানো হয়েছে। Fleet Engine কল করার জন্য এই প্রোজেক্টে অবশ্যই একটি পরিষেবা অ্যাকাউন্ট থাকতে হবে। বিস্তারিত জানতে পরিষেবা অ্যাকাউন্টের ভূমিকা দেখুন।

static final String PROJECT_ID = "my-rideshare-co-gcp-project";

TripServiceBlockingStub tripService = TripService.newBlockingStub(channel);

// Trip initial settings.
String parent = "providers/" + PROJECT_ID;

Trip trip = Trip.newBuilder()
    .setTripType(TripType.EXCLUSIVE) // Use TripType.SHARED for carpooling.
    .setPickupPoint(                 // Grand Indonesia East Mall.
        TerminalLocation.newBuilder().setPoint(
            LatLng.newBuilder()
                .setLatitude(-6.195139).setLongitude(106.820826)))
    .setNumberOfPassengers(2)
    // Provide the drop-off point if available.
    .setDropoffPoint(
        TerminalLocation.newBuilder().setPoint(
            LatLng.newBuilder()
                .setLatitude(-6.1275).setLongitude(106.6537)))
    .build();

// Create trip request
CreateTripRequest createTripRequest = CreateTripRequest.newBuilder()
    .setParent(parent)
    .setTripId("trip-8241890")  // Trip ID assigned by the provider.
    .setTrip(trip)              // The initial state is NEW.
    .build();

// Error handling.
try {
  Trip createdTrip = tripService.createTrip(createTripRequest);
} catch (StatusRuntimeException e) {
  Status s = e.getStatus();
  switch (s.getCode()) {
    case ALREADY_EXISTS:
      break;
    case PERMISSION_DENIED:
      break;
  }
  return;
}

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