कीमत और रूम इन्वेंट्री (ट्रांज़ैक्शन) एक्सएमएल रेफ़रंस

यह पृष्ठ XML-आधारित लेन-देन संदेशों के लिए संदर्भ प्रदान करता है.

<Transaction>

लेन-देन संदेश का मूल तत्व <Transaction> है. यह कमरों और पैकेजों के बारे में वर्णनात्मक जानकारी तथा कमरों और पैकेजों की कीमत और उपलब्धता के लिए एक कंटेनर है.

<Transaction> तत्व लेन-देन संदेश XML पदानुक्रम में निम्न स्थान पर दिखाई देता है:

+ <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 वह पार्टनर खाता जिसके लिए लेन-देन की जानकारी देने वाला मैसेज भेजा गया है. आम तौर पर, इसका इस्तेमाल तब किया जाता है, जब आपका बैकएंड कई पार्टनर खातों के लिए कीमत की जानकारी वाले फ़ीड उपलब्ध कराता है. यह स्ट्रिंग वैल्यू, Hotel Center में खाते की सेटिंग वाले पेज पर मौजूद "पार्टनर की" वैल्यू होती है.
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>
    <MilesIncluded>
      <NumberOfMiles>1200</NumberOfMiles>
      <Provider>
        <Text language="en" text="United Airlines"/>
      </Provider>
      <LoyaltyCampaignID>my_campaign</LoyaltyCampaignID>
    </MilesIncluded>
  </Result>
</Transaction>

रात्रिकालीन दरें

इस उदाहरण में, 7 जून, 2023 से शुरू होने वाली एक से सात रातों के लिए, किराये का डेटा दिखाया गया है:

<?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>
      </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), लेकिन उसे सिर्फ़ चार मेहमानों के लिए बनाया गया है.

यह मान <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 और language. text विशेषता कैप्शन है, और 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>

इससे कमरे में मौजूद सुविधाओं के बारे में पता चलता है.

<RoomFeatures> तत्व लेन-देन संदेश XML पदानुक्रम में निम्न स्थान पर दिखाई देता है:

+ <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> (ज़रूरी नहीं): इससे बिस्तर की चौड़ाई के बारे में पता चलता है. इसमें unit एट्रिब्यूट की वैल्यू cm होनी चाहिए. साथ ही, number एट्रिब्यूट की वैल्यू, बेड की चौड़ाई के हिसाब से पूर्णांक सेंटीमीटर में होनी चाहिए.
  • <Length> (वैकल्पिक): बिस्तर की लंबाई निर्दिष्ट करता है. विशेषता unit का मान cm होना चाहिए और विशेषता 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>

दो डबल बेड

यहां western स्टाइल वाले जापानी कमरे का उदाहरण दिया गया है. इसमें दो double बेड हैं.

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

बिस्तर के साथ जापानी पश्चिमी

निम्नलिखित king आकार के बिस्तर वाले 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>
        <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> एलिमेंट, लेन-देन के मैसेज की एक्सएमएल हैरारकी में यहां दिखता है:

+ <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>integer</NumberOfMiles>
        <Provider>
          <Text language="en" text="provider-name">
        </Provider>
        <!-- Add Loyalty point information -->
        <LoyaltyCampaignID>campaign_ID</LoyaltyCampaignID>
      </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 और language होते हैं. text एट्रिब्यूट, ब्यौरा है. साथ ही, 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 और language. text एट्रिब्यूट, ब्यौरा है. साथ ही, language एट्रिब्यूट, दो अक्षरों वाला भाषा का कोड बताता है. उदाहरण के लिए:

<Name>
  <Text text="Bed and Breakfast" language="en"/>
  <Text text="Lit et petit déjeuné" language="fr"/>
</Name>
<Occupancy> Optional integer कमरे के बंडल में कितने मेहमानों के लिए जगह है. उदाहरण के लिए, किसी बड़े सुइट में छह मेहमानों के ठहरने का इंतज़ाम हो सकता है, लेकिन उसे सिर्फ़ चार मेहमानों के लिए बनाया गया है.

यह वैल्यू, <Capacity> एलिमेंट की वैल्यू से कम या उसके बराबर होनी चाहिए. <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:00 बजे तक रिफ़ंड की सुविधा उपलब्ध है". अगर 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: फ़्रीक्वेंट फ़्लायर मील प्रदाता.
  • LoyaltyCampaignID: यह एक यूनीक आईडी है. इससे उस खास लॉयल्टी कैंपेन की पहचान होती है जिसे Google के साथ कॉन्फ़िगर और अपडेट किया गया था. इससे होटल के किराये में लॉयल्टी पॉइंट जुड़ जाते हैं.

    <MilesIncluded> तत्व को शामिल करने के लिए, लॉयल्टी अभियान कॉन्फ़िगरेशन में अभियान आईडी कॉन्फ़िगर की जानी चाहिए. Google परिणामों में लॉयल्टी पॉइंट्स का उपयोग किस प्रकार करता है, इसका विशिष्ट विवरण लॉयल्टी अभियान कॉन्फ़िगरेशन द्वारा निर्धारित किया जाता है.

    <MilesIncluded> एलिमेंट का एक चाइल्ड एलिमेंट <NumberOfMiles> होता है, जो अर्जित अंकों की संख्या की गणना करता है. यदि <NumberOfMiles> सेट नहीं है, तो अर्जित अंक लॉयल्टी अभियान कॉन्फ़िगरेशन द्वारा निर्धारित किए जाते हैं.

    <MilesIncluded>
      <LoyaltyCampaignID>my_campaign</LoyaltyCampaignID>
      <NumberOfMiles>1200</NumberOfMiles>
      <Provider>
        <Text language="en" text="United Airlines">
      </Provider>
    </MilesIncluded>
  • नोट: <NumberOfMiles> और <Provider> वैकल्पिक हैं.

