মূল্য নির্ধারণ & রুম ইনভেন্টরি (লেনদেন) 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

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

  • একটি ব্যক্তিগত রুমের জন্য, আপনার অফার করা সর্বনিম্ন ব্যয়বহুল ডবল-অকুপেন্সি রেট সেট করুন। আপনার যদি ডবল-অকুপেন্সি রেট না থাকে এবং আপনার অ্যাকাউন্টে নন-ডবল অকুপেন্সি রেট চালু থাকে তাহলে এখানে উচ্চতর দখলের অনুমতি দেওয়া হয়। নন-ডবল অকুপেন্সি রেট চালু করতে অনুগ্রহ করে আমাদের সাথে যোগাযোগ করুন । এখানে একক দখলের হার অনুমোদিত নয়—সেগুলি অবশ্যই <Rates> অধীনে সেট করতে হবে।
  • একটি শেয়ার্ড রুমের জন্য, খালি রাখুন এবং <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> রুম/ভ্রমণের সংমিশ্রণের জন্য আলাদা মূল্য নির্ধারণ করে।

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

দ্রষ্টব্য: <Result> এর মধ্যে, একক দখলের হার শুধুমাত্র <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> শূন্যের চেয়ে বেশি হয়।

যদি <Baserate> এলিমেন্টের "all_clucing" বৈশিষ্ট্যটি স্পষ্টভাবে সত্যে সেট করা থাকে তবে এই মানটি সেট করা al চ্ছিক।

<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> এর মতো একই সিনট্যাক্স ব্যবহার করে।

যদি <Baserate> এলিমেন্টের "all_clucing" বৈশিষ্ট্যটি স্পষ্টভাবে সত্যে সেট করা থাকে তবে এই মানটি সেট করা al চ্ছিক।

<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> পরামর্শ নিন।
  • <RoomBundle> <PackageData> <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 সন্তানের জন্য একটি ভ্রমণপথ এবং এর মূল্য নির্ধারণ করে। <Rates> <Result> <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 বাচ্চাদের দখলে সীমাবদ্ধ। <Rates> <RoomBundle> <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>

,

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

<Transaction>

লেনদেনের বার্তার মূল উপাদানটি হ'ল <Transaction> । এটি ঘর এবং প্যাকেজ এবং মূল্য এবং কক্ষ এবং প্যাকেজগুলির জন্য প্রাপ্যতার বিষয়ে বর্ণনামূলক তথ্যের জন্য একটি ধারক।

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

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

মূল উপাদান হিসাবে <Transaction> ব্যবহার করে এমন বার্তাগুলি কমপক্ষে একটি শিশু উপাদান প্রয়োজন। লেনদেনের বার্তাগুলির মধ্যে যে কোনও সংখ্যক শিশু উপাদান থাকতে পারে, যতক্ষণ না মোট বার্তার আকার 100 এমবি ছাড়িয়ে যায় না।

সিনট্যাক্স

<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> বার্তায় তথ্য। একটি হোটেল ওভাররাইড মান একটি অংশীদার উপর সেট করা মান। গুগল এই তথ্য সংরক্ষণ করে যাতে আপনি প্রতিবার মূল্য নির্ধারণের আপডেটগুলি প্রেরণ করার সময় আপনাকে এটি সংজ্ঞায়িত করার দরকার নেই।

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

+ <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> উপাদানটি লেনদেনের বার্তা এক্সএমএল শ্রেণিবিন্যাসে নিম্নলিখিত স্থানে উপস্থিত হয়:

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

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

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

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

আরও তথ্যের জন্য, রুম বান্ডিল মেটাডেটা দেখুন।

সিনট্যাক্স

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

<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 প্রদত্ত ঘর বা ঘরের বান্ডিলের ছবির জন্য একটি ইউআরএল এবং al চ্ছিক ক্যাপশন। আপনি রুম বা ঘরের বান্ডিলের জন্য একাধিক <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> ব্লকের সাথে ঘরের ডেটা মেলে এই আইডিটি ব্যবহার করুন। আরও তথ্যের জন্য, রুম বান্ডিল মেটাডেটা দেখুন। (You can also use this ID to reference a common room definition in a single Transaction message when defining room data inline.)

উদাহরণ

Room data

The following example defines room data:

<?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>

Room & package metadata

The following example defines room and package metadata:

<?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>

Multiple room bundles

The following example defines room and package metadata for multiple Room Bundles:

<?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>

Defines features found in the room.

The <RoomFeatures> element appears in the following place in the Transaction message XML hierarchy:

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

সিনট্যাক্স

The <RoomFeatures> element uses the following syntax:

<?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>

গুণাবলী

The <RoomFeatures> element has no attributes.

Child elements

The <RoomFeatures> element has the following child elements:

Child Element প্রয়োজন? টাইপ বর্ণনা
<JapaneseHotelRoomStyle> Optional enum

Indicates the style of a Japanese hotel room.

বৈধ মান হল:

  • western : A western style room with beds.
  • japanese : A Japanese style room with futon beds.
  • japanese_western : A Japanese western style room with both western style beds and Japanese style futons.
<Beds> Optional Object Contains as many <Bed> as the room has. Note that the Japanese futons shouldn't be counted here.

Each <Bed> has the following attributes:

  • size (optional): Valid values are single , semi_double , double , queen , and king .
