คำขอ
ไวยากรณ์
ข้อความ OTA_HotelRateAmountNotifRQ
ใช้ไวยากรณ์ต่อไปนี้
<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
EchoToken="message_ID"
TimeStamp="timestamp"
Version="3.0"
NotifType="[Overlay|Delta|Remove]"
NotifScopeType="[ProductRate]">
<POS>
<Source>
<RequestorID ID="partner_key"/>
</Source>
</POS>
<RateAmountMessages HotelCode="HotelID">
<RateAmountMessage>
<StatusApplicationControl Start="YYYY-MM-DD"
End="YYYY-MM-DD"
Mon="boolean_value"
Tue="boolean_value"
Weds="boolean_value"
Thur="boolean_value"
Fri="boolean_value"
Sat="boolean_value"
Sun="boolean_value"
InvTypeCode="RoomID"
RatePlanCode="PackageID"
RatePlanType="[26]" />
<Rates>
<Rate>
<BaseByGuestAmts>
<BaseByGuestAmt AmountBeforeTax="float"
AmountAfterTax="float"
CurrencyCode="currency"
NumberOfGuests="integer"/>
</BaseByGuestAmts>
<AdditionalGuestAmounts>
<AdditionalGuestAmount Amount="float"
AgeQualifyingCode="[10|8]"
MaxAge="integer"/>
</AdditionalGuestAmounts>
</Rate>
</Rates>
</RateAmountMessage>
</RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>
องค์ประกอบและแอตทริบิวต์
ข้อความ OTA_HotelRateAmountNotifRQ
มีองค์ประกอบและแอตทริบิวต์ต่อไปนี้
องค์ประกอบ / @แอตทริบิวต์ | จำนวนข้อผิดพลาด | ประเภท | คำอธิบาย |
---|---|---|---|
OTA_HotelRateAmountNotifRQ | 1 | Complex element | องค์ประกอบรูทของข้อความราคา |
OTA_HotelRateAmountNotifRQ / @xmlns | 0..1 | string (URI) | เนมสเปซ XML |
OTA_HotelRateAmountNotifRQ / @EchoToken | 1 | string | ตัวระบุที่ไม่ซ้ำกันสำหรับข้อความคำขอนี้ ค่านี้จะแสดงในข้อความตอบกลับ อักขระที่อนุญาตคือ a-z , A-Z , 0-9 , _ (underscore) และ - (dash) |
OTA_HotelRateAmountNotifRQ / @TimeStamp | 1 | DateTime | วันที่และเวลาที่สร้างข้อความนี้ |
OTA_HotelRateAmountNotifRQ / @Version | 1 | decimal | เวอร์ชันของข้อความ OpenTravel |
OTA_HotelRateAmountNotifRQ / @NotifType | 0..1 | enum | ประเภทของการแจ้งเตือนที่จะใช้กับ ค่าที่ใช้ได้มีดังนี้ หากต้องการทำความเข้าใจวิธีการทำงานของแอตทริบิวต์เหล่านี้ โปรดดูตัวอย่าง
|
OTA_HotelRateAmountNotifRQ / @NotifScopeType | 0..1 | enum | ขอบเขตของ ค่าที่ใช้ได้มีดังนี้
|
OTA_HotelRateAmountNotifRQ / POS | 0..1 | POS | คอนเทนเนอร์สำหรับการระบุบัญชีพาร์ทเนอร์ของข้อความนี้ (โดยปกติแล้วจะใช้หากแบ็กเอนด์แสดงฟีดราคาสำหรับบัญชีพาร์ทเนอร์หลายบัญชี) |
OTA_HotelRateAmountNotifRQ / POS / Source | 1 | Source | ต้องระบุหากมี <POS> ปรากฏอยู่ คอนเทนเนอร์สำหรับ <RequestorID> |
OTA_HotelRateAmountNotifRQ / POS / RequestorID | 1 | RequestorID | ต้องระบุหากมี <POS> ปรากฏอยู่ กำหนดบัญชีพาร์ทเนอร์ |
OTA_HotelRateAmountNotifRQ / POS / RequestorID / @ID | 1 | string | บัญชีพาร์ทเนอร์สำหรับข้อความนี้ ค่าของสตริงนี้คือค่า "Partner key" ซึ่งแสดงอยู่ที่
หน้าการตั้งค่าบัญชีใน Hotel Center
หมายเหตุ: หากมีแบ็กเอนด์ที่มีฟีดสำหรับหลายบัญชี ค่านี้จะต้องตรงกับค่าแอตทริบิวต์ |
OTA_HotelRateAmountNotifRQ / RateAmountMessages | 1 | RateAmountMessages | คอลเล็กชันขององค์ประกอบ <RateAmountMessage> ที่กำหนดราคา |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / @HotelCode | 1 | string | ตัวระบุที่ไม่ซ้ำกันของที่พัก ค่านี้ต้องตรงกับรหัสโรงแรมซึ่งระบุโดยใช้ <id> ในองค์ประกอบ <listing> ในฟีดข้อมูลโรงแรม นอกจากนี้ รหัสโรงแรมยังแสดงอยู่ใน Hotel Center ด้วย |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage | 1..n | RateAmountMessage | คอนเทนเนอร์สำหรับการกำหนดราคาห้องพัก (ชุดค่าผสมของประเภทห้องพักและแพ็กเกจราคาในช่วงวันที่) |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl | 1 | StatusApplicationControl | กำหนดช่วงวันที่ รวมทั้งตัวระบุสำหรับประเภทห้องพัก (InvTypeCode ) และแพ็กเกจราคา (RatePlanCode ) |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Start | 1 | Date | วันที่เริ่มต้น (ตามเขตเวลาของที่พัก) ของช่วงวันที่เข้าพัก โดยนับรวมวันที่ดังกล่าวด้วย |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @End | 1 | Date | วันที่สิ้นสุด (ตามเขตเวลาของที่พัก) ของช่วงวันที่เข้าพัก โดยนับรวมวันที่ดังกล่าวด้วย ต้องเท่ากับหรือมากกว่าค่า start
หากวันที่ของ start และ end เท่ากัน การอัปเดตจะมีผลในวันที่ดังกล่าว โปรดทราบว่า Google รองรับข้อมูลสูงสุด 3 ปี |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Mon | 0..1 | boolean | ตั้งค่าเป็น true หรือ 1 เพื่อรวมวันจันทร์ไว้อย่างชัดเจน
หากตั้งค่าเป็น |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Tue | 0..1 | boolean | ตั้งค่าเป็น true หรือ 1 เพื่อรวมวันอังคารไว้อย่างชัดเจน
หากตั้งค่าเป็น |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Weds | 0..1 | boolean | ตั้งค่าเป็น true หรือ 1 เพื่อรวมวันพุธไว้อย่างชัดเจน
หากตั้งค่าเป็น |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Thur | 0..1 | boolean | ตั้งค่าเป็น true หรือ 1 เพื่อรวมวันพฤหัสบดีไว้อย่างชัดเจน
หากตั้งค่าเป็น |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Fri | 0..1 | boolean | ตั้งค่าเป็น true หรือ 1 เพื่อรวมวันศุกร์ไว้อย่างชัดเจน
หากตั้งค่าเป็น |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sat | 0..1 | boolean | ตั้งค่าเป็น true หรือ 1 เพื่อรวม
วันเสาร์ไว้อย่างชัดเจน
หากตั้งค่าเป็น |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sun | 0..1 | boolean | ตั้งค่าเป็น true หรือ 1 เพื่อรวม
วันอาทิตย์ไว้อย่างชัดเจน
หากตั้งค่าเป็น |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @InvTypeCode | 1 | string | ตัวระบุที่ไม่ซ้ำกันสำหรับห้องพัก (ประเภทห้องพัก) ค่านี้จะแมปกับ <RoomID> ในข้อความ Transaction (Property Data) |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @RatePlanCode | 1 | string | ตัวระบุที่ไม่ซ้ำกันสำหรับแพ็กเกจราคา ตัวระบุนี้จะแมปกับ <PackageID> ในข้อความ Transaction (Property Data) โดยระบบจะกำหนดและอ้างถึงแพ็กเกจราคาเพิ่มเติมใน <StatusApplicationControl> ทั้งในข้อความ <OTA_HotelRateAmountNotifRQ> และ <OTA_HotelAvailNotifRQ> |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @RatePlanType | 0..1 | string | ตัวระบุที่บ่งบอกถึงประเภทของรูปแบบการกำหนดราคา ARI ที่
ใช้กับการอัปเดตราคาครั้งนี้ คุณควรระบุค่านี้โดยใช้ค่า 26 เมื่อใช้รูปแบบการกำหนดราคาตาม LOS เท่านั้น การยกเว้นแอตทริบิวต์นี้บ่งบอกว่านี่คือการอัปเดตการกำหนดราคาต่อวัน
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates | 0..1 | Rates | คอนเทนเนอร์สำหรับคอลเล็กชันขององค์ประกอบ <Rate> หาก NotifType เป็น "Remove" คุณต้องไม่ระบุองค์ประกอบนี้ หากไม่เป็นเช่นนั้น คุณต้องระบุองค์ประกอบนี้เพียงครั้งเดียว |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate | 1 | Rate | คอนเทนเนอร์สำหรับคอลเล็กชันขององค์ประกอบ <BaseByGuestAmts> |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @RateTimeUnit | 0..1 | String | หน่วยที่ใช้ระบุระยะเวลาในการเข้าพัก ค่าที่รองรับ
มีเพียง "Day" ซึ่งหมายความว่าระบบจะระบุระยะเวลาในการเข้าพัก
เป็นวัน
หากต้องการใช้การกำหนดราคาตาม LOS
ต้องระบุ |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @UnitMultiplier | 0..1 | Integer | จำนวน RateTimeUnits ซึ่งประกอบเป็นระยะเวลาในการเข้าพักสำหรับราคานี้
เช่น หาก ระบบจะคูณอัตราการเข้าพักที่ระบุไว้ในออบเจ็กต์ หากต้องการใช้การกำหนดราคาตาม LOS
ต้องระบุ |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts | 1 | BaseByGuestAmts | คอนเทนเนอร์สำหรับคอลเล็กชันของค่าใช้จ่ายพื้นฐาน |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt | 1..n | BaseByGuestAmt | ระบุราคาห้องพักในสกุลเงินที่ระบุไว้ ระบบกำหนดราคาตามอัตราการเข้าพักได้ด้วยการใช้องค์ประกอบ <BaseByGuestAmt> หลายรายการ โดยแต่ละรายการจะมีค่า NumberOfGuests ต่างกัน
หากไม่เป็นเช่นนั้น ราคาจะเป็นไปตามจำนวนผู้เข้าพักสูงสุดที่กำหนดโดย NumberOfGuests |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @AmountBeforeTax | 0..1 | float |
ราคารายวันของห้องพักก่อนรวมภาษีและค่าธรรมเนียม คุณระบุได้ทั้ง หากใช้โปรโมชัน ส่วนลดจะมีผลกับ |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @AmountAfterTax | 0..1 | float | ราคารายวันของห้องพักหลังรวมภาษีและค่าธรรมเนียมที่เกี่ยวข้อง หากระบุ AmountAfterTax แล้ว ไม่จำเป็นต้องส่งข้อความ <TaxFeeInfo> ต่อที่พักแยกต่างหาก แอตทริบิวต์นี้ใช้ร่วมกับ AmountBeforeTax ได้เพื่อระบุทั้งราคาฐานและราคารวมที่แสดงต่อผู้ใช้ในบางภูมิภาคได้
คำเตือน: หากใช้โปรโมชัน เราไม่แนะนำอย่างยิ่งให้ใช้จำนวนเงิน หมายเหตุ: ต้องระบุ |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @CurrencyCode | 1 | enum | รหัสอักขระที่เป็นตัวอักษร 3 หลักในรูปแบบ ISO 4217 สำหรับหน่วยเงินตราที่เจาะจง
โปรดดูรายการสกุลเงินที่รองรับ |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @NumberOfGuests | 0..1 | integer | จำนวนแขกสูงสุดที่อัตรานี้รองรับได้
ค่าเริ่มต้นจะเป็น 2 หากไม่ได้ระบุไว้
โปรดทราบว่าหาก |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts | 0..1 | AdditionalGuestAmounts | คอนเทนเนอร์สำหรับคอลเล็กชันของค่าใช้จ่ายสำหรับแขกเพิ่มเติม
ไวยากรณ์นี้มีประโยชน์ในกรณีที่อัตราสำหรับแขกรับเชิญหรือเด็ก
มีการเปลี่ยนแปลงตามวันที่ ลองใช้ข้อความ
ตัวอย่างเช่น สมมติว่ามีการระบุราคาฐานสำหรับผู้ใหญ่ 1 คนและ 2 คน
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount | 0..n | AdditionalGuestAmount | ระบุราคาตามประเภทแขกที่ระบุผ่าน
AgeQualifyingCode และหากมี ให้ระบุอายุของแขกผ่าน MaxAge
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @AgeQualifyingCode | 1 | enum | กำหนดประเภทแขกเพิ่มเติม ไม่ว่าจะเป็นผู้ใหญ่หรือเด็ก ตัวเลือกที่ใช้ได้
มีดังนี้
ต้องระบุ |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @MaxAge | 0..1 | integer | ต้องระบุ MaxAge เมื่อ AgeQualifyingCode เป็น 8 แต่ต้องไม่ระบุเมื่อ AgeQualifyingCode เป็น 10
การระบุค่า ระบบจะถือว่าค่าที่มากกว่า คุณระบุช่วงอายุของบุตรหลานได้หลายช่วงผ่านองค์ประกอบ |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @Amount | 1 | float | จำนวนเงินก่อนรวมภาษีและค่าธรรมเนียมที่เพิ่มเข้าไปในราคาฐานสำหรับแขกเพิ่มเติมแต่ละคน
คุณต้องระบุภาษีและค่าธรรมเนียมที่ขึ้นอยู่กับอายุของผู้เข้าพักผ่านองค์ประกอบ |
ตัวอย่าง
ส่วนนี้จะแสดงตัวอย่างรหัสที่ไฮไลต์วิธีการดังนี้
- กำหนดราคาฐานและราคารวม
- เพิ่ม วางซ้อน และนำราคาออก
- เพิ่ม วางซ้อน และนำจำนวนเงินสำหรับผู้เข้าพักเพิ่มเติมออก
- ตั้งค่าราคาตาม LOS
- เพิ่ม วางซ้อน และนำราคาตาม LOS ออก
เมื่อตั้งค่า add
, overlay
หรือ remove
ช่วงวันที่อาจเหมือนกันหรือแตกต่างกันก็ได้ ขึ้นอยู่กับเป้าหมายของคุณ ตัวอย่างเช่น คุณสามารถใช้ overlay
เพื่อตั้งค่าเพียงไม่กี่สัปดาห์สำหรับช่วงวันหยุดในเดือนธันวาคมแทนที่จะใช้ช่วงทั้งหมดที่ตั้งไว้สำหรับข้อความ "อัตราการเพิ่ม" ซึ่งจะแทนที่อัตราการเข้าพัก
สำหรับช่วงเวลานี้เท่านั้น
ราคาต่อวัน
สำหรับห้องพักและแพ็กเกจราคาที่กำหนด จะมีอัตราการเข้าพักได้สูงสุด 50 รายการต่อพร็อพเพอร์ตี้ หากราคาเท่ากันสำหรับอัตราการเข้าพักทั้งหมด คุณควรส่งเพียง อัตราการเข้าพักสูงสุดพร้อมราคาที่ต้องการ การทำเช่นนี้ทำให้ Google อนุมานได้ว่า อัตราการเข้าพักที่ต่ำกว่าจะได้รับอัตราฐานเดียวกันด้วย
กำหนดราคาฐานและราคารวม
ตัวอย่างที่ 1
ราคาฐาน (ไม่รวมภาษีหรือค่าธรรมเนียม) สําหรับอัตราการเข้าพักเริ่มต้น (ห้องพักแบบคู่) ในโมเดลนี้ คุณต้องกำหนดภาษีและค่าธรรมเนียมสำหรับที่พักโดยใช้ข้อความ <TaxFeeInfo>
ราคาฐานจะปรากฏให้เห็นชัดมากขึ้นสำหรับผู้ใช้ที่ค้นหาจากบางภูมิภาค
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-23" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" CurrencyCode="USD"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
ตัวอย่างที่ 2
ราคาฐานและราคารวมสำหรับสําหรับอัตราการเข้าพักเริ่มต้น (ห้องพักแบบคู่) ในโมเดลนี้ คุณไม่ควรกําหนดภาษีและค่าธรรมเนียมแยกกันโดยใช้ข้อความ <TaxFeeInfo>
ราคาฐานจะปรากฏให้เห็นชัดขึ้นสำหรับผู้ใช้ที่ค้นหาจากบางภูมิภาค
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-23" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" AmountAfterTax="110.00" CurrencyCode="USD"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
ตัวอย่างที่ 3
ราคารวม (รวมภาษีและค่าธรรมเนียม) สําหรับอัตราการเข้าพักหลายรายการ ในโมเดลนี้ คุณไม่ควรกําหนดภาษีและค่าธรรมเนียมแยกกันโดยใช้ข้อความ <TaxFeeInfo>
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-23" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountAfterTax="100.00" CurrencyCode="USD" NumberOfGuests="1"/> <BaseByGuestAmt AmountAfterTax="110.00" CurrencyCode="USD" NumberOfGuests="2"/> <BaseByGuestAmt AmountAfterTax="120.00" CurrencyCode="USD" NumberOfGuests="3"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
ตัวอย่าง 4
ราคาฐานและราคารวมสำหรับประเภทห้องพักและแพ็กเกจราคาหลายรายการในช่วงวันที่ที่แตกต่างกัน
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-23" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" AmountAfterTax="110.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> <RateAmountMessage> <StatusApplicationControl Start="2020-05-01" End="2020-05-31" InvTypeCode="RoomID_2" RatePlanCode="PackageID_2"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="200.00" AmountAfterTax="220.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
เพิ่ม วางซ้อน และนําราคาออก
โดยมีขีดจำกัดผลิตภัณฑ์ ซึ่งก็คือชุดค่าผสมของประเภทห้องพักและแพ็กเกจ
อยู่ที่ 5,000 รายการต่อพร็อพเพอร์ตี้ ใช้ประเภทการแจ้งเตือน Overlay
หรือ Remove
เพื่อนำผลิตภัณฑ์ที่กำหนดไว้ก่อนหน้านี้ออก
เพิ่มราคา
กำหนด NotifType
เป็น Delta
เพื่อเพิ่มราคาต่ออัตราการเข้าพักสำหรับ RoomID_1 และ PackageID_1 ระหว่าง 2021-10-20 ถึง 2021-12-31 โปรดทราบว่า
Google รองรับข้อมูลสูงสุด 3 ปี
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Delta" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" CurrencyCode="USD" NumberOfGuests="1"/> <BaseByGuestAmt AmountBeforeTax="110.00" CurrencyCode="USD" NumberOfGuests="2"/> <BaseByGuestAmt AmountBeforeTax="120.00" CurrencyCode="USD" NumberOfGuests="3"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
วางซ้อนราคา
กำหนด NotifType
เป็น Overlay
เพื่อลบราคาต่ออัตราการเข้าพักทั้งหมดสำหรับ RoomID_1 และ PackageID_1 ระหว่าง 2021-10-20 ถึง 2021-12-31 และแทนที่ด้วยราคาต่ออัตราการเข้าพักที่ระบุใหม่
เช่น หากส่งข้อความนี้หลังจากข้อความ "เพิ่มราคา" ระบบจะลบราคาที่ 1, 2 และ 3 ของอัตราการเข้าพัก และจะจัดเก็บเฉพาะราคาที่ 1 ของอัตราการเข้าพักใหม่เท่านั้น คุณยังตั้งค่าช่วงวันที่ให้สั้นลงได้ด้วย (เช่น 2021-12-20 และ 2021-12-31) เพื่อแทนที่อัตราการเข้าพักบางส่วนในบางวัน เช่น วันหยุด
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Overlay" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="200.00" CurrencyCode="USD" NumberOfGuests="1"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
นำราคาออก
กำหนด NotifType
เป็น Remove
เพื่อลบราคาต่ออัตราการเข้าพักทั้งหมดสำหรับ RoomID_1 และ PackageID_1 ระหว่าง 2021-10-20 ถึง 2021-12-31
เช่น หากส่งข้อความนี้หลังจากข้อความตัวอย่างอื่นๆ ระบบจะไม่จัดเก็บราคาต่ออัตราการเข้าพัก
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Remove" NotifScopeType="ProductRate">> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
เพิ่ม วางซ้อน และนำจำนวนเงินสำหรับแขกเพิ่มเติมออก
เพิ่มจำนวน
กำหนด NotifType
เป็น Delta
เพื่อเพิ่มราคาฐานสำหรับอัตราการเข้าพัก 1 และ 2 รวมถึงจำนวนแขกเพิ่มเติมสำหรับ RoomID_1 และ PackageID_1 ระหว่าง 2021-10-20 ถึง 2021-12-31
ระบบจะใช้จำนวนแขกเพิ่มเติมกับราคาฐานซึ่งจะกำหนดโดยอัตราการเข้าพักในการค้นหาของผู้ใช้ จำนวนผู้ใช้ที่ระบุ ต้องไม่เกินความจุของ RoomID_1
ในตัวอย่างนี้ ระบบจะใช้จำนวนเงินสำหรับแขกเพิ่มเติมดังนี้
- $5 สำหรับเด็กในช่วงอายุ 0-10 ปี (รวม)
- $10 สำหรับเด็กอายุ 11-17 ปี (รวม)
- $20 สำหรับผู้ใหญ่
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Delta" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" CurrencyCode="USD" NumberOfGuests="1"/> <BaseByGuestAmt AmountBeforeTax="110.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> <AdditionalGuestAmounts> <AdditionalGuestAmount Amount="5.00" AgeQualifyingCode="8" MaxAge="10" /> <AdditionalGuestAmount Amount="10.00" AgeQualifyingCode="8" MaxAge="17" /> <AdditionalGuestAmount Amount="20.00" AgeQualifyingCode="10" /> </AdditionalGuestAmounts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
จำนวนเงินที่วางซ้อน
กำหนด NotifType
เป็น Overlay
เพื่อลบราคาต่ออัตราการเข้าพักทั้งหมดและจำนวนเงินเพิ่มเติมสำหรับแขกทั้งหมดสำหรับ RoomID_1 และ PackageID_1 ระหว่าง 2021-10-20 ถึง 2021-12-31 และแทนที่ด้วยราคาต่ออัตราการเข้าพักและจำนวนเงินเพิ่มเติมที่ระบุใหม่
เช่น หากส่งข้อความนี้หลังจากข้อความ "เพิ่มราคา" ระบบจะลบราคาที่ 1 และ 2 ของอัตราการเข้าพักพื้นฐาน และจะจัดเก็บเฉพาะราคาที่ 1 ของอัตราการเข้าพักพื้นฐานใหม่เท่านั้น ระบบจะลบชุดจำนวนเงินสำหรับแขกเพิ่มเติมชุดก่อนหน้า และจะจัดเก็บเฉพาะชุดจำนวนเงินใหม่เท่านั้น ตอนนี้จำนวนแขกเพิ่มเติมจะใช้ราคาการเข้าพัก 1 คนใหม่เป็น ราคาฐาน โปรดทราบว่าหลังจากการอัปเดตนี้ จะไม่มีการกำหนดค่าใช้จ่ายเพิ่มเติมสำหรับแขก ที่เป็นเด็ก
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Overlay" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="200.00" CurrencyCode="USD" NumberOfGuests="1"/> </BaseByGuestAmts> <AdditionalGuestAmounts> <AdditionalGuestAmount Amount="30.00" AgeQualifyingCode="10" /> </AdditionalGuestAmounts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
นำจำนวนเงินออก
กำหนด NotifType
เป็น Delete
เพื่อลบราคาฐานต่ออัตราการเข้าพักทั้งหมด และจำนวนเงินสำหรับแขกเพิ่มเติมทั้งหมดสำหรับ RoomID_1 และ PackageID_1 ระหว่าง 2021-10-20 ถึง 2021-12-31
เช่น หากส่งข้อความนี้หลังจากข้อความตัวอย่างอื่นๆ ระบบจะไม่จัดเก็บราคาฐานต่ออัตราการเข้าพักหรือจำนวนแขกเพิ่มเติม
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Remove" NotifScopeType="ProductRate">> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
นำเฉพาะจำนวนเงินสำหรับแขกรับเชิญเพิ่มเติมออก
กำหนด NotifType
เป็น Delta
โดยมีองค์ประกอบ <AdditionalGuestAmounts>
ว่างเปล่าเพื่อลบจำนวนเงินสำหรับแขกเพิ่มเติมทั้งหมดสำหรับ RoomID_1 และ PackageID_1 โดยไม่ส่งผลต่อราคาฐานระหว่าง 2021-10-20 ถึง 2021-12-31
เช่น หากส่งข้อความนี้หลังจากข้อความตัวอย่างอื่นๆ ระบบจะจัดเก็บเฉพาะจำนวนเงินฐาน
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Delta" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <AdditionalGuestAmounts/> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
การกำหนดราคาตาม LOS
กำหนดราคาตามระยะเวลาการเข้าพัก
ตัวอย่างที่ 1
กำหนดราคาสำหรับการเข้าพัก 1, 2 และ 3 คืนโดยเริ่มตั้งแต่วันที่ 2020-05-18 ในตัวอย่างนี้ ราคารวมสำหรับการเข้าพัก 1, 2 และ 3 คืนจะเป็น $100, $180 และ $240 ตามลำดับ
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-18" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1" RatePlanType="26"/> <Rates> <Rate UnitMultiplier="1" RateTimeUnit="Day"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> <Rate UnitMultiplier="2" RateTimeUnit="Day"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="90.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> <Rate UnitMultiplier="3" RateTimeUnit="Day"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="80.00" CurrencyCode="USD" NumberOfGuests="2" /> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
เพิ่ม วางซ้อน และนำราคาตาม LOS ออก
เพิ่มระยะเวลาในการเข้าพัก
เมื่อใช้การกำหนดราคาตาม LOS Delta
การดำเนินการจะช่วยให้อัปเดตราคาได้ทีละรายการสำหรับช่วงวันที่เช็คอินที่ระบุใน <StatusApplicationControl>
และสำหรับระยะเวลาในการเข้าพักทั้งหมดที่ระบุโดย Rate
องค์ประกอบย่อยแต่ละรายการ UnitMultiplier
สำหรับวันที่เช็คอินและระยะเวลาเข้าพักที่เกี่ยวข้องแต่ละรายการ ต้องระบุอัตราการเข้าพักทั้งหมด
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0" NotifType="Delta" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-18" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1" RatePlanType="26"/> <Rates> <Rate UnitMultiplier="3" RateTimeUnit="Day"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="80.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
วางซ้อนระยะเวลาในการเข้าพัก
การกำหนดราคาตาม LOS จะทำให้Overlay
การดำเนินการ
แทนที่ราคาสำหรับระยะเวลาในการเข้าพักทั้งหมดของผลิตภัณฑ์และช่วงวันที่เช็คอิน
ที่ระบุใน <StatusApplicationControl>
ข้อความนี้จะนำราคาต่ออัตราการเข้าพักสำหรับระยะเวลาในการเข้าพักทั้งหมดในวันที่มาถึงที่ระบุออก และแทนที่ด้วยราคาสำหรับอัตราการเข้าพัก 2 คนซึ่งกำหนดไว้สำหรับระยะเวลาในการเข้าพัก 3 วันเท่านั้น
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0" NotifType="Overlay" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-18" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1" RatePlanType="26"/> <Rates> <Rate UnitMultiplier="3" RateTimeUnit="Day"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="80.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
นำระยะเวลาในการเข้าพักออก
เมื่อใช้การกำหนดราคาตาม LOS Remove
จะนำราคาสำหรับระยะเวลาในการเข้าพักทั้งหมดของผลิตภัณฑ์และช่วงวันที่เช็คอินที่ระบุใน <StatusApplicationControl>
ออก
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Remove" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1" RatePlanType="26"/> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
คำตอบ
ไวยากรณ์
ข้อความ OTA_HotelRateAmountNotifRS
ใช้ไวยากรณ์ต่อไปนี้
<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05"
TimeStamp="timestamp"
EchoToken="echo_token"
Version="3.0">
<!-- Either Success or Errors will be populated. -->
<Success/>
<Errors>
<Error Type="12" Status="NotProcessed" ShortText="issue_code">issue_description</Error>
</Errors>
</OTA_HotelRateAmountNotifRS>
องค์ประกอบและแอตทริบิวต์
ข้อความ OTA_HotelRateAmountNotifRS
มีองค์ประกอบและแอตทริบิวต์ต่อไปนี้
องค์ประกอบ / @แอตทริบิวต์ | จำนวนข้อผิดพลาด | ประเภท | คำอธิบาย |
---|---|---|---|
OTA_HotelRateAmountNotifRS | 1 | Complex element | องค์ประกอบรูทสำหรับการตอบกลับข้อความเกี่ยวกับความพร้อมให้บริการ |
OTA_HotelRateAmountNotifRS / @TimeStamp | 1 | DateTime | วันที่และเวลาที่สร้างข้อความนี้ |
OTA_HotelRateAmountNotifRS / @EchoToken | 1 | string | ตัวระบุที่ไม่ซ้ำกันจากข้อความ OTA_HotelRateAmountNotifRQ ที่เกี่ยวข้อง |
OTA_HotelRateAmountNotifRS / Success | 0..1 | Success | บ่งบอกว่าประมวลผลข้อความ OTA_HotelRateAmountNotifRQ เรียบร้อยแล้ว
แต่ละข้อความจะมี |
OTA_HotelRateAmountNotifRS / Errors | 0..1 | Errors | คอนเทนเนอร์สำหรับปัญหาอย่างน้อย 1 รายการที่พบขณะประมวลผลข้อความ OTA_HotelRateAmountNotifRQ
แต่ละข้อความจะมี |
OTA_HotelRateAmountNotifRS / Errors / Error | 1..n | Error | คำอธิบายของข้อผิดพลาดที่พบขณะประมวลผลข้อความ OTA_HotelRateAmountNotifRQ ดูรายละเอียดเกี่ยวกับข้อผิดพลาดเหล่านี้ได้ในข้อความแสดงข้อผิดพลาดของสถานะฟีด |
OTA_HotelRateAmountNotifRS / Errors / Error / @Type | 1 | integer | OpenTravel Alliance EWT (ประเภทคําเตือนของข้อผิดพลาด) ที่เกี่ยวข้องกับข้อผิดพลาดนี้ ใช้เฉพาะค่า 12 (Processing exception) เท่านั้น |
OTA_HotelRateAmountNotifRS / Errors / Error / @Code | 1 | integer | OpenTravel Alliance ERR (รหัสข้อผิดพลาด) ที่เกี่ยวข้องกับข้อผิดพลาดนี้
ใช้เฉพาะค่า 450 (Unable to process) เท่านั้น |
OTA_HotelRateAmountNotifRS / Errors / Error / @Code | 1 | enum | สถานะของคำขอเดิม ใช้เฉพาะค่า NotProcessed เท่านั้น |
OTA_HotelRateAmountNotifRS / Errors / Error / @ShortText | 1 | string | ตัวระบุ Google สำหรับปัญหา ดูรายละเอียดเกี่ยวกับข้อผิดพลาดเหล่านี้ได้ในข้อความแสดงข้อผิดพลาดของสถานะฟีด |
ตัวอย่าง
สำเร็จ
การตอบกลับข้อความ OTA_HotelRateAmountNotifRQ ที่ประมวลผลเรียบร้อยแล้วมีดังนี้
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0"> <Success/> </OTA_HotelRateAmountNotifRS>
ข้อผิดพลาด
การตอบกลับข้อความ OTA_HotelRateAmountNotifRQ ที่ยังไม่ได้ประมวลผลเนื่องจากพบข้อผิดพลาดมีดังนี้
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0"> <Errors> <Error Type="12" Code="450" Status="NotProcessed" ShortText="8001">Example</Error> </Errors> </OTA_HotelRateAmountNotifRS>