İ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ı. |
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. İzin verilen karakterler: a-z , A-Z , 0-9 , _ (underscore) ve - (dash) . |
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 Geçerli değerler şunlardır: Bu özelliklerin işleyişini anlamak için örneklere göz atın.
|
OTA_HotelRateAmountNotifRQ / @NotifScopeType | 0..1 | enum | Her Geçerli değerler şunlardır:
|
OTA_HotelRateAmountNotifRQ / POS | 0..1 | POS | Bu mesajdaki iş ortağı hesabını belirten kapsayıcıdır (genellikle arka ucunuz, birden fazla iş ortağı hesabı için fiyat feed'i 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ı. 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 İşlem (Tesis Verileri) mesajınızın |
OTA_HotelRateAmountNotifRQ / RateAmountMessages | 1 | RateAmountMessages | Ücretleri tanımlayan <RateAmountMessage> öğelerin koleksiyonudur. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / @HotelCode | 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. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage | 1..n | RateAmountMessage | Bir odanın fiyatlarını belirleyen kapsayıcıdır (tarih aralığı içerisinde oda türü ve ücret planının birleşiminden oluşur). |
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 (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ş tarihidir (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 en fazla üç yıllık 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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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ü gösteren tanımlayıcı. Bu özellik yalnızca KS tabanlı fiyatlandırma modeli kullanılırken 26 değeriyle belirtilmelidir. Bu özelliğin hariç tutulması, tarihe göre fiyatlandırma güncellemesi yapıldığını 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. Yalnızca "Day" değeri desteklenir. Bu değer, konaklama süresinin gün olarak belirtileceği anlamına gelir.
KS tabanlı fiyatlandırmayı kullanmak için |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @UnitMultiplier | 0..1 | Integer | Bu ücret için konaklama süresini oluşturan RateTimeUnits sayısı.
Örneğin, Bu KS tabanlı fiyatlandırmayı kullanmak için |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts | 1 | BaseByGuestAmts | Taban ücret koleksiyonun 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 dahil edilmeden önce odanın günlük fiyatıdır. Hem Promosyon kullanıyorsanız indirim |
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 tesis 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 Not: |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @CurrencyCode | 1 | enum | Belirli bir para biriminin ISO 4217 (3) alfa karakter kodu.
Desteklenen para birimlerinin listesine bakın. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @NumberOfGuests | 0..1 | integer | Bu fiyatla konaklayabilecek maksimum konuk sayısıdır.
Sağlanmazsa varsayılan olarak 2 konuktur.
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts | 0..1 | AdditionalGuestAmounts | Ek konuk ücretleri koleksiyonunun kapsayıcısıdır.
Bu söz dizimi, ek misafir veya çocuk ücretleri tarihe göre değiştiğinde kullanışlıdır. Bu tutarlar tesis düzeyinde statik olarak tanımlanabiliyorsa daha verimli olan
Örneğin, 1 ve 2 yetişkin için taban fiyatların belirtildiğini varsayalım.
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount | 0..n | AdditionalGuestAmount | AgeQualifyingCode ile belirtilen konuk türüne ve varsa MaxAge ile belirtilen konuğun yaşına göre fiyatları belirtir.
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @AgeQualifyingCode | 1 | enum | Ek konuğun türünü (yetişkin veya çocuk) tanımlar. Geçerli
seçenekler:
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @MaxAge | 0..1 | integer | AgeQualifyingCode , 8 olduğunda MaxAge belirtilmelidir. AgeQualifyingCode , 10 olduğunda belirtilmemelidir.
Ayrı |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @Amount | 1 | float | Her ek konuk için taban ücrete eklenen vergiler ve ücretler hariç tutar.
Konaklayanların yaşına bağlı olan vergi ve ücretler, |
Örnekler
Bu bölümde, şu işlemlerin nasıl yapılacağını vurgulayan kod örnekleri verilmiştir:
- Taban ücretler ve toplam ücretleri ayarlama
- Ücret ekleme, kaldırma veya üstüne yazma
- Ek davetli ücreti ekleme, kaldırma veya üstüne yazma
- KS'ye dayalı fiyatları ayarlama
- KS tabanlı ücret ekleme, kaldırma veya üstüne yazma
add
, overlay
veya remove
değerlerini ayarladığınızda tarih aralıkları, hedeflerinize bağlı olarak aynı veya farklı olabilir. Örneğin, "Ekleme oranı" mesajı için ayarlanan aralığın tamamı yerine, Aralık ayı tatilleri için yalnızca birkaç hafta ayarlamak üzere overlay
kullanabilirsiniz. Bu işlem, yalnızca bu dönem için doluluk oranlarının yerini alır.
Tarihe göre fiyatlandırma
Belirli bir oda ve ücret planı için mülk başına en fazla 50 doluluk oranı olabilir. Tüm doluluk durumları için ücretler aynıysa yalnızca gerekli fiyatla birlikte maksimum doluluk durumlarını göndermeniz gerekir. Google bu şekilde, daha düşük doluluk oranlarının da aynı temel ücreti aldığını çıkarır.
Taban ücretler ve toplam ücretleri ayarlama
1. Örnek
Varsayılan kişi sayısı (çift) için taban ücrettir (vergi veya ücret dahil edilmeden). 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 önemlidir.
<?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 önemlidir.
<?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 sayısı için toplam ücrettir (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 çok 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>
Ücret ekleme, kaldırma veya üstüne yazma
Tesis başına 5.000 ürün (oda türü ve paket kombinasyonları) sınırı vardır. Daha önce tanımlanmış ürünleri kaldırmak için Overlay
veya Remove
bildirim türlerini kullanın.
Ü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 en fazla üç yıllık 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 silip yeni belirtilen kişi başı ücretlerle değiştirmek üzere NotifType
değerini Overlay
olarak ayarlayın.
Örneğin, "Ücret ekleme" mesajından sonra bu mesaj gönderilirse 1, 2 ve 3 numaralı kişi başı ücretler silinir ve yalnızca 1 numaralı yeni kişi başı ücret depolanır. Daha kısa bir tarih aralığı da belirleyebilirsiniz (ör. 2021-12-20 ve 2021-12-31) gibi belirli tarihlerdeki doluluk oranlarının yalnızca bir kısmını değiştirmek için kullanılabilir.
<?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
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, diğer örnek mesajların birinden sonra bu mesaj gönderilirse kişi başı ücretler saklanmaz.
<?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 konuk ücretlerini ekleme, kaldırma veya üstüne yazma
Tutar ekleme
2021-10-20 ile 2021-12-31 tarihleri arasında RoomID_1 ve PackageID_1 için 1 ve 2 kişilik konaklamalarda taban fiyatlar ve ek misafir ücretleri eklemek üzere NotifType
değerini Delta
olarak ayarlayın.
Ek misafir ücretleri, kullanıcı aramasındaki doluluk oranına göre belirlenen taban ücretin üzerine eklenir. Belirtilen kullanıcı sayısı, RoomID_1'in kapasitesi içinde olmalıdır.
Bu örnekte, ek misafir tutarları şu şekilde uygulanır:
- 0-10 yaş arası çocuklar için 5 ABD doları (bu yaş aralığına dahil).
- 11-17 yaş aralığındaki çocuklar için 10 ABD doları (bu yaş aralığı dahildir).
- 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>
Ücretlerin üstüne yazma tutarları
2021-10-20 ile 2021-12-31 tarihleri arasında RoomID_1 ve PackageID_1 için kişi başı ücretleri ve ek misafir tutarlarını silip yeni belirtilen kişi başı ücretler ve ek tutarlarla değiştirmek üzere NotifType
değerini Overlay
olarak ayarlayın.
Örneğin, bu mesaj "Ücret ekleme" mesajından sonra gönderilirse 1 ve 2 numaralı temel kişi başı ücretler silinir ve yalnızca 1 numaralı yeni temel kişi başı ücret depolanır. Önceki ek misafir ücretleri silinir ve yalnızca yeni ücretler depolanır. Ek misafir ücretleri için artık taban fiyat olarak yeni 1 kişilik fiyatı kullanılacak. Bu güncellemeden sonra çocuklar için ek misafir ücreti tanımlanmadığı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>
Tutar kaldırma
2021-10-20 ile 2021-12-31 tarihleri arasında RoomID_1 ve PackageID_1 için tüm kişi başı temel ücretleri ve tüm ek misafir tutarlarını silmek üzere NotifType
değerini Delete
olarak ayarlayın.
Örneğin, diğer örnek mesajların birinden sonra bu mesaj gönderilirse kişi başı temel ücretler veya ek misafir tutarları saklanmaz.
<?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 misafir tutarlarını kaldırma
2021-10-20 ile 2021-12-31 tarihleri arasında temel ücretleri etkilemeden RoomID_1 ve PackageID_1 için tüm ek misafir ücretlerini silmek üzere NotifType
değerini boş bir <AdditionalGuestAmounts>
öğesiyle Delta
olarak ayarlayın.
Örneğin, diğer örnek mesajların birinden sonra bu mesaj gönderilirse yalnızca temel tutarlar saklanı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'ye dayalı fiyatlandırma
KS tabanlı fiyatları ayarlama
1. Örnek
18.05.2020'den itibaren 1, 2 ve 3 gecelik konaklamalar için ücretleri ayarlayın. Bu örnekte 1, 2 ve 3 gecelik konaklamaların toplam ücreti sırasıyla 100 TL, 180 TL ve 240 TL olacaktı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-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ı fiyat ekleme, kaldırma veya üstüne yazma
Konaklama süreleri ekleyin
Konaklama süresine dayalı fiyatlandırmada, Delta
işlemi, <StatusApplicationControl>
içinde belirtilen check-in tarihi aralıkları ve her alt Rate
öğesinin UnitMultiplier
ile gösterdiği tüm konaklama süreleri için fiyatların kademeli olarak güncellenmesine olanak tanır.
Geçerli her check-in 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>
Konaklama sürelerini üst üste yerleştirme
LOS'a dayalı fiyatlandırmada, Overlay
işlemi, ürünün tüm konaklama süreleri ve <StatusApplicationControl>
içinde belirtilen check-in tarihi aralığı için fiyatların yerini alır.
Bu mesajla, belirtilen varış tarihlerinde tüm konaklama süreleri için geçerli kişi başı ücretler kaldırılır ve yalnızca 3 günlük konaklama süresi için tanımlanan iki kişilik ücretle değiştirilir.
<?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
Konaklama süresine dayalı fiyatlandırmada, Remove
işlemi, ürünün tüm konaklama süreleri ve <StatusApplicationControl>
içinde belirtilen check-in tarihi aralığı için fiyatları 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 |
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 |
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 bulunabilir. |
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) öğesidir.
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ıdır. Bu hatalarla ilgili ayrıntılar Feed Durumu Hata Mesajları konusunda 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şlenmemiş 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>