การเปลี่ยนแปลงอัตรา

ภาพรวม

API นี้ช่วยให้คุณกำหนดวิธีใช้การดำเนินการกับราคาแบบไดนามิกเมื่อเป็นไปตามเงื่อนไข เช่น การปรับราคาหรือการเปิดใช้การคืนเงิน ซึ่งแตกต่างจาก Promotions API ที่ใช้ได้เฉพาะโปรโมชันที่มีสิทธิ์พร้อมส่วนลดสูงสุด แต่ API นี้จะดำเนินการใดๆ เมื่อเป็นไปตามเงื่อนไขบางอย่าง ซึ่งรวมถึงการปรับราคาที่อาจทำให้ราคาสุดท้ายเพิ่มขึ้น

คำขอ

ไวยากรณ์

ข้อความ RateModifications ใช้ไวยากรณ์ต่อไปนี้

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

องค์ประกอบและแอตทริบิวต์

ข้อความ RateModifications มีองค์ประกอบและแอตทริบิวต์ต่อไปนี้

องค์ประกอบ / @แอตทริบิวต์ จำนวนข้อผิดพลาด ประเภท คำอธิบาย
RateModifications 1 Complex element องค์ประกอบรูทของข้อความการปรับราคา
RateModifications / @partner 1 string บัญชีพาร์ทเนอร์สำหรับข้อความนี้ ค่าสตริงนี้คือค่า "คีย์พาร์ทเนอร์" ที่ระบุไว้ใน หน้าการตั้งค่าบัญชีใน Hotel Center

หมายเหตุ: หากมีแบ็กเอนด์ที่มีฟีดสำหรับหลายบัญชี ค่านี้จะต้องตรงกับค่าแอตทริบิวต์ ID ที่ระบุในองค์ประกอบ <RequestorID> ของข้อความ <OTA_HotelRateAmountNotifRQ> และ <OTA_HotelAvailNotifRQ> สำหรับบัญชีเดียวกัน

RateModifications / @id 1 string ตัวระบุที่ไม่ซ้ำกันสำหรับข้อความคำขอนี้ ค่านี้จะแสดงในข้อความตอบกลับ อักขระที่อนุญาตคือ a-z, A-Z, 0-9, _ (ขีดล่าง) และ - (ขีดกลาง)
RateModifications / @timestamp 1 DateTime วันที่และเวลาที่สร้างข้อความนี้
RateModifications / HotelRateModifications 0..n HotelRateModifications

การปรับราคาสำหรับที่พัก การแก้ไขราคาแต่ละรายการจะมีผลกับที่พักเดียว

หมายเหตุ: หากใช้การแก้ไขราคาหลายรายการกับราคาเดียวกันได้ ระบบจะใช้การแก้ไขทั้งหมด เราไม่รับประกันลำดับที่เจาะจง

RateModifications / HotelRateModifications / @hotel_id 1 string ตัวระบุที่ไม่ซ้ำกันของที่พัก ค่านี้ต้องตรงกับรหัสโรงแรมที่ระบุโดยใช้ <id> ในองค์ประกอบ <listing> ในฟีดข้อมูลโรงแรม นอกจากนี้ รหัสโรงแรมยังแสดงอยู่ใน Hotel Center ด้วย
RateModifications / HotelRateModifications / @action 0..1 enum

หากไม่ได้ระบุ action ระบบจะเพิ่มหรืออัปเดตการแก้ไขภายในองค์ประกอบนี้สำหรับโรงแรมนี้ หากระบุ action="overlay" ระบบจะลบการแก้ไขทั้งหมดที่กําหนดไว้ก่อนหน้านี้สําหรับโรงแรมนี้ก่อน จากนั้นระบบจะเขียนการแก้ไขที่ระบุไว้ที่นี่ หากใช้ action="overlay" และไม่ได้ระบุการแก้ไขภายในองค์ประกอบนี้ ระบบจะลบการแก้ไขทั้งหมดสำหรับโรงแรมนี้

