Tổng quan
API này cho phép bạn xác định các cách để linh động áp dụng các thao tác đối với giá bất cứ khi nào đáp ứng các điều kiện, chẳng hạn như điều chỉnh giá hoặc bật tính năng hoàn tiền. Không giống như Advertising API, chỉ có thể áp dụng các chương trình khuyến mãi đủ điều kiện với mức chiết khấu cao 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 | Nội dung mô tả |
---|---|---|---|
RateModifications | 1 | Complex element | Thành phần gốc của thông báo về việc 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ị 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ó 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ị thuộc tính |
RateModifications / @id | 1 | string | Giá trị nhận dạng duy nhất của 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 là a-z, A-Z, 0-9, _ (dấu gạch dưới) và - (dấu gạch ngang). |
RateModifications / @timestamp | 1 | DateTime | Ngày và giờ tạo thông báo này. |
RateModifications / HotelRateModifications | 0..n | HotelRateModifications | Sửa đổi giá cho một cơ sở lưu trú. Mỗi lần sửa đổi giá sẽ á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 đều được áp dụng. Chúng tôi không đảm bảo thứ tự cụ thể nà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 lần sửa đổi giá cho một cơ sở lưu trú. Lưu ý: Rất khó để gỡ lỗi nội dung sửa đổi giá, vì vậy, bạn nên hạn chế dùng nội dung sửa đổi này. Hãy liên hệ với Nhà quản lý tài khoản hỗ trợ kỹ thuật (TAM) của bạn trong những trường hợp sử dụng cần hơn 200 lần sửa đổi giá. |
RateModifications / HotelRateModifications / ItineraryRateModification / @id | 1 | string | Giá trị nhận dạng duy nhất của nội dung sửa đổi giá. 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). |
RateModifications / HotelRateModifications / ItineraryRateModification / @action | 0..1 | enum | Nếu bạn không chỉ định và hệ thống không lưu trữ nội dung sửa đổi giá phòng 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 giúp xác định thời điểm phải đặt phòng để áp dụng nội dung sửa đổi giá. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange | 1..99 | DateRange | Phạm vi ngày xác định thời điểm bắt buộc phải đặt phòng để áp dụng nội dung sửa đổi giá. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @start | 0..1 | Date | Ngày bắt đầu (bao gồm cả 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 giống với ngày end . Nếu bạn không chỉ định start , thì phạm vi ngày sẽ không 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 (dựa trên 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 chỉ định end , thì 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 chỉ định, tất cả các ngày đều được phép sử dụng trong phạm vi ngày. Mỗi ký tự trong chuỗi chỉ định một ngày. Ví dụ: "MTWHF" cho biết rằng các ngày trong tuần được phép sử dụng trong phạm vi ngày. Ký tự hợp lệ 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 ứng với ngày nhận phòng (dựa trên múi giờ của cơ sở lưu trú của cơ sở lưu trú). Ví dụ: bạn 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 để á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ó giới hạn 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 để á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ó 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 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á. Bạn không bắt buộc phải sử dụng phần tử này nếu muốn xoá một hoặc nhiều nội dung sửa đổi giá. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @start | 0..1 | Date | Ngày bắt đầu (bao gồm cả 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 giống với ngày end . Nếu bạn không chỉ định start , thì phạm vi ngày sẽ không 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 (dựa trên 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 chỉ định end , thì 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 chỉ định, tất cả các ngày đều được phép sử dụng trong phạm vi ngày. Mỗi ký tự trong chuỗi chỉ định một ngày. Ví dụ: "MTWHF" cho biết rằng các ngày trong tuần được phép sử dụng trong phạm vi ngày. Ký tự hợp lệ 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 nội dung sửa đổi 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á. Bạn không bắt buộc phải sử dụng phần tử này nếu muốn xoá một hoặc nhiều nội dung sửa đổi giá. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @start | 0..1 | Date | Ngày bắt đầu (bao gồm cả 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 giống với ngày end . Nếu bạn không chỉ định start , thì phạm vi ngày sẽ không 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 (dựa trên 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 chỉ định end , thì 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 chỉ định, tất cả các ngày đều được phép sử dụng trong phạm vi ngày. Mỗi ký tự trong chuỗi chỉ định một ngày. Ví dụ: "MTWHF" cho biết rằng các ngày trong tuần được phép sử dụng trong phạm vi ngày. Ký tự hợp lệ là:
Mọi tổ hợp ký tự đều hợp lệ. |
RateModifications / HotelRateModifications / ItineraryRateModification / Devices | 0..1 | Devices | Vùng chứa để liệt kê các thiết bị của người dùng đủ điều kiện để sửa đổi giá. Nếu được chỉ định, 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ị trong danh sách. Nếu bạn không chỉ định thì chính sách này không hạn chế việc áp dụng nội dung sửa đổi 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 để 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) hành động áp dụng cho giá nếu đáp ứng tất cả các điều kiện đã chỉ định. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / PriceAdjustment | 0..1 | PriceAdjustment | Sửa đổi tỷ lệ bằng cách nhân cả AmountBeforeTax và AmountAfterTax với hệ số đã 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 mức giá bằng cách áp dụng mã quy tắc giá đã chỉ định cho mức giá đó. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / RateRule / @id | 1 | string | Mã này so khớp một mức 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 | Thay thế khả năng được hoàn tiền của giá đối với giá trị đã chỉ định.
Khi thiết lập các thuộc tính này, 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 giá cho phép hoàn tiền toàn bộ; nếu không, hãy đặt 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à một số nguyên từ 0 đến 330. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable / @refundable_until_time | 0..1 | Time | (Nên dùng nếu available là true ) Chỉ định thời gian gần nhất trong ngày theo giờ địa phương của khách sạn mà yêu cầu hoàn tiền toàn bộ 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 để chỉ định, ví dụ: "được hoàn tiền đến 4:00 chiều hai ngày trước khi nhận phòng". Nếu bạn không đặt refundable_until_time , giá trị mặc định là nửa đêm. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Availability | 0..1 | Availability | Ghi đè tình trạng phòng của mức giá thành giá trị đã chỉ định.
Chúng tôi chỉ hỗ trợ đặt mức giá thành unavailable . |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Availability / @status | 1 | enum | Nếu status="unavailable" , giá được coi là không có, bất kể có giá hợp lệ cho giá đó hay không. |
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay | 0..1 | LengthOfStay | Xác định giới hạn của thời gian lưu trú để có thể áp dụng nội dung sửa đổi giá này. Nội dung sửa đổi giá không á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 được phép trong thời gian lưu trú để á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ó giới hạn tối thiểu. |
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay / @max | 0..1 | integer | Số đêm tối đa được phép trong thời gian lưu trú để á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ó giới hạn tối đa. |
RateModifications / HotelRateModifications / ItineraryRateModification / MinimumAmount | 0..1 | MinimumAmount | Xác định tổng tối thiểu của các giá phòng hằng ngày (sử dụng giá trị lớn hơn là AmountBeforeTax hoặc AmountAfterTax ) mà phải vượt quá để áp dụng nội dung sửa đổi giá. |
RateModifications / HotelRateModifications / ItineraryRateModification / MinimumAmount / @before_discount | 1 | integer | Giá trị phải vượt quá để áp dụng nội dung sửa đổi giá. |
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans | 0..1 | RatePlans | Vùng chứa danh sách các gói giá áp dụng nội dung sửa đổi giá. Nếu bạn không chỉ định <RatePlans> , nội dung sửa đổi giá sẽ áp dụng cho mọi gói giá. |
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans / RatePlan | 1..n | RatePlan | Xác định một gói giá. Gói giá được xác định là tổng hợp các gói, giá và tình trạng phòng, như được xác định trong các thông báo Giao dịch (Dữ liệu cơ sở lưu trú), OTA_HotelRateAmountNotifRQ cũng như OTA_HotelAvailNotifRQ, đồng thời được xác định bằng PackageID. |
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans / RatePlan / @id | 1 | string | Giá trị nhận dạng duy nhất của gói giá. Giá trị này tương ứng 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 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 là 50. |
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes | 0..1 | RoomTypes | Vùng chứa danh sách các loại phòng áp dụng nội dung sửa đổi giá.
Mức sửa đổi giá được áp dụng cho mỗi <RoomType>
được chỉ định. Nếu bạn không chỉ định <RoomTypes> , 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ơ sở lưu trú) và được tham chiếu bằng giá trị <RoomID> . (Giá trị <RoomID> cũng đượ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 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ư để điều chỉnh 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à:
Thuộc tính này phải luôn được chỉ định. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange | 1..99 | DateRange | Phạm vi ngày xác định những ngày sẽ áp dụng nội dung sửa đổi giá. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @start | 0..1 | Date | Ngày bắt đầu (bao gồm cả 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 giống với ngày end . Nếu bạn không chỉ định start , thì phạm vi ngày sẽ không 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 (dựa trên 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 chỉ định end , thì 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 chỉ định, tất cả các ngày đều được phép sử dụng trong phạm vi ngày. Mỗi ký tự trong chuỗi chỉ định một ngày. Ví dụ: "MTWHF" cho biết rằng các ngày trong tuần được phép sử dụng trong phạm vi ngày. Ký tự hợp lệ là:
Mọi tổ hợp ký tự đều hợp lệ. |
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries | 0..1 | UserCountries | Nếu được chỉ định, việc sửa đổi giá chỉ được áp dụng nếu người dùng ở tại một trong những quốc gia được chỉ định. Nếu bạn không chỉ định, nội dung sửa đổi 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 thông số kỹ thuật của UserCountry.
Các giá trị hợp lệ là Nếu bạn đặt Nếu Nếu bạn không đặt |
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / Country | 1..300 | Country | Chỉ định một quốc gia của người dùng được phép sửa đổi giá. |
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / Country / @code | 1 | string | Mã quốc gia 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 cho thấ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 giá
Ví dụ sau đây trình bày cách xoá một nội dung sửa đổi giá cho 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">
<ItineraryRateModification id="1" action="delete"/>
</HotelRateModifications>
</RateModifications>
Xoá tất cả nội dung sửa đổi giá
Ví dụ sau đây cho thấy cách xoá tất cả các nội dung sửa đổi giá cho 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>
Lớp phủ tất cả nội dung sửa đổi giá
Ví dụ sau đây cho thấy cách phủ <HotelRateModifications>
cho
cơ sở lưu trú có một hoặc nhiều nội dung sửa đổi giá mới. Khi action="overlay"
, mọi nội dung sửa đổi giá đã lưu trữ sẽ bị xoá trước khi lưu trữ nội dung sửa đổi tốc độ đượ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 thao tác sửa đổi
Ví dụ sau đây cho biết 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 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 gói giá chỉ 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 | Nội dung mô tả |
---|---|---|---|
RateModifications | 1 | Complex element | Phần tử gốc cho biết thông báo yêu cầu RateChanges nhận được đã thành công hay gặp vấn đề. |
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 trong thông báo RateChanges có liên quan. |
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 RateChanges đã được xử lý thành công mà không có cảnh báo, lỗi hoặc xử lý hỏng.
|
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 RateChanges.
|
RateModificationsResponse / Issues / Issue | 1..n | Issue | Nội dung mô tả về cảnh báo, lỗi hoặc lỗi gặp phải trong quá trình xử lý thông báo RateChanges. Bạn có thể xem thông tin chi tiết về các vấn đề này trong bài viết 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 sự cố đã 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 RateModify đã đượ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 một thông báo Rate Changes (Chỉnh sửa giá) không được xử lý do có 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>