OTA_HotelRateAmountNotifRQ

İstekler

Söz dizimi

OTA_HotelRateAmountNotifRQ mesajında aşağıdaki söz dizimi kullanılır:

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="message_ID"
                            TimeStamp="timestamp"
                            Version="3.0"
                            NotifType="[Overlay|Delta|Remove]"
                            NotifScopeType="[ProductRate]">
  <POS>
    <Source>
      <RequestorID ID="partner_key"/>
    </Source>
  </POS>
  <RateAmountMessages HotelCode="HotelID">
    <RateAmountMessage>
      <StatusApplicationControl Start="YYYY-MM-DD"
                                End="YYYY-MM-DD"
                                Mon="boolean_value"
                                Tue="boolean_value"
                                Weds="boolean_value"
                                Thur="boolean_value"
                                Fri="boolean_value"
                                Sat="boolean_value"
                                Sun="boolean_value"
                                InvTypeCode="RoomID"
                                RatePlanCode="PackageID"
                                RatePlanType="[26]" />
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="float"
                            AmountAfterTax="float"
                            CurrencyCode="currency"
                            NumberOfGuests="integer"/>
          </BaseByGuestAmts>
          <AdditionalGuestAmounts>
            <AdditionalGuestAmount Amount="float"
                                   AgeQualifyingCode="[10|8]"
                                   MaxAge="integer"/>
          </AdditionalGuestAmounts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Öğeler ve özellikler

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

Öğe / @Özellik Yineleme sayısı Tür Açıklama
OTA_HotelRateAmountNotifRQ 1 Complex element Ücret mesajının kök öğesidir.
OTA_HotelRateAmountNotifRQ / @xmlns 0..1 string (URI) XML ad alanıdır.
OTA_HotelRateAmountNotifRQ / @EchoToken 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. a-z, A-Z, 0-9, _ (underscore) ve - (dash) karakterlerine izin verilir.
OTA_HotelRateAmountNotifRQ / @TimeStamp 1 DateTime Bu mesajın oluşturulma tarihi ve saati.
OTA_HotelRateAmountNotifRQ / @Version 1 decimal OpenTravel mesaj sürümüdür.
OTA_HotelRateAmountNotifRQ / @NotifType 0..1 enum

Her <RateAmountMessage> öğesine uygulanacak bildirim türüdür.

Valid values are:

Bu özelliklerin işleyiş şeklini anlamak için örneklere göz atın.

  • Overlay: <StatusApplicationControl> içinde belirtilen oda türü, ücret planı ve tarihler için kişi başı ücretlerin tamamını silip yeni ücretlerle değiştirin.
  • Remove: <StatusApplicationControl> özelliğinde belirtilen oda türü, ücret planı ve tarihler için geçerli kişi başı ücretlerin tamamını silin.
  • Delta: (NotifType belirtilmezse varsayılandır) <StatusApplicationControl> içinde belirtilen oda türü, ücret planı ve tarihler için kişi başı ücretleri ekleyin veya güncelleyin.
OTA_HotelRateAmountNotifRQ / @NotifScopeType 0..1 enum

Her <RateAmountMessage> öğesine uygulanacak NotifType öğesinin kapsamıdır.

Valid values are:

  • ProductRate: (NotifScopeType belirtilmezse varsayılandır) NotifType, oda türü (InvTypeCode) ve ücret planı (RatePlanCode) kombinasyonlarından oluşan ürünler için geçerlidir.
