अनुरोध
सिंटैक्स
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> , और
<OTA_HotelInvCountNotifRQ> मैसेज में,
<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> होते हैं. कृपया ध्यान दें कि यहां जापानी फ़ुटॉन को नहीं गिना जाना चाहिए.
हर
<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 और
OTA_HotelAvailNotifRQ मैसेज में मौजूद RatePlanCode से मेल खाता है. |
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 | इससे उस रूम टाइप का RoomID पता चलता है जिसे इस किराये के प्लान के साथ जोड़ा जा सकता है. कमरे के टाइप की जानकारी, <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:00 बजे तक उपलब्ध हैं", यह बताने के लिए, इसे 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) में, ज़्यादा से ज़्यादा चार मेहमान ठहर सकते हैं. इसके अलावा, इसमें ज़्यादा से ज़्यादा चार वयस्क और तीन बच्चे हो सकते हैं. इस कमरे को बुक करने के लिए, यह ज़रूरी है कि कमरे में लोगों की संख्या से जुड़ी तीनों ज़रूरी शर्तें पूरी की गई हों. इस कॉन्फ़िगरेशन में, एक सामान्य कमरे को दिखाया गया है. इसमें दो बेड हैं और हर बेड पर दो लोग सो सकते हैं. बच्चों की संख्या, कुल क्षमता से एक कम होती है, क्योंकि कमरे में कम से कम एक वयस्क होना चाहिए.
<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>
दो डबल बेड
यहां 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>
जैपनीज़ वेस्टर्न रूम
यहां 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>