থাকার দৈর্ঘ্য (LoS) মূল্য

ভ্রমণ অংশীদার মূল্য API

ট্রাভেল পার্টনার প্রাইস API আপনাকে Google-এ সম্পত্তির দাম পাঠানোর জন্য একটি আরামদায়ক ইন্টারফেস প্রদান করে।

পরিষেবা: travelpartnerprices.googleapis.com

এই পরিষেবাটি কল করার জন্য, আমরা সুপারিশ করি যে আপনি Google-প্রদত্ত ক্লায়েন্ট লাইব্রেরিগুলি ব্যবহার করুন৷ যদি আপনার অ্যাপ্লিকেশনটিকে এই পরিষেবাটি কল করার জন্য আপনার নিজস্ব লাইব্রেরি ব্যবহার করার প্রয়োজন হয়, তাহলে এই পরিষেবাটির জন্য ডিসকভারি ডকুমেন্ট পেতে আপনার টেকনিক্যাল অ্যাকাউন্ট ম্যানেজার (TAM)-এর সাথে যোগাযোগ করুন৷

পরিষেবা শেষ পয়েন্ট

একটি পরিষেবা শেষ পয়েন্ট হল একটি বেস URL যা একটি API পরিষেবার নেটওয়ার্ক ঠিকানা নির্দিষ্ট করে৷ একটি পরিষেবার একাধিক পরিষেবা শেষ পয়েন্ট থাকতে পারে। এই পরিষেবাটির নিম্নলিখিত পরিষেবা শেষ পয়েন্ট রয়েছে এবং তালিকাভুক্ত সমস্ত URIগুলি এই পরিষেবার শেষ পয়েন্টের সাথে সম্পর্কিত:

https://travelpartnerprices.googleapis.com
পদ্ধতি
ingestLosPropertyPrices POST /v1/accounts/ account_id /properties/ property_id :ingestLosPropertyPrices

একটি নির্দিষ্ট সম্পত্তির জন্য প্রদত্ত দৈর্ঘ্য থাকার মূল্য আপলোড করুন।

HTTP বার্তা বডি হিসাবে একটি JSON এনকোড করা LoS মূল্য বার্তা (নীচে দেখুন) প্রয়োজন৷

account_id : এই স্ট্রিং মান হল হোটেল সেন্টারের অ্যাকাউন্ট সেটিংস পৃষ্ঠায় তালিকাভুক্ত "অ্যাকাউন্ট আইডি" মান।

property_id : এই উপাদানটির মান অবশ্যই একটি স্ট্রিং হতে হবে যা আপনার হোটেল তালিকা ফিডের তালিকা আইডির সাথে মেলে।

API প্রমাণীকরণ

ট্রাভেল পার্টনার প্রাইস API আপনার অ্যাপ্লিকেশনকে প্রমাণীকরণ করতে OAuth 2.0 ব্যবহার করে যাতে আপনি APIগুলি অ্যাক্সেস করতে পারেন।

ধাপে ধাপে সেটআপ নির্দেশাবলী পেতে, OAuth 2.0 সেট আপ করা দেখুন। এগুলি হল ট্রাভেল পার্টনার API-এর সেটআপ নির্দেশাবলী৷ মনে রাখবেন ট্রাভেল পার্টনার এপিআই এবং ট্রাভেল পার্টনার প্রাইস এপিআই আলাদা। তাই এই সেটআপ নির্দেশাবলীতে, আপনাকে "ট্রাভেল পার্টনার এপিআই" নামটি যেকোন জায়গায় প্রতিস্থাপন করতে হবে যেখানে "ট্রাভেল পার্টনার এপিআই" উল্লেখ করা হয়েছে।

অনুরোধ

সিনট্যাক্স

LoS Prices বার্তা নিম্নলিখিত সিনট্যাক্স ব্যবহার করে:

{
  "requestTime": YYYY-MM-DDTHH:mm:ss.SSSZ,
  "propertyPrices": {
    "arrivalDatePrices": [{
      "startDate": {
        "year": int
        "month": int
        "day": int
      }
      "endDate": {
        "year": int
        "month": int
        "day": int
      }
      "productPrices": [{
        "roomTypeId": "string"
        "ratePlanId": "string"
        "occupancyPrices": [{
          "adults": int
          "prices": [{
            "rateRuleId": "string"
            "currencyCode": "string"
            "rates": [night_1,night_2,...]
            "taxes": [night_1,night_2,...]
            "fees": [night_1,night_2,...]
          }]
        }]
      }]
    }]
  }
}

