OTA_HotelRateAmountNotifRQ

İstekler

Söz dizimi

OTA_HotelRateAmountNotifRQ mesajında şu 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 saatidir.
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> politikasında belirtilen oda türü, ücret planı ve tarihler için kişi başı ücretlerin tamamını silip yeni fiyatlarla değiştirin.
  • Remove: <StatusApplicationControl> öğesinde belirtilen oda türü, ücret planı ve tarihler için kişi başı ücretlerin tamamını silin.
  • Delta: (NotifType belirtilmezse varsayılandır) <StatusApplicationControl> öğesinde 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ının (RatePlanCode) kombinasyonları gibi ürünlere uygulanır.
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 Transaction (Tesis Verileri) mesajınızın partner özellik değeriyle ve aynı hesap için <OTA_HotelAvailNotifRQ> mesajınızın <RequestorID> öğesindeki ID özellik değeriyle eşleşmesi gerekir.

OTA_HotelRateAmountNotifRQ / RateAmountMessages 1 RateAmountMessages Ücretleri tanımlayan <RateAmountMessage> öğelerin koleksiyonu.
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 fiyatları belirleyen kapsayıcıdır (bir tarih aralığındaki oda türü ve ücret planı kombinasyonu).
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ı da tanımlar.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Start 1 Date Tarih aralığının (girilen tarihler dahil) başlangıç tarihidir (tesisin bulunduğu saat dilimine göre).
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @End 1 Date Tarih aralığının (girilen tarihler dahil) bitiş tarihi (tesisin bulunduğu saat dilimine göre). start değerine eşit veya değerden daha büyük olmalıdır. start ve end eşitse güncelleme ilgili tarihe uygulanır. Google'ın üç yıla kadar veriyi 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 ayarlanmamış 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 ayarlanmamış 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 ayarlanmamış 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 ayarlanmamış 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 ayarlanmamış 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 ayarlanmamış 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 ayarlanmamış 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üncellemesi için geçerli olan ARI fiyatlandırma modelinin türünü belirten bir 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ı, bunun 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 birim. Desteklenen tek değer "Day" olduğundan konaklama süresi gün olarak belirtilir.

KS tabanlı fiyatlandırmayı kullanmak için RateTimeUnit ve UnitMultiplier belirtilmelidir. Aksi takdirde 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ı.

Örneğin, RateTimeUnits değeri "Day" ise 5 üzerinden UnitMultiplier değeri, 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 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ı.

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

Promosyon kullanıyorsanız indirim AmountBeforeTax öğesine, yüzdelik indirimler ise AmountAfterTax öğesine uygulanır. Bu durum, bazı vergi yapılarında çalışmadığından burada yalnızca AmountBeforeTax belirtmenizi, vergileri ve ücretleri belirtmek için de <TaxFeeInfo> kullanmanızı kesinlikle öneririz.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @AmountAfterTax 0..1 float Geçerli vergiler ve ücretler dahil edildikten sonra odanın günlük fiyatıdır. AmountAfterTax belirtilirse mülk başına ayrı <TaxFeeInfo> mesajlarının 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ı kullanmamanızı önemle tavsiye ederiz. İ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 ücret karşılığında kabul edilebilecek maksimum konuk sayısıdır. Sağlanmamışsa varsayılan olarak 2 konuk ayarlanır.

<AdditionalGuestAmounts> ifadesi çocuklar için ücretlendirme içeriyorsa NumberOfGuests yalnızca yetişkinler anlamına gelir. <AdditionalGuestAmounts> belirtilmemişse veya çocuklar için ücret içermiyorsa NumberOfGuests hem yetişkinler hem de çocuklar dahil toplam kişi sayısını ifade eder.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts 0..1 AdditionalGuestAmounts Ek konuklar için ödeme koleksiyonunun kapsayıcısıdır.

Bu söz dizimi, tarihe göre ek konuk veya çocuk ücretleri değişiyorsa yararlıdır. Bu tutarlar mülk düzeyinde statik olarak tanımlanabiliyorsa daha verimli ExtraGuestCharges mesajını kullanabilirsiniz.

Ek konuk tutarları aşağıdaki şekilde uygulanır:
  • Bu ücretler, taban doluluk oranına ek olarak uygulanır. Taban doluluk oranı, <BaseByGuestAmts> içinde belirtilen ve kullanıcı aramasındaki yetişkin sayısına eşit veya bundan az olan en yüksek doluluk oranıdır.
  • Bu numaralar, kullanıcı aramasındaki doluluk odanın kapasitesi dahilinde olduğu 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 öğesinin Delta olarak ayarlandığı boş bir <AdditionalGuestAmounts> öğesi, taban fiyatları etkilemeden mevcut ek tutarları kaldırır.
  • <BaseByGuestAmt> politikasında 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 yaparsa taban ücret olarak çift kişilik oda fiyatı seçilir ve üzerine 1 yetişkin için ek konuk tutarı uygulanır.
  • Kullanıcı, 1 yetişkin ve 2 çocuk için arama yaparsa taban ücret olarak tek kişilik ücret seçilir ve iki çocuk için bu tutarın üzerine ek tutarlar uygulanır.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount 0..n AdditionalGuestAmount Fiyatları, AgeQualifyingCode tarihine kadar belirtilen konuk türüne ve varsa konuğun MaxAge tarihine kadar belirtilen yaşına göre belirtir.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @AgeQualifyingCode 1 enum Ek konuk türünü (yetişkin veya çocuk) 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 çakışmamalıdır.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @Amount 1 float Her ilave konuk için taban fiyata eklenen vergiler ve ücretlerden önceki tutar.

