การค้นหาการอ้างอิง XML ของคำแนะนำ

ส่วนนี้จะแสดงข้อมูลอ้างอิงสำหรับข้อความขอคำแนะนำ ข้อความตอบกลับคำแนะนำ และข้อความค้นหาแบบ XML ของ Google

<Hint> (ข้อความตอบกลับคำแนะนำ)

องค์ประกอบรูทของข้อความตอบกลับคำแนะนำ ข้อความตอบกลับคำแนะนำ จะระบุว่าควรปรับราคาของชุดค่าผสมของโรงแรมหรือแผนการเดินทางใดบ้าง ข้อความเหล่านี้จะเป็นการตอบกลับข้อความขอคำแนะนำจาก Google

ข้อความตอบกลับคำแนะนำควรระบุเฉพาะโรงแรมที่มีการเปลี่ยนแปลงราคานับจากครั้งล่าสุดที่ Google ได้รับการตอบกลับคำแนะนำที่สำเร็จจากเซิร์ฟเวอร์ของคุณ

ข้อความตอบกลับคำแนะนำจะใช้วิธีใดวิธีหนึ่งต่อไปนี้เพื่อระบุว่า Google ควรปรับราคาของโรงแรมและแผนการเดินทางใดบ้าง

  • แผนการเดินทางที่แน่นอน: ชุดค่าผสมของวันที่เช็คอินและระยะเวลาในการเข้าพัก

  • ช่วงวันที่เช็คอิน: ระบุช่วงวันที่เช็คอิน โดยเริ่มด้วยวันที่เช็คอินครั้งแรกและลงท้ายด้วยวันที่เช็คอินล่าสุด

  • การเข้าพักตามช่วงเวลา (หรือแผนการเดินทางตามช่วงเวลา)

โดยวิธีเหล่านี้แต่ละวิธีต้องใช้ไวยากรณ์ที่แตกต่างกันสำหรับข้อความตอบกลับคำแนะนำ

ดูข้อมูลเพิ่มเติมได้ที่ข้อความตอบกลับคำแนะนำ

ไวยากรณ์

องค์ประกอบ <Hint> ใช้ไวยากรณ์ที่แตกต่างกัน ซึ่งขึ้นอยู่กับประเภทของข้อความตอบกลับคำแนะนำดังต่อไปนี้

แผนการเดินทางที่แน่นอน

ข้อมูลต่อไปนี้จะแสดงไวยากรณ์สำหรับแผนการเดินทางที่แน่นอนในข้อความตอบกลับคำแนะนำ

<!-- Exact Itinerary Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
  <Item>
    <Property>hotel_ID</Property>
    ...
    <Stay>
      <CheckInDate>checkin_date</CheckInDate>
      <LengthOfStay>number_of_nights</LengthOfStay>
    </Stay>
  </Item>
  ...
</Hint>

ช่วงวันที่เช็คอิน

ข้อมูลต่อไปนี้จะแสดงไวยากรณ์สำหรับช่วงวันที่เช็คอินในข้อความตอบกลับคำแนะนำ

<!-- Check-in Ranges Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
  <Item>
    <!-- At least one is required -->
    <Property>hotel_ID</Property>
    [...]

    <!-- Required -->
    <FirstDate>first_checkin_date</FirstDate>
    <!-- Required -->
    <LastDate>last_checkin_date</LastDate>
  </Item>
  ...
</Hint>

การเข้าพักตามช่วงเวลา

ข้อมูลต่อไปนี้จะแสดงไวยากรณ์สำหรับการเข้าพักตามช่วงเวลาในข้อความตอบกลับคำแนะนำ

<!-- Ranged Stay Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
  <Item>
    <!-- At least one is required -->
    <Property>1458700</Property>
    <Property>5418701</Property>
    <StaysIncludingRange>
      <!-- Required -->
      <FirstDate>2025-04-28</FirstDate>
      <!-- Optional -->
      <LastDate>2025-04-29</LastDate>
    </StaysIncludingRange>
  </Item>
  ...
</Hint>

Attributes

องค์ประกอบ <Hint> มีแอตทริบิวต์ที่ไม่บังคับ id เมื่อระบุ ระบบจะรวมเป็นแอตทริบิวต์ hintId ใน<Query> ข้อความที่ส่งตาม <Hint> นี้

องค์ประกอบลูก

องค์ประกอบ <Hint> มีองค์ประกอบย่อยต่อไปนี้

