Ücret Modifikasyonları

Genel Bakış

Bu API, koşullar karşılandığında bir fiyata dinamik olarak işlem uygulamanın yollarını (ör. fiyatı ayarlama veya geri ödeme özelliğini etkinleştirme) tanımlamanıza olanak tanır. Yalnızca en yüksek indirimlere sahip uygun promosyonları uygulayabilen Promotions API'nin aksine bu API, belirli koşullar karşılandığında tüm işlemleri uygular. Bu işlemler arasında nihai fiyatı artırabilecek fiyat düzenlemeleri de bulunur.

İstekler

Söz dizimi

RateModifications mesajında şu söz dizimi kullanılır:

<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="partner_key&quot;
                      id="message_ID"
   >   <                timestamp="timestamp"
  HotelRateM>odifi<cations hotel_id="HotelID" action="[overlay]&quo>t;
    <ItineraryRat>eModifica<tion id="ModificationID" action="[delete]&quot;
      BookingDates>
        <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD&quot; days_of_week=&q>uot;&qu<ot;MTWHFSU_or>_subset<""/
        DateRange start=&quo>t;YYYY-<MM-DD" >end="<;YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/
      />Booking<Dates
      B>ookingW<indow min=&qu>ot;intege<r" max="integer"/
      CheckinDates
        DateRange start=&quot>;YYYY-M<M-DD" end>="<YYYY-MM>-DD"< days_of_week=""MTWHFSU_or_s>ubset&q<uot;&quo>t;/
   <   /CheckinDates
      CheckoutDates
    >    Dat<eRange start="YYYY-MM-DD&quot; end=>"Y<YYY-MM-DD>" da<ys_of_week=&quot;"MTW>HFSU_or_s<ubset"&quot;/
      />Checkou<tDates
   >   Devi<ces
     >   Device< type="[desktop|ta>blet|mobi<le]"/
      /Devic>es
    <  L>engthOfStay mi<n="integer" max="i>nteger&qu<ot;/
      MinimumAmount before_discount="integer"/
      RatePlans
   >     Ra<tePlan id=>"P<ackageID_1"/
        RatePlan id=>"Pac<kageID_2"/
      /RateP>lans
  <    Roo>mTypes
       < RoomType id=">RoomID_1&<quot;/
        RoomType id=&quot;Ro>omID_2&qu<ot;/
      /RoomTypes
   >   StayDa<tes application="[all|any]&quot;
        DateRange start="YYYY-MM-DD&quot; end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_su>bset"<;"/
      /StayDates
      User>Countri<es type="[inclu>de|ex<clude]"
        Count>ry <code="country_code>&<quot;/
      /User>Countries
      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ı hesap genelinde <OTA_HotelRateAmountNotifRQ> ve <OTA_HotelAvailNotifRQ> mesajlarınızın <RequestorID> öğesinde belirtilen ID özellik değeriyle eşleşmesi gerekir.

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 saatidir.
RateModifications / HotelRateModifications 0..n HotelRateModifications

Bir tesise ait fiyat değişiklikleri. Her fiyat değişikliği tek bir tesis için geçerlidir.

Not: Aynı ücrete 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ı. 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

action belirtilmezse bu öğedeki değişiklikler bu otel için eklenir veya güncellenir. action="overlay" belirtilirse önce bu otel için daha önce tanımlanmış tüm değişiklikler silinir. Ardından, burada belirtilen değişiklikler yazılır. action="overlay" kullanılırsa ve bu öğede herhangi bir değişiklik belirtilmezse bu otel için yapılan tüm değişiklikler silinir.

RateModifications / HotelRateModifications / ItineraryRateModification 0..200 ItineraryRateModification

Bir tesis için tek bir fiyat değişikliği.

Not: Fiyat değişikliklerinde hata ayıklama işlemi zordur ve bu değişiklikleri az miktarda kullanmanı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ıdır. İ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) şeklindedir.
RateModifications / HotelRateModifications / ItineraryRateModification / @action 0..1 enum

Belirtilmezse ve aynı id değerine sahip bir ücret değişikliği depolanmıyorsa bu ücret değişikliği depolanır. Aksi takdirde belirtilmezse ve aynı id değerine sahip bir ücret değişikliği depolanıyorsa mevcut ücret değişikliği güncellenir.