<OnPropertyCredit> Optional boolean किराये में होटल में मिलने वाला क्रेडिट शामिल है. इसका इस्तेमाल खाने-पीने, रिज़ॉर्ट, स्पा वगैरह के लिए किया जा सकता है. पैरामीटर:
  • 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>
        <LoyaltyCampaignID>my_campaign</LoyaltyCampaignID>
      </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> संदेश में मूल्य निर्धारण और उपलब्धता अपडेट के लिए एक कंटेनर.

में दें.

<Result> तत्व लेन-देन संदेश XML पदानुक्रम में निम्न स्थान पर दिखाई देता है:

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

कमरे का किराया सेट करने या अपडेट करने के लिए <Result> का इस्तेमाल करें. साथ ही, उपलब्ध इन्वेंट्री तय करें. इस एलिमेंट में तय किए गए आइटम, आम तौर पर <PackageData> और <RoomData> में तय किए गए कमरे या पैकेज के बारे में यात्रा कार्यक्रम से अलग मेटाडेटा का रेफ़रंस देते हैं. जैसे, जानकारी या सुविधाओं का सेट.

आम तौर पर, कीमत में होने वाले बदलावों के साथ लेन-देन के मैसेज बहुत बार भेजे जाते हैं. यह प्रोसेस कैसे और कितनी बार की जाती है, यह डिलिवरी मोड पर निर्भर करता है.

आप यात्रा कार्यक्रम हटाने के लिए लेन-देन संदेश में <Result> का उपयोग कर सकते हैं, जैसा कि इन्वेंट्री हटाना में बताया गया है. कीमतों और खरीदारी के लिए उपलब्धता की जानकारी अपडेट करने के लिए, लेन-देन के मैसेज इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, इन्वेंट्री जोड़ना और उसे अपडेट करना लेख पढ़ें.

एक एकल लेनदेन संदेश में किसी भी संख्या में <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. -->
    <!-- Child occupancy rates should only be sent through Live pricing
         with context and not through Pull or Changed pricing -->
    <OccupancyDetails>occupancy_info</OccupancyDetails>

    <Rates>...</Rates>

    <RoomBundle>...</RoomBundle>

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

    <MilesIncluded>
      <NumberOfMiles>integer</NumberOfMiles>
      <Provider>
        <Text language="en" text="provider-name">
      </Provider>
      <!-- Add Loyalty point information -->
      <LoyaltyCampaignID>campaign_ID</LoyaltyCampaignID>
    </MilesIncluded>
  </Result>
  ...
  </Transaction>

विशेषताएं

<Result> एलिमेंट में ये एट्रिब्यूट होते हैं:

एट्रिब्यूट ज़रूरी है? टाइप ब्यौरा
mergeable Optional boolean डिफ़ॉल्ट रूप से, किसी विशिष्ट होटल और यात्रा कार्यक्रम जोड़ी के लिए नई कीमतें Google के कैश में मौजूद किसी भी पिछली (गैर-समाप्त) कीमतों को अधिलेखित कर देंगी. मर्ज करने योग्य विशेषता आपको पिछली मूल्य निर्धारण जानकारी को हटाए बिना Google के कैश में अतिरिक्त मूल्य संग्रहीत करने देती है. कॉन्टेक्स्ट के साथ लाइव क्वेरी करने पर मिलने वाले जवाबों में, यह एट्रिब्यूट हमेशा true पर सेट होता है. भले ही, लेन-देन के मैसेज के जवाब में कुछ भी हो.

चाइल्ड एलीमेंट

<Result> एलिमेंट में ये चाइल्ड एलिमेंट होते हैं:

बाल तत्व ज़रूरी है? टाइप ब्यौरा
<AllowablePointsOfSale> Optional Object एक या उससे ज़्यादा ऐसे लैंडिंग पेज जो होटल के लिए ज़रूरी शर्तें पूरी करते हों. लैंडिंग पेज एक वेबसाइट है जो अंतिम उपयोगकर्ता के लिए बुकिंग प्रक्रिया को संभाल सकती है. किसी खास लैंडिंग पेज को स्पष्ट रूप से शामिल करने (और अन्य को बाहर करने) के लिए, लैंडिंग पेज फ़ाइल में <PointOfSale> एलिमेंट की id विशेषता से मेल खाने वाले एक या ज़्यादा <AllowablePointsOfSale> एलिमेंट जोड़ें.

अगर आपने इस एलिमेंट को शामिल नहीं किया है, तो लैंडिंग पेजों की फ़ाइल में तय किए गए सभी लैंडिंग पेजों को, कमरे की बुकिंग के लिए इस्तेमाल किया जा सकता है. ज़्यादा जानकारी के लिए, लैंडिंग पेज फ़ाइल सिंटैक्स देखें.

<Baserate> Optional float