องค์ประกอบย่อย จำเป็นหรือไม่ ประเภท ประเภทการตอบกลับคำแนะนำ คำอธิบาย
<CheckInDate> Required Date แผนการเดินทางที่แน่นอน วันที่เช็คอินสำหรับแผนการเดินทาง
<FirstDate> Required Date ช่วงวันที่เช็คอินและแผนการเดินทางตามช่วงเวลา วันที่แรกของช่วงวันที่สำหรับข้อความตอบกลับคำแนะนำของช่วงวันที่เช็คอินหรือการเข้าพักตามช่วงเวลา โดยนับรวมวันที่เลือกด้วย
<Item> Required Object ทั้งหมด คอนเทนเนอร์สำหรับโรงแรม/แผนการเดินทางที่จะอัปเดต
<LastDate> Required* Date ช่วงวันที่เช็คอินและแผนการเดินทางตามช่วงเวลา

วันที่สุดท้ายของช่วงวันที่สำหรับข้อความตอบกลับคำแนะนำของช่วงวันที่เช็คอินหรือการเข้าพักตามช่วงเวลา โดยนับรวมวันที่เลือกด้วย

* องค์ประกอบนี้ไม่จำเป็นต้องระบุสำหรับการเข้าพักตามช่วงเวลา

<LengthOfStay> Required integer แผนการเดินทางที่แน่นอน จำนวนคืนสำหรับแผนการเดินทาง ซึ่งแสดงเป็นจำนวนเต็มบวก
<Property> Required string ทั้งหมด

รหัสของโรงแรม ซึ่งใช้รหัสเดียวกันกับข้อมูลโรงแรม ระบบจะกำหนดจำนวนขององค์ประกอบ <Property> ที่คุณจะระบุในบล็อก <Item> เดียวได้จากประเภทของข้อความตอบกลับคำแนะนำดังต่อไปนี้

  • แผนการเดินทางที่แน่นอน: โรงแรมสูงสุด 100 แห่ง
  • ช่วงวันที่เช็คอิน: มีมากกว่า 1 รายการหากคุณตั้งค่า <MultipleItineraries> เป็น "checkin_range" ในข้อความ <QueryControl>
  • การเข้าพักตามช่วงเวลา: มีมากกว่า 1 รายการหากคุณตั้งค่า <MultipleItineraries> เป็น "affected_dates" ในข้อความ <QueryControl>
<Stay> Required Object แผนการเดินทางที่แน่นอน คอนเทนเนอร์สำหรับองค์ประกอบ <CheckinDate> และ <LengthOfStay> ในข้อความตอบกลับคำแนะนำของแผนการเดินทางที่แน่นอน <Item> แต่ละรายการจะมี <Stay> ได้เพียงรายการเดียว
<StaysIncludingRange> Required Object การเข้าพักตามช่วงเวลา คอนเทนเนอร์สำหรับองค์ประกอบ <FirstDate> และ <LastDate> ในข้อความตอบกลับคำแนะนำของการเข้าพักตามช่วงเวลา

ตัวอย่าง

แผนการเดินทางที่แน่นอน

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

<!-- Exact Itinerary Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
  <Item>
    <Property>12345</Property>
    <Stay>
      <CheckInDate>2018-07-03</CheckInDate>
      <LengthOfStay>3</LengthOfStay>
    </Stay>
  </Item>
  <Item>
    <Property>12345</Property>
    <Stay>
      <CheckInDate>2018-07-03</CheckInDate>
      <LengthOfStay>4</LengthOfStay>
    </Stay>
  </Item>
</Hint>

ช่วงวันที่เช็คอิน

ตัวอย่างต่อไปนี้จะเป็นการระบุโรงแรม 2 แห่งที่มีการเปลี่ยนแปลงราคาและระบบควรดึงข้อมูลอีกครั้ง Google ได้รับแผนการเดินทางทั้งหมดระหว่างวันที่ 3 ถึง 6 กรกฎาคมสำหรับที่พัก 12345 และ 67890 ดังนี้

<!-- Check-in Ranges Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
  <Item>
    <Property>12345</Property>
    <Property>67890</Property>
    <FirstDate>2018-07-03</FirstDate>
    <LastDate>2018-07-06</LastDate>
  </Item>
</Hint>

การเข้าพักตามช่วงเวลา

ตัวอย่างต่อไปนี้จะเป็นการแสดงวิธีใช้การเข้าพักตามช่วงเวลาที่แตกต่างกัน 2 แบบ โดยแบบหนึ่งเป็นตัวอย่างสำหรับการเข้าพักหลายคืน และอีกแบบหนึ่งเป็นตัวอย่างสำหรับการเข้าพักคืนเดียว

