মূল্য নির্ধারণ & রুম ইনভেন্টরি (লেনদেন) XML রেফারেন্স

এই পৃষ্ঠাটি XML-ভিত্তিক লেনদেন বার্তাগুলির জন্য একটি রেফারেন্স প্রদান করে৷

<Transaction>

একটি লেনদেন বার্তার মূল উপাদান হল <Transaction> । এটি রুম এবং প্যাকেজ এবং/অথবা রুম এবং প্যাকেজের জন্য মূল্য এবং প্রাপ্যতা সম্পর্কে বর্ণনামূলক তথ্যের জন্য একটি ধারক।

লেনদেন বার্তা XML অনুক্রমের নিম্নলিখিত স্থানে <Transaction> উপাদানটি উপস্থিত হয়:

+ <Transaction>
    + <PropertyDataSet>  // Room and package metadata
        + <Property>
        + <RoomData>
        + <PackageData>
    + <Result>           // Pricing and availability
        + <Rates>
        + <RoomBundle>
        + ...

যে বার্তাগুলি <Transaction> রুট এলিমেন্ট ব্যবহার করে সেগুলির জন্য অন্তত একটি চাইল্ড এলিমেন্ট প্রয়োজন। লেনদেন বার্তাগুলিতে যেকোন সংখ্যক চাইল্ড উপাদান থাকতে পারে, যতক্ষণ না মোট বার্তার আকার 100 MB-এর বেশি না হয়৷

বাক্য গঠন

<Transaction> উপাদানটি নিম্নলিখিত সিনট্যাক্স ব্যবহার করে:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="timestamp" id="transaction_ID">

  <!-- Defines data about a room or package (Room Bundle) -->
  <PropertyDataSet>
    ...
  </PropertyDataSet>

  <!-- Updates/sets prices and availability for rooms and Room Bundles -->
  <!-- (Also removes itineraries from inventory) -->
  <Result>
    ...
  </Result>

</Transaction>

গুণাবলী

<Transaction> উপাদানটির নিম্নলিখিত বৈশিষ্ট্য রয়েছে:

বৈশিষ্ট্য প্রয়োজন? টাইপ বর্ণনা
id Required স্ট্রিং প্রতিটি লেনদেন বার্তার জন্য একটি অনন্য শনাক্তকারী।
partner Optional string লেনদেন বার্তা যে অংশীদার অ্যাকাউন্টের জন্য। আপনি সাধারণত এটি ব্যবহার করেন যদি আপনার ব্যাক এন্ড একাধিক অংশীদার অ্যাকাউন্টের জন্য মূল্য ফিড প্রদান করে। এই স্ট্রিং মান হল হোটেল সেন্টারের অ্যাকাউন্ট সেটিংস পৃষ্ঠায় তালিকাভুক্ত "অংশীদার কী" মান।
timestamp Required DateTime

যে মুহূর্তে লেনদেন বার্তা পাঠানো হয়েছিল।

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

বার্তাগুলি timestamp ক্রম অনুসারে প্রক্রিয়া করা হয় এবং প্রাপ্তির ক্রমে নয়। উদাহরণস্বরূপ, 2019-05-03 14:09:00 এর টাইমস্ট্যাম্প সহ একটি মূল্য আপডেট যা 2019-05-03 14:10:00 তারিখের একটি টাইমস্ট্যাম্প সহ একটি বার্তার পরে প্রাপ্ত হয়, তারপরও ক্রমানুসারে প্রক্রিয়া করা হবে এবং মূল্য 2019-05-03 14:10:00 টাইমস্ট্যাম্প সহ বার্তা থেকে ব্যবহার করা হবে।

শিশু উপাদান

<Transaction> উপাদানটিতে নিম্নলিখিত শিশু উপাদান রয়েছে:

শিশু উপাদান প্রয়োজন? টাইপ বর্ণনা
<PropertyDataSet> Optional* <PropertyDataSet>

একটি নির্দিষ্ট রুম এবং রুম বান্ডিল বর্ণনা করে। আপনি সাধারণত রুম বান্ডেলের জন্য শেয়ার করা মান নির্ধারণ করতে এবং আপনার লেনদেন বার্তাগুলির আকার কমাতে একটি পৃথক লেনদেন বার্তায় এই উপাদানটি ব্যবহার করেন।

<Result> Optional* <Result>

একটি রুমের যাত্রাপথের মূল্য নির্ধারণের ডেটা বা একটি <RoomBundle> উপাদান যা রুম বান্ডেল এবং সম্পত্তির জন্য অতিরিক্ত ধরনের রুমের সংজ্ঞা দেয়। <Result> উপাদানটি ইনভেন্টরি থেকে ভ্রমণপথগুলি সরাতেও ব্যবহার করা যেতে পারে।

* অন্তত একটি <PropertyDataSet> বা <Result> প্রয়োজন।

উদাহরণ

রুম ডেটা

নিম্নলিখিত উদাহরণটি একটি সাধারণ লেনদেন বার্তায় রুম ডেটা সংজ্ঞায়িত করে:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>5440OF</RoomID>
      <Name>
        <Text text="Single King Bed Room" language="en"/>
        <Text text="Simple Lit de Roi" language="fr"/>
      </Name>
      <Description>
        <Text text="One king bed with pillowtop mattresses, 300-thread-count linens,
          and down comforters (bedspreads). City view. 300 square feet. Desk with
          rolling chair. Multi-line phone with voice mail. Cable/satellite TV with
          complimentary HBO and pay movies." language="en"/>
        <Text text="Un très grand lit avec matelas à plateau-coussin, ..." language="fr"/>
      </Description>
      <PhotoURL>
        <Caption>
          <Text text="Bathroom View" language="en"/>
          <Text text="La salle de baines" language="fr"/>
        </Caption>
        <URL>http://www.foo.com/static/bar/image1234.jpg</URL>
      </PhotoURL>
      <Capacity>4</Capacity>
    </RoomData>
  </PropertyDataSet>
</Transaction>

মূল্যের তথ্য

নিম্নলিখিত উদাহরণটি একটি সাধারণ লেনদেন বার্তায় মূল্যের ডেটা সংজ্ঞায়িত করে:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-23T16:20:00-04:00" id="42">
  <Result>
    <Property>060773</Property>
    <RoomID>RoomType101</RoomID>
    <PackageID>Package101</PackageID>
    <Checkin>2018-06-10</Checkin>
    <Nights>2</Nights>
    <Baserate currency="USD">278.33</Baserate>
    <Tax currency="USD">25.12</Tax>
    <OtherFees currency="USD">2.00</OtherFees>
    <AllowablePointsOfSale>
      <PointOfSale id="site1"/>
    </AllowablePointsOfSale>
  </Result>
  <Result>
    <Property>052213</Property>
    <RoomID>RoomType101</RoomID>
    <PackageID>Package101</PackageID>
    <Checkin>2018-06-10</Checkin>
    <Nights>2</Nights>
    <Baserate currency="USD">299.98</Baserate>
    <Tax currency="USD">26.42</Tax>
    <OtherFees currency="USD">2.00</OtherFees>
    <AllowablePointsOfSale>
      <PointOfSale id="otto"/>
      <PointOfSale id="simon"/>
    </AllowablePointsOfSale>
  </Result>
</Transaction>

রাতের হার

নিম্নলিখিত উদাহরণটি 7 জুন, 2023 থেকে শুরু হওয়া 1 থেকে 7 রাতের জন্য মূল্যের ডেটা সংজ্ঞায়িত করে:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-08-24T16:20:00-04:00" id="42">
  <Result>
    <Property>1234</Property>
    <Checkin>2018-06-07</Checkin>
    <Nights>1</Nights>
    <Baserate currency="USD">209.99</Baserate>
    <Tax currency="USD">25.12</Tax>
    <OtherFees currency="USD">2.00</OtherFees>
  </Result>
  <Result>
    <Property>1234</Property>
    <Checkin>2018-06-07</Checkin>
    <Nights>2</Nights>
    <Baserate currency="USD">419.98</Baserate>
    <Tax currency="USD">25.12</Tax>
    <OtherFees currency="USD">2.00</OtherFees>
  </Result>
  <Result>
    <Property>1234</Property>
    <Checkin>2018-06-07</Checkin>
    <Nights>3</Nights>
    <Baserate currency="USD">614.97</Baserate>
    <Tax currency="USD">21.12</Tax>
    <OtherFees currency="USD">2.00</OtherFees>
  </Result>
  <Result>
    <Property>1234</Property>
    <Checkin>2018-06-07</Checkin>
    <Nights>4</Nights>
    <Baserate currency="USD">819.96</Baserate>
    <Tax currency="USD">21.12</Tax>
    <OtherFees currency="USD">2.00</OtherFees>
  </Result>
  <Result>
    <Property>1234</Property>
    <Checkin>2018-06-07</Checkin>
    <Nights>5</Nights>
    <Baserate currency="USD">999.95</Baserate>
    <Tax currency="USD">21.12</Tax>
    <OtherFees currency="USD">2.00</OtherFees>
  </Result>
  <Result>
    <Property>1234</Property>
    <Checkin>2018-06-07</Checkin>
    <Nights>6</Nights>
    <Baserate currency="USD">1193.94</Baserate>
    <Tax currency="USD">21.12</Tax>
    <OtherFees currency="USD">2.00</OtherFees>
  </Result>
  <Result>
    <Property>1234</Property>
    <Checkin>2018-06-07</Checkin>
    <Nights>7</Nights>
    <Baserate currency="USD">1259.93</Baserate>
    <Tax currency="USD">21.12</Tax>
    <OtherFees currency="USD">2.00</OtherFees>
  </Result>
</Transaction>


বেস এবং শর্তাধীন হার

নিম্নলিখিত উদাহরণটি একটি লেনদেন বার্তা দেখায় যাতে একটি বেস রেট এবং একটি শর্তাধীন হার রয়েছে:

<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2023-05-18T16:20:00-04:00" id="42">
  <Result>
    <Property>1234</Property>
    <Checkin>2023-04-10</Checkin>
    <Nights>1</Nights>

    <Baserate currency="USD">200.00</Baserate>
    <Tax currency="USD">20.00</Tax>
    <OtherFees currency="USD">1.00</OtherFees>

    <Rates>
      <!-- The rate_rule_id is required when using conditional rates -->
      <Rate rate_rule_id="mobile">
        <!-- Override base rate and taxes for conditional rates -->
        <Baserate currency="USD">180.00</Baserate>
        <Tax currency="USD">18.00</Tax>
        <!-- NOTE: OtherFees is inherited from the above setting -->
        <Custom1>ratecode123</Custom1>
      </Rate>
    </Rates>

  </Result>
</Transaction>

ইনভেন্টরি সরান

নিম্নলিখিত উদাহরণটি ইনভেন্টরি থেকে একটি হোটেলের জন্য বেশ কয়েকটি ইনভেন্টরি (বিভিন্ন তারিখের জন্য 1-রাত্রি থাকার) সরিয়ে দেয়:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-05-23T16:20:00-04:00" id="42">
  <Result>
    <Property>1123581321</Property>
    <Checkin>2023-05-23</Checkin>
    <Nights>1</Nights>
    <Unavailable>
      <NoVacancy/>
    </Unavailable>
    <Tax currency="USD">0</Tax>
    <OtherFees currency="USD">0</OtherFees>
  </Result>
  <Result>
    <Property>1123581321</Property>
    <Checkin>2023-05-24</Checkin>
    <Nights>1</Nights>
    <Unavailable>
      <NoVacancy/>
    </Unavailable>
    <Tax currency="USD">0</Tax>
    <OtherFees currency="USD">0</OtherFees>
  </Result>
  <!---Sending <Baserate> is optional with <Unavailable> -->
  <Result>
    <Property>1123581321</Property>
    <Checkin>2023-05-25</Checkin>
    <Nights>1</Nights>
    <Baserate currency="USD">-1</Baserate>
    <Unavailable>
      <NoVacancy/>
    </Unavailable>
    <Tax currency="USD">0</Tax>
    <OtherFees currency="USD">0</OtherFees>
  </Result>
</Transaction>

<PropertyDataSet>

একটি <Transaction> বার্তায় রুম এবং প্যাকেজ (বা রুম বান্ডেল ) তথ্যের জন্য একটি ধারক। হোটেলে সেট করা মান ওভাররাইড একটি অংশীদারের উপর সেট করা মান। Google এই তথ্য সঞ্চয় করে যাতে আপনি প্রতিবার মূল্যের আপডেট পাঠালে আপনাকে এটি সংজ্ঞায়িত করতে হবে না।

<PropertyDataSet> উপাদানটি লেনদেন বার্তা XML অনুক্রমের নিম্নলিখিত স্থানে উপস্থিত হয়:

+ <Transaction>
    + <PropertyDataSet>  // Room and package metadata
        + <Property>
        + <RoomData>
        + <PackageData>
    + <Result>  // Pricing and availability
        + <Rates>
        + <RoomBundle>
        + ...

আরও তথ্যের জন্য, রুম বান্ডেল মেটাডেটা পড়ুন।

বাক্য গঠন

<PropertyDataSet> উপাদান নিম্নলিখিত সিনট্যাক্স ব্যবহার করে:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction ... >
  <PropertyDataSet>
    <!-- (Required) ID that matches the Hotel List Feed -->
    <Property>hotel_ID</Property>

    <!-- (Optional) Defines metadata about a room -->
    <RoomData>
      ...
    </RoomData>

    <!-- (Optional) Defines package metadata to be paired with rooms (Room Bundles) -->
    <PackageData>
      ...
    </PackageData>
  </PropertyDataSet>
  ...
</Transaction>

গুণাবলী

<PropertyDataSet> উপাদানটির কোনো বৈশিষ্ট্য নেই।

শিশু উপাদান

<PropertyDataSet> উপাদানটিতে নিম্নলিখিত চাইল্ড উপাদান রয়েছে:

শিশু উপাদান প্রয়োজন? টাইপ বর্ণনা
<PackageData> Optional* <PackageData> একটি রুম বান্ডিল বর্ণনা. এই ডেটা একটি অংশীদার এবং হোটেলের সাথে যুক্ত, কিন্তু একটি ভ্রমণসূচীর সাথে নয়। এই উপাদানটি <RoomData> এর মতই, কিন্তু এটি এমন সুযোগ-সুবিধা এবং শর্তাবলী বর্ণনা করে যা প্রকৃত রুমের বিবরণের অংশ নয়।

আপনি আপনার মূল্য আপডেটে প্যাকেজ আইডি উল্লেখ করেন।

আরও তথ্যের জন্য, রুম বান্ডেল মেটাডেটা পড়ুন।

<Property> Required string সংশ্লিষ্ট ডেটা প্রযোজ্য হোটেলের আইডি। এই উপাদানটির মান অবশ্যই একটি স্ট্রিং হতে হবে যা আপনার হোটেল তালিকা ফিডে <id> তালিকার সাথে মেলে।
<RoomData> Optional* <RoomData> একটি ঘরের বর্ণনা দেয়। এই ডেটা একটি অংশীদার এবং হোটেলের সাথে যুক্ত, কিন্তু একটি ভ্রমণসূচীর সাথে নয়।

আপনি আপনার মূল্য আপডেটে রুম আইডি উল্লেখ করেন।

* <PackageData> বা <RoomData> এর মধ্যে অন্তত একটি প্রয়োজন।

উদাহরণ

রুম এবং প্যাকেজ ডেটা

নিম্নলিখিত উদাহরণটি <PropertyDataSet> এ রুম এবং প্যাকেজ ডেটা উভয়ই দেখায়:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>180054</Property>
    <RoomData>
      <RoomID>060773</RoomID>
      <Name>
        <Text text="Single Bed Room" language="en"/>
        <Text text="Chambre single" language="fr"/>
      </Name>
      <Description>
        <Text text="Non-smoking" language="en"/>
        <Text text="Pas de fumiers" language="fr"/>
      </Description>
      <PhotoURL>
        <Caption>
          <Text text="Living area" language="en"/>
          <Text text="Le chambre" language="fr"/>
        </Caption>
        <URL>http://www.foo.com/static/bar/image1234.jpg</URL>
      </PhotoURL>
    </RoomData>
    <PackageData>
      <PackageID>P54321</PackageID>
      <Name>
        <Text text="Breakfast Included" language="en"/>
        <Text text="Avec le petit déjeuner" language="fr"/>
      </Name>
      <Description>
        <Text text="Includes a delightful array of jams and jellies." language="en"/>
        <Text text="Comprend une délicieuse gamme de confitures et gelées." language="fr"/>
      </Description>
      <BreakfastIncluded>1</BreakfastIncluded>
    </PackageData>
  </PropertyDataSet>
</Transaction>

আপনি যখন এই রুম এবং/অথবা রুম বান্ডেলের জন্য মূল্য এবং প্রাপ্যতা পাঠান, তখন আপনি আপনার মূল্য বার্তাগুলিতে রুম এবং প্যাকেজ আইডি উল্লেখ করেন। ফলাফল হল যে আপনি আপনার বার্তাগুলির আকার ব্যাপকভাবে হ্রাস করেন এবং ডুপ্লিকেট ডেটার কারণে আপনি যে ত্রুটির সম্মুখীন হতে পারেন তার পরিমাণও কমিয়ে দেন৷ আরও তথ্যের জন্য, রুম বান্ডেল মেটাডেটা পড়ুন।

<RoomData>

রুম সম্পর্কে ভ্রমণসূচী-স্বাধীন মেটাডেটা সংজ্ঞায়িত করে, এবং এক্সটেনশন দ্বারা, রুম বান্ডেল (যেহেতু রুম বান্ডেল হল রুম এবং অতিরিক্ত সুবিধা)। আপনার মূল্য ফিডে বর্ণনামূলক ডেটার পুনরাবৃত্তি কমাতে <RoomData> ব্যবহার করুন।

<RoomData> উপাদানটি লেনদেন বার্তা XML অনুক্রমের নিম্নলিখিত স্থানে উপস্থিত হয়:

+ <Transaction>
    + <PropertyDataSet>  // Room and package metadata
        + <Property>
        + <RoomData>
        + <PackageData>
    + <Result>           // Pricing and availability
        + <Rates>
        + <RoomBundle>
        + ...

<RoomData> উপাদানে এমন তথ্য থাকে যা অংশীদার এবং হোটেলের সাথে সম্পর্কিত, কিন্তু ভ্রমণসূচীর সাথে নয়। উদ্দেশ্য উদ্দেশ্য হল সমস্ত অ-ভ্রমণ সংক্রান্ত তথ্যের জন্য।

<RoomData> উপাদানটি <PackageData> এর অনুরূপ, তবে এটি প্যাকেজের সুবিধা এবং শর্তাবলীর পরিবর্তে প্রকৃত রুম বর্ণনা করে। আপনি রুম বান্ডেল সম্পর্কে বিশদ প্রদান করতে <RoomData> এবং <PackageData> একত্রে ব্যবহার করেন। প্যাকেজের অংশ নয় এমন পৃথক কক্ষগুলির জন্য শুধুমাত্র <RoomData> ব্যবহার করুন।

আপনি একই রুম বা রুম বান্ডেলের জন্য <RoomData> এবং <PackageData> উভয় উপাদানই সংজ্ঞায়িত করতে পারেন। যখন Google অনুসন্ধান ফলাফলে সেই রুম বা প্যাকেজটি প্রদর্শন করে, তখন এটি হাইফেন দ্বারা পৃথক করা উভয়ের বর্ণনা অন্তর্ভুক্ত করবে।

আরও তথ্যের জন্য, রুম বান্ডেল মেটাডেটা পড়ুন।

বাক্য গঠন

