ভিত্তি কাঠামো (চালনা মডেল, চালান, এবং যানবাহন)

ShipmentModel has one `shipments` object with a `Shipment` message type and one `vehicles` object with a `Vehicle` message type.

রুট অপ্টিমাইজেশান এপিআই-এর উদ্দেশ্য হল একটি নির্দিষ্ট স্থানে পরিদর্শনের জন্য যানবাহনের বহরের জন্য রুট পরিকল্পনা করা। OptimizeToursRequest অবজেক্ট এই যানবাহন এবং অবস্থানের বৈশিষ্ট্য বর্ণনা করে এবং প্রতিটি এন্ডপয়েন্টের রিকোয়েস্ট বডির প্রাথমিক কাঠামো।

OptimizeToursRequest অবজেক্টের ভিত্তি গঠন নিম্নরূপ:

  • model ক্ষেত্রটিতে একটি ShipmentModel বার্তা রয়েছে যাতে দুটি মূল ক্ষেত্র রয়েছে:
    • একটি shipments ক্ষেত্র, যাতে এক বা একাধিক Shipment বার্তা থাকে।
    • একটি vehicles ক্ষেত্র, যাতে এক বা একাধিক Vehicle বার্তা থাকে।

এই নথিটি নিম্নলিখিত বার্তা প্রকারগুলি বর্ণনা করে:

  • ShipmentModel : চালান, উপলব্ধ যানবাহন এবং অন্যান্য বস্তুর তালিকা ধারণ করে যা তাদের সম্পর্ক বর্ণনা করে।
  • Shipment : একটি যানবাহন দ্বারা পরিদর্শন করা অবস্থানগুলি বর্ণনা করে৷ তারা পিক আপ এবং ডেলিভারির জন্য প্রকৃত প্যাকেজগুলিকে প্রতিনিধিত্ব করতে পারে বা যেখানে যানবাহন চালক একটি পরিষেবা সম্পাদন করেন।
  • Vehicle : চালানের অবস্থানের মধ্যে পরিবহনের উপায় বর্ণনা করে। প্রতিটি গাড়ি একটি প্রকৃত যান বা পায়ে হেঁটে চলাফেরা করা ব্যক্তির সাথে মিলে যায়।

ShipmentModel

ShipmentModel রুট অপ্টিমাইজেশান সমস্যার উপাদান ধারণ করে। এটিতে চালানের একটি সেট রয়েছে যা যানবাহনের একটি সেট দ্বারা সঞ্চালিত হতে পারে, যখন সীমাবদ্ধতা বিবেচনা করে এবং সামগ্রিক খরচ কমিয়ে দেয়।

নীচের সারণী ShipmentModel এর কিছু প্রাসঙ্গিক বৈশিষ্ট্য বর্ণনা করে:

বৈশিষ্ট্য বর্ণনা
shipments এবং vehicles প্রয়োজনীয় বস্তু যাতে এক বা একাধিক চালান এবং যানবাহনের বিবরণ থাকে।
globalStartTime এবং globalEndTime সময় উইন্ডোর শুরু এবং শেষ নির্দেশ করে যেখানে সমস্ত যানবাহন সমস্ত চালান সম্পূর্ণ করতে হবে। যদিও এই বৈশিষ্ট্যগুলির প্রয়োজন হয় না, এটিকে অন্তর্ভুক্ত করার পরামর্শ দেওয়া হয় কারণ অপ্টিমাইজারটি সময় সীমাবদ্ধতা মেনে চলার সময় সবচেয়ে ভাল কাজ করে।

ShipmentModel এ বৈশিষ্ট্যের সম্পূর্ণ তালিকার জন্য রেফারেন্স ডকুমেন্টেশন দেখুন।

ShipmentModel উদাহরণ

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

এই উদাহরণের জন্য, আপনার অনুরোধে ShipmentModel সম্পত্তির মানগুলি নিম্নরূপ:

সম্পত্তি মান বর্ণনা
globalStartTime 2024-02-13T00:00:00.000Z ব্যবসার সময় শুরু হওয়ার তারিখ এবং সময়।
globalEndTime 2024-02-14T06:00:00.000Z ব্যবসার সময় শেষ হওয়ার তারিখ এবং সময়।