<!-- Ranged Stay Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
  <!-- Google fetches prices for all itineraries (first and last date are set) -->
  <Item>
    <Property>12345</Property>
    <StaysIncludingRange>
      <FirstDate>2018-07-03</FirstDate>
      <LastDate>2018-07-06</LastDate>
    </StaysIncludingRange>
  </Item>

  <!-- Google fetches prices for a single night (first date only) -->
  <Item>
    <Property>67890</Property>
    <StaysIncludingRange>
      <FirstDate>2018-07-03</FirstDate>
    </StaysIncludingRange>
  </Item>
</Hint>

โดยในแต่ละตัวอย่าง Google จะตอบกลับด้วย <Query> จากนั้นคุณควรตอบกลับด้วย <Transaction> ที่มีการอัปเดตราคาสำหรับโรงแรม/แผนการเดินทางที่ระบุ

<HintRequest>

องค์ประกอบรูทของข้อความขอคำแนะนำ Google จะส่งข้อความขอคำแนะนำไปยังเซิร์ฟเวอร์ของคุณและรอการตอบกลับที่ระบุโรงแรมและแผนการเดินทางที่มีการเปลี่ยนแปลงราคานับจากครั้งล่าสุดที่ Google ได้รับการตอบกลับคำแนะนำที่สำเร็จจากเซิร์ฟเวอร์ของคุณ

หากมีการเปลี่ยนแปลงราคา Google จะส่ง <Query> ซึ่งดึงข้อมูลราคาที่อัปเดตสำหรับโรงแรมและแผนการเดินทางที่ระบุ

ดูข้อมูลเพิ่มเติมได้ที่ข้อความขอคำแนะนำ

ไวยากรณ์

องค์ประกอบ <HintRequest> ใช้ไวยากรณ์ต่อไปนี้

ไวยากรณ์

<?xml version="1.0" encoding="UTF-8"?>
<HintRequest>
  <LastFetchTime>last_fetch_time</LastFetchTime>
</HintRequest>

Attributes

องค์ประกอบ <HintRequest> ไม่มีแอตทริบิวต์

องค์ประกอบลูก

องค์ประกอบ <HintRequest> มีองค์ประกอบย่อยต่อไปนี้

องค์ประกอบย่อย ประเภท คำอธิบาย
<LastFetchTime> DateTime เวลาล่าสุดที่ Google ได้รับข้อความตอบกลับคำแนะนำจากการส่งข้อความขอคำแนะนำ

หากเวลานี้เกิดก่อนเวลาล่าสุดที่อัปเดตราคาในเซิร์ฟเวอร์ คุณควรตอบกลับด้วยข้อความตอบกลับคำแนะนำโดยระบุว่าโรงแรมใดมีการเปลี่ยนแปลงราคาบ้าง

หากไม่มีการดึงข้อมูลที่สำเร็จล่าสุด ระบบจะตั้งค่านี้เป็นค่าช่วงเวลาคงที่ (เพื่อหลีกเลี่ยงปัญหาที่ร้ายแรงกว่าเดิมซึ่งมีรายการค้างจำนวนมาก ) ค่าช่วงเวลาคงที่ปัจจุบันคือ 1, 000 วินาที แต่อาจมีการเปลี่ยนแปลง

ดูข้อมูลเพิ่มเติมได้ที่ ข้อความตอบกลับคำแนะนำ

ตัวอย่าง

ตัวอย่างต่อไปนี้แสดงข้อความขอคำแนะนำ

ข้อความขอคำแนะนำ

ตัวอย่างต่อไปนี้แสดงข้อความขอคำแนะนำ

<?xml version="1.0" encoding="UTF-8"?>
<HintRequest id="ABCDEF" timestamp="2018-06-07T16:20:00Z">
  <LastFetchTime>2018-03-25T00:04:09Z</LastFetchTime>
</HintRequest>

<Query>

องค์ประกอบรูทของข้อความ Query Query คือคำขอจาก Google สำหรับการอัปเดตราคาหรือข้อมูลเมตา โดยจะใช้กับวิธีการส่งข้อมูลทั้งแบบพุลและแบบราคาที่มีการเปลี่ยนแปลง

ข้อความค้นหาราคา

ข้อความค้นหาราคาระบุชุดค่าผสมของที่พักและแผนการเดินทางที่คุณระบุราคา

เมื่อเซิร์ฟเวอร์ได้รับข้อความค้นหาราคา เซิร์ฟเวอร์ควรตอบกลับด้วยข้อความ <Transaction> ที่มีข้อมูลราคาที่ขอ