RateModifications / HotelRateModifications / ItineraryRateModification 0..200 ItineraryRateModification

การแก้ไขราคาเดียวสำหรับที่พัก

หมายเหตุ: การแก้ไขราคานั้นแก้ไขข้อบกพร่องได้ยาก เราจึงขอแนะนำให้ใช้การแก้ไขราคาอย่างจำกัด โปรดติดต่อผู้จัดการลูกค้าด้านเทคนิค (TAM) สำหรับกรณีการใช้งานที่ต้องมีการแก้ไขราคามากกว่า 200 รายการ

RateModifications / HotelRateModifications / ItineraryRateModification / @id 1 string ตัวระบุที่ไม่ซ้ำกันสำหรับการแก้ไขราคา จำนวนอักขระสูงสุดที่อนุญาตคือ 40 ตัว อักขระที่อนุญาตคือ a-z, A-Z, 0-9, _ (ขีดล่าง), - (ขีดกลาง) และ . (เครื่องหมายจุด)
RateModifications / HotelRateModifications / ItineraryRateModification / @action 0..1 enum

หากไม่ได้ระบุและไม่มีการบันทึกการแก้ไขราคาที่มี id เดียวกัน ระบบจะบันทึกการแก้ไขราคานี้ หรือหากไม่ได้ระบุและมีการบันทึกการแก้ไขราคาที่มี id เดียวกันไว้ ระบบจะอัปเดตการแก้ไขราคาที่มีอยู่

หากระบุ ค่าต้องเป็น "delete" หากระบุ "delete" ระบบจะลบการแก้ไขราคาที่เก็บไว้ซึ่งมี id เดียวกัน เมื่อใช้ "delete" อย่าใส่องค์ประกอบย่อยใน <ItineraryRateModification> นอกจากนี้ ไม่อนุญาตให้ใช้ "delete" ร่วมกับ <HotelRateModifications action="overlay"/>

RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates 0..1 BookingDates คอนเทนเนอร์สำหรับช่วงวันที่อย่างน้อย 1 ช่วงซึ่งกำหนดเมื่อต้องทำการจองเพื่อให้การแก้ไขราคามีผล
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange 1..99 DateRange ช่วงวันที่ที่ระบุเมื่อต้องทำการจองเพื่อให้การปรับราคามีผล
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @start 0..1 Date วันที่เริ่มต้น (ตามเขตเวลาของที่พัก) ของช่วงวันที่เข้าพัก โดยนับรวมวันที่ดังกล่าวด้วย วันที่นี้ต้องเป็นวันที่ก่อนหน้าหรือวันที่เดียวกับ end หากไม่มีการระบุ start ระบบจะถือว่าช่วงวันที่ดังกล่าวไม่มีขอบเขตวันที่เริ่มต้น
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @end 0..1 Date วันที่สิ้นสุด (ตามเขตเวลาของที่พัก) ของช่วงวันที่เข้าพัก โดยนับรวมวันที่ดังกล่าวด้วย วันที่นี้ต้องเป็นวันที่เดียวกันหรือหลังจาก start หากไม่มีการระบุ end ระบบจะถือว่าช่วงวันที่ดังกล่าวไม่มีขอบเขตวันที่สิ้นสุด
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @days_of_week 0..1 string

วันของสัปดาห์ที่อนุญาตให้ใช้ในช่วงวันที่ หากไม่มีการระบุ ระบบจะอนุญาตให้ใช้ทุกวันในช่วงวันที่ อักขระแต่ละตัวในสตริงจะระบุวัน เช่น "MTWHF" เป็นการระบุว่าระบบอนุญาตให้ใช้วันธรรมดาในช่วงวันที่

อักขระที่ใช้ได้มีดังนี้

  • M สำหรับวันจันทร์
  • T สำหรับวันอังคาร
  • W สำหรับวันพุธ
  • H สำหรับวันพฤหัสบดี
  • F สำหรับวันศุกร์
  • S สำหรับวันเสาร์
  • U สำหรับวันอาทิตย์