নিম্নলিখিত একটি ShipmentModel বার্তার একটি কোড নমুনা উদাহরণের দৃশ্যের মানগুলিকে অন্তর্ভুক্ত করে৷

{
  "model": {
    "shipments": [
      ...
    ],
    "vehicles": [
      ...
    ],
   "globalStartTime": "2024-02-13T00:00:00.000Z",
   "globalEndTime": "2024-02-14T06:00:00.000Z"
  }
}

Shipment

Shipment বার্তার ধরন একটি চালানের সম্পত্তির কাঠামোকে সংজ্ঞায়িত করে যা বিতরণ করা যেতে পারে বা পরিষেবা যা একটি রুটে সঞ্চালিত হতে পারে।

A real life shipment equals one `Shipment` message, which is contained within a `shipments` object

ডায়াগ্রামে চিত্রিত হিসাবে:

  • একটি Shipment বার্তায় একটি বাস্তব জীবনের চালান বা পরিষেবার সমস্ত তথ্য থাকে৷
  • সমস্ত Shipment বার্তা shipments ক্ষেত্রে নির্দিষ্ট করা হয়.
  • shipments ক্ষেত্রে এক বা একাধিক Shipment বার্তা রয়েছে।

একটি Shipment বার্তার জন্য কমপক্ষে একটি pickups বা deliveries অবজেক্ট প্রয়োজন। এই বস্তুর সংজ্ঞা নিম্নরূপ:

  • pickups একটি চালানের পিকআপ অবস্থান নির্ধারণ করে।
  • deliveries একটি চালানের ডেলিভারি অবস্থান সংজ্ঞায়িত করে।
  • উভয় pickups এবং deliveries একটি VisitRequest বার্তার ধরন থাকে যা অবস্থান এবং অন্যান্য বিবরণ সংজ্ঞায়িত করে।

একটি Shipment বার্তায় pickups এবং deliveries কনফিগারেশনের উপর ভিত্তি করে নিম্নলিখিত সারণীতে বিভিন্ন পরিস্থিতি বর্ণনা করা হয়েছে।

দৃশ্যকল্প বর্ণনা
শুধুমাত্র pickups মনে করা হচ্ছে আপনি শুধুমাত্র চালান সংগ্রহ করছেন
শুধুমাত্র deliveries ধরে নেওয়া হচ্ছে আপনি চালানটি আগে থেকে লোড করেছেন বা একটি পরিষেবা সরবরাহ করছেন৷
pickups এবং deliveries উভয়ই নির্ধারিত গাড়িটিকে প্রথমে পিকআপ সম্পূর্ণ করতে হবে, তারপর ডেলিভারি । শুধুমাত্র যে গাড়িটি পিকআপ করেছে তারাই ডেলিভারি করতে পারে।
একাধিক pickups বা deliveries যদি একটি চালান pickups বা deliveries জন্য একাধিক সম্ভাবনার তালিকা করে, অপ্টিমাইজার একটি পিকআপ বিকল্প এবং একটি ডেলিভারি বিকল্প ব্যবহার করার জন্য বেছে নেয় , খরচ কমানো এবং সীমাবদ্ধতার ভিত্তিতে।

Shipment বৈশিষ্ট্যগুলির সম্পূর্ণ তালিকার জন্য রেফারেন্স ডকুমেন্টেশন দেখুন।

Shipment উদাহরণ