ดูข้อมูลเพิ่มเติมได้ที่ภาพรวมราคา

ข้อความ Query มี 3 ประเภทพิเศษ ได้แก่

  • ราคาแบบเรียลไทม์: Google จะตอบกลับคำขอของผู้ใช้ที่เฉพาะเจาะจงโดยขอ อัปเดตราคาแบบเรียลไทม์ เมื่อพาร์ทเนอร์ได้รับข้อความ Live pricing query พาร์ทเนอร์ควรตอบกลับด้วยข้อความ <Transaction> ที่มีข้อมูลราคาที่ขอในองค์ประกอบ <Result>

  • เมื่อใช้การกำหนดราคาตามบริบท: Google จะอัปเดตแคชราคาตามบริบท ซึ่งได้รับความนิยมในอดีต เมื่อได้รับข้อความ With Context query คุณควรตอบกลับด้วยข้อความ <Transaction> ที่มีข้อมูลราคาที่ขอในองค์ประกอบ <Result>

    • ด้วยคำค้นหาตามบริบทสำหรับการเข้าพักคนเดียว

      เมื่อระบุราคาเพื่อตอบคำค้นหาที่มีบริบท คุณควรส่งเฉพาะราคาที่สอดคล้องกับบริบทที่ระบุเท่านั้น อัตราการเข้าพักของราคาฐาน ต้องมีผู้เข้าพักอย่างน้อย 2 คน ดังนั้นหากมีการส่งผู้เข้าพัก 1 คนใน ราคาฐาน ระบบจะละเว้นและยังถือว่าเป็นการเข้าพักแบบคู่ ในกรณีนี้ คุณควรส่งราคาพื้นฐานเป็นไม่พร้อมให้บริการและใช้ ราคาที่ซ้อนกันภายในห้องพักสำหรับผู้เข้าพัก 1 คน ดูตัวอย่างการตอบกลับที่มีบริบท คุณใช้ราคาที่มีการเปลี่ยนแปลงพร้อมบริบท เพื่อผสานรวมราคาได้โดยตั้งค่าแอตทริบิวต์ mergeable เป็น "true" ดูข้อมูลเพิ่มเติม

    • ราคาที่มีการเปลี่ยนแปลง (เดิมคือการดึงข้อมูลตามคำแนะนำ) พร้อมบริบท

      เมื่อคุณส่ง<Transaction>การตอบกลับข้อความไปยังคำค้นหาราคาที่มีการเปลี่ยนแปลงพร้อมบริบท Google จะถือว่าเป็นการแทนที่ข้อมูลราคาและความพร้อมทั้งหมดสำหรับโรงแรมหรือแผนการเดินทางที่ระบุ และระบบจะไม่รวมอัตราที่เฉพาะเจาะจงตามบริบททั้งหมดไว้ในการตอบกลับและนำออกจากแคช

      หากต้องการป้องกันการเขียนทับ คุณควรตั้งค่าแอตทริบิวต์ mergeable เป็น "true" ภายในองค์ประกอบ <Result> ในข้อความ <Transaction> แอป Google จะต่อท้ายอัตราด้วยอัตราที่แคชไว้ที่มีอยู่สำหรับบริบทที่ระบุในคำตอบ หากไม่ได้ใช้แอตทริบิวต์ที่ผสานได้ คุณ ต้องส่งราคาทั้งหมดสำหรับบริบทที่เกี่ยวข้องทั้งหมดในการตอบกลับ

    • การค้นหาข้อมูลราคาแบบเรียลไทม์ที่มีบริบท

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

  • ข้อมูลเมตา: Google จะส่งคำขออัปเดตข้อมูลเมตาสำหรับห้องพักและแพ็กเกจห้องพักของโรงแรมที่ระบุ เมื่อได้รับข้อความ Metadata Query คุณควรตอบกลับด้วยข้อความ <Transaction> ที่ระบุข้อมูลเกี่ยวกับห้องพักและแพ็กเกจห้องพักในองค์ประกอบ <PropertyDataSet> ดูข้อมูลเพิ่มเติมได้ที่ข้อมูลเมตาของแพ็กเกจห้องพัก

ไวยากรณ์

องค์ประกอบ <Query> ใช้ไวยากรณ์ต่อไปนี้

การค้นหาราคา

<?xml version="1.0" encoding="UTF-8"?>
<Query>
  <Checkin>YYYY-MM-DD</Checkin>
  <Nights>number_of_nights</Nights>
  <PropertyList>
    <Property>hotel_id</Property>
    ...
  </PropertyList>
