İ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) 'dir. |
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ıdır. Bu dize değeri, Hotel Center'ın
Hesap ayarları sayfasında listelenen "İş ortağı anahtarı" değeridir.
Not: Birden fazla hesap için feed sağlayan bir arka ucunuz varsa bu değerin aynı hesap genelinde Transaction (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 üç yıla kadar veri 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ü belirten bir tanımlayıcı. Bu değer yalnızca KS tabanlı fiyatlandırma modeli kullanılırken 26 değeri kullanılarak belirtilmelidir. Bu özelliğin hariç tutulması, güncellemenin tarihe göre fiyatlandırma 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. Yalnızca "Day" değeri desteklenir. Bu, konaklama süresinin gün olarak belirtileceği anlamına gelir.
KS tabanlı fiyatlandırma 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ırma 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 kodudur.
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ı.
Sağlanmazsa varsayılan olarak 2 kişidir.
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts | 0..1 | AdditionalGuestAmounts | Ek konuklar için ücret koleksiyonunun kapsayıcısıdır.
Bu söz dizimi, ek konuk veya çocuk ücretleri tarihe göre değişiyorsa kullanışlıdır. Bu tutarlar tesis düzeyinde statik olarak tanımlanabiliyorsa daha verimli olan
Örneğin, taban ücretlerin 1 ve 2 yetişkin için belirtildiğini varsayalım.
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount | 0..n | AdditionalGuestAmount | AgeQualifyingCode aracılığıyla belirtilen konuk türüne ve varsa MaxAge aracılığıyla 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 ise MaxAge belirtilmelidir. AgeQualifyingCode 10 ise belirtilmemelidir.
Ayrı |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @Amount | 1 | float | Her ek konuk için taban fiyata eklenen vergiler ve ücretler hariç tutar.
Konukların yaşına bağlı vergiler 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 sayısı ekleme, kaldırma veya üstüne yazma
- KS tabanlı ücretleri ayarlama
- KS tabanlı ücretleri ekleme, kaldırma veya üstüne yazma
add
, overlay
veya remove
değerlerini ayarlarken tarih aralıkları, hedeflerinize bağlı olarak aynı veya farklı olabilir. Örneğin, "Fiyat ekle" mesajı için ayarlanan tüm aralık yerine Aralık tatilleri için yalnızca birkaç haftayı ayarlamak üzere overlay
değerini kullanabilirsiniz. Bu işlem, yalnızca bu dönem için doluluk oranlarını değiştirir.
Tarihe göre fiyatlandırma
Belirli bir oda ve ücret planı için tesis başına en fazla 50 doluluk oranı olabilir. Fiyatlar tüm doluluk durumları için aynıysa gerekli fiyatla birlikte maksimum doluluk durumunu göndermeniz yeterlidir. Google bu sayede, daha düşük doluluk oranlarının da aynı taban ücreti aldığını varsayar.
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 oda türü ve paket kombinasyonları için 5.000 ürün 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ıla ait 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) kullanarak belirli tarihlerde (ör. tatiller) doluluk oranlarının yalnızca bazılarını değiştirebilirsiniz.
<?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 mesajlardan biri gönderildikten 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 ücretleri ekleme, kaldırma ve bunların üzerine yazma
Tutar ekleme
2021-10-20 ile 2021-12-31 tarihleri arasında RoomID_1 ve PackageID_1 için 1 ve 2 kişi doluluk oranına göre taban ücretleri ve ek konuk tutarlarını eklemek üzere NotifType
değerini Delta
olarak ayarlayın.
Ek konuk ücretleri, kullanıcı aramasındaki doluluk oranına göre belirlenen taban ücrete eklenir. Kullanıcı tarafından belirtilen doluluk, RoomID_1'in kapasitesi dahilinde olmalıdır.
Bu örnekte, ek konuk tutarları şu şekilde uygulanır:
- 0-10 yaş arası çocuklar için 5 ABD doları (dahil).
- 11-17 yaş arası ç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şımı tutarları
2021-10-20 ile 2021-12-31 tarihleri arasında RoomID_1 ve PackageID_1 için kişi başı ücretleri ve ek konuk tutarlarının tamamını silmek ve yeni belirtilen kişi başı ücretlerle ek tutarlarla değiştirmek üzere NotifType
değerini Overlay
olarak ayarlayın.
Örneğin, "Ücret ekleme" mesajından sonra bu mesaj gönderilirse 1 ve 2 numaralı taban kişi başı ücretler silinir ve yalnızca 1 numaralı yeni taban kişi başı ücret depolanır. Önceki ek konuk ücreti grubu silinir ve yalnızca yeni ücret grubu depolanır. Ek konuk sayısı için artık taban fiyat olarak yeni 1 kişi kapasiteli fiyat kullanılacak. Bu güncellemeden sonra çocuklar için ek konuk ü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>
Tutarların kaldırılması
2021-10-20 ile 2021-12-31 tarihleri arasında RoomID_1 ve PackageID_1 için kişi başı tüm taban ücretleri ve ek konuk tutarlarının tamamını silmek üzere NotifType
değerini Delete
olarak ayarlayın.
Örneğin, diğer örnek mesajlardan biri gönderildikten sonra bu mesaj gönderilirse kişi başı taban ücretler veya ek konuk ücretleri 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 davetli sayısını kaldırma
2021-10-20 ile 2021-12-31 tarihleri arasındaki temel ücretleri etkilemeden RoomID_1 ve PackageID_1 için ek konuk tutarlarının tamamını silmek üzere NotifType
değerini boş bir <AdditionalGuestAmounts>
öğesiyle Delta
olarak ayarlayın.
Örneğin, diğer örnek mesajlardan biri gönderildikten sonra bu mesaj gönderilirse yalnızca taban 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>
LOS tabanlı fiyatlandırma
KS tabanlı ücretleri ayarlama
1. Örnek
18.05.2020'den itibaren 1, 2 ve 3 gecelik konaklama ücretlerini ayarlayın. Bu örnekte 1, 2 ve 3 gecelik konaklamaların toplam ücreti sırasıyla 100, 180 ve 240 TL 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ı ücretleri ekleme, kaldırma veya üstüne yazma
Konaklama süreleri ekleme
Konaklama süresine dayalı fiyatlandırmada Delta
işlemi, <StatusApplicationControl>
öğesinde belirtilen check-in tarihi aralıkları ve her alt Rate
öğesinin UnitMultiplier
özelliğinde belirtilen tüm konaklama süreleri için ücretlerin 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ürelerinin üzerine yazma
Konaklama süresine dayalı fiyatlandırmada, Overlay
işlemi, <StatusApplicationControl>
'te belirtilen ürünün tüm konaklama süreleri ve check-in tarihi aralığı için fiyatların yerini alır.
Bu mesajla, belirtilen varış tarihlerindeki tüm konaklama süreleri için kişi başı ücretler kaldırılır ve yalnızca 3 konaklama süresi için tanımlanan çift 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, <StatusApplicationControl>
'te belirtilen ürünün tüm konaklama süreleri ve 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 durumudur. 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>