İstekler
Söz dizimi
OTA_HotelRateAmountNotifRQ
mesajında aşağıdaki söz dizimi kullanılır:
<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
EchoToken="message_ID"
TimeStamp="timestamp"
Version="3.0"
NotifType="[Overlay|Delta|Remove]"
NotifScopeType="[ProductRate]">
<POS>
<Source>
<RequestorID ID="partner_key"/>
</Source>
</POS>
<RateAmountMessages HotelCode="HotelID">
<RateAmountMessage>
<StatusApplicationControl Start="YYYY-MM-DD"
End="YYYY-MM-DD"
Mon="boolean_value"
Tue="boolean_value"
Weds="boolean_value"
Thur="boolean_value"
Fri="boolean_value"
Sat="boolean_value"
Sun="boolean_value"
InvTypeCode="RoomID"
RatePlanCode="PackageID"
RatePlanType="[26]" />
<Rates>
<Rate>
<BaseByGuestAmts>
<BaseByGuestAmt AmountBeforeTax="float"
AmountAfterTax="float"
CurrencyCode="currency"
NumberOfGuests="integer"/>
</BaseByGuestAmts>
<AdditionalGuestAmounts>
<AdditionalGuestAmount Amount="float"
AgeQualifyingCode="[10|8]"
MaxAge="integer"/>
</AdditionalGuestAmounts>
</Rate>
</Rates>
</RateAmountMessage>
</RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>
Öğeler ve özellikler
OTA_HotelRateAmountNotifRQ
mesajında aşağıdaki öğeler ve özellikler bulunur:
Öğe / @Özellik | Yineleme sayısı | Tür | Açıklama |
---|---|---|---|
OTA_HotelRateAmountNotifRQ | 1 | Complex element | Ücret mesajının kök öğesidir. |
OTA_HotelRateAmountNotifRQ / @xmlns | 0..1 | string (URI) | XML ad alanıdır. |
OTA_HotelRateAmountNotifRQ / @EchoToken | 1 | string | Bu istek mesajının benzersiz tanımlayıcısıdır. Bu değer, yanıt mesajında döndürülür. a-z , A-Z , 0-9 , _ (underscore) ve - (dash) karakterlerine izin verilir. |
OTA_HotelRateAmountNotifRQ / @TimeStamp | 1 | DateTime | Bu mesajın oluşturulma tarihi ve saati. |
OTA_HotelRateAmountNotifRQ / @Version | 1 | decimal | OpenTravel mesaj sürümüdür. |
OTA_HotelRateAmountNotifRQ / @NotifType | 0..1 | enum | Her Valid values are: Bu özelliklerin işleyiş şeklini anlamak için örneklere göz atın.
|
OTA_HotelRateAmountNotifRQ / @NotifScopeType | 0..1 | enum | Her Valid values are:
|
OTA_HotelRateAmountNotifRQ / POS | 0..1 | POS | Bu mesaj için iş ortağı hesabını belirten bir kapsayıcıdır (genellikle arka ucunuz birden fazla iş ortağı hesabı için fiyat feed'leri sağlıyorsa kullanılır). |
OTA_HotelRateAmountNotifRQ / POS / Source | 1 | Source | <POS> varsa gereklidir. <RequestorID> öğesinin kapsayıcısıdır. |
OTA_HotelRateAmountNotifRQ / POS / RequestorID | 1 | RequestorID | <POS> varsa gereklidir. İş ortağı hesabını tanımlar. |
OTA_HotelRateAmountNotifRQ / POS / RequestorID / @ID | 1 | string | Bu mesajın iş ortağı hesabıdır. Bu dize değeri, Hotel Center'ın
Hesap ayarları sayfasında listelenen "İş ortağı anahtarı" değeridir.
Not: Birden fazla hesap için feed sağlayan bir arka ucunuz varsa bu değerin, aynı hesap için |
OTA_HotelRateAmountNotifRQ / RateAmountMessages | 1 | RateAmountMessages | Ücretleri tanımlayan <RateAmountMessage> öğelerinden oluşan bir koleksiyon. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / @HotelCode | 1 | string | Tesisin benzersiz tanımlayıcısıdır. Bu değer, Otel Listesi Feed'indeki <listing> öğesinde <id> kullanılarak belirtilen Otel Kimliği ile eşleşmelidir. Otel Kimliği, Hotel Center'da da listelenir. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage | 1..n | RateAmountMessage | Bir oda fiyatı için fiyat belirlemek üzere kullanılan bir kapsayıcıdır (tarih aralığında oda türü ve ücret planı kombinasyonudur). |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl | 1 | StatusApplicationControl | Oda türü (InvTypeCode ) ve ücret planı (RatePlanCode ) tanımlayıcılarının yanı sıra tarih aralığını tanımlar. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Start | 1 | Date | Tarih aralığının (tesisin bulunduğu saat dilimine göre) başlangıç tarihidir. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @End | 1 | Date | Tarih aralığının (tesisin bulunduğu saat dilimine göre) bitiş tarihidir. start değerine eşit veya değerden büyük olmalıdır.
start ve end eşitse güncelleme ilgili tarihe uygulanır. Google'ın üç yıla kadar verileri desteklediğini unutmayın. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Mon | 0..1 | boolean | Pazartesi günlerini açıkça dahil etmek için true veya 1 olarak ayarlayın.
|
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üncellemesinde geçerli olan ARI fiyatlandırma modelinin türünü belirten tanımlayıcı. Bu, yalnızca KS tabanlı fiyatlandırma modeli kullanılırken 26 değeri kullanılarak belirtilmelidir. Bu özelliğin hariç tutulması, tarih başına fiyatlandırma güncellemesi olduğunu gösterir. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates | 0..1 | Rates | <Rate> öğesi koleksiyonunun kapsayıcısıdır. NotifType değeri "Remove" ise bu öğe belirtilmemelidir. Aksi takdirde, bu öğe tam olarak bir kez belirtilmelidir. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate | 1 | Rate | <BaseByGuestAmts> öğesi koleksiyonunun kapsayıcısıdır. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @RateTimeUnit | 0..1 | String | Konaklama süresinin belirtildiği birimdir. Desteklenen tek değer "Day" değeridir. Yani konaklama süresi gün cinsinden belirtilir.
KS tabanlı fiyatlandırmayı kullanmak için |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @UnitMultiplier | 0..1 | Integer | Bu ücret için konaklama süresini oluşturan RateTimeUnits sayısıdır.
Örneğin, Bu KS tabanlı fiyatlandırmayı kullanmak için |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts | 1 | BaseByGuestAmts | Taban ücret koleksiyonunun kapsayıcısıdır. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt | 1..n | BaseByGuestAmt | Belirtilen para biriminde oda fiyatlarını belirtir. Fiyat, her biri farklı NumberOfGuests değerine sahip birden fazla <BaseByGuestAmt> öğesi kullanılarak kişi başına olabilir.
Aksi takdirde fiyat, NumberOfGuests tarafından tanımlanan maksimum kişi sayısı için geçerlidir. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @AmountBeforeTax | 0..1 | float |
Vergiler ve ücretler hariç oda fiyatının günlük fiyatıdır. Hem 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 oda fiyatının günlük fiyatıdır. AmountAfterTax belirtilirse mülk başına ayrı <TaxFeeInfo> mesajları gönderilmesi gerekmez. Bu özellik, belirli bölgelerdeki kullanıcılara gösterilebilecek taban ve toplam ücretleri sağlamak için AmountBeforeTax ile birlikte kullanılabilir.
Uyarı: Promosyon kullanıyorsanız 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 listesini inceleyin. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @NumberOfGuests | 0..1 | integer | Bu ücretle konaklayabilecek maksimum konuk sayısıdır.
Sağlanmazsa varsayılan olarak 2 konuk kabul edilir.
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts | 0..1 | AdditionalGuestAmounts | Ek konuklar için alınan ücretlerin bulunduğu kapsayıcıdır.
Ek konuk veya çocuk ücretleri tarihe göre değişirse bu söz dizimi yararlıdır. Bu tutarlar mülk düzeyinde statik olarak tanımlanabiliyorsa daha etkili
Ö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 | Fiyatları, AgeQualifyingCode ile belirtilen konuk türüne ve varsa konuğun MaxAge ile belirtilen yaşına göre belirtir.
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @AgeQualifyingCode | 1 | enum | Yetişkin veya çocuk olmak üzere ek konuk türünü tanımlar. Geçerli seçenekler şunlardır:
|
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 fiyata eklenen vergi ve ücretler hariç
tutar.
Konukların yaşına bağlı olarak vergiler ve ücretler, |
Örnekler
Bu bölümde, aşağıdakilerin nasıl yapılacağını vurgulayan kod örnekleri sunulmaktadır:
- Taban ücretler ve toplam ücretleri ayarlama
- Fiyat ekleme, yer paylaşımlı fiyatlar ve kaldırma
- Ek davetli tutarları ekleme, yer paylaşımlı gösterimler ve kaldırma işlemleri
- KS tabanlı fiyatlar ayarlama
- KS tabanlı fiyatlar ekleme, yer paylaşımlı fiyatlar ve kaldırma
add
, overlay
veya remove
değerlerini belirlediğinizde, tarih aralıkları hedeflerinize bağlı olarak aynı veya farklı olabilir. Örneğin, "Fiyat ekle" mesajı için ayarlanan aralığın tamamı yerine, Aralık tatilleri için yalnızca birkaç hafta ayarlamak üzere overlay
kullanabilirsiniz. Bu değişiklik, yalnızca bu dönemdeki doluluk oranlarını değiştirir.
Tarihe göre fiyatlandırma
Taban ücretler ve toplam ücretleri ayarlama
1. Örnek
Varsayılan kişi sayısı (çift) için taban ücrettir (vergi veya ücret hariç). Bu modelde tesisin vergi ve ücretleri, <TaxFeeInfo>
mesajı kullanılarak tanımlanmalıdır. Taban ücret, belirli bölgelerden arama yapan kullanıcılar için daha belirgin olur.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-23" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" CurrencyCode="USD"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
2. Örnek
Varsayılan kişi sayısı (çift) için taban ve toplam ücrettir. Bu modelde vergiler ve ücretler, <TaxFeeInfo>
mesajları kullanılarak ayrı olarak tanımlanmamalıdır. Taban ücret, belirli bölgelerden arama yapan kullanıcılar için daha belirgin olur.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-23" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" AmountAfterTax="110.00" CurrencyCode="USD"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
3. Örnek
Birden fazla kişi için toplam ücret (vergi ve ücretler dahil). Bu modelde vergiler ve ücretler, <TaxFeeInfo>
mesajları kullanılarak ayrı olarak tanımlanmamalıdır.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-23" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountAfterTax="100.00" CurrencyCode="USD" NumberOfGuests="1"/> <BaseByGuestAmt AmountAfterTax="110.00" CurrencyCode="USD" NumberOfGuests="2"/> <BaseByGuestAmt AmountAfterTax="120.00" CurrencyCode="USD" NumberOfGuests="3"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
4. Örnek
Farklı tarih aralıklarında birden fazla oda türü ve ücret planları için taban ve toplam ücrettir.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-23" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" AmountAfterTax="110.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> <RateAmountMessage> <StatusApplicationControl Start="2020-05-01" End="2020-05-31" InvTypeCode="RoomID_2" RatePlanCode="PackageID_2"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="200.00" AmountAfterTax="220.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Fiyat ekleme, yer paylaşımlı fiyatlar ve kaldırma
Ücret ekleme
2021-10-20 ile 2021-12-31 tarihleri arasında RoomID_1 ve PackageID_1 için kişi başı ücret eklemek üzere NotifType
değerini Delta
olarak ayarlayın. Google'ın üç yıla kadar verileri desteklediğini unutmayın.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Delta" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" CurrencyCode="USD" NumberOfGuests="1"/> <BaseByGuestAmt AmountBeforeTax="110.00" CurrencyCode="USD" NumberOfGuests="2"/> <BaseByGuestAmt AmountBeforeTax="120.00" CurrencyCode="USD" NumberOfGuests="3"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Ücretlerin üstüne yazma
2021-10-20 ile 2021-12-31 tarihleri arasında RoomID_1 ve PackageID_1 için kişi başı ücretleri silmek ve bunları yeni belirtilen kişi başı ücretlerle değiştirmek için NotifType
olarak Overlay
ayarlayın.
Örneğin, bu mesaj "Ücret ekleyin" mesajından sonra gönderilirse 1, 2 ve 3 numaralı doluluk değerleri silinir ve yalnızca 1 numaralı yeni kişi fiyatı depolanır. Ayrıca daha kısa bir tarih aralığı da ayarlayabilirsiniz (ör. 2021-12-20 ve 31-12-31) belirli tarihlerdeki (ör. tatil günleri) doluluk oranının yalnızca bir kısmını değiştirin.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Overlay" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="200.00" CurrencyCode="USD" NumberOfGuests="1"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Fiyatları kaldırma
2021-10-20 ile 2021-12-31 tarihleri arasında RoomID_1 ve PackageID_1 için kişi başı ücretleri silmek üzere NotifType
değerini Remove
olarak ayarlayın.
Örneğin, bu mesaj diğer örnek mesajların birinden sonra gönderilirse kişi başı ücretler depolanmaz.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Remove" NotifScopeType="ProductRate">> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Ek davetli tutarları ekleme, yer paylaşımlı olarak ödeme yapma ve bu tutarları kaldırma
Tutar ekle
1 ve 2 konukların taban ücretlerini ve 2021-10-20 ile 31 tarihleri arasında RoomID_1 ile PackageID_1 için taban ücretleri eklemek üzere NotifType
olarak Delta
ayarlayın.
Ek konuk tutarları, kullanıcı aramasında doluluk oranına göre belirlenecek taban ücretin üzerine uygulanır. Kullanıcı tarafından belirtilen doluluk, RoomID_1 kapasitesinin üzerinde olmalıdır.
Bu örnekte, ek davetlilerin tutarları şu şekilde uygulanacaktır:
- 0-10 yaş aralığındaki çocuklar için (her biri dahil) 5 ABD doları.
- 11-17 yaş aralığındaki çocuklar için 10 ABD doları (dahil).
- Yetişkinler için 20 ABD doları.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Delta" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" CurrencyCode="USD" NumberOfGuests="1"/> <BaseByGuestAmt AmountBeforeTax="110.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> <AdditionalGuestAmounts> <AdditionalGuestAmount Amount="5.00" AgeQualifyingCode="8" MaxAge="10" /> <AdditionalGuestAmount Amount="10.00" AgeQualifyingCode="8" MaxAge="17" /> <AdditionalGuestAmount Amount="20.00" AgeQualifyingCode="10" /> </AdditionalGuestAmounts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Yer paylaşımlı tutarlar
2021-10-20 ile 2021-12-31 tarihleri arasında RoomID_1 ve PackageID_1 için kişi başı ücretleri ve tüm ek konuk tutarlarını silmek ve bunları yeni belirtilen kişi başı fiyatlar ve ek tutarlarla değiştirmek için NotifType
olarak Overlay
ayarlayın.
Örneğin, bu mesaj "Ücret ekleyin" mesajından sonra gönderilirse taban doluluk 1 ve 2 ücretleri silinir ve yalnızca yeni taban doluluk 1 ücreti depolanır. Önceki ek konuk tutarları grubu silinir ve yalnızca yeni tutar grubu saklanır. Ek konuk miktarlarında artık taban ücret olarak yeni doluluk oranı 1 olan ücret kullanılır. Bu güncellemeden sonra çocuklar için herhangi bir ek konuk ücreti uygulanmayacağını unutmayın.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Overlay" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="200.00" CurrencyCode="USD" NumberOfGuests="1"/> </BaseByGuestAmts> <AdditionalGuestAmounts> <AdditionalGuestAmount Amount="30.00" AgeQualifyingCode="10" /> </AdditionalGuestAmounts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Tutarları kaldır
2021-10-20 ile 2021-12-31 tarihleri arasında kişi başı taban ücretlerin yanı sıra RoomID_1 ve PackageID_1 için tüm ek konuk tutarlarını silmek üzere NotifType
olarak Delete
ayarlayın.
Örneğin, bu mesaj diğer örnek mesajların birinden sonra gönderilirse kişi başına taban ücret veya ek konuk tutarları depolanmaz.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Remove" NotifScopeType="ProductRate">> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Yalnızca ek davetli tutarlarını kaldır
20.10.2021 ile 31.12.2021 arasında taban ücretleri etkilemeden RoomID_1 ve PackageID_1 için tüm ek konuk tutarlarını silmek için NotifType
öğesini boş bir <AdditionalGuestAmounts>
öğesiyle Delta
olarak ayarlayın.
Örneğin, bu mesaj diğer örnek mesajların birinden sonra gönderildiyse yalnızca taban tutarlar depolanır.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Delta" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <AdditionalGuestAmounts/> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
KS tabanlı fiyatlandırma
KS tabanlı ücretler ayarlama
1. Örnek
18.05.2020 tarihinden itibaren 1, 2 ve 3 gecelik konaklama için ücretleri ayarlayın. Bu örnekte 1, 2 ve 3 gecelik konaklama için toplam ücret sırasıyla 100 ABD doları, 180 ABD doları ve 240 ABD doları olur.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-18" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1" RatePlanType="26"/> <Rates> <Rate UnitMultiplier="1" RateTimeUnit="Day"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> <Rate UnitMultiplier="2" RateTimeUnit="Day"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="90.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> <Rate UnitMultiplier="3" RateTimeUnit="Day"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="80.00" CurrencyCode="USD" NumberOfGuests="2" /> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
KS tabanlı fiyatlar ekleme, yer paylaşımlı fiyatlar ve kaldırma
Konaklama süresi ekleyin
KS tabanlı bir Delta
işlemi, <StatusApplicationControl>
ile belirtilen giriş tarihi aralıkları ve her alt Rate
öğesinin UnitMultiplier
ile belirtilen tüm konaklama süreleri için ücretlerin kademeli olarak güncellenmesine olanak tanır.
Geçerli her giriş tarihi ve konaklama süresi için tüm doluluk ücretleri belirtilmelidir.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0" NotifType="Delta" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-18" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1" RatePlanType="26"/> <Rates> <Rate UnitMultiplier="3" RateTimeUnit="Day"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="80.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Bindirme konaklama süreleri
KS tabanlı fiyatlandırmada Overlay
işlemi, <StatusApplicationControl>
öğesinde belirtilen tüm konaklama süreleri ve giriş tarihi aralığındaki ücretlerin yerini alır.
Bu mesajda, belirtilen varış tarihlerindeki tüm konaklama süreleri için kişi başı ücretler kaldırılır ve bunların yerine yalnızca konaklama süresi 3 için tanımlanan çift kişilik fiyat kullanılır.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0" NotifType="Overlay" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-18" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1" RatePlanType="26"/> <Rates> <Rate UnitMultiplier="3" RateTimeUnit="Day"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="80.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Konaklama sürelerini kaldırma
KS tabanlı fiyatlandırmada Remove
işlemi, <StatusApplicationControl>
öğesinde belirtilen tüm konaklama süreleri ve giriş tarihi aralığı için ücretleri kaldırır.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Remove" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1" RatePlanType="26"/> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Yanıtlar
Söz dizimi
OTA_HotelRateAmountNotifRS
mesajında aşağıdaki söz dizimi kullanılır:
<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05"
TimeStamp="timestamp"
EchoToken="echo_token"
Version="3.0">
<!-- Either Success or Errors will be populated. -->
<Success/>
<Errors>
<Error Type="12" Status="NotProcessed" ShortText="issue_code">issue_description</Error>
</Errors>
</OTA_HotelRateAmountNotifRS>
Öğeler ve özellikler
OTA_HotelRateAmountNotifRS
mesajı aşağıdaki öğeleri ve özellikleri içerir:
Öğe / @Özellik | Yineleme sayısı | Tür | Açıklama |
---|---|---|---|
OTA_HotelRateAmountNotifRS | 1 | Complex element | Müsaitlik durumu mesajı yanıtının kök öğesidir. |
OTA_HotelRateAmountNotifRS / @TimeStamp | 1 | DateTime | Bu mesajın oluşturulma tarihi ve saati. |
OTA_HotelRateAmountNotifRS / @EchoToken | 1 | string | İlişkilendirilmiş OTA_HotelRateAmountNotifRQ mesajındaki benzersiz tanımlayıcıdır. |
OTA_HotelRateAmountNotifRS / Success | 0..1 | Success | OTA_HotelRateAmountNotifRQ mesajının başarıyla işlendiğini belirtir.
Her mesajda |
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ı bölümünde bulunabilir. |
OTA_HotelRateAmountNotifRS / Errors / Error / @Type | 1 | integer | Hatayla ilişkili OpenTravel Alliance EWT (Hata Uyarı Türü). Yalnızca 12 (Processing exception) değeri kullanılır. |
OTA_HotelRateAmountNotifRS / Errors / Error / @Code | 1 | integer | Hatayla ilişkili OpenTravel Alliance ERR (Hata Kodu).
Yalnızca 450 (Unable to process) değeri kullanılır. |
OTA_HotelRateAmountNotifRS / Errors / Error / @Code | 1 | enum | Orijinal isteğin durumu. Yalnızca NotProcessed değeri kullanılır. |
OTA_HotelRateAmountNotifRS / Errors / Error / @ShortText | 1 | string | Sorunun Google tanımlayıcısı. Bu hatalarla ilgili ayrıntılar Feed Durumu Hata Mesajları bölümünde bulunabilir. |
Örnekler
Başarılı
Aşağıda, başarıyla işlenmiş bir OTA_HotelRateAmountNotifRQ mesajına yanıt yer almaktadır.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0"> <Success/> </OTA_HotelRateAmountNotifRS>
Hatalar
Aşağıda, hatalar nedeniyle işlenmeyen bir OTA_HotelRateAmountNotifRQ mesajına yanıt yer almaktadır.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0"> <Errors> <Error Type="12" Code="450" Status="NotProcessed" ShortText="8001">Example</Error> </Errors> </OTA_HotelRateAmountNotifRS>