</Query>

ราคาแบบเรียลไทม์

<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true_or_false">
  <Checkin>YYYY-MM-DD</Checkin>
  <Nights>number_of_nights</Nights>
  <!-- Only for Check-in Date Range pricing queries (Changed Pricing) -->
  <FirstDate>YYYY-MM-DD</FirstDate>
  <LastDate>YYYY-MM-DD</LastDate>
  <!-- Only for Ranged Stay pricing queries (Changed Pricing) -->
  <AffectedNights>number_of_nights</AffectedNights>
  <PropertyList>
    <Property>hotel_id</Property>
    ...
  </PropertyList>
  <!-- See documentation below for <Context> -->
  <Context>
   ...
  </Context>
</Query>

การค้นหาที่มีบริบท

<?xml version="1.0" encoding="UTF-8"?>
<Query>
  <Checkin>YYYY-MM-DD</Checkin>
  <Nights>number_of_nights</Nights>
  <!-- Only for Check-in Date Range pricing queries (Changed Pricing) -->
  <FirstDate>YYYY-MM-DD</FirstDate>
  <LastDate>YYYY-MM-DD</LastDate>
  <!-- Only for Ranged Stay pricing queries (Changed Pricing) -->
  <AffectedNights>number_of_nights</AffectedNights>
  <PropertyContextList>
    <PropertyContext>
      <Property>hotel_id</Property>
      ...
      <!-- See documentation below for <Context> -->
      <Context>
      ...
      </Context>
    </PropertyContext>
  </PropertyContextList>
</Query>

ข้อมูลเมตา

<HotelInfoProperties>
  <Property>property_ID</Property>
  ...
</HotelInfoProperties>

Attributes

องค์ประกอบ <Query> อาจมีแอตทริบิวต์ 1 รายการ: latencySensitive

คุณจะระบุแอตทริบิวต์ latencySensitive หรือไม่ก็ได้ เมื่อระบุและตั้งค่าเป็น true แอตทริบิวต์ดังกล่าวจะบ่งบอกว่าการค้นหาคือ Live Pricing Query หากต้องการให้ Google ส่งการค้นหาที่มีแอตทริบิวต์ latencySensitive โปรดติดต่อผู้จัดการลูกค้าด้านเทคนิค (TAM)

องค์ประกอบลูก

องค์ประกอบ <Query> มีองค์ประกอบย่อยต่อไปนี้

องค์ประกอบย่อย ประเภทการค้นหา ประเภท คำอธิบาย
<AffectedNights> Pricing integer จำนวนคืนสำหรับการเข้าพักตามช่วงเวลา องค์ประกอบนี้ใช้เฉพาะกับการค้นหาราคาสำหรับการเข้าพักตามช่วงเวลาที่ใช้กับราคาที่มีการเปลี่ยนแปลง
<Checkin> Pricing Date วันที่ที่มีการเปลี่ยนแปลงราคาที่ระบุ
<Context> Pricing (Live Pricing Queries only) <Context> สำหรับคำขอข้อมูลราคาแบบเรียลไทม์ ให้ระบุพารามิเตอร์บางรายการที่ใช้ในการค้นหา องค์ประกอบย่อยประกอบด้วยข้อมูลต่อไปนี้
  • <Occupancy>: จำนวนแขกทั้งหมด
  • <OccupancyDetails>: ประเภทของแขก เช่น ผู้ใหญ่หรือเด็ก
  • <UserCountry>: ประเทศที่ผู้ใช้อาศัยอยู่
  • <UserDevice>: ประเภทของอุปกรณ์ที่แขกใช้ ค้นหาโรงแรม เช่น "mobile," "tablet" หรือ "desktop"

องค์ประกอบ <Context> อาจมีค่าซ้ำกันในคำขอเดียว ซึ่งช่วยให้มีการค้นหาสำหรับอัตราการเข้าพักที่แตกต่างกันได้ ดูข้อมูลเกี่ยวกับ <Context> สำหรับรายการองค์ประกอบย่อย ไวยากรณ์ และตัวอย่าง

