Tổng quan
API này cho phép bạn xác định các cách để áp dụng linh hoạt các hành động cho một mức giá bất cứ khi nào các điều kiện được đáp ứng, chẳng hạn như điều chỉnh giá hoặc cho phép hoàn tiền. Không giống như Promotions API (chỉ có thể áp dụng các chương trình khuyến mãi đủ điều kiện có mức chiết khấu sâu nhất), API này áp dụng mọi hành động khi đáp ứng một số điều kiện nhất định, bao gồm cả việc điều chỉnh giá có thể làm tăng giá cuối cùng.
Yêu cầu
Cú pháp
Thông báo RateModifications sử dụng cú pháp sau:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="partner_key"
id="message_ID"
timestamp="timestamp">
<HotelRateModifications hotel_id="HotelID" action="[overlay]">
<ItineraryRateModification id="ModificationID" action="[delete]">
<BookingDates>
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/>
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/>
</BookingDates>
<BookingWindow min="integer" max="integer"/>
<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>
<Devices>
<Device type="[desktop|tablet|mobile]"/>
</Devices>
<LengthOfStay min="integer" max="integer"/>
<MinimumAmount before_discount="integer"/>
<RatePlans>
<RatePlan id="PackageID_1"/>
<RatePlan id="PackageID_2"/>
</RatePlans>
<RoomTypes>
<RoomType id="RoomID_1"/>
<RoomType id="RoomID_2"/>
</RoomTypes>
<StayDates application="[all|any]">
<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>
<ModificationActions>
<PriceAdjustment multiplier="float"/>
<RateRule id="RateRuleID"/>
<Refundable available="[false|true]"
refundable_until_days="number_of_days"
refundable_until_time="time"/>
<Availability status="[unavailable]"/>
</ModificationActions>
</ItineraryRateModification>
</HotelRateModifications>
</RateModifications>
Phần tử và thuộc tính
Thông báo RateModifications có các phần tử và thuộc tính sau:
| Phần tử / @Thuộc tính | Số lần xuất hiện | Loại | Mô tả |
|---|---|---|---|
| RateModifications | 1 | Complex element | Phần tử gốc của thông báo sửa đổi giá. |
| RateModifications / @partner | 1 | string | Tài khoản đối tác dùng cho thông báo 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.
Lưu ý: Nếu bạn có một 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 giá trị của thuộc tính |
| RateModifications / @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. Các 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). |
| RateModifications / @timestamp | 1 | DateTime | Ngày và giờ tạo thông báo này. |
| RateModifications / HotelRateModifications | 0..n | HotelRateModifications | Các mức điều chỉnh giá cho một cơ sở lưu trú. Mỗi mức điều chỉnh giá áp dụng cho một cơ sở lưu trú. Lưu ý: Nếu bạn có thể áp dụng nhiều nội dung sửa đổi giá cho cùng một mức giá, thì tất cả nội dung sửa đổi sẽ được áp dụng. Không có thứ tự cụ thể nào được đảm bảo. |
| RateModifications / HotelRateModifications / @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 phần tử
<id> trong phần tử <listing> của 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. |
| RateModifications / HotelRateModifications / @action | 0..1 | enum | Nếu bạn không chỉ định |
| RateModifications / HotelRateModifications / ItineraryRateModification | 0..200 | ItineraryRateModification | Một mức điều chỉnh giá duy nhất cho một cơ sở lưu trú. Lưu ý:Rất khó gỡ lỗi các điểm điều chỉnh tỷ lệ và bạn nên hạn chế sử dụng các điểm này. Hãy liên hệ với Giám đốc Quản lý Khách hàng về Kỹ thuật (TAM) để biết các trường hợp sử dụng cần có hơn 200 điểm điều chỉnh giá. |
| RateModifications / HotelRateModifications / ItineraryRateModification / @id | 1 | string | Giá trị nhận dạng riêng biệt của mức sửa đổi giá. Số lượng ký tự tối đa được phép là 40. Các ký tự hợp lệ là a – z, A – Z, 0 – 9, _ (dấu gạch dưới), - (dấu gạch nối) và . (dấu chấm). |
| RateModifications / HotelRateModifications / ItineraryRateModification / @action | 0..1 | enum | Nếu bạn không chỉ định và không lưu trữ một mức điều chỉnh giá có cùng Nếu được chỉ định, giá trị phải là |
| RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates | 0..1 | BookingDates | Vùng chứa một hoặc nhiều phạm vi ngày dùng để xác định thời điểm cần phải đặt phòng để áp dụng mức điều chỉnh giá. |
| RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange | 1..99 | DateRange | Phạm vi ngày xác định thời điểm phải đặt phòng để áp dụng mức điều chỉnh giá. |
| RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @start | 0..1 | Date | Ngày bắt đầu (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ước hoặc trùng với ngày end. Nếu bạn không xác định start, phạm vi ngày sẽ không có giới hạn vì không có ngày bắt đầu. |
| RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @end | 0..1 | Date | 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 start. 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. |
| RateModifications / HotelRateModifications / ItineraryRateModification / 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 bạn không xác đị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" cho biết là được phép sử dụng các ngày làm việc trong tuần trong phạm vi ngày. Các ký tự hợp lệ:
Mọi tổ hợp ký tự đều hợp lệ. |
| RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow | 0..1 | BookingWindow | Xác định khoảng thời gian tương đối phải đặt phòng so với ngày nhận phòng (sử dụng múi giờ của cơ sở lưu trú). Ví dụ: có thể đặt thời hạn đặt phòng là ít nhất 7 ngày, nhưng không quá 180 ngày, trước ngày nhận phòng. |
| RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow / @min | 0..1 | integer | Số ngày tối thiểu phải đặt phòng trước ngày nhận phòng để được áp dụng mức điều chỉnh giá. Nếu bạn không xác định giá trị này, thì sẽ không có số đêm tối thiểu. |
| RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow / @max | 0..1 | integer | Số ngày tối đa phải đặt phòng trước ngày nhận phòng để được áp dụng mức điều chỉnh giá. Nếu bạn không xác định giá trị này, thì sẽ không có giới hạn tối đa. |
| RateModifications / HotelRateModifications / ItineraryRateModification / 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 để áp dụng nội dung sửa đổi về giá. |
| RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange | 1..99 | DateRange | Phạm vi ngày xác định thời điểm phải nhận phòng để áp dụng nội dung sửa đổi giá. Không bắt buộc phải sử dụng phần tử này nếu bạn đang xoá một hoặc nhiều mức điều chỉnh giá. |
| RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @start | 0..1 | Date | Ngày bắt đầu (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ước hoặc trùng với ngày end. Nếu bạn không xác định start, phạm vi ngày sẽ không có giới hạn vì không có ngày bắt đầu. |
| RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @end | 0..1 | Date | 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 start. 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. |
| RateModifications / HotelRateModifications / ItineraryRateModification / 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 xác đị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" cho biết là được phép sử dụng các ngày làm việc trong tuần trong phạm vi ngày. Các ký tự hợp lệ:
Mọi tổ hợp ký tự đều hợp lệ. |
| RateModifications / HotelRateModifications / ItineraryRateModification / 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 để áp dụng mức điều chỉnh giá. |
| RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange | 1..99 | DateRange | Phạm vi ngày xác định thời điểm phải trả phòng để áp dụng nội dung sửa đổi giá. Không bắt buộc phải sử dụng phần tử này nếu bạn đang xoá một hoặc nhiều mức điều chỉnh giá. |
| RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @start | 0..1 | Date | Ngày bắt đầu (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ước hoặc trùng với ngày end. Nếu bạn không xác định start, phạm vi ngày sẽ không có giới hạn vì không có ngày bắt đầu. |
| RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @end | 0..1 | Date | 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 start. 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. |
| RateModifications / HotelRateModifications / ItineraryRateModification / 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 xác đị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" cho biết là được phép sử dụng các ngày làm việc trong tuần trong phạm vi ngày. Các ký tự hợp lệ:
Mọi tổ hợp ký tự đều hợp lệ. |
| RateModifications / HotelRateModifications / ItineraryRateModification / Devices | 0..1 | Devices | Vùng chứa dùng để liệt kê các thiết bị của người dùng đủ điều kiện hưởng mức điều chỉnh giá. Nếu bạn chỉ định giá trị này, thì nội dung sửa đổi giá chỉ được áp dụng nếu người dùng khớp với một trong các thiết bị được liệt kê. Nếu bạn không chỉ định, thì điều này sẽ không hạn chế việc áp dụng mức điều chỉnh giá. |
| RateModifications / HotelRateModifications / ItineraryRateModification / 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 sửa đổi giá. |
| RateModifications / HotelRateModifications / ItineraryRateModification / Devices / Device / @type | 1 | enum | Một loại thiết bị. Giá trị phải là desktop, tablet hoặc mobile. |
| RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions | 1 | ModificationActions | (Các) thao tác được áp dụng cho mức giá nếu tất cả các điều kiện được chỉ định đều được đáp ứng. |
| RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / PriceAdjustment | 0..1 | PriceAdjustment | Sửa đổi tốc độ bằng cách nhân cả AmountBeforeTax và AmountAfterTax với hệ số nhân đã chỉ định |
| RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / PriceAdjustment / @multiplier | 1 | float | Cả AmountBeforeTax và AmountAfterTax đều được nhân với giá trị này. |
| RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / RateRule | 0..1 | RateRule | Sửa đổi giá bằng cách áp dụng mã quy tắc giá đã chỉ định cho giá đó. |
| RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / RateRule / @id | 1 | string | Mã này so khớp giá với một định nghĩa trong tệp Định nghĩa quy tắc giá.
Lưu ý:
|
| RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable | 0..1 | Refundable | Ghi đè khả năng hoàn tiền của mức giá thành giá trị được chỉ định.
Khi bạn thiết lập thuộc tính, hãy lưu ý những điều sau:
|
| RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable / @available | 1 | boolean | (Bắt buộc) Đặt thành 1 hoặc true để cho biết rằng bạn cho phép hoàn tiền toàn bộ; nếu không, hãy thiết lập thành 0 hoặc false. |
| Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_days | 0..1 | integer | (Bắt buộc nếu available là true) Chỉ định số ngày trước khi nhận phòng mà người dùng có thể yêu cầu hoàn tiền toàn bộ. Giá trị của refundable_until_days phải là số nguyên từ 0 đến 330. |
| RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable / @refundable_until_time | 0..1 | Time | (Nên áp dụng nếu available là true) Xác định thời gian mới nhất trong ngày theo giờ địa phương của khách sạn mà tại thời điểm đó, yêu cầu hoàn tiền đầy đủ sẽ được chấp nhận. Bạn có thể kết hợp thuộc tính này với refundable_until_days để xác định. Ví dụ: "được phép hoàn tiền đến 4 giờ chiều hai ngày trước khi nhận phòng". Nếu bạn không đặt refundable_until_time thì giá trị mặc định là nửa đêm. |
| RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Availability | 0..1 | Availability | Ghi đè tình trạng còn phòng của mức giá thành giá trị được chỉ định.
Chúng tôi chỉ hỗ trợ việc đặt tốc độ thành unavailable. |
| RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Availability / @status | 1 | enum | Nếu status="unavailable", thì hệ thống sẽ coi tỷ lệ này như thể không có, bất kể có giá hợp lệ hay không. |
| RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay | 0..1 | LengthOfStay | Xác định giới hạn thời gian lưu trú mà bạn có thể áp dụng mức điều chỉnh giá này. Nội dung sửa đổi giá sẽ không được áp dụng nếu thời gian lưu trú nằm ngoài giới hạn tối thiểu và giới hạn tối đa. |
| RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay / @min | 0..1 | integer | Số đêm tối thiểu trong thời gian lưu trú được phép áp dụng nội dung sửa đổi giá. Nếu bạn không xác định giá trị này, thì sẽ không có số đêm tối thiểu. |
| RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay / @max | 0..1 | integer | Số đêm tối đa trong thời gian lưu trú được phép áp dụng mức điều chỉnh giá. Nếu bạn không xác định giá trị này, thì sẽ không có giới hạn tối đa. |
| RateModifications / HotelRateModifications / ItineraryRateModification / 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 áp dụng mức điều chỉnh giá. |
| RateModifications / HotelRateModifications / ItineraryRateModification / MinimumAmount / @before_discount | 1 | integer | Bạn phải đạt giá trị cao hơn giá trị này để được áp dụng mức sửa đổi giá. |
| RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans | 0..1 | RatePlans | Vùng chứa danh sách các gói giá mà mức điều chỉnh giá áp dụng. Nếu bạn không chỉ định <RatePlans>, thì mức điều chỉnh giá sẽ áp dụng cho tất cả các gói giá. |
| RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans / RatePlan | 1..n | RatePlan | Xác định một gói giá. Gói giá được định nghĩa là tổng hợp gói dịch vụ, giá và tình trạng phòng, theo cách xác định trong các thông báo Giao dịch (Dữ liệu của cơ sở lưu trú), OTA_HotelRateAmountNotifRQ và OTA_HotelAvailNotifRQ, đồng thời gói giá còn được xác định bằng PackageID. |
| RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans / RatePlan / @id | 1 | string | Giá trị nhận dạng riêng biệt của gói giá. Giá trị này tương ứng với giá trị PackageID trong <PackageData> trong một thông báo Giao dịch (Dữ liệu của cơ sở lưu trú) và trong thuộc tính RatePlanCode của <StatusApplicationControl> trong cả thông báo <OTA_HotelRateAmountNotifRQ> và <OTA_HotelAvailNotifRQ>.
Số lượng ký tự tối đa được phép sử dụng là 50. |
| RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes | 0..1 | RoomTypes | Vùng chứa danh sách các loại phòng mà nội dung sửa đổi giá áp dụng.
Nội dung sửa đổi giá sẽ áp dụng cho mỗi <RoomType> được xác định. Nếu bạn không xác định <RoomTypes>, thì nội dung sửa đổi giá sẽ áp dụng cho tất cả các phòng. |
| RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes / RoomType | 1..n | RoomType | Xác định một loại phòng. Loại phòng được xác định trong phần tử <RoomData> của thông báo Giao dịch (Dữ liệu của cơ sở lưu trú) và được tham chiếu bằng giá trị <RoomID>. (Giá trị <RoomID> còn được thuộc tính InvTypeCode trong các thông báo OTA_HotelRateAmountNotifRQ tham chiếu.) |
| RateModifications / HotelRateModifications / ItineraryRateModification / 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 sử dụng là 50. |
| RateModifications / HotelRateModifications / ItineraryRateModification / 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 nội dung sửa đổi giá, chẳng hạn như để phù hợp với giá theo mùa. |
| RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / @application | 1 | enum | Mô tả cách áp dụng nội dung sửa đổi giá. Các giá trị hợp lệ là:
Bạn phải luôn chỉ định thuộc tính này. |
| RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange | 1..99 | DateRange | Phạm vi ngày xác định những ngày mà nội dung sửa đổi giá sẽ được áp dụng. |
| RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @start | 0..1 | Date | Ngày bắt đầu (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ước hoặc trùng với ngày end. Nếu bạn không xác định start, phạm vi ngày sẽ không có giới hạn vì không có ngày bắt đầu. |
| RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @end | 0..1 | Date | 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 start. 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. |
| RateModifications / HotelRateModifications / ItineraryRateModification / 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 xác đị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" cho biết là được phép sử dụng các ngày làm việc trong tuần trong phạm vi ngày. Các ký tự hợp lệ:
Mọi tổ hợp ký tự đều hợp lệ. |
| RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries | 0..1 | UserCountries | Nếu được chỉ định, nội dung sửa đổi giá chỉ được áp dụng nếu người dùng ở một trong các quốc gia được chỉ định. Nếu bạn không chỉ định, thì mức điều chỉnh giá sẽ được áp dụng bất kể vị trí của người dùng. |
| RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / @type | 0..1 | enum | Loại quy cách UserCountries.
Các giá trị hợp lệ là Nếu UserCountries Nếu UserCountries Nếu bạn không đặt UserCountries |
| RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / Country | 1..300 | Country | Chỉ định quốc gia được phép của người dùng cho nội dung sửa đổi giá. |
| RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / Country / @code | 1 | string | Mã quốc gia theo CLDR, chẳng hạn như DE hoặc FR. Xin lưu ý rằng đối với một số quốc gia, mã quốc gia theo CLDR không giống với mã quốc gia gồm 2 chữ cái theo tiêu chuẩn ISO. Ngoài ra, mã vùng CLDR không được hỗ trợ. |
Ví dụ
Thông báo cơ bản
Ví dụ sau đây trình bày một thông báo RateModifications cơ bản:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1">
<ItineraryRateModification id="1">
<BookingDates>
<DateRange start="2023-07-01" end="2023-07-31" days_of_week="MTWHF"/>
<DateRange start="2023-09-01" end="2023-09-30"/>
</BookingDates>
<BookingWindow min="7" max="330"/>
<CheckinDates>
<DateRange start="2023-10-01" end="2023-10-31" days_of_week="FSU"/>
</CheckinDates>
<CheckoutDates>
<DateRange start="2023-10-08" end="2023-11-07" days_of_week="FSU"/>
</CheckoutDates>
<Devices>
<Device type="mobile"/>
<Device type="tablet"/>
</Devices>
<LengthOfStay min="2" max="14"/>
<RatePlans>
<RatePlan id="234"/>
<RatePlan id="567"/>
</RatePlans>
<RoomTypes>
<RoomType id="123"/>
<RoomType id="456"/>
</RoomTypes>
<UserCountries>
<Country code="US"/>
<Country code="GB"/>
</UserCountries>
<ModificationActions>
<PriceAdjustment multiplier="1.2"/>
</ModificationActions>
</ItineraryRateModification>
</HotelRateModifications>
</RateModifications>
Xoá một nội dung sửa đổi về giá
Ví dụ sau đây trình bày cách xoá một mức điều chỉnh giá của cơ sở lưu trú:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1">
<ItineraryRateModification id="1" action="delete"/>
</HotelRateModifications>
</RateModifications>
Xoá tất cả các thay đổi về giá
Ví dụ sau đây trình bày cách xoá tất cả các mức điều chỉnh giá của một cơ sở lưu trú:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1" action="overlay"/>
</RateModifications>
Cách thay thế tất cả mức phí sửa đổi
Ví dụ sau đây trình bày cách kết hợp <HotelRateModifications> cho cơ sở lưu trú có một hoặc nhiều mức điều chỉnh giá mới. Khi action="overlay", tất cả các mức điều chỉnh giá đã lưu trữ sẽ bị xoá trước khi lưu trữ các mức điều chỉnh giá được chỉ định trong thông báo hiện tại:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1" action="overlay"/>
<ItineraryRateModification id="1">
<BookingDates>
<DateRange start="2023-09-01" end="2023-09-30"/>
</BookingDates>
<ModificationActions>
<PriceAdjustment multiplier="1.2"/>
</ModificationActions>
<RoomTypes>
<RoomType id="123"/>
<RoomType id="456"/>
</RoomTypes>
<RatePlans>
<RatePlan id="234"/>
<RatePlan id="567"/>
</RatePlans>
</ItineraryRateModification>
</HotelRateModifications>
</RateModifications>
Nhiều hành động sửa đổi
Ví dụ sau đây cho thấy cách thực hiện nhiều thao tác sửa đổi cùng một lúc:
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1">
<ItineraryRateModification id="1">
<BookingDates>
<DateRange start="2023-01-01" end="2023-02-28"/>
</BookingDates>
<ModificationActions>
<PriceAdjustment multiplier=".95"/>
<Refundable available="true"
refundable_until_days="1"
refundable_until_time="12:00:00"/>
</ModificationActions>
</ItineraryRateModification>
</HotelRateModifications>
</RateModifications>
Tắt một gói giá cho các quốc gia của người dùng
Ví dụ sau đây cho thấy cách giới hạn một gói giá chỉ dành cho người dùng Nhật Bản (JP):
<?xml version="1.0" encoding="UTF-8"?>
<RateModifications partner="account_xyz"
id="123_abc"
timestamp="2023-05-22T16:20:00-04:00">
<HotelRateModifications hotel_id="Property_1">
<ItineraryRateModification id="1">
<RatePlans>
<RatePlan id="jp_only"/>
</RatePlans>
<UserCountries type="exclude">
<Country code="JP"/>
</UserCountries>
<ModificationActions>
<Availability status="unavailable"/>
</ModificationActions>
</ItineraryRateModification>
</HotelRateModifications>
</RateModifications>
Phản hồi
Cú pháp
Thông báo RateModificationsResponse sử dụng cú pháp sau:
<?xml version="1.0" encoding="UTF-8"?>
<RateModificationsResponse timestamp="timestamp"
id="message_ID"
partner="partner_key">
<!-- Either Success or Issues will be populated. -->
<Success/>
<Issues>
<Issue code="issue_code" status="issue_type"><var>issue_description</var></Issue>
</Issues>
</RateModificationsResponse>
Phần tử và thuộc tính
Thông báo RateModificationsResponse có các phần tử và thuộc tính sau:
| Phần tử / @Thuộc tính | Số lần xuất hiện | Loại | Mô tả |
|---|---|---|---|
| RateModifications | 1 | Complex element | Phần tử gốc cho biết thông báo yêu cầu RateModifications nhận được đã thành công hay gặp lỗi. |
| RateModificationsResponse / @timestamp | 1 | DateTime | Ngày và giờ tạo thông báo này. |
| RateModificationsResponse / @id | 1 | string | Giá trị nhận dạng duy nhất lấy từ thông báo RateModifications tương ứng. |
| RateModificationsResponse / @partner | 1 | string | Tài khoản đối tác dùng cho thông báo này. |
| RateModificationsResponse / Success | 0..1 | Success | Cho biết rằng thông báo RateModifications đã được xử lý thành công mà không có cảnh báo, lỗi hoặc lần xử lý hỏng nào.
Mỗi thông báo có |
| RateModificationsResponse / Issues | 0..1 | Issues | Vùng chứa một hoặc nhiều vấn đề gặp phải trong quá trình xử lý thông báo RateModifications.
Mỗi thông báo có |
| RateModificationsResponse / Issues / Issue | 1..n | Issue | Thông tin mô tả về cảnh báo, lỗi hoặc lần xử lý hỏng gặp phải trong quá trình xử lý thông báo RateModifications. Bạn có thể xem thông tin chi tiết về các lỗi này trong Thông báo lỗi về trạng thái của nguồn cấp dữ liệu. |
| RateModificationsResponse / Issues / Issue / @code | 1 | integer | Giá trị nhận dạng của vấn đề. |
| RateModificationsResponse / Issues / Issue / @status | 1 | enum | Loại vấ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 một thông báo RateModifications được xử lý thành công.
<?xml version="1.0" encoding="UTF-8"?>
<RateModificationsResponse timestamp="2023-05-22T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Success/>
</RateModificationsResponse>
Vấn đề
Dưới đây là phản hồi cho thông báo RateModifications không được xử lý do gặp lỗi.
<?xml version="1.0" encoding="UTF-8"?>
<RateModificationsResponse timestamp="2023-05-22T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Issues>
<Issue code="1001" status="error">Example</Issue>
</Issues>
</RateModificationsResponse>