Genel Bakış
Bu API, olası indirimleri belirtmenizi sağlar. Belirtilen promosyonlar arasından, Google, en düşük fiyata. İsteğe bağlı oranı destekleyen bir API arıyorsanız koşullar geçerli olduğunda fiyatı yükseltebilecek veya düşürebilecek ayarlamalar değerlendirdikten sonra Rate Modifications API. Her iki API de mevcutsa ücret değişikliklerinin promosyonlar.
İstekler
Söz dizimi
Promotions
mesajında aşağıdaki söz dizimi kullanılır:
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner= "partner_key"
id="message_ID"
timestamp="timestamp">
<HotelPromotions hotel_id="HotelID" action="[overlay]">
<Promotion id="PromotionID" action="[delete]">
<BookingDates>
<DateRange start="YYYY-MM-DD[THH:mm:ss]" end="YYYY-MM-DD[THH:mm:ss]"
days_of_week="MTWHFSU_or_subset"/>
<DateRange start="YYYY-MM-DD[THH:mm:ss]" end="YYYY-MM-DD[THH:mm:ss]"
days_of_week="MTWHFSU_or_subset"/>
</BookingDates>
<BookingWindow min="integer_or_duration" max="integer_or_duration"/>
<Ceiling amount_per_night="float"/>
<Floor amount_per_night="float"/>
<CheckinDates>
<DateRange start="[YYYY-]MM-DD" end="[YYYY-]MM-DD" days_of_week="MTWHFSU_or_subset"/>
</CheckinDates>
<CheckoutDates>
<DateRange start="[YYYY-]MM-DD" end="[YYYY-]MM-DD" days_of_week="MTWHFSU_or_subset"/>
</CheckoutDates>
<!-- Specify only one of percentage, fixed_amount, fixed_amount_per_night,
fixed_price, or fixed_price_per_night; applied_nights is only used
with percentage, fixed_amount_per_night, and fixed_price_per_night. -->
<Discount percentage="float" fixed_amount="float" fixed_amount_per_night="float"
fixed_price="float" fixed_price_per_night="float"
applied_nights="integer_1_to_99" rank="integer_1_to_99">
<!-- FreeNights may not be used in conjunction with attributes on Discount -->
<FreeNights stay_nights="integer" discount_nights="integer"
discount_percentage="float" night_selection="[cheapest|last]"
repeats="boolean"/>
</Discount>
<!-- Exactly one of Discount or BestDailyDiscount must be specified.
Specify only one of percentage, fixed_amount, or fixed_price. -->
<BestDailyDiscount percentage="float" fixed_amount="float" fixed_price="float"/>
<Devices>
<Device type="[desktop|tablet|mobile]"/>
</Devices>
<InventoryCount min="integer" max="integer"/>
<LengthOfStay min="integer" max="integer"/>
<MembershipRateRule id="RateRuleID"/>
<MinimumAmount before_discount="integer"/>
<Occupancy min="integer" max="integer"/>
<RatePlans>
<RatePlan id="PackageID_1"/>
<RatePlan id="PackageID_2"/>
</RatePlans>
<RoomTypes>
<RoomType id="RoomID_1"/>
<RoomType id="RoomID_2"/>
</RoomTypes>
<Stacking type="[any|base|none|second]"/>
<StayDates application="[all|any|overlap]">
<DateRange start="[YYYY-]MM-DD" end="[YYYY-]MM-DD" days_of_week="MTWHFSU_or_subset"/>
</StayDates>
<UserCountries type="[include|exclude]">
<Country code="country_code"/>
</UserCountries>
</Promotion>
</HotelPromotions>
</Promotions>
Öğeler ve Özellikler
Tanıtımlar mesajında aşağıdaki öğeler ve özellikler bulunur:
Öğe / @Özellik | Yineleme sayısı | Tür | Açıklama |
---|---|---|---|
Promotions | 1 | Complex element | Bir promosyon mesajının kök öğesidir. |
Promotions / @partner | 1 | string | Bu mesajın iş ortağı hesabıdır. Bu dize değeri
"İş ortağı anahtarı" değeri şurada listelenir:
Hotel Center'daki hesap ayarları sayfası.
Feed'ler için feed sağlayan bir arka ucunuz
birden fazla hesapta oturum açtıysanız, bu değerin |
Promotions / @id | 1 | string | Bu istek mesajının benzersiz tanımlayıcısıdır. Bu değer döndürülür bu mesajdan yararlanabilirsiniz. İzin verilen karakterler a-z, A-Z, 0-9, _ şeklindedir (alt çizgi) ve - (kısa çizgi) tuşlarına basın. |
Promotions / @timestamp | 1 | DateTime | Bu mesajın oluşturulma tarihi ve saati. |
Promotions / HotelPromotions | 0..n | HotelPromotions | Bir tesise ait promosyonlardır. Her promosyon tek bir
|
Promotions / HotelPromotions / @hotel_id | 1 | string | Tesisin benzersiz tanımlayıcısıdır. Bu değer,
Otel kimliği, kullanılarak belirtildi
<listing> öğesinde <id>
otel listesi feed'inde görünür. Otel Kimliği, Hotel Center'da da listelenir. |
Promotions / HotelPromotions / @action | 0..1 | enum | Belirtilirse değer şu şekilde olmalıdır:
Belirtilmemişse geçerli mesaj şunlardan biridir:
|
Promotions / HotelPromotions / Promotion | 0..99 | Promotion | Bir tesis için tek bir promosyondur. Lütfen
99'dan fazla promosyon kullanmanız gerekiyorsa Teknik Hesap Yöneticiniz (THY) ile görüşün. |
Promotions / HotelPromotions / Promotion / @id | 1 | string | Promosyon için benzersiz bir tanımlayıcı. Maksimum karaktere 40 izin verilir. İzin verilen karakterler şunlardır: a-z, A-Z, 0-9, _ (alt çizgi), - (kısa çizgi) ve . (nokta) tuşlarına basın. |
Promotions /HotelPromotions / Promotion / @action | 0..1 | enum | Belirtilmişse değer
|
Promotions / HotelPromotions / Promotion / BookingDates | 0..1 | BookingDates | Rezervasyonun ne zaman gerçekleşmesi gerektiğini tanımlayan bir veya daha fazla aralığın kapsayıcısıdır . |
Promotions / HotelPromotions / Promotion / BookingDates / DateRange | 1..99 | DateRange | Promosyonun geçerli olması için rezervasyonun ne zaman gerçekleşmesi gerektiğini belirten aralık. geçerlidir. |
Promotions / HotelPromotions / Promotion / BookingDates / DateRange / @start | 0..1 | Date veya DateTime | Başlangıç tarihi veya tarih ve saat (mülkün saat dilimine göre), değer aralığı.
|
Promotions / HotelPromotions / Promotion / BookingDates / DateRange / @end | 0..1 | Date veya DateTime | Bitiş tarihi veya tarih ve saat (mülkün saat dilimine göre), değer aralığı.
|
Promotions / HotelPromotions / Promotion / BookingDates / DateRange / @days_of_week | 0..1 | string | Tarih aralığında izin verilen günleri ifade eder. Değilse belirtilen tarih aralığında tüm günlere izin verilir. Her biri karakteri bir günü belirtir. Örneğin, "MTWHF" belirtir belirtilen tarih aralığında hafta içi günlerine izin verilir. Geçerli karakterler şunlardır:
Karakter kombinasyonları geçerlidir. |
Promotions / HotelPromotions / Promotion / BookingWindow | 0..1 | BookingWindow | giriş tarihi (tesisin saat dilimine göre). Örneğin, rezervasyon aralığı 180 günden uzun olmayacak şekilde en az 7 güne ayarlanabilir. kontrol edin. |
Promotions / HotelPromotions / Promotion / BookingWindow / @min | 0..1 | integer or duration | Girişten önce, rezervasyonun gerçekleşmesi gereken minimum süre
. Belirtilmezse veya değeri
0 ise minimum değer yoktur.
Geçerli değer türleri şunlardır:
|
Promotions / HotelPromotions / Promotion / BookingWindow / @max | 0..1 | integer or duration | Rezervasyonun check-in işleminden maksimum kaç gün önce yapılması gerektiğini belirtir
. Belirtilmezse veya değeri
0 ise maksimum değer yoktur.
Geçerli değer türleri şunlardır:
|
Promotions / HotelPromotions / Promotion / Ceiling | 0..1 | Ceiling |
Bir ücretin ayarlanabileceği maksimum değerle ilgili kısıtlamaları tanımlar . Promosyonlarda her zaman bir Yığınlama yapılandırılmışsa
Örnek:
Hesaplama sırası şöyledir:
60'ın daha katı bir genel üst sınır olduğu düşünüldüğünde, yalnızca kendi promosyonu için geçerlidir ve tek bir anahtar kelime bir üst sınır oluşturun. |
Promotions / HotelPromotions / Promotion / Ceiling / @amount_per_night | 1 | float |
Gecelik ücretin indirim uygulanır. Bir Şu durumlarda vergi ve ücretlere |
Promotions / HotelPromotions / Promotion / Floor | 0..1 | Floor |
Bir ücretin ayarlanabileceği minimum değerle ilgili kısıtlamaları tanımlar . Promosyonlarda her zaman bir
Yığınlama yapılandırılmışsa
Örnek:
Hesaplama sırası şöyledir:
90'ın daha katı bir genel taban olması önemli değildir; yalnızca kendi promosyonu için geçerlidir ve tek bir anahtar kelime bir taban fiyat ekleyin. |
Promotions / HotelPromotions / Promotion / Floor / @amount_per_night | 1 | float |
Gecelik ücretin belirlenebilecek minimum tutar: indirim uygulanır. Bir Şu durumlarda vergi ve ücretlere |
Promotions / HotelPromotions / Promotion / CheckinDates | 0..1 | CheckinDates | Giriş yapma işleminin ne zaman yapılması gerektiğini tanımlayan bir veya daha fazla tarih aralığının kapsayıcısıdır. geçerli olması gerektiğini unutmayın. |
Promotions / HotelPromotions / Promotion / CheckinDates / DateRange | 1..20 | DateRange | Promosyonda promosyonun ne zaman check-in yapılması gerektiğini tarafından uygulanır. Bir veya daha fazla öğeyi siliyorsanız bu öğe gerekli değildir promosyonlar. YearlessDate biçimi de desteklenir.
|
Promotions / HotelPromotions / Promotion / CheckinDates / DateRange / @start | 0..1 | Date or YearlessDate | Başlangıç tarihi (tesisin bulunduğu saat dilimine göre),
seçin. Bu tarih,
end tarihi. start belirtilmezse tarih
aralığı, başlangıç tarihi açısından etkin bir şekilde sınırsızdır. |
Promotions / HotelPromotions / Promotion / CheckinDates / DateRange / @end | 0..1 | Date or YearlessDate | Tesisin bulunduğu saat dilimine göre, bitiş tarihi
seçin. Bu tarih, start tarihiyle aynı veya bu tarihten sonra olmalıdır
tarihi. end belirtilmezse tarih
aralığı, bitiş tarihi açısından etkin bir şekilde sınırsızdır. |
Promotions / HotelPromotions / Promotion / CheckinDates / DateRange / @days_of_week | 0..1 | string | Tarih aralığında izin verilen günleri ifade eder. Değilse belirtilen tarih aralığında tüm günlere izin verilir. Her biri karakteri bir günü belirtir. Örneğin, "MTWHF" belirtir belirtilen tarih aralığında hafta içi günlerine izin verilir. Geçerli karakterler şunlardır:
Karakter kombinasyonları geçerlidir. |
Promotions / HotelPromotions / Promotion / CheckoutDates | 0..1 | CheckoutDates | Ödeme zamanını tanımlayan bir veya daha fazla tarih aralığının kapsayıcısıdır. promosyonun uygulanabilmesi için gerçekleşmelidir. |
Promotions / HotelPromotions / Promotion / CheckoutDates / DateRange | 1..20 | DateRange | Promosyonun ne zaman çıkış yapılması gerektiğini belirten tarih aralığı tarafından uygulanır. Aşağıdaki durumlarda bu öğe gerekli değildir: Bir veya daha fazla promosyonu silerek. YearlessDate biçimi de desteklenir.
|
Promotions / HotelPromotions / Promotion / CheckoutDates / DateRange / @start | 0..1 | Date or YearlessDate | Başlangıç tarihi (tesisin bulunduğu saat dilimine göre),
seçin. Bu tarih,
end tarihi. start belirtilmezse tarih
aralığı, başlangıç tarihi açısından etkin bir şekilde sınırsızdır. |
Promotions / HotelPromotions / Promotion / CheckoutDates / DateRange / @end | 0..1 | Date or YearlessDate | Tesisin bulunduğu saat dilimine göre, bitiş tarihi
seçin. Bu tarih, start tarihiyle aynı veya bu tarihten sonra olmalıdır
tarihi. end belirtilmezse tarih
aralığı, bitiş tarihi açısından etkin bir şekilde sınırsızdır. |
Promotions / HotelPromotions / Promotion / CheckoutDates / DateRange / @days_of_week | 0..1 | string | Tarih aralığında izin verilen günleri ifade eder. Değilse belirtilen tarih aralığında tüm günlere izin verilir. Her biri karakteri bir günü belirtir. Örneğin, "MTWHF" belirtir belirtilen tarih aralığında hafta içi günlerine izin verilir. Geçerli karakterler şunlardır:
Karakter kombinasyonları geçerlidir. |
Promotions / HotelPromotions / Promotion / Devices | 0..1 | Devices | Şu uygulama için uygun kullanıcı cihazlarının listelendiği kapsayıcı: promosyon'a dokunun. Belirtilirse yalnızca listelenen cihazlardaki uygun kullanıcılar indirimli fiyat sunulur. Belirtilmezse herhangi bir indirimli fiyat sunulur. |
Promotions / HotelPromotions / Promotion / Devices / Device | 1..3 | Device | Promosyon için uygun olan bir kullanıcı cihazı türünü tanımlar. |
Promotions / HotelPromotions / Promotion / Devices / Device / @type | 1 | enum | Bir cihaz türü. Değer desktop olmalıdır.
tablet veya mobile . |
Promotions / HotelPromotions / Promotion / Discount | 1 | Discount | Tam olarak bir Bu promosyon için uygulanacak indirimi belirtir. |
Promotions / HotelPromotions / Promotion / Discount / @percentage | 0..1 | float | Tam olarak bir 0 ile 100 arasında yüzdelik indirimi belirten ondalık değerdir.
Örnekler:
|
Promotions / HotelPromotions / Promotion / Discount / @fixed_amount | 0..1 | float | Tam olarak bir Toplamdan çıkarılacak sabit tutar
Örnekler:
|
Promotions / HotelPromotions / Promotion / Discount / @fixed_amount_per_night | 0..1 | float | Tam olarak bir Her bir Örnekler:
|
Promotions / HotelPromotions / Promotion / Discount / @fixed_price | 0..1 | float | Tam olarak bir
Örnekler:
|
Promotions / HotelPromotions / Promotion / Discount / @fixed_price_per_night | 0..1 | float | Tam olarak bir
Örnekler:
|
Promotions / HotelPromotions / Promotion / Discount / @applied_nights | 0..1 | integer | Bu yalnızca
İndirimin uygulandığı gece sayısı. Bu değer: en uygunudur. 1 ile 99 arasında bir tam sayı olmalıdır. Belirtilmemişse İndirim tüm gecelere uygulanır. |
Promotions / HotelPromotions / Promotion / Discount / FreeNights | 0..1 | FreeNights | Minimum konaklama süresinde, konaklamanın belirli gecelerinde yapılacak indirimi belirtir
belirlenebilir. Üst Discount öğesindeki özellikler
bu öğe kullanılırsa izin verilmez. |
Promotions / HotelPromotions / Promotion / Discount / FreeNights / @stay_nights | 1 | integer | İndirimin uygulanması için gerekli gece sayısıdır. Her biri İndirim, konaklama gecelerinin ayrı bir segmentine uygulanır. Örneğin, |
Promotions / HotelPromotions / Promotion / Discount / FreeNights / @discount_nights | 1 | integer | Konaklama gecelerinin her bir segmentindeki indirimli gecelerin sayısı. |
Promotions / HotelPromotions / Promotion / Discount / FreeNights / @discount_percentage | 1 | float | İndirimli gecelere uygulanan indirimdir. Bu değer
50 ise seçilen her gece% 50 indirimli. |
Promotions / HotelPromotions / Promotion / Discount / FreeNights / @night_selection | 1 | string | cheapest veya last olmalıdır. Eğer
last , ardından konaklama segmentinin sonundaki geceler
geceleri indirim yapıldı. cheapest ise en ucuz
konaklama geceleri segmentindeki geceler için indirim uygulanır. |
Promotions / HotelPromotions / Promotion / Discount / FreeNights / @repeats | 1 | boolean | İndirimin birden fazla konaklama için uygulanıp uygulanmayacağı
emin olun. Örneğin, |
Promotions / HotelPromotions / Promotion / Discount / @rank | 0..1 | integer | Bu promosyona bir rütbe atar ve sıralamayı seçime dahil eder. yalnızca en düşük sıralamaya sahip promosyon uygulanır. Değerler 1 ile 99 arasında (bu değerler dahil) olmalıdır. Aynı modeli birden fazla promosyon paylaşıyorsa rastgele seçilir ve uygulanır. |
Promotions / HotelPromotions / Promotion / BestDailyDiscount | 1 | Discount | Tam olarak bir Şu geceye uygulanabilecek günlük indirimi belirtir:
kalır. Bu durum, geçerli olan Her tesisin şu özelliklere sahip tek bir promosyon grubu olabilir: "günlük en iyi" olarak değerlendirilir. Yani her gece konaklamanın süresi, single "en iyi günlük" en yüksek getiriyi sağlayan ve en yüksek dönüşüm oranını o gece için indirim seçilmiştir ve uygulanabilir.
|
Promotions / HotelPromotions / Promotion / BestDailyDiscount / @percentage | 0..1 | float | Tam olarak bir 0 ile 100 arasında yüzdelik indirimi belirten ondalık değerdir.
Örnekler:
|
Promotions / HotelPromotions / Promotion/ BestDailyDiscount / @fixed_amount | 0..1 | float | Tam olarak bir Tek bir değerden çıkarılacak sabit tutar
Örnekler:
|
Promotions / HotelPromotions / Promotion/ BestDailyDiscount / @fixed_price | 0..1 | float | Tam olarak bir
Örnekler:
|
Promotions / HotelPromotions / Promotion / InventoryCount | 0..1 | InventoryCount | İçinde müsait olması gereken oda sayısına ilişkin kısıtlamaları tanımlar
bu promosyonun uygulanması için sipariş verin. İndirim yalnızca
gece sayısını karşılaştırabilirsiniz.
fixed_amount indirim. Mevcut projeniz için
odalar için
OTA_HotelInvCountNotifRQ (InvCount )
veya OTA_HotelAvailNotifRQ
(BookingLimit ). |
Promotions / HotelPromotions / Promotion / InventoryCount / @min | 0..1 | integer | Promosyon için kullanılabilir olması gereken minimum oda sayısı uygulanacak. Bu belirtilmemişse minimumdur. |
Promotions / HotelPromotions / Promotion / InventoryCount / @max | 0..1 | integer | Promosyon için kullanılabilir olması gereken maksimum oda sayısı uygulanacak. Bu belirtilmemişse daha fazla bilgi edineceksiniz. |
Promotions / HotelPromotions / Promotion / LengthOfStay | 0..1 | LengthOfStay | Bu promosyonun uygulanabileceği konaklama süresi sınırlarını belirler. geçerlidir. Konaklama süresi şunun dışında olduğunda promosyon uygulanmaz: min. ve maksimum sınırları belirleyin. |
Promotions / HotelPromotions / Promotion / LengthOfStay / @min | 0..1 | integer | Promosyonun belirlenebilmesi için konaklamada izin verilen minimum gece sayısı geçerlidir. Belirtilmezse minimum değer yoktur. |
Promotions / HotelPromotions / Promotion / LengthOfStay / @max | 0..1 | integer | Promosyonun kullanılabilmesi için konaklamada izin verilen maksimum gece sayısı geçerlidir. Belirtilmezse maksimum değer yoktur. |
Promotions / HotelPromotions / Promotion / MembershipRateRule | 0..1 | MembershipRateRule |
Belirli bir kullanıcı arayüzünü tetikleyen üyelik ücreti kuralının kapsayıcısıdır. değerlendirilmesi gerekir. Bu öğe, belirli bir süre için geçerli olmadıkça
|
Promotions / HotelPromotions / Promotion / MembershipRateRule / @id | 1 | string |
kimliği ücret kuralı dahil olduğundan emin olun. |
Promotions / HotelPromotions / Promotion / MinimumAmount | 0..1 | MinimumAmount | Günlük oda fiyatlarının minimum toplamını belirtir (
AmountBeforeTax veya AmountAfterTax )
sınırı aşılmamalıdır. |
Promotions / HotelPromotions / Promotion / MinimumAmount / @before_discount | 1 | integer | Promosyonun uygulanabilmesi için aşılması gereken değerdir. |
Promotions / HotelPromotions / Promotion / Occupancy | 0..1 | Occupancy | Bu promosyonun geçerli olduğu kişi sayısıyla ilgili kısıtlamaları tanımlar. geçerlidir. Şu değerlerin dışında olanlarda promosyon uygulanmaz: min. ve maks. sınırlar. |
Promotions / HotelPromotions / Promotion / Occupancy / @min | 0..1 | integer | Bu özelliğin kullanılabilir hale gelmesi için kullanıcı tarafından belirtilen doluluk değerinin en az bu uygulanacak indirimdir. |
Promotions / HotelPromotions / Promotion / Occupancy / @max | 0..1 | integer | Aşağıdaki özelliğin dönüşüm geçirebilmesi için, kullanıcı tarafından belirtilen doluluk değerinin en fazla bu değer olması gerekir. uygulanacak indirimdir. |
Promotions / HotelPromotions / Promotion / RatePlans | 0..1 | RatePlans | Promosyonun geçerli olduğu ücret planları listesinin kapsayıcısıdır.
<RatePlans> belirtilmezse promosyon
tüm ücret planları için geçerlidir. |
Promotions / HotelPromotions / Promotion / RatePlans / RatePlan | 1..n | RatePlan | Ücret planını belirtir. Ücret planı, (İşlem'de tanımlandığı şekilde paket, ücretler ve stok durumu) (Tesis Verileri), OTA_HotelRateAmountNotifRQ ve OTA_HotelAvailNotifRQ iletilerinin yer aldığı ve PackageID tarafından tanımlandığı şekilde yapılır. |
Promotions / HotelPromotions / Promotion / RatePlans / RatePlan / @id | 1 | string | Ücret planının benzersiz tanımlayıcısıdır. Bu değer,
<PackageData> içindeki PackageID değeri
Transaction (Tesis Verileri) mesajında ve
RatePlanCode özelliği
Her ikisinde de <StatusApplicationControl>
<OTA_HotelRateAmountNotifRQ> ve
<OTA_HotelAvailNotifRQ> mesaj.
İzin verilen maksimum karakter sayısı 50'dir. |
Promotions / HotelPromotions / Promotion / RoomTypes | 0..1 | RoomTypes | Promosyonun geçerli olduğu oda türleri listesinin kapsayıcısıdır.
Promosyon her <RoomType> için geçerlidir
belirtiliyor. <RoomTypes> belirtilmezse
promosyon tüm odalar için geçerlidir. |
Promotions / HotelPromotions / Promotion / RoomTypes / RoomType | 1..n | RoomType | Oda türünü belirtir. Oda türü
<RoomData> öğesi
Transaction (Tesis Verileri) mesajı ve
(<RoomID> değeri kullanılarak) referans verildi. (
<RoomID> değerine,
OTA_HotelRateAmountNotifRQ öğesinde InvTypeCode özelliği
messages.) |
Promotions / HotelPromotions / Promotion / RoomTypes / RoomType / @id | 1 | string | Envanterin benzersiz tanımlayıcısıdır (oda türü). Bu değer,
Transaction (Tesis Verileri) mesajında <RoomID> adresine.
İzin verilen maksimum karakter sayısı 50'dir. |
Promotions / HotelPromotions / Promotion / Stacking | 0..1 | Stacking | Promosyonların nasıl birleştirilebileceğini belirtir. Belirtilmemişse "type"
base olduğu varsayılır. |
Promotions / HotelPromotions / Promotion / Stacking / @type | 1 | enum | Şuna bağlı olarak tek bir ücrete birden fazla promosyon uygulanabilir: bu ayar:
İzin verilen kombinasyonlar arasından en yüksek indirim fiyata uygulanır. |
Promotions / HotelPromotions / Promotion / StayDates | 0..1 | StayDates | Bir veya daha fazla tarih aralığının yer aldığı kapsayıcı mevsimsel indirimlere uymak gibi amaçlarla promosyon uygulanır. |
Promotions / HotelPromotions / Promotion / StayDates / @application | 1 | enum | Promosyonun nasıl uygulanması gerektiğini açıklar. Geçerli değerler şunlardır:
Bu özellik her zaman belirtilmelidir.
|
Promotions / HotelPromotions / Promotion / StayDates / DateRange | 1..99 | DateRange | Promosyonun uygulanacağı tarihleri belirten tarih aralığıdır. YearlessDate biçimi de desteklenir.
|
Promotions / HotelPromotions / Promotion / StayDates / DateRange / @start | 0..1 | Date or YearlessDate | Başlangıç tarihi (tesisin bulunduğu saat dilimine göre),
seçin. Bu tarih,
end tarihi. start belirtilmezse tarih
aralığı, başlangıç tarihi açısından etkin bir şekilde sınırsızdır. |
Promotions / HotelPromotions / Promotion / StayDates / DateRange / @end | 0..1 | Date or YearlessDate | Tesisin bulunduğu saat dilimine göre, bitiş tarihi
seçin. Bu tarih, start tarihiyle aynı veya bu tarihten sonra olmalıdır
tarihi. end belirtilmezse tarih
aralığı, bitiş tarihi açısından etkin bir şekilde sınırsızdır. |
Promotions / HotelPromotions / Promotion / StayDates / DateRange / @days_of_week | 0..1 | string | Tarih aralığında izin verilen günleri ifade eder. Değilse belirtilen tarih aralığında tüm günlere izin verilir. Her biri karakteri bir günü belirtir. Örneğin, "MTWHF" belirtir belirtilen tarih aralığında hafta içi günlerine izin verilir. Geçerli karakterler şunlardır:
Karakter kombinasyonları geçerlidir. |
Promotions / HotelPromotions / Promotion / UserCountries | 0..1 | UserCountries | Uygun olan kullanıcı konumlarını (ülkeleri) listeleyen kapsayıcı teşvik edebilirsiniz. Belirtilmişse yalnızca listelenen uygun kullanıcılar indirimli fiyat sunulur. Belirtilmemişse uygun tüm ülkelerdeki kullanıcılara indirimli fiyat sunulur. |
Promotions / HotelPromotions / Promotion / UserCountries / @type | 0..1 | enum | UserCountry spesifikasyonunun türü.
Geçerli değerler: Kullanıcı ülkeleri Kullanıcı ülkeleri UserÜlkeler |
Promotions / HotelPromotions / Promotion / UserCountries / Country | 1..300 | Country | Kullanıcıların promosyon için uygun olduğu bir ülkeyi tanımlar. |
Promotions / HotelPromotions / Promotion / UserCountries / Country / @code | 1 | string | CLDR ülkesi
kod'u,
DE veya FR gibi. Bazılarının
CLDR ülke kodu, 2 harfli ISO ile aynı değildir
ülke kodu. Ayrıca, CLDR bölge kodları desteklenmez. |
Örnekler
Tesis başına 500 promosyon sınırı vardır. Daha fazla bilgi için promosyon" Örnek olarak bir tesisteki promosyonları kaldırabilirsiniz.
Temel mesaj
Aşağıdaki örnekte temel bir Promotions
mesajı gösterilmektedir:
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<BookingDates>
<DateRange start="2020-07-01" end="2020-07-31" days_of_week="MTWHF"/>
<DateRange start="2020-09-01" end="2020-09-30"/>
</BookingDates>
<BookingWindow min="7" max="330"/>
<CheckinDates>
<DateRange start="2020-10-01" end="2020-10-31" days_of_week="FSU"/>
</CheckinDates>
<CheckoutDates>
<DateRange start="2020-10-08" end="2020-11-07" days_of_week="FSU"/>
</CheckoutDates>
<Devices>
<Device type="mobile"/>
<Device type="tablet"/>
</Devices>
<Discount percentage="20" applied_nights="2"/>
<LengthOfStay min="2" max="14"/>
<RatePlans>
<RatePlan id="234"/>
<RatePlan id="567"/>
</RatePlans>
<RoomTypes>
<RoomType id="123"/>
<RoomType id="456"/>
</RoomTypes>
<Stacking type="base"/>
<UserCountries>
<Country code="US"/>
<Country code="GB"/>
</UserCountries>
</Promotion>
</HotelPromotions>
</Promotions>
Envanter koşulu
Aşağıdaki örnekte, aşırı yüksek bir indirimin nasıl oluşturulacağı gösterilmektedir Varış tarihine yakın envanter:
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<BookingWindow max="7"/>
<Discount percentage="10"/>
<InventoryCount min="3"/>
</Promotion>
</HotelPromotions>
</Promotions>
Bir promosyonu silme
Aşağıdaki örnekte, bir tesise ait promosyonun nasıl silineceği gösterilmektedir:
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1" action="delete"/>
</HotelPromotions>
</Promotions>
Tüm promosyonları sil
Aşağıdaki örnekte, bir tesise ait tüm promosyonların nasıl silineceği gösterilmektedir:
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1" action="overlay"/>
</Promotions>
Tüm promosyonları yer paylaşımlı olarak göster
Aşağıdaki örnekte bir mülk için <HotelPromotions>
yer paylaşımının nasıl yapılacağı gösterilmektedir
bir veya daha fazla yeni promosyonla ekleyebilirsiniz. action="overlay"
olduğunda tümü depolanır
Promosyonlar
geçerli mesaj:
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1" action="overlay">
<Promotion id="1">
<BookingDates>
<DateRange start="2020-09-01" end="2020-09-30"/>
</BookingDates>
<Discount percentage="10"/>
<RoomTypes>
<RoomType id="123"/>
<RoomType id="456"/>
</RoomTypes>
<RatePlans>
<RatePlan id="234"/>
<RatePlan id="567"/>
</RatePlans>
<Stacking type="base"/>
</Promotion>
</HotelPromotions>
</Promotions>
3 Farklı Birleştirme Türü
Aşağıdaki örnekte, üç farklı promosyonun kullanılabileceği bir durum gösterilmektedir
uygulandı (base
, second
, any
). none
promosyonu
Diğer promosyonlar daha iyi indirim sağladığı için uygulanır. Asıl
100 TL olsaydı indirimli fiyat 72, 90 TL olurdu.
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<Discount percentage="10"/>
<Stacking type="base"/>
</Promotion>
<Promotion id="2">
<Discount percentage="10"/>
<Stacking type="second"/>
</Promotion>
<Promotion id="3">
<Discount percentage="10"/>
<Stacking type="any"/>
</Promotion>
<Promotion id="4">
<Discount percentage="25"/>
<Stacking type="none"/>
</Promotion>
</HotelPromotions>
</Promotions>
Yok Yığma Türü
Aşağıdaki örnekte, none
promosyonunun
Diğer promosyonların kombinasyonu daha düşük bir indirim sağlar. Öğe
orijinal fiyat 100 TL ise indirimli fiyat 75 TL olur.
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<Discount percentage="10"/>
<Stacking type="base"/>
</Promotion>
<Promotion id="2">
<Discount percentage="10"/>
<Stacking type="any"/>
</Promotion>
<Promotion id="3">
<Discount percentage="25"/>
<Stacking type="none"/>
</Promotion>
</HotelPromotions>
</Promotions>
Rezervasyon Aralığı Süre Sınırları
Aşağıdaki örnekte BookingWindow
öğesinin
öğesi, başlangıç ve bitiş sınırları ISO 8601 Süresi olarak tanımlanmış şekilde kullanılır
türü. Bu rezervasyon aralığı kısıtlaması için en geç 18:00'de rezervasyon yapmanız gerekiyor
Varıştan önceki gün ve 2. günde saat 12:00'de veya sonrasında
gösterir.
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<BookingWindow min="P1DT6H" max="P2DT12H"/>
<Discount percentage="20"/>
</Promotion>
</HotelPromotions>
</Promotions>
Rezervasyon Tarihleri Tarih ve Saat Sınırları
Aşağıdaki örnekte BookingDates
öğesinin
öğesi, aşağıdaki durumlarda start
ve end
özellikleriyle kullanılır:
DateTime türlerine bağlıdır. Bu rezervasyon tarihi kısıtlaması nedeniyle rezervasyonun gerçekleşmesi gerekiyor
01.07.2020 06:30 ve 02.07.2020 18:45 arasında.
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<BookingDates>
<DateRange start="2020-07-01T06:30:00" end="2020-07-02T18:45:00"/>
</BookingDates>
<Discount percentage="20"/>
</Promotion>
</HotelPromotions>
</Promotions>
Yılsız tarih aralıkları
Aşağıdaki örnekte CheckInDates
öğesinin
öğesi, start
içeren DateRanges
ve
Yıl içermeyen end
alan. Bu örnekte, promosyon
her yıl 2 Kasım 2029 ile 01:00 tarihleri arasındaki check-in tarihlerine katılıyorsunuz. Yılsız
Yeni yıl sınırını aşan tarih aralıkları geçersiz olduğundan DateRange
bitişik iki tarih aralığı olarak ifade edilir.
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<CheckInDates>
<DateRange start="12-29" end="12-31"/>
<DateRange start="01-01" end="01-02"/>
</CheckInDates>
<Discount percentage="20"/>
</Promotion>
</HotelPromotions>
</Promotions>
FreeNights indirimi
Aşağıdaki örnekte, iki gecelik konaklamalar için her dört gece için% 50 indirim belirtilen rezervasyon tarihi aralığı. On gecelik seyahat planı için toplam tutar dört gece için %50 indirim uygulanır.
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<BookingDates>
<DateRange start="2022-01-01" end="2022-05-31"/>
</BookingDates>
<Discount>
<FreeNights stay_nights="4" discount_nights="2" discount_percentage="50" night_selection="cheapest" repeats="true"/>
</Discount>
</Promotion>
</HotelPromotions>
</Promotions>
Bir sonraki örnek gecelik indirim, konaklama süresi boyunca her üç gece için% 50 oranında belirtilen konaklama tarihleri aralığı Yalnızca çakışan gece sayısı (konaklama sayısı) indirime hak kazanmayı hedefler. Check-in yapılan aşağıdaki seyahat planı için 01.01.2022'de çıkış yapacak ve 07.01.2022'de çıkış yapacak ve konaklamaya ve indirimler aşağıdaki şekilde uygulanır.
- 01.01.2022 (kalın)
- 02.01.2022 (kalın)
- 2022-01-03
- 04.01.2022 (indirimli)
- 05.01.2022 (kalın)
- 06.01.2022 (kalın)
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<StayDates application="overlap">
<DateRange start="2022-01-01" end="2022-01-02"/>
<DateRange start="2022-01-04" end="2022-01-06"/>
</StayDates>
<Discount>
<FreeNights stay_nights="3" discount_nights="1" discount_percentage="50" night_selection="last" repeats="true"/>
</Discount>
</Promotion>
</HotelPromotions>
</Promotions>
Sıralı Seçim
Aşağıdaki örnekte biri% 20 diğeri de olmak üzere iki indirim sunulmaktadır %15 indirim. Değerlendirme sırasında yalnızca% 15 indirim uygulanır çünkü daha düşük bir sıralamaya sahip.
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<Discount percentage="15" rank="25"/>
</Promotion>
<Promotion id="2">
<Discount percentage="20" rank="50"/>
</Promotion>
</HotelPromotions>
</Promotions>
BestDailyDiscount
Aşağıdaki örnek,
BestDailyDiscount
, bir Discount
ile birlikte gösteriliyor.
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_xyz"
id="123_abc"
timestamp="2020-05-18T16:20:00-04:00">
<HotelPromotions hotel_id="HotelID" action="overlay">
<Promotion id="general">
<BestDailyDiscount fixed_amount="20"/>
</Promotion>
<Promotion id="may">
<BestDailyDiscount fixed_amount="50"/>
<StayDates application="overlap">
<DateRange start="2023-05-01" end="2023-05-31"/>
</StayDates>
</Promotion>
<Promotion id="fiesta">
<Discount fixed_amount_per_night="5"/>
<Stacking type="any"/>
</Promotion>
</HotelPromotions>
</Promotions>
30 Nisan 2023 - 2 Mayıs 2023 tarihleri arasında iki gecelik konaklamayı düşünebilirsiniz Hesaplama için, en iyi günlük indirim oranını sağlayan bulunur.
İlk gece, "genel" tek uygun tutardır, 20 sabit indirimle.
İkinci gece için “may” daha fazla indirim sunar. "genel" indirim. “ sabit indirim seçiliyken tutar 50.
Konaklama için de "şenlik" gecelik 5 adete promosyon indirimi veya
Toplam 10. En iyi günlük indirimlerin kombinasyonuyla birlikte kullanılabilir.
çünkü "fiesta" yığma türü any
olarak ayarlanmış. Ayarlanmışsa
base
, yalnızca en iyi günlük indirimlerin veya
"fiesta" indirim uygulanır. Şu açıklamaya bakın:
Daha fazla bilgi için Stacking
.
Genel olarak konaklamanın fiyatına 20 + 50 + 10 = 80 sabit tutar verilir. indirim.
Yanıtlar
Söz dizimi
PromotionsResponse
mesajında aşağıdaki söz dizimi kullanılır:
<?xml version="1.0" encoding="UTF-8"?>
<PromotionsResponse timestamp="timestamp"
id="message_ID"
partner="partner_key">
<!-- Either Success or Issues are populated. -->
<Success/>
<Issues>
<Issue code="issue_code"
status="issue_type">
issue_description
</Issue>
</Issues>
</PromotionsResponse>
Öğeler ve Özellikler
PromotionsResponse
mesajı aşağıdaki öğelere ve özelliklere sahiptir:
Öğe / @Özellik | Yineleme sayısı | Tür | Açıklama |
---|---|---|---|
PromotionsResponse | 1 | Complex element | Alınan bir öğenin başarısını veya sorunlarını gösteren kök öğe Promosyon istek mesajı. |
PromotionsResponse / @timestamp | 1 | DateTime | Bu mesajın oluşturulma tarihi ve saati. |
PromotionsResponse / @id | 1 | string | İlişkilendirilmiş Tanıtımlar mesajındaki benzersiz tanımlayıcı. |
PromotionsResponse / @partner | 1 | string | Bu mesajın iş ortağı hesabıdır. |
PromotionsResponse / Success | 0..1 | Success | Tanıtımlar mesajının başarıyla işlendiğini belirtir.
uyarı, hata veya sorun yok.
|
PromotionsResponse / Issues | 0..1 | Issues | işlenirken karşılaşılan bir veya daha fazla sorun için bir kapsayıcı
Promosyonlar mesajı.
|
PromotionsResponse / Issues / Issue | 1..n | Issue | Güncelleme sırasında karşılaşılan uyarı, hata veya sorunun Promosyonlar mesajını işliyoruz. Bu sorunlarla ilgili ayrıntılar şurada bulunabilir: bir listesini oluştur: Feed Durumu Hata Mesajları. |
PromotionsResponse / Issues / Issue / @code | 1 | integer | Sorunun tanımlayıcısıdır. |
PromotionsResponse / Issues / Issue / @status | 1 | enum | Karşılaşılan sorunun türü. Geçerli değerler |
Örnekler
Başarılı
Aşağıda, başarıyla işlenmiş bir Tanıtımlar iletisine verilen yanıt yer almaktadır.
<?xml version="1.0" encoding="UTF-8"?>
<PromotionsResponse timestamp="2020-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Success/>
</PromotionsResponse>
Sorunlar
Aşağıda, hatalar.
<?xml version="1.0" encoding="UTF-8"?>
<PromotionsResponse timestamp="2020-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Issues>
<Issue code="1001" status="error">Example</Issue>
</Issues>
</PromotionsResponse>