<RoomData> উপাদান নিম্নলিখিত সিনট্যাক্স ব্যবহার করে:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction ... >
  <PropertyDataSet>
    ...
    <RoomData>
      <RoomID>room_ID</RoomID>

      <Name>
        <Text text="room_name" language="language_code"/>
        ...
      </Name>

      <Description>
        <Text text="room_description" language="language_code"/>
        ...
      </Description>

      <Capacity>max_number_of_occupants</Capacity>
      <Occupancy>max_number_of_intended_occupants</Occupancy>
      <OccupancyDetails> <!-- optional info about the types of guests,
      whether adults, children, or seniors --></OccupancyDetails>
      <OccupancySettings>
        <MinOccupancy>min_number_of_occupants</MinOccupancy>
        <MinAge>min_age_of_occupants</MinAge>
      </OccupancySettings>

      <PhotoURL>
        <Caption>
          <Text text="photo_description" language="language_code"/>
          ...
        </Caption>
        <URL>photo_location</URL>
      </PhotoURL>
      <RoomFeatures>
        ...
      </RoomFeatures>
    </RoomData>
    ...
  </PropertyDataSet>
</Transaction>

গুণাবলী

<RoomData> উপাদানটির কোনো বৈশিষ্ট্য নেই।

শিশু উপাদান

<RoomData> এলিমেন্টে নিম্নলিখিত চাইল্ড এলিমেন্ট আছে:

শিশু উপাদান প্রয়োজন? টাইপ বর্ণনা
<Capacity> Optional integer একটি রুম শারীরিকভাবে মিটমাট করতে পারে যে সর্বাধিক সংখ্যক অতিথি। একটি কক্ষের জন্য, ধারণক্ষমতা দখলের চেয়ে বেশি বা সমান।

নির্দিষ্ট করা হলে, এই মানটি অবশ্যই <Occupancy> উপাদানের মানের সমান বা তার চেয়ে বেশি হতে হবে, যা একটি নির্দিষ্ট কক্ষের জন্য অতিথিদের অভিপ্রেত সংখ্যা। উদাহরণস্বরূপ, একটি বড় স্যুটের <Capacity> 6 হতে পারে, কিন্তু এটির জন্য <Occupancy> 4।

<Capacity> এর মান অবশ্যই 1 এবং 20 এর মধ্যে একটি ধনাত্মক পূর্ণসংখ্যা হতে হবে, অন্তর্ভুক্ত।

<Description> Optional Object ঘরের বিস্তারিত বর্ণনা। এই উপাদানটিতে অন্য উপাদান বা <Name> উপাদান দ্বারা বর্ণিত নয় এমন তথ্য থাকা উচিত। ঘরের বর্ণনা উল্লেখ করার সময় আপনার সমস্ত বড় অক্ষর ব্যবহার করা উচিত নয়।

<Description> উপাদানটি একটি একক শিশু উপাদান নেয়, <Text> , যার নিম্নলিখিত দুটি প্রয়োজনীয় বৈশিষ্ট্য রয়েছে:

  • text : ঘরের একটি বিশদ বিবরণ।
  • language : একটি দুই-অক্ষরের ভাষা কোড; উদাহরণস্বরূপ, fr .

প্রতিটি ভাষার জন্য একটি পৃথক <Text> উপাদান ব্যবহার করুন যেখানে আপনার বিজ্ঞাপন বা বিনামূল্যে বুকিং লিঙ্ক প্রদর্শিত হতে পারে ( language বৈশিষ্ট্যের জন্য বিভিন্ন মান সহ)।

নিম্নলিখিত উদাহরণটি রুম বিবরণের ফরাসি এবং ইংরেজি সংস্করণ দেখায়:

<Description>
  <Text text="Two queen-sized beds" language="en"/>
  <Text text="Deux lits de la reine" language="fr"/>
</Description>
<Name> Required string রুমের ক্যাটাগরির নাম। এই মানটি হোটেলের ল্যান্ডিং পৃষ্ঠায় (পূর্বে বিক্রয় কেন্দ্র) যা দেখায় তার সাথে মিলিত হওয়া উচিত। সমস্ত বড় অক্ষরে এই উপাদানটির মান সেট করবেন না।

এই উপাদানটি একটি একক শিশু উপাদান নেয়, <Text> , যার নিম্নলিখিত দুটি প্রয়োজনীয় বৈশিষ্ট্য রয়েছে:

  • text : ঘরের নাম।
  • language : একটি দুই-অক্ষরের ভাষা কোড; উদাহরণস্বরূপ, fr .

প্রতিটি ভাষার জন্য একটি পৃথক <Text> উপাদান ব্যবহার করুন যেখানে আপনার বিজ্ঞাপন বা বিনামূল্যে বুকিং লিঙ্ক প্রদর্শিত হতে পারে ( language বৈশিষ্ট্যের জন্য বিভিন্ন মান সহ)।

নিম্নলিখিত উদাহরণটি রুমের নামের ফরাসি এবং ইংরেজি সংস্করণ দেখায়:

<Name>
  <Text text="Standard Double Room" language="en"/>
  <Text text="Le chambre double" language="fr"/>
</Name>
<Occupancy> Optional integer একটি কক্ষের জন্য নির্ধারিত সর্বাধিক সংখ্যক অতিথি। উদাহরণস্বরূপ, একটি বড় স্যুট শারীরিকভাবে 6 জন অতিথিকে (ক্ষমতা = 6) মিটমাট করতে সক্ষম হতে পারে, তবে এটি শুধুমাত্র 4 জন অতিথির জন্য তৈরি।

এই মানটি অবশ্যই <Capacity> উপাদানের থেকে কম বা সমান হতে হবে, যা রুমটি শারীরিকভাবে মিটমাট করতে পারে এমন লোকের সংখ্যা।

<Occupancy> -এর মান অবশ্যই 1 এবং 99 এর মধ্যে একটি ধনাত্মক পূর্ণসংখ্যা হতে হবে।

<Occupancy> এর সাথে <OccupancyDetails> থাকতে পারে, যা অতিথিদের ধরন (প্রাপ্তবয়স্ক বা শিশু) নির্দিষ্ট করে। সিনট্যাক্স এবং চাইল্ড এলিমেন্টের বর্ণনার জন্য <OccupancyDetails> পড়ুন।

<OccupancySettings> Optional Object সেটিংস যা একটি রুমের দখলের প্রয়োজনীয়তা সীমাবদ্ধ বা পরিবর্তন করতে পারে।

<OccupancySettings> এলিমেন্ট নিম্নলিখিত চাইল্ড এলিমেন্টগুলি নেয়:

  • <MinOccupancy> : একটি রুমে থাকতে পারে এমন ন্যূনতম সংখ্যক অতিথি। উদাহরণস্বরূপ, যদি এটি 2 তে সেট করা থাকে, তাহলে এই রুমটি একক অতিথির জন্য বুক করা যাবে না৷

    <MinOccupancy> এর মান অবশ্যই 1 এবং 99 এর মধ্যে একটি ধনাত্মক পূর্ণসংখ্যা হতে হবে, অন্তর্ভুক্ত।

  • <MinAge> : একটি রুমে থাকা সমস্ত অতিথিদের জন্য সর্বনিম্ন বয়স। উদাহরণস্বরূপ, যদি এটি 18 তে সেট করা হয়, এই রুমটি শুধুমাত্র সেই গোষ্ঠীগুলির জন্য বুক করা যেতে পারে যেখানে সমস্ত অতিথিদের বয়স 18 বা তার বেশি৷

    <MinAge> এর মান অবশ্যই 0 এবং 99 এর মধ্যে একটি ধনাত্মক পূর্ণসংখ্যা হতে হবে, অন্তর্ভুক্ত।

<OccupancySettings>
  <MinOccupancy>2</MinOccupancy>
  <MinAge>16</MinAge>
</OccupancySettings>

সমস্ত শিশু উপাদান অন্তর্ভুক্ত করার প্রয়োজন নেই।

<PhotoURL> Optional Object প্রদত্ত রুম বা রুম বান্ডেলের একটি ছবির জন্য একটি URL এবং ঐচ্ছিক ক্যাপশন৷ আপনি একটি রুম বা রুম বান্ডেলের জন্য একাধিক <PhotoURL> নির্দিষ্ট করতে পারেন। প্রতিটি ছবির URL এর নিজস্ব <PhotoURL> হতে হবে।

