Genel Bakış
Bu API, belirli durumlarda işlemleri bir fiyata dinamik olarak uygulama yollarını tanımlamanızı sağlar. Ücretin ayarlanması veya geri ödeme yapılmasının etkinleştirilmesi gibi koşulların karşılanması gerekir. Yalnızca belirli bir süre için geçerli olan Promotions API en yüksek indirimlere sahip uygun promosyonlar hakkında bilgi edinmek istiyorsanız bu API, tüm işlemleri uygular. fiyat düzenlemeleri de dahil olmak üzere belirli koşullar nihai fiyatı artırır.
İstekler
Söz dizimi
RateModifications
mesajında aşağıdaki söz dizimi kullanılır:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="partner_key"
id="message_ID"
timestamp="timestamp">
<HotelRateModifications hotel_id="HotelID" action="[overlay]">
<ItineraryRateModification id="ModificationID" action="[delete]">
<BookingDates>
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/>
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/>
</BookingDates>
<BookingWindow min="integer" max="integer"/>
<CheckinDates>
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/>
</CheckinDates>
<CheckoutDates>
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/>
</CheckoutDates>
<Devices>
<Device type="[desktop|tablet|mobile]"/>
</Devices>
<LengthOfStay min="integer" max="integer"/>
<MinimumAmount before_discount="integer"/>
<RatePlans>
<RatePlan id="PackageID_1"/>
<RatePlan id="PackageID_2"/>
</RatePlans>
<RoomTypes>
<RoomType id="RoomID_1"/>
<RoomType id="RoomID_2"/>
</RoomTypes>
<StayDates application="[all|any]">
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/>
</StayDates>
<UserCountries type="[include|exclude]">
<Country code="country_code"/>
</UserCountries>
<ModificationActions>
<PriceAdjustment multiplier="float"/>
<RateRule id="RateRuleID"/>
<Refundable available="[false|true]"
refundable_until_days="number_of_days"
refundable_until_time="time"/>
<Availability status="[unavailable]"/>
</ModificationActions>
</ItineraryRateModification>
</HotelRateModifications>
</RateModifications>
Öğeler ve özellikler
RateModifications
mesajı aşağıdaki öğelere sahiptir ve
özellikler:
Öğe / @Özellik | Yineleme sayısı | Tür | Açıklama |
---|---|---|---|
RateModifications | 1 | Complex element | Ücret değişiklikleri mesajının kök öğesidir. |
RateModifications / @partner | 1 | string | Bu mesajın iş ortağı hesabıdır. Bu dize değeri
"İş ortağı anahtarı" değeri şurada listelenir:
Hotel Center'daki hesap ayarları sayfası.
Not: Aşağıdaki işlemler için feed sağlayan bir arka ucunuz varsa
birden fazla hesap varsa bu değerin |
RateModifications / @id | 1 | string | Bu istek mesajının benzersiz tanımlayıcısıdır. Bu değer döndürülür bu mesajdan yararlanabilirsiniz. İzin verilen karakterler a-z, A-Z, 0-9, _ şeklindedir (alt çizgi) ve - (kısa çizgi) tuşlarına basın. |
RateModifications / @timestamp | 1 | DateTime | Bu mesajın oluşturulma tarihi ve saati. |
RateModifications / HotelRateModifications | 0..n | HotelRateModifications | Bir tesisin ücret değişiklikleri. Her ücret değişikliği geçerlidir tek bir mülkle değiştirin. Not: Birden fazla ücret değişikliği uygulanabilecekse tüm değişiklikler uygulanır. Belirli bir sıra yok garantili. |
RateModifications / HotelRateModifications / @hotel_id | 1 | string | Tesisin benzersiz tanımlayıcısıdır. Bu değer,
Otel kimliği, kullanılarak belirtildi
<listing> öğesinde <id>
otel listesi feed'inde görünür. Otel Kimliği, Hotel Center'da da listelenir. |
RateModifications / HotelRateModifications / @action | 0..1 | enum |
|
RateModifications / HotelRateModifications / ItineraryRateModification | 0..200 | ItineraryRateModification | Bir tesis için tek bir ücret değişikliği. Not: Ücret değişikliklerinin hata ayıklaması zordur ve bunları ölçülü bir şekilde kullanmanızı öneririz. Aşağıdaki özelliklere sahip kullanım alanları için Teknik Hesap Yöneticinizle (THY) iletişime geçin: 200'den fazla ücret değişikliği yapmanız gerekir. |
RateModifications / HotelRateModifications / ItineraryRateModification / @id | 1 | string | Ücret değişikliğinin benzersiz tanımlayıcısı. Maksimum karaktere 40 izin verilir. İzin verilen karakterler şunlardır: a-z, A-Z, 0-9, _ (alt çizgi), - (kısa çizgi) ve . (nokta) tuşlarına basın. |
RateModifications / HotelRateModifications / ItineraryRateModification / @action | 0..1 | enum | Belirtilmezse ve
Belirtilmişse değer |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates | 0..1 | BookingDates | Rezervasyonun ne zaman yapılması gerektiğini tanımlayan bir veya daha fazla tarih aralığının kapsayıcısıdır. doğru ücretin uygulanması gerekir. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange | 1..99 | DateRange | Fiyat için rezervasyonun ne zaman yapılması gerektiğini belirten tarih aralığı karar verebilirsiniz. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @start | 0..1 | Date | Başlangıç tarihi (tesisin bulunduğu saat dilimine göre),
seçin. Bu tarih,
end tarihi. start belirtilmezse tarih
aralığı, başlangıç tarihi açısından etkin bir şekilde sınırsızdır. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @end | 0..1 | Date | Tesisin bulunduğu saat dilimine göre, bitiş tarihi
seçin. Bu tarih,
start tarihi. end belirtilmezse tarih
aralığı, bitiş tarihi açısından etkin bir şekilde sınırsızdır. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @days_of_week | 0..1 | string | Tarih aralığında izin verilen günleri ifade eder. Değilse belirtilen tarih aralığında tüm günlere izin verilir. Her biri karakteri bir günü belirtir. Örneğin, "MTWHF" belirtir belirtilen tarih aralığında hafta içi günlerine izin verilir. Geçerli karakterler şunlardır:
Karakter kombinasyonları geçerlidir. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow | 0..1 | BookingWindow | giriş tarihi (tesisin saat dilimine göre). Örneğin, rezervasyon aralığı 180 günden uzun olmayacak şekilde en az 7 güne ayarlanabilir. kontrol edin. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow / @min | 0..1 | integer | Rezervasyonun check-in işleminden minimum kaç gün önce yapılması gerektiğini belirtir ücret değişikliğinin uygulanacağı anlamına gelir. Belirtilmezse, minimum bir değer yoktur. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow / @max | 0..1 | integer | Rezervasyonun check-in işleminden maksimum kaç gün önce yapılması gerektiğini belirtir ücret değişikliğinin uygulanacağı anlamına gelir. Belirtilmezse, üst sınır değildir. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates | 0..1 | CheckinDates | Giriş yapma işleminin ne zaman yapılması gerektiğini tanımlayan bir veya daha fazla tarih aralığının kapsayıcısıdır. uygulanacak ücret değişikliğinin oranı. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange | 1..99 | DateRange | Fiyat için check-in'in ne zaman yapılması gerektiğini belirten tarih aralığı karar verebilirsiniz. Aşağıdaki durumlarda bu öğe gerekli değildir: Bir veya daha fazla ücret değişikliğini silerek. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @start | 0..1 | Date | Başlangıç tarihi (tesisin bulunduğu saat dilimine göre),
seçin. Bu tarih,
end tarihi. start belirtilmezse tarih
aralığı, başlangıç tarihi açısından etkin bir şekilde sınırsızdır. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @end | 0..1 | Date | Tesisin bulunduğu saat dilimine göre, bitiş tarihi
seçin. Bu tarih,
start tarihi. end belirtilmezse tarih
aralığı, bitiş tarihi açısından etkin bir şekilde sınırsızdır. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @days_of_week | 0..1 | string | Tarih aralığında izin verilen günleri ifade eder. Değilse belirtilen tarih aralığında tüm günlere izin verilir. Her biri karakteri bir günü belirtir. Örneğin, "MTWHF" belirtir belirtilen tarih aralığında hafta içi günlerine izin verilir. Geçerli karakterler şunlardır:
Karakter kombinasyonları geçerlidir. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates | 0..1 | CheckoutDates | Ödeme zamanını tanımlayan bir veya daha fazla tarih aralığının kapsayıcısıdır. ücret değişikliğinin uygulanabilmesi için gerçekleşmelidir. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange | 1..99 | DateRange | Fiyat için ne zaman çıkış yapılması gerektiğini belirten tarih aralığı karar verebilirsiniz. Aşağıdaki durumlarda bu öğe gerekli değildir: Bir veya daha fazla ücret değişikliğini silerek. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @start | 0..1 | Date | Başlangıç tarihi (tesisin bulunduğu saat dilimine göre),
seçin. Bu tarih,
end tarihi. start belirtilmezse tarih
aralığı, başlangıç tarihi açısından etkin bir şekilde sınırsızdır. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @end | 0..1 | Date | Tesisin bulunduğu saat dilimine göre, bitiş tarihi
seçin. Bu tarih,
start tarihi. end belirtilmezse tarih
aralığı, bitiş tarihi açısından etkin bir şekilde sınırsızdır. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @days_of_week | 0..1 | string | Tarih aralığında izin verilen günleri ifade eder. Değilse belirtilen tarih aralığında tüm günlere izin verilir. Her biri karakteri bir günü belirtir. Örneğin, "MTWHF" belirtir belirtilen tarih aralığında hafta içi günlerine izin verilir. Geçerli karakterler şunlardır:
Karakter kombinasyonları geçerlidir. |
RateModifications / HotelRateModifications / ItineraryRateModification / Devices | 0..1 | Devices | Şu uygulama için uygun kullanıcı cihazlarının listelendiği kapsayıcı: ücret değişikliği istiyorum. Belirtilirse ücret değişikliği yalnızca kullanıcı, listelenen cihazlardan biriyle eşleşirse uygulanır. Belirtilmemişse bu durumda ücret değişikliğinin uygulanması kısıtlanmaz. |
RateModifications / HotelRateModifications / ItineraryRateModification / Devices / Device | 1..3 | Device | Ücret için uygun olan bir kullanıcı cihazı türünü tanımlar tıklayın. |
RateModifications / HotelRateModifications / ItineraryRateModification / Devices / Device / @type | 1 | enum | Bir cihaz türü. Değer desktop olmalıdır.
tablet veya mobile . |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions | 1 | ModificationActions | Belirtilen tüm koşullar geçerliyse ücrete uygulanan işlemler karşılanıyor. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / PriceAdjustment | 0..1 | PriceAdjustment | Hem AmountBeforeTax hem de AmountBeforeTax ile çarparak ücreti değiştirir
Belirtilen çarpana göre AmountAfterTax |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / PriceAdjustment / @multiplier | 1 | float | Hem AmountBeforeTax hem de AmountAfterTax
çarpılır. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / RateRule | 0..1 | RateRule | Belirtilen ücret kuralı kimliğini uygulayarak ücreti değiştirir. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / RateRule / @id | 1 | string | Bu kimlik, bir ücreti
Ücret Kuralı Tanımı dosyası olarak ayarlayın.
Not:
|
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable | 0..1 | Refundable | Ücretin geri ödenebilirliğinin üzerine belirtilen değerin üzerine yazar.
Özellikleri ayarlarken aşağıdakilere dikkat edin:
|
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable / @available | 1 | boolean | (Zorunlu) 1 olarak ayarlayın veya
Fiyatın tam değere izin verip vermediğini belirtmek için true
geri ödeme; aksi takdirde 0 veya false olarak ayarlanır. |
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_days | 0..1 | integer | (Aşağıdaki durumlarda gereklidir:
available : true ) Belirtir
Eksiksiz geri ödeme alınabileceği gün sayısı check-in işleminden önce
istendi. refundable_until_days değeri
0 ile 330 arasında (0 ve 330 dahil) bir tam sayı olmalıdır. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable / @refundable_until_time | 0..1 | Time | (available değeri true ise önerilir)
günün en son saatine, otelin yerel saatine göre,
geri ödeme isteği dikkate alınır. Bu,
Belirtmek için refundable_until_days ,
Örneğin, "geri ödemeler iki gün önce saat 16:00'a kadar yapılabilir.
check-in" yazın. refundable_until_time ayarlanmazsa
varsayılan olarak gece yarısına ayarlanır. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Availability | 0..1 | Availability | Belirtilen değerin üzerine ücretin müsaitlik durumunun üzerine yazar.
Yalnızca ücretin unavailable olarak ayarlanması desteklenmektedir. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Availability / @status | 1 | enum | status="unavailable" ise ücret işlenir.
geçerli bir fiyat bulunup bulunmadığına bakılmaksızın, böyle bir fiyat
somut olarak ortaya koyar. |
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay | 0..1 | LengthOfStay | Bu ücret değişikliğinin geçerli olabileceği konaklama süresi sınırlarını tanımlar tarafından uygulanır. Konaklama süresi şu olduğunda ücret değişikliği uygulanmaz: minimum ve maksimum sınırların dışında kalıyor. |
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay / @min | 0..1 | integer | Ücret değişikliğinin gerçekleşmesi için konaklamada izin verilen minimum gece sayısı geçerlidir. Belirtilmezse minimum değer yoktur. |
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay / @max | 0..1 | integer | Ücret değişikliğinin gerçekleşmesi için konaklamada izin verilen maksimum gece sayısı geçerlidir. Belirtilmezse maksimum değer yoktur. |
RateModifications / HotelRateModifications / ItineraryRateModification / MinimumAmount | 0..1 | MinimumAmount | Günlük oda fiyatlarının minimum toplamını belirtir (
AmountBeforeTax veya AmountAfterTax )
değeri aşılmamalıdır. |
RateModifications / HotelRateModifications / ItineraryRateModification / MinimumAmount / @before_discount | 1 | integer | Ücret değişikliğinin gerçekleşmesi için aşılması gereken değer geçerlidir. |
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans | 0..1 | RatePlans | Ücret değişikliğinin yapıldığı ücret planları listesinin kapsayıcısıdır
geçerli olur. <RatePlans> belirtilmezse ücret
değişiklik tüm ücret planları için geçerlidir. |
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans / RatePlan | 1..n | RatePlan | Ücret planını belirtir. Ücret planı, (İşlem'de tanımlandığı şekilde paket, ücretler ve stok durumu) (Tesis Verileri), OTA_HotelRateAmountNotifRQ ve OTA_HotelAvailNotifRQ iletilerinin yer aldığı ve PackageID tarafından tanımlandığı şekilde yapılır. |
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans / RatePlan / @id | 1 | string | Ücret planının benzersiz tanımlayıcısıdır. Bu değer,
<PackageData> içindeki PackageID değeri
Transaction (Tesis Verileri) mesajında ve
Şu ürünlerde RatePlanCode özelliği var:
Her ikisinde de <StatusApplicationControl>
<OTA_HotelRateAmountNotifRQ> ve
<OTA_HotelAvailNotifRQ> mesaj.
İzin verilen maksimum karakter sayısı 50'dir. |
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes | 0..1 | RoomTypes | Ücret değişikliğinin geçerli olduğu oda türleri listesinin kapsayıcısıdır.
Ücret değişikliği, her bir <RoomType> için geçerlidir.
belirtiliyor. <RoomTypes> belirtilmezse
ücret değişikliği tüm odalar için geçerlidir. |
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes / RoomType | 1..n | RoomType | Oda türünü belirtir. Oda türü
<RoomData> öğesi
Transaction (Tesis Verileri) mesajı ve
(<RoomID> değeri kullanılarak) referans verildi. (
<RoomID> değerine,
OTA_HotelRateAmountNotifRQ öğesinde InvTypeCode özelliği
messages.) |
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes / RoomType / @id | 1 | string | Envanterin benzersiz tanımlayıcısıdır (oda türü). Bu değer,
Transaction (Tesis Verileri) mesajında <RoomID> adresine.
İzin verilen maksimum karakter sayısı 50'dir. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates | 0..1 | StayDates | Bir veya daha fazla tarih aralığının yer aldığı kapsayıcı Sezonluk fiyatlandırmaya uyum sağlamak gibi bir ücret değişikliği uygulanır. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / @application | 1 | enum | Ücret değişikliğinin nasıl uygulanması gerektiğini açıklar. Geçerli değerler şunlardır:
Bu özellik her zaman belirtilmelidir. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange | 1..99 | DateRange | Ücret değişikliğinin yapılacağı tarihleri belirten bir tarih aralığı geçerlidir. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @start | 0..1 | Date | Başlangıç tarihi (tesisin bulunduğu saat dilimine göre),
seçin. Bu tarih,
end tarihi. start belirtilmezse tarih
aralığı, başlangıç tarihi açısından etkin bir şekilde sınırsızdır. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @end | 0..1 | Date | Tesisin bulunduğu saat dilimine göre, bitiş tarihi
seçin. Bu tarih, start tarihiyle aynı veya bu tarihten sonra olmalıdır
tarihi. end belirtilmezse tarih
aralığı, bitiş tarihi açısından etkin bir şekilde sınırsızdır. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @days_of_week | 0..1 | string | Tarih aralığında izin verilen günleri ifade eder. Değilse belirtilen tarih aralığında tüm günlere izin verilir. Her biri karakteri bir günü belirtir. Örneğin, "MTWHF" belirtir belirtilen tarih aralığında hafta içi günlerine izin verilir. Geçerli karakterler şunlardır:
Karakter kombinasyonları geçerlidir. |
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries | 0..1 | UserCountries | Belirtilirse ücret değişikliği yalnızca kullanıcı belirtilen ülkelerden birinde bulunmalısınız. Belirtilmezse ücret değişiklik, kullanıcının konumundan bağımsız olarak uygulanır. |
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / @type | 0..1 | enum | UserCountry spesifikasyonunun türü.
Geçerli değerler: Kullanıcı ülkeleri Kullanıcı ülkeleri UserÜlkeler |
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / Country | 1..300 | Country | Ücret değişikliği için izin verilen kullanıcı ülkesini belirtir. |
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / Country / @code | 1 | string | CLDR ülke kodu,
DE veya FR gibi. Bazılarının
CLDR ülke kodu, 2 harfli ISO ile aynı değildir
ülke kodu. Ayrıca, CLDR bölge kodları desteklenmez. |
Örnekler
Temel mesaj
Aşağıdaki örnekte temel bir RateModifications
mesajı gösterilmektedir:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1">
<ItineraryRateModification id="1">
<BookingDates>
<DateRange start="2023-07-01" end="2023-07-31" days_of_week="MTWHF"/>
<DateRange start="2023-09-01" end="2023-09-30"/>
</BookingDates>
<BookingWindow min="7" max="330"/>
<CheckinDates>
<DateRange start="2023-10-01" end="2023-10-31" days_of_week="FSU"/>
</CheckinDates>
<CheckoutDates>
<DateRange start="2023-10-08" end="2023-11-07" days_of_week="FSU"/>
</CheckoutDates>
<Devices>
<Device type="mobile"/>
<Device type="tablet"/>
</Devices>
<LengthOfStay min="2" max="14"/>
<RatePlans>
<RatePlan id="234"/>
<RatePlan id="567"/>
</RatePlans>
<RoomTypes>
<RoomType id="123"/>
<RoomType id="456"/>
</RoomTypes>
<UserCountries>
<Country code="US"/>
<Country code="GB"/>
</UserCountries>
<ModificationActions>
<PriceAdjustment multiplier="1.2"/>
</ModificationActions>
</ItineraryRateModification>
</HotelRateModifications>
</RateModifications>
Tek bir ücret değişikliğini sil
Aşağıdaki örnekte, bir mülk:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1">
<ItineraryRateModification id="1" action="delete"/>
</HotelRateModifications>
</RateModifications>
Tüm ücret değişikliklerini sil
Aşağıdaki örnekte, bir mülk:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1" action="overlay"/>
</RateModifications>
Tüm ücret değişikliklerini yer paylaşımlı ver
Aşağıdaki örnekte, <HotelRateModifications>
öğesi için
bir veya daha fazla yeni ücret değişikliği yapılan mülk. Zaman
action="overlay"
, kayıtlı tüm ücret değişiklikleri tarihinden önce silinir.
geçerli mesajda belirtilen ücret değişikliklerini kaydederek:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1" action="overlay"/>
<ItineraryRateModification id="1">
<BookingDates>
<DateRange start="2023-09-01" end="2023-09-30"/>
</BookingDates>
<ModificationActions>
<PriceAdjustment multiplier="1.2"/>
</ModificationActions>
<RoomTypes>
<RoomType id="123"/>
<RoomType id="456"/>
</RoomTypes>
<RatePlans>
<RatePlan id="234"/>
<RatePlan id="567"/>
</RatePlans>
</ItineraryRateModification>
</HotelRateModifications>
</RateModifications>
Birden çok değiştirme işlemi
Aşağıdaki örnekte, birden fazla değişiklik işleminin nasıl gerçekleştirileceği gösterilmektedir tek seferde:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1">
<ItineraryRateModification id="1">
<BookingDates>
<DateRange start="2023-01-01" end="2023-02-28"/>
</BookingDates>
<ModificationActions>
<PriceAdjustment multiplier=".95"/>
<Refundable available="true"
refundable_until_days="1"
refundable_until_time="12:00:00"/>
</ModificationActions>
</ItineraryRateModification>
</HotelRateModifications>
</RateModifications>
Kullanıcının ülkeleri için ücret planını devre dışı bırakma
Aşağıdaki örnekte, bir ücret planının yalnızca
Japonya'daki (JP
) kullanıcılar:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1">
<ItineraryRateModification id="1">
<RatePlans>
<RatePlan id="jp_only"/>
</RatePlans>
<UserCountries type="exclude">
<Country code="JP"/>
</UserCountries>
<ModificationActions>
<Availability status="unavailable"/>
</ModificationActions>
</ItineraryRateModification>
</HotelRateModifications>
</RateModifications>
Yanıtlar
Söz dizimi
RateModificationsResponse
mesajında aşağıdaki söz dizimi kullanılır:
<?xml version="1.0" encoding="UTF-8"?>
<RateModificationsResponse timestamp="timestamp"
id="message_ID"
partner="partner_key">
<!-- Either Success or Issues will be populated. -->
<Success/>
<Issues>
<Issue code="issue_code" status="issue_type"><var>issue_description</var></Issue>
</Issues>
</RateModificationsResponse>
Öğeler ve özellikler
RateModificationsResponse
mesajında şunlar var:
öğeler ve özellikler:
Öğe / @Özellik | Yineleme sayısı | Tür | Açıklama |
---|---|---|---|
RateModifications | 1 | Complex element | Alınan bir öğenin başarısını veya sorunlarını gösteren kök öğe RateModifications istek mesajı. |
RateModificationsResponse / @timestamp | 1 | DateTime | Bu mesajın oluşturulma tarihi ve saati. |
RateModificationsResponse / @id | 1 | string | İlişkilendirilmiş RateModifications mesajındaki benzersiz tanımlayıcı. |
RateModificationsResponse / @partner | 1 | string | Bu mesajın iş ortağı hesabıdır. |
RateModificationsResponse / Success | 0..1 | Success | RateModifications mesajının başarıyla işlendiğini belirtir.
uyarı, hata veya sorun yok.
|
RateModificationsResponse / Issues | 0..1 | Issues | işlenirken karşılaşılan bir veya daha fazla sorun için bir kapsayıcı
RateModifications mesajı.
|
RateModificationsResponse / Issues / Issue | 1..n | Issue | Güncelleme sırasında karşılaşılan uyarı, hata veya sorunun RateModifications mesajını işlemeniz gerekir. Bu sorunlarla ilgili ayrıntılar Feed Durumu Hatasında bulundu Mesajlar. |
RateModificationsResponse / Issues / Issue / @code | 1 | integer | Sorunun tanımlayıcısıdır. |
RateModificationsResponse / Issues / Issue / @status | 1 | enum | Karşılaşılan sorunun türü. Geçerli değerler |
Örnekler
Başarılı
Aşağıda, başarıyla işlenmiş bir RateModifications için yanıt yer almaktadır mesajını alırsınız.
<?xml version="1.0" encoding="UTF-8"?>
<RateModificationsResponse timestamp="2023-05-22T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Success/>
</RateModificationsResponse>
Sorunlar
Aşağıda, işlenmemiş bir RateModifications mesajına yanıt verilmiştir neden olabilir.
<?xml version="1.0" encoding="UTF-8"?>
<RateModificationsResponse timestamp="2023-05-22T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Issues>
<Issue code="1001" status="error">Example</Issue>
</Issues>
</RateModificationsResponse>