İstekler
Söz dizimi
OTA_HotelRateAmountNotifRQ
mesajında şu söz dizimi kullanılır:
<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
EchoToken="message_ID"
TimeStamp="timestamp"
Version="3.0"
NotifType="[Overlay|Delta|Remove]"
NotifScopeType="[ProductRate]">
<POS>
<Source>
<RequestorID ID="partner_key"/>
</Source>
</POS>
<RateAmountMessages HotelCode="HotelID">
<RateAmountMessage>
<StatusApplicationControl Start="YYYY-MM-DD"
End="YYYY-MM-DD"
Mon="boolean_value"
Tue="boolean_value"
Weds="boolean_value"
Thur="boolean_value"
Fri="boolean_value"
Sat="boolean_value"
Sun="boolean_value"
InvTypeCode="RoomID"
RatePlanCode="PackageID"
RatePlanType="[26]" />
<Rates>
<Rate>
<BaseByGuestAmts>
<BaseByGuestAmt AmountBeforeTax="float"
AmountAfterTax="float"
CurrencyCode="currency"
NumberOfGuests="integer"/>
</BaseByGuestAmts>
<AdditionalGuestAmounts>
<AdditionalGuestAmount Amount="float"
AgeQualifyingCode="[10|8]"
MaxAge="integer"/>
</AdditionalGuestAmounts>
</Rate>
</Rates>
</RateAmountMessage>
</RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>
Öğeler ve özellikler
OTA_HotelRateAmountNotifRQ
mesajında aşağıdaki öğeler ve özellikler bulunur:
Öğe / @Özellik | Yineleme sayısı | Tür | Açıklama |
---|---|---|---|
OTA_HotelRateAmountNotifRQ | 1 | Complex element | Ücret mesajının kök öğesidir. |
OTA_HotelRateAmountNotifRQ / @xmlns | 0..1 | string (URI) | XML ad alanıdır. |
OTA_HotelRateAmountNotifRQ / @EchoToken | 1 | string | Bu istek mesajının benzersiz tanımlayıcısıdır. Bu değer, yanıt mesajında döndürülür. a-z , A-Z , 0-9 , _ (underscore) ve - (dash) karakterlerine izin verilir. |
OTA_HotelRateAmountNotifRQ / @TimeStamp | 1 | DateTime | Bu mesajın oluşturulma tarihi ve saatidir. |
OTA_HotelRateAmountNotifRQ / @Version | 1 | decimal | OpenTravel mesaj sürümüdür. |
OTA_HotelRateAmountNotifRQ / @NotifType | 0..1 | enum | Her 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 Transaction (Tesis Verileri) mesajınızın |
OTA_HotelRateAmountNotifRQ / RateAmountMessages | 1 | RateAmountMessages | Ücretleri tanımlayan <RateAmountMessage> öğelerin koleksiyonu. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / @HotelCode | 1 | string | Tesisin benzersiz tanımlayıcısıdır. Bu değer, Otel Listesi Feed'indeki <listing> öğesinde <id> kullanılarak belirtilen Otel Kimliği ile eşleşmelidir. Otel kimliği, Hotel Center'da da listelenir. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage | 1..n | RateAmountMessage | Bir oda fiyatı için fiyatları belirleyen kapsayıcıdır (bir tarih aralığındaki oda türü ve ücret planı kombinasyonu). |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl | 1 | StatusApplicationControl | Oda türü (InvTypeCode ) ve ücret planı (RatePlanCode ) tanımlayıcılarının yanı sıra tarih aralığını da tanımlar. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Start | 1 | Date | Tarih aralığının (girilen tarihler dahil) başlangıç tarihidir (tesisin bulunduğu saat dilimine göre). |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @End | 1 | Date | Tarih aralığının (girilen tarihler dahil) bitiş tarihi (tesisin bulunduğu saat dilimine göre). start değerine eşit veya değerden daha büyük olmalıdır.
start ve end eşitse güncelleme ilgili tarihe uygulanır. Google'ın üç yıla kadar veriyi desteklediğini unutmayın. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Mon | 0..1 | boolean | Pazartesi günlerini açıkça dahil etmek için true veya 1 olarak ayarlayın.
|
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, yalnızca KS tabanlı fiyatlandırma modeli kullanılırken 26 değeri kullanılarak belirtilmelidir. Bu özelliğin hariç tutulması, bunun tarih başına fiyatlandırma güncellemesi olduğunu gösterir. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates | 0..1 | Rates | <Rate> öğesi koleksiyonunun kapsayıcısıdır. NotifType değeri "Remove" ise bu öğe belirtilmemelidir. Aksi takdirde bu öğe tam olarak bir kez belirtilmelidir. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate | 1 | Rate | <BaseByGuestAmts> öğesi koleksiyonunun kapsayıcısıdır. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @RateTimeUnit | 0..1 | String | Konaklama süresinin belirtildiği birim. Desteklenen tek değer "Day" olduğundan konaklama süresi gün olarak belirtilir.
KS tabanlı fiyatlandırmayı kullanmak için |
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 koleksiyonunun kapsayıcısıdır. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt | 1..n | BaseByGuestAmt | Belirtilen para biriminde oda fiyatlarını belirtir. Fiyat, her biri farklı NumberOfGuests değerine sahip birden fazla <BaseByGuestAmt> öğesi kullanılarak kişi başına olabilir.
Aksi takdirde fiyat, NumberOfGuests tarafından tanımlanan maksimum kişi sayısı için geçerlidir. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @AmountBeforeTax | 0..1 | float |
Vergiler ve ücretler hariç oda fiyatının günlük fiyatı. Hem 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 mülk başına ayrı <TaxFeeInfo> mesajlarının gönderilmesi gerekmez. Bu özellik, belirli bölgelerdeki kullanıcılara gösterilebilecek taban ve toplam ücretleri sağlamak için AmountBeforeTax ile birlikte kullanılabilir.
Uyarı: Promosyon kullanıyorsanız 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 ücret karşılığında kabul edilebilecek maksimum konuk sayısıdır.
Sağlanmamışsa varsayılan olarak 2 konuk ayarlanır.
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts | 0..1 | AdditionalGuestAmounts | Ek konuklar için ödeme koleksiyonunun kapsayıcısıdır.
Bu söz dizimi, tarihe göre ek konuk veya çocuk ücretleri değişiyorsa yararlıdır. Bu tutarlar mülk düzeyinde statik olarak tanımlanabiliyorsa daha verimli
Ö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 tarihine kadar belirtilen konuk türüne ve varsa konuğun MaxAge tarihine kadar belirtilen yaşına göre belirtir.
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @AgeQualifyingCode | 1 | enum | Ek konuk türünü (yetişkin veya çocuk) tanımlar. Geçerli seçenekler şunlardır:
|
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 ilave konuk için taban fiyata eklenen vergiler ve ücretlerden önceki tutar.
Konukların yaşına bağlı vergiler ve ücretler, |
Örnekler
Bu bölümde, aşağıdakilerin nasıl yapılacağını vurgulayan kod örnekleri verilmiştir:
- Taban ücretleri ve toplam ücretleri ayarlama
- Ücret ekleme, yer paylaşımlı ve kaldırma
- Ek davetli tutarları ekleme, yer paylaşımlı ve kaldırma
- KS tabanlı ücretler ayarlama
- KS tabanlı ücretleri ekleme, yer paylaşımı ve kaldırma
add
, overlay
veya remove
değerlerini belirlediğinizde, tarih aralıkları hedeflerinize bağlı olarak aynı veya farklı olabilir. Örneğin, "Ücret ekle" mesajı için ayarlanan aralığın tamamı yerine Aralık tatilleri için yalnızca birkaç hafta ayarlamak üzere overlay
kullanabilirsiniz. Bu ücret, yalnızca bu dönem için doluluk oranını değiştirir.
Tarih başına fiyatlandırma
Taban ücretleri ve toplam ücretleri ayarlama
1. Örnek
Varsayılan kişi sayısı (çift) için taban ücrettir (vergiler veya ücretler hariç). Bu modelde tesisin vergi ve ücretleri <TaxFeeInfo>
mesajı kullanılarak tanımlanmalıdır. Taban ücret, belirli bölgelerden arama yapan kullanıcılar için daha belirgindir.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-23" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" CurrencyCode="USD"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
2. Örnek
Varsayılan kişi sayısı (çift) için taban ve toplam ücrettir. Bu modelde vergiler ve ücretler, <TaxFeeInfo>
mesajları kullanılarak ayrı ayrı tanımlanmamalıdır. Taban ücret, belirli bölgelerden arama yapan kullanıcılar için daha belirgindir.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-23" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" AmountAfterTax="110.00" CurrencyCode="USD"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
3. Örnek
Birden fazla kişi için toplam ücret (vergiler ve ücretler dahil). Bu modelde vergiler ve ücretler, <TaxFeeInfo>
mesajları kullanılarak ayrı olarak tanımlanmamalıdır.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-23" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountAfterTax="100.00" CurrencyCode="USD" NumberOfGuests="1"/> <BaseByGuestAmt AmountAfterTax="110.00" CurrencyCode="USD" NumberOfGuests="2"/> <BaseByGuestAmt AmountAfterTax="120.00" CurrencyCode="USD" NumberOfGuests="3"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
4. Örnek
Farklı tarih aralıklarında birden fazla oda türü ve ücret planı için taban ve toplam ücrettir.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-23" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" AmountAfterTax="110.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> <RateAmountMessage> <StatusApplicationControl Start="2020-05-01" End="2020-05-31" InvTypeCode="RoomID_2" RatePlanCode="PackageID_2"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="200.00" AmountAfterTax="220.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Ücret ekleme, yer paylaşımlı ve kaldırma
Ücret ekle
20.10.2021 ile 31.12.2021 arasında RoomID_1 ve PackageID_1 için kişi başı ücretler eklemek üzere NotifType
değerini Delta
olarak ayarlayın. Google'ın üç yıla kadar veriyi desteklediğini unutmayın.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Delta" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" CurrencyCode="USD" NumberOfGuests="1"/> <BaseByGuestAmt AmountBeforeTax="110.00" CurrencyCode="USD" NumberOfGuests="2"/> <BaseByGuestAmt AmountBeforeTax="120.00" CurrencyCode="USD" NumberOfGuests="3"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Yer paylaşımlı ücretler
2021-10-20 ile 2021-12-31 tarihleri arasında RoomID_1 ve PackageID_1 için kişi başı ücretleri silip yeni belirtilen kişi başı ücretlerle değiştirmek üzere NotifType
değerini Overlay
olarak ayarlayın.
Örneğin, bu mesaj "Fiyat ekle" mesajından sonra gönderilirse 1, 2 ve 3 numaralı kişi başı ücretler silinir ve yalnızca 1 numaralı yeni kişi için ücret depolanır. Dilerseniz daha kısa bir tarih aralığı da belirleyebilirsiniz (ör. 20.12.2021 ve 31.12.2021) değiştirin.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Overlay" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="200.00" CurrencyCode="USD" NumberOfGuests="1"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Ücretleri kaldırma
20.10.2021 ile 31.12.2021 tarihleri arasında RoomID_1 ve PackageID_1 için kişi başı ücretleri silmek üzere NotifType
değerini Remove
olarak ayarlayın.
Örneğin, bu mesaj diğer örnek mesajların birinden sonra gönderilirse kişi başı ücretler depolanmaz.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Remove" NotifScopeType="ProductRate">> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Ek davetli tutarları ekleme, yer paylaşımı ve kaldırma
Tutar ekle
2021-10-20 ile 2021-12-31 tarihleri arasında RoomID_1 ve PackageID_1 için doluluk 1 ve 2 için taban ücretleri ve konuk tutarlarını eklemek üzere NotifType
değerini Delta
olarak ayarlayın.
Ek konuk tutarları, kullanıcı aramasındaki doluluk durumuna göre belirlenecek taban ücretin üzerine uygulanır. Kullanıcı tarafından belirtilen doluluk, RoomID_1 kapasitesinin altında olmalıdır.
Bu örnekte, ek konuk tutarları şu şekilde uygulanır:
- 0-10 yaş aralığındaki çocuklar için (dahil) 5 ABD doları.
- 11-17 yaş aralığındaki çocuklar için (dahil) 10 ABD doları.
- Yetişkinler için 20 ABD doları.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Delta" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" CurrencyCode="USD" NumberOfGuests="1"/> <BaseByGuestAmt AmountBeforeTax="110.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> <AdditionalGuestAmounts> <AdditionalGuestAmount Amount="5.00" AgeQualifyingCode="8" MaxAge="10" /> <AdditionalGuestAmount Amount="10.00" AgeQualifyingCode="8" MaxAge="17" /> <AdditionalGuestAmount Amount="20.00" AgeQualifyingCode="10" /> </AdditionalGuestAmounts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Yer paylaşımlı tutarlar
20.10.2020 ile 31.12.2021 arasında kişi başı ücretleri ve RoomID_1 ile PackageID_1 için tüm ek konuk tutarlarını silip yeni belirtilen kişi başı ücretler ve ek tutarlarla değiştirmek için NotifType
değerini Overlay
olarak ayarlayın.
Örneğin, bu mesaj "Ücret ekleme" mesajından sonra gönderilirse 1. ve 2. taban kişi başı ücret silinir ve yalnızca 1 numaralı yeni taban kişi ücreti depolanır. Önceki ek konuk tutarı grubu silinir ve yalnızca yeni tutar grubu saklanır. Ek konuk tutarları artık taban ücret olarak yeni kişi sayısı 1 ücretini kullanır. Bu güncellemeden sonra, çocuklar için tanımlanan ek konuk ücretleri olmadığını hatırlatmak isteriz.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Overlay" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="200.00" CurrencyCode="USD" NumberOfGuests="1"/> </BaseByGuestAmts> <AdditionalGuestAmounts> <AdditionalGuestAmount Amount="30.00" AgeQualifyingCode="10" /> </AdditionalGuestAmounts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Tutarları kaldır
Kişi başı tüm taban ücretleri ve 20.10.2021 ile 31.12.2021 tarihleri arasında RoomID_1 ile PackageID_1 için tüm ek konuk tutarlarını silmek amacıyla NotifType
değerini Delete
olarak ayarlayın.
Örneğin bu mesaj, diğer örnek mesajların birinden sonra gönderilirse kişi başına taban ücret veya ek konuk tutarları depolanmaz.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Remove" NotifScopeType="ProductRate">> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Yalnızca ek davetli tutarlarını kaldır
20.10.2021 ile 31.12.2021 arasındaki taban ücretleri etkilemeden RoomID_1 ve PackageID_1 için tüm ek davetli miktarlarını silmek istiyorsanız NotifType
değerini boş bir <AdditionalGuestAmounts>
öğesiyle Delta
olarak ayarlayın.
Örneğin, bu mesaj diğer örnek mesajların birinden sonra gönderildiyse yalnızca temel tutarlar depolanır.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Delta" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <AdditionalGuestAmounts/> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
KS tabanlı fiyatlandırma
KS tabanlı ücretleri ayarlama
1. Örnek
18.05.2020'den itibaren 1, 2 ve 3 gecelik konaklamalar için ücret belirleyin. Bu örnekte 1, 2 ve 3 gecelik konaklama için toplam ücret sırasıyla 100 ABD doları, 180 ABD doları ve 240 ABD doları olur.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-18" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1" RatePlanType="26"/> <Rates> <Rate UnitMultiplier="1" RateTimeUnit="Day"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> <Rate UnitMultiplier="2" RateTimeUnit="Day"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="90.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> <Rate UnitMultiplier="3" RateTimeUnit="Day"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="80.00" CurrencyCode="USD" NumberOfGuests="2" /> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
KS tabanlı ücretler ekleme, yer paylaşımı ve kaldırma
Konaklama süreleri ekleyin
KS tabanlı fiyatlandırmada bir Delta
işlemi, <StatusApplicationControl>
içinde belirtilen giriş tarih aralıkları ve her alt Rate
öğesinin UnitMultiplier
ile belirtilen tüm konaklama süreleri için fiyatların kademeli olarak güncellenmesini sağlar.
Geçerli her giriş tarihi ve konaklama süresi için tüm doluluk oranları belirtilmelidir.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0" NotifType="Delta" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-18" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1" RatePlanType="26"/> <Rates> <Rate UnitMultiplier="3" RateTimeUnit="Day"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="80.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Yer paylaşımlı konaklama süreleri
KS tabanlı fiyatlandırmada bir Overlay
işlemi, <StatusApplicationControl>
özelliğinde belirtilen ürünün tüm konaklama süreleri ve check-in tarih aralığı için ücretlerin yerini alır.
Bu mesaj kullanıldığında, belirtilen varış tarihlerindeki tüm konaklama süreleri için kişi başı ücretler kaldırılacak ve yalnızca 3 konaklama süresi için tanımlanmış olan çift kişilik ücretle değiştirilecektir.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0" NotifType="Overlay" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-18" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1" RatePlanType="26"/> <Rates> <Rate UnitMultiplier="3" RateTimeUnit="Day"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="80.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Konaklama sürelerini kaldır
KS tabanlı fiyatlandırmada bir Remove
işlemi, ürünün <StatusApplicationControl>
bölümünde belirtilen tüm konaklama süreleri ve check-in tarih aralığındaki ücretleri kaldırır.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Remove" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1" RatePlanType="26"/> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Yanıtlar
Söz dizimi
OTA_HotelRateAmountNotifRS
mesajında şu söz dizimi kullanılır:
<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05"
TimeStamp="timestamp"
EchoToken="echo_token"
Version="3.0">
<!-- Either Success or Errors will be populated. -->
<Success/>
<Errors>
<Error Type="12" Status="NotProcessed" ShortText="issue_code">issue_description</Error>
</Errors>
</OTA_HotelRateAmountNotifRS>
Öğeler ve özellikler
OTA_HotelRateAmountNotifRS
mesajında aşağıdaki öğeler ve özellikler bulunur:
Öğe / @Özellik | Yineleme sayısı | Tür | Açıklama |
---|---|---|---|
OTA_HotelRateAmountNotifRS | 1 | Complex element | Müsaitlik durumu mesajı yanıtının kök öğesidir. |
OTA_HotelRateAmountNotifRS / @TimeStamp | 1 | DateTime | Bu mesajın oluşturulma tarihi ve saatidir. |
OTA_HotelRateAmountNotifRS / @EchoToken | 1 | string | İlişkilendirilmiş OTA_HotelRateAmountNotifRQ mesajındaki benzersiz tanımlayıcıdır. |
OTA_HotelRateAmountNotifRS / Success | 0..1 | Success | OTA_HotelRateAmountNotifRQ mesajının başarıyla işlendiğini belirtir.
Her mesajda |
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 bulabilirsiniz. |
OTA_HotelRateAmountNotifRS / Errors / Error / @Type | 1 | integer | Hatayla ilişkili OpenTravel Alliance EWT (Hata Uyarı Türü) öğesidir. Yalnızca 12 (Processing exception) değeri kullanılır. |
OTA_HotelRateAmountNotifRS / Errors / Error / @Code | 1 | integer | Hatayla ilişkili OpenTravel Alliance ERR (Hata Kodu).
Yalnızca 450 (Unable to process) değeri kullanılır. |
OTA_HotelRateAmountNotifRS / Errors / Error / @Code | 1 | enum | Orijinal isteğin durumudur. Yalnızca NotProcessed değeri kullanılır. |
OTA_HotelRateAmountNotifRS / Errors / Error / @ShortText | 1 | string | Sorunun Google tanımlayıcısı. Bu hatalarla ilgili ayrıntıları Feed Durumu Hata Mesajları konusunda bulabilirsiniz. |
Örnekler
Başarılı
Aşağıda, başarıyla işlenmiş bir OTA_HotelRateAmountNotifRQ mesajına yanıt yer almaktadır.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0"> <Success/> </OTA_HotelRateAmountNotifRS>
Hatalar
Aşağıda, hatalar nedeniyle işlenmeyen bir OTA_HotelRateAmountNotifRQ mesajına yanıt yer almaktadır.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0"> <Errors> <Error Type="12" Code="450" Status="NotProcessed" ShortText="8001">Example</Error> </Errors> </OTA_HotelRateAmountNotifRS>