Each <Bed> has the following child elements:
  • <Width> (optional): Specifies the bed width. Must have the attribute unit with the value cm and the attribute number with the width of the bed in integer centimeters.
  • <Length> (optional): Specifies the bed length. Must have the attribute unit with the value cm and the attribute number with the length of the bed in integer centimeters.
উদাহরণ:
<Beds>
  <Bed size="double">
    <Width unit="cm" number="140"/>
    <Length unit="cm" number="195"/>
  </Bed>
  <Bed/> <!-- Size unknown -->
</Beds>
<Suite> Optional empty Provide this element when this room is a suite.
<Capsule> Optional empty Provide this element when this room is a capsule room.
<Roomsharing> Optional enum Whether this room is shared with other occupants such as owners or other guests. Valid values are shared and private .
<Outdoor> Optional empty Provide this element when this room is outdoor lodging that doesn't have fixed walls, plumbing, and climate control. For example, hotel rooms are not outdoor lodging whereas campsites where guests stay in tents and RV parks where guests bring their own RV are outdoor lodging.
<MobilityAccessible> Optional empty Provide this element when this room is mobility-accessible.
<Smoking> Optional enum Whether this room is a non-smoking room or a smoking room. Valid values are non_smoking and smoking .
<BathAndToilet> Optional Object Contains information about a bath and toilet in the room.

The attribute is:

  • relation (optional): Indicates how the bath and toilet are placed against each other. Valid values are together (both bath and toilet are located together in the same room (eg bathroom) right next to each other) and separate (bath and toilet each have dedicated spaces). This attribute must not be set when the room doesn't have both a bath and toilet.

The element optionally takes the following child elements:

  • <Bath> (optional): The existence of this element indicates that the room has a bath.

    গুণাবলী হল:

    • bathtub (optional): Indicates that the bath has a bathtub in the bathroom. Valid values are 0 (or false ) and 1 (or true ).
    • shower (optional): Indicates that the bath has a shower. Valid values are 0 (or false ) and 1 (or true ).
  • <Toilet> (optional): The existence of this element indicates that this room has a toilet.

    গুণাবলী হল:

    • electronic_bidet (optional): Indicates that the toilet has an electronic bidet . Valid values are 0 (or false ) and 1 (or true ).
    • mobility_accessible (optional): Indicates that the toilet is mobility-accessible. Valid values are 0 (or false ) and 1 (or true ).

উদাহরণ:

<BathAndToilet relation="separate">
  <Bath bathtub="1" shower="1"/>
  <Toilet
    electronic_bidet="1"
    mobility_accessible="1"/>
</BathAndToilet>
<OpenAirBath> Optional empty Provide this element when this room has a private open-air bath.
<AirConditioning> Optional empty Provide this element when this room has air conditioning.
<Balcony> Optional empty Provide this element when this room has a balcony or lanai.
<Views> Optional Object Valid options include:

<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 doesn't have a default value. Omitting a value does not result in an XML error, but your listing is not shown in the search results, when the user filters by room style or beds.

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

The following example shows how to use <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>

দুটি ডাবল বেড

The following is an example of western style Japanese room with two double beds.

<?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 style without bed

The following is an example of a Japanese style room without bed. Bed information is not required for japanese style room.

<?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 with bed

The following is an example of a japanese_western style room with king size bed.

<?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>

If partner doesn't have the number of beds information in japanese_western rooms, then follow the example:

<?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>

Defines itinerary-independent metadata about Room Bundles for a property. This element contains information that is associated with a partner and hotel, but not with an itinerary. The intended purpose is to define all non-itinerary data once and reference it from itinerary data.

The <PackageData> element appears in the following place in the Transaction message XML hierarchy:

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

The <PackageData> element is similar to <RoomData> , but it describes rate features and terms that aren't part of the physical room description. You use <RoomData> and <PackageData> in combination to provide details about Room Bundles and rate features. For individual rooms that aren't part of a package, use just <RoomData> .

You can define both the <RoomData> and <PackageData> elements for the same room or Room Bundle. When Google displays that room or package in the search results, it will include the descriptions from both, separated by a hyphen.

If you update a single <PackageData> element for a property, you must update all <PackageData> and <RoomData> elements for the property. Each <PropertyDataSet> is considered all data about the property, and overwrites any existing data.

For more information, refer to Room Bundle metadata .

সিনট্যাক্স

The <PackageData> element uses the following syntax:

<?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>

গুণাবলী

The <PackageData> element has no attributes.

Child elements

The <PackageData> element has the following child elements:

Child Element প্রয়োজন? টাইপ বর্ণনা
<BreakfastIncluded> Optional boolean Specifies whether this package includes breakfast with the rate. Valid values are 0 (or false ) and 1 (or true ).

It is preferred that you use <Meals> instead of <BreakfastIncluded> .

<ChargeCurrency> Optional enum When and where the user pays for a booking. This element uses the same syntax as <ChargeCurrency> in a <Result> .

The default value is web .

<CheckinTime> Optional Time Earliest possible check-in time. Time must be less than 24:00 in the local time of the hotel.
<CheckoutTime> Optional Time Latest possible check-out time in the local time of the hotel.
<Description> Optional Object A detailed description of the package. This element should contain information not described by other elements or the <Name> element. You shouldn't use all capital letters when specifying the description of the room.