এই উদাহরণে, আপনার একটি কুকুরের ডে-কেয়ার পরিষেবা রয়েছে যেখানে আপনি কুকুরকে তাদের বাড়ি থেকে তুলে নিয়ে আপনার ডে-কেয়ারে পৌঁছে দেন। আপনি দুটি কুকুরের পিক আপ অবস্থান সেট করতে চান এবং আপনার ব্যবসায় তাদের ডেলিভারি অবস্থান সেট করতে চান:

  • প্রথম কুকুরের বাড়ি সান ফ্রান্সিসকোর কোইট টাওয়ারে। এই অবস্থানের স্থানাঙ্কগুলি হল অক্ষাংশ 37.8024 এবং দ্রাঘিমাংশ -122.4058৷
  • দ্বিতীয় কুকুরের বাড়ি সান ফ্রান্সিসকোর সাউথ সানসেট প্লেগ্রাউন্ড পার্কে। এই অবস্থানের স্থানাঙ্কগুলি হল অক্ষাংশ 37.7359 এবং দ্রাঘিমাংশ -122.5011৷
  • আপনার কুকুরের ডে কেয়ার মিশন ডোলোরেস পার্ক, সান ফ্রান্সিসকোতে রয়েছে। এই অবস্থানের স্থানাঙ্কগুলি হল অক্ষাংশ 37.759773 এবং দ্রাঘিমাংশ -122.427063৷

নীচে একটি Shipment বার্তার একটি কোড নমুনা, যেখানে shipments অবজেক্টে উদাহরণ স্থানাঙ্ক সহ দুটি Shipment বার্তা প্রকার রয়েছে৷

{
  "model": {
    "shipments": [
      {
        "pickups": [
          {
            "arrivalLocation": {
              "latitude": 37.8024,
              "longitude": -122.4058
            }
          }
        ],
        "deliveries": [
          {
            "arrivalLocation": {
              "latitude": 37.759773,
              "longitude": -122.427063
            }
          }
        ]
      },
      {
        "pickups": [
          {
            "arrivalLocation": {
              "latitude": 37.7359,
              "longitude": -122.5011
            }
          }
        ],
        "deliveries": [
          {
            "arrivalLocation": {
              "latitude": 37.759773,
              "longitude": -122.427063
            }
          }
        ]
      }
    ],
    "vehicles": [
    ...
    ]
  }
}

Vehicle

Vehicle বার্তার ধরনটি একটি যানবাহনের সম্পত্তি কাঠামোকে সংজ্ঞায়িত করে যা একটি রুটে একটি চালান সম্পাদন করতে পারে।

A real life vehicle equals one `Vehicle` message, which is contained within a `vehicles` object

ডায়াগ্রামে চিত্রিত হিসাবে:

  • একটি Vehicle বার্তায় একটি বাস্তব জীবনের যানবাহনের সমস্ত তথ্য রয়েছে।
  • সমস্ত Vehicle বার্তা vehicles ক্ষেত্রে নির্দিষ্ট করা হয়.
  • vehicles ক্ষেত্রে একাধিক Vehicle বার্তা রয়েছে।

নিম্নলিখিত সারণীতে একটি Vehicle কিছু প্রাসঙ্গিক বৈশিষ্ট্য বর্ণনা করা হয়েছে।

বৈশিষ্ট্য বর্ণনা
startLocation এবং endLocation যানবাহনের শুরু এবং শেষ অবস্থান , যা চূড়ান্ত অপ্টিমাইজ করা রুটের অংশ। সংজ্ঞায়িত না হলে, তারা ডিফল্ট প্রথম চালান পিকআপ এবং শেষ চালান বিতরণ অবস্থানে।
costPerHour , costPerKilometer , costPerTraveledHour যানবাহন নির্দিষ্ট খরচ পরামিতি . একটি অপ্টিমাইজড রুট ফেরত দেওয়ার জন্য API-এর জন্য আপনার অনুরোধে আপনার কাছে অন্তত একটি খরচের প্যারামিটার থাকার পরামর্শ দেওয়া হচ্ছে। খরচ সম্পর্কে আরও জানতে খরচ মডেল কী ধারণাটি দেখুন।
startTimeWindows এবং endTimeWindows সময়কাল সংজ্ঞায়িত করুন যখন একটি যান একটি রুটে চলতে পারে। এগুলো অবশ্যই ShipmentModel এ সেট করা globalStartTime এবং globalEndTime টাইম উইন্ডোর মধ্যে পড়তে হবে। যদিও এই সম্পত্তির প্রয়োজন নেই, এটি অন্তর্ভুক্ত করার পরামর্শ দেওয়া হচ্ছে কারণ অপ্টিমাইজারটি সময় সীমাবদ্ধতা মেনে চলার সময় সবচেয়ে ভাল কাজ করে।