এই উপাদানটি নিম্নলিখিত শিশু উপাদান গ্রহণ করে:

  • <URL> : ছবির অবস্থান নির্দিষ্ট করে। অবস্থানটি সর্বজনীন হওয়া উচিত (ফায়ারওয়ালের পিছনে নয়) এবং প্রোটোকল অন্তর্ভুক্ত করা উচিত (উদাহরণস্বরূপ, https:// )। প্রতি <PhotoURL> শুধুমাত্র একটি <URL> ব্যবহার করুন।
  • <Caption> : ছবির ক্যাপশন সংজ্ঞায়িত করে। এই উপাদানটি একটি একক শিশু উপাদান নেয়, <Text> , যার দুটি প্রয়োজনীয় বৈশিষ্ট্য রয়েছে: text এবং languagetext অ্যাট্রিবিউট হল ক্যাপশন, এবং language অ্যাট্রিবিউট একটি দুই-অক্ষরের ভাষা কোড নির্দিষ্ট করে যেমন en .

উদাহরণ:

<PhotoURL>
  <URL>https://www.example.com/static/bar/image1234.jpg</URL>
  <Caption>
    <Text text="A bright and breezy way to enjoy your mornin'
      cuppa tea." language="en"/>
    <Text text="Une façon lumineuse et aérée pour profiter
      de votre journée tasse de thé." language="fr"/>
  </Caption>
</PhotoURL>
<PhotoURL>
  <URL>https://www.foo.com/static/bar/image5678.jpg</URL>
  <Caption>
    <Text text="Or, perhaps you prefer coffee." language="en"/>
    <Text text="Ou peut-être préférez-vous le café." language="fr"/>
  </Caption>
</PhotoURL>
<RoomFeatures> Optional <RoomFeatures> রুম বৈশিষ্ট্য সম্পর্কে তথ্য রয়েছে.
<RoomID> Required string রুমের জন্য অনন্য আইডি। আপনার মূল্যের আপডেটে <Result> ব্লকের সাথে রুমের ডেটা মেলাতে এই আইডি ব্যবহার করুন। আরও তথ্যের জন্য, রুম বান্ডেল মেটাডেটা পড়ুন। (রুম ডেটা ইনলাইনে সংজ্ঞায়িত করার সময় আপনি একটি একক লেনদেন বার্তায় একটি সাধারণ রুমের সংজ্ঞা উল্লেখ করতে এই আইডিটি ব্যবহার করতে পারেন।)

উদাহরণ

রুম ডেটা

নিম্নলিখিত উদাহরণটি রুম ডেটা সংজ্ঞায়িত করে:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>5440OF</RoomID>
      <Name>
        <Text text="Single King Bed Room" language="en"/>
        <Text text="Simple Lit de Roi" language="fr"/>
      </Name>
      <Description>
        <Text text="One king bed with pillowtop mattresses, 300-thread-count linens,
          and down comforters (bedspreads). City view. 300 square feet. Desk with
          rolling chair. Multi-line phone with voice mail. Cable/satellite TV with
          complimentary HBO and pay movies." language="en"/>
        <Text text="Un très grand lit avec matelas à plateau-coussin, ..." language="fr"/>
      </Description>
      <PhotoURL>
        <Caption>
          <Text text="Bathroom View" language="en"/>
          <Text text="La salle de baines" language="fr"/>
        </Caption>
        <URL>http://www.foo.com/static/bar/image1234.jpg</URL>
      </PhotoURL>
      <Capacity>4</Capacity>
    </RoomData>
  </PropertyDataSet>
</Transaction>

রুম এবং প্যাকেজ মেটাডেটা

নিম্নলিখিত উদাহরণ রুম এবং প্যাকেজ মেটাডেটা সংজ্ঞায়িত করে:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>180054</Property>
    <RoomData>
      <RoomID>060773</RoomID>
      <Name>
        <Text text="Single Bed Room" language="en"/>
        <Text text="Chambre single" language="fr"/>
      </Name>
      <Description>
        <Text text="Non-smoking" language="en"/>
        <Text text="Pas de fumiers" language="fr"/>
      </Description>
      <PhotoURL>
        <Caption>
          <Text text="Living area" language="en"/>
          <Text text="Le chambre" language="fr"/>
        </Caption>
        <URL>http://www.foo.com/static/bar/image1234.jpg</URL>
      </PhotoURL>
    </RoomData>
    <PackageData>
      <PackageID>P54321</PackageID>
      <Name>
        <Text text="Breakfast Included" language="en"/>
        <Text text="Avec le petit déjeuner" language="fr"/>
      </Name>
      <Description>
        <Text text="Includes a delightful array of jams and jellies." language="en"/>
        <Text text="Comprend une délicieuse gamme de confitures et gelées." language="fr"/>
      </Description>
      <BreakfastIncluded>1</BreakfastIncluded>
    </PackageData>
  </PropertyDataSet>
</Transaction>

একাধিক রুমের বান্ডিল

নিম্নলিখিত উদাহরণটি একাধিক রুম বান্ডেলের জন্য রুম এবং প্যাকেজ মেটাডেটা সংজ্ঞায়িত করে:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <!-- A transaction message with room types result. -->
  <PropertyDataSet>
    <Property>12345</Property>
    <RoomData>
      <RoomID>single</RoomID>
      <Name>
        <Text text="Single room" language="en"/>
        <Text text="Chambre simple" language="fr"/>
      </Name>
      <Description>
        <Text text="A single room" language="en"/>
        <Text text="Le chambre simple" language="fr"/>
      </Description>
      <PhotoURL>
        <Caption>
          <Text text="Living area" language="en"/>
          <Text text="Le chambre" language="fr"/>
        </Caption>
        <URL>http://www.foo.com/static/bar/image1234.jpg</URL>
      </PhotoURL>
      <PhotoURL>
        <URL>http://www.foo.com/static/bar/image1235.jpg</URL>
      </PhotoURL>
      <Capacity>2</Capacity>
    </RoomData>
    <RoomData>
      <RoomID>double</RoomID>
      <Name>
        <Text text="Double room" language="en"/>
        <Text text="Chambre double" language="fr"/>
      </Name>
      <Occupancy>1</Occupancy>
    </RoomData>
    <PackageData>
      <PackageID>refundbreakfast</PackageID>
      <Name>
        <Text text="Refundable Room with Breakfast" language="en"/>
        <Text text="Chambre remboursable avec le petit déjeuner" language="fr"/>
      </Name>
      <Description>
        <Text text="Continental Breakfast" language="en"/>
        <Text text="Petit déjeuner continental" language="fr"/>
      </Description>
      <ChargeCurrency>hotel</ChargeCurrency>
      <Refundable available="1" refundable_until_days="3"/>
      <BreakfastIncluded>1</BreakfastIncluded>
    </PackageData>
    <PackageData>
      <PackageID>prepaid</PackageID>
      <Name>
        <Text text="Nonrefundable" language="en"/>
        <Text text="Non remboursable" language="fr"/>
      </Name>
      <Description>
        <Text text="Blah blah blad" language="en"/>
        <Text text="Le blah blah blad" language="fr"/>
      </Description>
      <Occupancy>2</Occupancy>
      <ChargeCurrency>web</ChargeCurrency>
      <Refundable available="0"/>
    </PackageData>
  </PropertyDataSet>
</Transaction>

<RoomFeatures>

রুমে পাওয়া বৈশিষ্ট্য সংজ্ঞায়িত করে।

লেনদেন বার্তা XML অনুক্রমের নিচের জায়গায় <RoomFeatures> উপাদানটি উপস্থিত হয়:

+ <Transaction>
    + <PropertyDataSet>  // Room and package metadata
        + <Property>
        + <RoomData>
            + <RoomFeatures>

বাক্য গঠন

<RoomFeatures> উপাদান নিম্নলিখিত সিনট্যাক্স ব্যবহার করে:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction ... >
  <PropertyDataSet ... >
    ...
    <RoomData>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>[western|japanese|japanese_western]</JapaneseHotelRoomStyle>
        <Beds>
           <Bed size="[single|semi_double|double|queen|king]">
             <Width unit="cm" number="width"/>
             <Length unit="cm" number="length"/>
           </Bed>
           <!-- Include with any additional beds. -->
        </Beds>
        <Suite/>
        <Capsule/>
        <Roomsharing>[shared|private]</Roomsharing>
        <Outdoor/>
        <MobilityAccessible/>
        <Smoking>[smoking|non_smoking]</Smoking>
        <BathAndToilet relation="[together|separate]">
          <Bath bathtub="[false|true]" shower="[false|true]"/>
          <Toilet electronic_bidet="[false|true]" mobility_accessible="[false|true]"/>
        </BathAndToilet>
        <OpenAirBath/>
        <AirConditioning/>
        <Balcony/>
        <Views>
          <!-- (Optional) Defines the type of views from the room. -->
          <!-- Example: <OceanView/> -->
        </Views>

      </RoomFeatures>
      ...
    </RoomData>
    ...
  </PropertyDataSet>
</Transactions>

গুণাবলী

<RoomFeatures> এলিমেন্টের কোনো অ্যাট্রিবিউট নেই।

শিশু উপাদান

<RoomFeatures> এলিমেন্টে নিম্নলিখিত চাইল্ড উপাদান রয়েছে:

শিশু উপাদান প্রয়োজন? টাইপ বর্ণনা
<JapaneseHotelRoomStyle> Optional enum

একটি জাপানি হোটেল রুমের শৈলী নির্দেশ করে।

বৈধ মান হল:

  • western : বিছানা সহ একটি পশ্চিমা শৈলীর ঘর।
  • japanese : ফুটন বিছানা সহ একটি জাপানি স্টাইলের ঘর।
  • japanese_western : একটি জাপানি পশ্চিমা শৈলীর ঘর যেখানে পশ্চিমা শৈলীর বিছানা এবং জাপানি স্টাইলের ফুটন উভয়ই রয়েছে।
<Beds> Optional Object ঘরে যতগুলি <Bed> আছে ততগুলি রয়েছে। অনুগ্রহ করে মনে রাখবেন যে জাপানি ফুটন এখানে গণনা করা উচিত নয়।

প্রতিটি <Bed> এর নিম্নলিখিত বৈশিষ্ট্য রয়েছে:

  • size (ঐচ্ছিক): বৈধ মান হল single , semi_double , double , queen এবং king
প্রতিটি <Bed> এর নিম্নলিখিত শিশু উপাদান রয়েছে:
  • <Width> (ঐচ্ছিক): বিছানার প্রস্থ নির্দিষ্ট করে। মান cm সহ বৈশিষ্ট্য unit এবং পূর্ণসংখ্যা সেন্টিমিটারে বিছানার প্রস্থ সহ বৈশিষ্ট্য number থাকতে হবে।
  • <Length> (ঐচ্ছিক): বিছানার দৈর্ঘ্য নির্দিষ্ট করে। মান cm সহ বৈশিষ্ট্য unit এবং পূর্ণসংখ্যা সেন্টিমিটারে বিছানার দৈর্ঘ্য সহ বৈশিষ্ট্য number থাকতে হবে।
উদাহরণ:
<Beds>
  <Bed size="double">
    <Width unit="cm" number="140"/>
    <Length unit="cm" number="195"/>
  </Bed>
  <Bed/> <!-- Size unknown -->
</Beds>
<Suite> Optional empty এই রুম একটি স্যুট হলে এই উপাদান প্রদান করুন.
<Capsule> Optional empty এই রুমটি একটি ক্যাপসুল রুম হলে এই উপাদানটি প্রদান করুন।
<Roomsharing> Optional enum এই রুমটি অন্য বাসিন্দা যেমন মালিক বা অন্য অতিথিদের সাথে শেয়ার করা হয়েছে কিনা। বৈধ মানগুলি shared এবং private
<Outdoor> Optional empty এই উপাদানটি প্রদান করুন যখন এই ঘরটি বাইরে থাকার জায়গা যেখানে নির্দিষ্ট দেয়াল, প্লাম্বিং এবং জলবায়ু নিয়ন্ত্রণ নেই। উদাহরণ স্বরূপ, হোটেলের কক্ষগুলি আউটডোর লজিং নয় যেখানে ক্যাম্পসাইটগুলি যেখানে অতিথিরা তাঁবুতে থাকেন এবং আরভি পার্ক যেখানে অতিথিরা তাদের নিজস্ব আরভি নিয়ে আসেন তা হল আউটডোর লজিং৷
<MobilityAccessible> Optional empty এই উপাদানটি প্রদান করুন যখন এই রুমটি চলাফেরার জন্য অ্যাক্সেসযোগ্য হয়।
<Smoking> Optional enum এই রুমটি একটি ধূমপানমুক্ত রুম বা একটি ধূমপান রুম কিনা। বৈধ মান হল non_smoking এবং smoking
<BathAndToilet> Optional Object রুমে একটি স্নান এবং টয়লেট সম্পর্কে তথ্য রয়েছে।

বৈশিষ্ট্য হল:

  • relation (ঐচ্ছিক): স্নান এবং টয়লেট একে অপরের বিরুদ্ধে কিভাবে স্থাপন করা হয় তা নির্দেশ করে। বৈধ মানগুলি together (স্নান এবং টয়লেট উভয়ই একই রুমে একসাথে অবস্থিত (যেমন বাথরুম) একে অপরের ঠিক পাশে) এবং separate (স্নান এবং টয়লেট প্রতিটিতে নির্দিষ্ট স্থান রয়েছে)। রুমে গোসল এবং টয়লেট উভয়ই না থাকলে এই বৈশিষ্ট্যটি সেট করা উচিত নয়।

উপাদানটি ঐচ্ছিকভাবে নিম্নলিখিত শিশু উপাদানগুলি গ্রহণ করে:

  • <Bath> (ঐচ্ছিক): এই উপাদানটির অস্তিত্ব নির্দেশ করে যে ঘরে একটি স্নান আছে।

    গুণাবলী হল:

    • bathtub (ঐচ্ছিক): স্নানের বাথরুমে একটি বাথটাব আছে তা নির্দেশ করে। বৈধ মান হল 0 (বা false ) এবং 1 (বা true )।
    • shower (ঐচ্ছিক): স্নান একটি ঝরনা আছে নির্দেশ করে. বৈধ মান হল 0 (বা false ) এবং 1 (বা true )।
  • <Toilet> (ঐচ্ছিক): এই উপাদানটির অস্তিত্ব নির্দেশ করে যে এই ঘরে একটি টয়লেট আছে।

    গুণাবলী হল:

    • electronic_bidet (ঐচ্ছিক): ইঙ্গিত করে যে টয়লেটে একটি ইলেকট্রনিক বিডেট আছে। বৈধ মান হল 0 (বা false ) এবং 1 (বা true )।
    • mobility_accessible (ঐচ্ছিক): ইঙ্গিত করে যে টয়লেটটি গতিশীল-অভিগম্য। বৈধ মান হল 0 (বা false ) এবং 1 (বা true )।

উদাহরণ:

<BathAndToilet relation="separate">
  <Bath bathtub="1" shower="1"/>
  <Toilet
    electronic_bidet="1"
    mobility_accessible="1"/>
</BathAndToilet>
<OpenAirBath> Optional empty যখন এই রুমে একটি ব্যক্তিগত ওপেন-এয়ার স্নান থাকে তখন এই উপাদানটি প্রদান করুন।
<AirConditioning> Optional empty এই রুমে এয়ার কন্ডিশনার থাকলে এই উপাদানটি প্রদান করুন।
<Balcony> Optional empty যখন এই রুমে একটি বারান্দা বা লানাই থাকে তখন এই উপাদানটি প্রদান করুন।
<Views> Optional Object বৈধ বিকল্প অন্তর্ভুক্ত:

<AirportView/>
<BayView/>
<BeachView>/>
<CastleView/>
<CityView/>
<CountrysideView/>
<CourtyardView/>
<DuneView/>
<ForestView/>
<GardenView/>
<GolfCourseView/>
<HarborView/>
<LagoonView/>
<LakeView/>
<MarinaView/>
<MountainView/>
<NatureView/>
<OceanView/>
<ParkView/>
<PartialOceanView/>
<PisteView/>
<PoolView/>
<PyramidView/>
<RiverView/>
<StreetView/>

উদাহরণ

JapaneseHotelRoomStyle কোনো ডিফল্ট মান নেই। একটি মান বাদ দিলে একটি XML ত্রুটি দেখা দেয় না, তবে ব্যবহারকারী যখন ঘরের শৈলী বা বিছানা দ্বারা ফিল্টার করে তখন আপনার তালিকা অনুসন্ধান ফলাফলে দেখানো হয় না।

দুটি একক বিছানা

নিম্নলিখিত উদাহরণ দেখায় কিভাবে <RoomFeatures> ব্যবহার করতে হয়:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>western</JapaneseHotelRoomStyle>
        <Beds> <!-- Two single beds -->
          <Bed size="single">
            <Width unit="cm" number="97"/>
            <Length unit="cm" number="195"/>
          </Bed>
          <Bed size="single">
            <Width unit="cm" number="97"/>
            <Length unit="cm" number="195"/>
          </Bed>
        </Beds>
        <Suite/>
        <Capsule/>
        <Roomsharing>private</Roomsharing>
        <Outdoor/>
        <MobilityAccessible/>
        <Smoking>non_smoking</Smoking>
        <BathAndToilet relation="separate">
          <Bath bathtub="1" shower="1"/>
          <Toilet electronic_bidet="1" mobility_accessible="1"/>
        </BathAndToilet>
        <OpenAirBath/>
        <AirConditioning/>
        <Balcony/>
        <Views>
          <LakeView/>
          <MarinaView/>
          <BeachView/>
          <ForestView/>
          <MountainView/>
          <NatureView/>
        </Views>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>

দুটি ডাবল বেড

নিচে দুটি double বেড সহ western শৈলীর জাপানি রুমের একটি উদাহরণ।

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>western</JapaneseHotelRoomStyle>
        <Beds> <!-- Two double beds-->
          <Bed size="double"></Bed>
          <Bed size="double"></Bed>
        </Beds>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>


বিছানার সাথে জাপানি শৈলী

নীচে বিছানা ছাড়া জাপানি শৈলী ঘরের একটি উদাহরণ। japanese শৈলী রুম জন্য বিছানা তথ্য প্রয়োজন হয় না.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>japanese</JapaneseHotelRoomStyle>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>

বিছানার সাথে জাপানি পশ্চিম

নীচে একটি japanese_western শৈলীর কক্ষের উদাহরণ রয়েছে যেখানে king আকারের বিছানা রয়েছে।

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>japanese_western</JapaneseHotelRoomStyle>
        <Beds>
          <Bed size="king"></Bed>
        </Beds>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>

japanese_western রুমে যদি অংশীদারের কাছে বিছানার সংখ্যার তথ্য না থাকে, তাহলে নিচের উদাহরণটি অনুসরণ করুন:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>japanese_western</JapaneseHotelRoomStyle>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>

<PackageData>

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

<PackageData> উপাদানটি লেনদেন বার্তা XML অনুক্রমের নিম্নলিখিত স্থানে উপস্থিত হয়:

+ <Transaction>
    + <PropertyDataSet>  // Room and package metadata
        + <Property>
        + <RoomData>
        + <PackageData>
    + <Result>           // Pricing and availability
        + <Rates>
        + <RoomBundle>
        + ...

<PackageData> উপাদানটি <RoomData> এর অনুরূপ, কিন্তু এটি রেট বৈশিষ্ট্য এবং শর্তাবলী বর্ণনা করে যা প্রকৃত রুমের বিবরণের অংশ নয়। আপনি রুম বান্ডেল এবং রেট বৈশিষ্ট্য সম্পর্কে বিশদ বিবরণ প্রদান করতে একত্রে <RoomData> এবং <PackageData> ব্যবহার করেন। প্যাকেজের অংশ নয় এমন পৃথক কক্ষগুলির জন্য শুধুমাত্র <RoomData> ব্যবহার করুন।

আপনি একই রুম বা রুম বান্ডেলের জন্য <RoomData> এবং <PackageData> উভয় উপাদানই সংজ্ঞায়িত করতে পারেন। যখন Google অনুসন্ধান ফলাফলে সেই রুম বা প্যাকেজটি প্রদর্শন করে, তখন এটি হাইফেন দ্বারা পৃথক করা উভয়ের বর্ণনা অন্তর্ভুক্ত করবে।

আপনি যদি একটি সম্পত্তির জন্য একটি <PackageData> উপাদান আপডেট করেন, তাহলে আপনাকে অবশ্যই সম্পত্তির জন্য সমস্ত <PackageData> এবং <RoomData> উপাদান আপডেট করতে হবে। প্রতিটি <PropertyDataSet> সম্পত্তি সম্পর্কে সমস্ত ডেটা হিসাবে বিবেচিত হয় এবং যে কোনও বিদ্যমান ডেটা ওভাররাইট করে।

আরও তথ্যের জন্য, রুম বান্ডেল মেটাডেটা পড়ুন।

বাক্য গঠন

<PackageData> উপাদান নিম্নলিখিত সিনট্যাক্স ব্যবহার করে:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction ... >
  <PropertyDataSet ... >
    <PackageData>
      <PackageID>package_ID</PackageID>
      <Name>
        <Text text="package_name" language="language_code"/>
        ...
      </Name>
      <Description>
        <Text text="package_description" language="language_code"/>
        ...
      </Description>
      <Refundable available="[false|true]" refundable_until_days="number_of_days"
        refundable_until_time="time"/>
      <ChargeCurrency>[deposit|hotel|installments|web]</ChargeCurrency>
      <Occupancy>max_number_of_intended_occupants</Occupancy>
      <OccupancyDetails><!-- optional info about the types of guests,
      whether adults or children --></OccupancyDetails>
      <!-- For these next 3 elements, boolean_value can be 0/1 or true/false -->
      <BreakfastIncluded>boolean_value</BreakfastIncluded>
      <InternetIncluded>boolean_value</InternetIncluded>
      <ParkingIncluded>boolean_value</ParkingIncluded>
      <PhotoURL>
        <Caption>
          <Text text="photo_description" language="language_code"/>
          ...
        </Caption>
        <URL>photo_location</URL>
      </PhotoURL>
      ...
      <Meals>
        <Breakfast
          included="[true|false]" buffet="[true|false]"
          in_room="[true|false]" in_private_space="[true|false]"/>
        <Dinner
          included="[true|false]" buffet="[true|false]"
          in_room="[true|false]" in_private_space="[true|false]"/>
      </Meals>
      <CheckinTime>checkin_time</CheckinTime>
      <CheckoutTime>checkout_time</CheckoutTime>
      <MembershipBenefitsIncluded>
        <ProgramName>
          <Text language="en" text="Special Rewards">
        </ProgramName>
        <ProgramLevel>
          <Text language="en" text="Platinum">
        </ProgramLevel>
      </MembershipBenefitsIncluded>
      <OnPropertyCredit>
        <Amount currency="USD">123.45</Amount>
      </OnPropertyCredit>
    </PackageData>
    <!-- a PackageID with a MilesIncluded rate feature -->
    <PackageData>
      <PackageID>room_with_miles</PackageID>
      <Name>
       <Text text="Room with Bundled Miles" language="en">
      </Name>
      <ChargeCurrency>hotel </ChargeCurrency>
      <MilesIncluded>
        <NumberOfMiles>1000 </NumberOfMiles>
        <Provider>
          <Text language="en" text="United Airlines">
        </Provider>
      </MilesIncluded>
    </PackageData>
    ...
    ...
  </PropertyDataSet>
  ...
</Transaction>

গুণাবলী

<PackageData> উপাদানটির কোনো বৈশিষ্ট্য নেই।

শিশু উপাদান

<PackageData> উপাদানটিতে নিম্নলিখিত চাইল্ড উপাদান রয়েছে:

শিশু উপাদান প্রয়োজন? টাইপ বর্ণনা
<BreakfastIncluded> Optional boolean এই প্যাকেজে প্রাতঃরাশের হারের সাথে অন্তর্ভুক্ত কিনা তা নির্দিষ্ট করে। বৈধ মান হল 0 (বা false ) এবং 1 (বা true )।

আপনি <BreakfastIncluded> এর পরিবর্তে <Meals> ব্যবহার করা পছন্দনীয়।

<ChargeCurrency> Optional enum কখন এবং কোথায় ব্যবহারকারী একটি বুকিংয়ের জন্য অর্থ প্রদান করে। এই উপাদানটি <Result><ChargeCurrency> এর মতো একই সিনট্যাক্স ব্যবহার করে।

ডিফল্ট মান হল web

<CheckinTime> Optional Time যত তাড়াতাড়ি সম্ভব চেক-ইন সময়। হোটেলের স্থানীয় সময় 24:00 এর কম হতে হবে।
<CheckoutTime> Optional Time হোটেলের স্থানীয় সময়ে সর্বশেষ সম্ভাব্য চেক-আউট সময়।
<Description> Optional Object প্যাকেজের বিস্তারিত বিবরণ। এই উপাদানটিতে অন্য উপাদান বা <Name> উপাদান দ্বারা বর্ণিত নয় এমন তথ্য থাকা উচিত। ঘরের বর্ণনা উল্লেখ করার সময় আপনার সমস্ত বড় অক্ষর ব্যবহার করা উচিত নয়।

<Description> উপাদানটি একটি একক চাইল্ড উপাদান নেয়, <Text> , যার দুটি প্রয়োজনীয় বৈশিষ্ট্য রয়েছে, text এবং languagetext অ্যাট্রিবিউট হল বর্ণনা, এবং language অ্যাট্রিবিউট একটি দুই-অক্ষরের ভাষা কোড নির্দিষ্ট করে, যেমনটি নিম্নলিখিত উদাহরণটি দেখায়:

<Description>
  <Text text="Two breakfast buffet certificates for
    each night of stay." language="en"/>
  <Text text="Deux certificats petit-déjeuner buffet
    pour chaque nuit de séjour." language="fr"/>
</Description>
<InternetIncluded> Optional boolean যদি কোনো প্যাকেজে কোনো চার্জ ছাড়াই ইন্টারনেট অ্যাক্সেস থাকে, অন্য প্যাকেজে সেই সুবিধাটি অন্তর্ভুক্ত থাকে না। সমস্ত রুমে বিনামূল্যে ইন্টারনেট প্রদান করে এমন হোটেলে রুম বান্ডিলের জন্য এই উপাদানটি সেট করবেন না। এই উপাদানটি ঘরের মধ্যে তারযুক্ত ইন্টারনেট বা ওয়্যারলেস ইন্টারনেটের ক্ষেত্রে প্রযোজ্য নয় যা গেস্ট রুমে উপলব্ধ নয়৷ বৈধ মান হল 0 (বা false ) এবং 1 (বা true )।
<Meals> Optional Object এই প্যাকেজে খাবার সম্পর্কে তথ্য রয়েছে।

<Meals> উপাদানটি দুটি ঐচ্ছিক শিশু উপাদান নেয়, <Breakfast> এবং <Dinner> , যার নিম্নলিখিত বৈশিষ্ট্য রয়েছে:

  • included (প্রয়োজনীয়): রেট 1 (বা true ) সেট করুন যদি প্রাতঃরাশ/রাতের খাবার অন্তর্ভুক্ত থাকে; অন্যথায় 0 বা false সেট করুন।
  • in_room (ঐচ্ছিক): অতিথিরা যে রুমে থাকেন সেখানে সকালের নাস্তা/রাতের খাবার খাওয়ার বিকল্প থাকলে 1 (বা true ) সেট করুন; অন্যথায় 0 (বা false ) এ সেট করুন।
  • in_private_space (ঐচ্ছিক): 1 (অথবা true ) সেট করুন যদি অতিথিদের এমন একটি জায়গায় প্রাতঃরাশ/ডিনার করার বিকল্প থাকে (যে ঘরটিতে তারা থাকে) যেখানে তারা অন্য অতিথিদের সাথে যোগাযোগ এড়াতে পারে; অন্যথায় 0 (বা false ) এ সেট করুন।
  • buffet (ঐচ্ছিক): সকালের নাস্তা/রাতের খাবার বুফে হিসাবে পরিবেশন করা হলে 1 (বা true ) সেট করুন; অন্যথায় 0 (বা false ) এ সেট করুন।

ঐচ্ছিক বৈশিষ্ট্যগুলি ব্যবহার করা হয় শুধুমাত্র যখন included সত্য হয়।

খাবারের ফিল্টারগুলির জন্য ( no meals , breakfast only , dinner only , এবং breakfast and dinner ) কাজ করার জন্য, <Breakfast> এবং <Dinner> উভয়ই included বৈশিষ্ট্যের সাথে সরবরাহ করতে হবে।

<Name> Required string প্যাকেজের নাম। এই মানটি হোটেলের ল্যান্ডিং পৃষ্ঠায় যা দেখায় তার সাথে মিলতে হবে। সমস্ত বড় অক্ষরে এই উপাদানটির মান সেট করবেন না।

এই উপাদানটি একটি একক শিশু উপাদান নেয়, <Text> , যার দুটি বৈশিষ্ট্য রয়েছে, text এবং languagetext অ্যাট্রিবিউট হল বর্ণনা, এবং language অ্যাট্রিবিউট একটি দুই-অক্ষরের ভাষা কোড নির্দিষ্ট করে, যেমনটি নিম্নলিখিত উদাহরণটি দেখায়:

<Name>
  <Text text="Bed and Breakfast" language="en"/>
  <Text text="Lit et petit déjeuné" language="fr"/>
</Name>
<Occupancy> Optional integer একটি রুম বান্ডেলের জন্য নির্ধারিত সর্বাধিক সংখ্যক অতিথি। উদাহরণস্বরূপ, একটি বড় স্যুট শারীরিকভাবে 6 জন অতিথিকে মিটমাট করতে সক্ষম হতে পারে, তবে এটি শুধুমাত্র 4 জন অতিথির জন্য তৈরি।

এই মানটি অবশ্যই <Capacity> উপাদানের থেকে কম বা সমান হতে হবে, যা রুমটি শারীরিকভাবে মিটমাট করতে পারে এমন লোকের সংখ্যা।

<Occupancy> -এর মান অবশ্যই 1 এবং 99 এর মধ্যে একটি ধনাত্মক পূর্ণসংখ্যা হতে হবে।

আপনি যদি এই উপাদানটি <RoomBundle> এবং <PackageData> উভয়েই উল্লেখ করেন, তাহলে <RoomBundle> এর মান অগ্রাধিকার পাবে।

বিঃদ্রঃ :

<Occupancy> এর সাথে <OccupancyDetails> থাকতে পারে, যা অতিথিদের ধরন (প্রাপ্তবয়স্ক বা শিশু) নির্দিষ্ট করে। সিনট্যাক্স এবং চাইল্ড এলিমেন্টের বর্ণনার জন্য <OccupancyDetails> পড়ুন।

<PackageID> Required string প্যাকেজের জন্য অনন্য আইডি। রুম বান্ডেল ডেটার সাথে আপনার মূল্যের আপডেটে থাকা <Result> ব্লকগুলির সাথে মিল করতে এই আইডিটি ব্যবহার করুন। আরও তথ্যের জন্য, রুম বান্ডেল মেটাডেটা পড়ুন।

(রুম বান্ডেল ডেটা ইনলাইনে সংজ্ঞায়িত করার সময় একটি একক লেনদেন বার্তায় ব্যবহৃত একটি সাধারণ রুম বান্ডেল সংজ্ঞা উল্লেখ করতে আপনি এই আইডিটি ব্যবহার করতে পারেন।)

<ParkingIncluded> Optional boolean একটি রুম বান্ডেল কোন চার্জ ছাড়া পার্কিং অন্তর্ভুক্ত কিনা, যেখানে পার্কিং অন্যথায় এই হোটেলে একটি অর্থ প্রদানের পরিষেবা হবে। বিনামূল্যে পার্কিং অফার করে এমন হোটেলের জন্য এই উপাদানটির জন্য একটি মান নির্দিষ্ট করবেন না।

বৈধ মান হল 0 (বা false ) এবং 1 (বা true )। ডিফল্ট মান false .

<PhotoURL> Optional Object ( <RoomData> -এ <PhotoURL> এর মতোই, কিন্তু প্যাকেজের জন্য (যেমন খাবারের ছবি)।
<Refundable> Optional Object একটি হারকে সম্পূর্ণরূপে ফেরতযোগ্য হিসাবে তালিকাভুক্ত করা বা বিনামূল্যে বাতিলকরণ প্রদান করা সক্ষম করে৷ প্রদান করা না হলে, একটি ফেরত সম্পর্কে কোন তথ্য প্রদর্শিত হয়. <PackageData> স্তরে একটি ফেরত নীতি <Result> স্তরে ফেরত নীতিকে ওভাররাইড করে। <Rates> স্তরে একটি ফেরত নীতি <PackageData> স্তরে ফেরত নীতিকে ওভাররাইড করে। আপনার লেনদেন বার্তা স্কিমা সরাসরি পরিবর্তন না করেও ফেরতযোগ্য মূল্য বিকল্প বিকল্পগুলির মাধ্যমে ব্যবহারকারীদের কাছে হাইলাইট করা যেতে পারে। এখানে এই বিকল্পগুলি সম্পর্কে আরও জানুন।

নিম্নলিখিত উদাহরণটি <Refundable> উপাদানটিকে তার সমস্ত গুণাবলী সেট সহ দেখায়:

<Refundable available="1" refundable_until_days="7"
refundable_until_time="18:00:00"/>

দ্রষ্টব্য: আমরা সমস্ত বৈশিষ্ট্য সেট করার পরামর্শ দিই। যখন এক বা একাধিক বৈশিষ্ট্য সেট করা না থাকে তখন একটি ফিড স্ট্যাটাস সতর্কতা বার্তা তৈরি হয়।

আপনি কোনো বৈশিষ্ট্য সেট না করলে, হার ফেরতযোগ্য হিসাবে প্রদর্শিত হবে না। গুণাবলী হল:

  • available : (প্রয়োজনীয়) 1 তে সেট করুন বা রেটটি সম্পূর্ণ ফেরত দেওয়ার অনুমতি দেয় কিনা তা নির্দেশ করার জন্য true ; অন্যথায় 0 বা false সেট করুন।
  • refundable_until_days : ( available true হলে প্রয়োজনীয়) চেক-ইন করার আগে কত দিনের সংখ্যা উল্লেখ করে যেগুলি সম্পূর্ণ ফেরতের অনুরোধ করা যেতে পারে। refundable_until_days মান অবশ্যই 0 এবং 330 এর মধ্যে একটি পূর্ণসংখ্যা হতে হবে, অন্তর্ভুক্ত।
  • refundable_until_time : ( available true হলে অত্যন্ত প্রস্তাবিত) হোটেলের স্থানীয় সময়ে দিনের সর্বশেষ সময় নির্দিষ্ট করে, যে একটি সম্পূর্ণ ফেরতের অনুরোধকে সম্মানিত করা হবে। এটি নির্দিষ্ট করার জন্য refundable_until_days এর সাথে একত্রিত করা যেতে পারে, উদাহরণস্বরূপ, "চেক-ইন করার দুই দিন আগে 4:00PM পর্যন্ত ফেরত পাওয়া যায়"। যদি refundable_until_time সেট করা না থাকে, মানটি মধ্যরাত পর্যন্ত ডিফল্ট হয়।

    এই বৈশিষ্ট্যের মান সময় বিন্যাস ব্যবহার করে।

বৈশিষ্ট্যগুলি সেট করার সময়, নিম্নলিখিতগুলি নোট করুন:

  • যদি available বা refundable_until_days সেট করা না থাকে, তাহলে হার ফেরতযোগ্য হিসাবে প্রদর্শিত হয় না।
  • available 0 বা false হলে, অন্যান্য বৈশিষ্ট্য উপেক্ষা করা হয়. একটি বা উভয় অন্যান্য বৈশিষ্ট্য সেট করা থাকলেও হার ফেরতযোগ্য হিসাবে প্রদর্শিত হয় না।
<MembershipBenefits Included> Optional boolean রেটে থাকার সময়কালের জন্য অভিজাত অবস্থার সুবিধা অন্তর্ভুক্ত। নিম্নলিখিত পরামিতি অন্তর্ভুক্ত:
  • ProgramName : অভিজাত স্ট্যাটাস প্রোগ্রামের নাম
  • ProgramLevel : প্রোগ্রামের লেভেল, যেমন, "গোল্ড।"
  • NightlyValue (optional) : সুবিধার রাতের মূল্য।
<CarRentalIncluded> Optional boolean ভাড়া থাকার সময়কালের জন্য বিনামূল্যে গাড়ি ভাড়া অন্তর্ভুক্ত।
<MilesIncluded> >> Optional boolean রেট ফ্রিকোয়েন্ট ফ্লায়ার মাইলস অন্তর্ভুক্ত। পরামিতি অন্তর্ভুক্ত:
  • NumberofMiles : প্রতি ভ্রমণপথে মাইলের সংখ্যা।
  • Provider : ঘন ঘন ফ্লায়ার মাইল প্রদান করে।
<OnPropertyCredit> Optional boolean হারের মধ্যে সম্পত্তির ক্রেডিট (F&B, রিসোর্ট, স্পা, ইত্যাদি) অন্তর্ভুক্ত রয়েছে। পরামিতি:
  • Amount : স্থানীয় মুদ্রায় ভ্রমণপথ প্রতি ক্রেডিট মূল্য।
<AirportTransportationIncluded> Optional Object রেট একটি কাছাকাছি বিমানবন্দর থেকে বিনামূল্যে পরিবহন অন্তর্ভুক্ত. ঐচ্ছিক direction নির্দেশনাটি পরিবহনের দিকনির্দেশনা নির্দিষ্ট করে। বৈধ মান অন্তর্ভুক্ত:
    from : বিমানবন্দর থেকে সম্পত্তিতে পরিবহন সরবরাহ করা হয়। কোনো দিক নির্দেশ না থাকলে এটিই ডিফল্ট মান। to : সম্পত্তি থেকে বিমানবন্দরে পরিবহন সরবরাহ করা হয়। round_trip : এয়ারপোর্টে এবং থেকে উভয়ই পরিবহন সরবরাহ করা হয়।

উদাহরণ

একক রুমের বান্ডিল

নিম্নলিখিত উদাহরণটি 2 (একজন প্রাপ্তবয়স্ক এবং একটি শিশু) সহ একটি একক রুম বান্ডেল সংজ্ঞায়িত করে এবং এতে প্রাতঃরাশ অন্তর্ভুক্ত রয়েছে:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <PackageData>
      <Occupancy>2</Occupancy>
      <OccupancyDetails>
        <NumAdults>1</NumAdults>
        <Children>
          <Child age="17"/>
        </Children>
      </OccupancyDetails>
      <PackageID>P54321</PackageID>
      <Name>
         <Text text="Breakfast Included" language="en"/>
         <Text text="Avec le petit déjeuner" language="fr"/>
      </Name>
      <Description>
        <Text text="Two certificates for continental
          breakfast will be provided." language="en"/>
        <Text text="Deux certificats pour le petit déjeuner
          continental seront fournis." language="fr"/>
      </Description>
      <BreakfastIncluded>1</BreakfastIncluded>
    </PackageData>
  </PropertyDataSet>
</Transaction>

রুম এবং প্যাকেজ মেটাডেটা

নিম্নলিখিত উদাহরণ রুম এবং প্যাকেজ মেটাডেটা সংজ্ঞায়িত করে:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>180054</Property>
    <RoomData>
      <RoomID>060773</RoomID>
      <Name>
        <Text text="Single Bed Room" language="en"/>
        <Text text="Chambre single" language="fr"/>
      </Name>
      <Description>
        <Text text="Non-smoking" language="en"/>
        <Text text="Pas de fumiers" language="fr"/>
      </Description>
      <PhotoURL>
        <Caption>
          <Text text="Living area" language="en"/>
          <Text text="Le chambre" language="fr"/>
        </Caption>
        <URL>http://www.foo.com/static/bar/image1234.jpg</URL>
      </PhotoURL>
    </RoomData>
    <PackageData>
      <PackageID>P54321</PackageID>
      <Name>
        <Text text="Breakfast Included" language="en"/>
        <Text text="Avec le petit déjeuner" language="fr"/>
      </Name>
      <Description>
        <Text text="Includes a delightful array of jams and jellies." language="en"/>
        <Text text="Comprend une délicieuse gamme de confitures et gelées." language="fr"/>
      </Description>
      <BreakfastIncluded>1</BreakfastIncluded>
    </PackageData>
  </PropertyDataSet>
</Transaction>

একাধিক রুমের বান্ডিল

নিম্নলিখিত উদাহরণটি একাধিক রুম বান্ডেলের জন্য রুম এবং প্যাকেজ মেটাডেটা সংজ্ঞায়িত করে:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <!-- A transaction message with room types result. -->
  <PropertyDataSet>
    <Property>12345</Property>
    <RoomData>
      <RoomID>single</RoomID>
      <Name>
        <Text text="Single room" language="en"/>
        <Text text="Chambre simple" language="fr"/>
      </Name>
      <Description>
        <Text text="A single room" language="en"/>
        <Text text="Le chambre simple" language="fr"/>
      </Description>
      <PhotoURL>
        <Caption>
          <Text text="Living area" language="en"/>
          <Text text="Le chambre" language="fr"/>
        </Caption>
        <URL>http://www.foo.com/static/bar/image1234.jpg</URL>
      </PhotoURL>
      <PhotoURL>
        <URL>http://www.foo.com/static/bar/image1235.jpg</URL>
      </PhotoURL>
      <Capacity>2</Capacity>
    </RoomData>
    <RoomData>
      <RoomID>double</RoomID>
      <Name>
        <Text text="Double room" language="en"/>
        <Text text="Chambre double" language="fr"/>
      </Name>
      <Occupancy>1</Occupancy>
    </RoomData>
    <PackageData>
      <PackageID>refundbreakfast</PackageID>
      <Name>
        <Text text="Refundable Room with Breakfast" language="en"/>
        <Text text="Chambre remboursable avec le petit déjeuner" language="fr"/>
      </Name>
      <Description>
        <Text text="Continental Breakfast" language="en"/>
        <Text text="Petit déjeuner continental" language="fr"/>
      </Description>
      <ChargeCurrency>hotel</ChargeCurrency>
      <Refundable available="1" refundable_until_days="3"/>
      <BreakfastIncluded>1</BreakfastIncluded>
    </PackageData>
    <PackageData>
      <PackageID>prepaid</PackageID>
      <Name>
        <Text text="Nonrefundable" language="en"/>
        <Text text="Non remboursable" language="fr"/>
      </Name>
      <Description>
        <Text text="Blah blah blad" language="en"/>
        <Text text="Le blah blah blad" language="fr"/>
      </Description>
      <Occupancy>2</Occupancy>
      <ChargeCurrency>web</ChargeCurrency>
      <Refundable available="0"/>
    </PackageData>
  </PropertyDataSet>
</Transaction>


রেট সহ রুম বান্ডিল

নিম্নলিখিত উদাহরণটি রেট বৈশিষ্ট্য সহ একটি রুম বান্ডেলের জন্য রুম এবং প্যাকেজ মেটাডেটা সংজ্ঞায়িত করে:

<Transaction timestamp="2010-04-24T20:44:56-04:00" id="TXNID">
  <PropertyDataSet>
    <Property>12345</Property>
    <RoomData>
     ...
    </RoomData>
<!-- definitions of PackageData types including rate features -->
    <PackageData>
      <PackageID>room_with_addl_benefits</PackageID>
      <Name>
        <Text text="Acme Hotels 2017 Promotion Package" language="en"/>
      </Name>
      <ChargeCurrency>hotel</ChargeCurrency>
      <BreakfastIncluded>1</BreakfastIncluded>
      <MembershipBenefitsIncluded>
        <ProgramName>
          <Text language="en" text="Marriott Rewards"/>
        </ProgramName>
        <ProgramLevel>
          <Text language="en" text="Platinum"/>
        </ProgramLevel>
      </MembershipBenefitsIncluded>
      <OnPropertyCredit>
        <Amount currency="USD">123.45</Amount>
      </OnPropertyCredit>
    </PackageData>
    <PackageData>
      <PackageID>room_with_miles</PackageID>
      <Name>
        <Text text="Room with Bundled Miles" language="en"/>
      </Name>
      <ChargeCurrency>hotel</ChargeCurrency>
      <MilesIncluded>
        <NumberOfMiles>1000</NumberOfMiles>
        <Provider>
          <Text language="en" text="United Airlines"/>
        </Provider>
      </MilesIncluded>
      <AirportTransportationIncluded direction="from"/>
    </PackageData>
  </PropertyDataSet>

<!-- The actual list of prices -->
  <Result>
…
  </Result>
</Transaction>

খাবার এবং ফটো

নিম্নলিখিত উদাহরণটি খাবার, ফটো এবং চেক-ইন এবং চেক-আউট সময়ের জন্য রুম এবং প্যাকেজ মেটাডেটা সংজ্ঞায়িত করে:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <PackageData>
      <PackageID>PackageID_1</PackageID>
      <Name>
        <Text text="Meals Included" language="en"/>
      </Name>
      <PhotoURL>
        <Caption>
          <Text text="Breakfast" language="en"/>
          <Text text="朝食" language="ja"/>
        </Caption>
        <URL>http://example.com/static/bar/image1234.jpg</URL>
      </PhotoURL>
      <Meals>
        <!-- Guests can choose to have breakfast in their room or in another
        space to avoid contact with other guests. -->
        <Breakfast included="1" in_room="1" in_private_space="1"/>
        <Dinner included="1" buffet="1"/>
      </Meals>
      <CheckinTime>15:00</CheckinTime>
      <CheckoutTime>11:00</CheckoutTime>
    </PackageData>
  </PropertyDataSet>
</Transaction>

সকালের নাস্তা

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <PackageData>
      <PackageID>PackageID_1</PackageID>
      <Name>
        <Text text="Breakfast Included" language="en"/>
      </Name>
      <PhotoURL>
        <Caption>
          <Text text="Breakfast" language="en"/>
          <Text text="朝食" language="ja"/>
        </Caption>
        <URL>http://example.com/static/bar/image1234.jpg</URL>
      </PhotoURL>
      <Meals>
        <Breakfast included="true"/>
        <!-- Dinner not included needs to be explicitly specified -->
        <Dinner included="false"/>
      </Meals>
      <CheckinTime>15:00</CheckinTime>
      <CheckoutTime>11:00</CheckoutTime>
    </PackageData>
  </PropertyDataSet>
</Transaction>

<Result>

একটি <Transaction> বার্তায় মূল্য এবং প্রাপ্যতা আপডেটের জন্য একটি ধারক।

লেনদেন বার্তা XML অনুক্রমের নিম্নলিখিত স্থানে <Result> উপাদানটি উপস্থিত হয়:

+ <Transaction>
    + <PropertyDataSet>  // Room and package metadata
        + <Property>
        + <RoomData>
        + <PackageData>
    + <Result>           // Pricing and availability
        + <Rates>
        + <RoomBundle>
        + ...

রুমের দাম সেট বা আপডেট করতে এবং উপলব্ধ ইনভেন্টরি নির্ধারণ করতে <Result> ব্যবহার করুন। এই উপাদানটিতে সংজ্ঞায়িত আইটেমগুলি সাধারণত <PackageData> এবং <RoomData> -এ সংজ্ঞায়িত একটি রুম বা প্যাকেজ (যেমন একটি বিবরণ বা সুবিধার সেট) সম্পর্কে ভ্রমণের-স্বাধীন মেটাডেটা উল্লেখ করে।

আপনি সাধারণত খুব ঘন ঘন মূল্য আপডেট সহ লেনদেন বার্তা পাঠান। ঠিক কিভাবে এবং কত ঘন ঘন আপনি এটি করবেন তা আপনার ডেলিভারি মোডের উপর নির্ভর করে।

আপনি ট্রানজ্যাকশন বার্তায় <Result> ব্যবহার করতে পারেন ভ্রমণপথগুলি সরাতে, যেমনটি Removing Inventory- এ বর্ণিত হয়েছে। মূল্য এবং প্রাপ্যতা আপডেট করার জন্য লেনদেন বার্তা ব্যবহার করার বিষয়ে আরও তথ্যের জন্য, ইনভেন্টরি যোগ করা এবং আপডেট করা

একটি একক লেনদেন বার্তা এতে যেকোন সংখ্যক <Result> উপাদান অন্তর্ভুক্ত করতে পারে, যতক্ষণ না বার্তাটির আকার 100MB-এর বেশি না হয়।

বাক্য গঠন

<Result> উপাদানটি নিম্নলিখিত সিনট্যাক্স ব্যবহার করে:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction ... >
  <Result>
    <!-- Required -->
    <Property>hotel_ID</Property>
    <!-- Required -->
    <Checkin>YYYY-MM-DD</Checkin>
    <!-- Required -->
    <Nights>number_of_nights</Nights>

    <Baserate currency="currency_code">price</Baserate>
    <!-- Only required when <Baserate> contains a real price -->
    <Tax currency="currency_code">tax_amount</Tax>
    <!-- Only required when <Baserate> contains a real price  -->
    <OtherFees currency="currency_code">fee_amount</OtherFees>
    <Refundable available="[false|true]" refundable_until_days="number_of_days"
      refundable_until_time="time"/>

    <RoomID>room_ID</RoomID>
    <PackageID>package_ID</PackageID>
    <ExpirationTime>expiration_time</ExpirationTime>
    <ChargeCurrency>[deposit|hotel|installments|web]</ChargeCurrency>

    <Occupancy>max_number_of_intended_occupants</Occupancy>
    <!-- For Baserate, occupancy value must be greater than or equal to 2.
         If a value is not provided for occupancy, it defaults to 2. -->
    <OccupancyDetails>occupancy_info</OccupancyDetails>

    <Rates>...</Rates>

    <RoomBundle>...</RoomBundle>

    <AllowablePointsOfSale>
      <PointOfSale id="landing_page_identifier"/>
      ...
    </AllowablePointsOfSale>

    <Custom[1-5]>custom_value</Custom[1-5]>
  </Result>
  ...
  </Transaction>

গুণাবলী

<Result> উপাদানটির নিম্নলিখিত বৈশিষ্ট্য রয়েছে:

বৈশিষ্ট্য প্রয়োজন? টাইপ বর্ণনা
mergeable Optional boolean ডিফল্টরূপে, একটি নির্দিষ্ট হোটেল এবং ভ্রমণপথের জুটির জন্য নতুন মূল্য Google-এর ক্যাশে উপস্থিত যেকোনও পূর্ববর্তী (অ-মেয়াদ শেষ না হওয়া) মূল্যগুলিকে ওভাররাইট করবে৷ একত্রীকরণযোগ্য বৈশিষ্ট্য আপনাকে পূর্ববর্তী মূল্যের তথ্য মুছে না দিয়ে Google-এর ক্যাশে অতিরিক্ত মূল্য সংরক্ষণ করতে দেয়। প্রসঙ্গ প্রতিক্রিয়া সহ লাইভ প্রাইসিং ক্যোয়ারীতে সর্বদা এই বৈশিষ্ট্যটি true হিসাবে সেট করা থাকবে (আপনার লেনদেন বার্তার প্রতিক্রিয়া নির্বিশেষে)।

শিশু উপাদান

<Result> উপাদানটিতে নিম্নলিখিত শিশু উপাদান রয়েছে:

শিশু উপাদান প্রয়োজন? টাইপ বর্ণনা
<AllowablePointsOfSale> Optional Object হোটেলের জন্য যোগ্য এক বা একাধিক ল্যান্ডিং পৃষ্ঠা। একটি ল্যান্ডিং পৃষ্ঠা হল একটি ওয়েবসাইট যা শেষ ব্যবহারকারীর জন্য বুকিং প্রক্রিয়া পরিচালনা করতে পারে। স্পষ্টভাবে নির্দিষ্ট ল্যান্ডিং পৃষ্ঠা অন্তর্ভুক্ত করতে (এবং অন্যদের বাদ দিতে), এক বা একাধিক <AllowablePointsOfSale> উপাদান যোগ করুন যা ল্যান্ডিং পৃষ্ঠা ফাইলে <PointOfSale> উপাদানের id বৈশিষ্ট্যের সাথে মেলে।

আপনি এই উপাদানটি অন্তর্ভুক্ত না করলে, ল্যান্ডিং পৃষ্ঠা ফাইলে সংজ্ঞায়িত সমস্ত ল্যান্ডিং পৃষ্ঠাগুলিকে রুম বুকিং করার জন্য ব্যবহার করার যোগ্য বলে বিবেচিত হবে৷ আরও তথ্যের জন্য, ল্যান্ডিং পেজ ফাইল সিনট্যাক্স দেখুন।

<Baserate> Optional float থাকার জন্য রুমের দাম। এই উপাদানের মান নিম্নলিখিত প্রতিফলিত করা উচিত:

  • একটি ব্যক্তিগত রুমের জন্য, আপনার অফার করা সর্বনিম্ন ব্যয়বহুল ডবল-অকুপেন্সি রেট সেট করুন।
  • একটি শেয়ার্ড রুমের জন্য, খালি রাখুন এবং <RoomBundle> ব্যবহার করুন।
  • থাকার মোট দৈর্ঘ্য, গড় রাতের রেট নয়।

যখন ভ্রমণসূচীর জন্য রুমটি অনুপলব্ধ থাকে, তখন <Baserate> হয় বাদ দেওয়া উচিত বা -1 সেট করা উচিত এবং অনুপলব্ধতার জন্য পরিচিত কারণগুলির সাথে <Unavailable> উল্লেখ করা উচিত।

একটি রুম বান্ডিল সরাতে, একটি রুম বান্ডিল সরানো নির্দেশাবলী ব্যবহার করুন।

<Baserate> এ অবশ্যই কোনো ডিজিট গ্রুপিং চিহ্ন থাকবে না, যেমন একটি কমা (,) বা পিরিয়ড (.)। সর্বদা দশমিক চিহ্ন হিসাবে একটি পর্যায় (.) ব্যবহার করে ভগ্নাংশগুলিকে আলাদা করুন৷ উদাহরণস্বরূপ, $1,200.40 হিসাবে উপস্থাপন করুন:

<Baserate currency="USD">1200.40</Baserate>

<Baserate> উপাদানটি নিম্নলিখিত ঐচ্ছিক বৈশিষ্ট্যগুলি গ্রহণ করে:

  • all_inclusive : একটি বুলিয়ান যা নির্দেশ করে যে এই হারে ট্যাক্স এবং ফি অন্তর্ভুক্ত রয়েছে কিনা। সাধারণভাবে, মার্কিন এবং কানাডিয়ান ব্যবহারকারীদের জন্য এই মানটিকে false সেট করুন এবং <Tax> এবং <OtherFees> উপাদানগুলির জন্য সরবরাহের মানগুলি সেট করুন। আপনি যদি সমস্ত-অন্তর্ভুক্ত মূল্য ব্যবহার করেন, তাহলে আপনি তালিকায় উপস্থিত হওয়ার যোগ্য নাও হতে পারেন যদি আপনার মূল্যগুলি মার্কিন এবং কানাডিয়ান ব্যবহারকারীদের জন্য ট্যাক্স এবং ফি আলাদা না করে।

    অন্য সব শেষ-ব্যবহারকারীর জন্য, আপনি সাধারণত বেস রেটে ট্যাক্স এবং ফি অন্তর্ভুক্ত করেন এবং all_inclusive অ্যাট্রিবিউটের মান true এ সেট করেন। আরও তথ্যের জন্য, ট্যাক্স এবং ফি নীতি দেখুন।

    ডিফল্ট মান false .

  • currency : তিন অক্ষরের মুদ্রা কোড । উদাহরণস্বরূপ, মার্কিন ডলারের জন্য USD
<ChargeCurrency> Optional enum কখন এবং কোথায় ব্যবহারকারী একটি বুকিংয়ের জন্য অর্থ প্রদান করে। এই উপাদানটি হোটেলের মূল্যের জন্য <Result> উপাদানের একটি লেনদেন বার্তায় বা রুম বান্ডেলের জন্য <PackageData> ব্লক ব্যবহার করা যেতে পারে।

বৈধ মান হল:

  • web : বুকিংয়ের সময় ব্যবহারকারীকে অনলাইনে চার্জ করা হয়। এটি ডিফল্ট মান। প্রকৃত ল্যান্ডিং পৃষ্ঠাটি ল্যান্ডিং পৃষ্ঠা ফাইল দ্বারা সংজ্ঞায়িত করা হয় এবং ব্যবহারকারীর মুদ্রা, অবস্থান, ভাষা বা অন্যান্য বিষয়গুলির দ্বারা প্রভাবিত হতে পারে৷
  • hotel : হোটেলে চেক ইন করার সময় ব্যবহারকারীকে চার্জ করা হয়। যদি সবসময় হোটেলের মুদ্রায় অর্থপ্রদান করতে হয়, তাহলে hotel <ChargeCurrency> এর মান সেট করুন। প্রকৃত ল্যান্ডিং পৃষ্ঠা ব্যবহারকারীর মুদ্রা দ্বারা প্রভাবিত হয় না।
  • deposit : ব্যবহারকারীর কাছ থেকে কিছু অংশ অবিলম্বে চার্জ করা হয় এবং বাকি অংশটি পরবর্তী সময়ে চার্জ করা হয়, সাধারণত যখন ব্যবহারকারী হোটেল থেকে চেক আউট করেন।
  • installments : ব্যবহারকারীকে মোট বকেয়া টাকার একটি প্রাথমিক ভগ্নাংশ চার্জ করা হয় এবং একটি নির্দিষ্ট সময়ের মধ্যে নিয়মিতভাবে একটি সেট ব্যালেন্স পরিশোধ করার আশা করা হয়।

ডিফল্ট মান হল web

<Checkin> Required Date তারিখ বিন্যাস ব্যবহার করে একটি ভ্রমণপথের জন্য চেক-ইন তারিখ। <Nights> উপাদান এবং <Checkin> উপাদানের সমন্বয় একটি ভ্রমণপথ তৈরি করে।
<Custom[1‑5]> Optional string একটি কাস্টম ক্ষেত্র সংজ্ঞায়িত করে যা আপনি একটি হোটেলের সাথে যুক্ত অতিরিক্ত ডেটা পাস করতে ব্যবহার করতে পারেন৷ আপনি নিম্নলিখিত উপাদান নাম দিয়ে পাঁচটি পর্যন্ত কাস্টম মান পাস করতে পারেন:
  • <Custom1>
  • <Custom2>
  • <Custom3>
  • <Custom4>
  • <Custom5>

<Custom> উপাদানগুলি আপনাকে নির্বিচারে ডেটা পাস করতে দেয়। উদাহরণস্বরূপ, আপনি এই ক্ষেত্রটিতে একটি মান নির্দিষ্ট করতে পারেন যা ল্যান্ডিং পৃষ্ঠার ফাইল দ্বারা একটি ল্যান্ডিং পৃষ্ঠার জন্য একটি কাস্টম URL তৈরি করতে ব্যবহার করা হবে৷ প্রতি কাস্টম ক্ষেত্র প্রতি 200 অক্ষরের একটি সীমা আছে। আরও তথ্যের জন্য, ল্যান্ডিং পৃষ্ঠা ফাইলগুলি পড়ুন।

<Rate> এলিমেন্টে দেওয়া <Custom> উপাদানগুলি <RoomBundle> এলিমেন্টে উত্তরাধিকারসূত্রে পাওয়া যায় না। প্রতিটি <RoomBundle> এ আপনাকে <Custom> বৈশিষ্ট্য আলাদাভাবে সংজ্ঞায়িত করা উচিত।

<ExpirationTime> Optional DateTime যে তারিখ এবং সময় মূল্য মেয়াদ শেষ বলে বিবেচিত হয় (সর্বনিম্ন 3 ঘন্টা)।

আমরা সুপারিশ করি যে আপনি মেয়াদ শেষ হওয়ার টাইমস্ট্যাম্প প্রদান করবেন না যদি এটি আপনার মূল্যের কাঠামোর জন্য গুরুত্বপূর্ণ না হয়।

Google মেয়াদোত্তীর্ণ কোনো মূল্য পরিবেশন করবে না এবং মেয়াদ শেষ হয়ে যাওয়া কোনো ভ্রমণপথ লাইভ প্রাইসিং কোয়েরির জন্য যোগ্য হয়ে উঠবে।

<Nights> Required integer একটি ভ্রমণের জন্য রাতের সংখ্যা। <Nights> উপাদানের মান অবশ্যই একটি ধনাত্মক পূর্ণসংখ্যা হতে হবে। <Nights> এবং <Checkin> এর সমন্বয় একটি ভ্রমণপথ তৈরি করে।
<OtherFees> Optional float বেস রেট এবং ট্যাক্স ছাড়া অন্যান্য ফি যা একটি রুমের চূড়ান্ত মূল্যকে প্রভাবিত করে। <OtherFees> উপাদানটি একটি একক প্রয়োজনীয় বৈশিষ্ট্য নেয়, currency , যা ফিগুলির জন্য তিন-অক্ষরের মুদ্রা কোডকে সংজ্ঞায়িত করে। উদাহরণস্বরূপ, USD

যদি <Baserate> শূন্যের চেয়ে বড় হয় তাহলে <OtherFees> উপাদান প্রয়োজন।

<Occupancy> Optional integer দখলকারীদের সর্বোচ্চ সংখ্যা নির্দিষ্ট করে। যখন <Occupancy> <Result> অধীনে প্রদর্শিত হয়, তখন এটি অবশ্যই 2 বা তার বেশি উল্লেখ করতে হবে। <Occupancy> এর সাথে <OccupancyDetails> থাকতে পারে, যা অতিথিদের ধরন (প্রাপ্তবয়স্ক বা শিশু) নির্দিষ্ট করে। সিনট্যাক্স এবং চাইল্ড এলিমেন্টের বর্ণনার জন্য <OccupancyDetails> এর সাথে পরামর্শ করুন। যদি <Occupancy> উপাদান প্রদান করা না হয়, তাহলে দখলকে 2 হিসাবে ডিফল্ট করা হয়।

দ্রষ্টব্য: নন-ডবল অকুপেন্সি মূল্য পাঠাতে বৈশিষ্ট্যটি সক্ষম করতে আপনার সহায়তা দলের সাথে যোগাযোগ করুন।

<PackageID> Optional string পূর্বনির্ধারিত প্যাকেজ ডেটাতে ম্যাপ করার জন্য প্যাকেজের অনন্য আইডি। এছাড়াও PACKAGE-ID ল্যান্ডিং পৃষ্ঠা ভেরিয়েবল পূরণ করতে ব্যবহৃত হয়। আরও তথ্যের জন্য, রুম বান্ডেল মেটাডেটা পড়ুন।
<Property> Required string সংশ্লিষ্ট ডেটা (দাম, ভ্রমণপথ, রুম বান্ডেল বা মেটাডেটা) দ্বারা প্রভাবিত একটি হোটেলের আইডি। এই উপাদানের মান একটি স্ট্রিং হতে হবে. এই উপাদানের মান আপনার হোটেল তালিকা ফিডে সংজ্ঞায়িত <id> তালিকার সাথে মিলতে হবে।
<Rates> Optional <Rates> এক বা একাধিক <Rate> ব্লকের জন্য একটি ধারক। <Rates> -এর প্রতিটি <Rate> রুম/ভ্রমণের সংমিশ্রণের জন্য আলাদা মূল্য নির্ধারণ করে।

একই রুম/যাত্রাপথের সংমিশ্রণের জন্য একাধিক রেট থাকলেই <Rates> উপাদানটি ব্যবহার করুন। উদাহরণ স্বরূপ, আপনি শর্তসাপেক্ষ রেট , ব্যক্তিগত রেট , বা রুম বান্ডেলগুলিতে শর্তসাপেক্ষ রেটগুলির জন্য একাধিক হার সংজ্ঞায়িত করেন)।

<Refundable> Optional Object একটি হারকে সম্পূর্ণরূপে ফেরতযোগ্য হিসাবে তালিকাভুক্ত করা বা বিনামূল্যে বাতিলকরণ প্রদান করা সক্ষম করে৷ প্রদান করা না হলে, একটি ফেরত সম্পর্কে কোন তথ্য প্রদর্শিত হয়. <PackageData> স্তরে একটি ফেরত নীতি <Result> স্তরে ফেরত নীতিকে ওভাররাইড করে। <Rates> স্তরে একটি ফেরত নীতি <PackageData> স্তরে ফেরত নীতিকে ওভাররাইড করে। আপনার লেনদেন বার্তা স্কিমা সরাসরি পরিবর্তন না করেও ফেরতযোগ্য মূল্য বিকল্প বিকল্পগুলির মাধ্যমে ব্যবহারকারীদের কাছে হাইলাইট করা যেতে পারে। এখানে এই বিকল্পগুলি সম্পর্কে আরও জানুন।

নিম্নলিখিত উদাহরণটি <Refundable> উপাদানটিকে তার সমস্ত গুণাবলী সেট সহ দেখায়:

<Refundable available="1" refundable_until_days="7"
refundable_until_time="18:00:00"/>

দ্রষ্টব্য: আমরা সমস্ত বৈশিষ্ট্য সেট করার পরামর্শ দিই। যখন এক বা একাধিক বৈশিষ্ট্য সেট না করা হয় তখন একটি ফিডের স্থিতি সতর্কতা বার্তা উত্পন্ন হয়।

আপনি যদি কোনও বৈশিষ্ট্য সেট না করেন তবে হারটি ফেরতযোগ্য হিসাবে প্রদর্শিত হয় না। গুণাবলী হল:

  • available : (প্রয়োজনীয়) 1 (বা true ) এ সেট করা হয়েছে যদি হারটি সম্পূর্ণ ফেরতের অনুমতি দেয় তবে তা নির্দেশ করতে; অন্যথায় 0 (বা false ) এ সেট করুন।
  • refundable_until_days : (যদি available তবে true ) চেক-ইন করার আগেই দিনের সংখ্যা নির্দিষ্ট করে যে একটি সম্পূর্ণ ফেরতের জন্য অনুরোধ করা যেতে পারে। refundable_until_days মান অবশ্যই 0 এবং 330 এর মধ্যে একটি পূর্ণসংখ্যা হতে হবে, অন্তর্ভুক্ত।
  • refundable_until_time : (যদি available তবে অত্যন্ত true ) হোটেলের স্থানীয় সময়ে দিনের সর্বশেষ সময়টি নির্দিষ্ট করে দেয় যে একটি সম্পূর্ণ ফেরতের অনুরোধ সম্মানিত হবে। এটি নির্দিষ্ট করে দেওয়ার জন্য এটি refundable_until_days সাথে একত্রিত করা যেতে পারে, উদাহরণস্বরূপ, "চেক-ইন করার দু'দিন আগে 4:00 অপরাহ্ন পর্যন্ত ফেরত পাওয়া যায়"। যদি refundable_until_time সেট না করা হয় তবে মানটি মধ্যরাতে ডিফল্ট হয়।

    এই বৈশিষ্ট্যের মান সময় ফর্ম্যাট ব্যবহার করে।

বৈশিষ্ট্যগুলি সেট করার সময়, নিম্নলিখিতগুলি নোট করুন:

  • যদি available বা refundable_until_days সেট না করা হয় তবে হারটি ফেরতযোগ্য হিসাবে প্রদর্শিত হয় না।
  • যদি available 0 (বা false ) হয় তবে অন্যান্য বৈশিষ্ট্যগুলি উপেক্ষা করা হয়। অন্য একটি বৈশিষ্ট্য সেট করা থাকলেও হারটি ফেরতযোগ্য হিসাবে প্রদর্শিত হয় না।
<RoomBundle> Optional <RoomBundle> একটি ঘরের দামের শারীরিক বিবরণ, সুযোগ -সুবিধার যে কোনও প্যাকেজিং এবং প্রদত্ত হোটেল এবং ভ্রমণপথের জন্য কিছু ক্রয় নীতি বিশদ সম্পর্কিত তথ্যের জন্য একটি ধারক।

সাধারণভাবে, একই সম্পত্তির মধ্যে বেস রুম এবং বিভিন্ন ধরণের কক্ষের জন্য মূল্য নির্ধারণের জন্য এই উপাদানটি ব্যবহার করুন। যদিও ঘরের বান্ডিল বিবরণ ইনলাইন সংজ্ঞায়িত করা সম্ভব, তবে সেই তথ্যটি সংজ্ঞায়িত করতে আপনার একটি পৃথক লেনদেনের বার্তা ব্যবহার করা উচিত। গুগল মেটাডেটা সঞ্চয় করবে যাতে আপনি ভবিষ্যতের সমস্ত মূল্য নির্ধারণের আপডেটগুলিতে এটি পুনরাবৃত্তি করার পরিবর্তে এটি উল্লেখ করতে পারেন।

<RoomID> Optional string ঘরের অনন্য আইডি এটি পূর্বনির্ধারিত ঘরের ডেটাতে মানচিত্র করতে। পার্টনার-রুম-আইডি ল্যান্ডিং পৃষ্ঠার ভেরিয়েবলটি পপুলেট করতেও ব্যবহৃত হয়। আরও তথ্যের জন্য, রুম বান্ডিল মেটাডেটা দেখুন।
<Tax> Optional float যে করগুলি একটি ঘরের চূড়ান্ত মূল্যের জন্য গণনা করা হয়। <Tax> উপাদানটি একটি একক প্রয়োজনীয় বৈশিষ্ট্য, currency গ্রহণ করে, যা করের জন্য তিন-অক্ষরের মুদ্রা কোডকে সংজ্ঞায়িত করে। উদাহরণস্বরূপ, USD<Tax> উপাদানটির প্রয়োজন যদি <Baserate> শূন্যের চেয়ে বেশি হয়।
<Unavailable> Optional Object ইঙ্গিত দেয় যে ভ্রমণপথটি বুকিংয়ের জন্য অনুপলব্ধ। ভ্রমণপথটি কেন অনুপলব্ধ ছিল তা আরও বিশদ কারণে একটি ধারক হিসাবে কাজ করে। নিম্নলিখিত বা একাধিক অপ্রাপ্যতার কারণগুলির মধ্যে <Unavailable> ট্যাগের নীচে বাসা বেঁধে দেওয়া যেতে পারে:
  • <NoVacancy/> : থাকার এক বা একাধিক রাতের জন্য বিক্রয়ের জন্য আর কোনও কক্ষ উপলব্ধ নেই।
  • <MinNightStay value=N/> : N তারিখগুলির জন্য ভ্রমণপথটি ন্যূনতম রাত থাকার নীচে ছিল।
  • <MaxNightStay value=N/> : N তারিখের জন্য সর্বাধিক রাত থাকার জন্য ভ্রমণপথটি ছিল।
  • <MinAdvancePurchase value=N/> : ভ্রমণপথটি থাকার তারিখগুলির জন্য N এর সর্বনিম্ন অগ্রিম বুকিং উইন্ডোর নীচে ছিল।
  • <MaxAdvancePurchase value=N/> : ভ্রমণপথটি থাকার তারিখের জন্য N এর সর্বাধিক অগ্রিম বুকিং উইন্ডোর উপরে ছিল।
  • <ClosedToArrival/> : সম্পত্তিটি ভ্রমণপথের আগমনের তারিখে চেক-ইন করতে দেয় না।
  • <ClosedToDeparture/> : সম্পত্তিটি ভ্রমণপথের প্রস্থানের তারিখে চেক-আউটকে অনুমতি দেয় না।
  • <PropertyClosed first_open="YYYY-MM-DD" first_closed="YYYY-MM-DD"/> : সম্পত্তিটি কিছু বা সমস্ত থাকার জন্য বন্ধ রয়েছে। প্রস্তাবিত বৈশিষ্ট্যগুলি first_open এবং first_closed প্রথম তারিখগুলি আগমনের তারিখের চেয়ে বেশি বা সমানভাবে নির্দিষ্ট করুন যার জন্য সম্পত্তিটি যথাক্রমে খোলা বা বন্ধ রয়েছে। আগমনের তারিখের পরে বন্ধ হওয়া কোনও সম্পত্তির জন্য, first_open আগমনের তারিখের সমান হওয়া উচিত এবং first_closed সম্পত্তিটি বন্ধ হওয়ার তারিখ হওয়া উচিত। আগমনের তারিখে বন্ধ থাকা কোনও সম্পত্তির জন্য, first_closed আগমনের তারিখের সমান হওয়া উচিত এবং first_opened হওয়া উচিত পরবর্তী তারিখটি যেখানে সম্পত্তিটি খোলা থাকে।
  • <NotFetched/> : ভ্রমণপথের জন্য একটি মূল্য ডাউন স্ট্রিম ডেটা উত্স দ্বারা সরবরাহ করা হয়নি।
  • <InvalidProperty/> : অনুরোধ করা সম্পত্তি সনাক্তকারী স্বীকৃত হয়নি।
  • <InvalidOccupancy/> : অনুরোধ করা দখলটি সম্পত্তি দ্বারা সমর্থিত নয়।
  • <PriceIssue/> : দামের সাথে একটি ইস্যু এটি প্রেরণ করা হয়নি।
  • <InternalError reason=""/> : কিছু অনিচ্ছাকৃত ত্রুটি ঘটেছে। Al চ্ছিক কারণ বৈশিষ্ট্য ত্রুটিটি পাঠ্য হিসাবে রিপোর্ট করতে পারে।
  • <OtherRestriction restriction=""/> : কিছু অনির্বাচিত বুকিং সীমাবদ্ধতার কারণে ভ্রমণপথটি পাওয়া যায় নি। Al চ্ছিক বিধিনিষেধের বৈশিষ্ট্যটি পাঠ্য হিসাবে সীমাবদ্ধতার প্রতিবেদন করার অনুমতি দেয়।

উদাহরণ

মাল্টি-প্রোপার্টি উদাহরণ

নিম্নলিখিত উদাহরণটি একটি ভ্রমণপথ এবং দুটি বৈশিষ্ট্যের জন্য এর মূল্য নির্ধারণ করে:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-23T16:20:00-04:00" id="42">
  <Result>
    <Property>060773</Property>
    <RoomID>RoomType101</RoomID>
    <PackageID>Package101</PackageID>
    <Checkin>2018-06-10</Checkin>
    <Nights>2</Nights>
    <Baserate currency="USD">278.33</Baserate>
    <Tax currency="USD">25.12</Tax>
    <OtherFees currency="USD">2.00</OtherFees>
    <AllowablePointsOfSale>
      <PointOfSale id="site1"/>
    </AllowablePointsOfSale>
  </Result>
  <Result>
    <Property>052213</Property>
    <RoomID>RoomType101</RoomID>
    <PackageID>Package101</PackageID>
    <Checkin>2018-06-10</Checkin>
    <Nights>2</Nights>
    <Baserate currency="USD">299.98</Baserate>
    <Tax currency="USD">26.42</Tax>
    <OtherFees currency="USD">2.00</OtherFees>
    <AllowablePointsOfSale>
      <PointOfSale id="otto"/>
      <PointOfSale id="simon"/>
    </AllowablePointsOfSale>
  </Result>
</Transaction>

এই উদাহরণে দেখানো হয়নি ঘর সম্পর্কে বিশদ যেমন বিবরণ, একটি ছবি এবং ক্যাপশন, ঘরের নাম এবং এর ক্ষমতা।

গুগল স্টোর করে এমন একটি পৃথক লেনদেনের বার্তায় আপনি সেই তথ্যটি একবার সংজ্ঞায়িত করতে পারেন। তারপরে আপনি এটি পরবর্তী সমস্ত মূল্য এবং ইনভেন্টরি আপডেটগুলিতে উল্লেখ করতে পারেন। আরও তথ্যের জন্য, রুম বান্ডিল মেটাডেটা দেখুন।

মাল্টি-হারের উদাহরণ

নিম্নলিখিত উদাহরণটি বিভিন্ন দখলদারিত্বের জন্য একাধিক হারের সাথে একটি একক ভ্রমণপথ এবং সম্পত্তি সংজ্ঞায়িত করে। <Rates> উপাদানটি নির্দিষ্ট সম্পত্তির জন্য মাল্টি-রেট মূল্য সরবরাহ করতে ব্যবহার করা যেতে পারে। নীচের উদাহরণটি অবকাশের ভাড়া (ভিআর) বৈশিষ্ট্যের জন্যও কার্যকর।

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-07-23T16:20:00-04:00" id="42">
  <Result>
    <Property>1234</Property>
    <Checkin>2021-01-13</Checkin>
    <Nights>9</Nights>
    <Baserate currency="USD">3196.1</Baserate>
    <Tax currency="USD">559.49</Tax>
    <OtherFees currency="USD">543.34</OtherFees>
    <Occupancy>2</Occupancy>
    <Rates>
      <Rate>
        <Baserate currency="USD">3196.1</Baserate>
        <Tax currency="USD">559.49</Tax>
        <OtherFees currency="USD">543.34</OtherFees>
        <Occupancy>1</Occupancy>
      </Rate>
      <Rate>
        <Baserate currency="USD">3196.1</Baserate>
        <Tax currency="USD">559.49</Tax>
        <OtherFees currency="USD">543.34</OtherFees>
        <Occupancy>3</Occupancy>
      </Rate>
      <Rate>
        <Baserate currency="USD">3196.1</Baserate>
        <Tax currency="USD">559.49</Tax>
        <OtherFees currency="USD">543.34</OtherFees>
        <Occupancy>4</Occupancy>
      </Rate>
      <Rate>
        <Baserate currency="USD">3196.1</Baserate>
        <Tax currency="USD">559.49</Tax>
        <OtherFees currency="USD">543.34</OtherFees>
        <Occupancy>5</Occupancy>
      </Rate>
      <Rate>
        <Baserate currency="USD">3196.1</Baserate>
        <Tax currency="USD">559.49</Tax>
        <OtherFees currency="USD">543.34</OtherFees>
        <Occupancy>6</Occupancy>
      </Rate>
    </Rates>
  </Result>
</Transaction>

অনুপলব্ধ উদাহরণ

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

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-23T16:20:00-04:00" id="42">
  <Result>
    <Property>060773</Property>
    <Checkin>2018-06-10</Checkin>
    <Nights>2</Nights>
    <Unavailable>
      <NotFetched/>
    </Unavailable>
  </Result>
  <Result>
    <Property>073313</Property>
    <Checkin>2018-06-10</Checkin>
    <Nights>2</Nights>
    <Unavailable>
      <NoVacancy/>
      <MinNightStay value=3/>
    </Unavailable>
  </Result>
  <Result>
    <Property>052213</Property>
    <Checkin>2018-06-10</Checkin>
    <Nights>10</Nights>
    <Unavailable>
      <PropertyClosed first_open="2018-06-15" first_closed="2018-06-10"/>
    </Unavailable>
  </Result>
</Transaction>

<Rates>

এক বা একাধিক <Rate> ব্লকের জন্য একটি ধারক। প্রতিটি <Rate> <Rates> এ রুম/ভ্রমণপথের সংমিশ্রণের জন্য আলাদা মূল্য নির্ধারণ করে।

একই কক্ষ/ভ্রমণপথের সংমিশ্রণের জন্য একাধিক হার থাকলেই <Rates> উপাদানটি ব্যবহার করুন। উদাহরণস্বরূপ, আপনি শর্তসাপেক্ষ হার , ব্যক্তিগত হার বা ঘরের বান্ডিলগুলিতে শর্তসাপেক্ষ হারের জন্য একাধিক হারের সংজ্ঞা দেন।

<Rates> উপাদানটি লেনদেনের বার্তায় এক্সএমএল শ্রেণিবিন্যাসে নিম্নলিখিত স্থানে উপস্থিত হয়:

+ <Transaction>
    + <PropertyDataSet>  // Room and package metadata
        + <Property>
        + <RoomData>
        + <PackageData>
    + <Result>           // Pricing and availability
        + <Rates>
        + <RoomBundle>           (Can also contain <Rates>)
        + ...

মানগুলি একটি <Rate> এ সেট করা হয়েছে যে পিতামাতার <Result> বা <RoomBundle> উপাদানটিতে মূল্য সম্পর্কিত মানগুলি ওভাররাইড করে। যদি সেগুলি <Rate> এ সেট না করা হয় তবে তারা পিতামাতার উপাদান থেকে তাদের মান উত্তরাধিকারী। কেবলমাত্র <ফ্যানেবল পয়েন্টসফসেল> <RoomBundle> উপাদানটির উত্তরাধিকার সূত্রে প্রাপ্ত।

বাক্য গঠন

<Rates> উপাদানটি নিম্নলিখিত সিনট্যাক্স ব্যবহার করে:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction ... >
  <Result>
    <Rates>
      <Rate rate_rule_id="rate_rule_id">
        <Baserate currency="currency_code">price</Baserate>
        <Tax currency="currency_code">tax_amount</Tax>
        <OtherFees currency="currency_code">fee_amount</OtherFees>
        <ExpirationTime>expiration_time</ExpirationTime>
        <Refundable available="[false|true]" refundable_until_days="number_of_days"
        refundable_until_time="time"/>
        <ChargeCurrency>[deposit|hotel|installments|web]</ChargeCurrency>
        <AllowablePointsOfSale>
          <PointOfSale id="landing_page_identifier"/>
        </AllowablePointsOfSale>
        <Occupancy>max_number_of_intended_occupants</Occupancy>
        <OccupancyDetails> <!-- optional info about the types of guests,
      whether adults or children --></OccupancyDetails>
          ...
        <Custom[1-5]>custom_value</Custom[1-5]>
      </Rate>
      ...
    </Rates>
  </Result>
  ...
</Transaction>

গুণাবলী

<Rates> উপাদানটির নিম্নলিখিত বৈশিষ্ট্য রয়েছে:

বৈশিষ্ট্য প্রয়োজন? বর্ণনা
rate_rule_id Optional শর্তাধীন হারের জন্য, এই আইডিটি আপনার রেট রুল সংজ্ঞা ফাইলের একটি সংজ্ঞাটির সাথে একটি হারের সাথে মেলে। এই ক্ষেত্রের চরিত্রের সীমা 40 টি অক্ষর।

শিশু উপাদান

<Rates> উপাদানটিতে নিম্নলিখিত শিশু উপাদান রয়েছে:

শিশু উপাদান প্রয়োজন? টাইপ বর্ণনা
<AllowablePointsOfSale> Optional Object এক বা একাধিক ল্যান্ডিং পৃষ্ঠাগুলি যা হোটেলের জন্য যোগ্য। এই উপাদানটি <AllowablePointsOfSale> <Result> এ একই সিনট্যাক্স ব্যবহার করে।
<Baserate> Required float থাকার জন্য ঘরের দাম। এই উপাদানটি <Result><Baserate> এর মতো একই সিনট্যাক্স ব্যবহার করে।

দ্রষ্টব্য: <Rate> এর অধীনে <Baserate> শিশু উপাদানটি অনুপলব্ধ হিসাবে সংজ্ঞায়িত করা যায় না।

<ChargeCurrency> Optional enum কখন এবং কোথায় ব্যবহারকারী বুকিংয়ের জন্য অর্থ প্রদান করে। এই উপাদানটি <Result><ChargeCurrency> এর মতো একই সিনট্যাক্স ব্যবহার করে।
<Custom[1‑5]> Optional string কাস্টম ক্ষেত্রগুলি যা আপনি কোনও হোটেলের সাথে সম্পর্কিত অতিরিক্ত ডেটা ল্যান্ডিং পৃষ্ঠায় পাস করতে ব্যবহার করতে পারেন। এই উপাদানটি <Custom[1‑5]> একটি <Result> এ একই সিনট্যাক্স ব্যবহার করে। কাস্টম ফিল্ডে 200 টি অক্ষরের সীমা রয়েছে। আরও তথ্যের জন্য, ল্যান্ডিং পৃষ্ঠা ফাইলগুলি দেখুন।

যদি <কাস্টম> উপাদানগুলি <Result> উপাদানগুলিতে সরবরাহ করা হয়, তবে সেগুলি <RoomBundle> উপাদানটিতে উত্তরাধিকার সূত্রে প্রাপ্ত হয় না এবং প্রতিটি <RoomBundle> এর জন্য পৃথকভাবে সংজ্ঞায়িত করা উচিত বা প্রয়োজনে এটি <প্যাকেজেডাটা> অন্তর্ভুক্ত করা যেতে পারে।

<ExpirationTime> Optional DateTime হারটি মেয়াদোত্তীর্ণ হিসাবে বিবেচিত তারিখ এবং সময়। এই উপাদানটি <Result><ExpirationTime> এর মতো একই সিনট্যাক্স ব্যবহার করে।
<Occupancy> Optional integer

সর্বাধিক দখলদারদের নির্দিষ্ট করে। <Occupancy> <OccupancyDetails> সিনট্যাক্স এবং শিশু উপাদানগুলির বর্ণনার জন্য <OccupancyDetails> পরামর্শ নিন।

<OtherFees> Required float বেস রেট এবং কর ব্যতীত অন্য ফি যা কোনও ঘরের চূড়ান্ত দামকে প্রভাবিত করে। এই উপাদানটি <Result><OtherFees> এর মতো একই সিনট্যাক্স ব্যবহার করে।
<Refundable> Optional Object সম্পূর্ণরূপে ফেরতযোগ্য হিসাবে বা একটি নিখরচায় বাতিলকরণ সরবরাহ হিসাবে একটি হার তালিকাভুক্ত করা সক্ষম করে। যদি সরবরাহ না করা হয় তবে ফেরত সম্পর্কিত কোনও তথ্য প্রদর্শিত হয় না। <PackageData> স্তরে একটি ফেরত নীতি <Result> স্তরে ফেরত নীতি ওভাররাইড করে। <Rates> স্তরে একটি ফেরত নীতি <PackageData> স্তরে ফেরত নীতি ওভাররাইড করে। আপনার লেনদেনের বার্তা স্কিমা সরাসরি সংশোধন না করে বিকল্প বিকল্পগুলির মাধ্যমে ব্যবহারকারীদের কাছে ফেরতযোগ্য মূল্য নির্ধারণ করা যেতে পারে। এই বিকল্পগুলি সম্পর্কে এখানে আরও জানুন।

নিম্নলিখিত উদাহরণটি এর সমস্ত বৈশিষ্ট্য সেট সহ <Refundable> উপাদানটি দেখায়:

<Refundable available="1" refundable_until_days="7"
refundable_until_time="18:00:00"/>

দ্রষ্টব্য: আমরা সমস্ত বৈশিষ্ট্য সেট করার পরামর্শ দিই। যখন এক বা একাধিক বৈশিষ্ট্য সেট না করা হয় তখন একটি ফিডের স্থিতি সতর্কতা বার্তা উত্পন্ন হয়।

আপনি যদি কোনও বৈশিষ্ট্য সেট না করেন তবে হারটি ফেরতযোগ্য হিসাবে প্রদর্শিত হয় না। গুণাবলী হল:

  • available : (প্রয়োজনীয়) 1 (বা true ) এ সেট করা হয়েছে যদি হারটি সম্পূর্ণ ফেরতের অনুমতি দেয় তবে তা নির্দেশ করতে; অন্যথায় 0 (বা false ) এ সেট করুন।
  • refundable_until_days : (যদি available তবে true ) চেক-ইন করার আগেই দিনের সংখ্যা নির্দিষ্ট করে যে একটি সম্পূর্ণ ফেরতের জন্য অনুরোধ করা যেতে পারে। refundable_until_days মান অবশ্যই 0 এবং 330 এর মধ্যে একটি পূর্ণসংখ্যা হতে হবে, অন্তর্ভুক্ত।
  • refundable_until_time : (যদি available তবে অত্যন্ত true ) হোটেলের স্থানীয় সময়ে দিনের সর্বশেষ সময়টি নির্দিষ্ট করে দেয় যে একটি সম্পূর্ণ ফেরতের অনুরোধ সম্মানিত হবে। এটি নির্দিষ্ট করে দেওয়ার জন্য এটি refundable_until_days সাথে একত্রিত করা যেতে পারে, উদাহরণস্বরূপ, "চেক-ইন করার দু'দিন আগে 4:00 অপরাহ্ন পর্যন্ত ফেরত পাওয়া যায়"। যদি refundable_until_time সেট না করা হয় তবে মানটি মধ্যরাতে ডিফল্ট হয়।

    এই বৈশিষ্ট্যের মান সময় ফর্ম্যাট ব্যবহার করে।

বৈশিষ্ট্যগুলি সেট করার সময়, নিম্নলিখিতগুলি নোট করুন:

  • যদি available বা refundable_until_days সেট না করা হয় তবে হারটি ফেরতযোগ্য হিসাবে প্রদর্শিত হয় না।
  • যদি available 0 (বা false ) হয় তবে অন্যান্য বৈশিষ্ট্যগুলি উপেক্ষা করা হয়। অন্য একটি বৈশিষ্ট্য সেট করা থাকলেও হারটি ফেরতযোগ্য হিসাবে প্রদর্শিত হয় না।
<Tax> Required float যে করগুলি একটি ঘরের চূড়ান্ত মূল্যের জন্য গণনা করা হয়। এই উপাদানটি <Result> এ < <Tax> এর মতো একই সিনট্যাক্স ব্যবহার করে।

উদাহরণ

বেস রেট এবং শর্তসাপেক্ষ হার

নিম্নলিখিত উদাহরণটি একটি লেনদেনের বার্তা দেখায় যাতে একটি বেস রেট এবং শর্তসাপেক্ষ হার থাকে:

<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2023-05-18T16:20:00-04:00" id="42">
  <Result>
    <Property>1234</Property>
    <Checkin>2023-04-10</Checkin>
    <Nights>1</Nights>

    <Baserate currency="USD">200.00</Baserate>
    <Tax currency="USD">20.00</Tax>
    <OtherFees currency="USD">1.00</OtherFees>

    <Rates>
      <!-- The rate_rule_id is required when using conditional rates -->
      <Rate rate_rule_id="mobile">
        <!-- Override base rate and taxes for conditional rates -->
        <Baserate currency="USD">180.00</Baserate>
        <Tax currency="USD">18.00</Tax>
        <!-- NOTE: OtherFees is inherited from the above setting -->
        <Custom1>ratecode123</Custom1>
      </Rate>
    </Rates>

  </Result>
</Transaction>

একাধিক শর্তযুক্ত হার

নিম্নলিখিত উদাহরণটি একটি <RoomBundle> এর মধ্যে একটি বেস রেট এবং একাধিক শর্তসাপেক্ষ হারের সংজ্ঞা দেয়:

<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2023-05-18T16:20:00-04:00" id="42">
  <Result>
    <Property>1234</Property>
    <Checkin>2023-04-10</Checkin>
    <Nights>2</Nights>
    <!-- When Google receives new room bundle information for an itinerary, all
    previous room bundle pricing is dropped from Google's cache. Thus, if you
    want to delete a specific room bundle from Google's cache, you may do so
    by simply not providing that specific room bundle in subsequent transaction
    messages. -->
    <RoomBundle>
     ...
      <!-- RoomID is required, PackageID is recommended. -->
      <RoomID>5</RoomID>
      <PackageID>ABC</PackageID>
      <!-- Baserate is required. -->
      <Baserate currency="USD">275.00</Baserate>
      <Tax currency="USD">27.50</Tax>
      <OtherFees currency="USD">2.00</OtherFees>

      <!-- RatePlanID is optional and represents the unique identifier for a
      room and package data combination. We strongly recommend using RatePlanID
      as a variable to build your dynamic landing page (formerly Point of Sale)
      URL. For details, see Using Variables and Conditions. -->
      <RatePlanID>5-ABC</RatePlanID>

      <!-- Occupancy is mandatory for RoomBundle elements. -->
      <!-- Elements below will get inherited to nested rate elements. -->
      <Occupancy>2</Occupancy>
      <OccupancyDetails>
        <NumAdults>2</NumAdults>
      </OccupancyDetails>
      <InternetIncluded>1</InternetIncluded>


      <!-- Rate rule "mobile" overrides chargeCurrency, "us_or_gb" doesn't. -->
      <ChargeCurrency>web</ChargeCurrency>
      <Custom1>ratebasic</Custom1>
      <!-- Neither rate overrides Custom2. -->
      <Custom2>ratebasic</Custom2>

      <Rates>
        <Rate rate_rule_id="mobile">
          <Baserate currency="USD">258.33</Baserate>
          <Tax currency="USD">25.83</Tax>
          <OtherFees currency="USD">1.00</OtherFees>
          <!-- The value below overrides ChargeCurrency from roombundle. -->
          <ChargeCurrency>hotel</ChargeCurrency>
          <!-- The value below overrides Custom1 from roombundle. -->
          <Custom1>ratecode321</Custom1>
          <!-- Custom2 is inherited from roombundle. -->
        </Rate>
        <Rate rate_rule_id="us_or_gb">
          <Baserate currency="USD">268.33</Baserate>
          <Tax currency="USD">26.83</Tax>
          <OtherFees currency="USD">1.00</OtherFees>
          <!-- The value below overrides Custom1 from roombundle. -->
          <Custom1>ratecode432</Custom1>
          <!-- Custom2 is inherited from roombundle. -->
        </Rate>
      </Rates>
    </RoomBundle>
  </Result>
</Transaction>

<RoomBundle>

<Transaction> বার্তায় <Result> এর শিশু হিসাবে রুম বান্ডিলগুলির জন্য মূল্য এবং প্রাপ্যতা সংজ্ঞায়িত করে। প্রতিটি প্যাকেজ/ভ্রমণপথের সংমিশ্রণের জন্য একটি পৃথক উপাদান সংজ্ঞায়িত করুন। প্যাকেজ এবং ঘরের বান্ডিলগুলির শর্তাদি সংজ্ঞায়িত করতে, <RoomData> ব্যবহার করুন।

<RoomBundle> উপাদানটি লেনদেনের বার্তায় এক্সএমএল শ্রেণিবিন্যাসে নিম্নলিখিত স্থানে উপস্থিত হয়:

+ <Transaction>
    + <PropertyDataSet>  // Room and package metadata
        + <Property>
        + <RoomData>
        + <PackageData>
    + <Result>           // Pricing and availability
        + <Rates>
        + <RoomBundle>
        + ...

আরও তথ্যের জন্য, ঘরের বান্ডিলগুলি ব্যবহার করুন।

বাক্য গঠন

<RoomBundle> উপাদানটি নিম্নলিখিত সিনট্যাক্স ব্যবহার করে:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction ... >
  <Result>
    ...
    <RoomBundle>
      <!-- Required unless specified inline under <RoomData> -->
      <RoomID>room_ID</RoomID>
      <!-- Required  <PackageData> -->
      <PackageID>package_ID</PackageID>

      <!-- Required -->
      <Baserate currency="currency_code">price</Baserate>
      <!-- Required -->
      <Tax currency="currency_code">taxes</Tax>
      <!-- Required -->
      <OtherFees currency="currency_code">other_fees</OtherFees>

      <Refundable available="[false|true]" refundable_until_days="number_of_days"
        refundable_until_time="time"/>
      <!-- Required -->
      <ChargeCurrency>[deposit|hotel|installments|web]</ChargeCurrency>
      <Occupancy>max_number_of_intended_occupants</Occupancy>
      <OccupancyDetails> <!-- optional info about the types of guests,
      whether adults or children --></OccupancyDetails>

      <BreakfastIncluded>boolean_value</BreakfastIncluded>
      <InternetIncluded>boolean_value</InternetIncluded>
      <ParkingIncluded>boolean_value</ParkingIncluded>

      <RatePlanID>rate_plan_ID</RatePlanID>

      <Rates>...</Rates>

      <Custom1>custom_value_1</Custom1>
      <Custom2>custom_value_2</Custom2>
      <Custom3>custom_value_3</Custom3>
      <Custom4>custom_value_4</Custom4>
      <Custom5>custom_value_5</Custom5>
    </RoomBundle>
    ...
  </Result>
</Transaction>

গুণাবলী

<RoomBundle> উপাদানটির কোনও বৈশিষ্ট্য নেই।

শিশু উপাদান

<RoomBundle> উপাদানটিতে নিম্নলিখিত শিশু উপাদান রয়েছে:

শিশু উপাদান প্রয়োজন? টাইপ বর্ণনা
<Baserate> Required float থাকার জন্য ঘরের বান্ডিলের দাম নির্ধারণ করে। এই উপাদানটি নিম্নলিখিত ব্যতিক্রম সহ <Result><Baserate> এর মতো একই সিনট্যাক্স ব্যবহার করে:
  • যখন ঘরটি ভ্রমণপথের জন্য অনুপলব্ধ থাকে, তখন কোনও ঘর আর ইনভেন্টরিতে নেই তা নির্দেশ করার জন্য <RoomBundle> উপাদানটি সরিয়ে ফেলুন। আরও তথ্যের জন্য, একটি ঘরের বান্ডিল অপসারণ দেখুন।
<BreakfastIncluded> Optional boolean এই ঘরের বান্ডলে হারের সাথে প্রাতঃরাশ অন্তর্ভুক্ত কিনা তা নির্দিষ্ট করে।
<ChargeCurrency> Optional enum কখন এবং কোথায় ব্যবহারকারী বুকিংয়ের জন্য অর্থ প্রদান করে। এই উপাদানটি <Result><ChargeCurrency> এর মতো একই সিনট্যাক্স ব্যবহার করে।

ডিফল্ট মান web

<Custom[1‑5]> Optional string ঘরের বান্ডিলের জন্য অবতরণ পৃষ্ঠাগুলিতে অতিরিক্ত ডেটা পাস করার জন্য কাস্টম ক্ষেত্রগুলি। এই উপাদানগুলি <Custom[1-5]> <Result> তে একই সিনট্যাক্স ব্যবহার করে। কাস্টম ফিল্ডে 200 টি অক্ষরের সীমা রয়েছে। আরও তথ্যের জন্য, ল্যান্ডিং পৃষ্ঠা ফাইলগুলি দেখুন।

যদি <কাস্টম> উপাদানগুলি <Result> উপাদানগুলিতে সরবরাহ করা হয়, তবে সেগুলি <RoomBundle> উপাদানটিতে উত্তরাধিকার সূত্রে প্রাপ্ত হয় না এবং প্রতিটি <RoomBundle> এর জন্য পৃথকভাবে সংজ্ঞায়িত করা উচিত বা প্রয়োজনে এটি <প্যাকেজেডাটা> অন্তর্ভুক্ত করা যেতে পারে।

<InternetIncluded> Optional boolean যদি কোনও ঘরের বান্ডলে কোনও চার্জ ছাড়াই ইন্টারনেট অ্যাক্সেস অন্তর্ভুক্ত থাকে, অন্য বান্ডিলগুলি সেই সুযোগ -সুবিধা অন্তর্ভুক্ত করে না। সমস্ত কক্ষে বিনামূল্যে ইন্টারনেট সরবরাহ করে এমন কোনও হোটেলে রুম বান্ডিলগুলির জন্য এই উপাদানটি সেট করবেন না। এই উপাদানটি ইন-রুমের ওয়্যার্ড ইন্টারনেট বা ওয়্যারলেস ইন্টারনেটের ক্ষেত্রে প্রযোজ্য নয় যা অতিথি কক্ষগুলিতে উপলভ্য নয়।
<Occupancy> Required integer সর্বাধিক সংখ্যক অতিথি যার জন্য একটি ঘরের বান্ডিল উদ্দেশ্য। উদাহরণস্বরূপ, একটি বড় স্যুট শারীরিকভাবে 6 জন অতিথিকে থাকার ব্যবস্থা করতে সক্ষম হতে পারে তবে "হানিমুন প্যাকেজ" কেবল 2 অতিথির জন্যই তৈরি।

এই মানটি অবশ্যই <Capacity> এর চেয়ে কম বা সমান হতে হবে, যা ঘরটি শারীরিকভাবে সামঞ্জস্য করতে পারে এমন লোকের সংখ্যা।

আপনার অবতরণ পৃষ্ঠার URL এ পেশা সংজ্ঞায়িত করার সময়, ভেরিয়েবল এবং শর্তাদি ব্যবহারে বর্ণিত হিসাবে NUM-ADULTS এবং NUM-CHILDREN ভেরিয়েবলগুলি ব্যবহার করুন। ডিফল্ট মান 2 প্রাপ্তবয়স্ক এবং 0 শিশু।

<Occupancy>

মন্তব্য :

  • <Occupancy> <RoomBundle>
  • <Occupancy> <RoomBundle> <PackageData> <RoomData> যদি এর কোনওটিতে কোনও মান উপস্থিত না থাকে তবে মানটি 2 এ ডিফল্ট হয়।
  • <Occupancy> <OccupancyDetails> সিনট্যাক্স এবং শিশু উপাদানগুলির বর্ণনার জন্য <OccupancyDetails> পরামর্শ নিন।
  • <PackageData> <RoomBundle> <Occupancy> <RoomBundle>
<OtherFees> Required float বেস রেট এবং কর ব্যতীত অন্য ফি যা কোনও ঘরের চূড়ান্ত দামকে প্রভাবিত করে। <OtherFees> উপাদানটি একটি একক প্রয়োজনীয় বৈশিষ্ট্য, currency গ্রহণ করে, যা ফিগুলির জন্য তিন-অক্ষরের মুদ্রা কোডকে সংজ্ঞায়িত করে। উদাহরণস্বরূপ, মার্কিন ডলারের জন্য মার্কিন USD ব্যবহার করুন।
<PackageID> Optional (recommended) string প্যাকেজ ডেটার জন্য অনন্য আইডি। <PackageData> এ যা প্রেরণ করা হয়েছিল তার সাথে ঘরের বান্ডিল ডেটা মেলে এই আইডিটি ব্যবহার করুন। আরও তথ্যের জন্য, রুম বান্ডিল মেটাডেটা দেখুন। (ঘরের বান্ডিল ডেটা ইনলাইন সংজ্ঞায়িত করার সময় আপনি একক লেনদেনের বার্তায় ব্যবহৃত একটি সাধারণ কক্ষের বান্ডিল সংজ্ঞাটি উল্লেখ করতে এই আইডিটিও ব্যবহার করতে পারেন))
<ParkingIncluded> Optional boolean কোনও ঘরের বান্ডলে বিনা চার্জে পার্কিং অন্তর্ভুক্ত রয়েছে কিনা, যেখানে পার্কিং অন্যথায় এই হোটেলে কোনও অর্থ প্রদানের পরিষেবা হবে। বিনামূল্যে পার্কিং সরবরাহ করে এমন কোনও হোটেলের জন্য এই উপাদানটির জন্য কোনও মান নির্দিষ্ট করবেন না।