The <Description> element takes a single child element, <Text> , which has two required attributes, text and language . The text attribute is the description, and the language attribute specifies a two-letter language code, as the following example shows:

<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 If a package includes internet access at no charge, while other packages wouldn't include that amenity. Don't set this element for Room Bundles in a hotel that provides free internet to all rooms. This element does not apply to in-room wired internet or wireless internet that is not available in guest rooms. Valid values are 0 (or false ) and 1 (or true ).
<Meals> Optional Object Contains information about meals in this package.

The <Meals> element takes two optional child elements, <Breakfast> and <Dinner> , which have the following attributes:

  • included (required): Set to 1 (or true ) if the rate includes breakfast/dinner; otherwise set to 0 or false .
  • in_room (optional): Set to 1 (or true ) if guests have the option to have breakfast/dinner in the room they stay in; otherwise set to 0 (or false ).
  • in_private_space (optional): Set to 1 (or true ) if guests have the option to have breakfast/dinner in a space (except the room they stay in) where they can avoid contact with other guests; otherwise set to 0 (or false ).
  • buffet (optional): Set to 1 (or true ) if breakfast/dinner is served as a buffet; otherwise set to 0 (or false ).

The optional attributes are used only when included is true.

For meal filters ( no meals , breakfast only , dinner only , and breakfast and dinner ) to work, both <Breakfast> and <Dinner> need to be provided with the included attribute.

<Name> Required string The name of the package. This value should match what appears on the hotel's landing page. Don't set the value of this element to all capital letters.

This element takes a single child element, <Text> , which has two attributes, text and language . The text attribute is the description, and the language attribute specifies a two-letter language code, as the following example shows:

<Name>
  <Text text="Bed and Breakfast" language="en"/>
  <Text text="Lit et petit déjeuné" language="fr"/>
</Name>
<Occupancy> Optional integer The maximum number of guests that a Room Bundle is intended for . For example, a large suite might be able to physically accommodate 6 guests, but is intended for up to 4 guests only.

This value must be less than or equal to the <Capacity> element, which is the number of people that the room can physically accommodate.

The value of <Occupancy> must be a positive integer between 1 and 99, inclusive.

If you specify this element in both <RoomBundle> and <PackageData> , the value in <RoomBundle> takes precedence.

দ্রষ্টব্য :

<Occupancy> may be accompanied by <OccupancyDetails> ,which specifies the type of guests (adults or children). Refer to <OccupancyDetails> for syntax and description of child elements.
<PackageID> Required string

The unique ID for the package. Use this ID to match the Room Bundle data with the <Result> blocks in your pricing updates. For more information, refer to Room Bundle metadata .

(You can also use this ID to reference a common Room Bundle definition used in a single Transaction message when defining Room Bundle data inline.)

<ParkingIncluded> Optional boolean Whether a Room Bundle includes parking at no charge, where parking would otherwise be a paid service at this hotel. Don't specify a value for this element for a hotel that offers free parking.

Valid values are 0 (or false ) and 1 (or true ). ডিফল্ট মান false

<PhotoURL> Optional Object (Same as <PhotoURL> in <RoomData> , but for the package (eg meal photos).)
<Refundable> Optional Object Enables listing a rate as being fully refundable or providing a free cancellation. If not provided, no information about a refund is displayed. A refund policy at the <PackageData> level overrides the refund policy at the <Result> level. A refund policy at the <Rates> level overrides the refund policy at the <PackageData> level. Refundable pricing can also be highlighted to users through alternative options without directly modifying your transaction message schema. Learn more about these options Refundable rates policy .

The following example shows the <Refundable> element with all of its attributes set:

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

Note: We recommend setting all of the attributes. A feed status warning message is generated when one or more attributes are not set.

If you don't set any attributes, the rate does not display as refundable. গুণাবলী হল:

  • available : (Required) Set to 1 or true to indicate if the rate allows a full refund; otherwise set to 0 or false .
  • refundable_until_days : (Required if available is true ) Specifies the number of days in advance of check-in that a full refund can be requested. The value of refundable_until_days must be an integer between 0 and 330, inclusive.
  • refundable_until_time : (Highly recommended if available is true ) Specifies the latest time of day, in the local time of the hotel, that a full refund request will be honored. This can be combined with refundable_until_days to specify, for example, that "refunds are available until 4:00PM two days before check-in". If refundable_until_time isn't set, the value defaults to midnight.

    The value of this attribute uses the Time format.

When setting the attributes, note the following:

  • If available or refundable_until_days isn't set, the rate does not display as refundable.
  • If available is 0 or false , the other attributes are ignored. The rate does not display as refundable even if one or both of the other attributes is set.
<MembershipBenefits Included> Optional boolean Rate includes elite status benefits for duration of stay. Includes the following parameters:
  • ProgramName : Name of the elite status program
  • ProgramLevel : Level of the program. For example: "Gold."
  • NightlyValue (optional) : Nightly value of the benefits.
<CarRentalIncluded> Optional boolean Rate includes free car rental for duration of stay.
<MilesIncluded> > Optional boolean Rate includes frequent flyer miles. পরামিতি অন্তর্ভুক্ত:
  • NumberofMiles : Number of miles per itinerary.
  • Provider : Frequent flyer miles provide.
<OnPropertyCredit> Optional boolean Rate includes on-property credit (F&B, resort, spa, etc). পরামিতি:
  • Amount : The value of the credit per itinerary, in local currency.