คุณจะระบุชุดค่าผสมของอักขระแบบใดก็ได้

RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow 0..1 BookingWindow ระบุระยะเวลาที่ทำการจองได้ซึ่งสัมพันธ์กับวันที่เช็คอิน (ตามเขตเวลาของที่พัก) ตัวอย่างเช่น คุณสามารถตั้งค่ากรอบเวลาการจองล่วงหน้าก่อนเช็คอินเป็นอย่างน้อย 7 วัน แต่ไม่เกิน 180 วัน
RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow / @min 0..1 integer จำนวนวันขั้นต่ำก่อนถึงวันที่เช็คอินที่ต้องมีการจองเพื่อให้การแก้ไขราคามีผล หากไม่ได้ระบุ จะถือว่าไม่มีจำนวนขั้นต่ำ
RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow / @max 0..1 integer จำนวนวันสูงสุดก่อนถึงวันเช็คอินที่ต้องมีการจองเพื่อให้การแก้ไขราคามีผล หากไม่ได้ระบุ จะถือว่าไม่มีจำนวนสูงสุด
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates 0..1 CheckinDates คอนเทนเนอร์สำหรับช่วงวันที่อย่างน้อย 1 ช่วงซึ่งกำหนดเมื่อต้องเลือกวันเช็คอินเพื่อให้การแก้ไขราคามีผล
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange 1..99 DateRange ช่วงวันที่ที่ระบุเมื่อต้องเลือกวันเช็คอินเพื่อให้การแก้ไขราคามีผล คุณไม่จำเป็นต้องระบุองค์ประกอบนี้หากต้องการลบการแก้ไขราคาอย่างน้อย 1 รายการ
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @start 0..1 Date วันที่เริ่มต้น (ตามเขตเวลาของที่พัก) ของช่วงวันที่เข้าพัก โดยนับรวมวันที่ดังกล่าวด้วย วันที่นี้ต้องเป็นวันที่ก่อนหน้าหรือวันที่เดียวกับ end หากไม่มีการระบุ start ระบบจะถือว่าช่วงวันที่ดังกล่าวไม่มีขอบเขตวันที่เริ่มต้น
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @end 0..1 Date วันที่สิ้นสุด (ตามเขตเวลาของที่พัก) ของช่วงวันที่เข้าพัก โดยนับรวมวันที่ดังกล่าวด้วย วันที่นี้ต้องเป็นวันที่เดียวกันหรือหลังจาก start หากไม่มีการระบุ end ระบบจะถือว่าช่วงวันที่ดังกล่าวไม่มีขอบเขตวันที่สิ้นสุด
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @days_of_week 0..1 string

วันของสัปดาห์ที่อนุญาตให้ใช้ในช่วงวันที่ หากไม่มีการระบุ ระบบจะอนุญาตให้ใช้ทุกวันในช่วงวันที่ อักขระแต่ละตัวในสตริงจะระบุวัน เช่น "MTWHF" เป็นการระบุว่าระบบอนุญาตให้ใช้วันธรรมดาในช่วงวันที่

อักขระที่ใช้ได้มีดังนี้

  • M สำหรับวันจันทร์
  • T สำหรับวันอังคาร
  • W สำหรับวันพุธ
  • H สำหรับวันพฤหัสบดี
  • F สำหรับวันศุกร์
  • S สำหรับวันเสาร์
  • U สำหรับวันอาทิตย์

คุณจะระบุชุดค่าผสมของอักขระแบบใดก็ได้

RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates 0..1 CheckoutDates คอนเทนเนอร์สำหรับช่วงวันที่อย่างน้อย 1 ช่วงซึ่งกำหนดเมื่อต้องเลือกวันเช็คเอาต์เพื่อให้การแก้ไขราคามีผล
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange 1..99 DateRange ช่วงวันที่ที่ระบุเมื่อต้องเลือกวันเช็คเอาต์เพื่อให้การปรับราคามีผล คุณไม่จำเป็นต้องระบุองค์ประกอบนี้หากต้องการลบการแก้ไขราคาอย่างน้อย 1 รายการ
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @start 0..1 Date วันที่เริ่มต้น (ตามเขตเวลาของที่พัก) ของช่วงวันที่เข้าพัก โดยนับรวมวันที่ดังกล่าวด้วย วันที่นี้ต้องเป็นวันที่ก่อนหน้าหรือวันที่เดียวกับ end หากไม่มีการระบุ start ระบบจะถือว่าช่วงวันที่ดังกล่าวไม่มีขอบเขตวันที่เริ่มต้น
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @end 0..1 Date วันที่สิ้นสุด (ตามเขตเวลาของที่พัก) ของช่วงวันที่เข้าพัก โดยนับรวมวันที่ดังกล่าวด้วย วันที่นี้ต้องเป็นวันที่เดียวกันหรือหลังจาก start หากไม่มีการระบุ end ระบบจะถือว่าช่วงวันที่ดังกล่าวไม่มีขอบเขตวันที่สิ้นสุด
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @days_of_week 0..1 string

วันของสัปดาห์ที่อนุญาตให้ใช้ในช่วงวันที่ หากไม่มีการระบุ ระบบจะอนุญาตให้ใช้ทุกวันในช่วงวันที่ อักขระแต่ละตัวในสตริงจะระบุวัน เช่น "MTWHF" เป็นการระบุว่าระบบอนุญาตให้ใช้วันธรรมดาในช่วงวันที่

อักขระที่ใช้ได้มีดังนี้

  • M สำหรับวันจันทร์
  • T สำหรับวันอังคาร
  • W สำหรับวันพุธ
  • H สำหรับวันพฤหัสบดี
  • F สำหรับวันศุกร์
  • S สำหรับวันเสาร์
  • U สำหรับวันอาทิตย์

คุณจะระบุชุดค่าผสมของอักขระแบบใดก็ได้

RateModifications / HotelRateModifications / ItineraryRateModification / Devices 0..1 Devices คอนเทนเนอร์สำหรับแสดงรายการอุปกรณ์ของผู้ใช้ที่มีสิทธิ์รับการแก้ไขราคา หากระบุไว้ ระบบจะใช้การปรับราคาเฉพาะในกรณีที่ผู้ใช้ตรงกับอุปกรณ์รายการใดรายการหนึ่งที่อยู่ในรายการเท่านั้น หากไม่ได้ระบุไว้ ก็ไม่ได้เป็นการจำกัดการใช้การแก้ไขอัตรา
RateModifications / HotelRateModifications / ItineraryRateModification / Devices / Device 1..3 Device กําหนดอุปกรณ์ของผู้ใช้ 1 ประเภทที่มีสิทธิ์รับการปรับราคา
RateModifications / HotelRateModifications / ItineraryRateModification / Devices / Device / @type 1 enum ประเภทอุปกรณ์ ค่าต้องเป็น desktop, tablet หรือ mobile
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions 1 ModificationActions

การดำเนินการที่มีผลกับราคาหากเป็นไปตามเงื่อนไขที่ระบุไว้ทั้งหมด

RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / PriceAdjustment 0..1 PriceAdjustment แก้ไขอัตราโดยการคูณทั้ง AmountBeforeTax และ AmountAfterTax ด้วยตัวคูณที่ระบุ
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / PriceAdjustment / @multiplier 1 float ทั้ง AmountBeforeTax และ AmountAfterTax จะคูณด้วยค่านี้
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / RateRule 0..1 RateRule แก้ไขราคาโดยใช้รหัสกฎเกี่ยวกับอัตราที่ระบุ
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / RateRule / @id 1 string รหัสนี้จะจับคู่ราคากับคำจำกัดความในไฟล์คำจำกัดความกฎเกี่ยวกับอัตรา หมายเหตุ
  • จำนวนอักขระสูงสุดสำหรับช่องนี้คือ 40 ตัว
  • ราคาแต่ละรายการจะเชื่อมโยงกับกฎเกี่ยวกับราคาได้เพียงรายการเดียวเท่านั้น
  • หากมีการแก้ไขหลายรายการที่ใช้รหัสกฎเกี่ยวกับอัตรา ระบบจะกำหนดรหัสกฎเกี่ยวกับอัตราที่มีลําดับตัวอักษรน้อยที่สุดให้กับอัตรา
  • หากรหัสนี้ไม่ตรงกับกฎเกี่ยวกับอัตราในไฟล์คำจำกัดความกฎเกี่ยวกับอัตรา ระบบจะถือว่าไม่มีสิทธิ์