OTA_HotelRateAmountNotifRQ / POS 0..1 POS Bu mesaj için iş ortağı hesabını belirten bir kapsayıcıdır (genellikle arka ucunuz birden fazla iş ortağı hesabı için fiyat feed'leri sağlıyorsa kullanılır).
OTA_HotelRateAmountNotifRQ / POS / Source 1 Source <POS> varsa gereklidir. <RequestorID> öğesinin kapsayıcısıdır.
OTA_HotelRateAmountNotifRQ / POS / RequestorID 1 RequestorID <POS> varsa gereklidir. İş ortağı hesabını tanımlar.
OTA_HotelRateAmountNotifRQ / POS / RequestorID / @ID 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 için <OTA_HotelAvailNotifRQ> mesajınızın <RequestorID> öğesindeki ID özellik değeriyle ve Transaction (Tesis Verileri) mesajınızın partner özellik değeriyle eşleşmesi gerekir.

OTA_HotelRateAmountNotifRQ / RateAmountMessages 1 RateAmountMessages Ücretleri tanımlayan <RateAmountMessage> öğelerinden oluşan bir koleksiyon.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / @HotelCode 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.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage 1..n RateAmountMessage Bir oda fiyatı için fiyat belirlemek üzere kullanılan bir kapsayıcıdır (tarih aralığında oda türü ve ücret planı kombinasyonudur).
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl 1 StatusApplicationControl Oda türü (InvTypeCode) ve ücret planı (RatePlanCode) tanımlayıcılarının yanı sıra tarih aralığını tanımlar.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Start 1 Date Tarih aralığının (tesisin bulunduğu saat dilimine göre) başlangıç tarihidir.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @End 1 Date Tarih aralığının (tesisin bulunduğu saat dilimine göre) bitiş tarihidir. start değerine eşit veya değerden büyük olmalıdır. start ve end eşitse güncelleme ilgili tarihe uygulanır. Google'ın üç yıla kadar verileri desteklediğini unutmayın.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Mon 0..1 boolean Pazartesi günlerini açıkça dahil etmek için true veya 1 olarak ayarlayın.

true olarak ayarlanırsa haftanın açıkça true olarak ayarlanmayan diğer günleri hariç tutulur (geçerli olduğunda Start ve End içindeki tarihlerden filtrelenir).

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Tue 0..1 boolean Salı günlerini açıkça dahil etmek için true veya 1 olarak ayarlayın.

true olarak ayarlanırsa haftanın açıkça true olarak ayarlanmayan diğer günleri hariç tutulur (geçerli olduğunda Start ve End içindeki tarihlerden filtrelenir).

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Weds 0..1 boolean Çarşamba günlerini açıkça dahil etmek için true veya 1 olarak ayarlayın.

true olarak ayarlanırsa haftanın açıkça true olarak ayarlanmayan diğer günleri hariç tutulur (geçerli olduğunda Start ve End içindeki tarihlerden filtrelenir).

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Thur 0..1 boolean Perşembe günlerini açıkça dahil etmek için true veya 1 olarak ayarlayın.

true olarak ayarlanırsa haftanın açıkça true olarak ayarlanmayan diğer günleri hariç tutulur (geçerli olduğunda Start ve End içindeki tarihlerden filtrelenir).

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Fri 0..1 boolean Cuma günlerini açıkça dahil etmek için true veya 1 olarak ayarlayın.

true olarak ayarlanırsa haftanın açıkça true olarak ayarlanmayan diğer günleri hariç tutulur (geçerli olduğunda Start ve End içindeki tarihlerden filtrelenir).

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sat 0..1 boolean Cumartesi günlerini açıkça dahil etmek için true veya 1 olarak ayarlayın.

true olarak ayarlanırsa haftanın açıkça true olarak ayarlanmayan diğer günleri hariç tutulur (geçerli olduğunda Start ve End içindeki tarihlerden filtrelenir).

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sun 0..1 boolean Pazar günlerini açıkça dahil etmek için true veya 1 olarak ayarlayın.

true olarak ayarlanırsa haftanın açıkça true olarak ayarlanmayan diğer günleri hariç tutulur (geçerli olduğunda Start ve End içindeki tarihlerden filtrelenir).

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @InvTypeCode 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.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @RatePlanCode 1 string Ücret planının benzersiz tanımlayıcısıdır. Bu tanımlayıcı, Transaction (Tesis Verileri) mesajlarındaki <PackageID> ile eşlenir. Ücret planı, hem <OTA_HotelRateAmountNotifRQ> hem de <OTA_HotelAvailNotifRQ> mesajlarındaki <StatusApplicationControl> öğesinde ayrıntılı olarak tanımlanır ve belirtilir.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @RatePlanType 0..1 string Bu fiyatlandırma güncellemesinde geçerli olan ARI fiyatlandırma modelinin türünü belirten tanımlayıcı. Bu, yalnızca KS tabanlı fiyatlandırma modeli kullanılırken 26 değeri kullanılarak belirtilmelidir. Bu özelliğin hariç tutulması, tarih başına fiyatlandırma güncellemesi olduğunu gösterir.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates 0..1 Rates <Rate> öğesi koleksiyonunun kapsayıcısıdır. NotifType değeri "Remove" ise bu öğe belirtilmemelidir. Aksi takdirde, bu öğe tam olarak bir kez belirtilmelidir.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate 1 Rate <BaseByGuestAmts> öğesi koleksiyonunun kapsayıcısıdır.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @RateTimeUnit 0..1 String Konaklama süresinin belirtildiği birimdir. Desteklenen tek değer "Day" değeridir. Yani konaklama süresi gün cinsinden belirtilir.

KS tabanlı fiyatlandırmayı kullanmak için RateTimeUnit ve UnitMultiplier belirtilmelidir. Aksi takdirde her ikisi de belirtilmemelidir.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @UnitMultiplier 0..1 Integer Bu ücret için konaklama süresini oluşturan RateTimeUnits sayısıdır.

Örneğin, RateTimeUnits değeri "Day" ise UnitMultiplier değerindeki 5, bu Rate nesnesi altında belirtilen fiyatların 5 gecelik konaklamanın her gecesi için geçerli olduğunu gösterir.

Bu Rate nesnesinin altında belirtilen doluluk oranları, konaklamanın toplam fiyatına ulaşmak için UnitMultiplier (konaklama süresi) ile çarpılır.

KS tabanlı fiyatlandırmayı kullanmak için RateTimeUnit ve UnitMultiplier belirtilmelidir. Aksi takdirde her ikisi de belirtilmemelidir.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts 1 BaseByGuestAmts Taban ücret koleksiyonunun kapsayıcısıdır.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt 1..n BaseByGuestAmt Belirtilen para biriminde oda fiyatlarını belirtir. Fiyat, her biri farklı NumberOfGuests değerine sahip birden fazla <BaseByGuestAmt> öğesi kullanılarak kişi başına olabilir. Aksi takdirde fiyat, NumberOfGuests tarafından tanımlanan maksimum kişi sayısı için geçerlidir.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @AmountBeforeTax 0..1 float

Vergiler ve ücretler hariç oda fiyatının günlük fiyatıdır.

Hem AmountBeforeTax hem de AmountAfterTax belirtilebilir. AmountBeforeTax belirtilmezse AmountAfterTax belirtilmelidir. AmountBeforeTax belirtilir ve AmountAfterTax belirtilmezse vergiler ve ücretler <TaxFeeInfo> mesajıyla belirtilmelidir.

Promosyon kullanıyorsanız indirim AmountBeforeTax öğesine, yüzdelik indirimler de AmountAfterTax öğesine uygulanır. Bu durum bazı vergi yapılarıyla uyumlu olmadığından burada yalnızca AmountBeforeTax değerini belirtmenizi, vergi ve ücretleri belirtmek için de <TaxFeeInfo> politikasını kullanmanızı öneririz.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @AmountAfterTax 0..1 float Geçerli vergiler ve ücretler dahil edildikten sonra oda fiyatının günlük fiyatıdır. AmountAfterTax belirtilirse mülk başına ayrı <TaxFeeInfo> mesajları gönderilmesi gerekmez. Bu özellik, belirli bölgelerdeki kullanıcılara gösterilebilecek taban ve toplam ücretleri sağlamak için AmountBeforeTax ile birlikte kullanılabilir.

Uyarı: Promosyon kullanıyorsanız AmountAfterTax tutarlarını kullanmanızı kesinlikle öneririz. İndirimleri kullanmak istiyorsanız <TaxFeeInfo> mesajını kullanarak vergileri ve ücretleri belirtin. Ardından indirimleriniz AmountBeforeTax tutarlarına uygulanır.

Not: AmountBeforeTax belirtilmezse AmountAfterTax belirtilmelidir.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @CurrencyCode 1 enum Belirli bir para biriminin ISO 4217 (3) alfa karakter kodudur.

Desteklenen para birimlerinin listesini inceleyin.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @NumberOfGuests 0..1 integer Bu ücretle konaklayabilecek maksimum konuk sayısıdır. Sağlanmazsa varsayılan olarak 2 konuk kabul edilir.

<AdditionalGuestAmounts> çocuklar için ücret içeriyorsa NumberOfGuests değerinin yalnızca yetişkinler anlamına geldiğini unutmayın. <AdditionalGuestAmounts> belirtilmemişse veya çocuklar için ücret almıyorsa NumberOfGuests hem yetişkinler hem de çocuklar dahil olmak üzere toplam kişi sayısını belirtir.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts 0..1 AdditionalGuestAmounts Ek konuklar için alınan ücretlerin bulunduğu kapsayıcıdır.

Ek konuk veya çocuk ücretleri tarihe göre değişirse bu söz dizimi yararlıdır. Bu tutarlar mülk düzeyinde statik olarak tanımlanabiliyorsa daha etkili ExtraGuestCharges mesajını kullanmayı düşünebilirsiniz.

Ek davetlilerin tutarları şu şekilde uygulanır:
  • Fiyat, taban doluluk oranına ek olarak uygulanır. Taban doluluk oranı, <BaseByGuestAmts> ile belirtilen ve kullanıcı aramasındaki yetişkin sayısından az veya bu değere eşit olan en yüksek doluluk oranıdır.
  • Kullanıcı aramasındaki doluluk, oda kapasitesini aşmadığı sürece uygulanır.
  • NotifType Delta veya Overlay olduğunda <AdditionalGuestAmounts>, her zaman önceden belirtilen ek tutarları yenileriyle değiştirir.
  • <AdditionalGuestAmounts>, yalnızca NotifType Delta olduğunda taban ücretlerden bağımsız olarak gönderilebilir. NotifType, Overlay olduğunda <BaseByGuestAmts> belirtilmelidir.
  • NotifType'ın Delta olarak ayarlandığı boş bir <AdditionalGuestAmounts> öğesi, taban ücretleri etkilemeden mevcut ek tutarları kaldırır.
  • <BaseByGuestAmt> ile belirtilen para birimi kullanılarak uygulanır.

Örneğin, taban ücretlerin 1 ve 2 yetişkin için belirtildiğini varsayalım.

  • Kullanıcı 3 yetişkin için arama yaptığında taban fiyat olarak çift kişilik fiyat seçilir ve bu tutarın üzerine 1 yetişkin için ek konuk tutarı uygulanır.
  • Kullanıcı, 1 yetişkin ve 2 çocuk için arama yaparsa iki çocuk için taban ücret olarak tek kişilik fiyat seçilir ve bu ücretin üzerine ek tutarlar uygulanır.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount 0..n AdditionalGuestAmount Fiyatları, AgeQualifyingCode ile belirtilen konuk türüne ve varsa konuğun MaxAge ile belirtilen yaşına göre belirtir.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @AgeQualifyingCode 1 enum Yetişkin veya çocuk olmak üzere ek konuk türünü tanımlar. Geçerli seçenekler şunlardır:
  • 10: Yetişkin.
  • 8: Çocuk.

AgeQualifyingCode, en fazla bir AdditionalGuestAmount öğesi için 10 olarak ayarlanabilir.

AgeQualifyingCode, 8 olduğunda MaxAge belirtilmelidir.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @MaxAge 0..1 integer AgeQualifyingCode, 8 olduğunda MaxAge belirtilmelidir. AgeQualifyingCode, 10 olduğunda belirtilmemelidir.

MaxAge, 0 ile 17. arasında bir tam sayı olmalıdır

Ayrı AdditionalGuestAmount öğeleriyle birden fazla çocuk yaş grubu belirtilebilir. Yaş aralıkları bitişik olmalı ve örtüşmemelidir.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @Amount 1 float Her ek konuk için taban fiyata eklenen vergi ve ücretler hariç tutar.

Konukların yaşına bağlı olarak vergiler ve ücretler, <TaxFeeInfo> mesajındaki <AgeBrackets> öğesi ile belirtilmelidir.

Örnekler

Bu bölümde, aşağıdakilerin nasıl yapılacağını vurgulayan kod örnekleri sunulmaktadır:

add, overlay veya remove değerlerini belirlediğinizde, tarih aralıkları hedeflerinize bağlı olarak aynı veya farklı olabilir. Örneğin, "Fiyat ekle" mesajı için ayarlanan aralığın tamamı yerine, Aralık tatilleri için yalnızca birkaç hafta ayarlamak üzere overlay kullanabilirsiniz. Bu değişiklik, yalnızca bu dönemdeki doluluk oranlarını değiştirir.

Tarihe göre fiyatlandırma

Taban ücretler ve toplam ücretleri ayarlama

1. Örnek

Varsayılan kişi sayısı (çift) için taban ücrettir (vergi veya ücret hariç). Bu modelde tesisin vergi ve ücretleri, <TaxFeeInfo> mesajı kullanılarak tanımlanmalıdır. Taban ücret, belirli bölgelerden arama yapan kullanıcılar için daha belirgin olur.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-23"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="100.00"
                            CurrencyCode="USD"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

2. Örnek

Varsayılan kişi sayısı (çift) için taban ve toplam ücrettir. Bu modelde vergiler ve ücretler, <TaxFeeInfo> mesajları kullanılarak ayrı olarak tanımlanmamalıdır. Taban ücret, belirli bölgelerden arama yapan kullanıcılar için daha belirgin olur.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-23"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="100.00"
                            AmountAfterTax="110.00"
                            CurrencyCode="USD"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

3. Örnek

Birden fazla kişi için toplam ücret (vergi ve ücretler dahil). Bu modelde vergiler ve ücretler, <TaxFeeInfo> mesajları kullanılarak ayrı olarak tanımlanmamalıdır.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-23"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountAfterTax="100.00"
                            CurrencyCode="USD"
                            NumberOfGuests="1"/>
            <BaseByGuestAmt AmountAfterTax="110.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
            <BaseByGuestAmt AmountAfterTax="120.00"
                            CurrencyCode="USD"
                            NumberOfGuests="3"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

4. Örnek

Farklı tarih aralıklarında birden fazla oda türü ve ücret planları için taban ve toplam ücrettir.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-23"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="100.00"
                            AmountAfterTax="110.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-01"
                                End="2020-05-31"
                                InvTypeCode="RoomID_2"
                                RatePlanCode="PackageID_2"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="200.00"
                            AmountAfterTax="220.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>
Fiyat ekleme, yer paylaşımlı fiyatlar ve kaldırma

Ücret ekleme

2021-10-20 ile 2021-12-31 tarihleri arasında RoomID_1 ve PackageID_1 için kişi başı ücret eklemek üzere NotifType değerini Delta olarak ayarlayın. Google'ın üç yıla kadar verileri desteklediğini unutmayın.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Delta"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="100.00"
                            CurrencyCode="USD"
                            NumberOfGuests="1"/>
            <BaseByGuestAmt AmountBeforeTax="110.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
            <BaseByGuestAmt AmountBeforeTax="120.00"
                            CurrencyCode="USD"
                            NumberOfGuests="3"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Ücretlerin üstüne yazma

2021-10-20 ile 2021-12-31 tarihleri arasında RoomID_1 ve PackageID_1 için kişi başı ücretleri silmek ve bunları yeni belirtilen kişi başı ücretlerle değiştirmek için NotifType olarak Overlay ayarlayın.

Örneğin, bu mesaj "Ücret ekleyin" mesajından sonra gönderilirse 1, 2 ve 3 numaralı doluluk değerleri silinir ve yalnızca 1 numaralı yeni kişi fiyatı depolanır. Ayrıca daha kısa bir tarih aralığı da ayarlayabilirsiniz (ör. 2021-12-20 ve 31-12-31) belirli tarihlerdeki (ör. tatil günleri) doluluk oranının yalnızca bir kısmını değiştirin.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Overlay"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="200.00"
                            CurrencyCode="USD"
                            NumberOfGuests="1"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Fiyatları kaldırma

2021-10-20 ile 2021-12-31 tarihleri arasında RoomID_1 ve PackageID_1 için kişi başı ücretleri silmek üzere NotifType değerini Remove olarak ayarlayın.

Örneğin, bu mesaj diğer örnek mesajların birinden sonra gönderilirse kişi başı ücretler depolanmaz.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Remove"
                            NotifScopeType="ProductRate">>
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>
Ek davetli tutarları ekleme, yer paylaşımlı olarak ödeme yapma ve bu tutarları kaldırma

Tutar ekle

1 ve 2 konukların taban ücretlerini ve 2021-10-20 ile 31 tarihleri arasında RoomID_1 ile PackageID_1 için taban ücretleri eklemek üzere NotifType olarak Delta ayarlayın.

Ek konuk tutarları, kullanıcı aramasında doluluk oranına göre belirlenecek taban ücretin üzerine uygulanır. Kullanıcı tarafından belirtilen doluluk, RoomID_1 kapasitesinin üzerinde olmalıdır.

Bu örnekte, ek davetlilerin tutarları şu şekilde uygulanacaktır:

  • 0-10 yaş aralığındaki çocuklar için (her biri dahil) 5 ABD doları.
  • 11-17 yaş aralığındaki çocuklar için 10 ABD doları (dahil).
  • Yetişkinler için 20 ABD doları.
<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Delta"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="100.00"
                            CurrencyCode="USD"
                            NumberOfGuests="1"/>
            <BaseByGuestAmt AmountBeforeTax="110.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
          <AdditionalGuestAmounts>
            <AdditionalGuestAmount Amount="5.00" AgeQualifyingCode="8" MaxAge="10" />
            <AdditionalGuestAmount Amount="10.00" AgeQualifyingCode="8" MaxAge="17" />
            <AdditionalGuestAmount Amount="20.00" AgeQualifyingCode="10" />
          </AdditionalGuestAmounts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Yer paylaşımlı tutarlar

2021-10-20 ile 2021-12-31 tarihleri arasında RoomID_1 ve PackageID_1 için kişi başı ücretleri ve tüm ek konuk tutarlarını silmek ve bunları yeni belirtilen kişi başı fiyatlar ve ek tutarlarla değiştirmek için NotifType olarak Overlay ayarlayın.

Örneğin, bu mesaj "Ücret ekleyin" mesajından sonra gönderilirse taban doluluk 1 ve 2 ücretleri silinir ve yalnızca yeni taban doluluk 1 ücreti depolanır. Önceki ek konuk tutarları grubu silinir ve yalnızca yeni tutar grubu saklanır. Ek konuk miktarlarında artık taban ücret olarak yeni doluluk oranı 1 olan ücret kullanılır. Bu güncellemeden sonra çocuklar için herhangi bir ek konuk ücreti uygulanmayacağını unutmayın.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Overlay"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="200.00"
                            CurrencyCode="USD"
                            NumberOfGuests="1"/>
          </BaseByGuestAmts>
          <AdditionalGuestAmounts>
            <AdditionalGuestAmount Amount="30.00" AgeQualifyingCode="10" />
          </AdditionalGuestAmounts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Tutarları kaldır

2021-10-20 ile 2021-12-31 tarihleri arasında kişi başı taban ücretlerin yanı sıra RoomID_1 ve PackageID_1 için tüm ek konuk tutarlarını silmek üzere NotifType olarak Delete ayarlayın.

Örneğin, bu mesaj diğer örnek mesajların birinden sonra gönderilirse kişi başına taban ücret veya ek konuk tutarları depolanmaz.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Remove"
                            NotifScopeType="ProductRate">>
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Yalnızca ek davetli tutarlarını kaldır

20.10.2021 ile 31.12.2021 arasında taban ücretleri etkilemeden RoomID_1 ve PackageID_1 için tüm ek konuk tutarlarını silmek için NotifType öğesini boş bir <AdditionalGuestAmounts> öğesiyle Delta olarak ayarlayın.

Örneğin, bu mesaj diğer örnek mesajların birinden sonra gönderildiyse yalnızca taban tutarlar depolanır.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Delta"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <AdditionalGuestAmounts/>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

KS tabanlı fiyatlandırma

KS tabanlı ücretler ayarlama

1. Örnek

18.05.2020 tarihinden itibaren 1, 2 ve 3 gecelik konaklama için ücretleri ayarlayın. Bu örnekte 1, 2 ve 3 gecelik konaklama için toplam ücret sırasıyla 100 ABD doları, 180 ABD doları ve 240 ABD doları olur.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-18"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"
                                RatePlanType="26"/>
      <Rates>
        <Rate UnitMultiplier="1" RateTimeUnit="Day">
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="100.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
        </Rate>
        <Rate UnitMultiplier="2" RateTimeUnit="Day">
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="90.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
        </Rate>
        <Rate UnitMultiplier="3" RateTimeUnit="Day">
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="80.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2" />
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>
KS tabanlı fiyatlar ekleme, yer paylaşımlı fiyatlar ve kaldırma

Konaklama süresi ekleyin

KS tabanlı bir Delta işlemi, <StatusApplicationControl> ile belirtilen giriş tarihi aralıkları ve her alt Rate öğesinin UnitMultiplier ile belirtilen tüm konaklama süreleri için ücretlerin kademeli olarak güncellenmesine olanak tanır.

Geçerli her giriş tarihi ve konaklama süresi için tüm doluluk ücretleri belirtilmelidir.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Delta"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-18"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"
                                RatePlanType="26"/>
      <Rates>
        <Rate UnitMultiplier="3" RateTimeUnit="Day">
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="80.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Bindirme konaklama süreleri

KS tabanlı fiyatlandırmada Overlay işlemi, <StatusApplicationControl> öğesinde belirtilen tüm konaklama süreleri ve giriş tarihi aralığındaki ücretlerin yerini alır.

Bu mesajda, belirtilen varış tarihlerindeki tüm konaklama süreleri için kişi başı ücretler kaldırılır ve bunların yerine yalnızca konaklama süresi 3 için tanımlanan çift kişilik fiyat kullanılır.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Overlay"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-18"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"
                                RatePlanType="26"/>
      <Rates>
        <Rate UnitMultiplier="3" RateTimeUnit="Day">
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountBeforeTax="80.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Konaklama sürelerini kaldırma

KS tabanlı fiyatlandırmada Remove işlemi, <StatusApplicationControl> öğesinde belirtilen tüm konaklama süreleri ve giriş tarihi aralığı için ücretleri kaldırır.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2021-10-20T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Remove"
                            NotifScopeType="ProductRate">
  <RateAmountMessages HotelCode="Property_1">
    <RateAmountMessage>
      <StatusApplicationControl Start="2021-10-20"
                                End="2021-12-31"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"
                                RatePlanType="26"/>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Yanıtlar

Söz dizimi

OTA_HotelRateAmountNotifRS mesajında aşağıdaki söz dizimi kullanılır:

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05"
                            TimeStamp="timestamp"
                            EchoToken="echo_token"
                            Version="3.0">
  <!-- Either Success or Errors will be populated. -->
  <Success/>
  <Errors>
    <Error Type="12" Status="NotProcessed" ShortText="issue_code">issue_description</Error>
  </Errors>
</OTA_HotelRateAmountNotifRS>

Öğeler ve özellikler

OTA_HotelRateAmountNotifRS mesajı aşağıdaki öğeleri ve özellikleri içerir:

Öğe / @Özellik Yineleme sayısı Tür Açıklama
OTA_HotelRateAmountNotifRS 1 Complex element Müsaitlik durumu mesajı yanıtının kök öğesidir.
OTA_HotelRateAmountNotifRS / @TimeStamp 1 DateTime Bu mesajın oluşturulma tarihi ve saati.
OTA_HotelRateAmountNotifRS / @EchoToken 1 string İlişkilendirilmiş OTA_HotelRateAmountNotifRQ mesajındaki benzersiz tanımlayıcıdır.
OTA_HotelRateAmountNotifRS / Success 0..1 Success OTA_HotelRateAmountNotifRQ mesajının başarıyla işlendiğini belirtir.

Her mesajda <Success> veya <Errors> bulunur.

OTA_HotelRateAmountNotifRS / Errors 0..1 Errors OTA_HotelRateAmountNotifRQ mesajı işlenirken karşılaşılan bir veya daha fazla sorun için kullanılan bir kapsayıcıdır.

Her mesajda <Success> veya <Errors> bulunur.

OTA_HotelRateAmountNotifRS / Errors / Error 1..n Error OTA_HotelRateAmountNotifRQ mesajı işlenirken karşılaşılan hatanın açıklamasıdır. Bu hatalarla ilgili ayrıntılar Feed Durumu Hata Mesajları bölümünde bulunabilir.
OTA_HotelRateAmountNotifRS / Errors / Error / @Type 1 integer Hatayla ilişkili OpenTravel Alliance EWT (Hata Uyarı Türü). Yalnızca 12 (Processing exception) değeri kullanılır.
OTA_HotelRateAmountNotifRS / Errors / Error / @Code 1 integer Hatayla ilişkili OpenTravel Alliance ERR (Hata Kodu). Yalnızca 450 (Unable to process) değeri kullanılır.
OTA_HotelRateAmountNotifRS / Errors / Error / @Code 1 enum Orijinal isteğin durumu. Yalnızca NotProcessed değeri kullanılır.
OTA_HotelRateAmountNotifRS / Errors / Error / @ShortText 1 string Sorunun Google tanımlayıcısı. Bu hatalarla ilgili ayrıntılar Feed Durumu Hata Mesajları bölümünde bulunabilir.

Örnekler

Başarılı

Aşağıda, başarıyla işlenmiş bir OTA_HotelRateAmountNotifRQ mesajına yanıt yer almaktadır.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05"
                       EchoToken="12345678"
                       TimeStamp="2021-10-20T20:50:37-05:00"
                       Version="3.0">
  <Success/>
</OTA_HotelRateAmountNotifRS>

Hatalar

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

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05"
                       EchoToken="12345678"
                       TimeStamp="2021-10-20T20:50:37-05:00"
                       Version="3.0">
  <Errors>
    <Error Type="12" Code="450" Status="NotProcessed" ShortText="8001">Example</Error>
  </Errors>
</OTA_HotelRateAmountNotifRS>