Belirtilirse değer "delete" olmalıdır. "delete" belirtilirse aynı id değerine sahip depolanan ücret değişikliği silinir. "delete" kullanırken <ItineraryRateModification> satırına alt öğe eklemeyin. Ayrıca "delete" ile birlikte <HotelRateModifications action="overlay"/> kullanılmasına izin verilmez.

RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates 0..1 BookingDates Fiyat 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 (girilen tarihler dahil) başlangıç tarihidir (tesisin bulunduğu saat dilimine göre). Bu tarih, end tarihinden önce veya ilgili tarihle aynı olmalıdır. start belirtilmezse tarih aralığı, başlangıç tarihi açısından etkin bir şekilde sınırlandırılmaz.
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @end 0..1 Date Tarih aralığının (girilen tarihler dahil) bitiş tarihidir (tesisin bulunduğu saat dilimine göre). Bu tarih, start tarihiyle aynı veya ilgili tarihten sonra olmalıdır. end belirtilmezse tarih aralığı, bitiş tarihi açısından etkin bir şekilde sınırlandırılmaz.
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @days_of_week 0..1 string

Tarih aralığında izin verilen günlerdir. 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çindeki günlere izin verildiğini belirtir.

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

Herhangi bir karakter kombinasyonu geçerlidir.

RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow 0..1 BookingWindow Check-in tarihine göre rezervasyonun gerçekleşmesi gereken dönemi belirtir (tesisin saat dilimine göre). Örneğin rezervasyon dönemi, check-in işleminden en erken 7 gün önce olarak ayarlanabilir ancak 180 günü aşamaz.
RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow / @min 0..1 integer Fiyat 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 Fiyat 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 Fiyat değişikliğinin uygulanabilmesi 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 Fiyat 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 (girilen tarihler dahil) başlangıç tarihidir (tesisin bulunduğu saat dilimine göre). Bu tarih, end tarihinden önce veya ilgili tarihle aynı olmalıdır. start belirtilmezse tarih aralığı, başlangıç tarihi açısından etkin bir şekilde sınırlandırılmaz.
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @end 0..1 Date Tarih aralığının (girilen tarihler dahil) bitiş tarihidir (tesisin bulunduğu saat dilimine göre). Bu tarih, start tarihiyle aynı veya ilgili tarihten sonra olmalıdır. end belirtilmezse tarih aralığı, bitiş tarihi açısından etkin bir şekilde sınırlandırılmaz.
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @days_of_week 0..1 string

Tarih aralığında izin verilen günlerdir. 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çindeki günlere izin verildiğini belirtir.

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

Herhangi bir karakter kombinasyonu geçerlidir.

RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates 0..1 CheckoutDates Fiyat değişikliğinin uygulanabilmesi 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 (girilen tarihler dahil) başlangıç tarihidir (tesisin bulunduğu saat dilimine göre). Bu tarih, end tarihinden önce veya ilgili tarihle aynı olmalıdır. start belirtilmezse tarih aralığı, başlangıç tarihi açısından etkin bir şekilde sınırlandırılmaz.
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @end 0..1 Date Tarih aralığının (girilen tarihler dahil) bitiş tarihidir (tesisin bulunduğu saat dilimine göre). Bu tarih, start tarihiyle aynı veya ilgili tarihten sonra olmalıdır. end belirtilmezse tarih aralığı, bitiş tarihi açısından etkin bir şekilde sınırlandırılmaz.
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @days_of_week 0..1 string

Tarih aralığında izin verilen günlerdir. 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çindeki günlere izin verildiğini belirtir.

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

Herhangi bir karakter kombinasyonu 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 fiyat değişikliği yalnızca kullanıcı listelenen cihazlardan biriyle eşleşirse uygulanır. Belirtilmezse bu, ü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üdü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 uygulanacak işlemler.

RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / PriceAdjustment 0..1 PriceAdjustment Hem AmountBeforeTax hem de AmountAfterTax değerini belirtilen çarpanla çarparak fiyatı 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 fiyatı değiştirir.
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / RateRule / @id 1 string Bu kimlik, ücreti Ücret Kuralı Tanımlama dosyanızdaki bir tanımla eşleştirir. Not:
  • Bu alan için karakter sınırı 40 karakterdir.
  • Her fiyat yalnızca tek bir fiyat kuralıyla ilişkilendirilebilir.
  • Bir ücret kuralı kimliğinin uygulandığı birden fazla değişiklik varsa ücrete, alfabetik olarak en küçük ücret kuralı kimliği atanır.
  • Bu kimlik, ücret kuralı tanımlama dosyanızdaki bir ücret kuralıyla eşleşmiyorsa uygun kabul edilmez.