<AirportTransportationIncluded> Optional Object Rate includes free transportation to/from a nearby airport. The optional direction attribute specifies the directionality of the transportation. বৈধ মান অন্তর্ভুক্ত:
    from : Transportation is provided from the airport to the property. This is the default value if no direction is specified. to : Transportation is provided to the airport from the property. round_trip : Transportation is provided both to and from the airport.

উদাহরণ

Single room bundle

The following example defines a single Room Bundle, with an occupancy of 2 (one adult and one child) and includes breakfast:

<?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>

Room and package metadata

The following example defines room and package metadata:

<?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>

Multiple room bundles

The following example defines room and package metadata for multiple Room Bundles:

<?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>


Room bundle with rates

The following example defines room and package metadata for a Room bundle with rate features:

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

Meals & photos

The following example defines room and package metadata for meals, photos, and check-in and check-out times:

<?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>

A container for pricing and availability updates in a <Transaction> message.

The <Result> element appears in the following place in the Transaction message XML hierarchy:

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

Use <Result> to set or update room prices and define available inventory. Items defined in this element typically reference itinerary-independent metadata about a room or package (such as a description or set of amenities) defined in <PackageData> and <RoomData> .

You typically send Transaction messages with pricing updates very frequently. Exactly how and how often you do this depends on your delivery mode .

You can use <Result> in a Transaction message to remove itineraries, as described in Removing Inventory . For more information about using Transaction messages to update prices and availability, Adding and Updating Inventory .

A single Transaction message can include any number of <Result> elements in it, as long as the size of the message does not exceed 100MB.

সিনট্যাক্স

The <Result> element uses the following syntax:

<?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>

গুণাবলী

The <Result> element has the following attributes:

বৈশিষ্ট্য প্রয়োজন? টাইপ বর্ণনা
mergeable Optional boolean By default, new prices for a specific hotel and itinerary pair will overwrite any previous (non-expired) prices present in Google's cache. The mergeable attribute lets you store additional prices to Google's cache without deleting previous pricing information. Live Pricing Query with Context responses will always have this attribute set to true (regardless of your transaction message response).

Child elements

The <Result> element has the following child elements:

Child Element প্রয়োজন? টাইপ বর্ণনা
<AllowablePointsOfSale> Optional Object One or more landing pages that are eligible for the hotel. A landing page is a website that can handle the booking process for the end-user. To explicitly include certain landing page (and exclude others), add one or more <AllowablePointsOfSale> elements that match the <PointOfSale> element's id attribute in the landing pages file.

If you don't include this element, all landing pages defined in the landing pages file are considered eligible to be used for booking the room. For more information, refer to Landing Pages File Syntax .

<Baserate> Optional float

The price of the room for the stay. The value of this element should reflect the following:

  • For a private room, set the least expensive double-occupancy rate that you offer. Higher occupancies are allowed here if you don't have a double-occupancy rate and your account has non-double occupancy rates enabled. Please contact us to enable non-double occupancy rates. Single occupancy rates are not allowed here—they must be set under <Rates> .
  • For a shared room, leave empty and use <RoomBundle> .
  • This value should be the total base price for all nights, not the average nightly rate.

When the room is unavailable for the itinerary, <Baserate> should either be omitted or set to -1 , and <Unavailable> should be specified, along with any known reasons for the unavailability.

To remove a Room Bundle, use the instructions in Removing a Room Bundle .

The <Baserate> must not contain any digit grouping symbols, such as a comma (,) or period (.). Always separate fractions using a period (.) as the decimal mark. For example, represent $1,200.40 as:

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

The <Baserate> element takes the following optional attributes:

  • all_inclusive : A Boolean that indicates if this rate includes taxes and fees. In general, set this value to false for US and Canadian end-users and supply values for the <Tax> and <OtherFees> elements. If you use all-inclusive prices, you may not be eligible to appear in the listings if your prices don't separate out taxes and fees for Canadian users.

    All-inclusive prices are now shown to US users.

    For all other end-users, you typically include the taxes and fees in the base rate and set the value of the all_inclusive attribute to true . For more information, refer to Taxes and Fees Policy .

    ডিফল্ট মান false

  • currency : The three-letter currency code . For example, USD for US dollars.
<ChargeCurrency> Optional enum When and where the user pays for a booking. This element can be used in a Transaction message in the <Result> element for the Hotel Price or <PackageData> block for a Room Bundle.

বৈধ মান হল:

  • web : The user is charged online at the time of booking. এটি ডিফল্ট মান। The actual landing page is defined by the landing page file , and can be affected by the user's currency, location, language, or other factors.
  • hotel : The user is charged when checking in at the hotel. If payment must always be made in the hotel's currency, set the value of <ChargeCurrency> to hotel . The actual landing page is not affected by the user's currency.
  • deposit : The user is charged some portion immediately and the remainder is charged at a later point in time, typically when the user checks out of the hotel.
  • installments : The user is charged an initial fraction of the total sum due and is expected to routinely pay a set balance over a fixed period of time.

The default value is web .

<Checkin> Required Date The check-in date for an itinerary using the Date format. The combination of the <Nights> element and the <Checkin> element make up an itinerary.
<Custom[1‑5]> Optional string Defines a custom field that you can use to pass additional data associated with a hotel. You can pass up to five custom values with the following element names:
  • <Custom1>
  • <Custom2>
  • <Custom3>
  • <Custom4>
  • <Custom5>

