ภาพรวม
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>C
ountries
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>=&q
uot;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_ti
me="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>&qu
ot;/
/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>o
t;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