खास जानकारी
एआरआई ट्रांज़ैक्शन (प्रॉपर्टी डेटा) मैसेज में, हर प्रॉपर्टी के कमरे के टाइप और पैकेज (या किराये के प्लान) की जानकारी दी जाती है. हर तरह के कमरे के डेटा में एक यूनीक आइडेंटिफ़ायर (RoomID
), स्थानीय भाषा में कमरे का नाम, जानकारी, और कमरे की फ़ोटो के यूआरएल शामिल होते हैं. हर पैकेज डेटा में एक यूनीक आइडेंटिफ़ायर (PackageID
), स्थानीय भाषा में नाम, ब्यौरा, बुकिंग के लिए उपलब्ध कमरे, और वैल्यू-ऐड शामिल होते हैं.
लेन-देन के मैसेज का इस्तेमाल करके, ये काम किए जा सकते हैं:
- एक या उससे ज़्यादा प्रॉपर्टी के लिए डेटा तय करें.
- हर प्रॉपर्टी के लिए, कमरे का टाइप और पैकेज की जानकारी तय करें.
- प्रॉडक्ट के ऑफ़र कंट्रोल करना.
साथ ही, ये कार्रवाइयां करने के लिए भी कार्रवाइयां सेट की जा सकती हैं:
किसी प्रॉपर्टी में कमरे का टाइप और पैकेज जोड़ना.
किसी प्रॉपर्टी से कमरे का टाइप और पैकेज हटाना.
किसी पैकेज या प्रॉपर्टी में लॉयल्टी पॉइंट और इनाम वाला प्रोग्राम जोड़ें.
लेन-देन के मैसेज के उदाहरणों के लिए, लेन-देन (प्रॉपर्टी डेटा) के उदाहरण देखें.
ज़रूरी और वैकल्पिक एलिमेंट
एक्सएमएल रेफ़रंस में, ज़रूरी और वैकल्पिक एलिमेंट के बारे में जानकारी दी गई है. एट्रिब्यूट और चाइल्ड एलिमेंट के बारे में जानकारी पाने के लिए, लेन-देन (प्रॉपर्टी डेटा) एलिमेंट और एट्रिब्यूट देखें.
सिंटैक्स और स्कीमा
ट्रांज़ैक्शन (प्रॉपर्टी डेटा) सिंटैक्स के उदाहरण का रेफ़रंस लें. इससे यह पक्का किया जा सकता है कि ट्रांज़ैक्शन मैसेज सही फ़ॉर्मैट में है.
Google को सबमिट करने से पहले, अपने फ़ीड की पुष्टि करने के लिए, तीसरे पक्ष के एक्सएमएल टूल का इस्तेमाल किया जा सकता है. जैसे, xmllint. लेन-देन के मैसेज के स्कीमा के लिए, Hotel Ads के स्कीमा देखें.
दिशा-निर्देश
लेन-देन के मैसेज के लिए, इन दिशा-निर्देशों का पालन करें:
- कार्रवाइयां:
delta
: नए तरह के कमरे और पैकेज (किराया प्लान) जोड़ने या अपडेट करने के लिए इस्तेमाल करें.overlay
: किसी प्रॉपर्टी के लिए, सभी तरह के कमरों और पैकेज को नए सेट से बदलने के लिए इस्तेमाल करें. इसमें उन सभी तरह के रूम और किराये के प्लान की जानकारी शामिल होनी चाहिए जिन्हें आपको अब भी बेचना है.- भाषा से जुड़ी सहायता:
नाम, ब्यौरा, और कैप्शन फ़ील्ड के लिए, एक से दो भाषाएं (अंग्रेज़ी और ज़रूरत पड़ने पर प्रॉपर्टी के लिए स्थानीय भाषा) डालें. ज़रूरत पड़ने पर, दो से ज़्यादा भाषाएं जोड़ी जा सकती हैं.
- कमरे के टाइप और पैकेज:
किसी रूम टाइप या पैकेज को अपडेट करते समय, आपको उस रूम टाइप या पैकेज से जुड़ी सभी जानकारी भेजनी होगी. उदाहरण के लिए, फ़ोटो जोड़ते समय आपको उसका नाम और ब्यौरा भी देना होगा.
<AllowablePackageIDs>
और<AllowableRoomIDs>
की वैल्यू देना ज़रूरी नहीं है. अगर इनकी वैल्यू नहीं दी जाती है, तो कमरे के टाइप और किराये के प्लान का कोई भी कॉम्बिनेशन बनाया जा सकता है. आपको अब भी कमरे के टाइप और किराया प्लान के आईडी के साथ, कमरे की उपलब्धता और किराये की जानकारी भेजनी होगी. इन एलिमेंट की मदद से, प्रॉडक्ट को कंट्रोल किया जा सकता है. साथ ही, उन कॉम्बिनेशन को बंद किया जा सकता है जो आपके सिस्टम पर काम नहीं करते.जब भी कमरे के टाइप या पैकेज में कोई बदलाव होता है या कमरे के टाइप या पैकेज के बारे में अहम जानकारी जोड़नी होती है, तो Google को ट्रांज़ैक्शन मैसेज का अपडेट भेजें.
- लॉयल्टी पॉइंट:
अपने पैकेज में इनाम वाला प्रोग्राम शामिल करने या उससे बाहर रखने के लिए, Google के साथ लॉयल्टी पॉइंट कॉन्फ़िगरेशन सेट अप करें. इससे, उस पैकेज से मिले पॉइंट दिखेंगे. लॉयल्टी पॉइंट के बारे में ज़्यादा जानें.
अपने लॉयल्टी कैंपेन को तय करने या अपडेट करने के लिए,
<MilesIncluded>
एलिमेंट का इस्तेमाल करें. ज़्यादा जानकारी के लिए, लेन-देन(प्रॉपर्टी डेटा) देखें. लॉयल्टी पॉइंट को<PackageData>
के साथ शामिल किया जा सकता है.
उदाहरण
इस सेक्शन में, ज़रूरी और वैकल्पिक एलिमेंट का इस्तेमाल करके, एआरआई लेन-देन मैसेज का एक बुनियादी उदाहरण दिया गया है. कमरे के टाइप और पैकेज जोड़ने या अपडेट करने के लिए, delta
कमरे के टाइप और पैकेज जोड़ने या अपडेट करने या overlay
कमरे के सभी टाइप और पैकेज की परिभाषाओं को बदलने (पुरानी एंट्री मिटाने) के लिए, किसी कार्रवाई का इस्तेमाल किया जाता है.
आपको नाम, ब्यौरा, और कैप्शन फ़ील्ड के लिए, एक से दो भाषाएं (अंग्रेज़ी और ज़रूरत पड़ने पर प्रॉपर्टी के लिए स्थानीय भाषा) बतानी होंगी. इसके बाद, प्रॉपर्टी के डेटा की जानकारी जोड़ें. इसमें फ़ोटो के लिंक भी शामिल करें.
<PropertyID>
और<RoomID>
के लिए, उन आईडी का इस्तेमाल करें जिनका इस्तेमाल आपने अपने सिस्टम में, क्रमशः किराये के प्लान और कमरे के टाइप के लिए किया है. यह पक्का करने के लिए कि Google आपकी कीमतें और डेटा सही तरीके से दिखा रहा है, यह ज़रूरी है कि आपके सिस्टम में डेटा एक जैसा हो.
फ़ाइल तैयार करने के बाद, आपको इसे Google को भेजना होगा. इसके लिए, आपको इस एंडपॉइंट पर पोस्ट मैसेज भेजना होगा: 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>
इसके बाद, 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>