इन्वेंट्री मैसेज

खास जानकारी

इन्वेंट्री मैसेज (OTA_HotelInvCountNotifRQ) से, इन्वेंट्री की संख्या (कमरों की संख्या) के बारे में पता चलता है. यह संख्या, किसी खास तरह के कमरों के लिए बुकिंग के लिए उपलब्ध कमरों की संख्या होती है. इन्वेंट्री मैसेज भेजते समय, आपको यह बताना होता है कि किसी तारीख पर उस तरह के कितने कमरे उपलब्ध हैं. अगर उस तरह का कोई कमरा उपलब्ध नहीं है, तो उस कमरे के टाइप और तारीख से जुड़े प्रॉडक्ट नहीं दिखेंगे.

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

इन्वेंट्री से जुड़े अलग-अलग उदाहरणों के लिए, तरीके देखें.

ज़रूरी और वैकल्पिक एलिमेंट

एक्सएमएल रेफ़रंस में, ज़रूरी और ज़रूरी नहीं वाले एलिमेंट के बारे में बताया गया है. एट्रिब्यूट और चाइल्ड एलिमेंट के बारे में जानने के लिए, इन्वेंट्री एलिमेंट और एट्रिब्यूट देखें.

सिंटैक्स और स्कीमा

इन्वेंट्री मैसेज बनाते समय, इन्वेंट्री सिंटैक्स के उदाहरण को रेफ़रंस के तौर पर इस्तेमाल करें. इससे यह पक्का किया जा सकेगा कि आपने सही फ़ॉर्मैट का इस्तेमाल किया है.

Google को फ़ीड सबमिट करने से पहले, पब्लिश किए गए स्कीमा के हिसाब से उनकी पुष्टि करने के लिए, तीसरे पक्ष के एक्सएमएल टूल का इस्तेमाल किया जा सकता है. जैसे, xmllint. इन्वेंट्री मैसेज स्कीमा के लिए, होटल विज्ञापनों के स्कीमा देखें.

दिशा-निर्देश

इन्वेंट्री मैसेज के लिए, इन दिशा-निर्देशों का पालन करें:

  • इन्वेंट्री को होटल, तारीख, और कमरे के टाइप के हिसाब से बांटा जाता है.

  • किराये के प्लान और ऑक्यूपेंसी के हिसाब से कीमत दिखाने के लिए, इन्वेंट्री की संख्या 0 से ज़्यादा होनी चाहिए. ऐसा बुकिंग में ठहरने की सभी रातों के लिए होना चाहिए.

  • अगर इन्वेंट्री की संख्या 0 के बराबर है, तो दिए गए रूम आईडी और तारीख की सीमा के लिए कमरे बुक नहीं किए जा सकेंगे.

  • CountType की वैल्यू हमेशा 2 होनी चाहिए, ताकि यह मान्य हो. ऐसा इसलिए, क्योंकि इससे "खरीदारी के लिए उपलब्धता" की संख्या का पता चलता है.

  • आपके सिस्टम में किसी कमरे की बुकिंग होने या बुकिंग रद्द होने पर, अपडेट की गई इन्वेंट्री भेजें.

इन्वेंट्री बनाम उपलब्धता

इन्वेंट्री, बुक किए जा सकने वाले कमरों की संख्या होती है. यह संख्या, कमरों की कुल संख्या के आधार पर तय होती है. उपलब्धता से पता चलता है कि कमरे के टाइप और किराये के प्लान के कॉम्बिनेशन को बुक करने की अनुमति है या नहीं. एआरआई के लिए, तारीखों के सेट या ठहरने की जगह के टाइप के आधार पर, उपलब्धता और इन्वेंट्री, दोनों में बदलाव हो सकता है. साथ ही, दोनों के लिए मैसेज टाइप भी अलग-अलग होते हैं. इन्वेंट्री और उपलब्धता की जानकारी, होटल, तारीख, और कमरे के टाइप के हिसाब से तय की जाती है. साथ ही, उपलब्धता के लिए किराया प्लान भी शामिल किया जाता है.

इन्वेंट्री होने पर भी "उपलब्ध नहीं है" स्थिति दिख सकती है, क्योंकि इन्वेंट्री और उपलब्धता, दोनों एक-दूसरे से अलग हैं.