Özel indirimlerle ilgili farklı kullanıcı arayüzü işlemleri hakkında bilgi edinmek için bu makaleyi inceleyin.
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable 0..1 Refundable Ücretin geri ödenebilirliğinin, belirtilen değerle üzerine yazılır.

Özellikleri ayarlarken şunlara dikkat edin:

  • Bu değişiklik işlemi, yalnızca doldurulmuş alanları değil, uygun ücretin Geri ödenebilir ayarını da tamamen yeniden yazar.
  • 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. Diğer özelliklerden biri veya her ikisi de ayarlanmış olsa bile ücret geri ödenebilir olarak gösterilmez.
  • refundable_until_time ayarının yapılması önerilir. Ayarlanmazsa en erken saat (gece yarısı) kullanılır.
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ınacağı, günün son saatini (otelin yerel saatine göre) belirtir. Örneğin, "geri ödemelerin check-in'den iki gün önce saat 16.00'ya kadar kabul edileceğini" belirtmek için refundable_until_days ile birleştirilebilir. refundable_until_time ayarlanmazsa değer varsayılan olarak gece yarısı olur.
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Availability 0..1 Availability Fiyat için belirtilen müsaitlik durumunun üzerine yazar. Yalnızca ücreti unavailable olarak ayarlama işlemi desteklenir.
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Availability / @status 1 enum status="unavailable" ise geçerli bir fiyat olup olmadığına bakılmaksızın ücret kullanılamıyormuş 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 uygulanabilmesi 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 uygulanabilmesi 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 fiyatlarının (AmountBeforeTax veya AmountAfterTax değerlerinin daha büyük olanı kullanılarak) minimum toplamını belirtir.
RateModifications / HotelRateModifications / ItineraryRateModification / MinimumAmount / @before_discount 1 integer Fiyat değişikliğinin uygulanabilmesi için aşılması gereken değerdir.
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans 0..1 RatePlans Ücret değişikliğinin geçerli olduğu ücret planları listesinin kapsayıcısıdır. <RatePlans> belirtilmezse ücret değişikliği tüm ücret planları için geçerlidir.
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans / RatePlan 1..n RatePlan Ücret planını belirtir. Ücret planı; Transaction (Tesis Verileri), OTA_HotelRateAmountNotifRQ ve OTA_HotelAvailNotifRQ mesajlarında belirtilen ve PackageID tarafından tanımlanan paket, ücret ve stok durumunun birleşimiyle 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ının <StatusApplicationControl> öğesindeki RatePlanCode özelliğinde bulunan 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 belirtilir. (<RoomID> değeri, OTA_HotelRateAmountNotifRQ mesajlarındaki InvTypeCode özelliği tarafından da belirtilir.)
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ırmayı karşılamak gibi amaçlarla ü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.

Geçerli değerler şunlardır:

  • all: Seyahat planındaki tüm tarihler konaklama tarihleriyle çakışıyorsa ücret değişikliğini seyahat planındaki her geceye uygular.
  • any: Seyahat planındaki herhangi bir tarih, konaklama tarihleri aralığındaki bir tarihle çakışıyorsa ücret değişikliğini seyahat planındaki tüm gecelere uygular.

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 (girilen tarihler dahil) başlangıç tarihidir (tesisin bulunduğu saat dilimine göre). Bu tarih, end tarihinden önce veya ilgili tarihle aynı olmalıdır. start belirtilmezse tarih aralığı, başlangıç tarihi açısından etkin bir şekilde sınırlandırılmaz.
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @end 0..1 Date Tarih aralığının (girilen tarihler dahil) bitiş tarihidir (tesisin bulunduğu saat dilimine göre). Bu tarih, start tarihiyle aynı veya ilgili tarihten sonra olmalıdır. end belirtilmezse tarih aralığı, bitiş tarihi açısından etkin bir şekilde sınırlandırılmaz.
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @days_of_week 0..1 string