ดูข้อมูลเกี่ยวกับตัวเลือก UI ของอัตราส่วนลดเฉพาะบุคคลที่หลากหลายได้ใน บทความนี้
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable 0..1 Refundable เขียนทับค่าแบบขอเงินคืนได้ของราคาเป็นค่าที่ระบุ

โปรดคำนึงถึงสิ่งต่อไปนี้เมื่อตั้งค่าแอตทริบิวต์

  • การดําเนินการแก้ไขนี้จะเขียนการตั้งค่าแบบขอเงินคืนได้ของราคาที่มีสิทธิ์ใหม่ทั้งหมด ไม่ใช่แค่ช่องที่ป้อนข้อมูลไว้
  • หากไม่ได้ตั้งค่า available หรือ refundable_until_days ไว้ ระบบจะไม่แสดงราคาห้องพักเป็นขอเงินคืนได้
  • หาก available คือ 0 หรือ false ระบบจะละเว้นแอตทริบิวต์อื่นๆ ราคาห้องพักจะไม่แสดงเป็นขอเงินคืนได้แม้จะมีการตั้งค่าแอตทริบิวต์อื่นๆ อย่างน้อย 1 รายการหรือทั้ง 2 รายการก็ตาม
  • เราขอแนะนำให้ตั้งค่า refundable_until_time หากไม่ได้ตั้งค่า ระบบจะใช้เวลาเริ่มต้น (เที่ยงคืน)
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable / @available 1 boolean (ต้องระบุ) ตั้งค่าเป็น 1 หรือ true เพื่อระบุว่าราคาห้องพักนี้ขอเงินคืนเต็มจำนวนได้หรือไม่ มิเช่นนั้นให้ตั้งค่าเป็น 0 หรือ false
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_days 0..1 integer (ต้องระบุหาก available คือ true) ระบุจำนวนวันก่อนเช็คอินที่จะขอเงินคืนเต็มจำนวนได้ ค่าของ refundable_until_days ต้องเป็นจำนวนเต็มตั้งแต่ 0 ถึง 330
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable / @refundable_until_time 0..1 Time (แนะนำหาก available คือ true) ระบุเวลาสุดท้ายของวันตามเวลาท้องถิ่นของโรงแรมที่ขอเงินคืนเต็มจำนวนได้ คุณใช้ค่านี้ร่วมกับ refundable_until_days ได้ เช่น เพื่อระบุว่า "ขอเงินคืนได้จนถึงเวลา 16:00 น. ก่อนเช็คอิน 2 วัน" หากไม่ได้ตั้งค่า refundable_until_time ไว้ ค่าเริ่มต้นจะเป็นเที่ยงคืน
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Availability 0..1 Availability เขียนทับห้องว่างของราคาเป็นค่าที่ระบุ เรารองรับเฉพาะการตั้งค่าอัตราเป็น unavailable เท่านั้น
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Availability / @status 1 enum หากเป็น status="unavailable" ระบบจะถือว่าราคาไม่พร้อมใช้งาน ไม่ว่าราคาที่ถูกต้องจะมีอยู่หรือไม่ก็ตาม
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay 0..1 LengthOfStay กำหนดขีดจำกัดของระยะเวลาในการเข้าพักที่ระบบจะใช้การแก้ไขราคานี้ได้ การปรับราคาจะไม่มีผลเมื่อระยะเวลาในการเข้าพักไม่อยู่ในขีดจำกัดขั้นต่ำและสูงสุด
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay / @min 0..1 integer จำนวนคืนขั้นต่ำที่เข้าพักซึ่งอนุญาตให้ใช้การปรับราคาได้ หากไม่ได้ระบุ จะถือว่าไม่มีจำนวนขั้นต่ำ
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay / @max 0..1 integer จำนวนคืนสูงสุดที่เข้าพักซึ่งอนุญาตให้ใช้การปรับราคาได้ หากไม่ได้ระบุ จะถือว่าไม่มีจำนวนสูงสุด
RateModifications / HotelRateModifications / ItineraryRateModification / MinimumAmount 0..1 MinimumAmount ระบุผลรวมขั้นต่ำของราคาห้องพักรายวัน (ใช้ค่าที่มากกว่าระหว่าง AmountBeforeTax หรือ AmountAfterTax) ที่ต้องมากกว่าเพื่อให้การแก้ไขราคามีผล
RateModifications / HotelRateModifications / ItineraryRateModification / MinimumAmount / @before_discount 1 integer ค่าที่สูงกว่าเกณฑ์ที่กำหนดจึงจะใช้การแก้ไขราคาได้
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans 0..1 RatePlans คอนเทนเนอร์สำหรับรายการแพ็กเกจราคาที่จะใช้การปรับราคา หากไม่มีการระบุ <RatePlans> การปรับราคาจะมีผลกับแพ็กเกจราคาทั้งหมด
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans / RatePlan 1..n RatePlan ระบุแพ็กเกจราคา ระบบจะกำหนดแพ็กเกจราคาจากชุดค่าผสมของแพ็กเกจ ราคา และจำนวนห้องว่างตามที่ระบุไว้ในข้อความ Transaction (Property Data), OTA_HotelRateAmountNotifRQ และ OTA_HotelAvailNotifRQ รวมถึงกำหนดตามที่ PackageID ระบุไว้
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans / RatePlan / @id 1 string ตัวระบุที่ไม่ซ้ำกันสำหรับแพ็กเกจราคา ค่านี้จะแมปกับค่า PackageID ใน <PackageData> ของข้อความ Transaction (Property Data) และในแอตทริบิวต์ RatePlanCode ของ <StatusApplicationControl> ทั้งข้อความ <OTA_HotelRateAmountNotifRQ> และ <OTA_HotelAvailNotifRQ> จำนวนอักขระสูงสุดที่อนุญาตคือ 50 ตัว
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes 0..1 RoomTypes คอนเทนเนอร์สำหรับรายการประเภทห้องพักที่จะใช้การปรับราคา การปรับราคาจะมีผลกับ <RoomType> แต่ละรายการที่ระบุ หากไม่มีการระบุ <RoomTypes> การปรับราคาจะมีผลกับห้องพักทุกประเภท
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes / RoomType 1..n RoomType ระบุประเภทห้องพัก ประเภทห้องพักจะระบุอยู่ในองค์ประกอบ <RoomData> ของข้อความ Transaction (Property Data) และมีการอ้างอิงโดยใช้ค่า <RoomID> (นอกจากนี้ ค่า <RoomID> ยังอ้างอิงโดยแอตทริบิวต์ InvTypeCode ในข้อความ OTA_HotelRateAmountNotifRQ)
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes / RoomType / @id 1 string ตัวระบุที่ไม่ซ้ำกันสำหรับห้องพัก (ประเภทห้องพัก) ค่านี้จะแมปกับ <RoomID> ในข้อความ Transaction (Property Data) จำนวนอักขระสูงสุดที่อนุญาตคือ 50 ตัว
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates 0..1 StayDates คอนเทนเนอร์สำหรับช่วงวันที่อย่างน้อย 1 ช่วงซึ่งกำหนดวิธีใช้การปรับราคา เช่น เพื่อรองรับการกำหนดราคาตามฤดูกาล
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / @application 1 enum

