ภาพรวม
API นี้ช่วยให้คุณกำหนดวิธีใช้การดำเนินการกับราคาแบบไดนามิกเมื่อเป็นไปตามเงื่อนไข เช่น การปรับราคาหรือการเปิดใช้การคืนเงิน ซึ่งแตกต่างจาก Promotions API ที่ใช้ได้เฉพาะโปรโมชันที่มีสิทธิ์พร้อมส่วนลดสูงสุด แต่ API นี้จะดำเนินการใดๆ เมื่อเป็นไปตามเงื่อนไขบางอย่าง ซึ่งรวมถึงการปรับราคาที่อาจทำให้ราคาสุดท้ายเพิ่มขึ้น
คำขอ
ไวยากรณ์
ข้อความ RateModifications ใช้ไวยากรณ์ต่อไปนี้
<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="partner_key"
                      id="message_ID"
   >   <                timestamp="timestamp"
  HotelRateM>odifi<cations hotel_id="HotelID" action="[overlay]&quo>t;
    <ItineraryRat>eModifica<tion id="ModificationID" action="[delete]"
      BookingDates>
        <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" 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=">;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" end=>"Y<YYY-MM-DD>" da<ys_of_week=""MTW>HFSU_or_s<ubset""/
      />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="Ro>omID_2&qu<ot;/
      /RoomTypes
   >   StayDa<tes application="[all|any]"
        DateRange start="YYYY-MM-DD" 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 หมายเหตุ: หากมีแบ็กเอนด์ที่มีฟีดสำหรับหลายบัญชี ค่านี้จะต้องตรงกับค่าแอตทริบิวต์  | 
| 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 | หากไม่ได้ระบุ  | 
| 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 | หากไม่ได้ระบุและไม่มีการบันทึกการแก้ไขราคาที่มี  หากระบุ ค่าต้องเป็น  | 
| 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" เป็นการระบุว่าระบบอนุญาตให้ใช้วันธรรมดาในช่วงวันที่ อักขระที่ใช้ได้มีดังนี้ 
 คุณจะระบุชุดค่าผสมของอักขระแบบใดก็ได้ | 
| 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" เป็นการระบุว่าระบบอนุญาตให้ใช้วันธรรมดาในช่วงวันที่ อักขระที่ใช้ได้มีดังนี้ 
 คุณจะระบุชุดค่าผสมของอักขระแบบใดก็ได้ | 
| 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" เป็นการระบุว่าระบบอนุญาตให้ใช้วันธรรมดาในช่วงวันที่ อักขระที่ใช้ได้มีดังนี้ 
 คุณจะระบุชุดค่าผสมของอักขระแบบใดก็ได้ | 
| 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 | รหัสนี้จะจับคู่ราคากับคำจำกัดความในไฟล์คำจำกัดความกฎเกี่ยวกับอัตรา
        หมายเหตุ 
 | 
| RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable | 0..1 | Refundable | เขียนทับค่าแบบขอเงินคืนได้ของราคาเป็นค่าที่ระบุ โปรดคำนึงถึงสิ่งต่อไปนี้เมื่อตั้งค่าแอตทริบิวต์ 
 | 
| 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 | อธิบายวิธีใช้การปรับราคา ค่าที่ใช้ได้มีดังนี้ 
 คุณต้องระบุแอตทริบิวต์นี้เสมอ | 
| 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" เป็นการระบุว่าระบบอนุญาตให้ใช้วันธรรมดาในช่วงวันที่ อักขระที่ใช้ได้มีดังนี้ 
 คุณจะระบุชุดค่าผสมของอักขระแบบใดก็ได้ | 
| RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries | 0..1 | UserCountries | หากระบุไว้ การแก้ไขราคาจะมีผลเฉพาะในกรณีที่ผู้ใช้อยู่ในประเทศที่ระบุเท่านั้น หากไม่ได้ระบุ ระบบจะใช้การแก้ไขราคาโดยไม่คำนึงถึงสถานที่ตั้งของผู้ใช้ | 
| RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / @type | 0..1 | enum | ประเภทของข้อกําหนด UserCountries ค่าที่ใช้ได้คือ  หากตั้งค่า UserCountries  หาก UserCountries  หากไม่ได้ตั้งค่า UserCountries  | 
| 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>="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>"/
      /ModificationActions
    /ItineraryRateModification
  /HotelRateModifications
/RateModifications
การตอบกลับ
ไวยากรณ์
ข้อความ RateModificationsResponse ใช้ไวยากรณ์ต่อไปนี้
<?xml version="1.0" encodin>g<="UTF-8"?
RateModificationsResponse timestamp="timestamp"
                    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 ได้รับการประมวลผลเรียบร้อยแล้วโดยไม่มีคำเตือน ข้อผิดพลาด หรือความล้มเหลว แต่ละข้อความจะมี  | 
| RateModificationsResponse / Issues | 0..1 | Issues | คอนเทนเนอร์สำหรับปัญหาอย่างน้อย 1 รายการที่พบขณะประมวลผลข้อความ RateModifications แต่ละข้อความจะมี  | 
| RateModificationsResponse / Issues / Issue | 1..n | Issue | คำอธิบายของคำเตือน ข้อผิดพลาด หรือความล้มเหลวที่พบขณะประมวลผลข้อความ RateModifications ดูรายละเอียดเกี่ยวกับปัญหาเหล่านี้ได้ในข้อความแสดงข้อผิดพลาดของสถานะฟีด | 
| RateModificationsResponse / Issues / Issue / @code | 1 | integer | ตัวระบุสำหรับปัญหา | 
| RateModificationsResponse / Issues / Issue / @status | 1 | enum | ประเภทของปัญหาที่พบ ค่าที่ใช้ได้คือ  | 
ตัวอย่าง
สำเร็จ
การตอบกลับข้อความ 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