<FirstDate> Pricing Date วันที่เริ่มต้นสำหรับช่วงของแผนการเดินทางที่จะนำราคานี้ไปใช้ องค์ประกอบนี้ใช้เฉพาะกับการค้นหาราคาสำหรับช่วงวันที่เช็คอินที่ใช้กับราคาที่มีการเปลี่ยนแปลง
<HotelInfoProperties> Metadata string ที่พักอย่างน้อย 1 แห่งที่ Google ต้องการข้อมูลเมตาของห้องพักและแพ็กเกจห้องพักที่อัปเดตแล้วในข้อความQueryข้อมูลเมตา องค์ประกอบนี้สามารถมีองค์ประกอบ <Property> อย่างน้อย 1 รายการที่ระบุรหัสที่พักของโรงแรมได้
<LastDate> Pricing Date วันที่สิ้นสุดสำหรับช่วงของแผนการเดินทางที่จะนำราคานี้ไปใช้ องค์ประกอบนี้ใช้เฉพาะกับการค้นหาราคาสำหรับช่วงวันที่เช็คอินที่ใช้กับพุล + คำแนะนำ
<Nights> Pricing integer จำนวนคืนสำหรับแผนการเดินทางหนึ่งๆ สูงสุด 30 คืน
<PropertyList> Pricing Object

รหัสอย่างน้อย 1 รายการสำหรับโรงแรมที่ต้องอัปเดตราคา

กำหนดแต่ละโรงแรมในองค์ประกอบ <Property> ค่านี้เป็นสตริงที่ตรงกับรหัสโรงแรมในข้อมูลโรงแรม เช่น

<PropertyList>
  <Property>pid1</Property>
  <Property>pid2</Property>
</PropertyList>

ตัวอย่าง

การค้นหาราคา

ตัวอย่างต่อไปนี้แสดงข้อความค้นหาราคาที่ขอให้อัปเดตราคาสำหรับโรงแรมชุดหนึ่ง ซึ่งมีห้องว่าง 3 คืนและเริ่มตั้งแต่วันที่ 23 พฤษภาคม 2023

<?xml version="1.0" encoding="UTF-8"?>
<Query>
  <Checkin>2023-05-23</Checkin>
  <Nights>3</Nights>
  <PropertyList>
    <Property>pid5</Property>
    <Property>pid8</Property>
    <Property>pid13</Property>
    <Property>pid21</Property>
  </PropertyList>
</Query>

คำค้นหาราคาแบบเรียลไทม์

ตัวอย่างต่อไปนี้แสดงคำขอข้อมูลราคาแบบเรียลไทม์ที่มีขีดจำกัดเวลาในการตอบกลับ 500 มิลลิวินาที

<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true">
  <Checkin>2017-06-07</Checkin>
  <Nights>5</Nights>
  <DeadlineMs>500</DeadlineMs>
  <PropertyList>
    <Property>8675309</Property>
  </PropertyList>
  <Context>
    <Occupancy>4</Occupancy>
    <OccupancyDetails>
      <NumAdults>2</NumAdults>
      <Children>
        <Child age="8"/>
        <Child age="5"/>
      </Children>
    </OccupancyDetails>
    <UserCountry>US</UserCountry>
    <UserDevice>mobile</UserDevice>
  </Context>
</Query>

ด้วยการค้นหาตามบริบท

<?xml version="1.0" encoding="UTF-8"?>
<Query>
  <Checkin>2023-05-23</Checkin>
  <Nights>2</Nights>
  <PropertyContextList>
    <PropertyContext>
      <Property>8675309</Property>
      <!-- In the future, device might be specified -->
      <Context><UserCountry>US</UserCountry></Context>
      <Context><UserCountry>GB</UserCountry></Context>
    </PropertyContext>
    <PropertyContext>
      <Property>8675310</Property>
      <Property>8675311</Property>
      <Context><UserCountry>CA</UserCountry></Context>
    </PropertyContext>
  </PropertyContextList>
</Query>

พร้อมคำตอบตามบริบท

ตัวอย่างต่อไปนี้อธิบายวิธีตั้งราคาฐานเป็น unavailable(-1) สำหรับการเข้าพักคนเดียวและซ้อนราคาในองค์ประกอบ <Occupancy>

<?xml version="1.0" encoding="UTF-8"
<Transaction id="Wtdj8QoQIWcAAbaTGlIAAAC4" timestamp="2025-11-19T18:36:48Z">
<Result>
  <Property>6781291</Property>
  <Checkin>2026-01-15</Checkin>
  <Nights>1</Nights>
  <!-- Base rate is set to -1 to indicate unavailability for the default (2-person) occupancy -->
  <Baserate currency="USD">-1</Baserate>
  <Tax currency="USD">0</Tax>
  <OtherFees currency="USD">0</OtherFees>
  <Rates>
    <!-- Nested Rate for Single Occupancy -->
    <Rate rate_rule_id="rule-951">
      <Occupancy>1</Occupancy>
      <OccupancyDetails>
        <NumAdults>1</NumAdults>
      </OccupancyDetails>
      <Baserate currency="USD">150.00</Baserate>
      <Tax currency="USD">15.00</Tax>
      <OtherFees currency="USD">5.00</OtherFees>
    </Rate>
  <!-- Other nested rates for different occupancies or room types could be included here if available -->
  </Rates>
