Sửa đổi cước phí

Tổng quan

API này cho phép bạn xác định cách linh động áp dụng các hành động cho một mức giá bất cứ khi nào đ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 (API chương trình khuyến mãi) 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 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" encodin>g<="UTF-8"?
RateModifications partner="partner_key&quot;
                      id="message_ID"
   >   <                timestamp="timestamp"
  HotelRateM>odifi<cations hotel_id="HotelID" action="[overlay]&quo>t;
    <ItineraryRat>eModifica<tion id="ModificationID" action="[delete]&quot;
      BookingDates>
        <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD&quot; days_of_week=&q>uot;&qu<ot;MTWHFSU_or>_subset<""/
        DateRange start=&quo>t;YYYY-<MM-DD" >end="<;YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/
      />Booking<Dates
      B>ookingW<indow min=&qu>ot;intege<r" max="integer"/
      CheckinDates
        DateRange start=&quot>;YYYY-M<M-DD" end>="<YYYY-MM>-DD"< days_of_week=""MTWHFSU_or_s>ubset&q<uot;&quo>t;/
   <   /CheckinDates
      CheckoutDates
    >    Dat<eRange start="YYYY-MM-DD&quot; end=>"Y<YYY-MM-DD>" da<ys_of_week=&quot;"MTW>HFSU_or_s<ubset"&quot;/
      />Checkou<tDates
   >   Devi<ces
     >   Device< type="[desktop|ta>blet|mobi<le]"/
      /Devic>es
    <  L>engthOfStay mi<n="integer" max="i>nteger&qu<ot;/
      MinimumAmount before_discount="integer"/
      RatePlans
   >     Ra<tePlan id=>"P<ackageID_1"/
        RatePlan id=>"Pac<kageID_2"/
      /RateP>lans
  <    Roo>mTypes
       < RoomType id=">RoomID_1&<quot;/
        RoomType id=&quot;Ro>omID_2&qu<ot;/
      /RoomTypes
   >   StayDa<tes application="[all|any]&quot;
        DateRange start="YYYY-MM-DD&quot; end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_su>bset"<;"/
      /StayDates
      User>Countri<es type="[inclu>de|ex<clude]"
        Count>ry <code="country_code>&<quot;/
      /User>Countries
      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ó phần phụ trợ là 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 ID được chỉ định trong phần tử <RequestorID> của thông báo <OTA_HotelRateAmountNotifRQ><OTA_HotelAvailNotifRQ> cho cùng một tài khoản.

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. 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

Nội dung sửa đổi mức giá của 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 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 đảm bảo thứ tự cụ thể.

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 action, thì các nội dung sửa đổi trong phần tử này sẽ được thêm hoặc cập nhật cho khách sạn này. Nếu bạn chỉ định action="overlay", thì trước tiên, tất cả nội dung sửa đổi đã xác định trước đó cho khách sạn này sẽ bị xoá. Sau đó, các nội dung sửa đổi được chỉ định tại đây sẽ được ghi. Nếu bạn sử dụng action="overlay" và không chỉ định nội dung sửa đổi nào trong phần tử này, thì tất cả nội dung sửa đổi cho khách sạn này sẽ bị xoá.

RateModifications / HotelRateModifications / ItineraryRateModification 0..200 ItineraryRateModification

Một lần sửa đổi giá cho một cơ sở lưu trú.

Lưu ý: Việc sửa đổi tỷ lệ rất khó gỡ lỗi nên bạn nên sử dụng tính năng này một cách tiết kiệm. Hãy liên hệ với Giám đốc Quản lý Khách hàng về Kỹ thuật (TAM) đối với các trường hợp sử dụng yêu cầu sửa đổi hơn 200 mức 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ự 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ữ nội dung sửa đổi giá có cùng id, thì nội dung sửa đổi giá này sẽ được lưu trữ. Nếu bạn không chỉ định và có lưu trữ một nội dung sửa đổi giá có cùng id, thì nội dung sửa đổi giá hiện tại sẽ được cập nhật.