ठहरने के लिए कमरे की कीमत. इस तत्व का मान निम्नलिखित को प्रतिबिंबित करना चाहिए:

  • निजी कमरे के लिए, दो लोगों के रहने का सबसे कम किराया सेट करें. अगर आपके पास दो लोगों के लिए तय किराया नहीं है और आपके खाते में दो लोगों के लिए तय किराया नहीं है, तो यहां ज़्यादा लोगों के लिए तय किराया इस्तेमाल किया जा सकता है. दो लोग नहीं होने पर की गई बुकिंग के लिए किराये की सुविधा चालू करने के लिए, कृपया हमसे संपर्क करें. यहां एक व्यक्ति के लिए किराये की जानकारी देने की अनुमति नहीं है. इसे <Rates> में सेट किया जाना चाहिए.
  • साझा कमरे के लिए, खाली छोड़ दें और <RoomBundle> का उपयोग करें.
  • यह वैल्यू, सभी रातों के लिए कुल मूल किराया होना चाहिए. यह एक रात का औसत किराया नहीं होना चाहिए.

अगर यात्रा की योजना के लिए कमरा उपलब्ध नहीं है, तो <Baserate> को या तो छोड़ दिया जाना चाहिए या -1 पर सेट कर दिया जाना चाहिए. साथ ही, <Unavailable> को सेट किया जाना चाहिए. इसके अलावा, कमरा उपलब्ध न होने की वजहों के बारे में भी बताया जाना चाहिए.

रूम बंडल हटाने के लिए, रूम बंडल हटाना में दिए गए निर्देशों का पालन करें.

<Baserate> में, अंकों के ग्रुप बनाने वाले कोई भी सिंबल नहीं होने चाहिए. जैसे, कॉमा (,) या पीरियड (.). दशमलव के लिए हमेशा पीरियड (.) का इस्तेमाल करके, भिन्नों को अलग करें. उदाहरण के लिए, 1,20,040 रुपये को इस तरह दिखाएं:

<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: होटल में चेक इन करने पर, उपयोगकर्ता से शुल्क लिया जाता है. अगर पेमेंट हमेशा होटल की मुद्रा में करना है, तो <ChargeCurrency> की वैल्यू को hotel पर सेट करें. उपयोगकर्ता की मुद्रा से, असली लैंडिंग पेज पर कोई असर नहीं पड़ता.
  • deposit: इसमें उपयोगकर्ता से कुछ हिस्सा तुरंत ले लिया जाता है और बाकी हिस्सा बाद में लिया जाता है. आम तौर पर, यह तब लिया जाता है, जब उपयोगकर्ता होटल से चेक आउट करता है.
  • installments: उपयोगकर्ता से कुल देय राशि का एक प्रारंभिक अंश लिया जाता है और उससे एक निश्चित समयावधि में एक निश्चित शेष राशि का नियमित रूप से भुगतान करने की अपेक्षा की जाती है.

डिफ़ॉल्ट वैल्यूweb है

<Checkin> Required Date Date फ़ॉर्मैट का इस्तेमाल करके, यात्रा की योजना के लिए चेक-इन की तारीख. <Nights> एलिमेंट और <Checkin> एलिमेंट मिलकर यात्रा की योजना बनाते हैं.
Optional string बंद कर दिया गया: यह एक कस्टम फ़ील्ड तय करता है. इसका इस्तेमाल होटल से जुड़ा अतिरिक्त डेटा पास करने के लिए किया जा सकता है. इन एलिमेंट के नाम के साथ, ज़्यादा से ज़्यादा पांच कस्टम वैल्यू पास की जा सकती हैं:
  • <Custom1>
  • <Custom2>
  • <Custom3>
  • <Custom4>
  • <Custom5>

<Custom> एलिमेंट की मदद से, कोई भी डेटा पास किया जा सकता है. उदाहरण के लिए, इस फ़ील्ड में कोई ऐसी वैल्यू दी जा सकती है जिसका इस्तेमाल लैंडिंग पेज की फ़ाइल, लैंडिंग पेज के लिए कस्टम यूआरएल बनाने के लिए करेगी. हर कस्टम फ़ील्ड में 200 से ज़्यादा वर्ण नहीं होने चाहिए. ज़्यादा जानकारी के लिए, लैंडिंग पेज की फ़ाइलें देखें. <Rate> एलिमेंट में दिए गए <Custom> एलिमेंट, <RoomBundle> एलिमेंट में इनहेरिट नहीं किए जाते हैं. आपको हर <RoomBundle> में <Custom> एट्रिब्यूट को अलग से तय करना होगा.

महत्वपूर्ण: अगर आप CUSTOM वैरिएबल का इस्तेमाल करना चाहते हैं, तो अपने तकनीकी खाता प्रबंधक (TAM) से संपर्क करें.

<ExpirationTime> Optional DateTime वह तारीख और समय जब कीमत को खत्म माना जाता है (कम से कम तीन घंटे).

हम अनुशंसा करते हैं कि यदि यह आपके मूल्य निर्धारण ढांचे के लिए महत्वपूर्ण नहीं है तो आप समाप्ति टाइमस्टैम्प प्रदान न करें.

Google, समयसीमा खत्म हो चुके किसी भी किराये को नहीं दिखाता है. साथ ही, जिस यात्रा की योजना का किराया समयसीमा खत्म हो चुका है वह मौजूदा किराये के बारे में क्वेरी करने की सुविधा इस्तेमाल करने की ज़रूरी शर्तें पूरी करेगी.