Tarih aralığında izin verilen günlerdir. 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çindeki günlere izin verildiğini belirtir.

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

Herhangi bir karakter kombinasyonu geçerlidir.

RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries 0..1 UserCountries Belirtilirse fiyat değişikliği yalnızca kullanıcı belirtilen ülkelerden birindeyse uygulanır. Belirtilmemişse fiyat değişikliği, kullanıcının konumuna bakılmaksızın uygulanır.
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / @type 0..1 enum UserCountries spesifikasyonunun türü.

Geçerli değerler include ve exclude'dir.

UserCountries type include olarak ayarlanırsa fiyat değişikliği, listelenen ülkelerdeki kullanıcılar için geçerli olur.

UserCountries type exclude ise fiyat değişikliği, listelenen ülkeler dışındaki kullanıcılar için geçerli olur.

UserCountries type ayarlanmazsa include olarak değerlendirilir ve fiyat değişikliği, listelenen ülkelerdeki kullanıcılar için geçerli olur.

RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / Country 1..300 Country Fiyat 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" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
                   id="123_abc"
                >   <timestamp="2023-05-22T16:20:00-04:00&qu>ot;
 < HotelRateModifications hotel_id>="<Property_1&q>uot;
    I<tineraryRateModification id="1"
      BookingDates
      >   DateRan<ge start="2023-07-01" end="2023>-07-31&<quot; days_of>_week=&<quot;MTWHF"/
         DateR>ange st<art="20>23-09-01&q<uot; end="2023-09-30"/
      /BookingDates
      Bookin>gWindow< min="7&>quot; m<ax="330&>quot;/
   <   CheckinDates
         DateRange start="2023-10-01" e>nd=&quo<t;2023-10-31&q>uot; da<ys_of_w>eek="<;FSU"/
      /Ch>eckinDate<s
      CheckoutDates>
      <   DateRange st<art="2023-10-08" end>="<2023-11-0>7" da<ys_of_week="F>SU"/
<      /CheckoutDat>es
    <  D>evices
       < Device t>ype="<mobile"/
    >    Device< type="tablet>"/<
      /De>vices
 <     L>engthOfStay min=<"2" max=>"14&<quot;/
      RateP>lans
  <       >RatePlan id=&q<uot;234"/
    >     Rate<Plan id="567"/
      /R>atePlan<s
      RoomTypes
  >     <  RoomType id="123&qu>ot;</
         RoomType id=>&<quot;456"/
  >    /RoomTypes
      UserCountries
        Country code="US"/
        Country code="GB"/
      /UserCountries
      ModificationActions
        PriceAdjustment multiplier="1.2"/
      /ModificationActions
    /ItineraryRateModification
  /HotelRateModifications
/RateModifications


Bir ücret değişikliğini silme

Aşağıdaki örnekte, bir tesise ait bir ücret değişikliğinin nasıl silineceği gösterilmektedir:

<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
                   id="123_abc"
                >   <timestamp="2023-05-22T16:20:00-04:00&qu>ot;
 < HotelRateModifications hotel_id="Property_1>&qu<ot;
    ItineraryRateMo>d<ification id=">;1" action="delete"/
  /HotelRateModifications
/RateModifications

Tüm ücret değişikliklerini silme

Aşağıdaki örnekte, bir tesise ait tüm ücret değişikliklerinin nasıl silineceği gösterilmektedir:

<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
                   id="123_abc"
                >   <timestamp="2023-05-22T16:20:00-04:00"
  HotelRateMod>i<fications hotel_id>=&quot;Property_1" action="overlay"/
/RateModifications


Tüm ücret değişikliklerinin üstüne yazma

Aşağıdaki örnekte, bir veya daha fazla yeni ücret değişikliğiyle tesise ait <HotelRateModifications> değerinin nasıl üstüne yazılacağı gösterilmektedir. action="overlay" olduğunda, geçerli mesajda belirtilen ücret değişiklikleri depolanmadan önce depolanan tüm ücret değişiklikleri silinir:

