Tổng quan
Thông báo Khuyến mãi xác định các quy tắc chiết khấu giá bằng cách sử dụng OTA_HotelRateAmountNotifRQ. Đối với mỗi mức giá, các chương trình khuyến mãi đã xác định sẽ được đánh giá và mức chiết khấu lớn nhất được phép sẽ được áp dụng cho mức giá. Loại thông báo này là không bắt buộc và bạn chỉ cần xác định chương trình khuyến mãi nếu bạn sử dụng chương trình đó trong hệ thống để áp dụng chiết khấu giá.
Bạn có thể kết hợp các chương trình khuyến mãi và áp dụng cho nhiều thuộc tính người dùng, chẳng hạn như loại thiết bị (thiết bị di động, máy tính bảng, máy tính) và mã quốc gia.
Để xem ví dụ về nhiều trường hợp liên quan đến chương trình khuyến mãi, hãy xem phần Hướng dẫn.
Các phần sau đây trình bày hướng dẫn chung, ví dụ cơ bản và các tình huống hướng dẫn để giúp bạn bắt đầu thêm và cập nhật chương trình khuyến mãi.
Nguyên tắc
Phần này trình bày các nguyên tắc chung và hướng dẫn đặc biệt để thiết lập chương trình khuyến mãi.
Hãy tuân thủ các nguyên tắc sau đây đối với chương trình khuyến mãi:
Thao tác
- Xoá
- Sử dụng thao tác
deletetrong phần tử<Promotion>để xoá một chương trình khuyến mãi theo mã nhận dạng. - Lớp phủ
- Sử dụng thao tác
overlaytrong phần tử<HotelPromotions>để thay thế tất cả chương trình khuyến mãi cho một tài sản. - Delta
- Nếu bạn không chỉ định hành động, thì tất cả chương trình khuyến mãi được chỉ định trong
<HotelPromotions>sẽ được thêm hoặc thay thế. Nếu bạn chưa từng thêm hoặc đã xoá một chương trình khuyến mãi có mã nhận dạng đó, thì chương trình khuyến mãi sẽ được thêm. Nếu có một chương trình khuyến mãi có mã đó, thì chương trình khuyến mãi đó sẽ bị ghi đè bằng định nghĩa mới.
Giải pháp chung
Mỗi cơ sở lưu trú có thể có một hoặc một nhóm chương trình khuyến mãi và mỗi chương trình khuyến mãi có một bộ điều kiện. Bạn chỉ có thể áp dụng chương trình khuyến mãi đó nếu đáp ứng các điều kiện.
Chương trình khuyến mãi áp dụng cho giá của hành trình. Bạn không thể đặt mức chiết khấu tối đa cho mỗi người lưu trú.
Nếu bạn muốn chương trình khuyến mãi chỉ áp dụng cho một ngày, loại phòng hoặc gói giá cụ thể, hãy chỉ định điều đó trong các điều kiện của chương trình khuyến mãi đó. Nếu chương trình khuyến mãi không áp dụng cho một ngày, loại phòng hoặc gói giá cụ thể, thì bạn không cần phải đặt những thông tin đó.
Mỗi chương trình khuyến mãi đều được liên kết với một cơ sở lưu trú cụ thể. Nếu sử dụng cùng một chương trình khuyến mãi cho nhiều tài sản, bạn phải gửi riêng chương trình đó cho từng tài sản. Để chỉ định giá trị nhận dạng tài sản, hãy dùng thuộc tính
hotel_idcủa phần tử<HotelPromotions>.Bạn có thể thêm tối đa 99 chương trình khuyến mãi. Hãy liên hệ với Nhà quản lý hỗ trợ kỹ thuật cho tài khoản của Google nếu bạn cần thêm thông tin.
Sử dụng phần tử
<Stacking>để chỉ định cách kết hợp các chương trình khuyến mãi. Theo mặc định, Google sử dụng loạibasexếp chồng, tức là chương trình khuyến mãi cơ bản đủ điều kiện và tốt nhất sẽ được chọn và áp dụng trước, sau đó mới đến các chương trình khuyến mãi khác. Xin lưu ý rằng bạn chỉ có thể kết hợpbasevớisecondhoặcany, chứ không thể kết hợp với mộtbasehoặcnonekhác.Ngay cả khi có một nhóm gồm nhiều chương trình khuyến mãi có thể áp dụng cùng nhau, thì nhóm đó có thể không phải là nhóm được sử dụng nếu có một chương trình khuyến mãi đơn lẻ hoặc nhóm chương trình khuyến mãi khác có mức chiết khấu sâu hơn. Chương trình khuyến mãi (kết hợp) có mức chiết khấu cao nhất sẽ được áp dụng cho yêu cầu đặt phòng khi có nhiều (kết hợp) chương trình khuyến mãi đủ điều kiện.
Gửi thông báo cập nhật khuyến mãi mỗi khi có thay đổi ảnh hưởng đến chương trình khuyến mãi của bạn.
Liên quan đến thuế
Chương trình khuyến mãi tốt nhất (hoặc nhóm chương trình khuyến mãi) sẽ được áp dụng cho số tiền AmountAfterTax. Nếu bạn chỉ chỉ định AmountBeforeTax, thì chương trình khuyến mãi sẽ được áp dụng cho AmountBeforeTax.
Ví dụ:
Phần này cung cấp một ví dụ cơ bản về thông báo Khuyến mãi bằng cách sử dụng các phần tử bắt buộc và không bắt buộc. Sau khi chuẩn bị tệp, hãy gửi tệp đó cho Google thông qua thông báo POST đến điểm cuối này:
https://www.google.com/travel/hotels/uploads/promotions
Để tìm hiểu thêm về cách truyền/POST thông báo, hãy xem phần Truyền thông báo.
Đối với thuộc tính hotel_id của <HotelPromotions>, hãy sử dụng mã nhận dạng duy nhất của khách sạn mà bạn đã dùng trong hệ thống để xác định 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. Tính nhất quán với hệ thống của bạn là yếu tố quan trọng để đảm bảo rằng Google đang hiển thị dữ liệu của bạn một cách chính xác.
UserCountry dùng để liệt kê vị trí của người dùng (quốc gia) đủ điều kiện được hưởng chương trình khuyến mãi. Nếu xác định, chỉ những người dùng ở các quốc gia được liệt kê mới được hưởng mức giá chiết khấu.
Ví dụ này cho biết cách thiết lập mức chiết khấu 15% cho một kỳ lưu trú dài ngày đối với người dùng ở Hoa Kỳ và Ý:
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
id="123_abc"
timestamp="2022-05-30T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<Discount percentage="15"/>
<UserCountries>
<Country code="US"/>
<Country code="IT"/>
</UserCountries>
</Promotion>
</HotelPromotions>
</Promotions>
Để xem thêm ví dụ, hãy xem Ví dụ về chương trình khuyến mãi.
Hướng dẫn
Phần này cung cấp giải pháp cho những trường hợp bạn có thể gặp phải khi thiết lập chương trình khuyến mãi.
Tình huống 1: Cách thêm chương trình khuyến mãi chiết khấu cho thời gian lưu trú dài hạn
Mô tả
Bạn muốn cung cấp đêm lưu trú được chiết khấu vào một số ngày nhất định trong thời gian lưu trú dài ngày.
Giải pháp
Sử dụng chế độ cài đặt FreeNights để tuỳ chỉnh loại chiết khấu được áp dụng tuỳ thuộc vào số đêm lưu trú.
Mẫu
Ví dụ này cho biết cách thêm chiết khấu 20% cho 2 đêm cho mỗi 7 đêm lưu trú trong phạm vi ngày đặt phòng được chỉ định. Đối với một lịch trình lưu trú 15 đêm, chiết khấu 20% sẽ áp dụng cho tổng cộng 4 đêm.
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
id="123"
timestamp="2022-05-05T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<BookingDates>
<DateRange start="2022-02-01" end="2022-06-30"/>
</BookingDates>
<Discount>
<FreeNights stay_nights="7"
discount_nights="2"
discount_percentage="20"
night_selection="cheapest"
repeats="true"/>
</Discount>
</Promotion>
</HotelPromotions>
</Promotions>
Tình huống 2: Cách đặt loại thiết bị
Bạn đặt devices để chỉ định những thiết bị của người dùng đủ điều kiện tham gia chương trình khuyến mãi. Nếu bạn chỉ định giá trị này, chỉ những người dùng đang sử dụng các thiết bị có trong danh sách mới được hưởng mức giá chiết khấu.
Mô tả
Bạn muốn chỉ định 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.
Giải pháp
Đặt loại thiết bị thành một hoặc nhiều giá trị sau: desktop, tablet hoặc mobile.
Mẫu
Ví dụ sau đây cho biết cách chỉ định mức chiết khấu 25% cho người dùng thiết bị di động và máy tính bảng:
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
id="123"
timestamp="2022-05-20T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<Discount percentage="25"/>
<Devices>
<Device type="mobile"/>
<Device type="tablet"/>
</Devices>
</Promotion>
</HotelPromotions>
</Promotions>
Trường hợp 3: Cách thay thế chương trình khuyến mãi cũ bằng chương trình khuyến mãi mới
Mô tả
Nhóm chương trình khuyến mãi hiện tại cho một cơ sở lưu trú đã cũ hoặc không chính xác và cần được thay thế bằng một nhóm hoàn toàn mới.
Giải pháp
Sử dụng thao tác overlay để thay thế chương trình khuyến mãi.
Mẫu
Ví dụ sau đây cho thấy 2 mức chiết khấu ban đầu là 20% và 30% cho cơ sở lưu trú.
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
id="123"
timestamp="2022-05-20T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<BookingDates>
<DateRange start="2022-06-01" end="2022-07-31"/>
</BookingDates>
<Discount percentage="20"/>
</Promotion>
<Promotion id="2">
<BookingDates>
<DateRange start="2022-08-01" end="2022-08-31"/>
</BookingDates>
<Discount percentage="30"/>
</Promotion>
</HotelPromotions>
</Promotions>
Sau đó, mẫu này cho thấy cách dùng overlay để thay thế 2 chương trình khuyến mãi hiện có bằng một chương trình khuyến mãi duy nhất có chiết khấu 15% cho cơ sở lưu trú.
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
id="123"
timestamp="2022-05-25T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1" action="overlay">
<Promotion id="1">
<BookingDates>
<DateRange start="2022-06-01" end="2022-07-31"/>
</BookingDates>
<Discount percentage="15"/>
</Promotion>
</HotelPromotions>
</Promotions>
Tình huống 4: Cách xoá một hoặc tất cả chương trình khuyến mãi
Mô tả
Bạn muốn xoá một hoặc tất cả chương trình khuyến mãi (không thay thế) vì cơ sở lưu trú đã xoá tất cả chương trình khuyến mãi mà không thiết lập chương trình khuyến mãi mới, hoặc bạn đã mắc lỗi và cần sửa lỗi đó.
Giải pháp
Sử dụng thao tác delete nếu bạn chỉ muốn xoá một số chương trình khuyến mãi riêng lẻ cho một cơ sở lưu trú, và sử dụng thao tác overlay (không phải delete) để xoá tất cả chương trình khuyến mãi hiện có mà không thay thế.
Để biết thông tin chi tiết về cách thay thế chương trình khuyến mãi bằng overlay, hãy xem Tình huống 3.
Mẫu
Ví dụ sau đây trình bày cách 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_x"
id="123"
timestamp="2022-05-20T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1" action="delete"/>
</HotelPromotions>
</Promotions>
Ví dụ này cho biết cách xoá tất cả chương trình khuyến mãi mà không cần thay thế cho một cơ sở lưu trú:
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
id="123"
timestamp="2022-05-20T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1" action="overlay"/>
</Promotions>
Tình huống 5: Cách kết hợp các chương trình khuyến mãi
Việc kết hợp chỉ định cách kết hợp các chương trình khuyến mãi. Nếu không được chỉ định, type được giả định là base, tức là chương trình khuyến mãi cơ bản đủ điều kiện tốt nhất sẽ được chọn và áp dụng trước, trước các chương trình khuyến mãi khác. Khi thuộc tính type của Stacking là any, bạn có thể kết hợp thuộc tính này với bất kỳ chương trình khuyến mãi nào khác.
Mô tả
Bạn muốn người dùng có thể sử dụng nhiều chương trình khuyến mãi cùng lúc cho cùng một tài sản.
Giải pháp
Sử dụng tính năng kết hợp để đặt nhiều chiết khấu cho mỗi cơ sở lưu trú. Một ngăn xếp có thể có tối đa một base và một second, nhưng có thể có vô số any; và any có thể kết hợp với các loại khác, ngoại trừ none.
Mẫu
Mẫu này cho thấy cách xếp chồng các loại Xếp chồng base, second và any. Đối với mức chiết khấu kết hợp là 15%, 25%, 10%, giá 100 USD sẽ là 57,38 USD (100 × 0,85 × 0,75 × 0,9).
<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
id="123"
timestamp="2022-05-20T16:20:00-04:00">
<HotelPromotions hotel_id="Property_1">
<Promotion id="1">
<Discount percentage="15"/>
<Stacking type="base"/>
</Promotion>
<Promotion id="2">
<Discount percentage="25"/>
<Stacking type="second"/>
</Promotion>
<Promotion id="3">
<Discount percentage="10"/>
<Stacking type="any"/>
</Promotion>
<Promotion id="4">
<Discount percentage="40"/>
<Stacking type="none"/>
</Promotion>
</HotelPromotions>
</Promotions>
Xin lưu ý rằng mức chiết khấu kết hợp cho các chương trình khuyến mãi xếp chồng 1 đến 3 sẽ tốt hơn mức chiết khấu cho chương trình khuyến mãi 4. Bạn không thể kết hợp chương trình khuyến mãi 4 với các chương trình khuyến mãi khác do loại xếp chồng của chương trình này (none). Nếu chương trình khuyến mãi 4 có mức chiết khấu từ 43% trở lên, thì chương trình này sẽ được sử dụng thay vì kết hợp chương trình khuyến mãi 1 đến 3.