อธิบายวิธีใช้การปรับราคา

ค่าที่ใช้ได้มีดังนี้

  • all: ปรับราคาสำหรับแต่ละคืนในแผนการเดินทาง หากวันที่ทั้งหมดในแผนการเดินทางซ้อนทับกับวันที่เข้าพัก
  • any: ปรับราคาสำหรับทุกคืนในแผนการเดินทาง หากวันที่ในแผนการเดินทางซ้อนทับกับวันที่ในช่วงวันที่เข้าพัก

คุณต้องระบุแอตทริบิวต์นี้เสมอ

RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange 1..99 DateRange ช่วงวันที่ซึ่งระบุวันที่ที่จะใช้การปรับราคา
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @start 0..1 Date วันที่เริ่มต้น (ตามเขตเวลาของที่พัก) ของช่วงวันที่เข้าพัก โดยนับรวมวันที่ดังกล่าวด้วย วันที่นี้ต้องเป็นวันที่ก่อนหน้าหรือวันที่เดียวกับ end หากไม่มีการระบุ start ระบบจะถือว่าช่วงวันที่ดังกล่าวไม่มีขอบเขตวันที่เริ่มต้น
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @end 0..1 Date วันที่สิ้นสุด (ตามเขตเวลาของที่พัก) ของช่วงวันที่เข้าพัก โดยนับรวมวันที่ดังกล่าวด้วย วันที่นี้ต้องเป็นวันที่เดียวกันหรือหลังจาก start หากไม่มีการระบุ end ระบบจะถือว่าช่วงวันที่ดังกล่าวไม่มีขอบเขตวันที่สิ้นสุด
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @days_of_week 0..1 string