<MilesIncluded> Optional boolean किराये में फ़्रीक्वेंट फ़्लायर माइल्स शामिल हैं. पैरामीटर में ये शामिल हैं:
  • NumberOfMiles: हर यात्रा कार्यक्रम के लिए मील की संख्या.
  • Provider: फ़्रीक्वेंट फ़्लायर मील प्रदाता.
  • LoyaltyCampaignID: यह एक यूनीक आईडी है. इससे उस खास लॉयल्टी कैंपेन की पहचान होती है जिसे Google के साथ कॉन्फ़िगर और अपडेट किया गया था. इससे होटल के किराये में लॉयल्टी पॉइंट जुड़ जाते हैं.

    <MilesIncluded> तत्व को शामिल करने के लिए, अभियान आईडी को लॉयल्टी अभियान कॉन्फ़िगरेशन में कॉन्फ़िगर किया जाना चाहिए. Google परिणामों में लॉयल्टी पॉइंट्स का उपयोग किस प्रकार करता है, इसका विशिष्ट विवरण लॉयल्टी अभियान कॉन्फ़िगरेशन द्वारा निर्धारित किया जाता है.

    <MilesIncluded> एलिमेंट में <NumberOfMiles> चाइल्ड एलिमेंट होता है. इससे कमाए गए पॉइंट की संख्या का हिसाब लगाया जाता है. अगर <NumberOfMiles> सेट नहीं किया गया है, तो हासिल किए गए पॉइंट, लॉयल्टी कैंपेन के कॉन्फ़िगरेशन के हिसाब से तय किए जाते हैं.

    <MilesIncluded>
      <LoyaltyCampaignID>my_campaign</LoyaltyCampaignID>
      <NumberOfMiles>1200</NumberOfMiles>
      <Provider>
        <Text language="en" text="United Airlines">
      </Provider>
    </MilesIncluded>
  • नोट: <NumberOfMiles> और <Provider> वैकल्पिक हैं.

<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 लैंडिंग पृष्ठ वैरिएबल को पॉप्युलेट करने के लिए भी किया जाता है. ज़्यादा जानकारी के लिए, रूम बंडल मेटाडेटा देखें.

<Result> तत्व में <PackageID> और <RoomID> को परिभाषित करने के लिए <RoomBundle> को शामिल करना अनिवार्य है. हालाँकि, यह बेहतर होगा कि आप पैकेज और रूम आईडी को <Result> एलिमेंट के बजाय केवल <RoomBundle> एलिमेंट में ही निर्दिष्ट करें.

<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 कमरे का यूनीक आईडी, ताकि उसे पहले से तय किए गए कमरे के डेटा से मैप किया जा सके. इसका इस्तेमाल PARTNER-ROOM-ID लैंडिंग पेज वैरिएबल को भरने के लिए भी किया जाता है. ज़्यादा जानकारी के लिए, कमरे के बंडल का मेटाडेटा देखें.

<Result> तत्व में <PackageID> और <RoomID> को परिभाषित करने के लिए <RoomBundle> को शामिल करना अनिवार्य है. हालाँकि, यह बेहतर होगा कि आप पैकेज और रूम आईडी को <Result> एलिमेंट के बजाय केवल <RoomBundle> एलिमेंट में ही निर्दिष्ट करें.

<Tax> Optional float वे कर जो किसी कमरे की अंतिम कीमत के लिए गणना किये जाते हैं. <Tax> एलिमेंट में एक ज़रूरी एट्रिब्यूट, currency होता है. यह टैक्स के लिए, तीन अक्षरों वाला करंसी कोड तय करता है. उदाहरण के लिए, USD. यदि <Baserate> शून्य से अधिक है, तो <Tax> तत्व आवश्यक है.

अगर <Baserate> तत्व की "all_inclusive" विशेषता स्पष्ट रूप से true पर सेट है, तो यह मान सेट करना वैकल्पिक है.

<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=""/>: कुछ असंख्यांकित त्रुटि हुई. वैकल्पिक कारण विशेषता त्रुटि को पाठ के रूप में रिपोर्ट कर सकती है.
  • <OtherRestriction restriction=""/>: कुछ अनिर्धारित बुकिंग प्रतिबंधों के कारण यात्रा कार्यक्रम उपलब्ध नहीं था. वैकल्पिक प्रतिबंध विशेषता प्रतिबंध को पाठ के रूप में रिपोर्ट करने की अनुमति देती है.

उदाहरण

बहु-संपत्ति उदाहरण

यहां दिए गए उदाहरण में, दो प्रॉपर्टी के लिए यात्रा की एक योजना और उसकी कीमत तय करने का तरीका बताया गया है:

<?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>
    <MilesIncluded>
      <NumberOfMiles>1200</NumberOfMiles>
      <Provider>
        <Text language="en" text="United Airlines"/>
      </Provider>
      <LoyaltyCampaignID>my_campaign</LoyaltyCampaignID>
    </MilesIncluded>
  </Result>
</Transaction>

इस उदाहरण में कमरे के बारे में विवरण नहीं दिखाया गया है, जैसे विवरण, चित्र और कैप्शन, कमरे का नाम और उसकी क्षमता.

आप उस जानकारी को एक बार Google द्वारा संग्रहीत एक अलग लेन-देन संदेश में परिभाषित कर सकते हैं. इसके बाद आप आगामी सभी मूल्य निर्धारण और इन्वेंट्री अपडेट में इसका संदर्भ ले सकते हैं. ज़्यादा जानकारी के लिए, रूम बंडल मेटाडेटा देखें.

बहु-दर उदाहरण