Konukların yaşına bağlı vergiler ve ücretler, <TaxFeeInfo> mesajında <AgeBrackets> öğesi aracılığıyla belirtilmelidir.

Örnekler

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

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

Tarih başına fiyatlandırma

Taban ücretleri ve toplam ücretleri ayarlama

1. Örnek

Varsayılan kişi sayısı (çift) için taban ücrettir (vergiler veya ücretler 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 belirgindir.

<?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ı ayrı tanımlanmamalıdır. Taban ücret, belirli bölgelerden arama yapan kullanıcılar için daha belirgindir.

<?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 (vergiler 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 planı 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>
Ücret ekleme, yer paylaşımlı ve kaldırma

Ücret ekle

20.10.2021 ile 31.12.2021 arasında RoomID_1 ve PackageID_1 için kişi başı ücretler eklemek üzere NotifType değerini Delta olarak ayarlayın. Google'ın üç yıla kadar veriyi 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>

Yer paylaşımlı ücretler

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

Örneğin, bu mesaj "Fiyat ekle" mesajından sonra gönderilirse 1, 2 ve 3 numaralı kişi başı ücretler silinir ve yalnızca 1 numaralı yeni kişi için ücret depolanır. Dilerseniz daha kısa bir tarih aralığı da belirleyebilirsiniz (ör. 20.12.2021 ve 31.12.2021) 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>

Ücretleri kaldırma

20.10.2021 ile 31.12.2021 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şımı ve kaldırma

Tutar ekle

2021-10-20 ile 2021-12-31 tarihleri arasında RoomID_1 ve PackageID_1 için doluluk 1 ve 2 için taban ücretleri ve konuk tutarlarını eklemek üzere NotifType değerini Delta olarak ayarlayın.

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

Bu örnekte, ek konuk tutarları şu şekilde uygulanır:

  • 0-10 yaş aralığındaki çocuklar için (dahil) 5 ABD doları.
  • 11-17 yaş aralığındaki çocuklar için (dahil) 10 ABD doları.
  • 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

20.10.2020 ile 31.12.2021 arasında kişi başı ücretleri ve RoomID_1 ile PackageID_1 için tüm ek konuk tutarlarını silip yeni belirtilen kişi başı ücretler ve ek tutarlarla değiştirmek için NotifType değerini Overlay olarak ayarlayın.

Örneğin, bu mesaj "Ücret ekleme" mesajından sonra gönderilirse 1. ve 2. taban kişi başı ücret silinir ve yalnızca 1 numaralı yeni taban kişi ücreti depolanır. Önceki ek konuk tutarı grubu silinir ve yalnızca yeni tutar grubu saklanır. Ek konuk tutarları artık taban ücret olarak yeni kişi sayısı 1 ücretini kullanır. Bu güncellemeden sonra, çocuklar için tanımlanan ek konuk ücretleri olmadığını hatırlatmak isteriz.

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

Kişi başı tüm taban ücretleri ve 20.10.2021 ile 31.12.2021 tarihleri arasında RoomID_1 ile PackageID_1 için tüm ek konuk tutarlarını silmek amacıyla NotifType değerini Delete olarak 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ındaki taban ücretleri etkilemeden RoomID_1 ve PackageID_1 için tüm ek davetli miktarlarını silmek istiyorsanız NotifType değerini boş bir <AdditionalGuestAmounts> öğesiyle Delta olarak ayarlayın.

Örneğin, bu mesaj diğer örnek mesajların birinden sonra gönderildiyse yalnızca temel 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ı ücretleri ayarlama

1. Örnek

18.05.2020'den itibaren 1, 2 ve 3 gecelik konaklamalar için ücret belirleyin. 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ı ücretler ekleme, yer paylaşımı ve kaldırma

Konaklama süreleri ekleyin

KS tabanlı fiyatlandırmada bir Delta işlemi, <StatusApplicationControl> içinde belirtilen giriş tarih aralıkları ve her alt Rate öğesinin UnitMultiplier ile belirtilen tüm konaklama süreleri için fiyatların kademeli olarak güncellenmesini sağlar.

Geçerli her giriş tarihi ve konaklama süresi için tüm doluluk oranları 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>

Yer paylaşımlı konaklama süreleri

KS tabanlı fiyatlandırmada bir Overlay işlemi, <StatusApplicationControl> özelliğinde belirtilen ürünün tüm konaklama süreleri ve check-in tarih aralığı için ücretlerin yerini alır.

Bu mesaj kullanıldığında, belirtilen varış tarihlerindeki tüm konaklama süreleri için kişi başı ücretler kaldırılacak ve yalnızca 3 konaklama süresi için tanımlanmış olan çift kişilik ücretle değiştirilecektir.

<?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ır

KS tabanlı fiyatlandırmada bir Remove işlemi, ürünün <StatusApplicationControl> bölümünde belirtilen tüm konaklama süreleri ve check-in tarih aralığındaki ü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 şu 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ında aşağıdaki öğeler ve özellikler bulunur:

Öğ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 saatidir.
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ı konusunda bulabilirsiniz.
OTA_HotelRateAmountNotifRS / Errors / Error / @Type 1 integer Hatayla ilişkili OpenTravel Alliance EWT (Hata Uyarı Türü) öğesidir. 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 durumudur. 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ı konusunda bulabilirsiniz.

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