Tổng quan
API này cho phép bạn chỉ định các khoản chiết khấu có thể có. Trong số các chương trình khuyến mãi đã chỉ định, Google áp dụng chương trình khuyến mãi đủ điều kiện hoặc tập hợp các chương trình khuyến mãi dẫn đến giá thấp nhất. Nếu bạn đang tìm một API có hỗ trợ giá tuỳ ý các mức điều chỉnh có thể tăng hoặc giảm giá khi các điều kiện hài lòng, thì hãy xem xét API Sửa đổi giá. Xin lưu ý rằng nếu có cả hai API thì nội dung sửa đổi giá sẽ được áp dụng trước chương trình khuyến mãi.
Yêu cầu
Cú pháp
Thông báo Promotions
sử dụng cú pháp sau:
<?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>
Phần tử và thuộc tính
Thông báo Chương trình khuyến mãi có các thành phần và thuộc tính sau:
Phần tử / @Thuộc tính | Số lần xuất hiện | Loại | Mô tả |
---|---|---|---|
Promotions | 1 | Complex element | Thành phần gốc của thông báo khuyến mãi. |
Promotions / @partner | 1 | string | Tài khoản đối tác dùng cho thư này. Giá trị của chuỗi này là giá trị của "Khoá đối tác" được liệt kê trên trang Cài đặt tài khoản trong Hotel Center.
Nếu bạn có phần phụ trợ cung cấp nguồn cấp dữ liệu cho
nhiều tài khoản, thì giá trị này cần phải khớp với |
Promotions / @id | 1 | string | Giá trị nhận dạng duy nhất cho thông báo yêu cầu này. Giá trị này được trả về trong thông báo phản hồi. Ký tự được phép sử dụng là a – z, A – Z, 0 – 9, _ (dấu gạch dưới) và - (dấu gạch nối). |
Promotions / @timestamp | 1 | DateTime | Ngày và giờ tạo thông báo này. |
Promotions / HotelPromotions | 0..n | HotelPromotions | Chương trình khuyến mãi của cơ sở lưu trú. Mỗi chương trình khuyến mãi áp dụng cho một thuộc tính này. Trừ phi |
Promotions / HotelPromotions / @hotel_id | 1 | string | Giá trị nhận dạng duy nhất của cơ sở lưu trú. Giá trị này phải khớp với
Mã khách sạn được chỉ định bằng
<id> trong phần tử <listing>
trong Nguồn cấp dữ liệu danh sách khách sạn. Mã khách sạn cũng có trong Hotel Center. |
Promotions / HotelPromotions / @action | 0..1 | enum | Nếu được chỉ định, giá trị phải là
Nếu không được chỉ định, thì mỗi chương trình khuyến mãi được chỉ định trong tin nhắn là:
|
Promotions / HotelPromotions / Promotion | 0..99 | Promotion | Một chương trình khuyến mãi của cơ sở lưu trú. Lưu ý rằng nếu
Nếu bạn cần sử dụng hơn 99 chương trình khuyến mãi, hãy liên hệ với Giám đốc Quản lý Khách hàng về Kỹ thuật (TAM) của bạn. |
Promotions / HotelPromotions / Promotion / @id | 1 | string | Giá trị nhận dạng duy nhất của chương trình khuyến mãi. Số lượng ký tự tối đa được phép là 40. Các ký tự được phép là a-z, A-Z, 0-9, _ (dấu gạch dưới), - (dấu gạch ngang) và . (dấu chấm). |
Promotions /HotelPromotions / Promotion / @action | 0..1 | enum | Nếu được chỉ định, giá trị này phải là Nếu bạn chỉ định |
Promotions / HotelPromotions / Promotion / BookingDates | 0..1 | BookingDates | Vùng chứa một hoặc nhiều phạm vi để xác định thời điểm phải đặt phòng để được áp dụng chương trình khuyến mãi. |
Promotions / HotelPromotions / Promotion / BookingDates / DateRange | 1..99 | DateRange | Phạm vi xác định thời điểm phải đặt phòng để được hưởng chương trình khuyến mãi. |
Promotions / HotelPromotions / Promotion / BookingDates / DateRange / @start | 0..1 | Date hoặc DateTime | Ngày bắt đầu hoặc ngày giờ bắt đầu (dựa trên múi giờ của cơ sở lưu trú) trong phạm vi.
|
Promotions / HotelPromotions / Promotion / BookingDates / DateRange / @end | 0..1 | Date hoặc DateTime | Ngày kết thúc hoặc ngày giờ (dựa trên múi giờ của cơ sở lưu trú), bao gồm, của phạm vi.
|
Promotions / HotelPromotions / Promotion / BookingDates / DateRange / @days_of_week | 0..1 | string | Ngày trong tuần được phép sử dụng trong phạm vi ngày. Nếu không đã chỉ định, tất cả các ngày đều được phép trong phạm vi ngày. Mỗi ký tự trong chuỗi xác định một ngày. Ví dụ: "MTWHF" chỉ định mà các ngày trong tuần được phép trong phạm vi ngày. Các ký tự hợp lệ là:
Mọi tổ hợp ký tự đều hợp lệ. |
Promotions / HotelPromotions / Promotion / BookingWindow | 0..1 | BookingWindow | Cho biết khoảng thời gian phải đặt phòng so với ngày nhận phòng (dựa trên múi giờ của cơ sở lưu trú). Ví dụ: có thể đặt thời hạn đặt trước tối thiểu là 7 ngày, nhưng không quá 180 ngày, trước khi nhận phòng. |
Promotions / HotelPromotions / Promotion / BookingWindow / @min | 0..1 | integer or duration | Thời gian tối thiểu trước khi nhận phòng khi phải đặt phòng
để được áp dụng chương trình khuyến mãi. Nếu bạn không chỉ định giá trị này hoặc giá trị của thuộc tính này
là 0 , không có giá trị tối thiểu.
Các loại giá trị hợp lệ là:
|
Promotions / HotelPromotions / Promotion / BookingWindow / @max | 0..1 | integer or duration | Số ngày tối đa phải đặt phòng trước ngày nhận phòng
để được áp dụng chương trình khuyến mãi. Nếu bạn không chỉ định giá trị này hoặc giá trị của thuộc tính này là 0 , thì sẽ không có giới hạn tối đa.
Các loại giá trị hợp lệ là:
|
Promotions / HotelPromotions / Promotion / Ceiling | 0..1 | Ceiling |
Xác định các quy định hạn chế về giá trị tối đa mà một mức giá có thể được đặt thành sau khi áp dụng chương trình khuyến mãi. Chương trình khuyến mãi phải luôn chỉ định Nếu bạn định cấu hình tính năng xếp chồng, thì nhiều chương trình khuyến mãi có
Ví dụ: Giá cho 1 đêm lưu trú tại
Sau đây là thứ tự tính toán:
Trên thực tế, mức trần tổng thể 60 nghiêm ngặt hơn là không phù hợp vì chỉ có hiệu lực với quảng cáo riêng và không có mức trần kéo dài toàn bộ ngăn xếp khuyến mãi. |
Promotions / HotelPromotions / Promotion / Ceiling / @amount_per_night | 1 | float |
Số tiền tối đa mà bạn có thể đặt giá mỗi đêm sau có áp dụng chiết khấu. Nếu bạn cũng chỉ định phần tử
|
Promotions / HotelPromotions / Promotion / Floor | 0..1 | Floor |
Xác định các quy định hạn chế về giá trị tối thiểu mà bạn có thể đặt mức giá sau khi áp dụng chương trình khuyến mãi. Chương trình khuyến mãi phải luôn chỉ định Logic Nếu bạn định cấu hình tính năng xếp chồng, thì nhiều chương trình khuyến mãi có
Ví dụ: Giá cho 1 đêm lưu trú tại
Sau đây là thứ tự tính toán:
Trên thực tế, 90 là giá sàn tổng thể hẹp hơn là không phù hợp vì chỉ có hiệu lực với quảng cáo riêng và không có được áp dụng cho toàn bộ ngăn xếp khuyến mãi. |
Promotions / HotelPromotions / Promotion / Floor / @amount_per_night | 1 | float |
Số tiền tối thiểu mà bạn có thể đặt cho đơn giá theo đêm sau khi áp dụng chiết khấu. Nếu bạn cũng chỉ định phần tử
|
Promotions / HotelPromotions / Promotion / CheckinDates | 0..1 | CheckinDates | Vùng chứa một hoặc nhiều phạm vi ngày dùng để xác định thời điểm phải nhận phòng xảy ra khi có áp dụng chương trình khuyến mãi. |
Promotions / HotelPromotions / Promotion / CheckinDates / DateRange | 1..20 | DateRange | Phạm vi ngày xác định thời điểm phải nhận phòng để được hưởng chương trình khuyến mãi sẽ được áp dụng. Không cần có phần tử này nếu bạn đang xóa một hoặc nhiều phần tử chương trình khuyến mãi. Định dạng YearlessDate cũng được hỗ trợ.
|
Promotions / HotelPromotions / Promotion / CheckinDates / DateRange / @start | 0..1 | Date or YearlessDate | Ngày bắt đầu (dựa trên múi giờ của cơ sở lưu trú), tính cả ngày
phạm vi ngày. Ngày này phải trước hoặc trùng với ngày end . Nếu bạn không chỉ định start thì ngày này
phạm vi hoàn toàn không giới hạn về ngày bắt đầu. |
Promotions / HotelPromotions / Promotion / CheckinDates / DateRange / @end | 0..1 | Date or YearlessDate | Ngày kết thúc (dựa trên múi giờ của cơ sở lưu trú) kể cả ngày
phạm vi ngày. Ngày này phải trùng hoặc sau ngày start
ngày tháng. Nếu bạn không xác định end , phạm vi ngày sẽ không có giới hạn vì không có ngày kết thúc. |
Promotions / HotelPromotions / Promotion / CheckinDates / DateRange / @days_of_week | 0..1 | string | Ngày trong tuần được phép sử dụng trong phạm vi ngày. Nếu bạn không chỉ định, tất cả các ngày trong tuần đều được phép sử dụng trong phạm vi ngày. Một ký tự trong chuỗi chỉ định một ngày. Ví dụ: "MTWHF" chỉ định mà các ngày trong tuần được phép trong phạm vi ngày. Các ký tự hợp lệ là:
Mọi tổ hợp ký tự đều hợp lệ. |
Promotions / HotelPromotions / Promotion / CheckoutDates | 0..1 | CheckoutDates | Vùng chứa một hoặc nhiều phạm vi ngày dùng để xác định thời điểm phải trả phòng để được hưởng chương trình khuyến mãi. |
Promotions / HotelPromotions / Promotion / CheckoutDates / DateRange | 1..20 | DateRange | Phạm vi ngày xác định thời điểm phải trả phòng để được hưởng chương trình khuyến mãi sẽ được áp dụng. Không bắt buộc phải có phần tử này nếu bạn đang đang xoá một hoặc nhiều chương trình khuyến mãi. Định dạng YearlessDate cũng được hỗ trợ.
|
Promotions / HotelPromotions / Promotion / CheckoutDates / DateRange / @start | 0..1 | Date or YearlessDate | Ngày bắt đầu (dựa trên múi giờ của cơ sở lưu trú), tính cả ngày
phạm vi ngày. Ngày này phải trước hoặc giống với ngày
Ngày end . Nếu bạn không chỉ định start thì ngày này
phạm vi hoàn toàn không giới hạn về ngày bắt đầu. |
Promotions / HotelPromotions / Promotion / CheckoutDates / DateRange / @end | 0..1 | Date or YearlessDate | Ngày kết thúc (dựa trên múi giờ của cơ sở lưu trú) kể cả ngày
phạm vi ngày. Ngày này phải trùng hoặc sau ngày start
ngày tháng. Nếu bạn không xác định end , phạm vi ngày sẽ không có giới hạn vì không có ngày kết thúc. |
Promotions / HotelPromotions / Promotion / CheckoutDates / DateRange / @days_of_week | 0..1 | string | Ngày trong tuần được phép sử dụng trong phạm vi ngày. Nếu bạn không chỉ định, tất cả các ngày trong tuần đều được phép sử dụng trong phạm vi ngày. Một ký tự trong chuỗi chỉ định một ngày. Ví dụ: "MTWHF" chỉ định mà các ngày trong tuần được phép trong phạm vi ngày. Các ký tự hợp lệ là:
Mọi tổ hợp ký tự đều hợp lệ. |
Promotions / HotelPromotions / Promotion / Devices | 0..1 | Devices | Vùng chứa để liệt kê những thiết bị của người dùng đủ điều kiện kích hoạt quảng cáo. Nếu bạn chỉ định thì chỉ những người dùng đủ điều kiện trên các thiết bị được liệt kê đều được hưởng mức giá chiết khấu. Nếu không được chỉ định, người dùng đủ điều kiện trên bất kỳ được hưởng mức giá chiết khấu. |
Promotions / HotelPromotions / Promotion / Devices / Device | 1..3 | Device | Xác định một loại thiết bị của người dùng đủ điều kiện tham gia chương trình khuyến mãi. |
Promotions / HotelPromotions / Promotion / Devices / Device / @type | 1 | enum | Một loại thiết bị. Giá trị phải là desktop , tablet hoặc mobile . |
Promotions / HotelPromotions / Promotion / Discount | 1 | Discount | Chính xác một trong số Xác định mức chiết khấu sẽ áp dụng cho chương trình khuyến mãi này. |
Promotions / HotelPromotions / Promotion / Discount / @percentage | 0..1 | float | Đúng một trong Một giá trị thập phân từ 0 đến 100 để xác định tỷ lệ chiết khấu theo phần trăm.
Giá trị này được áp dụng cho Ví dụ:
|
Promotions / HotelPromotions / Promotion / Discount / @fixed_amount | 0..1 | float | Đúng một trong Một số tiền cố định sẽ bị trừ vào tổng của
Mức giá mỗi đêm Ví dụ:
|
Promotions / HotelPromotions / Promotion / Discount / @fixed_amount_per_night | 0..1 | float | Đúng một trong Một khoản chiết khấu cố định được áp dụng cho từng Ví dụ:
|
Promotions / HotelPromotions / Promotion / Discount / @fixed_price | 0..1 | float | Đúng một trong Nếu bạn chỉ định mức giá mỗi đêm là Nếu Ví dụ:
|
Promotions / HotelPromotions / Promotion / Discount / @fixed_price_per_night | 0..1 | float | Bạn phải dùng chính xác một trong các tham số Nếu bạn chỉ định mức giá mỗi đêm là Nếu Nếu bạn chỉ định Ví dụ:
|
Promotions / HotelPromotions / Promotion / Discount / @applied_nights | 0..1 | integer | Chỉ nên sử dụng thuộc tính này với
Số đêm được áp dụng khoản chiết khấu, bắt đầu bằng loại đắt nhất. Phải là một số nguyên từ 1 đến 99. Nếu không xác định số đêm, chiết khấu sẽ được áp dụng cho tất cả các đêm. |
Promotions / HotelPromotions / Promotion / Discount / FreeNights | 0..1 | FreeNights | Cho biết mức chiết khấu cho một số đêm lưu trú trong thời gian lưu trú tối thiểu
đã được đáp ứng. Các thuộc tính trên phần tử Discount mẹ
không được phép nếu phần tử này được sử dụng. |
Promotions / HotelPromotions / Promotion / Discount / FreeNights / @stay_nights | 1 | integer | Số đêm bắt buộc để áp dụng chiết khấu. Một áp dụng chiết khấu cho một phân đoạn số đêm lưu trú riêng biệt. Ví dụ: đối với thời gian lưu trú 10 đêm tại nơi có |
Promotions / HotelPromotions / Promotion / Discount / FreeNights / @discount_nights | 1 | integer | Số đêm chiết khấu trong mỗi phân đoạn số đêm lưu trú. |
Promotions / HotelPromotions / Promotion / Discount / FreeNights / @discount_percentage | 1 | float | Mức chiết khấu được áp dụng cho các đêm có chiết khấu. Nếu giá trị này
là 50 , sau đó, mỗi đêm đã chọn được giảm giá 50%. |
Promotions / HotelPromotions / Promotion / Discount / FreeNights / @night_selection | 1 | string | Phải là cheapest hoặc last . Nếu
last , thì số đêm vào cuối phân đoạn lưu trú
đêm được chiết khấu. Nếu là cheapest , thì các đêm rẻ nhất trong khoảng thời gian lưu trú sẽ được chiết khấu. |
Promotions / HotelPromotions / Promotion / Discount / FreeNights / @repeats | 1 | boolean | Khoản chiết khấu có thể được áp dụng cho nhiều đêm lưu trú hay không
phân khúc. Nếu là Ví dụ: nếu |
Promotions / HotelPromotions / Promotion / Discount / @rank | 0..1 | integer | Chỉ định một thứ hạng cho chương trình khuyến mãi này và đưa chương trình vào danh sách lựa chọn theo thứ hạng, trong đó chỉ chương trình khuyến mãi có thứ hạng thấp nhất mới được chọn để áp dụng. Giá trị phải nằm trong khoảng từ 1 đến 99. Nếu nhiều chương trình khuyến mãi có cùng một chương trình hạng, sau đó một sẽ được chọn và áp dụng tuỳ ý. |
Promotions / HotelPromotions / Promotion / BestDailyDiscount | 1 | Discount | Chính xác một trong số Chỉ định một
Chiết khấu hằng ngày có thể được áp dụng cho một đêm lưu trú. Nội dung trong
trái ngược với Mỗi cơ sở lưu trú có thể có một nhóm chương trình khuyến mãi duy nhất được xem là "hiệu quả nhất hằng ngày". Điều này có nghĩa là đối với mỗi đêm lưu trú, đĩa đơn "tốt nhất hằng ngày" quảng cáo đủ điều kiện và mang lại kết quả tốt nhất chiết khấu cho đêm đó sẽ được chọn và có thể được áp dụng.
Bạn có thể chỉ định |
Promotions / HotelPromotions / Promotion / BestDailyDiscount / @percentage | 0..1 | float | Đúng một trong Giá trị thập phân từ 0 đến 100 xác định tỷ lệ chiết khấu theo phần trăm.
Giá trị này được áp dụng cho Ví dụ:
|
Promotions / HotelPromotions / Promotion/ BestDailyDiscount / @fixed_amount | 0..1 | float | Đúng một trong Số tiền cố định bị trừ vào một đơn vị
Mức giá mỗi đêm Ví dụ:
|
Promotions / HotelPromotions / Promotion/ BestDailyDiscount / @fixed_price | 0..1 | float | Đúng một trong Nếu bạn chỉ định mức giá mỗi đêm là Ví dụ:
|
Promotions / HotelPromotions / Promotion / InventoryCount | 0..1 | InventoryCount | Đặt quy định hạn chế về số lượng phòng phải còn trống để được hưởng chương trình khuyến mãi. Chiết khấu chỉ được áp dụng cho
đêm đáp ứng quy tắc ràng buộc đó. Không được phép với
Chiết khấu fixed_amount . Xin lưu ý rằng số lượt cài đặt
phòng được chỉ định bằng một trong hai
OTA_HotelInvCountNotifRQ (InvCount )
hoặc OTA_HotelAvailNotifRQ
(BookingLimit ). |
Promotions / HotelPromotions / Promotion / InventoryCount / @min | 0..1 | integer | Số lượng phòng còn trống tối thiểu phải được dành ra cho chương trình khuyến mãi sẽ được áp dụng cho đơn giá theo đêm. Nếu bạn không xác định thì sẽ không có tối thiểu. |
Promotions / HotelPromotions / Promotion / InventoryCount / @max | 0..1 | integer | Số lượng phòng tối đa còn trống cho chương trình khuyến mãi để được áp dụng cho mức giá mỗi đêm. Nếu bạn không xác định thì sẽ không có tối đa. |
Promotions / HotelPromotions / Promotion / LengthOfStay | 0..1 | LengthOfStay | Xác định giới hạn thời gian lưu trú mà chương trình khuyến mãi này có thể áp dụng áp dụng. Chương trình khuyến mãi không được áp dụng nếu thời gian lưu trú nằm ngoài thời gian giới hạn tối thiểu và tối đa. |
Promotions / HotelPromotions / Promotion / LengthOfStay / @min | 0..1 | integer | Số đêm tối thiểu được phép trong thời gian lưu trú để được hưởng chương trình khuyến mãi áp dụng. Nếu bạn không xác định giá trị này, thì sẽ không có giới hạn tối thiểu. |
Promotions / HotelPromotions / Promotion / LengthOfStay / @max | 0..1 | integer | Số đêm tối đa trong thời gian lưu trú được phép thực hiện chương trình khuyến mãi áp dụng. Nếu bạn không xác định giá trị này, thì sẽ không có số đêm tối đa. |
Promotions / HotelPromotions / Promotion / MembershipRateRule | 0..1 | MembershipRateRule |
Vùng chứa cho quy tắc giá dành cho thành viên kích hoạt một biện pháp xử lý giao diện người dùng cụ thể cho khoản chiết khấu được liên kết. Bạn không được chỉ định phần tử này trừ phi cũng chỉ định |
Promotions / HotelPromotions / Promotion / MembershipRateRule / @id | 1 | string |
Mã của quy tắc giá liên quan đến chương trình thành viên. |
Promotions / HotelPromotions / Promotion / MinimumAmount | 0..1 | MinimumAmount | Xác định tổng số tiền tối thiểu của các giá phòng theo ngày (dùng AmountBeforeTax hoặc AmountAfterTax tuỳ giá trị nào lớn hơn) mà bạn phải đạt cao hơn để được hưởng chương trình khuyến mãi. |
Promotions / HotelPromotions / Promotion / MinimumAmount / @before_discount | 1 | integer | Bạn phải vượt quá giá trị này để được áp dụng chương trình khuyến mãi. |
Promotions / HotelPromotions / Promotion / Occupancy | 0..1 | Occupancy | Xác định các quy định hạn chế về số người lưu trú của chương trình khuyến mãi này áp dụng. Chương trình khuyến mãi không áp dụng khi số người lưu trú nằm ngoài phạm vi giới hạn tối thiểu và tối đa. |
Promotions / HotelPromotions / Promotion / Occupancy / @min | 0..1 | integer | Số người lưu trú do người dùng chỉ định ít nhất phải là giá trị này để mức chiết khấu sẽ được áp dụng. |
Promotions / HotelPromotions / Promotion / Occupancy / @max | 0..1 | integer | Số người lưu trú do người dùng chỉ định phải tối đa là giá trị này để áp dụng chiết khấu. |
Promotions / HotelPromotions / Promotion / RatePlans | 0..1 | RatePlans | Vùng chứa danh sách các gói giá được áp dụng chương trình khuyến mãi.
Nếu bạn không xác định <RatePlans> , thì chương trình khuyến mãi sẽ áp dụng cho mọi gói giá. |
Promotions / HotelPromotions / Promotion / RatePlans / RatePlan | 1..n | RatePlan | Chỉ định một gói giá. Gói giá được xác định bằng cách kết hợp các giá trị sau: gói, giá và tình trạng còn phòng, như được xác định trong Giao dịch (Dữ liệu của cơ sở lưu trú), OTA_HotelRateAmountNotifRQ và OTA_HotelAvailNotifRQ thông báo và được xác định bằng PackageID. |
Promotions / HotelPromotions / Promotion / RatePlans / RatePlan / @id | 1 | string | Giá trị nhận dạng riêng biệt của gói giá. Giá trị này liên kết với
Giá trị PackageID trong <PackageData>
trong thông báo Giao dịch (Dữ liệu của cơ sở lưu trú) và trong
Thuộc tính RatePlanCode trong
<StatusApplicationControl> ở cả hai
<OTA_HotelRateAmountNotifRQ> và
<OTA_HotelAvailNotifRQ> tin nhắn.
Số lượng ký tự tối đa được phép là 50. |
Promotions / HotelPromotions / Promotion / RoomTypes | 0..1 | RoomTypes | Vùng chứa danh sách các loại phòng được áp dụng chương trình khuyến mãi.
Chương trình khuyến mãi sẽ được áp dụng cho mỗi <RoomType>
đã chỉ định. Nếu bạn không chỉ định <RoomTypes> ,
chương trình khuyến mãi áp dụng cho tất cả các phòng. |
Promotions / HotelPromotions / Promotion / RoomTypes / RoomType | 1..n | RoomType | Xác định một loại phòng. Loại phòng được xác định trong một
Phần tử <RoomData> trong một
Thông báo Giao dịch (Dữ liệu của cơ sở lưu trú) và là
được tham chiếu bằng cách sử dụng giá trị <RoomID> . (Đó là
Giá trị <RoomID> cũng được tham chiếu bởi
Thuộc tính InvTypeCode trong OTA_HotelRateAmountNotifRQ
messages.) |
Promotions / HotelPromotions / Promotion / RoomTypes / RoomType / @id | 1 | string | Giá trị nhận dạng duy nhất của quỹ phòng (loại phòng). Giá trị này tương ứng với <RoomID> trong thông báo Giao dịch (Dữ liệu của cơ sở lưu trú).
Số lượng ký tự tối đa được phép là 50. |
Promotions / HotelPromotions / Promotion / Stacking | 0..1 | Stacking | Xác định cách kết hợp các chương trình khuyến mãi. Nếu không xác định, "type" sẽ được giả định là base . |
Promotions / HotelPromotions / Promotion / Stacking / @type | 1 | enum | Bạn có thể áp dụng nhiều chương trình khuyến mãi cho một giá duy nhất tuỳ thuộc vào cài đặt này:
Trong số các cách kết hợp được chấp nhận, tập hợp các chương trình khuyến mãi tạo ra mức chiết khấu lớn nhất sẽ được áp dụng cho đơn giá. |
Promotions / HotelPromotions / Promotion / StayDates | 0..1 | StayDates | Vùng chứa một hoặc nhiều phạm vi ngày dùng để xác định cách áp dụng chương trình khuyến mãi, chẳng hạn như để phù hợp với các mức chiết khấu theo mùa. |
Promotions / HotelPromotions / Promotion / StayDates / @application | 1 | enum | Mô tả cách áp dụng chương trình khuyến mãi. Các giá trị hợp lệ là:
Thuộc tính này phải luôn được chỉ định.
|
Promotions / HotelPromotions / Promotion / StayDates / DateRange | 1..99 | DateRange | Phạm vi ngày xác định các ngày mà chương trình khuyến mãi sẽ được áp dụng. Định dạng YearlessDate cũng được hỗ trợ.
Nếu bạn muốn đặt phạm vi |
Promotions / HotelPromotions / Promotion / StayDates / DateRange / @start | 0..1 | Date or YearlessDate | Ngày bắt đầu (dựa trên múi giờ của cơ sở lưu trú), tính cả ngày
phạm vi ngày. Ngày này phải trước hoặc trùng với ngày end . Nếu bạn không chỉ định start thì ngày này
phạm vi hoàn toàn không giới hạn về ngày bắt đầu.
Bạn nên chỉ định giá trị |
Promotions / HotelPromotions / Promotion / StayDates / DateRange / @end | 0..1 | Date or YearlessDate | Ngày kết thúc (sử dụng múi giờ của cơ sở lưu trú) trong phạm vi ngày. Ngày này phải trùng hoặc sau ngày
Ngày start . Nếu bạn không xác định end , phạm vi ngày sẽ không có giới hạn kể từ ngày start trở đi.
Bạn nên chỉ định giá trị |
Promotions / HotelPromotions / Promotion / StayDates / DateRange / @days_of_week | 0..1 | string | Ngày trong tuần được phép sử dụng trong phạm vi ngày. Nếu bạn không chỉ định, tất cả các ngày trong tuần đều được phép sử dụng trong phạm vi ngày. Mỗi ký tự trong chuỗi xác định một ngày. Ví dụ: "MTWHF" chỉ định mà các ngày trong tuần được phép trong phạm vi ngày. Các ký tự hợp lệ là:
Mọi tổ hợp ký tự đều hợp lệ. |
Promotions / HotelPromotions / Promotion / UserCountries | 0..1 | UserCountries | Vùng chứa để liệt kê vị trí của người dùng (quốc gia) đủ điều kiện cho chương trình khuyến mãi. Nếu được chỉ định thì chỉ những người dùng đủ điều kiện trong danh sách quốc gia có mức giá chiết khấu. Nếu không được chỉ định, quảng cáo đủ điều kiện người dùng ở mọi quốc gia đều được hưởng mức giá chiết khấu. |
Promotions / HotelPromotions / Promotion / UserCountries / @type | 0..1 | enum | Loại thông số UserCountry.
Các giá trị hợp lệ là Nếu UserCountry Nếu Nếu bạn không đặt UserCountries |
Promotions / HotelPromotions / Promotion / UserCountries / Country | 1..300 | Country | Xác định quốc gia nơi người dùng đủ điều kiện hưởng chương trình khuyến mãi. |
Promotions / HotelPromotions / Promotion / UserCountries / Country / @code | 1 | string | Quốc gia theo CLDR
,
chẳng hạn như DE hoặc FR . Lưu ý rằng, đối với một số
quốc gia, mã quốc gia CLDR không giống với mã ISO gồm 2 chữ cái
. Ngoài ra, mã vùng CLDR không được hỗ trợ. |
Ví dụ
Mỗi cơ sở lưu trú chỉ được có tối đa 500 chương trình khuyến mãi. Tham khảo phần "Xoá một quảng cáo" ví dụ về cách xoá chương trình khuyến mãi khỏi một cơ sở lưu trú.
Thông báo cơ bản
Ví dụ sau đây trình bày một thông báo Promotions
cơ bả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">
<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>
Tình trạng quỹ phòng
Ví dụ sau đây trình bày cách tạo chiết khấu nếu khoản tiền vượt quá kho hàng gần ngày đế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">
<BookingWindow max="7"/>
<Discount percentage="10"/>
<InventoryCount min="3"/>
</Promotion>
</HotelPromotions>
</Promotions>
Xoá một chương trình khuyến mãi
Ví dụ sau đây trình bày cách xoá một chương trình khuyến mãi của cơ sở lưu trú:
<?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>
Xoá tất cả chiến dịch quảng bá
Ví dụ sau đây trình bày cách xoá tất cả chương trình khuyến mãi của một cơ sở lưu trú:
<?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>
Xếp chồng tất cả chương trình khuyến mãi
Ví dụ sau đây trình bày cách phủ <HotelPromotions>
cho một tài sản
có một hoặc nhiều chương trình khuyến mãi mới. Khi action="overlay"
, tất cả được lưu trữ
chương trình khuyến mãi sẽ bị xoá trước khi lưu trữ chương trình khuyến mãi được chỉ định trong
thông báo hiện tại:
<?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 kiểu xếp chồng
Ví dụ sau đây cho thấy trường hợp trong đó ba chương trình khuyến mãi khác nhau sẽ là
đã áp dụng (base
, second
, any
). Lưu ý rằng chương trình khuyến mãi none
sẽ không
vì các chương trình khuyến mãi khác có mức chiết khấu tốt hơn. Nếu giá trị gốc
giá là 100.000 đồng, giá chiết khấu là 72.900 đồng.
<?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>
Loại xếp chồng không có
Ví dụ sau đây cho thấy trường hợp sử dụng chương trình khuyến mãi none
vì việc kết hợp các chương trình khuyến mãi khác sẽ cung cấp mức chiết khấu nhỏ hơn. Nếu
giá gốc là 100.000 đồng, giá chiết khấu là 750.000 đồng.
<?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>
Giới hạn thời lượng đặt trước
Ví dụ sau đây cho thấy một trường hợp trong đó BookingWindow
phần tử được sử dụng với giới hạn bắt đầu và giới hạn kết thúc được xác định theo Thời lượng ISO 8601
loại. Quy định hạn chế về thời hạn đặt trước này yêu cầu bạn phải đặt chỗ vào hoặc trước 18:00
ngày trước khi đến và vào hoặc sau 12:00 vào ngày thứ 2 trước khi
đến nơi.
<?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>
Giới hạn ngày đặt phòng theo ngày giờ
Ví dụ sau đây cho thấy một trường hợp trong đó BookingDates
Phần tử được sử dụng cùng với các thuộc tính start
và end
như
Loại DateTime. Bạn phải đặt trước theo quy định hạn chế này về ngày đặt phòng
từ 06:30 ngày 01/07/2020 đến 18:45 ngày 02/07/2020.
<?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>
Phạm vi ngày không theo năm
Ví dụ sau đây cho thấy một trường hợp trong đó CheckInDates
phần tử chứa DateRanges
có start
và
Trường end
không có năm. Trong ví dụ này, chương trình khuyến mãi sẽ được áp dụng
để nhận phòng trong khoảng thời gian từ ngày 29/12 đến ngày 2/1, bất kể năm nào. Không theo năm
các phạm vi ngày vượt qua ranh giới năm mới không hợp lệ, do đó, Daterange
được biểu thị dưới dạng hai phạm vi ngày liền nhau.
<?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>
Giảm giá FreeNights
Ví dụ sau đây giảm giá 50% cho 2 đêm đối với mỗi 4 đêm lưu trú trong phạm vi ngày đặt phòng đã chỉ định. Đối với hành trình 10 đêm, tổng cộng giảm giá 50% cho bốn đêm.
<?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>
Ví dụ tiếp theo giảm giá 50% một đêm cho mỗi ba đêm ở trong phạm vi ngày lưu trú đã chỉ định. Chỉ tính các đêm lưu trú bị trùng lặp đủ điều kiện hưởng chiết khấu. Đối với hành trình có ngày nhận phòng sau đây vào ngày 1 tháng 1 năm 2022 và trả phòng vào ngày 7 tháng 1 năm 2022, các đêm lưu trú đủ điều kiện và thì các khoản chiết khấu sẽ được áp dụng như sau.
- 01-01-2022 (ở lại)
- 2022-01-02 (ở lại)
- 2022-01-03
- 04/01/2022 (đã chiết khấu)
- 5/1/2022 (ở lại)
- 06-01-2022 (ở lại)
<?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>
Lựa chọn theo thứ hạng
Ví dụ sau đây đưa ra hai chương trình chiết khấu, một là giảm giá 20% và một là để được giảm giá 15%. Trong quá trình đánh giá, bạn chỉ được áp dụng mức chiết khấu 15% vì nó có thứ hạng thấp hơ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">
<Discount percentage="15" rank="25"/>
</Promotion>
<Promotion id="2">
<Discount percentage="20" rank="50"/>
</Promotion>
</HotelPromotions>
</Promotions>
BestDailyDiscount
Ví dụ sau đây chiết khấu cho thời gian lưu trú hai đêm bằng cách áp dụng
BestDailyDiscount
được xếp chồng cùng với một 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>
Hãy xem xét trường hợp lưu trú hai đêm từ ngày 30 tháng 4 năm 2023 đến ngày 2 tháng 5 năm 2023. Để tính toán, trước tiên, hệ thống sẽ tìm ra tổ hợp chiết khấu hằng ngày tốt nhất mang lại mức chiết khấu sâu nhất.
Đối với đêm đầu tiên, cụm từ "chung" chương trình khuyến mãi là số tiền duy nhất đủ điều kiện có mức chiết khấu cố định là 20.
Đối với đêm thứ hai, "có thể" chương trình khuyến mãi cung cấp chiết khấu sâu hơn so với từ "chung" . Vì vậy, khi "có thể" được chọn mức chiết khấu cố định số tiền là 50.
Sau đó, đối với thời gian lưu trú, "đại lễ" chương trình khuyến mãi giảm giá xuống còn 5 chương trình mỗi đêm, hoặc
Tổng cộng 10. Bạn có thể kết hợp các khoản chiết khấu hằng ngày tốt nhất
vì "fiesta" có kiểu xếp chồng được đặt thành any
. Nếu đã đặt
lên base
, thì chỉ kết hợp các khoản chiết khấu hằng ngày tốt nhất hoặc
"đại hội" có áp dụng chiết khấu. Xem mô tả về
Stacking
để biết thêm thông tin.
"Tổng thể, giá của lượt lưu trú nhận được một số tiền cố định là 20 + 50 + 10 = 80 .
Phản hồi
Cú pháp
Thông báo PromotionsResponse
sử dụng cú pháp sau:
<?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>
Phần tử và thuộc tính
Thông báo PromotionsResponse
có các phần tử và thuộc tính như sau:
Phần tử / @Thuộc tính | Số lần xuất hiện | Loại | Mô tả |
---|---|---|---|
PromotionsResponse | 1 | Complex element | Phần tử gốc cho biết ứng dụng nhận được thành công hay gặp vấn đề Tin nhắn yêu cầu chương trình khuyến mãi. |
PromotionsResponse / @timestamp | 1 | DateTime | Ngày và giờ tạo thông báo này. |
PromotionsResponse / @id | 1 | string | Giá trị nhận dạng duy nhất lấy từ thông báo Chương trình khuyến mãi được liên kết. |
PromotionsResponse / @partner | 1 | string | Tài khoản đối tác dùng cho thư này. |
PromotionsResponse / Success | 0..1 | Success | Cho biết rằng thông báo Chương trình khuyến mãi đã được xử lý thành công
mà không có cảnh báo, lỗi hoặc hỏng hóc.
Mỗi thông báo có |
PromotionsResponse / Issues | 0..1 | Issues | Vùng chứa một hoặc nhiều vấn đề gặp phải trong khi xử lý
Thông báo về chương trình khuyến mãi.
|
PromotionsResponse / Issues / Issue | 1..n | Issue | Nội dung mô tả về cảnh báo, lỗi hoặc thất bại xảy ra trong khi đang xử lý thông báo Chương trình khuyến mãi. Bạn có thể xem thông tin chi tiết về các vấn đề này inch Thông báo lỗi về trạng thái của nguồn cấp dữ liệu. |
PromotionsResponse / Issues / Issue / @code | 1 | integer | Giá trị nhận dạng của vấn đề. |
PromotionsResponse / Issues / Issue / @status | 1 | enum | Loại vấn đề mà bạn gặp phải. Các giá trị hợp lệ là |
Ví dụ
Thành công
Dưới đây là phản hồi cho thông báo Chương trình khuyến mãi được xử lý thành công.
<?xml version="1.0" encoding="UTF-8"?>
<PromotionsResponse timestamp="2020-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Success/>
</PromotionsResponse>
Vấn đề
Dưới đây là phản hồi cho một thông báo Chương trình khuyến mãi không được xử lý do .
<?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>