निम्नलिखित उदाहरण में विभिन्न अधिभोगों के लिए एकाधिक दरों के साथ एकल यात्रा कार्यक्रम और संपत्ति को परिभाषित किया गया है. <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> तत्व लेन-देन संदेश XML पदानुक्रम में निम्न स्थान पर दिखाई देता है:

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

<Rate> में सेट किए गए मान, पैरेंट <Result> या <RoomBundle> एलिमेंट पर मूल्य-निर्धारण से जुड़े मानों को ओवरराइड करते हैं. अगर इन्हें <Rate> में सेट नहीं किया गया है, तो ये पैरंट एलिमेंट से अपनी वैल्यू इनहेरिट करते हैं. केवल <AllowablePointsofSale> को <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>
          ...
        <MilesIncluded>
          <NumberOfMiles>integer</NumberOfMiles>
          <Provider>
            <Text language="en" text="provider-name">
          </Provider>
          <LoyaltyCampaignID>campaign_ID</LoyaltyCampaignID>
        </MilesIncluded>
          ...
      </Rate>
      ...
    </Rates>
  </Result>
  ...
</Transaction>

विशेषताएं

<Rates> एलिमेंट में ये एट्रिब्यूट होते हैं:

एट्रिब्यूट ज़रूरी है? ब्यौरा
rate_rule_id Optional सशर्त दरों के लिए, यह आईडी आपकी दर नियम परिभाषा फ़ाइल में किसी परिभाषा से दर का मिलान करती है. इस फ़ील्ड के लिए वर्ण सीमा 40 वर्ण है. यह आईडी खाली स्ट्रिंग नहीं हो सकती.

चाइल्ड एलीमेंट

<Rates> एलिमेंट में निम्नलिखित चाइल्ड एलिमेंट हैं:

बाल तत्व ज़रूरी है? टाइप ब्यौरा
<AllowablePointsOfSale> Optional Object एक या अधिक लैंडिंग पृष्ठ जो होटल के लिए योग्य हैं. यह तत्व <Result> पर <AllowablePointsOfSale> के समान सिंटैक्स का उपयोग करता है.
<Baserate> Required float ठहरने के लिए कमरे का किराया. यह एलिमेंट, <Result> पर मौजूद <Baserate> के जैसा ही सिंटैक्स इस्तेमाल करता है.

ध्यान दें: <Rate> के तहत मौजूद <Baserate> चाइल्ड एलिमेंट को, उपलब्ध नहीं है के तौर पर तय नहीं किया जा सकता.

<ChargeCurrency> Optional enum उपयोगकर्ता बुकिंग के लिए पेमेंट कब और कहां करता है. यह एलिमेंट, <Result> में मौजूद <ChargeCurrency> के जैसा ही सिंटैक्स इस्तेमाल करता है.
Optional string बंद कर दिया गया: कस्टम फ़ील्ड का इस्तेमाल करके, होटल से जुड़ा अतिरिक्त डेटा लैंडिंग पेज पर भेजा जा सकता है. यह एलिमेंट, <Result> में मौजूद <Custom[1‑5]> के सिंटैक्स का इस्तेमाल करता है. हर कस्टम फ़ील्ड में 200 से ज़्यादा वर्ण नहीं होने चाहिए. ज़्यादा जानकारी के लिए, लैंडिंग पेज की फ़ाइलें देखें. अगर <Result> एलिमेंट में <Custom> एलिमेंट दिए गए हैं, तो वे <RoomBundle> एलिमेंट में इनहेरिट नहीं किए जाते हैं. साथ ही, उन्हें हर <RoomBundle> के लिए अलग से तय किया जाना चाहिए. इसके अलावा, अगर ज़रूरत हो, तो उन्हें <PackageData> में शामिल किया जा सकता है.

अहम जानकारी: अगर आपको CUSTOM वैरिएबल का इस्तेमाल करना है, तो अपने टेक्निकल खाता मैनेजर (टैम) से संपर्क करें.

<ExpirationTime> Optional DateTime वह तारीख और समय जब किराये को खत्म माना जाता है. इस एलिमेंट में वही सिंटैक्स इस्तेमाल किया जाता है जो <Result> में <ExpirationTime> के लिए इस्तेमाल किया जाता है.
<MilesIncluded> Optional boolean किराये में फ़्रीक्वेंट फ़्लायर माइल्स शामिल हैं. पैरामीटर में ये शामिल हैं:
  • NumberOfMiles: हर यात्रा कार्यक्रम के लिए मील की संख्या.
  • Provider: फ़्रीक्वेंट फ़्लायर मील प्रदाता.
  • LoyaltyCampaignID: यह एक यूनीक आईडी है. इससे उस खास लॉयल्टी कैंपेन की पहचान होती है जिसे Google के साथ कॉन्फ़िगर और अपडेट किया गया था. इससे होटल के किराये में लॉयल्टी पॉइंट जुड़ जाते हैं.

    <MilesIncluded> तत्व को शामिल करने के लिए, अभियान आईडी को लॉयल्टी अभियान कॉन्फ़िगरेशन में कॉन्फ़िगर किया जाना चाहिए. Google परिणामों में लॉयल्टी पॉइंट्स का उपयोग किस प्रकार करता है, इसका विशिष्ट विवरण लॉयल्टी अभियान कॉन्फ़िगरेशन द्वारा निर्धारित किया जाता है.

    <MilesIncluded> एलिमेंट में <NumberOfMiles> चाइल्ड एलिमेंट होता है. इससे कमाए गए पॉइंट की संख्या का हिसाब लगाया जाता है. अगर <NumberOfMiles> सेट नहीं किया गया है, तो हासिल किए गए पॉइंट, लॉयल्टी कैंपेन के कॉन्फ़िगरेशन के हिसाब से तय किए जाते हैं.

    <MilesIncluded>
      <LoyaltyCampaignID>my_campaign</LoyaltyCampaignID>
      <NumberOfMiles>1200</NumberOfMiles>
      <Provider>
        <Text language="en" text="United Airlines">
      </Provider>
    </MilesIncluded>
  • नोट: <NumberOfMiles> और <Provider> वैकल्पिक हैं.

