ภาพรวม
API นี้ให้คุณระบุส่วนลดที่เป็นไปได้ จากโปรโมชันที่ระบุ Google ใช้โปรโมชันหรือชุดโปรโมชันที่มีสิทธิ์ซึ่งนำไปสู่ ในราคาต่ำสุด หากกำลังมองหา API ที่รองรับอัตราที่กำหนดเอง การปรับค่าใช้จ่ายที่อาจเพิ่มหรือลดราคาเมื่อมีเงื่อนไข แล้วพิจารณา API การแก้ไขราคา โปรดทราบว่าหากมี API ทั้ง 2 รายการ ระบบจะใช้การแก้ไขราคาก่อนโปรโมชัน
คำขอ
ไวยากรณ์
ข้อความ Promotions
ใช้ไวยากรณ์ต่อไปนี้
<?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>
องค์ประกอบและแอตทริบิวต์
ข้อความโปรโมชันมีองค์ประกอบและแอตทริบิวต์ต่อไปนี้
องค์ประกอบ / @แอตทริบิวต์ | จำนวนข้อผิดพลาด | ประเภท | คำอธิบาย |
---|---|---|---|
Promotions | 1 | Complex element | องค์ประกอบรูทของข้อความโปรโมชัน |
Promotions / @partner | 1 | string | บัญชีพาร์ทเนอร์สำหรับข้อความนี้ ค่าของสตริงนี้คือค่า "คีย์พาร์ทเนอร์" ซึ่งแสดงอยู่ที่หน้าการตั้งค่าบัญชีใน Hotel Center
หากคุณมีแบ็กเอนด์ที่มีฟีดสำหรับ
หลายบัญชี ค่านี้ต้องตรงกับ |
Promotions / @id | 1 | string | ตัวระบุที่ไม่ซ้ำกันสำหรับข้อความคำขอนี้ ระบบแสดงผลค่านี้ ในข้อความตอบกลับ อักขระที่อนุญาตคือ a-z, A-Z, 0-9, _ (ขีดล่าง) และ - (ขีดกลาง) |
Promotions / @timestamp | 1 | DateTime | วันที่และเวลาที่สร้างข้อความนี้ |
Promotions / HotelPromotions | 0..n | HotelPromotions | โปรโมชันสําหรับที่พัก โปรโมชันแต่ละรายการจะมีผลกับที่พักเพียงแห่งเดียว เว้นแต่จะมีการใช้ |
Promotions / HotelPromotions / @hotel_id | 1 | string | ตัวระบุที่ไม่ซ้ำกันของที่พัก ค่านี้ต้องตรงกับแอตทริบิวต์
รหัสโรงแรมที่ระบุโดยใช้
<id> ในองค์ประกอบ <listing>
ในฟีดข้อมูลโรงแรม นอกจากนี้ รหัสโรงแรมยังอยู่ใน Hotel Center ด้วย |
Promotions / HotelPromotions / @action | 0..1 | enum | หากระบุ ค่าต้องเป็น
หากไม่ได้ระบุ โปรโมชันแต่ละรายการที่ระบุในข้อความปัจจุบันจะเป็นอย่างใดอย่างหนึ่งต่อไปนี้
|
Promotions / HotelPromotions / Promotion | 0..99 | Promotion | โปรโมชันรายการเดียวสำหรับที่พัก โปรดทราบว่าหาก
หากต้องการใช้โปรโมชันมากกว่า 99 รายการ โปรดติดต่อ ผู้จัดการลูกค้าด้านเทคนิค (TAM) ของคุณ |
Promotions / HotelPromotions / Promotion / @id | 1 | string | ตัวระบุที่ไม่ซ้ำกันสำหรับโปรโมชัน จำนวนสูงสุด จำนวนอักขระที่อนุญาตคือ 40 ตัว อักขระที่อนุญาตคือ a-z, A-Z, 0-9, _ (ขีดล่าง), - (ขีดกลาง) และ . (เครื่องหมายจุด) |
Promotions /HotelPromotions / Promotion / @action | 0..1 | enum | หากระบุ ค่าต้องเป็น หากระบุ |
Promotions / HotelPromotions / Promotion / BookingDates | 0..1 | BookingDates | คอนเทนเนอร์สำหรับช่วงอย่างน้อย 1 ช่วงซึ่งกำหนดเมื่อต้องทำการจองเพื่อให้ใช้โปรโมชันได้ |
Promotions / HotelPromotions / Promotion / BookingDates / DateRange | 1..99 | DateRange | ช่วงที่ระบุเมื่อต้องจองเพื่อให้โปรโมชันเป็น ใช้แล้ว |
Promotions / HotelPromotions / Promotion / BookingDates / DateRange / @start | 0..1 | Date หรือ DateTime | วันที่เริ่มต้นหรือวันที่และเวลา (ตามเขตเวลาของที่พัก) ของช่วง
|
Promotions / HotelPromotions / Promotion / BookingDates / DateRange / @end | 0..1 | Date หรือ DateTime | วันที่สิ้นสุดหรือวันที่และเวลา (ตามเขตเวลาของที่พัก) ของช่วง
|
Promotions / HotelPromotions / Promotion / BookingDates / DateRange / @days_of_week | 0..1 | string | วันของสัปดาห์ที่อนุญาตในช่วงวันที่ หากไม่ ระบบจะอนุญาตให้ใช้ทุกวันในช่วงวันที่ ชิ้น อักขระในสตริงระบุวัน เช่น "MTWHF" ระบุ อนุญาตให้ใช้วันธรรมดาในช่วงวันที่ อักขระที่ใช้ได้มีดังนี้
ชุดค่าผสมของอักขระแบบใดก็ได้สามารถใช้ได้ |
Promotions / HotelPromotions / Promotion / BookingWindow | 0..1 | BookingWindow | ระบุระยะเวลาที่การจองต้องเกิดขึ้นซึ่งสัมพันธ์กับ วันที่เช็คอิน (ตามเขตเวลาของที่พัก) ตัวอย่างเช่น พารามิเตอร์ คุณจะตั้งระยะเวลาการจองเป็น 7 วันเป็นอย่างน้อยได้ แต่ไม่เกิน 180 วัน ก่อนเช็คอิน |
Promotions / HotelPromotions / Promotion / BookingWindow / @min | 0..1 | integer or duration | ระยะเวลาขั้นต่ำก่อนเช็คอินเมื่อต้องมีการจอง
จึงจะใช้โปรโมชันได้ หากไม่ได้ระบุหรือค่าของ 0 เป็น 0 ระบบจะไม่กำหนดจำนวนขั้นต่ำ
ประเภทของค่าที่ใช้ได้มีดังนี้
|
Promotions / HotelPromotions / Promotion / BookingWindow / @max | 0..1 | integer or duration | จำนวนวันสูงสุดก่อนถึงวันเช็คอินที่ต้องมีการจองเพื่อให้ใช้โปรโมชันได้ หากไม่ได้ระบุค่านี้ หรือไม่ได้ระบุค่าไว้
ปัจจุบันคือ 0 แต่ไม่มีขีดจำกัดสูงสุด
ประเภทค่าที่ถูกต้องมีดังนี้
|
Promotions / HotelPromotions / Promotion / Ceiling | 0..1 | Ceiling |
กําหนดข้อจํากัดเกี่ยวกับค่าสูงสุดที่กําหนดราคาได้หลังจากใช้โปรโมชัน โปรโมชันต้องระบุ หากมีการกําหนดค่าการซ้อนทับ โปรโมชันหลายรายการที่มี
ตัวอย่าง ราคาการเข้าพัก 1 คืนในราคา
ลำดับของการคำนวณเป็นดังนี้
ความจริงที่ว่า 60 คือเพดานโดยรวมที่เข้มงวดกว่านั้นไม่เกี่ยวข้องเนื่องจาก จะใช้ได้กับการโปรโมตของตนเองเท่านั้น และจะไม่สามารถมี ซึ่งครอบคลุมทั้งกลุ่มโปรโมชัน |
Promotions / HotelPromotions / Promotion / Ceiling / @amount_per_night | 1 | float |
จำนวนเงินสูงสุดที่สามารถกำหนดราคาต่อคืนหลังจากวันที่ ใช้ส่วนลด หากระบุองค์ประกอบ
|
Promotions / HotelPromotions / Promotion / Floor | 0..1 | Floor |
กำหนดข้อจำกัดสำหรับค่าต่ำสุดที่ราคากำหนดได้ หลังจากใช้โปรโมชันแล้ว โปรโมชันต้องระบุ ยังคงใช้ตรรกะ หากมีการกําหนดค่าการซ้อนทับ โปรโมชันหลายรายการที่มี
ตัวอย่าง การกำหนดราคาสำหรับการเข้าพัก 1 คืนโดยที่
ลำดับของการคำนวณเป็นดังนี้
ความจริงที่ว่า 90 เป็นค่าขั้นต่ำโดยรวมที่เข้มงวดกว่านั้นไม่เกี่ยวข้องเนื่องจาก จะใช้ได้กับการโปรโมตของตนเองเท่านั้น และจะไม่สามารถมี ซึ่งครอบคลุมทั้งสแต็กโปรโมชัน |
Promotions / HotelPromotions / Promotion / Floor / @amount_per_night | 1 | float |
จำนวนเงินขั้นต่ำที่ราคาต่อคืนกำหนดได้หลังจาก ใช้ส่วนลด หากระบุองค์ประกอบ
|
Promotions / HotelPromotions / Promotion / CheckinDates | 0..1 | CheckinDates | คอนเทนเนอร์สำหรับช่วงวันที่อย่างน้อย 1 ช่วงซึ่งกำหนดเมื่อต้องเลือกวันเช็คอินเพื่อให้ใช้โปรโมชันได้ |
Promotions / HotelPromotions / Promotion / CheckinDates / DateRange | 1..20 | DateRange | ช่วงวันที่ที่ระบุเมื่อต้องเช็คอินเพื่อให้โปรโมชัน ได้ ไม่จำเป็นต้องระบุองค์ประกอบนี้หากคุณกำลังจะลบอย่างน้อย 1 รายการ โปรโมชัน นอกจากนี้ ยังรองรับรูปแบบ YearlessDate ด้วย
|
Promotions / HotelPromotions / Promotion / CheckinDates / DateRange / @start | 0..1 | Date or YearlessDate | วันที่เริ่มต้น (ตามเขตเวลาของที่พัก) ซึ่งก็คือ
ช่วงวันที่ วันที่นี้ต้องเป็นวันที่ก่อนวันที่ หรือวันที่เดียวกับ
end หากไม่ได้ระบุ start จะเป็นวันที่
ไม่มีการกำหนดช่วงของวันที่เริ่มต้นที่มีประสิทธิภาพ |
Promotions / HotelPromotions / Promotion / CheckinDates / DateRange / @end | 0..1 | Date or YearlessDate | วันที่สิ้นสุด (ตามเขตเวลาของที่พัก) ของ
ช่วงวันที่ วันที่นี้ต้องเป็นวันที่เดียวกับหรือหลังจาก start
วันที่ หากไม่ได้ระบุ end จะเป็นวันที่
ไม่มีการกำหนดช่วงวันที่สิ้นสุดที่มีประสิทธิภาพ |
Promotions / HotelPromotions / Promotion / CheckinDates / DateRange / @days_of_week | 0..1 | string | วันของสัปดาห์ที่อนุญาตในช่วงวันที่ หากไม่ ระบบจะอนุญาตให้ใช้ทุกวันในช่วงวันที่ ชิ้น อักขระในสตริงระบุวัน เช่น "MTWHF" ระบุ อนุญาตให้ใช้วันธรรมดาในช่วงวันที่ อักขระที่ใช้ได้มีดังนี้
ชุดค่าผสมของอักขระแบบใดก็ได้สามารถใช้ได้ |
Promotions / HotelPromotions / Promotion / CheckoutDates | 0..1 | CheckoutDates | คอนเทนเนอร์สำหรับช่วงวันที่อย่างน้อย 1 ช่วงซึ่งกำหนดเมื่อต้องเลือกวันเช็คเอาต์เพื่อให้ใช้โปรโมชันได้ |
Promotions / HotelPromotions / Promotion / CheckoutDates / DateRange | 1..20 | DateRange | ช่วงวันที่ที่ระบุเมื่อต้องเช็คเอาต์เพื่อให้โปรโมชัน ได้ คุณไม่จำเป็นต้องใช้องค์ประกอบนี้หากต้องการลบโปรโมชันอย่างน้อย 1 รายการ นอกจากนี้ยังรองรับรูปแบบ YearlessDate
|
Promotions / HotelPromotions / Promotion / CheckoutDates / DateRange / @start | 0..1 | Date or YearlessDate | วันที่เริ่มต้น (ตามเขตเวลาของที่พัก) ซึ่งก็คือ
ช่วงวันที่ วันที่นี้ต้องเป็นวันที่ก่อนวันที่ หรือวันที่เดียวกับ
end หากไม่ได้ระบุ start จะเป็นวันที่
ไม่มีการกำหนดช่วงของวันที่เริ่มต้นที่มีประสิทธิภาพ |
Promotions / HotelPromotions / Promotion / CheckoutDates / DateRange / @end | 0..1 | Date or YearlessDate | วันที่สิ้นสุด (ตามเขตเวลาของที่พัก) ของ
ช่วงวันที่ วันที่นี้ต้องเป็นวันที่เดียวกับหรือหลังจาก start
วันที่ หากไม่ได้ระบุ end จะเป็นวันที่
ไม่มีการกำหนดช่วงวันที่สิ้นสุดที่มีประสิทธิภาพ |
Promotions / HotelPromotions / Promotion / CheckoutDates / DateRange / @days_of_week | 0..1 | string | วันของสัปดาห์ที่อนุญาตในช่วงวันที่ หากไม่ ระบบจะอนุญาตให้ใช้ทุกวันในช่วงวันที่ ชิ้น อักขระในสตริงระบุวัน เช่น "MTWHF" ระบุ อนุญาตให้ใช้วันธรรมดาในช่วงวันที่ อักขระที่ใช้ได้มีดังนี้
ชุดค่าผสมของอักขระแบบใดก็ได้สามารถใช้ได้ |
Promotions / HotelPromotions / Promotion / Devices | 0..1 | Devices | คอนเทนเนอร์สำหรับแสดงอุปกรณ์ของผู้ใช้ที่มีสิทธิ์สำหรับ การโปรโมตของคุณ หากระบุ เฉพาะผู้ใช้ที่มีสิทธิ์ในอุปกรณ์ที่ระบุไว้ ให้ในราคาหลังหักส่วนลด หากไม่ได้ระบุ ผู้ใช้ที่มีสิทธิ์ใน จะเสนอราคาหลังให้กับอุปกรณ์ |
Promotions / HotelPromotions / Promotion / Devices / Device | 1..3 | Device | กำหนดอุปกรณ์ของผู้ใช้ 1 ประเภทที่มีสิทธิ์สำหรับโปรโมชัน |
Promotions / HotelPromotions / Promotion / Devices / Device / @type | 1 | enum | ประเภทอุปกรณ์ ค่าต้องเป็น desktop
tablet หรือ mobile |
Promotions / HotelPromotions / Promotion / Discount | 1 | Discount | หนึ่งใน ระบุส่วนลดที่จะใช้กับโปรโมชันนี้ |
Promotions / HotelPromotions / Promotion / Discount / @percentage | 0..1 | float | เป็นหนึ่งใน ค่าทศนิยมตั้งแต่ 0-100 ซึ่งระบุเปอร์เซ็นต์ส่วนลด
ซึ่งจะใช้กับ ตัวอย่าง
|
Promotions / HotelPromotions / Promotion / Discount / @fixed_amount | 0..1 | float | เป็นหนึ่งใน จำนวนคงที่ที่จะหักออกจากผลรวมของ
ราคาต่อคืน ตัวอย่าง
|
Promotions / HotelPromotions / Promotion / Discount / @fixed_amount_per_night | 0..1 | float | เป็นหนึ่งใน ส่วนลดคงที่ที่ใช้กับ ตัวอย่าง
|
Promotions / HotelPromotions / Promotion / Discount / @fixed_price | 0..1 | float | เป็นหนึ่งใน หากระบุราคาต่อคืน หาก ตัวอย่าง
|
Promotions / HotelPromotions / Promotion / Discount / @fixed_price_per_night | 0..1 | float | ต้องระบุ หากระบุราคาต่อคืน หาก หากระบุ ตัวอย่าง
|
Promotions / HotelPromotions / Promotion / Discount / @applied_nights | 0..1 | integer | ควรใช้กับ จำนวนคืนที่ใช้ส่วนลด เริ่มด้วย ที่ถูกที่สุด ต้องเป็นจำนวนเต็มตั้งแต่ 1 ถึง 99 หากไม่ได้ระบุ ส่วนลดจะมีผลกับทุกคืน |
Promotions / HotelPromotions / Promotion / Discount / FreeNights | 0..1 | FreeNights | ระบุส่วนลดสําหรับการเข้าพักบางคืนเมื่อมีการเข้าพักขั้นต่ำ
เป็นไปตามความยาว แอตทริบิวต์ในองค์ประกอบ Discount ระดับบน
ไม่ได้รับอนุญาต หากใช้องค์ประกอบนี้ |
Promotions / HotelPromotions / Promotion / Discount / FreeNights / @stay_nights | 1 | integer | จำนวนคืนที่กำหนดให้ใช้ส่วนลด ชิ้น ระบบจะนำส่วนลดไปใช้กับกลุ่มการเข้าพักที่แยกไว้ต่างหาก เช่น สำหรับการเข้าพัก 10 คืนที่ |
Promotions / HotelPromotions / Promotion / Discount / FreeNights / @discount_nights | 1 | integer | จํานวนคืนที่ลดราคาภายในแต่ละคืนการเข้าพัก |
Promotions / HotelPromotions / Promotion / Discount / FreeNights / @discount_percentage | 1 | float | ส่วนลดที่ใช้กับจำนวนคืนที่ได้รับส่วนลด หากค่านี้คือ 50 คืนที่เลือกแต่ละคืนจะได้รับส่วนลด 50% |
Promotions / HotelPromotions / Promotion / Discount / FreeNights / @night_selection | 1 | string | ต้องเป็น cheapest หรือ last ถ้า
last และคืนเมื่อสิ้นสุดช่วงการเข้าพัก
การเข้าพักคืนนั้นมีส่วนลด ถ้า cheapest ราคาที่ถูกที่สุด
จำนวนคืนภายในกลุ่มของคืนการเข้าพักจะได้รับส่วนลด |
Promotions / HotelPromotions / Promotion / Discount / FreeNights / @repeats | 1 | boolean | ส่วนลดจะใช้กับการเข้าพักหลายคืนได้หรือไม่
กลุ่ม หากเป็น เช่น หาก |
Promotions / HotelPromotions / Promotion / Discount / @rank | 0..1 | integer | กำหนดอันดับสำหรับโปรโมชันนี้และเลือกใช้โปรโมชันดังกล่าว ระบบจะเลือกเฉพาะโปรโมชันที่มีอันดับต่ำสุดให้นำไปใช้ ค่า ต้องอยู่ระหว่าง 1 ถึง 99 เท่านั้น หากโปรโมชันหลายรายการมีอันดับเดียวกัน ระบบจะสุ่มเลือกโปรโมชันรายการใดรายการหนึ่งและนำไปใช้ |
Promotions / HotelPromotions / Promotion / BestDailyDiscount | 1 | Discount | หนึ่งใน ระบุ
ส่วนลดรายวันซึ่งอาจมีผลกับคืนที่เข้าพัก อยู่ใน
ต่างจาก ที่พักแต่ละแห่งอาจมีกลุ่มโปรโมชันกลุ่มเดียวที่ ถือว่าเป็น "รายวันที่ดีที่สุด" ซึ่งหมายความว่าในแต่ละคืนที่เข้าพัก ระบบจะเลือกโปรโมชัน "รายวันที่ดีที่สุด" รายการเดียวที่มีสิทธิ์และให้ส่วนลดสูงสุดสำหรับคืนนั้นๆ และอาจใช้โปรโมชันดังกล่าว
สามารถระบุ |
Promotions / HotelPromotions / Promotion / BestDailyDiscount / @percentage | 0..1 | float | เป็นหนึ่งใน ค่าทศนิยมตั้งแต่ 0-100 ซึ่งระบุส่วนลดเป็นเปอร์เซ็นต์
ซึ่งจะใช้กับ ตัวอย่าง
|
Promotions / HotelPromotions / Promotion/ BestDailyDiscount / @fixed_amount | 0..1 | float | เป็นหนึ่งใน จำนวนคงที่ที่จะหักออกจากรายการเดียว
ราคาต่อคืน ตัวอย่าง
|
Promotions / HotelPromotions / Promotion/ BestDailyDiscount / @fixed_price | 0..1 | float | เป็นหนึ่งใน หากระบุราคาต่อคืน ตัวอย่าง
|
Promotions / HotelPromotions / Promotion / InventoryCount | 0..1 | InventoryCount | กำหนดข้อจำกัดเกี่ยวกับจำนวนห้องที่ต้องมี
เพื่อให้ใช้โปรโมชันนี้ ส่วนลดจะมีผลเฉพาะกับ
คืนที่เป็นไปตามข้อจำกัด ไม่อนุญาต
ส่วนลด fixed_amount โปรดทราบว่าจำนวน
ห้องจะระบุด้วย
OTA_HotelInvCountNotifRQ (InvCount )
หรือ OTA_HotelAvailNotifRQ
(BookingLimit ) |
Promotions / HotelPromotions / Promotion / InventoryCount / @min | 0..1 | integer | จำนวนห้องขั้นต่ำที่ต้องมีสำหรับโปรโมชัน เพื่อใช้กับราคาต่อคืน หากไม่ได้ระบุ จะถือว่าไม่มี ขั้นต่ำ |
Promotions / HotelPromotions / Promotion / InventoryCount / @max | 0..1 | integer | จำนวนห้องสูงสุดที่ต้องใช้สำหรับโปรโมชัน เพื่อใช้กับราคาต่อคืน หากไม่ได้ระบุ จะถือว่าไม่มีจำนวนสูงสุด |
Promotions / HotelPromotions / Promotion / LengthOfStay | 0..1 | LengthOfStay | กำหนดขีดจำกัดของระยะเวลาในการเข้าพักที่ระบบจะเรียกเก็บภาษีนี้ได้ โปรโมชันจะไม่มีผลเมื่อระยะเวลาในการเข้าพักอยู่นอกเหนือ ขีดจำกัดขั้นต่ำและสูงสุด |
Promotions / HotelPromotions / Promotion / LengthOfStay / @min | 0..1 | integer | จำนวนคืนขั้นต่ำที่เข้าพักสำหรับโปรโมชันได้ ใช้แล้ว หากไม่ได้ระบุ จะถือว่าไม่มีจำนวนขั้นต่ำ |
Promotions / HotelPromotions / Promotion / LengthOfStay / @max | 0..1 | integer | จำนวนคืนสูงสุดที่เข้าพักโปรโมชันได้ ใช้แล้ว หากไม่ได้ระบุ จะถือว่าไม่มีจำนวนสูงสุด |
Promotions / HotelPromotions / Promotion / MembershipRateRule | 0..1 | MembershipRateRule |
คอนเทนเนอร์สำหรับกฎเกี่ยวกับอัตราการเป็นสมาชิกที่ทริกเกอร์ UI ที่เฉพาะเจาะจง สำหรับส่วนลดที่เกี่ยวข้อง ไม่ควรระบุองค์ประกอบนี้เว้นแต่
มีการระบุ |
Promotions / HotelPromotions / Promotion / MembershipRateRule / @id | 1 | string |
รหัสกฎเกี่ยวกับอัตราที่เชื่อมโยงกับโปรแกรมการเป็นสมาชิก |
Promotions / HotelPromotions / Promotion / MinimumAmount | 0..1 | MinimumAmount | ระบุยอดรวมขั้นต่ำของราคาห้องพักรายวัน (โดยใช้จำนวนเงินที่มากกว่า
AmountBeforeTax หรือ AmountAfterTax ) ที่ต้อง
เกินเกณฑ์ที่จะใช้โปรโมชัน |
Promotions / HotelPromotions / Promotion / MinimumAmount / @before_discount | 1 | integer | มูลค่าที่ต้องเกินเพื่อให้ใช้โปรโมชันได้ |
Promotions / HotelPromotions / Promotion / Occupancy | 0..1 | Occupancy | กำหนดข้อจำกัดเกี่ยวกับอัตราการเข้าพักที่มีการใช้โปรโมชันนี้ โปรโมชันจะไม่มีผลเมื่ออัตราการเข้าพักอยู่นอก ขีดจำกัดต่ำสุดและสูงสุด |
Promotions / HotelPromotions / Promotion / Occupancy / @min | 0..1 | integer | อัตราการเข้าพักที่ผู้ใช้ระบุต้องมีค่าอย่างน้อยเท่ากับค่านี้เพื่อให้ ส่วนลดที่จะใช้ |
Promotions / HotelPromotions / Promotion / Occupancy / @max | 0..1 | integer | อัตราการเข้าพักที่ผู้ใช้ระบุต้องมีค่าไม่เกินค่านี้เพื่อให้ ส่วนลดที่จะใช้ |
Promotions / HotelPromotions / Promotion / RatePlans | 0..1 | RatePlans | คอนเทนเนอร์สำหรับรายการแพ็กเกจราคาที่มีสิทธิ์ใช้โปรโมชัน
หากไม่ได้ระบุ <RatePlans> โปรโมชัน
มีผลกับแพ็กเกจราคาทั้งหมด |
Promotions / HotelPromotions / Promotion / RatePlans / RatePlan | 1..n | RatePlan | ระบุแพ็กเกจราคา แพ็กเกจราคากำหนดโดยชุดค่าผสมของ แพ็กเกจ ราคา และห้องว่างตามที่ระบุไว้ใน "ธุรกรรม" (ข้อมูลที่พัก), OTA_HotelRateAmountNotifRQ และ OTA_HotelAvailNotifRQ และตามที่ระบุโดย PackageID |
Promotions / HotelPromotions / Promotion / RatePlans / RatePlan / @id | 1 | string | ตัวระบุที่ไม่ซ้ำกันสำหรับแพ็กเกจราคา ค่านี้จะแมปกับ
ค่า PackageID ใน <PackageData>
ในข้อความ Transaction (Property Data) และใน
RatePlanCode แอตทริบิวต์ใน
<StatusApplicationControl> ทั้งใน 2 ที่
<OTA_HotelRateAmountNotifRQ> และ
<OTA_HotelAvailNotifRQ> ข้อความ
จำนวนอักขระสูงสุดที่อนุญาตคือ 50 ตัว |
Promotions / HotelPromotions / Promotion / RoomTypes | 0..1 | RoomTypes | คอนเทนเนอร์สำหรับรายการประเภทห้องพักที่ใช้โปรโมชัน
โปรโมชันจะมีผลกับ <RoomType> แต่ละรายการ
ที่ระบุ หากไม่ได้ระบุ <RoomTypes> ค่า
ระบบจะใช้โปรโมชันกับทุกห้อง |
Promotions / HotelPromotions / Promotion / RoomTypes / RoomType | 1..n | RoomType | ระบุประเภทห้องพัก ประเภทห้องพักจะกำหนดไว้ใน
องค์ประกอบ <RoomData> ใน
ข้อความ Transaction (Property Data) และเป็น
ได้อ้างอิงโดยใช้ค่า <RoomID> (
ค่า <RoomID> ยังอ้างอิงโดยฟังก์ชัน
แอตทริบิวต์ InvTypeCode ใน OTA_HotelRateAmountNotifRQ
messages.) |
Promotions / HotelPromotions / Promotion / RoomTypes / RoomType / @id | 1 | string | ตัวระบุที่ไม่ซ้ำกันสำหรับห้องพัก (ประเภทห้องพัก) ค่านี้จะแมป
กับ <RoomID> ในข้อความ Transaction (Property Data)
จำนวนอักขระสูงสุดที่อนุญาตคือ 50 ตัว |
Promotions / HotelPromotions / Promotion / Stacking | 0..1 | Stacking | ระบุวิธีรวมโปรโมชัน หากไม่ได้ระบุไว้ จะใช้ "type"
จะถือว่าเป็น base |
Promotions / HotelPromotions / Promotion / Stacking / @type | 1 | enum | คุณใช้โปรโมชันหลายรายการกับราคาเดียวได้ โดยขึ้นอยู่กับ การตั้งค่านี้:
ระบบจะใช้ชุดโปรโมชันที่ให้ส่วนลดสูงสุดกับราคาจากชุดค่าผสมที่อนุญาต |
Promotions / HotelPromotions / Promotion / StayDates | 0..1 | StayDates | คอนเทนเนอร์สำหรับช่วงวันที่อย่างน้อย 1 ช่วงซึ่งกำหนดวิธีใช้โปรโมชัน เช่น เพื่อรองรับส่วนลดตามฤดูกาล |
Promotions / HotelPromotions / Promotion / StayDates / @application | 1 | enum | อธิบายว่าควรใช้โปรโมชันอย่างไร ค่าที่ใช้ได้มีดังนี้
คุณต้องระบุแอตทริบิวต์นี้เสมอ
|
Promotions / HotelPromotions / Promotion / StayDates / DateRange | 1..99 | DateRange | ช่วงวันที่ซึ่งระบุวันที่ที่จะใช้โปรโมชัน นอกจากนี้ ยังรองรับรูปแบบ YearlessDate ด้วย
ถ้าคุณต้องการตั้งค่าช่วง |
Promotions / HotelPromotions / Promotion / StayDates / DateRange / @start | 0..1 | Date or YearlessDate | วันที่เริ่มต้น (ตามเขตเวลาของที่พัก) ซึ่งก็คือ
ช่วงวันที่ วันที่นี้ต้องเป็นวันที่ก่อนวันที่ หรือวันที่เดียวกับ
end หากไม่ได้ระบุ start จะเป็นวันที่
ไม่มีการกำหนดช่วงของวันที่เริ่มต้นที่มีประสิทธิภาพ
คุณควรระบุค่า |
Promotions / HotelPromotions / Promotion / StayDates / DateRange / @end | 0..1 | Date or YearlessDate | วันที่สิ้นสุด (ตามเขตเวลาของที่พัก) ของ
ช่วงวันที่ วันที่นี้ต้องเป็นวันที่เดียวกับหรือหลังจาก
start หากไม่ได้ระบุ end จะเป็นวันที่
จะไม่มีช่วงจำกัดตั้งแต่วันที่ start เป็นต้นไป
คุณควรระบุค่า |
Promotions / HotelPromotions / Promotion / StayDates / DateRange / @days_of_week | 0..1 | string | วันของสัปดาห์ที่อนุญาตในช่วงวันที่ หากไม่ ระบบจะอนุญาตให้ใช้ทุกวันในช่วงวันที่ ชิ้น อักขระในสตริงระบุวัน เช่น "MTWHF" ระบุ อนุญาตให้ใช้วันธรรมดาในช่วงวันที่ อักขระที่ใช้ได้มีดังนี้
คุณจะระบุชุดค่าผสมของอักขระแบบใดก็ได้ |
Promotions / HotelPromotions / Promotion / UserCountries | 0..1 | UserCountries | คอนเทนเนอร์สำหรับแสดงรายการสถานที่ตั้งของผู้ใช้ (ประเทศ) ที่มีสิทธิ์ สำหรับโปรโมชัน หากระบุไว้ จะมีเฉพาะผู้ใช้ที่มีสิทธิ์ใน ประเทศต่างๆ จะได้รับราคาหลังหักส่วนลด หากไม่ได้ระบุ ถือว่ามีสิทธิ์ ผู้ใช้ในประเทศจะได้รับราคาหลังหักส่วนลดนี้ |
Promotions / HotelPromotions / Promotion / UserCountries / @type | 0..1 | enum | ประเภทของข้อกำหนด UserCountry
ค่าที่ถูกต้องคือ หากมีการตั้งค่า หาก หากไม่ได้ตั้งค่า |
Promotions / HotelPromotions / Promotion / UserCountries / Country | 1..300 | Country | กำหนด 1 ประเทศที่ผู้ใช้มีสิทธิ์รับโปรโมชัน |
Promotions / HotelPromotions / Promotion / UserCountries / Country / @code | 1 | string | ประเทศ CLDR
รหัส
เช่น DE หรือ FR โปรดทราบว่ารหัสประเทศ CLDR ของบางประเทศจะไม่เหมือนกับรหัสประเทศ ISO 2 ตัวอักษร และไม่รองรับรหัสภูมิภาค CLDR ด้วย |
ตัวอย่าง
พร็อพเพอร์ตี้ 1 รายการมีโปรโมชันได้ไม่เกิน 500 รายการ โปรดดู "ลบ 1 รายการ โปรโมชัน" ตัวอย่างการนำโปรโมชันออกจากพร็อพเพอร์ตี้
ข้อความพื้นฐาน
ตัวอย่างต่อไปนี้แสดงข้อความ Promotions
พื้นฐาน
<?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>
เงื่อนไขพื้นที่โฆษณา
ตัวอย่างต่อไปนี้แสดงวิธีสร้างส่วนลดหากมีส่วนเกิน สินค้าคงคลังใกล้กับวันที่สินค้ามาถึง:
<?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>
ลบโปรโมชัน 1 รายการ
ตัวอย่างต่อไปนี้แสดงวิธีลบโปรโมชัน 1 รายการสําหรับพร็อพเพอร์ตี้
<?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>
ลบโปรโมชันทั้งหมด
ตัวอย่างต่อไปนี้แสดงวิธีลบโปรโมชันทั้งหมดสำหรับที่พัก
<?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>
วางซ้อนโปรโมชันทั้งหมด
ตัวอย่างต่อไปนี้แสดงวิธีวางซ้อน <HotelPromotions>
สําหรับพร็อพเพอร์ตี้
ที่มีโปรโมชันใหม่อย่างน้อย 1 รายการ เมื่อaction="overlay"
จะจัดเก็บทั้งหมด
โปรโมชันจะถูกลบก่อนที่จะจัดเก็บโปรโมชันที่ระบุไว้ใน
ข้อความปัจจุบัน:
<?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 ประเภท
ตัวอย่างต่อไปนี้แสดงกรณีที่โปรโมชัน 3 แบบ
ใช้แล้ว (base
, second
, any
) โปรดทราบว่าโปรโมชัน none
จะไม่
เนื่องจากโปรโมชันอื่นๆ ให้ส่วนลดที่ดีกว่า หากการตั้งค่าเดิม
ราคาเดิมคือ $100 ส่วนราคาที่มีส่วนลดจะเท่ากับ $72.90
<?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>
ไม่มีประเภทการกองซ้อน
ตัวอย่างต่อไปนี้แสดงกรณีที่มีการใช้โปรโมชัน none
เนื่องจาก
ร่วมกับโปรโมชันอื่นๆ จะให้ส่วนลดที่น้อยกว่า หาก
ราคาเดิมคือ $100 และราคาที่มีส่วนลดจะเท่ากับ $75
<?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>
ขอบเขตระยะเวลาการจอง
ตัวอย่างต่อไปนี้แสดงกรณีที่ BookingWindow
ใช้องค์ประกอบที่มีขอบเขตเริ่มต้นและสิ้นสุดซึ่งกำหนดเป็นระยะเวลาของ ISO 8601
ประเภท ข้อจำกัดเกี่ยวกับระยะเวลาการจองนี้ต้องจองในหรือก่อน 18:00 น.
วันก่อนหน้าวันเดินทางถึง และหลังเวลา 12:00 น. ของวันที่ 2 ก่อนวันที่
มาถึง
<?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>
ขอบเขตวันที่จอง วันที่และเวลา
ตัวอย่างต่อไปนี้แสดงกรณีที่ BookingDates
ใช้ร่วมกับแอตทริบิวต์ start
และ end
เป็น
ประเภท DateTime การจำกัดวันที่จองนี้ต้องมีการจอง
ตั้งแต่ 06:30 น. 1 ก.ค. 2020 ถึง 18:45 น. 2020-07-02
<?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>
ช่วงวันที่ที่ไม่แบ่งรายปี
ตัวอย่างต่อไปนี้แสดงกรณีที่ CheckInDates
องค์ประกอบมี DateRanges
ที่มี start
และ
end
ฟิลด์ที่ไม่มีปี ในตัวอย่างนี้ โปรโมชันจะมีผล
เช็คอินระหว่างวันที่ 29/12 ถึง 01/01 ไม่ว่าจะเป็นปีใดก็ตาม ทุกปี
ช่วงวันที่ที่ข้ามขอบเขตปีใหม่ไม่ถูกต้อง ดังนั้น DateRange
จะแสดงเป็นช่วงวันที่ 2 ช่วงที่อยู่ติดกัน
<?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
ตัวอย่างต่อไปนี้แสดงส่วนลด 50% สำหรับ 2 คืนสำหรับทุก 4 คืนที่เข้าพัก ช่วงวันที่จองที่ระบุไว้ สำหรับแผนการเดินทาง 10 คืน รวมเป็นเงิน ลด 50% สำหรับ 4 คืน
<?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>
ตัวอย่างถัดไปจะให้ส่วนลด 50% สำหรับ 1 คืนต่อการเข้าพัก 3 คืนในช่วงวันที่ที่เข้าพักที่ระบุ จำนวนคืนการเข้าพักที่ซ้อนทับกันเท่านั้น สำหรับการมีสิทธิ์รับส่วนลด สำหรับแผนการเดินทางต่อไปนี้พร้อมการเช็คอิน ในวันที่ 01-01-2022 และเช็คเอาต์ในวันที่ 07-01-2022 จำนวนคืนการเข้าพักที่เข้าเกณฑ์และ จะใช้ส่วนลดดังต่อไปนี้
- 01-01-2022 (เข้าพัก)
- 2022-01-02 (stay)
- 2022-01-03
- 04-01-2022 (ลดราคาแล้ว)
- 05-01-2022 (เข้าพัก)
- 2022-01-06 (stay)
<?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>
การเลือกแบบจัดอันดับ
ตัวอย่างต่อไปนี้มีส่วนลด 2 รายการ โดยรายการหนึ่งให้ส่วนลด 20% และอีกรายการให้ส่วนลด 15% ในระหว่างการประเมิน ระบบจะใช้เฉพาะส่วนลด 15% เนื่องจากมีอันดับต่ำกว่า
<?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
ตัวอย่างต่อไปนี้เป็นส่วนลดสำหรับการเข้าพัก 2 คืนโดยสมัคร
BestDailyDiscount
ซ้อนกับ Discount
<?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>
พิจารณาการเข้าพัก 2 คืนตั้งแต่วันที่ 30 เมษายน 2023 ถึง 2 พฤษภาคม 2023 ระบบจะคำนวณจากส่วนลดรายวันที่ให้ส่วนลดสูงสุดก่อน
สำหรับคืนแรก "ทั่วไป" เฉพาะโปรโมชันเท่านั้นที่มีสิทธิ์ ส่วนลดคงที่ที่ 20
สำหรับคืนที่ 2 โปรโมชัน "อาจ" ให้ส่วนลดมากกว่าส่วนลด "ทั่วไป" ดังนั้นถ้า "อาจ" เลือกส่วนลดคงที่แล้ว เท่ากับ 50
และสำหรับการเข้าพัก "Fiesta" ส่วนลดโปรโมชันเป็น 5 รายการต่อคืน หรือ
คะแนนรวม 10 ครั้ง รายการนี้สามารถรวมกับส่วนลดรายวันที่ดีที่สุด
เพราะว่า "Fiesta" ตั้งค่าประเภทการซ้อนเป็น any
แล้ว หากตั้งค่าไว้
เป็น base
แล้วคำนวณร่วมกับส่วนลดรายวันที่ดีที่สุดหรือ
"เทศกาล" ใช้ส่วนลด ดูคำอธิบายของ
ดูข้อมูลเพิ่มเติมได้ที่ Stacking
"โดยรวมแล้ว ราคาของการเข้าพักได้รับจำนวนคงที่ 20 + 50 + 10 = 80 ส่วนลด
การตอบกลับ
ไวยากรณ์
ข้อความ PromotionsResponse
ใช้ไวยากรณ์ต่อไปนี้
<?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>
องค์ประกอบและแอตทริบิวต์
ข้อความ PromotionsResponse
มีองค์ประกอบและแอตทริบิวต์ต่อไปนี้
องค์ประกอบ / @แอตทริบิวต์ | จำนวนข้อผิดพลาด | ประเภท | คำอธิบาย |
---|---|---|---|
PromotionsResponse | 1 | Complex element | องค์ประกอบรูทที่ระบุความสำเร็จหรือปัญหาสำหรับ ข้อความขอโปรโมชัน |
PromotionsResponse / @timestamp | 1 | DateTime | วันที่และเวลาที่สร้างข้อความนี้ |
PromotionsResponse / @id | 1 | string | ตัวระบุที่ไม่ซ้ำกันจากข้อความโปรโมชันที่เกี่ยวข้อง |
PromotionsResponse / @partner | 1 | string | บัญชีพาร์ทเนอร์สำหรับข้อความนี้ |
PromotionsResponse / Success | 0..1 | Success | ระบุว่าข้อความโปรโมชันได้รับการประมวลผลเรียบร้อยแล้ว
โดยไม่มีคำเตือน ข้อผิดพลาด หรือความล้มเหลว
แต่ละข้อความจะมี |
PromotionsResponse / Issues | 0..1 | Issues | คอนเทนเนอร์สำหรับปัญหาอย่างน้อย 1 รายการที่พบขณะประมวลผลข้อความโปรโมชัน
|
PromotionsResponse / Issues / Issue | 1..n | Issue | คำอธิบายของคำเตือน ข้อผิดพลาด หรือความล้มเหลวที่พบขณะ การประมวลผลข้อความโปรโมชัน ดูรายละเอียดเกี่ยวกับปัญหาเหล่านี้ได้ ใน ข้อความแสดงข้อผิดพลาดของสถานะฟีด |
PromotionsResponse / Issues / Issue / @code | 1 | integer | ตัวระบุสำหรับปัญหา |
PromotionsResponse / Issues / Issue / @status | 1 | enum | ประเภทของปัญหาที่พบ ค่าที่ใช้ได้คือ |
ตัวอย่าง
สำเร็จ
การตอบกลับข้อความโปรโมชันที่ประมวลผลเรียบร้อยแล้วมีดังนี้
<?xml version="1.0" encoding="UTF-8"?>
<PromotionsResponse timestamp="2020-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Success/>
</PromotionsResponse>
ปัญหา
การตอบกลับข้อความโปรโมชันที่ไม่ได้ประมวลผลเนื่องจาก
<?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>