The <Custom> elements let you pass arbitrary data. For example, you can specify a value in this field that will then be used by the landing pages file to construct a custom URL for a landing page. There is a limit of 200 characters per custom field. For more information, refer to landing page files .

<Custom> elements provided in the <Rate> element are not inherited to the <RoomBundle> element. You should define <Custom> attribute separately in each <RoomBundle> .

<ExpirationTime> Optional DateTime The date and time at which the price is considered expired (3 hours minimum).

We recommend that you don't provide expiration timestamps if it isn't critical to your pricing structure.

Google doesn't serve any prices that are expired, and any itinerary that has an expired price will become eligible for Live Pricing Querying .

<Nights> Required integer The number of nights for an itinerary. The value of the <Nights> element must be a positive integer. The combination of <Nights> and <Checkin> make up an itinerary.
<OtherFees> Optional float Fees other than the base rate and taxes that influence the final price of a room. The <OtherFees> element takes a single required attribute, currency , that defines the three-letter currency code for the fees. For example, USD .

The <OtherFees> element is required if <Baserate> is greater than zero.

<Occupancy> Optional integer Specifies the maximum allowed occupants for this rate. When <Occupancy> appears directly under <Result> , it must specify 2 or more. <Occupancy> may be accompanied by <OccupancyDetails> , which specifies the type of guests (adults or children). If guest types are not specified, they are assumed to be adults. Consult <OccupancyDetails> for syntax and description of child elements. If the <Occupancy> element is not provided, occupancy is defaulted as 2 .

Note: Contact your support team to enable the feature to send non-double occupancy prices.

<PackageID> Optional string The unique ID of the package to map it to predefined package data. Also used to populate the PACKAGE-ID landing page variable. For more information, refer to Room Bundle metadata .
<Property> Required string The ID of a hotel affected by the associated data (price, itinerary, Room Bundle, or metadata). The value of this element must be a string. The value of this element must match the listing <id> that you defined in your Hotel List Feed.
<Rates> Optional <Rates> A container for one or more <Rate> blocks. Each <Rate> in <Rates> defines a different price for the room/itinerary combination.

Use the <Rates> element when there are multiple rates for the same room/itinerary combination or when a rate is not allowed to be specified at the <Result> level. For example, you define multiple rates for conditional rates , private rates , conditional rates in Room Bundles , or different occupancies.

Note: Within <Result> , single-occupancy rates can only be specified in <Rates> . Please contact us to allow non-double occupancy prices.

<Refundable> Optional Object Enables listing a rate as being fully refundable or providing a free cancellation. If not provided, no information about a refund is displayed. A refund policy at the <PackageData> level overrides the refund policy at the <Result> level. A refund policy at the <Rates> level overrides the refund policy at the <PackageData> level. Refundable pricing can also be highlighted to users through alternative options without directly modifying your transaction message schema. Learn more about Refundable rates policy .

The following example shows the <Refundable> element with all of its attributes set:

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

Note: We recommend setting all of the attributes. A feed status warning message is generated when one or more attributes are not set.

If you don't set any attributes, the rate does not display as refundable. গুণাবলী হল:

  • available : (Required) Set to 1 (or true ) to indicate if the rate allows a full refund; otherwise set to 0 (or false ).
  • refundable_until_days : (Required if available is true ) Specifies the number of days in advance of check-in that a full refund can be requested. The value of refundable_until_days must be an integer between 0 and 330, inclusive.
  • refundable_until_time : (Highly recommended if available is true ) Specifies the latest time of day, in the local time of the hotel, that a full refund request will be honored. This can be combined with refundable_until_days to specify, for example, that "refunds are available until 4:00PM two days before check-in". If refundable_until_time isn't set, the value defaults to midnight.

    The value of this attribute uses the Time format.

When setting the attributes, note the following:

  • If available or refundable_until_days isn't set, the rate does not display as refundable.
  • If available is 0 (or false ), the other attributes are ignored. The rate does not display as refundable even if one or both of the other attributes is set.
<RoomBundle> Optional <RoomBundle> A container for information on priced physical descriptions of a room, any packaging of amenities, and some purchase policy details for the given hotel and itinerary.

In general, use this element to define pricing for the base room and different types of rooms within the same property. While it is possible to define Room Bundle descriptions inline, you should use a separate Transaction message to define that information. Google will store metadata so that you can reference it, rather than repeat it, in all future pricing updates.

<RoomID> Optional string The unique ID of the room to map it to predefined room data. Also used to populate the PARTNER-ROOM-ID landing page variable. For more information, refer to Room Bundle metadata .
<Tax> Optional float The taxes that are calculated for the final price of a room. The <Tax> element takes a single required attribute, currency , that defines the three-letter currency code for the taxes. For example, USD . The <Tax> element is required if <Baserate> is greater than zero.

If <Baserate> element's "all_inclusive" attribute is explicitly set to true, then setting this value is optional.