Nếu được chỉ định, giá trị phải là "delete". Nếu bạn chỉ định "delete", thì nội dung sửa đổi giá được lưu trữ có cùng id sẽ bị xoá. Khi sử dụng "delete", không dùng thêm bất kỳ phần tử con nào trong <ItineraryRateModification>. Ngoài ra, không được phép sử dụng "delete" kết hợp với <HotelRateModifications action="overlay"/>.

RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates 0..1 BookingDates Phạm vi ngày 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 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 (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 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" 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ệ là:

  • M đại diện cho thứ Hai
  • T đại diện cho thứ Ba
  • W đại diện cho thứ Tư
  • H đại diện cho thứ Năm
  • F đại diện cho thứ Sáu
  • S đại diện cho thứ Bảy
  • U đại diện cho Chủ Nhật

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 giá sửa đổi. 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 giá sửa đổi. 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 mức giá sửa đổi. 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 nội dung sửa đổi 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 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" 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ệ là:

  • M đại diện cho thứ Hai
  • T đại diện cho thứ Ba
  • W đại diện cho thứ Tư
  • H đại diện cho thứ Năm
  • F đại diện cho thứ Sáu
  • S đại diện cho thứ Bảy
  • U đại diện cho Chủ Nhật

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á. 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 nội dung sửa đổi 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 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" 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ệ là:

  • M đại diện cho thứ Hai
  • T đại diện cho thứ Ba
  • W đại diện cho thứ Tư
  • H đại diện cho thứ Năm
  • F đại diện cho thứ Sáu
  • S đại diện cho thứ Bảy
  • U đại diện cho Chủ Nhật

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 để sửa đổi giá. Nếu bạn chỉ định giá trị này, thì việc 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 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 được áp dụng cho mức giá nếu đáp ứng tất cả điều kiện được chỉ định.

RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / PriceAdjustment 0..1 PriceAdjustment Sửa đổi tốc độ bằng cách nhân cả AmountBeforeTaxAmountAfterTax với hệ số được chỉ định
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / PriceAdjustment / @multiplier 1 float Cả AmountBeforeTaxAmountAfterTax đề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 định nghĩa trong tệp Định nghĩa quy tắc giá. Lưu ý:
  • Giới hạn ký tự cho trường này là 40 ký tự.
  • Mỗi mức giá chỉ có thể được liên kết với một quy tắc giá.
  • Nếu có nhiều nội dung sửa đổi áp dụng một mã quy tắc giá, thì mã quy tắc giá nhỏ nhất theo thứ tự bảng chữ cái sẽ được chỉ định cho mức giá đó.
  • Nếu mã này không khớp với quy tắc giá trong tệp định nghĩa quy tắc giá, thì mã này sẽ được coi là không đủ điều kiện.
Hãy xem bài viết này để biết thông tin về các cách hiển thị nội dung trên giao diện người dùng liên quan đến mức giá ưu đãi chọn lọc.
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:

  • Thao tác sửa đổi này sẽ ghi đè toàn bộ chế độ cài đặt Hoàn tiền của mức giá đủ điều kiện, chứ không chỉ các trường đã điền sẵn.
  • Nếu bạn không thiết lập available hoặc refundable_until_days thì giá sẽ không hiển thị dưới dạng có thể hoàn lại.
  • Nếu available0 hoặc false thì các thuộc tính khác sẽ bị bỏ qua. Giá sẽ không hiển thị dưới dạng có thể hoàn lại ngay cả khi bạn đã thiết lập một trong hai hoặc cả hai thuộc tính còn lại.
  • Bạn nên đặt refundable_until_time; nếu không đặt, hệ thống sẽ sử dụng thời gian sớm nhất (nửa đêm).
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable / @available 1 boolean (Bắt buộc) Đặt là 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 là 0 hoặc false.
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_days 0..1 integer (Bắt buộc nếu availabletrue) Xác đị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 availabletrue) Chỉ đị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 là status="unavailable", mức giá sẽ được coi là không có, bất kể mức giá đó có 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ú để có thể áp dụng mức giá sửa đổi 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 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 đ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 sửa đổi giá.
RateModifications / HotelRateModifications / ItineraryRateModification / MinimumAmount / @before_discount 1 integer Giá trị mà bạn phải đạt được để đượ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á áp dụng nội dung sửa đổi giá. Nếu bạn không xác định <RatePlans>, nội dung sửa đổi giá sẽ áp dụng cho tất cả gói giá.
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans / RatePlan 1..n RatePlan Chỉ định một gói giá. Gói giá được xác định 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 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><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 việc sửa đổi giá. Nội dung sửa đổi giá sẽ áp dụng cho mỗi <RoomType> được chỉ định. Nếu bạn không xác đị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 Chỉ đị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 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à:

  • all: Áp dụng nội dung sửa đổi giá cho mỗi đêm trong hành trình nếu tất cả các ngày trong hành trình đều trùng với ngày trong thời gian lưu trú.
  • any: Áp dụng nội dung sửa đổi giá cho tất cả các đêm trong hành trình nếu có bất kỳ ngày nào trong hành trình trùng với một ngày trong khoảng thời gian lưu trú.

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 mà nội dung sửa đổi giá đượ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 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" 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ệ là:

  • M đại diện cho thứ Hai
  • T đại diện cho thứ Ba
  • W đại diện cho thứ Tư
  • H đại diện cho thứ Năm
  • F đại diện cho thứ Sáu
  • S đại diện cho thứ Bảy
  • U đại diện cho Chủ Nhật

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 ở một trong các quốc gia được chỉ định. Nếu bạn không chỉ định, thì mức 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 UserCountries.

