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 şu 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, _ (alt çizgi) ve - (kısa çizgi) şeklindedir. |
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) şeklindedir. |
Promotions /HotelPromotions / Promotion / @action | 0..1 | enum | Belirtilirse 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 uygulanması için rezervasyonun ne zaman gerçekleşmesi gerektiğini belirten aralık. |
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 etmelisiniz. |
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 ü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 |
İndirim uygulandıktan sonra gecelik ücretin ayarlanabileceği maksimum tutardır. Bir Şu durumlarda vergi ve ücretlere |
Promotions / HotelPromotions / Promotion / Floor | 0..1 | Floor |
Promosyonlar uygulandıktan sonra 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ırlandırılmaz. |
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ünlerdir. 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. Bir veya daha fazla promosyonu siliyorsanız bu öğe gerekli değildir. 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 tarihinden önce veya ilgili tarihle aynı olmalıdır. 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ünlerdir. 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ılara 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üdü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üresi karşılandığında konaklamanın belirli gecelerinde uygulanacak indirimi belirtir. Üst Discount öğesindeki özellikler
bu öğe kullanılırsa izin verilmez. |
Promotions / HotelPromotions / Promotion / Discount / FreeNights / @stay_nights | 1 | integer | İndirimin uygulanması için gereken gece sayısı. Her biri İndirim, konaklama gecelerinin ayrı bir segmentine uygulanır. Örneğin, |
Promotions / HotelPromotions / Promotion / Discount / FreeNights / @discount_nights | 1 | integer | Her konaklama gecesi segmentindeki indirimli gece 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. last ise konaklama geceleri segmentinin sonundaki gecelere indirim uygulanır. 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ğı
segment'e göz atın. Ö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ı sıralamaya sahip birden fazla promosyon varsa bunlardan biri rastgele seçilir ve uygulanır. |
Promotions / HotelPromotions / Promotion / BestDailyDiscount | 1 | Discount | Tam olarak bir Bir
konaklama gecesine uygulanabilecek günlük indirim. Bu
Her tesis, aşağıdaki koşulları karşılayan tek bir promosyon grubuna sahip olabilir: "günlük en iyi" olarak kabul edilir. 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 |
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 Ö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 |
Üyelik programıyla ilişkili ücret kuralının kimliği. |
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, Transaction (Tesis Verileri) mesajındaki <PackageData> öğesinde ve hem <OTA_HotelRateAmountNotifRQ> hem de <OTA_HotelAvailNotifRQ> mesajlarının <StatusApplicationControl> öğesindeki RatePlanCode özelliğinde bulunan PackageID değeriyle eşlenir.
İ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.
Şu durumda |
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 tarihi. end belirtilmezse tarih
aralık, start tarihinden itibaren etkin şekilde sınırsızdır.
Şu durumda |
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. Belirtilirse yalnızca listelenen ülkelerdeki uygun kullanıcılara indirimli fiyat sunulur. Belirtilmezse tüm ülkelerdeki uygun 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, varış tarihine yaklaşıldığında envanter fazlası varsa nasıl indirim oluşturulacağı 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">
<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ın üstüne yazma
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, yıldan bağımsız olarak 29.12 ile 2.1 tarihleri arasındaki giriş tarihleri için geçerlidir. Yeni yıl sınırını aşan yıl içermeyen tarih aralıkları geçersiz olduğundan DateRange iki bitişik 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 bir seyahat planında toplam 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.
- 2022-01-01 (konaklama)
- 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 %15 indirim olmak üzere iki indirim sunulmaktadır. Değerlendirme sırasında, daha düşük bir sıralamaya sahip olduğu için yalnızca %15 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">
<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 yüksek bir indirim olanağı 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 şu 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ında aşağıdaki öğeler ve özellikler bulunur:
Öğ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.
Her mesajda |
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>