</Result>
</Transaction>

การค้นหาข้อมูลเมตา

<?xml version="1.0" encoding="UTF-8"?>
<Query>
  <HotelInfoProperties>
    <Property>pid5</Property>
    <Property>pid8</Property>
    <Property>pid13</Property>
    <Property>pid21</Property>
  </HotelInfoProperties>
</Query>

ดูตัวอย่างเพิ่มเติมของการค้นหาราคาสำหรับการเข้าพักตามช่วงเวลาและช่วงวันที่เช็คอินได้ที่Queryตัวอย่างข้อความ

<Context>

องค์ประกอบ <Context> จะอธิบายข้อมูลสำหรับ Live pricing query รวมถึงจำนวนและประเภทของแขก ประเทศของผู้ใช้ และอุปกรณ์ของผู้ใช้

ระบบจะไม่ใช้ <Context> หลายรายการกับประเทศหรืออุปกรณ์ของผู้ใช้ที่แตกต่างกัน เมื่อมีการใช้ <Context> หลายรายการเพื่อค้นหาอัตราการเข้าพักหลายรายการ โปรดระบุราคาของอัตราการเข้าพักแต่ละรายการเป็นแพ็กเกจห้องพักเพิ่มเติมสำหรับที่พักหรือแผนการเดินทางที่เกี่ยวข้อง ที่พักหรือแผนการเดินทางแต่ละรายการควรมีบล็อก <Result> เดียวที่มีราคาสำหรับอัตราการเข้าพักหลายรายการรวมอยู่ด้วย

ดูรายละเอียดการตอบกลับสำหรับการค้นหา <Context> ได้ที่ <OccupancyDetails>

ไวยากรณ์

องค์ประกอบ <Context> ใช้ไวยากรณ์ต่อไปนี้

ไวยากรณ์

<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true_or_false">
  <Checkin>date</Checkin>
  <Nights>number_of_nights</Nights>
  <DeadlineMs>number_of_milliseconds</DeadlineMs>
  <PropertyList>
    <Property>property_ID</Property>
  </PropertyList>
  <Context>
    <Occupancy>total_number_of_guests</Occupancy>
    <OccupancyDetails>
      <NumAdults>number_of_adults</NumAdults>
      <Children>
        <Child age=age_of_one_child_guest/>
        <Child age=age_of_one_child_guest/>
      </Children>
    </OccupancyDetails>
    <UserCountry>end_user_country</UserCountry>
    <UserDevice>user_device_type</UserDevice>
  </Context>
</Query>

องค์ประกอบลูก

องค์ประกอบ <Context> มีองค์ประกอบย่อยต่อไปนี้

องค์ประกอบย่อย ประเภทคำค้นหา ประเภท คำอธิบาย
<Occupancy> Pricing integer ระบุจำนวนแขกทั้งหมด

แม้ว่าจะไม่จำเป็นต้องระบุ แต่การค้นหาด้วย <Occupancy> ควรส่งผลให้มีข้อความธุรกรรมที่มีการกำหนดแพ็กเกจห้องพักที่เหมาะสมสำหรับ <Occupancy> แต่ละรายการ แต่หากแพ็กเกจห้องพักไม่พร้อมให้บริการ เราขอแนะนำให้คุณระบุองค์ประกอบ <Occupancy>

หมายเหตุ:<Occupancy> อาจไม่ปรากฏในการค้นหาเสมอไป ในกรณีดังกล่าว คุณควรแสดงราคาของอัตราการเข้าพักทั้งหมด

<OccupancyDetails> Pricing Object ขึ้นต้นด้วย <Occupancy> ระบุแขกตาม ประเภท โดยให้มีข้อมูลต่อไปนี้
  • <NumAdults>: จำนวนแขกที่เป็นผู้ใหญ่
  • <Children> และ <Child="age">: ระบุว่าแขกรายใดที่เป็นเด็ก (ปกติแล้วคือผู้มีอายุ 0-17 ปี) และอาจรวมถึงอายุของเด็กแต่ละคน

