खास जानकारी
एआरआई ट्रांज़ैक्शन (प्रॉपर्टी का डेटा) मैसेज में, हर प्रॉपर्टी के रूम टाइप और पैकेज (या किराया प्लान) के बारे में जानकारी दी जाती है. हर तरह के कमरे के डेटा में, ये चीज़ें शामिल होती हैं: यूनीक आइडेंटिफ़ायर (RoomID), स्थानीय भाषा में नाम, जानकारी, और कमरे की फ़ोटो के यूआरएल. हर पैकेज डेटा में, यूनीक आइडेंटिफ़ायर (PackageID), स्थानीय भाषा में नाम, ब्यौरा, ऑक्यूपेंसी, और वैल्यू-ऐड शामिल होते हैं.
लेन-देन के मैसेज का इस्तेमाल इन कामों के लिए किया जा सकता है:
- एक या उससे ज़्यादा प्रॉपर्टी के लिए डेटा तय करें.
- हर प्रॉपर्टी के लिए, कमरे के टाइप और पैकेज की जानकारी तय करें.
- प्रॉडक्ट के ऑफ़र कंट्रोल करना.
इसके अलावा, इन कार्रवाइयों को करने के लिए भी सेटिंग की जा सकती है:
किसी प्रॉपर्टी में कमरे का टाइप और पैकेज जोड़ना.
कमरे के टाइप या पैकेज हटाए जा सकते हैं.किसी प्रॉपर्टी से रूम टाइप और पैकेज हटाना.
किसी पैकेज या प्रॉपर्टी में लॉयल्टी पॉइंट या इनाम वाला प्रोग्राम जोड़ें.
लेन-देन के मैसेज के उदाहरणों के लिए, लेन-देन (प्रॉपर्टी डेटा) के उदाहरण देखें.
ज़रूरी और वैकल्पिक एलिमेंट
एक्सएमएल रेफ़रंस में, ज़रूरी और वैकल्पिक एलिमेंट के बारे में जानकारी दी गई है. एट्रिब्यूट और चाइल्ड एलिमेंट के बारे में जानने के लिए, लेन-देन (प्रॉपर्टी डेटा) के एलिमेंट और एट्रिब्यूट देखें.
सिंटैक्स और स्कीमा
लेन-देन का मैसेज बनाते समय, लेन-देन (प्रॉपर्टी का डेटा) सिंटैक्स के उदाहरण का इस्तेमाल करें. इससे यह पक्का किया जा सकेगा कि आपने सही फ़ॉर्मैट का इस्तेमाल किया है.
Google को फ़ीड सबमिट करने से पहले, पब्लिश किए गए स्कीमा के हिसाब से उनकी पुष्टि करने के लिए, तीसरे पक्ष के एक्सएमएल टूल का इस्तेमाल किया जा सकता है. जैसे, xmllint. लेन-देन के मैसेज स्कीमा के लिए, Hotel Ads के स्कीमा देखें.
दिशा-निर्देश
लेन-देन वाले मैसेज के लिए, इन दिशा-निर्देशों का पालन करें:
- कार्रवाइयां:
delta: इसका इस्तेमाल, कमरे के नए टाइप और पैकेज (किराया प्लान) जोड़ने या अपडेट करने के लिए किया जाता है.overlay: इस विकल्प का इस्तेमाल करके, किसी प्रॉपर्टी के सभी कमरों के टाइप और पैकेज को नए सेट से बदला जा सकता है. इसमें सभी तरह के कमरों और किराया प्लान की जानकारी शामिल होनी चाहिए.- इन भाषाओं में उपलब्ध:
नाम, ब्यौरे, और कैप्शन फ़ील्ड के लिए, एक या दो भाषाएं (अंग्रेज़ी और ज़रूरत पड़ने पर प्रॉपर्टी के लिए स्थानीय भाषा) चुनें. ज़रूरत पड़ने पर, दो से ज़्यादा भाषाएं जोड़ी जा सकती हैं.
- कमरे के टाइप और पैकेज:
कमरे के टाइप या पैकेज को अपडेट करते समय, आपको उस कमरे के टाइप या पैकेज से जुड़ी पूरी जानकारी भेजनी होगी. उदाहरण के लिए, कोई फ़ोटो जोड़ते समय आपको उसका नाम और ब्यौरा भी शामिल करना होगा.
<AllowablePackageIDs>और<AllowableRoomIDs>को सेट करना ज़रूरी नहीं है. अगर इन्हें सेट नहीं किया जाता है, तो रूम टाइप और किराया प्लान का कोई भी कॉम्बिनेशन बनाया जा सकता है. आपको अब भी कमरे के टाइप और रेट प्लान आईडी के साथ, उपलब्धता और किराये की जानकारी भेजनी होगी. इन एलिमेंट की मदद से, प्रॉडक्ट को कंट्रोल किया जा सकता है. साथ ही, उन कॉम्बिनेशन को बंद किया जा सकता है जिन्हें आपका सिस्टम अब सपोर्ट नहीं करता.कमरे के टाइप या पैकेज में कोई बदलाव होने पर, Google को लेन-देन के मैसेज का अपडेट भेजें. इसके अलावा, कमरे के टाइप या पैकेज के बारे में ऐसी ज़रूरी जानकारी भेजें जिसे जोड़ना ज़रूरी है.
- लॉयल्टी पॉइंट:
अपने पैकेज में इनाम वाले प्रोग्राम को शामिल करने या उससे बाहर रखने के लिए, Google के साथ लॉयल्टी पॉइंट कॉन्फ़िगरेशन सेट अप करें. इससे आपको उस पैकेज से जुड़े पॉइंट दिखेंगे. लॉयल्टी पॉइंट के बारे में ज़्यादा जानें.
अपने लॉयल्टी कैंपेन को तय करने या अपडेट करने के लिए,
<MilesIncluded>एलिमेंट का इस्तेमाल करें. ज़्यादा जानकारी के लिए, लेन-देन(प्रॉपर्टी का डेटा) देखें. लॉयल्टी पॉइंट को<PackageData>के साथ शामिल किया जा सकता है.
उदाहरण
इस सेक्शन में, ज़रूरी और वैकल्पिक एलिमेंट का इस्तेमाल करके, एआरआई लेन-देन के मैसेज का एक बुनियादी उदाहरण दिया गया है. कमरे के टाइप और पैकेज जोड़ने या अपडेट करने के लिए, इनमें से किसी एक कार्रवाई का इस्तेमाल करें: delta का इस्तेमाल करके कमरे के टाइप और पैकेज जोड़ें या अपडेट करें या overlay का इस्तेमाल करके कमरे के टाइप और पैकेज की सभी परिभाषाएं बदलें. इससे पुरानी एंट्री मिट जाती हैं.
आपको नाम, जानकारी, और कैप्शन फ़ील्ड के लिए एक या दो भाषाएं (अंग्रेज़ी और अगर ज़रूरी हो, तो प्रॉपर्टी के लिए स्थानीय भाषा) तय करनी होंगी. इसके बाद, प्रॉपर्टी के डेटा की जानकारी जोड़ें. इसमें फ़ोटो के लिंक भी शामिल करें.
<PropertyID> और<RoomID> के लिए, उन आईडी का इस्तेमाल करें जिनका इस्तेमाल अपने सिस्टम में, किराये के प्लान और कमरों के टाइप के लिए किया जाता है. यह पक्का करने के लिए कि Google आपके किराये और डेटा को सही तरीके से दिखा रहा है, आपके सिस्टम के साथ किराये का मेल खाना ज़रूरी है.
फ़ाइल तैयार करने के बाद, आपको इसे Google को भेजना होगा. इसके लिए, नीचे दिए गए एंडपॉइंट पर POST मैसेज भेजें: https://www.google.com/travel/hotels/uploads/property_data
मैसेज को पुश/पोस्ट करने के तरीके के बारे में ज़्यादा जानने के लिए, मैसेज पुश करना लेख पढ़ें.
यहां दिए गए उदाहरण में, delta ऐक्शन का इस्तेमाल करके, लेन-देन का मैसेज सेट करने का तरीका बताया गया है:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="202X-XX-XXT00:00:00-0X:00" id="12345678" partner="partner_key">
<PropertyDataSet action="delta">
<Property>PROPERTYID</Property>
<RoomData>
<RoomID>ROOMID</RoomID>
<Name><Text text="ROOM NAME" language="en"/></Name>
<Description>
<Text text="ROOM DESCRIPTION TEXT" language="en"/>
</Description>
<Capacity>4</Capacity>
<PhotoURL>
<Caption><Text text="ROOM PHOTO CAPTION TEXT" language="en"/></Caption>
<URL>https://LINK TO PHOTO</URL>
</PhotoURL>
</RoomData>
<PackageData>
<PackageID>BASE</PackageID>
<Name><Text text="Internet Special" language="en"/></Name>
<Description><Text text="Direct Booking through Hotel Website" language="en"/></Description>
<Refundable available="true" refundable_until_days="2" refundable_until_time="12:00"/>
</PackageData>
</PropertyDataSet>
</Transaction>
ज़्यादा उदाहरणों के लिए, लेन-देन (प्रॉपर्टी का डेटा) के उदाहरण देखें. जैसे, overlay कार्रवाई का इस्तेमाल कैसे करें, मौजूदा प्रॉपर्टी के डेटा में कमरे का टाइप और पैकेज कैसे जोड़ें, और मौजूदा कमरों के टाइप और पैकेज कैसे हटाएं.
कैसे करें
इस सेक्शन में, लेन-देन से जुड़े मैसेज भेजते समय आने वाली समस्याओं के समाधान दिए गए हैं.
पहला उदाहरण: कमरे के टाइप का डेटा हटाने का तरीका
मैं मौजूदा कमरे के टाइप और/या पैकेज का डेटा कैसे हटाऊं?
ब्यौरा
आपने प्रॉपर्टी के लिए, अलग-अलग तरह के कमरे भेजे हैं. इनमें किंग और क्वीन रूम शामिल हैं. रीमॉडलिंग के दौरान, सभी तरह के क्वीन रूम उपलब्ध नहीं हैं. फ़िलहाल, सिर्फ़ किंग रूम उपलब्ध हैं.
समाधान
- जिन रूम टाइप और पैकेज आईडी को हटा दिया गया है या बंद कर दिया गया है उनके लिए, आपको रात के हिसाब से उपलब्धता, किराये या इन्वेंट्री को अपडेट करने की ज़रूरत नहीं है.
- अगर कमरे का टाइप या पैकेज हटा दिया गया है या बंद कर दिया गया है, तो
action="overlay"के साथ नया लेन-देन मैसेज भेजें. इसमें सिर्फ़ वे कमरे के टाइप और पैकेज शामिल होने चाहिए जो अब भी चालू हैं. साथ ही, इसमें हटाए गए कमरे का टाइप या पैकेज शामिल नहीं होना चाहिए.
नमूना
इस एक्सएमएल स्निपेट में, किसी कमरे के टाइप को हटाने के लिए overlay ऐक्शन का इस्तेमाल करने का तरीका दिखाया गया है.
यहां delta कार्रवाई दी गई है, जिसमें किंग और क्वीन रूम टाइप शामिल हैं:
<PropertyDataSet action="delta">
<Property>Property_1</Property>
<RoomData>
<RoomID>King</RoomID>
<Name>
<Text text="King" language="en"/>
</Name>
<Capacity>2</Capacity>
</RoomData>
<PackageData>
<PackageID>Standard</PackageID>
<Name>
<Text text="Standard" language="en"/>
</Name>
<Description>
<Text text="Standard rate" language="en"/>
</Description>
<Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
<BreakfastIncluded>0</BreakfastIncluded>
</PackageData>
<RoomData>
<RoomID>Queen</RoomID>
<Name>
<Text text="Queen" language="en"/>
</Name>
<Capacity>2</Capacity>
<!-- Additional RoomData child elements omitted. -->
</RoomData>
</PropertyDataSet>
इसके बाद, Queen रूम टाइप को हटाने और King रूम टाइप को बनाए रखने के लिए, overlay को सेट किया जा सकता है:
<PropertyDataSet action="overlay">
<Property>Property_1</Property>
<RoomData>
<RoomID>King</RoomID>
<Name>
<Text text="King" language="en"/>
</Name>
<Capacity>2</Capacity>
</RoomData>
<PackageData>
<PackageID>Standard</PackageID>
<Name>
<Text text="Standard" language="en"/>
</Name>
<Description>
<Text text="Standard rate" language="en"/>
</Description>
<Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
<BreakfastIncluded>0</BreakfastIncluded>
</PackageData>
</PropertyDataSet>
दूसरी स्थिति: AllowablePackageIDs का इस्तेमाल करके, प्रॉडक्ट को कंट्रोल करने का तरीका
जब पैकेज को कमरे के टाइप के हिसाब से ग्रुप किया जाता है, तब मैं प्रॉडक्ट (कमरे के टाइप और पैकेज के कॉम्बिनेशन) को कैसे कंट्रोल करूं?
ब्यौरा
आपके पास कुछ ऐसे पैकेज हैं जो सिर्फ़ कुछ खास तरह के कमरों के लिए उपलब्ध हैं. उदाहरण के लिए, अगर आपकी प्रॉपर्टी में चार तरह के कमरे हैं (इनमें प्रेसिडेंशियल सुइट भी शामिल है) और छह अलग-अलग पैकेज हैं, लेकिन सिर्फ़ कुछ पैकेज प्रेसिडेंशियल सुइट के लिए ज़रूरी शर्तें पूरी करते हैं, तो ज़रूरी शर्तें बताई जा सकती हैं.
समाधान
लेन-देन का अपडेट किया गया मैसेज भेजें. इसमें <AllowablePackageIDs> का इस्तेमाल करके, यह बताएं कि पैकेज में कौनसे प्रॉडक्ट शामिल हैं.
नमूना
इस एक्सएमएल स्निपेट में, <AllowablePackageIDs> का इस्तेमाल करके, किसी खास तरह के कमरे के साथ इस्तेमाल किए जाने वाले पैकेज के बारे में बताने का तरीका दिखाया गया है. यहां पेंटहाउस सुइट रूम टाइप के लिए, सिर्फ़ पेंटहाउस ऑल-इनक्लूज़िव पैकेज या मुफ़्त नाश्ते वाला पैकेज उपलब्ध है. वहीं, किंग सुइट रूम टाइप के लिए, सिर्फ़ किंग ऑल-इनक्लूज़िव पैकेज या पालतू जानवरों के साथ ठहरने की अनुमति वाला पैकेज उपलब्ध है.
<RoomData>
<RoomID>penthouse_suite</RoomID>
<AllowablePackageIDs>
<AllowablePackageID>penthouse_all_inclusive</AllowablePackageID>
<AllowablePackageID>free_breakfast</AllowablePackageID>
</AllowablePackageIDs>
<!-- Additional child elements omitted. -->
</RoomData>
<RoomData>
<RoomID>king_suite</RoomID>
<AllowablePackageIDs>
<AllowablePackageID>king_all_inclusive</AllowablePackageID>
<AllowablePackageID>pet_friendly</AllowablePackageID>
</AllowablePackageIDs>
<!-- Additional child elements omitted. -->
</RoomData>
<PackageData>
<PackageID>penthouse_all_inclusive</PackageID>
</PackageData>
<!-- Additional child elements omitted. -->
<PackageData>
<PackageID>free_breakfast</PackageID>
</PackageData>
<!-- Additional child elements omitted. -->
<PackageData>
<PackageID>king_all_inclusive</PackageID>
</PackageData>
<!-- Additional child elements omitted. -->
<PackageData>
<PackageID>pet_friendly</PackageID>
</PackageData>
तीसरा उदाहरण: AllowableRoomIDs का इस्तेमाल करके, प्रॉडक्ट को कंट्रोल करने का तरीका
जब पैकेज के हिसाब से कमरों के टाइप ग्रुप किए जाते हैं, तब मैं प्रॉडक्ट (कमरों के टाइप और पैकेज के कॉम्बिनेशन) को कैसे कंट्रोल करूं?
ब्यौरा
कमरे के टाइप और पैकेज के कॉम्बिनेशन को अब प्रॉडक्ट के तौर पर नहीं बेचा जाता या आपको यह कंट्रोल करना है कि नए पैकेज में क्या-क्या शामिल किया जाए. उदाहरण के लिए, आपको सिर्फ़ कुछ तरह के कमरों के बारे में बताना है. जैसे, किंग और क्वीन साइज़ वाले कमरों के बारे में, जिनसे समुद्र का नज़ारा दिखता है. साथ ही, आपको पैकेज के बारे में भी बताना है.
समाधान
अपडेट किया गया लेन-देन का मैसेज भेजें. इसमें <AllowableRoomIDs> एलिमेंट का इस्तेमाल करके, पैकेज में शामिल प्रॉडक्ट के बारे में सटीक जानकारी दी गई हो.
नमूना
इस एक्सएमएल स्निपेट में बताया गया है कि पैकेज में, समुद्र के किनारे वाले किंग और क्वीन रूम टाइप के बारे में बताने के लिए, <AllowableRoomID> का इस्तेमाल कैसे करें.
<PackageID>RO</PackageID>
<AllowableRoomIDs>
<AllowableRoomID>king_oceanview</AllowableRoomID>
<AllowableRoomID>queen_oceanview</AllowableRoomID>
</AllowableRoomIDs>