বৈধ মানগুলি 0 (বা false ) এবং 1 (বা true ) হয়। ডিফল্ট মান false .

<RatePlanID> Optional string রেট প্ল্যান আইডি একটি ঘর এবং প্যাকেজ সংমিশ্রণের জন্য অনন্য শনাক্তকারীকে উপস্থাপন করে। উদাহরণস্বরূপ, একটি <RoomID> 5 ​​এর মান এবং একটি <PackageID> এবিসির মান দেওয়া, আপনি <RatePlanID> এর জন্য 5-ABC এর মান ব্যবহার করতে পারেন। আমরা আপনার গতিশীল ল্যান্ডিং পৃষ্ঠা (পূর্বে বিক্রয় পয়েন্ট) ইউআরএল তৈরি করতে ভেরিয়েবল হিসাবে র‌্যাম্পপ্ল্যানিড ব্যবহার করার দৃ strongly ়ভাবে পরামর্শ দিচ্ছি।

আরও তথ্যের জন্য, ভেরিয়েবল এবং শর্তাদি ব্যবহার করে দেখুন।

<Rates> Optional <Rates> এই ঘরের বান্ডিলের জন্য ডিফল্টগুলি ওভাররাইড করে এমন হারগুলি। এই উপাদানটি <Rates> <Result> > এর মতো একই সিনট্যাক্স ব্যবহার করে।
<Refundable> Optional Object সম্পূর্ণরূপে ফেরতযোগ্য হিসাবে বা একটি নিখরচায় বাতিলকরণ সরবরাহ হিসাবে একটি হার তালিকাভুক্ত করা সক্ষম করে। যদি সরবরাহ না করা হয় তবে ফেরত সম্পর্কিত কোনও তথ্য প্রদর্শিত হয় না। <PackageData> স্তরে একটি ফেরত নীতি <Result> স্তরে ফেরত নীতি ওভাররাইড করে। <Rates> স্তরে একটি ফেরত নীতি <PackageData> স্তরে ফেরত নীতি ওভাররাইড করে। আপনার লেনদেনের বার্তা স্কিমা সরাসরি সংশোধন না করে বিকল্প বিকল্পগুলির মাধ্যমে ব্যবহারকারীদের কাছে ফেরতযোগ্য মূল্য নির্ধারণ করা যেতে পারে। এই বিকল্পগুলি সম্পর্কে এখানে আরও জানুন।