উপাদান এবং বৈশিষ্ট্য

থাকার দৈর্ঘ্যের মূল্য বার্তায় নিম্নলিখিত উপাদান এবং বৈশিষ্ট্য রয়েছে:

উপাদান ঘটনা টাইপ বর্ণনা
requestTime 1 string

যে মুহূর্তে LoS মূল্য বার্তা পাঠানো হয়েছিল, একটি RFC 3339 -ফর্ম্যাটেড স্ট্রিং হিসাবে প্রকাশ করা হয়েছিল।

পূর্ববর্তী 24 ঘন্টার মধ্যে একটি requestTime সাথে প্রেরিত কোনো বার্তা প্রক্রিয়া করা হয়, এবং যেগুলি বাতিল করা হয় নি।

বার্তাগুলি requestTime অনুযায়ী প্রসেস করা হয়, সেগুলি যে ক্রমেই প্রাপ্ত হয় না কেন৷ উদাহরণ স্বরূপ, 2019-05-03T14:09:00Z এর requestTime সহ একটি মূল্য আপডেট যা 2019-05-03T14:10:00Z এর requestTime সাথে একই ভ্রমণপথের জন্য একটি বার্তার পরে গৃহীত হয় পরবর্তী টাইমস্ট্যাম্পের পক্ষে বাতিল করা হয় বার্তা

RFC 3339-এর জন্য YYYY-MM-DDThh:mm:ss.SSZ হিসাবে সম্পূর্ণভাবে নির্দিষ্ট তারিখের প্রয়োজন। টাইমজোন প্রয়োজন, UTC থেকে ধনাত্মক বা ঋণাত্মক hh:mm অফসেট হিসাবে নির্দিষ্ট করা, বা UTC-এর সংক্ষিপ্ত হস্ত হিসাবে Z

ভগ্নাংশ সেকেন্ড ঐচ্ছিক, এবং ন্যানোসেকেন্ড নির্ভুলতা পর্যন্ত প্রকাশ করা যেতে পারে। উদাহরণ হিসাবে, 2017-01-15T01:30:15.01-08:00 15 জানুয়ারী, 2017 তারিখে 01:30 PST এর পরে 15.01 সেকেন্ড এনকোড করে৷

propertyPrices 1 Object একটি সম্পত্তি জন্য মূল্য. এই propertyPrices মধ্যে সমস্ত মূল্য একই সম্পত্তির জন্য প্রযোজ্য।

এই উপাদান পুনরাবৃত্তি হয় না. একাধিক প্রপার্টির জন্য দাম পাঠাতে, আপনাকে একাধিক HTTP অনুরোধ করতে হবে (প্রতি সম্পত্তিতে অন্তত একটি)।

arrivalDayPrices[] 1..n Object একটি আগমন তারিখের জন্য মূল্য. এই arrivalDayPrices মধ্যে সমস্ত মূল্য একটি নির্দিষ্ট সম্পত্তির জন্য প্রযোজ্য, তবে বিভিন্ন আগমনের তারিখ।
startDate 1 Object productPrices startDate এবং endDate মধ্যে সমস্ত আগমনের তারিখে প্রয়োগ করা হয়, অন্তর্ভুক্ত।

যদি শুধুমাত্র একটি আগমনের তারিখ (এবং একটি পরিসর নয়) নির্দিষ্ট করার চেষ্টা করা হয়, তাহলে startDate এবং endDate উভয়ের মধ্যেই আগমনের তারিখ ইনপুট করুন।

startDate.year 1 integer startDate বছর। 1 থেকে 9999 পর্যন্ত হতে হবে।
startDate.month 1 integer এক বছরের মাস। 1 থেকে 12 হতে হবে।
startDate.day 1 integer এক মাসের দিন। 1 থেকে 31 হতে হবে এবং বছর এবং মাসের জন্য বৈধ হতে হবে।
endDate 0..1 Object পণ্যের মূল্য startDate এবং endDate মধ্যে সমস্ত আগমনের তারিখে প্রয়োগ করা হয়, অন্তর্ভুক্ত।