แม้ว่าจะไม่จำเป็นต้องระบุ แต่การค้นหาด้วย <OccupancyDetails> ควรส่งผลให้มีข้อความธุรกรรมที่มีการกำหนดแพ็กเกจห้องพักที่เหมาะสมสำหรับ <Occupancy> แต่ละรายการ แต่หากแพ็กเกจห้องพักไม่พร้อมให้บริการ เราขอแนะนำให้คุณระบุองค์ประกอบ <OccupancyDetails>

หมายเหตุ: <OccupancyDetails> อาจไม่ปรากฏในการค้นหาเสมอไป ในกรณีดังกล่าว คุณควรถือว่าแขกทุกคนเป็นผู้ใหญ่

<UserCountry> Pricing string

กรองราคาตามประเทศที่ผู้ใช้อาศัยอยู่ ค่าจะเป็นรหัสประเทศ 2 ตัวอักษร เช่น "US" สำหรับสหรัฐอเมริกา หรือรหัสภูมิภาค เช่น "EU" สำหรับ "ยุโรป"

การค้นหาด้วยการกำหนด <UserCountry> ควรส่งผลให้มีข้อความธุรกรรมที่มีการกำหนดบล็อก <Rates> ที่เหมาะสมสำหรับประเทศที่ค้นหา

<UserDevice> Pricing string

กรองราคาตามประเภทอุปกรณ์ที่ผู้ใช้ใช้ในการค้นหา ค่าที่เป็นไปได้มีดังนี้

  • mobile
  • desktop
  • tablet

การค้นหาด้วยการกำหนด <UserDevice> ควรส่งผลให้มีข้อความธุรกรรมที่มีการกำหนดบล็อก <Rates> ที่เหมาะสมสำหรับประเภทอุปกรณ์ที่ค้นหา

ตัวอย่าง

อัตราการเข้าพัก

ตัวอย่างต่อไปนี้แสดงคำขอข้อมูลราคาแบบเรียลไทม์สำหรับ <Occupancy> ภายใน <Context> คำขอข้อมูลราคาแบบเรียลไทม์สำหรับแขกที่เป็นผู้ใหญ่ 3 คน

<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true">
  <Checkin>2017-06-07</Checkin>
  <Nights>4</Nights>
  <DeadlineMs>500</DeadlineMs>
  <PropertyList>
    <Property>45617</Property>
  </PropertyList>
  <Context>
    <Occupancy>3</Occupancy>
    <UserCountry>US</UserCountry>
    <UserDevice>mobile</UserDevice>
  </Context>
</Query>

รายละเอียดอัตราการเข้าพัก

ตัวอย่างต่อไปนี้แสดงคำขอข้อมูลราคาแบบเรียลไทม์ที่มี <OccupancyDetails> ภายใน <Context> คำขอข้อมูลราคาแบบเรียลไทม์สำหรับแขก 4 คน ซึ่ง 2 คนเป็นเด็ก และมองหาราคาที่เหมาะกับการจองสำหรับแขกจากสหรัฐอเมริกาโดยใช้อุปกรณ์เคลื่อนที่

<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true">
  <Checkin>2017-06-07</Checkin>
  <Nights>5</Nights>
  <DeadlineMs>500</DeadlineMs>
  <PropertyList>
    <Property>8675309</Property>
  </PropertyList>
  <Context>
    <Occupancy>4</Occupancy>
    <OccupancyDetails>
      <NumAdults>2</NumAdults>
      <Children>
        <Child age="4"/>
        <Child age="12"/>
      </Children>
    </OccupancyDetails>
    <UserCountry>US</UserCountry>
    <UserDevice>mobile</UserDevice>
  </Context>
</Query>

บริบทหลายรายการ

ตัวอย่างต่อไปนี้แสดงการใช้องค์ประกอบ <Context> เพิ่มเติมในคำขอข้อมูลราคาแบบเรียลไทม์

<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true">
  <Checkin>2017-06-07</Checkin>
  <Nights>4</Nights>
  <DeadlineMs>500</DeadlineMs>
  <PropertyList>
    <Property>45617</Property>
  </PropertyList>
  <Context>
    <Occupancy>3</Occupancy>
    <UserCountry>US</UserCountry>
    <UserDevice>mobile</UserDevice>
  </Context>
  <Context>
    <Occupancy>6</Occupancy>
    <OccupancyDetails>
      <NumAdults>4</NumAdults>
      <Children>
        <Child age="6"/>
        <Child age="10"/>
      </Children>
    </OccupancyDetails>
    <UserCountry>US</UserCountry>
    <UserDevice>mobile</UserDevice>
  </Context>
</Query>