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

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

ট্রিপ তৈরির প্রাথমিক বিষয়াবলী

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

  • CreateTrip() মেথড: gRPC অথবা REST
  • CreateTripRequest বার্তা: শুধুমাত্র gRPC

ট্রিপ ফিল্ডস

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

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

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

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

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

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

উদাহরণ: একক গন্তব্যের ভ্রমণ

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

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;
}

এরপর কী?