<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
                   id="123_abc"
                >   <timestamp="2023-05-22T16:20:00-04:00"
  HotelRateMod>ifica<tions hotel_id="Property_1&>quot; a<ction=">overlay&qu<ot;/
    ItineraryRateModification id="1&>quot;
 <     B>ookingDates
  <       DateRange st>art="<;2023-09-01" end="2023->09-30&q<uot;/
      /Booking>Dates
 <     ModificationAc<tions
        Pric>eAdjustmen<t multiplier=">;1.2&qu<ot;/
     > /Modif<icationAc>tions
    <  RoomTypes
      >   RoomTyp<e id="123&quo>t;/
   <      RoomType <id="456"/
      >/Ro<omTypes
      RatePlans>
<         RatePlan >id="234"/
         RatePlan id="567"/
      /RatePlans
    /ItineraryRateModification
  /HotelRateModifications
/RateModifications

Birden fazla değiştirme işlemi

Aşağıdaki örnekte, tek seferde birden fazla değişiklik işleminin nasıl yapılacağı gösterilmektedir:

<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
                   id="123_abc"
                >   <timestamp="2023-05-22T16:20:00-04:00&qu>ot;
 < HotelRateModifications hotel_id>="<Property_1&q>uot;
    I<tineraryRateModification id="1"
    >  Booki<ngDates
     >    Dat<eRange start=">2023-01-0<1" end="2023-02-28">;/
      </BookingDates
      ModificationActions
        PriceAdjustment multiplier=".95"/
        Refundable available=">true&qu<ot;
                >    r<efundable_until_days=">;1&<quot;
                 > <  refundabl>e_until_time="12:00:00"/
      /ModificationActions
    /ItineraryRateModification
  /HotelRateModifications
/RateModifications


Kullanıcı ülkeleri için ücret planını devre dışı bırakma

Aşağıdaki örnekte, bir ücret planının yalnızca Japon (JP) kullanıcılarla sınırlandırılması gösterilmektedir:

<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
                   id="123_abc"
                >   <timestamp="2023-05-22T16:20:00-04:00&qu>ot;
 < HotelRateModifications hotel_id>="<Property_>1"
  <  ItineraryRate>Modification i<d="1&>quot;
 <     RatePlans
         Rate>Plan id=&<quot;jp_only">/
     < /RatePlans
  >    Use<rCountries type=&qu>ot;exclud<e"
        Country code=">;JP&quo<t;/
      /UserCount>ries
<      ModificationActions
>   <     Availability statu>s<="unavailable>&quot;/
      /ModificationActions
    /ItineraryRateModification
  /HotelRateModifications
/RateModifications


Yanıtlar

Söz dizimi

RateModificationsResponse mesajında şu söz dizimi kullanılır:

<?xml version="1.0" encodin>g<="UTF-8"?
RateModificationsResponse timestamp="timestamp&quot;
                    id="message_ID"
 >   <                partner="partner_key"
  >!--< Either >Suc<cess o>r Iss<ues will be populated. --
  Success/
  Issu><es
>    Issue code=&q<uot;><issue_>cod<e"> <status="issue_type&qu>ot;varissue_description/var/Issue
  /Issues
/RateModificationsResponse

Öğeler ve özellikler

RateModificationsResponse mesajında aşağıdaki öğeler ve özellikler bulunur:

Öğ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 öğedir.
RateModificationsResponse / @timestamp 1 DateTime Bu mesajın oluşturulma tarihi ve saatidir.
RateModificationsResponse / @id 1 string İlişkilendirilmiş RateModifications mesajındaki benzersiz tanımlayıcıdır.
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 <Success> veya <Issues> bulunur.

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 <Success> veya <Issues> bulunur.

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ılar Feed Durumu Hata Mesajları konusunda bulunabilir.
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üdür.

Geçerli değerler warning, error ve failure şeklindedir.

Ö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" encodin>g<="UTF-8"?
RateModificationsResponse timestamp="2023-05-22T16:20:00-04:00"
                    id="12345678"
 >   <        > <       partner=&quo>t;partner_key"
  Success/
/RateModificationsResponse

Sorunlar

Aşağıda, hatalar nedeniyle işlenmemiş bir RateModifications mesajına yanıt yer almaktadır.

<?xml version="1.0" encodin>g<="UTF-8"?
RateModificationsResponse timestamp="2023-05-22T16:20:00-04:00"
                    id="12345678"
 >   <      >     <     partner="partne>r_key"
  <Issues>
  <  Issue <code="1001" stat>us="error"Example/Issue
  /Issues
/RateModificationsResponse