যদি শুধুমাত্র একটি আগমনের তারিখ নির্দিষ্ট করার চেষ্টা করা হয় (এবং একটি পরিসীমা নয়), endDate বাদ দেওয়া হতে পারে।

endDate.year 1 integer endDate বছর। 1 থেকে 9999 পর্যন্ত হতে হবে।
endDate.month 1 integer এক বছরের মাস। 1 থেকে 12 হতে হবে।
endDate.day 1 integer এক মাসের দিন। 1 থেকে 31 হতে হবে এবং বছর এবং মাসের জন্য বৈধ হতে হবে।
productPrices[] 1..n Object একটি পণ্যের জন্য মূল্য. এই productPrices মধ্যে সমস্ত মূল্য একটি নির্দিষ্ট সম্পত্তি, আগমনের তারিখ সংমিশ্রণ, কিন্তু বিভিন্ন পণ্যের জন্য প্রযোজ্য।
roomTypeId 0..1 string এই দাম যে রুমের জন্য উল্লেখ করা হচ্ছে তার অনন্য আইডি। আপনি রুম ডেটাতে যা পাঠিয়েছেন তার সাথে রুম বান্ডেল ডেটা মেলানোর জন্য এই আইডিটি ব্যবহার করুন। আরও তথ্যের জন্য, রুম বান্ডেল মেটাডেটা পড়ুন।
ratePlanId 0..1 string এই মূল্য উল্লেখ করা প্যাকেজ ডেটার জন্য অনন্য আইডি। আপনি প্যাকেজ ডেটাতে যা পাঠিয়েছেন তার সাথে রুম বান্ডেল ডেটা মেলাতে এই আইডিটি ব্যবহার করুন। আরও তথ্যের জন্য, রুম বান্ডেল মেটাডেটা পড়ুন।
occupancyPrices[] 1..n Object একটি দখল জন্য মূল্য. এই occupancyPrices মধ্যে সমস্ত মূল্য একটি নির্দিষ্ট সম্পত্তি, আগমনের তারিখ, পণ্যের সংমিশ্রণে প্রযোজ্য, কিন্তু বিভিন্ন দখলের ক্ষেত্রে।
adults 1 integer প্রাপ্তবয়স্ক এবং শিশুদের সহ, প্রতি রুমে বুক করা যেতে পারে এমন অতিথিদের সর্বাধিক সংখ্যা৷ এই মানটি সংশ্লিষ্ট occupancyPrices ফিল্ডের মধ্যে সমস্ত হারের জন্য সেট করা হয়েছে এবং অবশ্যই 1 এবং 99 এর মধ্যে একটি ধনাত্মক পূর্ণসংখ্যা হতে হবে।

দ্রষ্টব্য: চারজনের বেশি প্রাপ্তবয়স্কদের জন্য দখল পাঠাতে আপনার সহায়তা দলের সাথে যোগাযোগ করুন।

prices[] 1..n Object থাকার দামের দৈর্ঘ্য। prices মধ্যে সমস্ত মূল্য একটি নির্দিষ্ট সম্পত্তি, আগমনের তারিখ, পণ্য এবং দখলের সমন্বয়ে প্রযোজ্য।
rateRuleId 0..1 string শর্তসাপেক্ষ হারের জন্য, এই আইডিটি আপনার হার নিয়ম সংজ্ঞা ফাইলের একটি সংজ্ঞার সাথে একটি হারের সাথে মিলে যায়। এই ক্ষেত্রের জন্য অক্ষর সীমা 40 অক্ষর।
currencyCode 1 string তিন-অক্ষরের মুদ্রা কোড যার মধ্যে rates এবং taxes দেওয়া আছে। উদাহরণস্বরূপ, মার্কিন ডলারের জন্য "USD"
rates[] 30 float থাকার দামের দৈর্ঘ্যের বেস রেট উপাদান।

যদি একটি সংশ্লিষ্ট taxes মান প্রদান করা হয়, তাহলে এই হার ট্যাক্সের অন্তর্ভুক্ত নয়। মোট মূল্য হল প্রাসঙ্গিক হার এবং করের যোগফল।

সূচক n এর মান n+1 থাকার দৈর্ঘ্যের সাথে মিলে যায়।