নিম্নলিখিত উদাহরণটি এর সমস্ত বৈশিষ্ট্য সেট সহ <Refundable> উপাদানটি দেখায়:

<Refundable available="1" refundable_until_days="7"
refundable_until_time="18:00:00"/>

দ্রষ্টব্য: আমরা সমস্ত বৈশিষ্ট্য সেট করার পরামর্শ দিই। যখন এক বা একাধিক বৈশিষ্ট্য সেট না করা হয় তখন একটি ফিডের স্থিতি সতর্কতা বার্তা উত্পন্ন হয়।

আপনি যদি কোনও বৈশিষ্ট্য সেট না করেন তবে হারটি ফেরতযোগ্য হিসাবে প্রদর্শিত হয় না। গুণাবলী হল:

  • available : (প্রয়োজনীয়) 1 (বা true ) এ সেট করা হয়েছে যদি হারটি সম্পূর্ণ ফেরতের অনুমতি দেয় তবে তা নির্দেশ করতে; অন্যথায় 0 (বা false ) এ সেট করুন।
  • refundable_until_days : (যদি available তবে true ) চেক-ইন করার আগেই দিনের সংখ্যা নির্দিষ্ট করে যে একটি সম্পূর্ণ ফেরতের জন্য অনুরোধ করা যেতে পারে। refundable_until_days মান অবশ্যই 0 এবং 330 এর মধ্যে একটি পূর্ণসংখ্যা হতে হবে, অন্তর্ভুক্ত।
  • refundable_until_time : (যদি available তবে অত্যন্ত true ) হোটেলের স্থানীয় সময়ে দিনের সর্বশেষ সময়টি নির্দিষ্ট করে দেয় যে একটি সম্পূর্ণ ফেরতের অনুরোধ সম্মানিত হবে। এটি নির্দিষ্ট করে দেওয়ার জন্য এটি refundable_until_days সাথে একত্রিত করা যেতে পারে, উদাহরণস্বরূপ, "চেক-ইন করার দু'দিন আগে 4:00 অপরাহ্ন পর্যন্ত ফেরত পাওয়া যায়"। যদি refundable_until_time সেট না করা হয় তবে মানটি মধ্যরাতে ডিফল্ট হয়।

    এই বৈশিষ্ট্যের মান সময় ফর্ম্যাট ব্যবহার করে।