Các giá trị hợp lệ là includeexclude.

Nếu bạn đặt UserCountries type thành include, thì việc sửa đổi giá sẽ áp dụng cho người dùng ở các quốc gia được liệt kê.

Nếu UserCountries typeexclude, thì nội dung sửa đổi giá sẽ áp dụng cho người dùng bên ngoài các quốc gia được liệt kê.

Nếu bạn không đặt UserCountries type, thì thuộc tính này sẽ được coi là include và việc sửa đổi giá sẽ áp dụng cho người dùng ở các quốc gia được liệt kê.

RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / Country 1..300 Country Chỉ định 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 theo CLDR, chẳng hạn như DE hoặc FR. Lưu ý: đố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 ký tự theo 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" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
                   id="123_abc"
                >   <timestamp="2023-05-22T16:20:00-04:00&qu>ot;
 < HotelRateModifications hotel_id>="<Property_1&q>uot;
    I<tineraryRateModification id="1"
      BookingDates
      >   DateRan<ge start="2023-07-01" end="2023>-07-31&<quot; days_of>_week=&<quot;MTWHF"/
         DateR>ange st<art="20>23-09-01&q<uot; end="2023-09-30"/
      /BookingDates
      Bookin>gWindow< min="7&>quot; m<ax="330&>quot;/
   <   CheckinDates
         DateRange start="2023-10-01" e>nd=&quo<t;2023-10-31&q>uot; da<ys_of_w>eek="<;FSU"/
      /Ch>eckinDate<s
      CheckoutDates>
      <   DateRange st<art="2023-10-08" end>="<2023-11-0>7" da<ys_of_week="F>SU"/
<      /CheckoutDat>es
    <  D>evices
       < Device t>ype="<mobile"/
    >    Device< type="tablet>"/<
      /De>vices
 <     L>engthOfStay min=<"2" max=>"14&<quot;/
      RateP>lans
  <       >RatePlan id=&q<uot;234"/
    >     Rate<Plan id="567"/
      /R>atePlan<s
      RoomTypes
  >     <  RoomType id="123&qu>ot;</
         RoomType id=>&<quot;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á của cơ sở lưu trú:

<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
                   id="123_abc"
                >   <timestamp="2023-05-22T16:20:00-04:00&qu>ot;
 < HotelRateModifications hotel_id="Property_1>&qu<ot;
    ItineraryRateMo>d<ification id=">;1" action="delete"/
  /HotelRateModifications
/RateModifications

Xoá tất cả nội dung sửa đổi giá

