Ücret Modifikasyonları

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 ID ile eşleşmesi gerekir <RequestorID> özelliğinde belirtilen özellik değeri <OTA_HotelRateAmountNotifRQ> ve Aynı için <OTA_HotelAvailNotifRQ> mesaj hesap.

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

action belirtilmezse değişiklikler bu otel için eklenir veya güncellenir. Eğer action="overlay" belirtildi, daha sonra önceden tanımlananların tümü önce bu otelle ilgili değişiklikler silinir. Ardından, değişikliklerin değerleridir. action="overlay" kullanılıyorsa ve bu öğede hiçbir değişiklik belirtilmemişse bu otelle ilgili değişiklikler silindi.

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 id saklanmaz ve bu ücret değişikliği depolanır. Aksi takdirde, belirtilmezse ve id depolanır, ardından mevcut ücret değişikliği güncellendi.

Belirtilmişse değer "delete" olmalıdır. "delete" belirtilirse aynı id değerine sahip kayıtlı ücret değişikliği silinir. "delete" kullanırken <ItineraryRateModification>. Ayrıca, "delete" değil <HotelRateModifications action="overlay"/> ile bağlantılı olarak izin verilir.

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:

  • Pazartesi için M
  • Salı için T
  • Çarşamba için W
  • Perşembe için H
  • Cuma için F
  • Cumartesi için S
  • Pazar için U

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:

  • Pazartesi için M
  • Salı için T
  • Çarşamba için W
  • Perşembe için H
  • Cuma için F
  • Cumartesi için S
  • Pazar için U

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:

  • Pazartesi için M
  • Salı için T
  • Çarşamba için W
  • Perşembe için H
  • Cuma için F
  • Cumartesi için S
  • Pazar için U

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:
  • Bu alan için karakter sınırı 40 karakterdir.
  • Her ücret yalnızca tek bir ücret kuralıyla ilişkilendirilebilir.
  • Ücret kuralı kimliği uygulayan birden fazla değişiklik varsa sözlüksel açıdan en küçük olan ücret kuralı kimliği, ücretlendirebilirsiniz.
  • Bu kimlik, ücret kuralı tanımınızdaki bir ücret kuralıyla eşleşmiyorsa dosyası, uygun olarak kabul edilmez.
Bkz. Farklı özel indirim kullanıcı arayüzü hakkında bilgi için bu makaleyi inceleyin geliştirmeyi amaçlar.
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:

  • Bu değiştirme işlemi, uygun bir ücretin Geri Ödenebilir ücretini tamamen yeniden yazar ayarını değiştirin.
  • available veya refundable_until_days ayarlanmazsa ücret geri ödenebilir olarak gösterilmez.
  • available değeri 0 veya false ise diğer özellikler yoksayılır. Ücret şu şekilde görüntülenmez: diğer özelliklerden biri veya her ikisi de ayarlanmış olsa bile geri ödenebilir.
  • refundable_until_time politikasının ayarlanması önerilir; eğer değilse en erken zaman (gece yarısı) kullanılır.
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 refund; 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:

  • all: Ücret değişikliğini her geceye uygular: seyahat planındaki tüm tarihler çakışıyorsa seyahat planı tercih edebilirsiniz.
  • any: Ücret değişikliğini şu tarihlerdeki tüm gecelere uygular: içindeki bir tarihle çakışıyorsa seyahat planını karşılaştırma yapabilirsiniz.

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:

  • Pazartesi için M
  • Salı için T
  • Çarşamba için W
  • Perşembe için H
  • Cuma için F
  • Cumartesi için S
  • Pazar için U

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: include ve exclude.

Kullanıcı ülkeleri type değeri şu şekilde ayarlanırsa: include, ücret değişikliği şunlar için geçerlidir: listelenen ülkelerdeki kullanıcı sayısı.

Kullanıcı ülkeleri type değeri exclude ise Ücret değişikliği, listelenen ülkelerin dışındaki kullanıcılar için geçerlidir.

UserÜlkeler type ayarlanmazsa şu şekilde kabul edilir: include ve ücret değişikliği listelenen ülkelerdeki kullanıcılar için geçerlidir.

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.

<Success> veya <Issues> her iletide yer alır.

RateModificationsResponse / Issues 0..1 Issues işlenirken karşılaşılan bir veya daha fazla sorun için bir kapsayıcı RateModifications mesajı.

<Success> veya <Issues> her iletide yer alır.

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 warning, error, ve failure.

Ö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>