ব্যাক-টু-ব্যাক ট্রিপ তৈরি করুন

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

ট্রিপ তৈরির মূল বিষয়গুলি

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

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

ভ্রমণ ক্ষেত্র

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

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

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

যানবাহনের_পথপয়েন্ট হাঁ

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

যাত্রীর_সংখ্যা না ট্রিপে যাত্রীর সংখ্যা।
ড্রপঅফ_পয়েন্ট না ভ্রমণের গন্তব্য।
গাড়ির_আইডি না ভ্রমণের জন্য নির্ধারিত গাড়ির পরিচয়পত্র।

উদাহরণ: একটি পরপর ট্রিপ তৈরি করুন

নিম্নলিখিতটি দেখানো হয়েছে কিভাবে একটি পরপর ট্রিপ তৈরি করতে হয় এবং এটি একটি গাড়িতে বরাদ্দ করতে হয়। এই পরিস্থিতিতে, ট্রিপ তৈরি করা একটি একক-গন্তব্য ভ্রমণের মতোই। এর পরেই আপনি আরেকটি ট্রিপ তৈরি করবেন এবং এটি এমন একটি গাড়িতে বরাদ্দ করবেন যেখানে ইতিমধ্যেই একটি সক্রিয় ট্রিপ রয়েছে।

// A vehicle with ID 'my-vehicle' is already created and it is assigned to a trip with ID 'current-trip'.

static final String PROJECT_ID = "my-rideshare-co-gcp-project";
static final String VEHICLE_ID =" my-vehicle";
static final String TRIP_ID = "back-to-back-trip");

TripServiceBlockingStub tripService = TripService.newBlockingStub(channel);

String parent = "providers/" + PROJECT_ID;

Trip trip = Trip.newBuilder()
    .setTripType(TripType.EXCLUSIVE)
    .setPickupPoint(
        TerminalLocation.newBuilder().setPoint(
            LatLng.newBuilder()
                .setLatitude(-6.195139).setLongitude(106.820826)))
    .setDropoffPoint(
        TerminalLocation.newBuilder().setPoint(
            LatLng.newBuilder()
                .setLatitude(-6.1275).setLongitude(106.6537)))
    .setVehicleId(VEHICLE_ID)
    .build();

// Create trip request
CreateTripRequest createTripRequest = CreateTripRequest.newBuilder()
    .setParent(parent)
    .setTripId(TRIP_ID)
    .setTrip(trip)
    .build();

// Error handling.
try {
  // Fleet Engine automatically assigns a 'waypoints' list to the trip containing
  // the vehicle's current trip waypoints.
  Trip createdTrip =
      tripService.createTrip(createTripRequest);
} catch (StatusRuntimeException e) {
  Status s = e.getStatus();
  switch (s.getCode()) {
    case ALREADY_EXISTS:
      break;
    case PERMISSION_DENIED:
      break;
  }
  return;
}

পরপর ট্রিপ আপডেট করুন

যখন আপনি একটি গাড়িকে পরপর ভ্রমণের জন্য বরাদ্দ করেন, তখন আপনি একটি গাড়িকে একটি ভ্রমণের জন্য বরাদ্দ করেন, এমনকি যদি এটি ইতিমধ্যেই নির্ধারিত থাকে।

ফ্লিট ইঞ্জিনে তৈরি যেকোনো ট্রিপ অবশ্যই একটি গাড়ির সাথে সংযুক্ত করতে হবে যাতে ফ্লিট ইঞ্জিন ট্রিপের ETA গণনা করতে পারে এবং এটি ট্র্যাক করতে পারে। আপনি ট্রিপ তৈরির সময় অথবা ট্রিপ আপডেট করার পরে এটি করতে পারেন।

কোনও গাড়িতে ট্রিপ নির্ধারণ করার পর, ফ্লিট ইঞ্জিন স্বয়ংক্রিয়ভাবে গাড়ির ওয়েপয়েন্ট ফিল্ডে পরপর ট্রিপের সাথে সম্পর্কিত ওয়েপয়েন্টগুলি যুক্ত করে। একটি ট্রিপের remainingWaypoints ফিল্ডে সমস্ত ওয়েপয়েন্টের একটি তালিকা থাকে, যার মধ্যে ট্রিপটি ছাড়ার আগে পরিদর্শন করা অন্যান্য ট্রিপের ওয়েপয়েন্টগুলিও অন্তর্ভুক্ত থাকে।

উদাহরণস্বরূপ, পরপর দুটি ট্রিপ বিবেচনা করুন: ট্রিপ A এবং ট্রিপ B। গাড়িটি ট্রিপ A এর জন্য গ্রাহককে তুলে নিয়েছে, এবং ড্রপ-অফ লোকেশনে যাওয়ার সময়, ড্রাইভার পরবর্তী ট্রিপ, ট্রিপ B এর জন্য অন্য একজন গ্রাহককে তোলার জন্য একটি অনুরোধ পায়।

  • getVehicle() কল করলে remainingWaypoints ফেরত আসে যার মধ্যে রয়েছে:
    A ড্রপ-অফB পিকআপB ড্রপ-অফ
  • হয় getTrip() অথবা Trip A এর জন্য onTripRemainingWaypointsUpdated কলব্যাক remainingWaypoints ফেরত পাঠায় যার মধ্যে রয়েছে:
    একটি ড্রপ-অফ
  • হয় getTrip() অথবা Trip B এর জন্য onTripRemainingWaypointsUpdated কলব্যাক remainingWaypoints ফেরত পাঠায় যার মধ্যে রয়েছে:
    A ড্রপ-অফB পিকআপ → এবং B ড্রপ-অফ

এরপর কি?