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" TimeStamp="timestamp" Version="3.0" NotifType="[Overlay|Delta|Remove]" NotifScopeType="[ProductRate]"> <POS> <Source> <RequestorID ID="partner_account_name"/> </Source> </POS> <RateAmountMessages HotelCode="HotelID"> <RateAmountMessage> <StatusApplicationControl Start="YYYY-MM-DD" End="YYYY-MM-DD" InvTypeCode="RoomID" RatePlanCode="PackageID"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="float" AmountAfterTax="float" CurrencyCode="currency" NumberOfGuests="integer"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Öğeler ve Özellikler
OTA_HotelRateAmountNotifRQ mesajında şu öğeler ve özellikler bulunur:Öğe / @Özellik | Geçtiği yer sayısı | Tür | Açıklama |
---|---|---|---|
OTA_HotelRateAmountNotifRQ | 1 | Karmaşık öğe | Ücret mesajının kök öğesidir. |
OTA_HotelRateAmountNotifRQ / @xmlns | 0..1 | Dize (URI) | XML ad alanıdır. |
OTA_HotelRateAmountNotifRQ / @TimeStamp | 1 | DateTime | Bu mesajın oluşturulma tarihi ve saatidir. |
OTA_HotelRateAmountNotifRQ / @Version | 1 | Ondalık | OpenTravel mesaj sürümüdür. |
OTA_HotelRateAmountNotifRQ / @NotifType | 0..1 | Enum | Her Geçerli değerler şunlardır:
|
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 | Kaynak | <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 | Dize | 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ızdaki |
OTA_HotelRateAmountNotifRQ / RateAmountMessages | 1 | RateAmountMessages | Ücretleri tanımlayan <RateAmountMessage> öğelerin koleksiyonudur. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / @HotelCode | 1 | Dize | 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 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 | Tarih | Tarih aralığının başlangıç tarihidir. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @End | 1 | Tarih | Tarih aralığının bitiş tarihidir. 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. |
OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / StatusApplicationControl / @Mon | 0..1 | Boole | Pazartesi günlerini açıkça dahil etmek için true veya 1 olarak ayarlayın.
|
OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / StatusApplicationControl / @Tue | 0..1 | Boole | Salı günlerini açıkça dahil etmek için true veya 1 olarak ayarlayın.
|
OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / StatusApplicationControl / @Weds | 0..1 | Boole | Çarşamba günlerini açıkça dahil etmek için true veya 1 olarak ayarlayın.
|
OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / StatusApplicationControl / @Thur | 0..1 | Boole | Perşembe günlerini açıkça dahil etmek için true veya 1 olarak ayarlayın.
|
OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / StatusApplicationControl / @Fri | 0..1 | Boole | Cuma günlerini açıkça dahil etmek için true veya 1 olarak ayarlayın.
|
OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / StatusApplicationControl / @Sat | 0..1 | Boole | Cumartesi günlerini açıkça dahil etmek için true veya 1 olarak ayarlayın.
|
OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / StatusApplicationControl / @Sun | 0..1 | Boole | Pazar günlerini açıkça dahil etmek için true veya 1 olarak ayarlayın.
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @InvTypeCode | 1 | Dize | 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 | Dize | Ü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 / Rates | 0..1 | Ücretler | <Rate> öğesi koleksiyonunun kapsayıcısıdır. NotifType değeri "Remove" ise bu öğe belirtilmemelidir.
"Remove" değilse bu öğe tam olarak bir kez belirtilmelidir. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate | 1 | Ücret | <BaseByGuestAmts> öğesi koleksiyonunun kapsayıcısıdır. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseGuestAmts | 1 | BaseByGuestAmts | Taban ücret koleksiyonun kapsayıcısıdır. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseGuestAmts / 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 / BaseGuestAmts / BaseByGuestAmt / @AmountBeforeTax | 0..1 | Kayan noktalı |
Vergiler ve ücretler dahil edilmeden önce odanın günlük fiyatıdır. belirtilmelidir.Promosyon kullanıyorsanız indirim |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseGuestAmts / BaseByGuestAmt / @AmountAfterTax | 0..1 | Kayan noktalı | 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 / BaseGuestAmts / BaseByGuestAmt / @CurrencyCode | 1 | Enum | Belirli bir para biriminin ISO 4217 (3) alfa karakter kodudur. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseGuestAmts / BaseByGuestAmt / @NumberOfGuests | 0..1 | Tam sayı | Bir oda için planlanan maksimum konuk sayısıdır. Sağlanmazsa varsayılan olarak 2'dir. |
Örnekler
Bu bölümde, şu işlemlerin nasıl yapılacağını vurgulayan kod örnekleri verilmiştir:
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" 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" 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" 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" 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
Ücret ekleme
2020-05-18 ile 2020-05-23 tarihleri arasında RoomID_1 ve PackageID_1 için kişi başı ücret eklemek üzere NotifType
değerini Delta olarak ayarlayın.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" 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-23" 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
2020-05-18 ile 2020-05-23 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.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" 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-23" 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
2020-05-18 ile 2020-05-23 tarihleri arasında RoomID_1 ve PackageID_1 için kişi başı ücretleri 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şı ücretler saklanmaz.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0" NotifType="Remove" NotifScopeType="ProductRate">> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-23" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>