Genel bakış
Bu API, koşullar karşılandığında işlemleri (ör. fiyatı ayarlama veya geri ödemeyi etkinleştirme) ücrete dinamik olarak uygulamanın yollarını tanımlamanızı sağlar. Yalnızca en yüksek indirimlerle uygun promosyonları uygulayabilen Promotions API'nin aksine bu API, son fiyatı nihai fiyatı artıracak fiyat düzenlemeleri dahil olmak üzere belirli koşullar karşılandığında tüm işlemleri uygular.
İ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ında aşağıdaki öğeler ve özellikler bulunur:
Öğ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, Hotel Center'ın
Hesap ayarları sayfasında listelenen "İş ortağı anahtarı" değeridir.
Not: Birden fazla hesap için feed sağlayan bir arka ucunuz varsa bu değerin aynı hesapta |
RateModifications / @id | 1 | string | Bu istek mesajının benzersiz tanımlayıcısıdır. Bu değer, yanıt mesajında döndürülür. İzin verilen karakterler a-z, A-Z, 0-9, _ (alt çizgi) ve - (kısa çizgi) şeklindedir. |
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 tek bir tesis için geçerlidir. Not: Aynı fiyata birden fazla ücret değişikliği uygulanabiliyorsa tüm değişiklikler uygulanır. Belirli bir sıra garanti edilmez. |
RateModifications / HotelRateModifications / @hotel_id | 1 | string | Tesisin benzersiz tanımlayıcısıdır. Bu değer, Otel Listesi Feed'indeki
<listing> öğesinde <id> kullanılarak belirtilen Otel Kimliği ile eşleşmelidir. 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 bu değişiklikleri kullanırken dikkatli olmanızı öneririz. 200'den fazla ücret değişikliği gerektiren kullanım alanları için Teknik Hesap Yöneticinizle (THY) iletişime geçin. |
RateModifications / HotelRateModifications / ItineraryRateModification / @id | 1 | string | Ücret değişikliğinin benzersiz tanımlayıcısı. İzin verilen maksimum karakter sayısı 40'tır. İzin verilen karakterler 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 aynı Belirtilmişse değer |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates | 0..1 | BookingDates | Ücret değişikliğinin uygulanabilmesi için rezervasyonun ne zaman gerçekleşmesi gerektiğini tanımlayan bir veya daha fazla tarih aralığının kapsayıcısıdır. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange | 1..99 | DateRange | Ücret değişikliğinin uygulanması için rezervasyonun ne zaman gerçekleşmesi gerektiğini belirten tarih aralığıdır. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @start | 0..1 | Date | Tarih aralığının (tesisin bulunduğu saat dilimine göre) başlangıç tarihidir. Bu tarih, end tarihinden önce veya bu tarihle aynı olmalıdır. 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 | Tarih aralığının (tesisin bulunduğu saat dilimine göre) bitiş tarihidir. Bu tarih, start tarihiyle aynı veya bu tarihten sonra olmalıdır. 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. Belirtilmezse tarih aralığında tüm günlere izin verilir. Dizedeki her karakter bir gün belirtir. Örneğin "MTWHF", tarih aralığında hafta içi günlerine izin verildiğini belirtir. Geçerli karakterler şunlardır:
Karakter kombinasyonları geçerlidir. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow | 0..1 | BookingWindow | Giriş tarihine göre rezervasyonun gerçekleşmesi gereken dönemi belirtir (tesisin saat dilimine göre). Örneğin, rezervasyon aralığı check-in işleminden en az 7 gün önce olarak ayarlanabilir ancak 180 günden uzun olamaz. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow / @min | 0..1 | integer | Ücret değişikliğinin uygulanabilmesi için rezervasyonun check-in işleminden minimum kaç gün önce yapılması gerektiğini belirtir. Belirtilmezse minimum değer yoktur. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow / @max | 0..1 | integer | Ücret değişikliğinin uygulanabilmesi için rezervasyonun check-in işleminden maksimum kaç gün önce yapılması gerektiğini belirtir. Belirtilmezse maksimum değer yoktur. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates | 0..1 | CheckinDates | Ücret değişikliğinin uygulanması için check-in işleminin ne zaman yapılması gerektiğini tanımlayan bir veya daha fazla tarih aralığının kapsayıcısıdır. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange | 1..99 | DateRange | Ücret değişikliğinin uygulanabilmesi için check-in işleminin ne zaman yapılması gerektiğini belirten tarih aralığıdır. Bir veya daha fazla ücret değişikliğini siliyorsanız bu öğe gerekli değildir. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @start | 0..1 | Date | Tarih aralığının (tesisin bulunduğu saat dilimine göre) başlangıç tarihidir. Bu tarih, end tarihinden önce veya bu tarihle aynı olmalıdır. 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 | Tarih aralığının (tesisin bulunduğu saat dilimine göre) bitiş tarihidir. Bu tarih, start tarihiyle aynı veya bu tarihten sonra olmalıdır. 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. Belirtilmezse tarih aralığında tüm günlere izin verilir. Dizedeki her karakter bir gün belirtir. Örneğin "MTWHF", tarih aralığında hafta içi günlerine izin verildiğini belirtir. Geçerli karakterler şunlardır:
Karakter kombinasyonları geçerlidir. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates | 0..1 | CheckoutDates | Ücret değişikliğinin uygulanması için ne zaman çıkış yapılması gerektiğini tanımlayan bir veya daha fazla tarih aralığının kapsayıcısıdır. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange | 1..99 | DateRange | Ücret değişikliğinin uygulanabilmesi için ne zaman çıkış yapılması gerektiğini belirten tarih aralığıdır. Bir veya daha fazla ücret değişikliğini siliyorsanız bu öğe gerekli değildir. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @start | 0..1 | Date | Tarih aralığının (tesisin bulunduğu saat dilimine göre) başlangıç tarihidir. Bu tarih, end tarihinden önce veya bu tarihle aynı olmalıdır. 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 | Tarih aralığının (tesisin bulunduğu saat dilimine göre) bitiş tarihidir. Bu tarih, start tarihiyle aynı veya bu tarihten sonra olmalıdır. 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. Belirtilmezse tarih aralığında tüm günlere izin verilir. Dizedeki her karakter bir gün belirtir. Örneğin "MTWHF", tarih aralığında hafta içi günlerine izin verildiğini belirtir. Geçerli karakterler şunlardır:
Karakter kombinasyonları geçerlidir. |
RateModifications / HotelRateModifications / ItineraryRateModification / Devices | 0..1 | Devices | Ücret değişikliği için uygun olan kullanıcı cihazlarını listeleyen kapsayıcıdır. Belirtilirse ücret değişikliği yalnızca kullanıcının listelenen cihazlardan biriyle eşleşmesi durumunda uygulanır. Belirtilmezse bu işlem, ücret değişikliğinin uygulanmasını kısıtlamaz. |
RateModifications / HotelRateModifications / ItineraryRateModification / Devices / Device | 1..3 | Device | Ücret değişikliği için uygun olan bir kullanıcı cihazı türünü tanımlar. |
RateModifications / HotelRateModifications / ItineraryRateModification / Devices / Device / @type | 1 | enum | Bir cihaz türü. Değer desktop , tablet veya mobile olmalıdır. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions | 1 | ModificationActions | Belirtilen tüm koşullar karşılanırsa ücrete uygulanan işlemler. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / PriceAdjustment | 0..1 | PriceAdjustment | AmountBeforeTax ve AmountAfterTax değerlerini belirtilen çarpanla çarparak ücreti değiştirir |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / PriceAdjustment / @multiplier | 1 | float | Hem AmountBeforeTax hem de AmountAfterTax bu değerle ç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ı dosyanızdaki bir tanımla eşleştirir.
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) Ücretin eksiksiz şekilde geri ödenebildiğini belirtmek için 1 veya true olarak ayarlayın. Aksi takdirde 0 veya false olarak ayarlayın. |
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_days | 0..1 | integer | (available değeri true ise zorunludur) Eksiksiz geri ödeme isteğinin, check-in tarihinden kaç gün önce yapılabileceğini belirtir. 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) Eksiksiz geri ödeme isteğinin dikkate alındığı, otelin yerel saatinde günün son saatini belirtir. Örneğin, "geri ödemelerin check-in'den iki gün önce saat 16:00'a kadar geçerli olacağını" belirtmek için refundable_until_days ile birleştirilebilir. refundable_until_time ayarlanmazsa değer 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" değeri geçerli bir fiyat olup olmadığına bakılmaksızın, fiyat yok gibi değerlendirilir. |
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay | 0..1 | LengthOfStay | Bu ücret değişikliğinin uygulanabileceği konaklama süresi sınırlarını belirler. Konaklama süresi minimum ve maksimum sınırların dışında olduğunda ücret değişikliği uygulanmaz. |
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay / @min | 0..1 | integer | Ücret değişikliğinin uygulanması için konaklama süresinde izin verilen minimum gece sayısıdır. Belirtilmezse minimum değer yoktur. |
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay / @max | 0..1 | integer | Ücret değişikliğinin uygulanması için konaklama süresinde izin verilen maksimum gece sayısıdır. Belirtilmezse maksimum değer yoktur. |
RateModifications / HotelRateModifications / ItineraryRateModification / MinimumAmount | 0..1 | MinimumAmount | Ücret değişikliğinin uygulanabilmesi için aşılması gereken günlük oda ücretlerinin (AmountBeforeTax veya AmountAfterTax değerlerinin daha büyük olanı kullanılarak) minimum toplamını belirtir. |
RateModifications / HotelRateModifications / ItineraryRateModification / MinimumAmount / @before_discount | 1 | integer | Ücret değişikliğinin uygulanabilmesi için aşılması gereken değer. |
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans | 0..1 | RatePlans | Ücret değişikliğinin uygulandığı ücret planları listesinin kapsayıcısıdır. <RatePlans> belirtilmezse ücret değişikliği tüm ücret planları için geçerli olur. |
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans / RatePlan | 1..n | RatePlan | Ücret planını belirtir. Ücret planı; Transaction (Tesis Verileri), OTA_HotelRateAmountNotifRQ ve OTA_HotelAvailNotifRQ mesajlarında tanımlanan ve PackageID tarafından tanımlanan paket, ücret ve stok durumunun kombinasyonuyla tanımlanır. |
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans / RatePlan / @id | 1 | string | Ücret planının benzersiz tanımlayıcısıdır. Bu değer, Transaction (Tesis Verileri) mesajındaki <PackageData> öğesinde ve hem <OTA_HotelRateAmountNotifRQ> hem de <OTA_HotelAvailNotifRQ> mesajlarındaki <StatusApplicationControl> öğesindeki RatePlanCode özelliğinde yer alan PackageID değeriyle eşlenir.
İ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, belirtilen her bir <RoomType> için geçerlidir. <RoomTypes> belirtilmezse ücret değişikliği tüm odalar için geçerli olur. |
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes / RoomType | 1..n | RoomType | Oda türünü belirtir. Oda türü, Transaction (Tesis Verileri) mesajındaki bir <RoomData> öğesinde tanımlanır ve <RoomID> değeri kullanılarak referans verilir. (<RoomID> değerine, OTA_HotelRateAmountNotifRQ mesajlarındaki InvTypeCode özelliği tarafından da referans verilir.) |
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) mesajlarındaki <RoomID> ile eşlenir.
İzin verilen maksimum karakter sayısı 50'dir. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates | 0..1 | StayDates | Sezonluk fiyatlandırmaya uymak gibi, ücret değişikliğinin nasıl uygulanacağını belirleyen bir veya daha fazla tarih aralığının kapsayıcısıdır. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / @application | 1 | enum | Ücret değişikliğinin nasıl uygulanması gerektiğini açıklar. Valid values are:
Bu özellik her zaman belirtilmelidir. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange | 1..99 | DateRange | Ücret değişikliğinin uygulanacağı tarihleri belirten tarih aralığıdır. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @start | 0..1 | Date | Tarih aralığının (tesisin bulunduğu saat dilimine göre) başlangıç tarihidir. Bu tarih, end tarihinden önce veya bu tarihle aynı olmalıdır. 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 | Tarih aralığının (tesisin bulunduğu saat dilimine göre) bitiş tarihidir. Bu tarih, start tarihiyle aynı veya bu tarihten sonra olmalıdır. 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. Belirtilmezse tarih aralığında tüm günlere izin verilir. Dizedeki her karakter bir gün belirtir. Örneğin "MTWHF", tarih aralığında hafta içi günlerine izin verildiğini belirtir. 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 bulunuyorsa uygulanır. Belirtilmezse ücret değişikliği, 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 UserCountry UserCountry 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 | DE veya FR gibi bir CLDR ülke kodu. Bazı ülkelerde CLDR ülke kodunun 2 harfli ISO ülke koduyla aynı olmadığını unutmayın. 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 için bir ücret değişikliğinin nasıl silineceği 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" action="delete"/>
</HotelRateModifications>
</RateModifications>
Tüm ücret değişikliklerini sil
Aşağıdaki örnekte, bir tesisteki tüm ücret değişikliklerini nasıl sileceğiniz 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" action="overlay"/>
</RateModifications>
Tüm ücret değişikliklerini yer paylaşımlı ver
Aşağıdaki örnekte, bir veya daha fazla yeni ücret değişikliğiyle tesis için <HotelRateModifications>
değerinin nasıl üstleneceği gösterilmektedir. action="overlay"
olduğunda, geçerli mesajda belirtilen ücret değişiklikleri saklanmadan önce, kayıtlı tüm ücret değişiklikleri silinir:
<?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, tek seferde birden çok değişiklik işleminin nasıl gerçekleştirileceği 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-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, ücret planının yalnızca Japon (JP
) kullanıcılarla nasıl sınırlanacağı 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">
<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ı aşağıdaki öğeleri ve özellikleri içerir:
Öğe / @Özellik | Yineleme sayısı | Tür | Açıklama |
---|---|---|---|
RateModifications | 1 | Complex element | Alınan RateModifications istek mesajının başarısını veya sorunlarını gösteren kök öğe. |
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 uyarı, hata veya sorun olmadan başarıyla işlendiğini belirtir.
Her mesajda |
RateModificationsResponse / Issues | 0..1 | Issues | RateModifications mesajı işlenirken karşılaşılan bir veya daha fazla sorun için kullanılan bir kapsayıcıdır.
Her mesajda |
RateModificationsResponse / Issues / Issue | 1..n | Issue | RateModifications mesajı işlenirken karşılaşılan uyarı, hata veya sorunun açıklamasıdır. Bu sorunlarla ilgili ayrıntılara Feed Durumu Hata Mesajları bölümünden ulaşabilirsiniz. |
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 mesajına yanıt yer almaktadır.
<?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, hatalar nedeniyle işlenmeyen bir RateModifications mesajına yanıt yer almaktadır.
<?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>