<Occupancy> Optional integer

इस किराये के हिसाब से, कमरे में रहने वाले लोगों की ज़्यादा से ज़्यादा संख्या के बारे में बताता है. अगर इसे नहीं बताया गया है, तो इसे पैरंट रेट के बराबर माना जाता है. <Occupancy> के साथ <OccupancyDetails> भी हो सकता है. इससे मेहमानों के टाइप (वयस्क या बच्चे) के बारे में पता चलता है. चाइल्ड एलिमेंट के सिंटैक्स और ब्यौरे के लिए, <OccupancyDetails> देखें.

<OtherFees> Required float कमरे के मूल किराये और टैक्स के अलावा, ऐसे शुल्क जिनसे कमरे के फ़ाइनल किराये पर असर पड़ता है. यह एलिमेंट, <Result> में मौजूद <OtherFees> के सिंटैक्स का इस्तेमाल करता है.

अगर <Baserate> एलिमेंट के "all_inclusive" एट्रिब्यूट को साफ़ तौर पर 'सही है' पर सेट किया गया है, तो इस वैल्यू को सेट करना ज़रूरी नहीं है.

<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 सेट नहीं है, तो वैल्यू डिफ़ॉल्ट रूप से आधी रात पर सेट हो जाती है.

    इस एट्रिब्यूट की वैल्यू, 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>
      </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 and it should be within 50 characters in length for optimal
      performance. 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>

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

      <!-- Add Loyalty point information -->
      <MilesIncluded>
        <NumberOfMiles>integer</NumberOfMiles>
        <Provider>
          <Text language="en" text="provider-name">
        </Provider>
        <LoyaltyCampaignID>campaign_ID</LoyaltyCampaignID>>
      </MilesIncluded>

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

    </RoomBundle>
    ...
  </Result>
</Transaction>

विशेषताएं

<RoomBundle> एलिमेंट में कोई एट्रिब्यूट नहीं है.

चाइल्ड एलीमेंट

<RoomBundle> एलिमेंट में ये चाइल्ड एलिमेंट होते हैं:

बाल तत्व ज़रूरी है? टाइप ब्यौरा
<Baserate> Required float इससे ठहरने के लिए, रूम बंडल की कीमत तय की जाती है. यह एलिमेंट, <Result> में मौजूद <Baserate> के सिंटैक्स का इस्तेमाल करता है. हालांकि, इसमें यह अपवाद शामिल है:
  • अगर यात्रा कार्यक्रम के लिए कमरा उपलब्ध नहीं है, तो <RoomBundle> एलिमेंट हटा दें. इससे पता चलेगा कि कमरा अब इन्वेंट्री में नहीं है. ज़्यादा जानकारी के लिए, मीटिंग रूम का बंडल हटाना लेख पढ़ें.
<BreakfastIncluded> Optional boolean यह निर्दिष्ट करता है कि इस रूम बंडल में दर के साथ नाश्ता शामिल है या नहीं.
<ChargeCurrency> Optional enum उपयोगकर्ता बुकिंग के लिए कब और कहां भुगतान करता है. यह एलिमेंट, <Result> में <ChargeCurrency> के जैसा ही सिंटैक्स इस्तेमाल करता है.

डिफ़ॉल्ट वैल्यूweb है

Optional string बहिष्कृत: रूम बंडल के लैंडिंग पेजों पर अतिरिक्त डेटा भेजने के लिए कस्टम फ़ील्ड. ये तत्व <Result> में <Custom[1-5]> के समान सिंटैक्स का उपयोग करते हैं. हर कस्टम फ़ील्ड में 200 से ज़्यादा वर्ण नहीं होने चाहिए. अधिक जानकारी के लिए, लैंडिंग पृष्ठ फ़ाइलें देखें. कस्टम वेरिएबल केवल तभी सूचीबद्ध होते हैं जब आप लेनदेन संदेश में मूल्य भेजते हैं. यदि <Custom> तत्व <Result> तत्व में प्रदान किए गए हैं, तो वे <RoomBundle> तत्व में इनहेरिट नहीं किए जाते हैं और उन्हें प्रत्येक <RoomBundle> के लिए अलग से परिभाषित किया जाना चाहिए या यदि आवश्यक हो तो उन्हें <PackageData> में शामिल किया जा सकता है.

महत्वपूर्ण: अगर आप CUSTOM वैरिएबल का इस्तेमाल करना चाहते हैं, तो अपने तकनीकी खाता प्रबंधक (TAM) से संपर्क करें.