วันของสัปดาห์ที่อนุญาตให้ใช้ในช่วงวันที่ หากไม่มีการระบุ ระบบจะอนุญาตให้ใช้ทุกวันในช่วงวันที่ อักขระแต่ละตัวในสตริงจะระบุวัน เช่น "MTWHF" เป็นการระบุว่าระบบอนุญาตให้ใช้วันธรรมดาในช่วงวันที่

อักขระที่ใช้ได้มีดังนี้

  • M สำหรับวันจันทร์
  • T สำหรับวันอังคาร
  • W สำหรับวันพุธ
  • H สำหรับวันพฤหัสบดี
  • F สำหรับวันศุกร์
  • S สำหรับวันเสาร์
  • U สำหรับวันอาทิตย์

คุณจะระบุชุดค่าผสมของอักขระแบบใดก็ได้

RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries 0..1 UserCountries หากระบุไว้ การแก้ไขราคาจะมีผลเฉพาะในกรณีที่ผู้ใช้อยู่ในประเทศที่ระบุเท่านั้น หากไม่ได้ระบุ ระบบจะใช้การแก้ไขราคาโดยไม่คำนึงถึงสถานที่ตั้งของผู้ใช้
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / @type 0..1 enum ประเภทของข้อกําหนด UserCountries

ค่าที่ใช้ได้คือ include และ exclude

หากตั้งค่า UserCountries type เป็น include การแก้ไขราคาจะมีผลกับผู้ใช้จากประเทศที่ระบุ

หาก UserCountries type เป็น exclude การแก้ไขราคาจะมีผลกับผู้ใช้นอกประเทศที่ระบุ

หากไม่ได้ตั้งค่า UserCountries type ระบบจะถือว่าค่าดังกล่าวเป็น include และการปรับราคาจะมีผลกับผู้ใช้จากประเทศที่ระบุ

RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / Country 1..300 Country ระบุประเทศของผู้ใช้ที่ได้รับอนุญาตให้แก้ไขราคา
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / Country / @code 1 string รหัสประเทศ CLDR เช่น DE หรือ FR โปรดทราบว่าสำหรับบางประเทศ รหัสประเทศ CLDR จะแตกต่างจากรหัสประเทศ ISO 2 ตัวอักษร นอกจากนี้ ระบบยังไม่รองรับรหัสภูมิภาค CLDR

ตัวอย่าง

ข้อความพื้นฐาน