Ví dụ sau đây trình bày cách xoá tất cả nội dung sửa đổi giá của một cơ sở lưu trú:

<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
                   id="123_abc"
                >   <timestamp="2023-05-22T16:20:00-04:00"
  HotelRateMod>i<fications hotel_id>=&quot;Property_1" action="overlay"/
/RateModifications


Cách thay thế tất cả nội dung sửa đổi mức phí

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 giá sửa đổi mới. Khi action="overlay", tất cả các nội dung sửa đổi giá được lưu trữ sẽ bị xoá trước khi lưu trữ các nội dung sửa đổi giá được chỉ định trong thông báo hiện tại:

<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
                   id="123_abc"
                >   <timestamp="2023-05-22T16:20:00-04:00"
  HotelRateMod>ifica<tions hotel_id="Property_1&>quot; a<ction=">overlay&qu<ot;/
    ItineraryRateModification id="1&>quot;
 <     B>ookingDates
  <       DateRange st>art="<;2023-09-01" end="2023->09-30&q<uot;/
      /Booking>Dates
 <     ModificationAc<tions
        Pric>eAdjustmen<t multiplier=">;1.2&qu<ot;/
     > /Modif<icationAc>tions
    <  RoomTypes
      >   RoomTyp<e id="123&quo>t;/
   <      RoomType <id="456"/
      >/Ro<omTypes
      RatePlans>
<         RatePlan >id="234"/
         RatePlan id="567"/
      /RatePlans
    /ItineraryRateModification
  /HotelRateModifications
/RateModifications

Nhiều thao tác 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" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
                   id="123_abc"
                >   <timestamp="2023-05-22T16:20:00-04:00&qu>ot;
 < HotelRateModifications hotel_id>="<Property_1&q>uot;
    I<tineraryRateModification id="1"
    >  Booki<ngDates
     >    Dat<eRange start=">2023-01-0<1" end="2023-02-28">;/
      </BookingDates
      ModificationActions
        PriceAdjustment multiplier=".95"/
        Refundable available=">true&qu<ot;
                >    r<efundable_until_days=">;1&<quot;
                 > <  refundabl>e_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" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
                   id="123_abc"
                >   <timestamp="2023-05-22T16:20:00-04:00&qu>ot;
 < HotelRateModifications hotel_id>="<Property_>1"
  <  ItineraryRate>Modification i<d="1&>quot;
 <     RatePlans
         Rate>Plan id=&<quot;jp_only">/
     < /RatePlans
  >    Use<rCountries type=&qu>ot;exclud<e"
        Country code=">;JP&quo<t;/
      /UserCount>ries
<      ModificationActions
>   <     Availability statu>s<="unavailable>&quot;/
      /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" encodin>g<="UTF-8"?
RateModificationsResponse timestamp="timestamp&quot;
                    id="message_ID"
 >   <                partner="partner_key"
  >!--< Either >Suc<cess o>r Iss<ues will be populated. --
  Success/
  Issu><es
>    Issue code=&q<uot;><issue_>cod<e"> <status="issue_type&qu>ot;varissue_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ượt xử lý hỏng nào.

Mỗi thông báo có <Success> hoặc <Issues>.

RateModificationsResponse / Issues 0..1 Issues Vùng chứa một hoặc nhiều lỗi gặp phải trong quá trình xử lý thông báo RateModifications.

Mỗi thông báo có <Success> hoặc <Issues>.

RateModificationsResponse / Issues / Issue 1..n Issue Thông tin mô tả về cảnh báo, lỗi hoặc lượt xử lý hỏng 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 vấn đề 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à warning, errorfailure.

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" encodin>g<="UTF-8"?
RateModificationsResponse timestamp="2023-05-22T16:20:00-04:00"
                    id="12345678"
 >   <        > <       partner=&quo>t;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" encodin>g<="UTF-8"?
RateModificationsResponse timestamp="2023-05-22T16:20:00-04:00"
                    id="12345678"
 >   <      >     <     partner="partne>r_key"
  <Issues>
  <  Issue <code="1001" stat>us="error"Example/Issue
  /Issues
/RateModificationsResponse