<InternetIncluded> Optional boolean यदि किसी रूम बंडल में बिना किसी शुल्क के इंटरनेट एक्सेस शामिल है, जबकि अन्य बंडलों में यह सुविधा शामिल नहीं होगी. अगर होटल के सभी कमरों में मुफ़्त इंटरनेट की सुविधा मिलती है, तो होटल के रूम बंडल के लिए यह एलिमेंट सेट न करें. यह तत्व कमरे में उपलब्ध वायर्ड इंटरनेट या वायरलेस इंटरनेट पर लागू नहीं होता है जो अतिथि कमरों में उपलब्ध नहीं है.
<MilesIncluded> Optional boolean किराये में फ़्रीक्वेंट फ़्लायर माइल्स शामिल हैं. पैरामीटर में ये शामिल हैं:
  • NumberOfMiles: हर यात्रा कार्यक्रम के लिए मील की संख्या.
  • Provider: फ़्रीक्वेंट फ़्लायर मील प्रदाता.
  • LoyaltyCampaignID: एक विशिष्ट आईडी जो उस विशिष्ट लॉयल्टी अभियान की पहचान करती है जिसे Google के साथ कॉन्फ़िगर और अपडेट किया गया था. यह होटल की कीमत में लॉयल्टी पॉइंट जोड़ता है.

    <MilesIncluded> अभियान आईडी को शामिल करने के लिए लॉयल्टी अभियान कॉन्फ़िगरेशन में कॉन्फ़िगर किया जाना चाहिए. Google परिणामों में लॉयल्टी पॉइंट्स का उपयोग किस प्रकार करता है, इसका विशिष्ट विवरण लॉयल्टी अभियान कॉन्फ़िगरेशन द्वारा निर्धारित किया जाता है.

    <MilesIncluded> एलिमेंट का एक चाइल्ड एलिमेंट <NumberOfMiles> होता है, जो अर्जित अंकों की संख्या की गणना करता है. यदि <NumberOfMiles> सेट नहीं है, तो अर्जित अंक लॉयल्टी अभियान कॉन्फ़िगरेशन द्वारा निर्धारित किए जाते हैं.

    <MilesIncluded>
      <LoyaltyCampaignID>my_campaign</LoyaltyCampaignID>
      <NumberOfMiles>1200</NumberOfMiles>
      <Provider>
        <Text language="en" text="United Airlines">
      </Provider>
    </MilesIncluded>
  • नोट: <NumberOfMiles> और <Provider> वैकल्पिक हैं.

<Occupancy> Required integer इस दर के लिए अधिकतम अनुमत निवासियों को निर्दिष्ट करता है. उदाहरण के लिए, हो सकता है कि किसी बड़े सुइट में छह मेहमानों के ठहरने का इंतज़ाम हो, लेकिन "हनीमून पैकेज" में सिर्फ़ दो मेहमानों को ठहरने की अनुमति हो.

यह वैल्यू, <Capacity> से कम या इसके बराबर होनी चाहिए. <Capacity>, उन लोगों की संख्या होती है जो कमरे में मौजूद हो सकते हैं.

लैंडिंग पेज के यूआरएल में ऑक्यूपेंसी तय करते समय, NUM-ADULTS और NUM-CHILDREN वैरिएबल का इस्तेमाल करें. इनके बारे में वैरिएबल और शर्तों का इस्तेमाल करना लेख में बताया गया है. डिफ़ॉल्ट वैल्यू 2 वयस्क और 0 बच्चे हैं.

<Occupancy> का मान 1 से 99 तक का एक धनात्मक पूर्णांक होना चाहिए.

ध्यान दें:

  • <RoomBundle> के लिए <Occupancy> की दृढ़ता से अनुशंसा की जाती है, इसलिए इसे आवश्यकतानुसार चिह्नित किया जाता है और यदि इसे छोड़ दिया जाता है तो 1097 त्रुटि उत्पन्न होगी.
  • <Occupancy> इस क्रम में डेटा ऑब्जेक्ट से मिलता है: <RoomBundle>, <PackageData>, और फिर = <RoomData>. अगर इनमें से किसी में भी कोई वैल्यू मौजूद नहीं है, तो वैल्यू डिफ़ॉल्ट रूप से 2 पर सेट हो जाती है.
  • <Occupancy> के साथ <OccupancyDetails>, <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> की वैल्यू ABC है, तो <RatePlanID> के लिए 5-ABC वैल्यू का इस्तेमाल किया जा सकता है. हमारा सुझाव है कि डाइनैमिक लैंडिंग पेज (पहले इसे पॉइंट ऑफ़ सेल कहा जाता था) का यूआरएल बनाने के लिए, RatePlanID को वैरिएबल के तौर पर इस्तेमाल करें.

नोट: सर्वोत्तम प्रदर्शन के लिए RatePlanID की लंबाई 50 वर्णों के भीतर होनी चाहिए.

अधिक जानकारी के लिए, चर और शर्तों का उपयोग करना देखें.

<Rates> Optional <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 सेट नहीं है, तो मान डिफ़ॉल्ट रूप से मध्य रात्रि हो जाता है.

    इस एट्रिब्यूट की वैल्यू, Time फ़ॉर्मैट का इस्तेमाल करती है.

विशेषताएँ सेट करते समय, निम्नलिखित पर ध्यान दें:

  • यदि available या refundable_until_days सेट नहीं किया गया है, तो दर वापसी योग्य के रूप में प्रदर्शित नहीं होती है.
  • अगर available की वैल्यू 0 (या false) है, तो अन्य एट्रिब्यूट को अनदेखा कर दिया जाता है. अगर अन्य एट्रिब्यूट में से एक या दोनों सेट किए गए हैं, तब भी किराया, रिफ़ंड किए जा सकने वाले किराये के तौर पर नहीं दिखता.