বৈশিষ্ট্যগুলি সেট করার সময়, নিম্নলিখিতগুলি নোট করুন:

  • যদি available বা refundable_until_days সেট না করা হয় তবে হারটি ফেরতযোগ্য হিসাবে প্রদর্শিত হয় না।
  • যদি available 0 (বা false ) হয় তবে অন্যান্য বৈশিষ্ট্যগুলি উপেক্ষা করা হয়। অন্য একটি বৈশিষ্ট্য সেট করা থাকলেও হারটি ফেরতযোগ্য হিসাবে প্রদর্শিত হয় না।
<RoomID> Required string ঘরের ডেটার জন্য অনন্য আইডি। আপনি <RoomData> এ যা প্রেরণ করেছেন তার সাথে ঘরের বান্ডিল ডেটা মেলে এই আইডিটি ব্যবহার করুন। আরও তথ্যের জন্য, রুম বান্ডিল মেটাডেটা দেখুন। (ঘরের ডেটা ইনলাইন সংজ্ঞায়িত করার সময় আপনি একক লেনদেনের বার্তায় একটি সাধারণ কক্ষের সংজ্ঞাটি উল্লেখ করতে এই আইডিটিও ব্যবহার করতে পারেন))
<Tax> Required float যে করগুলি একটি ঘরের চূড়ান্ত মূল্যের জন্য গণনা করা হয়। <Tax> উপাদানটি একটি একক প্রয়োজনীয় বৈশিষ্ট্য, currency গ্রহণ করে, যা করের জন্য তিন-অক্ষরের মুদ্রা কোডকে সংজ্ঞায়িত করে। উদাহরণস্বরূপ, মার্কিন ডলারের জন্য মার্কিন USD ব্যবহার করুন।