<Unavailable> Optional Object Indicates that the itinerary is unavailable for booking. Serves as a container for more detailed reasons why the itinerary was unavailable. One or more of the following unavailability reasons may be nested underneath the <Unavailable> tag:
  • <NoVacancy/> : No more rooms are available for sale for one or more nights of the stay.
  • <MinNightStay value=N/> : The itinerary was below the minimum night stay of N for the stay dates.
  • <MaxNightStay value=N/> : The itinerary was above the maximum night stay of N for the stay dates.
  • <MinAdvancePurchase value=N/> : The itinerary was below the minimum advance booking window of N for the stay dates.
  • <MaxAdvancePurchase value=N/> : The itinerary was above the maximum advance booking window of N for the stay dates.
  • <ClosedToArrival/> : The property does not allow check-in on the itinerary's arrival date.
  • <ClosedToDeparture/> : The property does not allow check-out on the itinerary's departure date.
  • <PropertyClosed first_open="YYYY-MM-DD" first_closed="YYYY-MM-DD"/> : The property is closed for some or all of the stay. Recommended attributes first_open and first_closed specify the first dates greater than or equal to the arrival date for which the property is open or closed, respectively. For a property that closes after the arrival date, first_open should be equal to the arrival date, and first_closed should be the date on which the property closes. For a property that is closed on the arrival date, first_closed should be equal to the arrival date, and first_opened should be the next date on which the property is open.
  • <NotFetched/> : A price for the itinerary was not provided by downstream data sources.
  • <InvalidProperty/> : The requested property identifier was not recognized.
  • <InvalidOccupancy/> : The requested occupancy is not supported by the property.
  • <PriceIssue/> : An issue with the price caused it to not be sent.
  • <InternalError reason=""/> : Some unenumerated error occurred. Optional reason attribute can report the error as text.
  • <OtherRestriction restriction=""/> : The itinerary was not available due to some unenumerated booking restriction. Optional restriction attribute allows reporting the restriction as text.

উদাহরণ

Multi-property example

The following example defines one itinerary and its pricing for two properties:

<?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>

Not shown in this example are details about the room, such as a description, a picture and caption, the room's name, and its capacity.

You can define that information once in a separate Transaction message that Google stores. You can then reference it in all subsequent pricing and inventory updates. For more information, refer to Room Bundle metadata .

Multi-rate example

The following example defines a single itinerary and property with multiple rates for various occupancies. The <Rates> element can be utilized to provide multi-rate pricing for a specific property. The following example is also useful for Vacation Rental (VR) properties:

<?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>

Unavailable example

The following example defines one itinerary whose availability couldn't be retrieved from downstream channels, a second that is both below the minimum night stay and already booked for the specified dates, and a third whose property is closed on the arrival date, but that opens during the course of the stay:

<?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>

A container for one or more <Rate> blocks. Each <Rate> in <Rates> defines a different price for the room or itinerary combination.

Use the <Rates> element only when there are multiple rates for the same room or itinerary combination. For example, you define multiple rates for conditional rates , private rates , or conditional rates in Room Bundles .

The <Rates> element appears in the following place in the Transaction message XML hierarchy:

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

Values set in a <Rate> override pricing-related values on the parent <Result> or <RoomBundle> element. If they are not set in <Rate> , they inherit their value from the parent element. Only <AllowablePointsofSale> is inherited to the <RoomBundle> element.

সিনট্যাক্স

The <Rates> element uses the following syntax:

<?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>

গুণাবলী

The <Rates> element has the following attributes:

বৈশিষ্ট্য প্রয়োজন? বর্ণনা
rate_rule_id Optional For conditional rates , this ID matches a rate to a definition in your Rate Rule Definition file. The character limit for this field is 40 characters.

Child elements

The <Rates> element has the following child elements:

Child Element প্রয়োজন? টাইপ বর্ণনা
<AllowablePointsOfSale> Optional Object One or more landing pages that are eligible for the hotel. This element uses the same syntax as the <AllowablePointsOfSale> on <Result> .
<Baserate> Required float The price of the room for the stay. This element uses the same syntax as the <Baserate> on <Result> .

Note: The <Baserate> child element under <Rate> cannot be defined as being unavailable.

<ChargeCurrency> Optional enum When and where the user pays for a booking. This element uses the same syntax as a <ChargeCurrency> in a <Result> .
<Custom[1‑5]> Optional string Custom fields that you can use to pass additional data associated with a hotel to a landing page. This element uses the same syntax as a <Custom[1‑5]> in a <Result> . There is a limit of 200 characters per custom field. For more information, refer to landing page files .

If <Custom> elements are provided in the <Result> element, then they are not inherited in the <RoomBundle> element and should be defined separately for each <RoomBundle> or it can be included in <PackageData> if needed.

<ExpirationTime> Optional DateTime The date and time at which the rate is considered expired. This element uses the same syntax as an <ExpirationTime> in a <Result> .
<Occupancy> Optional integer

Specifies the maximum allowed occupants for this rate. If not specified, it is assumed to be the same as parent rate. <Occupancy> may be accompanied by <OccupancyDetails> , which specifies the type of guests (adults or children). Consult <OccupancyDetails> for syntax and description of child elements.

<OtherFees> Required float Fees other than the base rate and taxes that influence the final price of a room. This element uses the same syntax as <OtherFees> in a <Result> .

If <Baserate> element's "all_inclusive" attribute is explicitly set to true, then setting this value is optional.