उपलब्धता के दो कॉन्सेप्ट होते हैं. सबसे पहले, किसी ठहरने के लिए प्रॉडक्ट की उपलब्धता देखी जाती है. इस पर कई बातों का असर पड़ता है. जैसे, हर रात के लिए तय किया गया किराया, कमरे के टाइप के हिसाब से इन्वेंट्री, और उपलब्धता से जुड़ी पाबंदी खुली है या नहीं. दूसरा, किसी तारीख को किसी प्रॉडक्ट पर लगी पाबंदी होती है. इसे OTA_HotelAvailNotifRQ में <RestrictionStatus Restriction="Master" Status="Open"/> के तौर पर दिखाया जाता है. इस उपलब्धता को बंद करने को "बिक्री बंद करें" कहा जाता है.

कमरे के लिए इन्वेंट्री, 0 से ज़्यादा का पूर्णांक होना चाहिए. साथ ही, किसी प्रॉडक्ट की कीमत दिखाने के लिए, उपलब्धता से जुड़ी पाबंदी खुली होनी चाहिए.

उदाहरण

इस सेक्शन में, ज़रूरी और वैकल्पिक एलिमेंट का इस्तेमाल करके इन्वेंट्री मैसेज का एक बुनियादी उदाहरण दिया गया है. फ़ाइल तैयार करने के बाद, आपको इसे Google को भेजना होगा. इसके लिए, इस एंडपॉइंट पर POST मैसेज का इस्तेमाल करें:

https://www.google.com/travel/hotels/uploads/ota/hotel_inv_count_notif

मैसेज को पुश/पोस्ट करने के तरीके के बारे में ज़्यादा जानने के लिए, मैसेज पुश करना लेख पढ़ें.

HotelCode के लिए, वह यूनीक होटल आईडी इस्तेमाल करें जिसका इस्तेमाल आपने अपनी प्रॉपर्टी की पहचान करने के लिए अपने सिस्टम में किया था. यह वैल्यू, होटल सूची वाले फ़ीड में <listing> एलिमेंट में <id> का इस्तेमाल करके दी गई होटल आईडी वैल्यू से मेल खानी चाहिए. <RoomID> के लिए, उसी आईडी का इस्तेमाल करें जिसका इस्तेमाल आपने अपने सिस्टम में कमरों के टाइप के लिए किया था. यह ज़रूरी है कि आपका सिस्टम, Google के साथ लगातार डेटा शेयर करता रहे. इससे Google आपके डेटा को सही तरीके से दिखा पाएगा.

इस उदाहरण में, दिसंबर महीने के लिए बुक किए जा सकने वाले 13 कमरों की इन्वेंट्री सेट करने का तरीका बताया गया है:

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelInvCountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                          EchoToken="12345678"
                          TimeStamp="2022-02-25T20:50:37-05:00"
                          Version="3.0">
  <POS><Source><RequestorID ID="partner_key" /></Source></POS>
  <Inventories HotelCode="HotelID">
    <Inventory>
      <StatusApplicationControl Start="2022-12-01"
                                End="2022-12-31"
                                InvTypeCode="RoomID"/>
      <InvCounts>
        <InvCount Count="13" CountType="2"/>
      </InvCounts>
    </Inventory>
  </Inventories>
</OTA_HotelInvCountNotifRQ>

ज़्यादा उदाहरणों के लिए, इन्वेंट्री के उदाहरण देखें.

कैसे करें

इस सेक्शन में, इन्वेंट्री मैसेज भेजते समय आने वाली समस्या के बारे में बताया गया है.

उदाहरण: मीटिंग रूम को बुक होने से कैसे रोकें

ब्यौरा

आपको यह बताना होगा कि इस तरह के कमरे, तारीखों के किसी सेट के लिए बुक नहीं किए जा सकते. ऐसा इसलिए होता है, क्योंकि वे कमरे बुक हो चुके होते हैं.

समाधान

<InvCount Count> को 0 वैल्यू पर सेट करें और तारीख की ज़रूरत के हिसाब से सीमा जोड़ें.

नमूना

इस उदाहरण में दिखाया गया है कि किसी कमरे और तारीखों (उदाहरण के लिए, जनवरी के पहले कुछ हफ़्ते) के लिए इन्वेंट्री को 0 पर सेट करने के लिए, InvCount का इस्तेमाल कैसे किया जाता है.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelInvCountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                          EchoToken="12345678"
                          TimeStamp="2022-02-25T20:50:37-05:00"
                          Version="3.0">
  <POS><Source><RequestorID ID="partner_key" /></Source></POS>
  <Inventories HotelCode="Property_1">
    <Inventory>
      <StatusApplicationControl Start="2023-01-01"
                                End="2023-01-15"
                                InvTypeCode="ROOMID"/>
      <InvCounts>
        <InvCount Count="0" CountType="2"/>
      </InvCounts>
    </Inventory>
  </Inventories>
</OTA_HotelInvCountNotifRQ>