উদাহরণ

একক দখল বান্ডিল

নিম্নলিখিত উদাহরণটি একক দখল বান্ডিল সহ একটি প্রতিক্রিয়া সংজ্ঞায়িত করে। যখন কোনও ব্যবহারকারী পেশা বাছাইকারী 1 নির্বাচন করে, গুগল পেশা নির্বিশেষে সর্বনিম্ন যোগ্য মূল্য প্রদর্শন করে।

যদি কোনও একক পেশার মূল্য উপলব্ধ না হয় তবে গুগল সর্বনিম্ন ডাবল-টেকসইকেন্সি মূল্য প্রদর্শন করবে। নোট করুন যে একক পেশার দামগুলি যদি ডাবল-পেশা বা আরও বেশি দাম ভ্রমণপথের জন্য ক্যাশে করা হয় তবে লাইভ কোয়েরে নেই।

এই উদাহরণটি <RoomID> এবং <PackageID> উপাদানগুলির সাথে পূর্বনির্ধারিত ঘর এবং প্যাকেজ মেটাডেটা উল্লেখ করে। সেই তথ্যটি সংজ্ঞায়িত করতে <RoomData> এবং <PackageData> উপাদানগুলি ব্যবহার করুন।

<!-- Efficient method of defining Room Bundles-->
<!----- Occupancy of 1 example ----->