<Refundable> Optional Object Enables listing a rate as being fully refundable or providing a free cancellation. If not provided, no information about a refund is displayed. A refund policy at the <PackageData> level overrides the refund policy at the <Result> level. A refund policy at the <Rates> level overrides the refund policy at the <PackageData> level. Refundable pricing can also be highlighted to users through alternative options without directly modifying your transaction message schema. Learn more about these options Refundable rates policy .

The following example shows the <Refundable> element with all of its attributes set:

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

Note: We recommend setting all of the attributes. A feed status warning message is generated when one or more attributes are not set.

If you don't set any attributes, the rate does not display as refundable. গুণাবলী হল:

  • available : (Required) Set to 1 (or true ) to indicate if the rate allows a full refund; otherwise set to 0 (or false ).
  • refundable_until_days : (Required if available is true ) Specifies the number of days in advance of check-in that a full refund can be requested. The value of refundable_until_days must be an integer between 0 and 330, inclusive.
  • refundable_until_time : (Highly recommended if available is true ) Specifies the latest time of day, in the local time of the hotel, that a full refund request will be honored. This can be combined with refundable_until_days to specify, for example, that "refunds are available until 4:00PM two days before check-in". If refundable_until_time isn't set, the value defaults to midnight.

    The value of this attribute uses the Time format.

When setting the attributes, note the following:

  • If available or refundable_until_days isn't set, the rate does not display as refundable.
  • If available is 0 (or false ), the other attributes are ignored. The rate does not display as refundable even if one or both of the other attributes is set.
<Tax> Required float The taxes that are calculated for the final price of a room. This element uses the same syntax as the a <Tax> in a <Result> .

উদাহরণ

Base rate and conditional rate

The following example shows a Transaction message that contains a base rate and a conditional rate :

<?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>

Multiple conditional rates

The following example defines a base rate and multiple conditional rates within a <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>

Defines pricing and availability for Room Bundles as a child of <Result> in a <Transaction> message. Define a separate element for each package or itinerary combination. To define the package and terms of the Room Bundles, use <RoomData> .

The <RoomBundle> element appears in the following place in the Transaction message XML hierarchy:

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

For more information, refer to Using Room Bundles .

সিনট্যাক্স

The <RoomBundle> element uses the following syntax:

<?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>

গুণাবলী

The <RoomBundle> element has no attributes.

Child elements

The <RoomBundle> element has the following child elements:

Child Element প্রয়োজন? টাইপ বর্ণনা
<Baserate> Required float Defines the price of the Room Bundle for the stay. This element uses the same syntax as <Baserate> in <Result> , with the following exception:
  • When the room is unavailable for the itinerary, remove the <RoomBundle> element to indicate that a room is no longer in inventory. For more information, refer to Removing a Room Bundle .
<BreakfastIncluded> Optional boolean Specifies whether this Room Bundle includes breakfast with the rate.
<ChargeCurrency> Optional enum When and where the user pays for a booking. This element uses the same syntax as <ChargeCurrency> in a <Result> .

The default value is web .

<Custom[1‑5]> Optional string Custom fields for passing additional data to the landing pages for the Room Bundle. These elements use the same syntax as <Custom[1-5]> in <Result> . There is a limit of 200 characters per custom field. For more information, refer to landing page files . Custom variables are listed only when you send the prices in the Transaction message.

If <Custom> elements are provided in the <Result> element, then they are not inherited in the <RoomBundle> element and should be defined separately for each <RoomBundle> or it can be included in <PackageData> if needed.

<InternetIncluded> Optional boolean If a Room Bundle includes internet access at no charge, while other bundles wouldn't include that amenity. Don't set this element for Room Bundles in a hotel that provides free internet to all rooms. This element does not apply to in-room wired internet or wireless internet that is not available in guest rooms.
<Occupancy> Required integer Specifies the maximum allowed occupants for this rate. For example, a large suite might be able to physically accommodate 6 guests, but the "Honeymoon Package" allows 2 guests only.

This value must be less than or equal to the <Capacity> , which is the number of people that the room can physically accommodate.

When defining occupancy in your landing page URL, use the NUM-ADULTS and NUM-CHILDREN variables, as described in Using Variables and Conditions . The default value is 2 adults and 0 children.

The value of <Occupancy> must be a positive integer between 1 and 99, inclusive.

নোট :

  • <Occupancy> for <RoomBundle> is strongly recommended so flagged as required and if omitted will throw a 1097 error.
  • <Occupancy> comes from the data object in this order: <RoomBundle> , <PackageData> , and then = <RoomData> . If there is no value present in any of these, the value defaults to 2.
  • <Occupancy> may be accompanied by <OccupancyDetails> , which specifies the type of guests (adults or children). If guest types are not specified, they are assumed to be adults. Consult <OccupancyDetails> for syntax and description of child elements.
  • When you set <Occupancy> in both <RoomBundle> and <PackageData> , the value in <RoomBundle> takes precedence.
<OtherFees> Required float Fees other than the base rate and taxes that influence the final price of a room. The <OtherFees> element takes a single required attribute, currency , that defines the three-letter currency code for the fees. For example, use USD for US dollars.
<PackageID> Optional (recommended) string The unique ID for the package data. Use this ID to match the Room Bundle data with what was sent in <PackageData> . For more information, refer to Room Bundle metadata . (You can also use this ID to reference a common Room Bundle definition used in a single Transaction message when defining Room Bundle data inline.)
<ParkingIncluded> Optional boolean Whether a Room Bundle includes parking at no charge, where parking would otherwise be a paid service at this hotel. Don't specify a value for this element for a hotel that offers free parking.