Vehicle উদাহরণ

এই উদাহরণে, আপনার একটি কুকুরের ডে-কেয়ার পরিষেবা রয়েছে এবং আপনি দিনের শুরুতে এবং শেষে আপনার গাড়ির অবস্থান এবং এটি কতটা গ্যাস খরচ করে তা নির্ধারণ করতে চান। আপনাকে গাড়ির কাজের সময় নির্দিষ্ট করতে হবে না কারণ তারা ShipmentModel অবজেক্টের মধ্যে globalStartTime এবং globalEndTime বৈশিষ্ট্যে আপনার সংজ্ঞায়িত সময়ের সাথে মেলে।

এই উদাহরণের জন্য, আপনার অনুরোধে Vehicle সম্পত্তির মানগুলি নিম্নরূপ:

সম্পত্তি মান বর্ণনা
startLocation latitude : 37.759773, longitude : -122.427063 আপনার গাড়ির রুটের শুরুর স্থানাঙ্ক। এগুলি আপনার কুকুরের ডে কেয়ারের অবস্থানের সাথে মেলে যা মিশন ডোলোরেস পার্ক, সান ফ্রান্সিসকোতে অবস্থিত।
endLocation latitude : 37.759773, longitude : -122.427063 আপনার গাড়ির রুটের শেষ স্থানাঙ্ক। এগুলি আপনার কুকুরের ডে কেয়ারের অবস্থানের সাথে মেলে যা মিশন ডোলোরেস পার্ক, সান ফ্রান্সিসকোতে অবস্থিত।
costPerHour 27 আপনার কুকুরের ডে কেয়ার গাড়ি চালানোর জন্য আপনি একজন ড্রাইভারকে কত টাকা দেন। আপনি ড্রাইভারকে প্রতি ঘন্টায় 27 ডলার প্রদান করেন।

নিম্নলিখিত একটি Vehicle বার্তার একটি কোড নমুনা উদাহরণের দৃশ্যের মানগুলিকে অন্তর্ভুক্ত করে৷

{
  "model": {
    "shipments": [
    ...
    ],
    "vehicles": [
      {
        "startLocation": {
          "latitude": 37.759773,
          "longitude": -122.427063
        },
        "endLocation": {
          "latitude": 37.759773,
          "longitude": -122.427063
        },
        "costPerHour": 27
      }
    ]
  }
}

Vehicle বৈশিষ্ট্যগুলির সম্পূর্ণ তালিকার জন্য রেফারেন্স ডকুমেন্টেশন দেখুন।

সম্পূর্ণ অনুরোধের উদাহরণ

নিম্নলিখিত কোড নমুনা একটি সম্পূর্ণ অনুরোধের উদাহরণ প্রদান করে, এই নথিতে দেখানো ShipmentModel , Shipment , এবং Vehicle উদাহরণগুলিকে একত্রিত করে৷

{
  "model": {
    "shipments": [
      {
        "pickups": [
          {
            "arrivalLocation": {
              "latitude": 37.8024,
              "longitude": -122.4058
            }
          }
        ],
        "deliveries": [
          {
            "arrivalLocation": {
              "latitude": 37.759773,
              "longitude": -122.427063
            }
          }
        ]
      },
      {
        "pickups": [
          {
            "arrivalLocation": {
              "latitude": 37.7359,
              "longitude": -122.5011
            }
          }
        ],
        "deliveries": [
          {
            "arrivalLocation": {
              "latitude": 37.759773,
              "longitude": -122.427063
            }
          }
        ]
      }
    ],
    "vehicles": [
      {
        "startLocation": {
          "latitude": 37.759773,
          "longitude": -122.427063
        },
        "endLocation": {
          "latitude": 37.759773,
          "longitude": -122.427063
        },
        "costPerHour": 27
      }
    ],
    "globalStartTime": "2024-02-13T00:00:00.000Z",
    "globalEndTime": "2024-02-14T06:00:00.000Z"
  }
}