<RoomID> Required string कमरे के डेटा के लिए यूनीक आईडी. इस आईडी का इस्तेमाल करके, रूम बंडल के डेटा को <RoomData> में भेजे गए डेटा से मैच करें. ज़्यादा जानकारी के लिए, रूम बंडल का मेटाडेटा देखें. (इस आईडी का इस्तेमाल, एक ही लेन-देन के मैसेज में किसी सामान्य कमरे की परिभाषा को रेफ़रंस देने के लिए भी किया जा सकता है. ऐसा तब किया जाता है, जब कमरे के डेटा को इनलाइन तरीके से तय किया जा रहा हो.)
<Tax> Required float वे कर जो किसी कमरे की अंतिम कीमत के लिए गणना किये जाते हैं. <Tax> एलिमेंट एक ज़रूरी विशेषता currency लेता है, जो करों के लिए तीन-अक्षरों वाला मुद्रा कोड तय करता है. उदाहरण के लिए, अमेरिकी डॉलर के लिए USD का उपयोग करें.

उदाहरण

एकल अधिभोग बंडल

निम्नलिखित उदाहरण एकल अधिभोग बंडल के साथ प्रतिक्रिया को परिभाषित करता है. जब कोई उपयोगकर्ता ऑक्यूपेंसी पिकर में 1 चुनता है, तो Google ऑक्यूपेंसी की परवाह किए बिना सबसे कम योग्य कीमत दिखाता है.

यदि एकल अधिभोग मूल्य उपलब्ध नहीं है, तो Google न्यूनतम दोहरे अधिभोग मूल्य दिखाएगा. ध्यान दें कि यदि किसी यात्रा कार्यक्रम के लिए डबल-ऑक्यूपेंसी या अधिक कीमतें कैश की गई हैं, तो एकल-ऑक्यूपेंसी कीमतों की लाइव क्वेरी नहीं की जाती है.

यह उदाहरण <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 and it should be within 50 characters in length for optimal
      performance. 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>

      <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>
        </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>
        </Rate>
      </Rates>
    </RoomBundle>
  </Result>
</Transaction>

<OccupancyDetails>

लेन-देन संदेश में <Occupancy> किसी कमरे या पैकेज के लिए मेहमानों की अधिकतम संख्या निर्दिष्ट करता है. <OccupancyDetails> में अतिरिक्त जानकारी हो सकती है, जैसे मेहमानों की संख्या और प्रकार (वयस्क या बच्चे).

जब <Result> या <RoomBundle> के <Rates> एलिमेंट में <Occupancy> और <OccupancyDetails> दिखते हैं, तो इसका मतलब है कि किराये पर, कमरे में रहने वाले लोगों की संख्या की जानकारी का असर पड़ता है.

यदि आप किसी <RoomBundle> में <OccupancyDetails> को नेस्टेड <Rate> तत्व के साथ शामिल करते हैं, तो आप <Rate> के भीतर मूल <Occupancy> नहीं भेज सकते; इसके बजाय निम्नलिखित विकल्पों में से एक का सुझाव दिया जाता है:

  • <Rate> से अधिभोग छोड़ें: इस स्थिति में, <Rate> को <RoomBundle> से सीधे <OccupancyDetails> विरासत में मिलता है

या,

  • डुप्लिकेट <OccupancyDetails>: इस स्थिति में, <RoomBundle> और नेस्टेड <Rate> एलिमेंट, दोनों में एक जैसे अतिरिक्त <OccupancyDetails> भेजें

सिंटैक्स

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

उदाहरण

निम्नलिखित उदाहरण दिखाते हैं कि <OccupancyDetails>, <Results>, <RoomBundle>, या <Rates> चाइल्ड एलिमेंट में कैसे दिखाई दे सकता है.

नतीजे का जवाब

निम्नलिखित उदाहरण एक लाइव मूल्य निर्धारण क्वेरी के जवाब में एक संपत्ति के लिए एक यात्रा कार्यक्रम और उसके मूल्य निर्धारण को परिभाषित करता है जहां उपयोगकर्ता ने मेहमानों की संख्या और प्रकार निर्दिष्ट किया है. यहां, <OccupancyDetails> -- दो वयस्क और एक बच्चा -- को <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 बच्चे के लिए इसकी कीमत को परिभाषित करता है. यहां, <OccupancyDetails> को <Result> के <Rates> तत्व में लौटाया जाता है.

<?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>
        <AllowablePointsOfSale>
          <PointOfSale id="yourhotelpartnersite.com"/>
        </AllowablePointsOfSale>
      </Rate>
    </Rates>
  </Result>
</Transaction>

अलग-अलग सुविधाओं वाले एक तरह के कमरे

निम्नलिखित उदाहरण में दो वयस्कों और एक बच्चे के दो रातों के लिए रहने की व्यवस्था को दर्शाया गया है, जिसमें वापसी योग्य दर शामिल है. यहां, <OccupancyDetails>, <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>

एक से ज़्यादा कमरों वाले बंडल

निम्नलिखित उदाहरण में कई <RoomBundle> दरें बताई गई हैं जो 2 वयस्कों और 2 बच्चों के रहने तक सीमित हैं. यहां, <OccupancyDetails>, <RoomBundle> के <Rates> तत्व में दिखाई देता है.

<?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>
      <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>
        </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>
        </Rate>
      </Rates>
    </RoomBundle>
  </Result>
</Transaction>