Valid values are 0 (or false ) and 1 (or true ). ডিফল্ট মান false

<RatePlanID> Optional string The Rate Plan ID represents the unique identifier for a room and package combination. For example, given a <RoomID> value of 5 and a <PackageID> value of ABC, you could use a value of 5-ABC for <RatePlanID> . We strongly recommend using RatePlanID as a variable to build your dynamic landing page (formerly Point of Sale) URL.

For more information, refer to Using Variables and Conditions .

<Rates> Optional <Rates> Rates that override the defaults for this Room Bundle. This element uses the same syntax as <Rates> in <Result> .
<Refundable> Optional Object Enables listing a rate as being fully refundable or providing a free cancellation. If not provided, no information about a refund is displayed. A refund policy at the <PackageData> level overrides the refund policy at the <Result> level. A refund policy at the <Rates> level overrides the refund policy at the <PackageData> level. Refundable pricing can also be highlighted to users through alternative options without directly modifying your transaction message schema. Learn more about these options Refundable rates policy .

The following example shows the <Refundable> element with all of its attributes set:

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

Note: We recommend setting all of the attributes. A feed status warning message is generated when one or more attributes are not set.

If you don't set any attributes, the rate does not display as refundable. গুণাবলী হল:

  • available : (Required) Set to 1 (or true ) to indicate if the rate allows a full refund; otherwise set to 0 (or false ).
  • refundable_until_days : (Required if available is true ) Specifies the number of days in advance of check-in that a full refund can be requested. The value of refundable_until_days must be an integer between 0 and 330, inclusive.
  • refundable_until_time : (Highly recommended if available is true ) Specifies the latest time of day, in the local time of the hotel, that a full refund request will be honored. This can be combined with refundable_until_days to specify, for example, that "refunds are available until 4:00PM two days before check-in". If refundable_until_time isn't set, the value defaults to midnight.

    The value of this attribute uses the Time format.

When setting the attributes, note the following:

  • If available or refundable_until_days isn't set, the rate does not display as refundable.
  • If available is 0 (or false ), the other attributes are ignored. The rate does not display as refundable even if one or both of the other attributes is set.
<RoomID> Required string The unique ID for the room data. Use this ID to match the Room Bundle data with what you sent in <RoomData> . For more information, refer to Room Bundle metadata . (You can also use this ID to reference a common room definition in a single Transaction message when defining room data inline.)
<Tax> Required float The taxes that are calculated for the final price of a room. The <Tax> element takes a single required attribute, currency , that defines the three-letter currency code for the taxes. For example, use USD for US dollars.

উদাহরণ

Single occupancy bundle

The following example defines a response with a single occupancy bundle. When a user selects 1 in the Occupancy picker, Google displays the lowest eligible price regardless of occupancy.

If a single occupancy price is not available, then Google will show the lowest double-occupancy price. Note that single occupancy prices are not live queried if double-occupancy or more prices are cached for an itinerary.

This example references predefined room and package metadata with the <RoomID> and <PackageID> elements. Use the <RoomData> and <PackageData> elements to define that information.

<!-- 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>


Two or more occupancies

The following example defines a response containing two or more occupancies.

This example references predefined room and package metadata with the <RoomID> and <PackageID> elements. Use the <RoomData> and <PackageData> elements to define that information.

<!-- 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>


Multiple room bundles

The following example sets Occupancy in multiple Room bundles to demonstrate possible hostel room pricing.

<?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>

Multiple Conditional rates

The following example defines a base rate and multiple conditional rates within a <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> in a transaction message specifies the maximum number of guests for a room or package. <OccupancyDetails> can contain additional information such as the number and type of guests (adults or children).

When <Occupancy> and <OccupancyDetails> appear within the <Rates> element of <Result> or <RoomBundle> , it means that the rate is constrained by the occupancy details.

সিনট্যাক্স

When <OccupancyDetails> appears, it is always preceded by <Occupancy> . Note the following syntax:

<?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>

Child elements

The <OccupancyDetails> element has the following child elements:

Child Element প্রয়োজন? টাইপ বর্ণনা
<NumAdults> Required integer The number of adult guests. Min:1, Max:20.
<Children> Optional Object A container for one or more <Child> elements.
<Child age> Optional integer The maximum age for this Child—for example, <Child age="17"> .

উদাহরণ

The following examples show how <OccupancyDetails> may appear within <Results> , <RoomBundle> , or the <Rates> child element.

Result response

The following example defines one itinerary and its pricing for one property in response to a Live Pricing Query where the user specified the number and types of guests. Here, the <OccupancyDetails> -- 2 adults and one child -- are returned in <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>

Rates response

The following example defines one itinerary and its pricing for 1 adult and 1 child. Here, the <OccupancyDetails> are returned in the <Rates> element of <Result> .

<?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>

Room bundle

The following example defines an occupancy of 2 adults and 1 child for two nights, with a refundable rate. Here, the <OccupancyDetails> appear inside <RoomBundle>

<?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>

Multiple room bundles

The following example defines multiple <RoomBundle> rates that are restricted to an occupancy of 2 adults and 2 children. Here, the <OccupancyDetails> appear in the <Rates> element of <RoomBundle> .

<?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>