<Transaction timestamp="2017-07-18T16:20:00-04:00" id="12345678">
  <!-- Part1: Define RoomData and PackageData in PropertyDataSet -->
  <!-- Note:  Once defined it does not have to be repeated for future
              Transaction Messages.
              PropertyDataSets can also be defined and sent in their own
              Transaction Message separately from pricing. Google can be
              configured to pull just PropertyDataSets once per day
              (or on a predefined frequency). -->
  <PropertyDataSet>
    <Property>180054</Property>
    <!-- Can be reused by multiple Room Bundles -->
    <RoomData>
      <RoomID>060773</RoomID>
      <Name>
        <Text text="Single Queen Room - Non-Smoking" language="en"/>
        <Text text="Chambre de la Roi Premium - Pas de Fumeurs" language="fr"/>
      </Name>
      <!-- Room can accommodate up to 4, but package data specifies occupancy
           between 1 to 4 -->
      <Capacity>4</Capacity>
    </RoomData>
    <RoomData>
      <RoomID>436233</RoomID>
      <Name>
        <Text text="Premium King Room - Non-Smoking" language="en"/>
        <Text text="Chambre de le Roi Premium - Pas de Fumeurs" language="fr"/>
      </Name>
      <Capacity>4</Capacity>
    </RoomData>
    <!-- Can be reused by multiple Room Bundles -->
    <PackageData>
      <PackageID>P11111</PackageID>
      <Occupancy>1</Occupancy>
      <ChargeCurrency>web</ChargeCurrency>
      <Refundable available="1" refundable_until_days="7"
           refundable_until_time="18:00:00"/>
      <ParkingIncluded>1</ParkingIncluded>
      <InternetIncluded>1</InternetIncluded>
    </PackageData>
    <PackageData>
      <PackageID>P54321</PackageID>
      <Occupancy>2</Occupancy>
      <ChargeCurrency>web</ChargeCurrency>
      <Refundable available="1" refundable_until_days="7"
           refundable_until_time="18:00:00"/>
      <ParkingIncluded>1</ParkingIncluded>
      <InternetIncluded>1</InternetIncluded>
    </PackageData>
    <PackageData>
      <PackageID>P12345</PackageID>
      <Occupancy>4</Occupancy>
      <ChargeCurrency>web</ChargeCurrency>
      <Refundable available="1" refundable_until_days="1"
           refundable_until_time="18:00:00"/>
      <ParkingIncluded>1</ParkingIncluded>
      <InternetIncluded>1</InternetIncluded>
    </PackageData>
  </PropertyDataSet>

    <!-- Efficient method of defining Room Bundles -->
    <!-- Part 2: Reference RoomData and PackageData through ID -->
  <Result>
    <!-- Single occupancy pricing will be specified in a room bundle below -->
    <Property>180054</Property>
    <Checkin>2017-10-07</Checkin>
    <Nights>2</Nights>
    <!-- Base Room Bundle -->
    <RoomBundle>
      <RoomID>060773</RoomID>
      <PackageID>P54321</PackageID>
      <Baserate currency="USD">199.99</Baserate>
      <Tax currency="USD">25.12</Tax>
      <OtherFees currency="USD">2.00</OtherFees>
      <RatePlanID>060773-P54321</RatePlanID>
    </RoomBundle>
    <RoomBundle>
      <RoomID>060773</RoomID>
      <PackageID>P11111</PackageID>
      <!-- Price for 1 ("occupancy") is the lowest price and will be
           displayed -->
      <Baserate currency="USD">174.99</Baserate>
      <Tax currency="USD">22.08</Tax>
      <OtherFees currency="USD">2.00</OtherFees>
      <RatePlanID>060773-P11111</RatePlanID>
    </RoomBundle>
    <!-- Premium Room Bundle -->
    <RoomBundle>
      <RoomID>436233</RoomID>
      <PackageID>P12345</PackageID>
      <!-- Price for 4 ("occupancy"), any eligible room bundle with 1 or more
           occupancy will be displayed-->
      <Baserate currency="USD">298.88</Baserate>
      <Tax currency="USD">42.12</Tax>
      <OtherFees currency="USD">10.00</OtherFees>
      <RatePlanID>436233-P12345</RatePlanID>
    </RoomBundle>
    <!-- ..Continue providing all available RoomBundle rates under matched
         property for 1 or more occupancies..-->
  </Result>
</Transaction>


দুই বা ততোধিক পেশা

নিম্নলিখিত উদাহরণটি দুটি বা ততোধিক পেশাযুক্ত একটি প্রতিক্রিয়া সংজ্ঞায়িত করে।

এই উদাহরণটি <RoomID> এবং <PackageID> উপাদানগুলির সাথে পূর্বনির্ধারিত ঘর এবং প্যাকেজ মেটাডেটা উল্লেখ করে। সেই তথ্যটি সংজ্ঞায়িত করতে <RoomData> এবং <PackageData> উপাদানগুলি ব্যবহার করুন।

<!-- Efficient method of defining Room Bundles-->
<!----- Occupancy of 3 example ----->

<Transaction timestamp="2017-07-18T16:20:00-04:00" id="12345678">
  <!-- Efficient method of defining Room Bundles-->
  <!-- Part1: Define RoomData and PackageData in PropertyDataSet -->
  <PropertyDataSet>
    <Property>180054</Property>
    <!-- Can be reused by multiple Room Bundles -->
    <RoomData>
      <RoomID>060773</RoomID>
      <Name>
        <Text text="Single Queen Room - Non-Smoking" language="en"/>
        <Text text="Chambre de la Roi Premium - Pas de Fumeurs" language="fr"/>
      </Name>
      <!-- Room can accommodate up to 4, but package data specifies occupancy
           between 1 to 4 -->
      <Capacity>4</Capacity>
    </RoomData>
    <RoomData>
      <RoomID>436233</RoomID>
      <Name>
        <Text text="Premium King Room - Non-Smoking" language="en"/>
        <Text text="Chambre de le Roi Premium - Pas de Fumeurs" language="fr"/>
      </Name>
      <Capacity>4</Capacity>
    </RoomData>
    <!-- Can be reused by multiple Room Bundles -->
    <PackageData>
      <PackageID>P33333</PackageID>
      <Occupancy>3</Occupancy>
      <ChargeCurrency>web</ChargeCurrency>
      <Refundable available="1" refundable_until_days="7"
           refundable_until_time="18:00:00"/>
      <ParkingIncluded>1</ParkingIncluded>
      <InternetIncluded>1</InternetIncluded>
    </PackageData>
    <PackageData>
      <PackageID>P12345</PackageID>
      <Occupancy>4</Occupancy>
      <ChargeCurrency>web</ChargeCurrency>
      <Refundable available="1" refundable_until_days="1"
           refundable_until_time="18:00:00"/>
      <ParkingIncluded>1</ParkingIncluded>
      <InternetIncluded>1</InternetIncluded>
    </PackageData>
  </PropertyDataSet>

  <Result>
    <Property>180054</Property>
    <Checkin>2017-10-07</Checkin>
    <Nights>2</Nights>
    <!-- Efficient method of defining Room Bundles -->
    <!-- Part 2: Reference RoomData and PackageData through ID -->
    <!-- Base Room Bundle -->
    <RoomBundle>
      <!-- Baserate above and attributes must match atleast one room bundle
           below -->
      <RoomID>060773</RoomID>
      <PackageID>P33333</PackageID>
      <Baserate currency="USD">499.99</Baserate>
      <Tax currency="USD">55.12</Tax>
      <OtherFees currency="USD">22.00</OtherFees>
    </RoomBundle>
    <!-- Premium Room Bundle -->
    <RoomBundle>
      <RoomID>436233</RoomID>
      <PackageID>P12345</PackageID>
      <!-- Lowest price for 3 ("occupancy"), shown below, will be displayed -->
      <Baserate currency="USD">598.88</Baserate>
      <Tax currency="USD">62.12</Tax>
      <OtherFees currency="USD">30.00</OtherFees>
    </RoomBundle>
    <!-- ..Continue providing all available RoomBundle rates under matched
         property for 2 or more occupancies..-->
  </Result>
</Transaction>


একাধিক কক্ষের বান্ডিল

নিম্নলিখিত উদাহরণটি সম্ভাব্য হোস্টেল কক্ষের মূল্য নির্ধারণের জন্য একাধিক কক্ষের বান্ডিলগুলিতে পেশা সেট করে।

<?xml version="1.0" encoding="UTF-8"?>
<Transaction ... >
  <Result>
    ...
    <!-- Suite Room Bundle -->
    <RoomBundle>
      <RoomID>suite1</RoomID>
      <PackageID>standard</PackageID>
      <Occupancy>2</Occupancy>
      <!-- Price for room -->
      <Baserate currency="USD">80.00</Baserate>
      <Tax currency="USD">5.12</Tax>
      <OtherFees currency="USD">2.00</OtherFees>
      <RoomData>
        <Name>
          <Text text="Suite for 2" language="en"/>
        </Name>
      </RoomData>
    </RoomBundle>

    <!-- Small Dorm Room Bundle -->
    <RoomBundle>
      <RoomID>small_dorm</RoomID>
      <PackageID>economy</PackageID>
      <Occupancy>1</Occupancy>
      <!-- Price per bed -->
      <Baserate currency="USD">35.00</Baserate>
      <Tax currency="USD">3.50</Tax>
      <OtherFees currency="USD">2.00</OtherFees>
      <RoomData>
        <Name>
          <Text text="1 bed in small dorm" language="en"/>
        </Name>
      </RoomData>
    </RoomBundle>

    <!-- Large Dorm Room Bundle -->
    <RoomBundle>
      <RoomID>large_dorm</RoomID>
      <PackageID>economy</PackageID>
      <Occupancy>1</Occupancy>
      <!-- Price per bed -->
      <Baserate currency="USD">20.00</Baserate>
      <Tax currency="USD">2.50</Tax>
      <OtherFees currency="USD">2.00</OtherFees>
      <RoomData>
        <Name>
          <Text text="1 bed in large dorm" language="en"/>
        </Name>
      </RoomData>
    </RoomBundle>
    ...
  </Result>
</Transaction>

একাধিক শর্তযুক্ত হার

নিম্নলিখিত উদাহরণটি একটি <RoomBundle> এর মধ্যে একটি বেস রেট এবং একাধিক শর্তসাপেক্ষ হারের সংজ্ঞা দেয়:

<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2023-05-18T16:20:00-04:00" id="42">
  <Result>
    <Property>1234</Property>
    <Checkin>2023-04-10</Checkin>
    <Nights>2</Nights>
    <!-- When Google receives new room bundle information for an itinerary, all
    previous room bundle pricing is dropped from Google's cache. Thus, if you
    want to delete a specific room bundle from Google's cache, you may do so
    by simply not providing that specific room bundle in subsequent transaction
    messages. -->
    <RoomBundle>
     ...
      <!-- RoomID is required, PackageID is recommended. -->
      <RoomID>5</RoomID>
      <PackageID>ABC</PackageID>
      <!-- Baserate is required. -->
      <Baserate currency="USD">275.00</Baserate>
      <Tax currency="USD">27.50</Tax>
      <OtherFees currency="USD">2.00</OtherFees>

      <!-- RatePlanID is optional and represents the unique identifier for a
      room and package data combination. We strongly recommend using RatePlanID
      as a variable to build your dynamic landing page (formerly Point of Sale)
      URL. For details, see Using Variables and Conditions. -->
      <RatePlanID>5-ABC</RatePlanID>

      <!-- Occupancy is mandatory for RoomBundle elements. -->
      <!-- Elements below will get inherited to nested rate elements. -->
      <Occupancy>2</Occupancy>
      <OccupancyDetails>
        <NumAdults>2</NumAdults>
      </OccupancyDetails>
      <InternetIncluded>1</InternetIncluded>


      <!-- Rate rule "mobile" overrides chargeCurrency, "us_or_gb" doesn't. -->
      <ChargeCurrency>web</ChargeCurrency>
      <Custom1>ratebasic</Custom1>
      <!-- Neither rate overrides Custom2. -->
      <Custom2>ratebasic</Custom2>

      <Rates>
        <Rate rate_rule_id="mobile">
          <Baserate currency="USD">258.33</Baserate>
          <Tax currency="USD">25.83</Tax>
          <OtherFees currency="USD">1.00</OtherFees>
          <!-- The value below overrides ChargeCurrency from roombundle. -->
          <ChargeCurrency>hotel</ChargeCurrency>
          <!-- The value below overrides Custom1 from roombundle. -->
          <Custom1>ratecode321</Custom1>
          <!-- Custom2 is inherited from roombundle. -->
        </Rate>
        <Rate rate_rule_id="us_or_gb">
          <Baserate currency="USD">268.33</Baserate>
          <Tax currency="USD">26.83</Tax>
          <OtherFees currency="USD">1.00</OtherFees>
          <!-- The value below overrides Custom1 from roombundle. -->
          <Custom1>ratecode432</Custom1>
          <!-- Custom2 is inherited from roombundle. -->
        </Rate>
      </Rates>
    </RoomBundle>
  </Result>
</Transaction>

<OccupancyDetails>

<Occupancy> একটি লেনদেনের বার্তায় একটি ঘর বা প্যাকেজের জন্য সর্বাধিক সংখ্যক অতিথিকে নির্দিষ্ট করে। <OccupancyDetails> অতিথিদের সংখ্যা এবং ধরণের (প্রাপ্তবয়স্ক বা শিশু) এর মতো অতিরিক্ত তথ্য থাকতে পারে।

<Occupancy> <OccupancyDetails> <Rates> <Result> <RoomBundle>

বাক্য গঠন

যখন <OccupancyDetails> উপস্থিত হয়, এটি সর্বদা <Occupancy> নিম্নলিখিত সিনট্যাক্সটি নোট করুন:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction ... >
  <Result>
  ...
    <Occupancy>max_number_of_intended_occupants</Occupancy>
    <OccupancyDetails>
      <NumAdults>number_of_adults</NumAdults>
      <Children>
        <Child age=age_of_one_child_guest/>
        <Child age=age_of_one_child_guest/>
      </Children>
    </OccupancyDetails>
  </Result>
</Transaction>

শিশু উপাদান

<OccupancyDetails>

শিশু উপাদান প্রয়োজন? টাইপ বর্ণনা
<NumAdults> Required integer প্রাপ্তবয়স্ক অতিথির সংখ্যা। মিনিট: 1, সর্বোচ্চ: 20।
<Children> Optional Object এক বা একাধিক <Child> উপাদানগুলির জন্য একটি ধারক।
<Child age> Optional integer এই সন্তানের সর্বাধিক বয়স - উদাহরণস্বরূপ, <Child age="17">

উদাহরণ

নিম্নলিখিত <RoomBundle> <Rates> <Results> <OccupancyDetails>

ফলাফল প্রতিক্রিয়া

নিম্নলিখিত উদাহরণটি একটি লাইভ প্রাইসিং ক্যোয়ারির প্রতিক্রিয়া হিসাবে একটি সম্পত্তির জন্য একটি ভ্রমণপথ এবং এর মূল্য নির্ধারণ করে যেখানে ব্যবহারকারী অতিথির সংখ্যা এবং প্রকারগুলি নির্দিষ্ট করে। এখানে, <OccupancyDetails> - 2 প্রাপ্তবয়স্ক এবং একটি শিশু - <Result> এ ফিরে আসে।

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-23T16:20:00-04:00" id="42">
  <Result>
    <Property>060773</Property>
    <RoomID>RoomType101</RoomID>
    <PackageID>Package101</PackageID>
    <Checkin>2018-06-10</Checkin>
    <Nights>2</Nights>
    <Baserate currency="USD">278.33</Baserate>
    <Tax currency="USD">25.12</Tax>
    <OtherFees currency="USD">2.00</OtherFees>
    <AllowablePointsOfSale>
      <PointOfSale id="site1"/>
    </AllowablePointsOfSale>
    <Occupancy>3</Occupancy>
    <OccupancyDetails>
      <NumAdults>2</NumAdults>
      <Children>
        <Child age="17"/>
      </Children>
    </OccupancyDetails>
  </Result>
</Transaction>

হারের প্রতিক্রিয়া

নিম্নলিখিত উদাহরণটি 1 জন প্রাপ্তবয়স্ক এবং 1 সন্তানের জন্য একটি ভ্রমণপথ এবং এর মূল্য নির্ধারণ করে। <Result> <Rates> <OccupancyDetails>

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Transaction id="Wtdj8QoQIWcAAbaTGlIAAAC4" timestamp="2018-04-18T11:27:45-04:00">
  <Result>
    <Property>8251</Property>
    <Checkin>2018-06-20</Checkin>
    <Nights>1</Nights>
    <Baserate currency="USD">62.18</Baserate>
    <Tax currency="USD">2.45</Tax>
    <OtherFees currency="USD">0.00</OtherFees>
    <Rates>
      <Rate rate_rule_id="rule-951">
        <Occupancy>2</Occupancy>
        <OccupancyDetails>
          <NumAdults>1</NumAdults>
          <Children>
            <Child age="17"/>
          </Children>
        </OccupancyDetails>
        <Baserate currency="USD">42.61</Baserate>
        <Tax currency="USD">5.70</Tax>
        <OtherFees currency="USD">0.00</OtherFees>
        <Custom1>abc4</Custom1>
        <AllowablePointsOfSale>
          <PointOfSale id="yourhotelpartnersite.com"/>
        </AllowablePointsOfSale>
      </Rate>
    </Rates>
  </Result>
</Transaction>

রুম বান্ডিল

নিম্নলিখিত উদাহরণটি ফেরতযোগ্য হারের সাথে দুটি রাতের জন্য 2 জন প্রাপ্তবয়স্ক এবং 1 সন্তানের পেশা সংজ্ঞায়িত করে। <RoomBundle> , <OccupancyDetails>

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-23T16:20:00-04:00" id="42">
  <Result>
    <Property>6781291</Property>
    <Checkin>2017-08-05</Checkin>
    <Nights>2</Nights>
    ...
    <RoomBundle>
      <RoomID>10291</RoomID>
      <RatePlanID>564739</RatePlanID>
      <PackageID>564739</PackageID>
      <Occupancy>3</Occupancy>
      <OccupancyDetails>
        <NumAdults>2</NumAdults>
        <Children>
          <Child age="17"/>
        </Children>
      </OccupancyDetails>
      <ChargeCurrency>web</ChargeCurrency>
      <Refundable available="true" refundable_until_days="1" refundable_until_time="23:59:00" />
      <Baserate currency="USD">185.34</Baserate>
      <Tax currency="USD">37.06</Tax>
      <OtherFees currency="USD">2.22</OtherFees>
    </RoomBundle>
  </Result>
</Transaction>

একাধিক কক্ষের বান্ডিল

নিম্নলিখিত উদাহরণটি একাধিক <RoomBundle> হারগুলি সংজ্ঞায়িত করে যা 2 প্রাপ্তবয়স্ক এবং 2 বাচ্চাদের দখলে সীমাবদ্ধ। <RoomBundle> <Rates> <OccupancyDetails>

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <Result>
    <Property>1234</Property>
    <Checkin>2018-06-10</Checkin>
    <Nights>2</Nights>
    <Baserate currency="USD">275.00</Baserate>
    <Tax currency="USD">27.50</Tax>
    <OtherFees currency="USD">0</OtherFees>
    <RoomBundle>
      <RoomID>5</RoomID>
      <PackageID>STD</PackageID>
      <Baserate currency="USD">275.00</Baserate>
      <Tax currency="USD">27.50</Tax>
      <OtherFees currency="USD">0</OtherFees>
      <InternetIncluded>1</InternetIncluded>
      <ChargeCurrency>web</ChargeCurrency>
      <Custom1>ratebasic</Custom1>
      <Custom2>ratebasic</Custom2>
      <Occupancy>4</Occupancy>
      <OccupancyDetails>
          <NumAdults>2</NumAdults>
          <Children>
              <Child age="17"/>
              <Child age="17"/>
          </Children>
      </OccupancyDetails>
      <Rates>
        <Rate rate_rule_id="mobile">
          <Baserate currency="USD">258.33</Baserate>
          <Tax currency="USD">25.83</Tax>
          <OtherFees currency="USD">1.00</OtherFees>
          <ChargeCurrency>hotel</ChargeCurrency>
          <Custom1>ratecode321</Custom1>
        </Rate>
        <Rate rate_rule_id="us_or_gb">
          <Baserate currency="USD">268.33</Baserate>
          <Tax currency="USD">26.83</Tax>
          <OtherFees currency="USD">1.00</OtherFees>
          <Custom1>ratecode432</Custom1>
        </Rate>
      </Rates>
    </RoomBundle>
  </Result>
</Transaction>