আপনাকে অবশ্যই একবারে 30 মূল্যের সম্পূর্ণ LoS সেট পাঠাতে হবে। আপনি যদি 30-এর কম পাঠান, তাহলে প্রদত্ত সমস্ত LoS মূল্য স্বাভাবিক হিসাবে প্রক্রিয়া করা হয়, এবং বাকি রেটগুলি LoS 30 পর্যন্ত অনুপলব্ধ থাকে৷ আপনি যদি 30-এর বেশি পাঠান, তাহলে 30তম হারের বাইরে আপনি যে কোনও মূল্য পাঠান তা বাদ দেওয়া হবে৷

অনুপলব্ধ অবস্থানের দৈর্ঘ্য 0 দিয়ে উপস্থাপন করা উচিত।

taxes[] 30 float থাকার দামের দৈর্ঘ্যের ট্যাক্স উপাদান।

সূচক n এর মান n+1 থাকার দৈর্ঘ্যের সাথে মিলে যায়।

fees[] 30 float থাকার দামের দৈর্ঘ্যের ফি উপাদান।

সূচক n এর মান n+1 থাকার দৈর্ঘ্যের সাথে মিলে যায়।

উদাহরণ

LOS এর উপর ভিত্তি করে হার এবং কর

নিম্নলিখিত উদাহরণটি দেখায় যে একটি চেক-ইন তারিখের জন্য 2-এর অবস্থানের ন্যূনতম দৈর্ঘ্য সেট করা এবং অন্য চেক-ইন তারিখের জন্য কোনও উপলব্ধতা সেট করা নেই৷ আপনি যদি 9/1/2023 থেকে startDate কোন endDate ছাড়াই সেট করেন, তাহলে এর মানে হল যে আপনি শুধুমাত্র একটি তারিখের জন্য হার নির্দিষ্ট করছেন এবং আপনি endDate বাদ দিতে পারেন।

2 তে সেট করা occupancyPrices অ্যারে আপনাকে বিভিন্ন দখলের জন্য বিভিন্ন হার সেট করতে দেয়। অতএব, 09/04/23 তারিখে কোন শূন্যপদ উপলব্ধ rates সীমাবদ্ধ।

দেখানো taxes অ্যারে হারের 10% হিসাবে গণনা করা হয়।

দেখানো fees অ্যারে প্রতি থাকার জন্য $50 ক্লিনিং ফি প্রযোজ্য।

যদি পুরো চেক-ইন তারিখটি অনুপলব্ধ হয় - 9/3/2023, আপনাকে অবশ্যই স্পষ্টভাবে তারিখটি পাঠাতে হবে এবং অনুরোধকৃত তারিখের জন্য কোন উপলব্ধতা নেই তা বোঝাতে rates , taxes এবং productPrices বাদ দিতে হবে।

{
  "requestTime": "2023-08-10T12:15:222",
  "propertyPrices": {
    "arrivalDatePrices": [
      {
        "startDate": {
          "year": 2023,
          "month": 9,
          "day": 1
        },
        "productPrices": [
          {
            "occupancyPrices": [
              {
                "adults": 2,
                "prices": [
                  {
                    "currencyCode": "USD",
                    "rates": [
                      0, 200, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
                    ],
                    "taxes": [
                      0, 20, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
                    ],
                    "fees": [
                      0, 50, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
                    ]
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "startDate": {
          "year": 2023,
          "month": 9,
          "day": 3
        },
        "productPrices": [
          {
            "occupancyPrices": [
              {
                "adults": 2,
                "prices": [
                  {
                    "currencyCode": "USD",
                    "rates": [
                      0, 200, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
                    ],
                    "taxes": [
                      0, 20, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
                    ],
                    "fees": [
                      0, 50, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
                    ]
                  }
                ]
              }
            ]
          }
        ]
      }
    ]
  }
}

প্রতিক্রিয়া শরীর

সফল হলে, প্রতিক্রিয়া বডিতে নিম্নলিখিত কাঠামোর সাথে ডেটা থাকে:

JSON প্রতিনিধিত্ব
        {
          "name": "string"
        }
        
ক্ষেত্র
name সম্পদমূল্যের সম্পদের নাম যা সংশোধন করা হয়েছে। ফর্ম আছে:
accounts/{account}/properties/{property}