ตัวอย่างต่อไปนี้แสดงข้อความ RateModifications` พื้นฐาน

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


ลบการปรับราคา 1 รายการ

ตัวอย่างต่อไปนี้แสดงวิธีลบการแก้ไขราคา 1 รายการสำหรับที่พัก

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

ลบการแก้ไขราคาทั้งหมด

ตัวอย่างต่อไปนี้แสดงวิธีลบการแก้ไขราคาทั้งหมดสำหรับที่พัก

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


วางซ้อนการปรับราคาทั้งหมด

ตัวอย่างต่อไปนี้แสดงวิธีวางซ้อน <HotelRateModifications> สำหรับที่พักที่มีการแก้ไขราคาใหม่อย่างน้อย 1 รายการ เมื่อaction="overlay" ระบบจะลบการแก้ไขราคาที่จัดเก็บไว้ทั้งหมดก่อนที่จะจัดเก็บการแก้ไขราคาที่ระบุในข้อความปัจจุบัน

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

การดําเนินการแก้ไขหลายรายการ

ตัวอย่างต่อไปนี้แสดงวิธีดำเนินการแก้ไขหลายรายการพร้อมกัน

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


ปิดแพ็กเกจอัตราค่าบริการสำหรับประเทศของผู้ใช้

ตัวอย่างต่อไปนี้แสดงวิธีจำกัดแพ็กเกจราคาไว้สำหรับผู้ใช้ในญี่ปุ่น (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


การตอบกลับ

ไวยากรณ์

ข้อความ RateModificationsResponse ใช้ไวยากรณ์ต่อไปนี้

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

องค์ประกอบและแอตทริบิวต์

ข้อความ RateModificationsResponse มีองค์ประกอบและแอตทริบิวต์ต่อไปนี้

องค์ประกอบ / @แอตทริบิวต์ จำนวนข้อผิดพลาด ประเภท คำอธิบาย
RateModifications 1 Complex element องค์ประกอบรูทที่บ่งบอกความสำเร็จหรือปัญหาของข้อความคำขอ RateModifications ที่ได้รับ
RateModificationsResponse / @timestamp 1 DateTime วันที่และเวลาที่สร้างข้อความนี้
RateModificationsResponse / @id 1 string ตัวระบุที่ไม่ซ้ำกันจากข้อความ RateModifications ที่เกี่ยวข้อง
RateModificationsResponse / @partner 1 string บัญชีพาร์ทเนอร์สำหรับข้อความนี้
RateModificationsResponse / Success 0..1 Success บ่งบอกว่าข้อความ RateModifications ได้รับการประมวลผลเรียบร้อยแล้วโดยไม่มีคำเตือน ข้อผิดพลาด หรือความล้มเหลว

แต่ละข้อความจะมี <Success> หรือ <Issues> ปรากฏอยู่

RateModificationsResponse / Issues 0..1 Issues คอนเทนเนอร์สำหรับปัญหาอย่างน้อย 1 รายการที่พบขณะประมวลผลข้อความ RateModifications

แต่ละข้อความจะมี <Success> หรือ <Issues> ปรากฏอยู่

RateModificationsResponse / Issues / Issue 1..n Issue คำอธิบายของคำเตือน ข้อผิดพลาด หรือความล้มเหลวที่พบขณะประมวลผลข้อความ RateModifications ดูรายละเอียดเกี่ยวกับปัญหาเหล่านี้ได้ในข้อความแสดงข้อผิดพลาดของสถานะฟีด
RateModificationsResponse / Issues / Issue / @code 1 integer ตัวระบุสำหรับปัญหา
RateModificationsResponse / Issues / Issue / @status 1 enum

ประเภทของปัญหาที่พบ

ค่าที่ใช้ได้คือ warning, error และ failure

ตัวอย่าง

สำเร็จ

การตอบกลับข้อความ RateModifications ที่ประมวลผลเรียบร้อยแล้วมีดังนี้

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

ปัญหา

การตอบกลับข้อความ RateModifications ที่ยังไม่ได้ประมวลผลเนื่องจากพบข้อผิดพลาดมีดังนี้

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