अनुरोध
सिंटैक्स
Transaction (Property Data)
मैसेज इस सिंटैक्स का इस्तेमाल करता है:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="timestamp"
id="message_ID"
partner="partner_key">
<PropertyDataSet action="[overlay|delta]">
<!-- (Required) ID that matches the Hotel List Feed -->
<Property>HotelID</Property>
<RoomData>
<!-- (Required) One room ID per RoomData element -->
<RoomID>RoomID</RoomID>
<Name>
<Text text="room_name" language="language_code"/>
</Name>
<Description>
<Text text="room_description" language="language_code"/>
</Description>
<!-- (Optional) Restricts the rate plans allowed for this room type to
those listed here. If specified, don't specify AllowableRoomIDs. -->
<AllowablePackageIDs>
<AllowablePackageID>PackageID</AllowablePackageID>
</AllowablePackageIDs>
<Capacity>max_number_of_occupants</Capacity>
<AdultCapacity>max_number_of_adult_occupants</AdultCapacity>
<ChildCapacity>max_number_of_child_occupants</ChildCapacity>
<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>
<JapaneseHotelRoomStyle>[western|japanese|japanese_western]</JapaneseHotelRoomStyle>
<Beds>
<Bed size="[single|semi_double|double|queen|king]">
<Width unit="cm" number="bed_width"/>
<Length unit="cm" number="bed_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>
<PackageData>
<!-- (Required) One package ID per PackageData element -->
<PackageID>PackageID</PackageID>
<Name>
<Text text="package_name" language="language_code"/>
</Name>
<Description>
<Text text="package_description" language="language_code"/>
</Description>
<!-- (Optional) Restricts the room types allowed for this rate plan to
those listed here. If specified, don't specify AllowablePackageIDs. -->
<AllowableRoomIDs>
<AllowableRoomID>RoomID</AllowableRoomID>
</AllowableRoomIDs>
<Refundable available="[false|true]" refundable_until_days="number_of_days"
refundable_until_time="time"/>
<!-- 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>
</PackageData>
</PropertyDataSet>
</Transaction>
एलिमेंट और एट्रिब्यूट
लेन-देन (प्रॉपर्टी डेटा) मैसेज में ये एलिमेंट और एट्रिब्यूट होते हैं:
एलिमेंट / @एट्रिब्यूट | दोहराए जाने की संख्या | टाइप | कंपनी का ब्यौरा |
---|---|---|---|
Transaction | 1 | Complex element | उपलब्धता, किराया, और इन्वेंट्री को लागू करने में, यह किसी एक प्रॉपर्टी के लिए कमरे के टाइप और पैकेज की जानकारी देने वाले मैसेज का रूट एलिमेंट होता है. |
Transaction / @timestamp | 1 | DateTime | यह मैसेज बनाए जाने की तारीख और समय. |
Transaction / @id | 1 | string | अनुरोध वाले इस मैसेज के लिए यूनीक आइडेंटिफ़ायर. यह वैल्यू रिस्पॉन्स वाले मैसेज में दिखती है. a-z, A-Z, 0-9, _ (अंडरस्कोर), और - (डैश) वर्ण इस्तेमाल करने की अनुमति है. |
Transaction / @partner | 1 | string | इस मैसेज को भेजने के लिए पार्टनर का खाता. स्ट्रिंग की यह वैल्यू
"पार्टनर कुंजी" की वैल्यू है. इसे Hotel Center में
खाता सेटिंग पेज पर लिस्ट किया गया है.
ध्यान दें: अगर आपके पास ऐसा बैकएंड है जो कई खातों के लिए फ़ीड उपलब्ध कराता है, तो इस वैल्यू को उसी खाते के लिए, आपके |
Transaction / PropertyDataSet | 1.. | PropertyDataSet | एक कंटेनर, जिससे एक प्रॉपर्टी के लिए कमरे के टाइप और पैकेज के बारे में जानकारी मिलती है. |
Transaction / PropertyDataSet / @action | 0..1 | enum | कमरे के किराये की परिभाषाओं पर लागू किए जाने वाले अपडेट का टाइप. मान्य मान हैं:
यह एट्रिब्यूट ज़रूरी नहीं है और तय न किए जाने पर, |
Transaction / PropertyDataSet / Property | 1 | string | प्रॉपर्टी के लिए यूनीक आइडेंटिफ़ायर. यह वैल्यू
उस होटल आईडी से मेल खानी चाहिए जो
होटल सूची फ़ीड के
<listing> एलिमेंट में <id> का इस्तेमाल करके बताई गई है. होटल आईडी को Hotel Center में भी शामिल किया गया है. |
Transaction / PropertyDataSet / RoomData | 0..n | RoomData | रूम के बारे में बताता है. ध्यान दें: |
Transaction / PropertyDataSet / RoomData / RoomID | 1 | RoomID | किसी तरह के कमरे के लिए, यूनीक आइडेंटिफ़ायर. <OTA_HotelAvailNotifRQ> और <OTA_HotelRateAmountNotifRQ> मैसेज में, <StatusApplicationControl> एलिमेंट में मौजूद InvTypeCode एट्रिब्यूट का इस्तेमाल करके, इस वैल्यू की जानकारी दी गई है. |
Transaction / PropertyDataSet / RoomData / Name | 1 | Name | एक या ज़्यादा भाषाओं में रूम की कैटगरी के नाम के लिए कंटेनर. |
Transaction / PropertyDataSet / RoomData / Name / Text | 1..n | Text | एक भाषा में रूम की कैटगरी का नाम बताता है. |
Transaction / PropertyDataSet / RoomData / Name / Text / @text | 1..n | string | language एट्रिब्यूट की मदद से बताई गई भाषा में कमरे की कैटगरी का नाम. |
Transaction / PropertyDataSet / RoomData / Description | 1 | Name | एक या ज़्यादा भाषाओं में रूम की कैटगरी के ब्यौरे के लिए कंटेनर. |
Transaction / PropertyDataSet / RoomData / Description / Text | 1..n | Text | एक भाषा में कमरे की कैटगरी का ब्यौरा देता है. |
Transaction / PropertyDataSet / RoomData / Description / Text / @text | 1..n | string | language एट्रिब्यूट की मदद से बताई गई भाषा में, कमरे की कैटगरी के बारे में जानकारी. |
Transaction / PropertyDataSet / RoomData / Description / Text / @language | 1..n | string | दो अक्षरों वाला भाषा कोड. |
Transaction / PropertyDataSet / RoomData / AllowablePackageIDs | 0..1 | AllowablePackageIDs | <AllowablePackageID> एलिमेंट के लिए एक कंटेनर.
अगर अगर
|
Transaction / PropertyDataSet / RoomData / AllowablePackageIDs / AllowablePackageID | 1..n | AllowablePackageID | किराये के प्लान का PackageID बताता है कि इसे इस तरह के कमरे के साथ जोड़ा जा सकता है. रेट प्लान को पैकेज, किराये, और उपलब्धता की जानकारी के हिसाब से
तय किया जाता है. PackageID ,
OTA_HotelRateAmountNotifRQ और OTA_HotelAvailNotifRQ मैसेज में मौजूद RatePlanCode से मेल खाता है.
|
Transaction / PropertyDataSet / RoomData / Capacity | 0..1 | integer | एक कमरे में ज़्यादा से ज़्यादा कितने वयस्कों और बच्चों के ठहरने की सुविधा है. यह दर, NumberOfGuests की भेजी गई वैल्यू से ज़्यादा या उसके बराबर होनी चाहिए.
ध्यान दें: अगर |
Transaction / PropertyDataSet / RoomData / AdultCapacity | 0..1 | integer | एक कमरे में लोगों के ठहरने के लिए, ज़्यादा से ज़्यादा संख्या. यह वैल्यू, किराये की जानकारी के साथ भेजी गई NumberOfGuests वैल्यू से ज़्यादा या उसके बराबर होनी चाहिए.
|
Transaction / PropertyDataSet / RoomData / ChildCapacity | 0..1 | integer | एक कमरे में शारीरिक रूप से
बच्चों के लिए ज़्यादा से ज़्यादा संख्या.
|
Transaction / PropertyDataSet / RoomData / OccupancySettings | 0..1 | OccupancySettings | ऐसी सेटिंग जो किसी कमरे की बुकिंग से जुड़ी ज़रूरी शर्तों में बदलाव कर सकती हैं या उसे रोकने का काम कर सकती हैं.
<OccupancySettings> <MinOccupancy>2</MinOccupancy> <MinAge>16</MinAge> </OccupancySettings> सभी चाइल्ड एलिमेंट शामिल करना ज़रूरी नहीं है. |
Transaction / PropertyDataSet / RoomData / PhotoURL | 0..n | PhotoURL | दिए गए कमरे या कमरे के बंडल की फ़ोटो के लिए एक यूआरएल और वैकल्पिक कैप्शन. किसी कमरे या रूम बंडल के लिए, एक से ज़्यादा <PhotoURL>
तय किए जा सकते हैं.
इस एलिमेंट में ये चाइल्ड एलिमेंट शामिल होते हैं:
<PhotoURL> <URL>http://www.example.com/image1.jpg</URL> <Caption> <Text text="A bright way to enjoy your mornin' cuppa tea." language="en"/> <Text text="Une façon lumineuse pour profiter de votre tasse de thé." language="fr"/> </Caption> </PhotoURL> |
Transaction / PropertyDataSet / RoomData / RoomFeatures | 0..1 | <RoomFeatures> |
इसमें कमरे की सुविधाओं के बारे में जानकारी होती है. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / JapaneseHotelRoomStyle | 0..1 | enum | जैपनीज़ होटल के कमरे की शैली को दिखाता है. मान्य मान हैं:
|
Transaction / PropertyDataSet / RoomData / RoomFeatures / Beds | 0..1 | Object | रूम में ज़्यादा से ज़्यादा <Bed> शामिल हैं. कृपया ध्यान दें कि यहां जापानी फ़ुटॉन की गिनती नहीं की जानी चाहिए.
हर
<Bed> में ये चाइल्ड एलिमेंट होते हैं:
<Beds> <Bed size="double"> <Width unit="cm" number="140"/> <Length unit="cm" number="195"/> </Bed> <Bed/> <!-- Size unknown --> </Beds> |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Suite | 0.. | enum | अगर यह कमरा, सुइट है, तो इस एलिमेंट का इस्तेमाल करें. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Capsule | 0..1 | enum | यह एलिमेंट तब दिखाएं, जब यह रूम कैप्सूल रूम हो. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Roomsharing | 0..1 | enum | यह कमरा बुक करने वाले लोगों के साथ शेयर किया जाता है या नहीं, जैसे कि इसके मालिक या दूसरे मेहमान. मान्य वैल्यू, shared और private हैं. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Outdoor | 0..1 | enum | इस एलिमेंट का इस्तेमाल तब करें, जब यह कमरा खुले में बना हो और उसमें दीवार, प्लंबिंग से जुड़ी कोई जगह, और मौसम को कंट्रोल करने की सुविधा न हो. उदाहरण के लिए, होटल के कमरे आउटडोर ठहरने की जगह नहीं हैं, जबकि कैंप साइट, जहां मेहमान टेंट में ठहरते हैं और आरवी पार्क, जहां मेहमान अपना आरवी लेकर आते हैं, उन्हें आउटडोर लॉजिंग कहा जाता है. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / MobileAccessible | 0..1 | enum | यह एलिमेंट तब दिखाएं, जब इस कमरे में आने-जाने के लिए व्हीलचेयर ले जाने की सुविधा हो. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Smoking | 0..1 | enum | क्या इस कमरे में धूम्रपान करना मना है या धूम्रपान करना मना है. non_smoking और smoking मान्य
वैल्यू हैं. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / BathAndToilet | 0..1 | Object | इसमें कमरे में नहाने और शौचालय के बारे में जानकारी है.
एट्रिब्यूट है:
वैकल्पिक रूप से, ये एलिमेंट इन चाइल्ड एलिमेंट को भी शामिल करते हैं:
उदाहरण: <BathAndToilet relation="separate"> <Bath bathtub="1" shower="1"/> <Toilet electronic_bidet="1" mobility_accessible="1"/> </BathAndToilet> |
Transaction / PropertyDataSet / RoomData / RoomFeatures / OpenAirBath | 0..1 | enum | यह एलिमेंट तब दें, जब इस कमरे में खुले में निजी बाथरूम की सुविधा हो. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / AirConditioning | 0..1 | enum | अगर इस कमरे में एयर कंडिशनिंग की सुविधा है, तो इस एलिमेंट का इस्तेमाल करें. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Balcony | 0..1 | enum | अगर इस कमरे में बालकनी या लैनाई (बरामदे जैसी जगह) है, तो इस एलिमेंट का इस्तेमाल करें. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Views | 0..1 | Object | मान्य विकल्पों में ये शामिल हैं:
|
Transaction / PropertyDataSet / PackageData | 0..n | PackageData | किराये की सुविधाओं और उन शब्दों के बारे में बताने वाले एलिमेंट के लिए कंटेनर जो कमरे के ब्यौरे में शामिल नहीं हैं. ध्यान दें: |
Transaction / PropertyDataSet / PackageData / PackageID | 1 | string | इन मैसेज में मौजूद PackageID ,
OTA_HotelRateAmountNotifRQ में मौजूद RatePlanCode और
OTA_HotelAvailNotifRQ मैसेज में दिखाए गए हैं. |
Transaction / PropertyDataSet / PackageData / Name | 1 | Name | एक या इससे ज़्यादा भाषाओं में पैकेज के नाम के लिए कंटेनर. |
Transaction / PropertyDataSet / PackageData / Name / Text | 1..n | Text | एक भाषा में पैकेज के नाम के बारे में बताता है. |
Transaction / PropertyDataSet / PackageData / Name / Text / @text | 1..n | string | language एट्रिब्यूट में दी गई भाषा में पैकेज का नाम. |
Transaction / PropertyDataSet / PackageData / Description | 1 | Description | एक या एक से ज़्यादा भाषाओं में पैकेज के ब्यौरे के लिए कंटेनर. |
Transaction / PropertyDataSet / PackageData / Description / Text | 1..n | Text | एक भाषा में पैकेज के बारे में जानकारी देता है. |
Transaction / PropertyDataSet / PackageData / Description / Text / @text | 1..n | string | language एट्रिब्यूट में दी गई भाषा में पैकेज की जानकारी. |
Transaction / PropertyDataSet / PackageData / Description / Text / @language | 1..n | string | दो अक्षरों वाला भाषा कोड. |
Transaction / PropertyDataSet / PackageData / AllowableRoomIDs | 0..1 | AllowableRoomIDs | <AllowableRoomID> एलिमेंट के लिए एक कंटेनर.
अगर अगर
|
Transaction / PropertyDataSet / PackageData / AllowableRoomIDs / AllowableRoomID | 1..n | AllowableRoomID | इससे उस तरह के कमरे का कमरा आईडी पता चलता है जिसे इस
रेट प्लान के साथ जोड़ा जा सकता है. <RoomData> एलिमेंट में रूम के टाइप की जानकारी दी जाती है.
|
Transaction / PropertyDataSet / PackageData / Refundable | 0..1 | Refundable | किराये को पूरी तरह से रिफ़ंड या रद्द किए जा सकने वाले के तौर पर लिस्ट करना चालू करता है. अगर यह जानकारी नहीं दी जाती है, तो रिफ़ंड के बारे में कोई जानकारी नहीं दिखाई जाएगी.
ध्यान दें: हमारा सुझाव है कि आप सभी एट्रिब्यूट को सेट करें. एक या इससे ज़्यादा एट्रिब्यूट सेट न होने पर, फ़ीड की स्थिति से जुड़ा चेतावनी मैसेज जनरेट होता है. कोई भी एट्रिब्यूट सेट न करने पर, दर को रिफ़ंड के तौर पर नहीं दिखाया जाता. एट्रिब्यूट सेट करते समय, इन बातों का ध्यान रखें:
|
Transaction / PropertyDataSet / PackageData / Refundable / @available | 1 | boolean | (ज़रूरी है) दर को 1 या
true पर सेट करें, ताकि यह पता चल सके कि दर से पूरा रिफ़ंड मिलता है या नहीं. अगर ऐसा नहीं है, तो 0 या false पर सेट करें. |
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_days | 0..1 | integer | (अगर available true है, तो ज़रूरी है) इससे पता चलता है कि चेक-इन करने से कितने दिन पहले पूरे रिफ़ंड का अनुरोध किया जा सकता है. refundable_until_days की वैल्यू
0 से 330 के बीच की कोई संख्या होनी चाहिए. इसमें ये दोनों भी शामिल हैं. |
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_time | 0.. | Time | (अगर
available है true है, तो हमारा सुझाव है कि) होटल के स्थानीय समय के हिसाब से
दिन के सबसे हाल के समय की जानकारी देता हो और पूरे रिफ़ंड का अनुरोध स्वीकार किया जाएगा. उदाहरण के लिए, यह बताने के लिए कि "रिफ़ंड चेक-इन से दो दिन दो दिन पहले शाम 4 बजे तक ही उपलब्ध
हैं", refundable_until_days के साथ जोड़ा जा सकता है. अगर refundable_until_time सेट नहीं है, तो वैल्यू डिफ़ॉल्ट रूप से आधी रात पर सेट होती है. |
Transaction / PropertyDataSet / PackageData / BreakfastIncluded | 0..1 | boolean | बताता है कि इस कमरे के प्रकार में नाश्ता शामिल है या नहीं.
मान्य मान 0 (या false ) और 1
(या true ) हैं.
बेहतर होगा कि आप |
Transaction / PropertyDataSet / PackageData / CheckinTime | 0..1 | Time | होटल के स्थानीय समय के हिसाब से, चेक-इन करने का जल्द से जल्द समय. समय 24:00 से कम होना चाहिए. |
Transaction / PropertyDataSet / PackageData / CheckoutTime | 0..1 | Time | होटल के स्थानीय समय के हिसाब से, चेक-आउट करने का सबसे हाल का समय. |
Transaction / PropertyDataSet / PackageData / InternetIncluded | 0..1 | boolean | इससे पता चलता है कि कमरे में मुफ़्त इंटरनेट की सुविधा है या नहीं,
जबकि दूसरे कमरों में यह सुविधा नहीं है. इस एलिमेंट को किसी ऐसे होटल में न सेट करें
जहां सभी कमरों के लिए मुफ़्त इंटरनेट की सुविधा उपलब्ध हो. यह सुविधा
कमरे में वायर वाले ऐसे इंटरनेट या वायरलेस इंटरनेट पर लागू नहीं होती जो
मेहमानों के कमरों में उपलब्ध नहीं है. मान्य वैल्यू 0 (या
false ) और 1 (या true ) हैं.
|
Transaction / PropertyDataSet / PackageData / Meals | 0..1 | Object | इस पैकेज में खाने के बारे में जानकारी होती है.
वैकल्पिक एट्रिब्यूट सिर्फ़ तब इस्तेमाल किए जाते हैं, जब खाने के फ़िल्टर ( |
Transaction / PropertyDataSet / PackageData / ParkingIncluded | 0..1 | boolean | क्या कमरे में बिना किसी शुल्क के पार्किंग की सुविधा है. हो सकता है कि इस होटल में पार्किंग के लिए पैसे देने पड़ते हों. मुफ़्त पार्किंग की सुविधा देने वाले होटल के लिए, इस एलिमेंट की वैल्यू तय न करें.
मान्य मान 0 (या false ) और 1 (या true ) हैं. डिफ़ॉल्ट मान false है.
|
Transaction / PropertyDataSet / PackageData / PhotoURL | 0..1 | Object | (जो <RoomData> में <PhotoURL> की तरह है,
लेकिन पैकेज के लिए (जैसे कि खाने की फ़ोटो).
|
उदाहरण
कमरे और पैकेज का डेटा
नीचे दिए गए उदाहरण में, लेन-देन (प्रॉपर्टी डेटा) वाले मैसेज में प्रॉपर्टी के रूम और पैकेज डेटा को तय करने का तरीका बताया गया है. overlay
एट्रिब्यूट का इस्तेमाल यह पक्का करने के लिए किया जाता है कि अगर कोई डेटा अचानक मौजूद है, तो पूरा मौजूदा डेटा मिटा दिया जाए और उसे इस मैसेज में मौजूद डेटा से बदल दिया जाए:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<PropertyDataSet action="overlay">
<Property>Property_1</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<Name>
<Text text="King" language="en"/>
</Name>
<Description>
<Text text="Room with a king bed" language="en"/>
</Description>
<Capacity>2</Capacity>
<PhotoURL>
<URL>http://www.foo.com/static/bar/image.jpg</URL>
<Caption>
<Text text="Room with a king bed" language="en"/>
</Caption>
</PhotoURL>
</RoomData>
<RoomData>
<RoomID>RoomID_2</RoomID>
<Name>
<Text text="Double" language="en"/>
</Name>
<!-- Additional RoomData child elements omitted. -->
</RoomData>
<PackageData>
<PackageID>PackageID_1</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>
<PackageData>
<PackageID>PackageID_2</PackageID>
<Name>
<Text text="Free Breakfast" language="en"/>
</Name>
<Description>
<Text text="Free breakfast rate" language="en"/>
</Description>
<Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
<BreakfastIncluded>1</BreakfastIncluded>
</PackageData>
</PropertyDataSet>
</Transaction>
जोड़ें कि किस तरह का कमरा है
नीचे दिए गए उदाहरण में, <Transaction>
के मौजूदा डेटा में कमरे का टाइप और पैकेज जोड़ने का तरीका बताया गया है:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-07-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<PropertyDataSet action="delta">
<Property>Property_1</Property>
<RoomData>
<RoomID>RoomID_3</RoomID>
<Name>
<Text text="Queen" language="en"/>
</Name>
<!-- Additional RoomData child elements omitted. -->
</RoomData>
<PackageData>
<PackageID>PackageID_3</PackageID>
<Name>
<Text text="Non-Refundable" language="en"/>
</Name>
<!-- Additional PackageData child elements omitted. -->
<Refundable available="false"/>
</PackageData>
</PropertyDataSet>
</Transaction>
अलग-अलग तरह के कमरों को हटाएं
नीचे दिए गए उदाहरण में, मौजूदा तरह के कमरों और पैकेज को हटाने का तरीका बताया गया है. इस स्थिति में, अगर "रूम और पैकेज का डेटा" और "कमरे का टाइप जोड़ें" के मैसेज Google को पहले भेजे जा चुके हैं, तो Google को मैसेज मिलने के बाद, King
और Double
रूम टाइप अब मौजूद नहीं रहेंगे. ध्यान दें कि पैकेज डेटा हटाने से ट्रांज़ैक्शन (प्रॉपर्टी डेटा), OTA_HotelRateAmountNotifRQ, और OTA_HotelAvailNotifRQ
मैसेज (एक जैसी PackageID
वैल्यू का रेफ़रंस देकर) में बताए गए कुल रेट प्लान पर असर पड़ता है. इसलिए, अन्य मैसेज टाइप का इस्तेमाल करके इससे जुड़े अपडेट की मदद से यह दिखाया जा सकता है कि PackageID_2
और PackageID_3
की जानकारी अब यहां नहीं दी गई है.
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-08-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<PropertyDataSet action="overlay">
<Property>Property_1</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<Name>
<Text text="Queen" language="en"/>
</Name>
<!-- Additional RoomData child elements omitted. -->
<Capacity>2</Capacity>
<PhotoURL>
<URL>http://www.foo.com/static/bar/image.jpg</URL>
<Caption>
<Text text="Room with a queen bed" language="en"/>
</Caption>
</PhotoURL>
</RoomData>
<PackageData>
<PackageID>PackageID_1</PackageID>
<Name>
<Text text="Refundable" language="en"/>
</Name>
<!-- Additional PackageData child elements omitted. -->
<Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
<BreakfastIncluded>0</BreakfastIncluded>
</PackageData>
</PropertyDataSet>
</Transaction>
रेट प्लान पर पाबंदी लगाएं
यहां एक उदाहरण दिया गया है, जिसमें यह बताया गया है कि किस तरह के कमरे के लिए मंज़ूर किए गए रेट प्लान को सीमित करने के लिए, <AllowablePackageIDs>
एलिमेंट का इस्तेमाल कैसे किया जाता है. इस उदाहरण में,
Queen
कमरे के टाइप (RoomID_2
) को सिर्फ़ पैकेज और दर प्लान के साथ जोड़ा जा सकता है. इसकी पहचान PackageID_1 के तौर पर की गई है.
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-12-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<PropertyDataSet action="overlay">
<Property>Property_1</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<Name>
<Text text="King" language="en"/>
</Name>
<!-- Additional RoomData child elements omitted. -->
</RoomData>
<RoomData>
<RoomID>RoomID_2</RoomID>
<Name>
<Text text="Queen" language="en"/>
</Name>
<AllowablePackageIDs>
<AllowablePackageID>PackageID_1</AllowablePackageID>
</AllowablePackageIDs>
<!-- Additional RoomData child elements omitted. -->
</RoomData>
<PackageData>
<PackageID>PackageID_1</PackageID>
<Name>
<Text text="Standard" language="en"/>
</Name>
<!-- Additional PackageData child elements omitted. -->
<Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
<BreakfastIncluded>0</BreakfastIncluded>
</PackageData>
<PackageData>
<PackageID>PackageID_2</PackageID>
<Name>
<Text text="Free Breakfast" language="en"/>
</Name>
<!-- Additional PackageData child elements omitted. -->
<Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
<BreakfastIncluded>1</BreakfastIncluded>
</PackageData>
</PropertyDataSet>
</Transaction>
कमरे की क्षमता सीमित करें
नीचे दिए गए उदाहरण में, कमरे की क्षमता पर पाबंदियां लगाने के लिए, <Capacity>
, <AdultCapacity>
,
<ChildCapacity>
एलिमेंट का इस्तेमाल करने का तरीका बताया गया है.
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-12-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<PropertyDataSet action="overlay">
<Property>Property_1</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<Name>
<Text text="Double" language="en"/>
</Name>
<Capacity>4</Capacity>
<AdultCapacity>4</AdultCapacity>
<ChildCapacity>3</ChildCapacity>
<!-- Additional RoomData child elements omitted. -->
</RoomData>
</PropertyDataSet>
</Transaction>
डबल रूम के प्रकार (RoomID_1) में ज़्यादा से ज़्यादा 4 मेहमान हो सकते हैं. इसके अलावा, इसमें 4 वयस्क और 3 बच्चे तक हो सकते हैं. इस कमरे को बुक करने के लिए, कपैसिटी की तीनों ज़रूरी शर्तों को पूरा करना ज़रूरी है. यह कॉन्फ़िगरेशन एक ऐसे कमरे का उदाहरण है जिसमें दो बेड हैं, जिनमें से हर एक में दो लोग फ़िट हो सकते हैं. बच्चों की क्षमता, कुल क्षमता से एक कम है, क्योंकि कमरे में कम से कम एक वयस्क मौजूद होना चाहिए.
<RoomFeatures>
और खाने के ज़्यादा उदाहरण
JapaneseHotelRoomStyle
की कोई डिफ़ॉल्ट वैल्यू नहीं है.
वैल्यू को खाली छोड़ने पर एक्सएमएल में कोई गड़बड़ी नहीं होती. हालांकि, आपकी लिस्टिंग
खोज के नतीजों में तब नहीं दिखती, जब उपयोगकर्ता कमरे की स्टाइल या बेड के हिसाब से फ़िल्टर करता है.
दो सिंगल बेड
नीचे दिए गए उदाहरण में, <RoomFeatures>
को इस्तेमाल करने का तरीका बताया गया है:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
<PropertyDataSet>
<Property>1234</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<RoomFeatures>
<JapaneseHotelRoomStyle>western</JapaneseHotelRoomStyle>
<Beds> <!-- Two single beds -->
<Bed size="single">
<Width unit="cm" number="97"/>
<Length unit="cm" number="195"/>
</Bed>
<Bed size="single">
<Width unit="cm" number="97"/>
<Length unit="cm" number="195"/>
</Bed>
</Beds>
<Suite/>
<Capsule/>
<Roomsharing>private</Roomsharing>
<Outdoor/>
<MobilityAccessible/>
<Smoking>non_smoking</Smoking>
<BathAndToilet relation="separate">
<Bath bathtub="1" shower="1"/>
<Toilet electronic_bidet="1" mobility_accessible="1"/>
</BathAndToilet>
<OpenAirBath/>
<AirConditioning/>
<Balcony/>
<Views>
<LakeView/>
<MarinaView/>
<BeachView/>
<ForestView/>
<MountainView/>
<NatureView/>
</Views>
</RoomFeatures>
</RoomData>
</PropertyDataSet>
</Transaction>
दो डबल बेड
यहां दो double
बेड वाले western
स्टाइल रूम का उदाहरण दिया गया है.
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
<PropertyDataSet>
<Property>1234</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<RoomFeatures>
<JapaneseHotelRoomStyle>western</JapaneseHotelRoomStyle>
<Beds> <!-- Two double beds-->
<Bed size="double"></Bed>
<Bed size="double"></Bed>
</Beds>
</RoomFeatures>
</RoomData>
</PropertyDataSet>
</Transaction>
बिना बेड के जैपनीज़ स्टाइल
यहां बिना बिस्तर वाले जैपनीज़ शैली के कमरे का उदाहरण दिया गया है. japanese
स्टाइल रूम के लिए, बेड की जानकारी देना ज़रूरी नहीं है.
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
<PropertyDataSet>
<Property>1234</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<RoomFeatures>
<JapaneseHotelRoomStyle>japanese</JapaneseHotelRoomStyle>
</RoomFeatures>
</RoomData>
</PropertyDataSet>
</Transaction>
बिस्तर के साथ जैपनीज़ वेस्टर्न
यहां japanese_western
स्टाइल रूम का उदाहरण दिया गया है, जिसमें king
साइज़ का बेड है.
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
<PropertyDataSet>
<Property>1234</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<RoomFeatures>
<JapaneseHotelRoomStyle>japanese_western</JapaneseHotelRoomStyle>
<Beds>
<Bed size="king"></Bed>
</Beds>
</RoomFeatures>
</RoomData>
</PropertyDataSet>
</Transaction>
अगर पार्टनर के पास japanese_western
कमरों में बेड की संख्या की जानकारी नहीं है, तो यह उदाहरण देखें:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
<PropertyDataSet>
<Property>1234</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<RoomFeatures>
<JapaneseHotelRoomStyle>japanese_western</JapaneseHotelRoomStyle>
</RoomFeatures>
</RoomData>
</PropertyDataSet>
</Transaction>
खाना
इस उदाहरण में खाने, फ़ोटो, चेक-इन और चेक-आउट करने के समय के लिए, कमरे और पैकेज के मेटाडेटा के बारे में बताया गया है:
<?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>
जवाब
सिंटैक्स
TransactionResponse (Property Data)
मैसेज इस सिंटैक्स का इस्तेमाल करता है:
<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse timestamp="timestamp"
id="message_ID"
partner="partner_key">
<!-- Either Success or Issues will be populated. -->
<Success/>
<Issues>
<Issue code="issue_code" status="issue_type">issue_description</Issue>
</Issues>
</TransactionResponse>
एलिमेंट और एट्रिब्यूट
TransactionResponse (Property Data)
मैसेज में ये एलिमेंट और एट्रिब्यूट होते हैं:
एलिमेंट / @एट्रिब्यूट | दोहराए जाने की संख्या | टाइप | कंपनी का ब्यौरा |
---|---|---|---|
TransactionResponse | 1 | Complex element | लेन-देन के अनुरोध वाले मैसेज की सफलता या समस्याओं को दिखाने वाला रूट एलिमेंट. |
TransactionResponse / @timestamp | 1 | DateTime | यह मैसेज बनाए जाने की तारीख और समय. |
TransactionResponse / @id | 1 | string | इससे जुड़े लेन-देन के मैसेज में मौजूद यूनीक आइडेंटिफ़ायर. |
TransactionResponse / @partner | 1 | string | इस मैसेज को भेजने के लिए पार्टनर का खाता. |
TransactionResponse / Success | 0..1 | Success | इससे पता चलता है कि लेन-देन से जुड़ा मैसेज बिना किसी चेतावनी, गड़बड़ी या गड़बड़ी के प्रोसेस हो गया था.
हर मैसेज में |
TransactionResponse / Issues | 0..1 | Issues | लेन-देन मैसेज को प्रोसेस करते समय, एक या ज़्यादा समस्याओं का
कंटेनर.
हर मैसेज में |
TransactionResponse / Issues / Issue | 1..n | Issue | लेन-देन से जुड़े मैसेज को प्रोसेस करते समय मिलने वाली चेतावनी, गड़बड़ी या विफलता के बारे में जानकारी. इन समस्याओं की जानकारी, फ़ीड की स्थिति से जुड़े गड़बड़ी के मैसेज में देखी जा सकती है. |
TransactionResponse / Issues / Issue / @code | 1 | integer | समस्या का आइडेंटिफ़ायर. |
TransactionResponse / Issues / Issue / @status | 1 | enum | किस तरह की समस्या का सामना करना पड़ा. मान्य वैल्यू |
उदाहरण
पुष्टि हो गई
प्रोसेस हो चुके लेन-देन के मैसेज का जवाब यह है.
<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse timestamp="2020-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Success/>
</TransactionResponse>
समस्याएंं
यह लेन-देन से जुड़े एक मैसेज का जवाब है, जो गड़बड़ियों की वजह से प्रोसेस नहीं हुआ.
<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse timestamp="2020-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Issues>
<Issue code="1001" status="error">Example</Issue>
</Issues>
</TransactionResponse>