การผสานรวม GTM Analytics
คุณสามารถเชื่อมต่อ คอนเทนเนอร์ Google Tag Manager (GTM) ใดก็ได้ กับ Wink โดยการป้อน GTM Container ID ในพอร์ทัล Wink เมื่อเชื่อมต่อแล้ว คอนเทนเนอร์ของคุณจะโหลดโดยอัตโนมัติสำหรับที่พักของคุณและอ่านเหตุการณ์การจองของ Wink โดยตรง — ครอบคลุมเส้นทางของแขกตั้งแต่การค้นหาจนถึงการจองที่เสร็จสมบูรณ์ กรณีการใช้งานทั่วไปคือคอนเทนเนอร์ Sojern สำหรับรีทาร์เก็ตติ้งและโฆษณา แต่คอนเทนเนอร์ GTM ใด ๆ ก็ทำงานในลักษณะเดียวกัน
สิ่งที่คุณต้องทำ
หัวข้อที่มีชื่อว่า “สิ่งที่คุณต้องทำ”-
รับ GTM Container ID ของคุณ
รับ GTM Container ID ของคุณ (รูปแบบ
GTM-XXXXXXX) หากมาจากพันธมิตร เช่น Sojern โปรดขอ GTM Container ID โดยเฉพาะ — ซึ่งแตกต่างจากพิกเซลหรือรหัสแท็ก -
ป้อนในพอร์ทัล Wink
เข้าสู่ระบบที่ app.wink.travel เลือกบัญชีของคุณ และไปที่แท็บ Customizations วาง GTM Container ID ของคุณในช่อง GTM แล้วบันทึก การผสานรวมของคุณจะเริ่มทำงานทันที
-
(ไม่บังคับ) เพิ่ม GA4 Measurement ID + API Secret สำหรับการซื้อแบบฝั่งเซิร์ฟเวอร์
คอนเทนเนอร์ GTM ทำงานทั้งหมดในเบราว์เซอร์ของแขก ดังนั้นการจองที่เสร็จสมบูรณ์อาจพลาดได้หากแขกปิดแท็บระหว่างการเปลี่ยนเส้นทางการชำระเงิน หากคอนเทนเนอร์ของคุณโหลด ทรัพย์สิน GA4 และคุณต้องการบันทึกการจองที่เสร็จสมบูรณ์อย่างน่าเชื่อถือ ให้ป้อน Measurement ID และ Measurement Protocol API secret ของ GA4 นั้นในส่วน GTM ด้วย Wink จะส่งเหตุการณ์
purchaseสำหรับทรัพย์สินนั้น แบบฝั่งเซิร์ฟเวอร์ ตามที่อธิบายไว้ในคู่มือ GA4 Analytics Integration หากคุณต้องการเพียงการติดตามในเบราว์เซอร์ ให้เว้นว่างไว้ -
ยืนยันกับผู้ให้บริการของคุณ
หากคอนเทนเนอร์ของคุณมาจากพันธมิตร เช่น Sojern แจ้งผู้จัดการบัญชีของคุณว่าการผสานรวมเปิดใช้งานแล้ว พวกเขาสามารถตรวจสอบจากฝั่งของตนว่าแท็กทำงานถูกต้องบน
wink.travelสำหรับที่พักของคุณและข้อมูลไหลเข้าสู่บัญชีของคุณ
สิ่งที่ Wink ทำในฝั่งของเรา
หัวข้อที่มีชื่อว่า “สิ่งที่ Wink ทำในฝั่งของเรา”เพื่อความโปร่งใส นี่คือสิ่งที่ Wink กำหนดค่าเพื่อให้การผสานรวมนี้ทำงาน:
- มีช่อง GTM Container ID ในแท็บ Customizations ของพอร์ทัล Wink ของคุณ เมื่อคุณป้อน Container ID Wink จะตรวจสอบรูปแบบ (
GTM-XXXXXXX) และจัดเก็บอย่างปลอดภัยกับที่พักของคุณ - ในทุกหน้าที่ที่ที่พักของคุณเปิดใช้งาน บน Wink คอนเทนเนอร์ของคุณจะถูกฝังโดยตรงในหน้า — ใช้
window.dataLayerของ Wink ร่วมกัน — เพื่อให้โหลดพร้อมกับคอนเทนเนอร์ของ Wink โดยไม่มีการพึ่งพาการกำหนดค่าเพิ่มเติมใด ๆ สิ่งนี้เกิดขึ้นโดยอัตโนมัติ โดยไม่ต้องมีงานเฉพาะสำหรับแต่ละที่พักจากทีม Wink - คอนเทนเนอร์ของคุณโหลดแบบอะซิงโครนัส ดังนั้นจึงไม่ส่งผลกระทบต่อประสิทธิภาพการโหลดหน้าสำหรับแขกของคุณ
- การติดตามของ Wink และคอนเทนเนอร์ของคุณทำงานคู่ขนานกัน โดยอ่านจาก
dataLayerร่วมกันเดียวกัน เหตุการณ์การจองทุกเหตุการณ์ที่ Wink ติดตามจะพร้อมใช้งานสำหรับคอนเทนเนอร์ของคุณในเวลาเดียวกัน - เมื่อที่พักของคุณไม่ได้ถูกดู — เช่น เมื่อแขกกำลังเรียกดูโรงแรมอื่นบน Wink — คอนเทนเนอร์ของคุณจะไม่ถูกโหลด ดังนั้นจะได้รับข้อมูลที่เกี่ยวข้องกับที่พักของคุณเท่านั้น
- หากคุณให้ GA4 Measurement ID + API secret (ขั้นตอนที่ 3 ข้างต้น) เหตุการณ์
purchaseสำหรับการจองที่เสร็จสมบูรณ์จะถูกส่งเพิ่มเติม แบบฝั่งเซิร์ฟเวอร์ ผ่าน GA4 Measurement Protocol ดังนั้นการขายจะถูกบันทึกแม้แขกจะไม่กลับไปยังหน้าการยืนยัน
การอ้างอิง DataLayer
หัวข้อที่มีชื่อว่า “การอ้างอิง DataLayer”Wink ดันเหตุการณ์ที่เข้ากันได้กับ GA4 ไปยัง dataLayer ตลอดเส้นทางของแขก คอนเทนเนอร์ GTM ของคุณอ่านจาก dataLayer ร่วมกันนี้ ดังนั้นทริกเกอร์หรือค่าตัวแปรใด ๆ ที่คุณกำหนดค่าจะเข้าถึงคุณสมบัติทั้งหมดที่อธิบายไว้ด้านล่าง
แต่ละเหตุการณ์เป็นไปตามโครงสร้าง GA4 Enhanced Ecommerce มาตรฐาน: สตริง event ระดับบนสุดและอ็อบเจ็กต์ ecommerce ก่อนการดันแต่ละครั้ง Wink จะล้างข้อมูล ecommerce ก่อนหน้าเพื่อป้องกันข้อมูลเก่ารั่วไหลไปยังทริกเกอร์ใหม่
เหตุการณ์เส้นทางการจอง
หัวข้อที่มีชื่อว่า “เหตุการณ์เส้นทางการจอง”เหตุการณ์เหล่านี้จะทำงานโดยอัตโนมัติเมื่อแขกเคลื่อนผ่านช่องทางการจอง กำหนดค่าทริกเกอร์ GTM ของคุณเป็นทริกเกอร์ Custom Event ที่ตรงกับชื่อเหตุการณ์ด้านล่าง
| ขั้นตอน | เหตุการณ์ | เมื่อทำงาน |
|---|---|---|
| 1 | view_item_list | โหลดกริดหรือรายการสินค้าของโรงแรม |
| 2 | view_item | แขกดูหน้าที่พักเฉพาะ |
| 3 | add_to_cart | แขกเพิ่มห้องพักลงในรถเข็น |
| 4 | begin_checkout | โหลดหน้าชำระเงิน/เช็คเอาต์ |
| 5 | add_payment_info | แขกเลือกวิธีชำระเงิน |
| 6 | login | แขกยืนยันตัวตนผ่าน SSO |
| 7 | purchase | การจองได้รับการยืนยัน |
| 8 | refund | การจองถูกยกเลิก |
view_item_list
หัวข้อที่มีชื่อว่า “view_item_list”ทำงานเมื่อกริดหรือรายการสินค้าของโรงแรมถูกแสดงผล
{ "event": "view_item_list", "ecommerce": { "item_list_id": "featured_hotels", "item_list_name": "Featured Hotels", "items": [ ] }}view_item
หัวข้อที่มีชื่อว่า “view_item”ทำงานเมื่อแขกดูที่พักเฉพาะ
{ "event": "view_item", "ecommerce": { "currency": "USD", "value": 299.00, "items": [ ] }}add_to_cart
หัวข้อที่มีชื่อว่า “add_to_cart”ทำงานเมื่อแขกเพิ่มห้องพักลงในรถเข็น
{ "event": "add_to_cart", "ecommerce": { "currency": "USD", "value": 299.00, "items": [ ] }}begin_checkout
หัวข้อที่มีชื่อว่า “begin_checkout”ทำงานเมื่อโหลดหน้าชำระเงิน/เช็คเอาต์
{ "event": "begin_checkout", "ecommerce": { "currency": "USD", "value": 299.00, "coupon": "SUMMER10", "items": [ ] }}coupon จะมีเฉพาะเมื่อมีการใช้รหัสส่วนลด
add_payment_info
หัวข้อที่มีชื่อว่า “add_payment_info”ทำงานเมื่อแขกเลือกหรือยืนยันวิธีชำระเงิน
{ "event": "add_payment_info", "ecommerce": { "currency": "USD", "value": 299.00, "coupon": "SUMMER10", "payment_type": "STRIPE", "items": [ ] }}payment_type จะถูกเติมจากประเภทผู้รับชำระเงิน coupon จะมีเฉพาะเมื่อมีการใช้รหัสส่วนลด
ทำงานเมื่อแขกยืนยันตัวตนผ่าน single sign-on
{ "event": "login", "ecommerce": { "method": "IAM" }}purchase
หัวข้อที่มีชื่อว่า “purchase”ทำงานเมื่อการจองได้รับการยืนยัน
{ "event": "purchase", "ecommerce": { "currency": "USD", "transaction_id": "bc-a1b2c3d4", "value": 299.00, "coupon": "SUMMER10", "shipping": 0.00, "tax": 0.00, "items": [ { "item_id": "rr-xyz789", "item_name": "Deluxe Ocean Suite", "item_brand": "Grand Resort", "item_category": "GUEST_ROOM", "price": 299.00, "quantity": 1, "property_id": "prop-abc123", "property_name": "Grand Resort Maldives", "property_brand": "Grand Collection", "property_chain": "Luxury Hotels International", "city_name": "Malé", "country_code": "MV", "start_date": "2026-06-01", "end_date": "2026-06-05", "num_adults": 2, "num_children": 0, "cancellation_policy": "Refundable", "rate_plan_id": "rp-summer2026", "room_rate_id": "rr-xyz789", "room_rate_name": "Summer Escape — Bed & Breakfast", "num_perks": 2, "room_location": "Overwater", "room_view": "Ocean", "room_classification": "Suite" } ] }}transaction_id คือรหัสสัญญาการจองที่ไม่ซ้ำกัน coupon, shipping และ tax จะมีเฉพาะเมื่อใช้ได้
ทำงานเมื่อการจองถูกยกเลิก
{ "event": "refund", "ecommerce": { "currency": "USD", "transaction_id": "bc-a1b2c3d4", "value": 299.00, "coupon": "SUMMER10", "shipping": 0.00, "tax": 0.00, "items": [ ] }}transaction_id ตรงกับเหตุการณ์ purchase สำหรับการจองเดียวกัน coupon, shipping และ tax จะมีเฉพาะเมื่อใช้ได้
คุณสมบัติของรายการ
หัวข้อที่มีชื่อว่า “คุณสมบัติของรายการ”เหตุการณ์ทั้งหมดที่มีอาร์เรย์ items ใช้สคีมารายการเดียวกัน ทุกคุณสมบัติเป็นทางเลือก ยกเว้นที่ระบุว่าจำเป็น
ฟิลด์ GA4 มาตรฐาน
หัวข้อที่มีชื่อว่า “ฟิลด์ GA4 มาตรฐาน”ฟิลด์เหล่านี้ GA4 เข้าใจโดยตรงและปรากฏในรายงาน ecommerce มาตรฐานโดยไม่ต้องกำหนดค่าเพิ่มเติม
| คุณสมบัติ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
item_id | string | ใช่ | ตัวระบุเฉพาะสำหรับห้องพักหรือสินค้า |
item_name | string | — | ชื่อของห้องพักหรือสินค้า |
affiliation | string | — | ชื่อพันธมิตรหรือผู้ขาย |
coupon | string | — | รหัสคูปองที่ใช้กับรายการ |
currency | string | — | รหัสสกุลเงิน ISO 4217 (เช่น USD) |
creative_name | string | — | ชื่อครีเอทีฟที่ใช้ในโปรโมชั่น |
creative_slot | string | — | ตำแหน่งช่องของครีเอทีฟโปรโมชั่น |
discount | number | — | จำนวนส่วนลดที่ใช้ |
index | number | — | ตำแหน่งในรายการ (เริ่มที่ 1) |
item_brand | string | — | ชื่อโรงแรมหรือแบรนด์ |
item_category | string | — | ประเภทสินค้า — เช่น GUEST_ROOM, ACTIVITY, ATTRACTION, MEETING_ROOM, RESTAURANT, SPA |
item_list_id | string | — | ตัวระบุของรายการที่รายการนี้เป็นส่วนหนึ่ง |
item_list_name | string | — | ชื่อแสดงของรายการ |
location_id | string | — | พิกัดทางภูมิศาสตร์ของที่พัก |
price | number | — | ราคาต่อหน่วย |
promotion_id | string | — | ตัวระบุของโปรโมชั่น |
promotion_name | string | — | ชื่อแสดงของโปรโมชั่น |
quantity | number | — | จำนวน (ค่าเริ่มต้นเป็น 1) |
พารามิเตอร์เฉพาะรายการแบบกำหนดเอง
หัวข้อที่มีชื่อว่า “พารามิเตอร์เฉพาะรายการแบบกำหนดเอง”พารามิเตอร์เหล่านี้บรรจุบริบทการจองเฉพาะของ Wink GA4 จะไม่แสดงโดยอัตโนมัติในรายงาน — คุณต้องลงทะเบียนแต่ละพารามิเตอร์เป็น มิติแบบกำหนดเองที่มีขอบเขตรายการ ในทรัพย์สิน GA4 ของคุณก่อนที่จะปรากฏในรายงานหรือการสำรวจ ดูหัวข้อ Custom Dimensions in GA4 ด้านล่างสำหรับคำแนะนำการตั้งค่า
| คุณสมบัติ | ประเภท | คำอธิบาย |
|---|---|---|
property_id | string | ตัวระบุที่พักของ Wink |
property_name | string | ชื่อแสดงของที่พัก |
property_brand | string | แบรนด์ที่ที่พักเป็นส่วนหนึ่ง |
property_chain | string | เครือที่ที่พักเป็นส่วนหนึ่ง |
property_url_name | string | ชื่อสลัก URL ที่เป็นมิตรสำหรับที่พัก |
city_name | string | ชื่อเมืองที่ที่พักตั้งอยู่ |
country_code | string | รหัสประเทศ ISO 3166-1 alpha-2 |
start_date | string | วันที่เช็คอินในรูปแบบ YYYY-MM-DD |
end_date | string | วันที่เช็คเอาต์ในรูปแบบ YYYY-MM-DD |
num_adults | number | จำนวนผู้ใหญ่ในการจอง |
num_children | number | จำนวนเด็กในการจอง |
cancellation_policy | string | หนึ่งใน: Refundable, Non-Refundable, Refundable-With-Restrictions, Non-Refundable-With-Restrictions |
rate_plan_id | string | ตัวระบุแผนราคา |
room_rate_id | string | ตัวระบุราคาห้องเฉพาะ |
room_rate_name | string | ชื่อแสดงของราคาห้อง |
num_perks | number | จำนวนสิทธิพิเศษที่รวมกับราคา |
room_location | string | คำอธิบายตำแหน่งของห้อง (เช่น Overwater, Garden) |
room_view | string | คำอธิบายวิวของห้อง (เช่น Ocean, City) |
room_classification | string | การจัดประเภทหรือระดับของห้อง (เช่น Suite, Standard) |
bed_type | string | การจัดเตียงของห้อง (เช่น King, Twin) |
มิติแบบกำหนดเองใน GA4
หัวข้อที่มีชื่อว่า “มิติแบบกำหนดเองใน GA4”GA4 จะไม่สนใจพารามิเตอร์รายการแบบกำหนดเองในรายงานจนกว่าคุณจะลงทะเบียนอย่างชัดเจนเป็นมิติแบบกำหนดเองที่มีขอบเขตรายการ คุณต้องลงทะเบียนเฉพาะพารามิเตอร์ที่ต้องการใช้ในรายงาน — ไม่จำเป็นต้องลงทะเบียนทั้งหมด 20 รายการ
-
เปิด Custom Definitions
ใน GA4 ไปที่ Admin (ไอคอนเฟืองมุมล่างซ้าย) → เลือกทรัพย์สินของคุณ → Data display → Custom definitions
-
สร้างมิติแบบกำหนดเองใหม่
คลิก Create custom dimensions
-
กรอกรายละเอียดมิติ
- Dimension name — ป้ายชื่อที่อ่านได้สำหรับมนุษย์ที่ปรากฏในรายงาน GA4 (ดูตารางด้านล่าง)
- Scope — เลือก Item
- Event parameter — ชื่อพารามิเตอร์ที่ตรงกับใน dataLayer (ดูตารางด้านล่าง)
- Description — ไม่บังคับแต่แนะนำให้ใส่
-
บันทึกและทำซ้ำ
คลิก Save แล้วทำซ้ำสำหรับแต่ละพารามิเตอร์ที่ต้องการติดตาม
ใช้ตารางต่อไปนี้เป็นข้อมูลอ้างอิงเมื่อสร้างมิติแบบกำหนดเอง ค่า Event parameter ต้องตรงกันอย่างแม่นยำ — GA4 แยกแยะตัวพิมพ์ใหญ่/เล็ก
| ชื่อมิติ | Event parameter | ประเภท |
|---|---|---|
| Property ID | property_id | ข้อความ |
| Property name | property_name | ข้อความ |
| Property brand | property_brand | ข้อความ |
| Property chain | property_chain | ข้อความ |
| Property URL name | property_url_name | ข้อความ |
| City name | city_name | ข้อความ |
| Country code | country_code | ข้อความ |
| Check-in date | start_date | ข้อความ |
| Check-out date | end_date | ข้อความ |
| Number of adults | num_adults | ตัวเลข |
| Number of children | num_children | ตัวเลข |
| Cancellation policy | cancellation_policy | ข้อความ |
| Rate plan ID | rate_plan_id | ข้อความ |
| Room rate ID | room_rate_id | ข้อความ |
| Room rate name | room_rate_name | ข้อความ |
| Number of perks | num_perks | ตัวเลข |
| Room location | room_location | ข้อความ |
| Room view | room_view | ข้อความ |
| Room classification | room_classification | ข้อความ |
| Bed type | bed_type | ข้อความ |
เหตุการณ์เพิ่มเติมที่มีให้ใช้งาน
หัวข้อที่มีชื่อว่า “เหตุการณ์เพิ่มเติมที่มีให้ใช้งาน”เหตุการณ์ต่อไปนี้มีอยู่ใน dataLayer ของ Wink แต่ไม่ใช่ส่วนหนึ่งของช่องทางการจองมาตรฐาน อาจถูกเรียกใช้โดยปฏิสัมพันธ์อื่น ๆ บนแพลตฟอร์ม
add_to_wishlist
หัวข้อที่มีชื่อว่า “add_to_wishlist”{ "event": "add_to_wishlist", "ecommerce": { "currency": "USD", "value": 299.00, "items": [ ] }}remove_from_cart
หัวข้อที่มีชื่อว่า “remove_from_cart”{ "event": "remove_from_cart", "ecommerce": { "currency": "USD", "value": 299.00, "items": [ ] }}select_item
หัวข้อที่มีชื่อว่า “select_item”{ "event": "select_item", "ecommerce": { "item_list_id": "featured_hotels", "item_list_name": "Featured Hotels", "items": [ ] }}view_cart
หัวข้อที่มีชื่อว่า “view_cart”{ "event": "view_cart"}เหตุการณ์นี้ไม่มีข้อมูล ecommerce แนบมา
view_promotion
หัวข้อที่มีชื่อว่า “view_promotion”{ "event": "view_promotion", "ecommerce": { "creative_name": "Summer Banner", "creative_slot": "hero", "promotion_id": "promo_001", "promotion_name": "Summer Sale", "items": [ ] }}select_promotion
หัวข้อที่มีชื่อว่า “select_promotion”{ "event": "select_promotion", "ecommerce": { "creative_name": "Summer Banner", "creative_slot": "hero", "promotion_id": "promo_001", "promotion_name": "Summer Sale", "items": [ ] }}{ "event": "search", "ecommerce": { "search_term": "beachfront resort" }}select_content
หัวข้อที่มีชื่อว่า “select_content”{ "event": "select_content", "ecommerce": { "content_type": "hotel", "content_id": "prop_12345" }}{ "event": "share", "ecommerce": { "method": "copy_link", "content_type": "hotel", "item_id": "prop_12345" }}sign_up
หัวข้อที่มีชื่อว่า “sign_up”{ "event": "sign_up", "ecommerce": { "method": "email" }}generate_lead
หัวข้อที่มีชื่อว่า “generate_lead”{ "event": "generate_lead", "ecommerce": { "currency": "USD", "value": 0.00 }}join_group
หัวข้อที่มีชื่อว่า “join_group”{ "event": "join_group", "ecommerce": { "group_id": "group_abc" }}earn_virtual_currency
หัวข้อที่มีชื่อว่า “earn_virtual_currency”{ "event": "earn_virtual_currency", "ecommerce": { "virtual_currency_name": "WinkPoints", "value": 100 }}spend_virtual_currency
หัวข้อที่มีชื่อว่า “spend_virtual_currency”{ "event": "spend_virtual_currency", "ecommerce": { "virtual_currency_name": "WinkPoints", "value": 50, "item_name": "Room Upgrade" }}level_start
หัวข้อที่มีชื่อว่า “level_start”{ "event": "level_start", "ecommerce": { "level_name": "Gold" }}level_end
หัวข้อที่มีชื่อว่า “level_end”{ "event": "level_end", "ecommerce": { "level_name": "Gold", "success": true }}level_up
หัวข้อที่มีชื่อว่า “level_up”{ "event": "level_up", "ecommerce": { "level": 2, "character": "traveler" }}post_score
หัวข้อที่มีชื่อว่า “post_score”{ "event": "post_score", "ecommerce": { "score": 980, "level": 2, "character": "traveler" }}unlock_achievement
หัวข้อที่มีชื่อว่า “unlock_achievement”{ "event": "unlock_achievement", "ecommerce": { "achievement_id": "first_booking" }}tutorial_begin
หัวข้อที่มีชื่อว่า “tutorial_begin”{ "event": "tutorial_begin", "ecommerce": {}}tutorial_complete
หัวข้อที่มีชื่อว่า “tutorial_complete”{ "event": "tutorial_complete", "ecommerce": {}}virtualPageView
หัวข้อที่มีชื่อว่า “virtualPageView”นี่คือเหตุการณ์เฉพาะของ Wink — ไม่ใช่ส่วนหนึ่งของชุดเหตุการณ์ GA4 มาตรฐาน ถูกดันทุกครั้งที่มีการนำทางหน้าและบรรจุบริบทของอุปกรณ์และเซสชัน ไม่มีอ็อบเจ็กต์ ecommerce แนบมา
{ "event": "virtualPageView", "device": "Desktop", "deviceAgent": "Mozilla/5.0 ...", "os": "MacOS", "path": "/hotels/grand-resort", "title": "Grand Resort — Wink", "userId": "user_abc123", "startDate": "2026-06-01", "endDate": "2026-06-05", "guests": "2", "rooms": "1"}| คุณสมบัติ | คำอธิบาย |
|---|---|
device | ประเภทอุปกรณ์ที่ตรวจจับได้ — Desktop, Android, iPhone, iPad หรืออื่น ๆ |
deviceAgent | สตริง user agent ดิบ |
os | ระบบปฏิบัติการที่ตรวจจับได้ — Windows, MacOS, Linux, UNIX |
path | เส้นทางหน้าปัจจุบัน |
title | ชื่อหน้าปัจจุบัน |
userId | ตัวระบุผู้ใช้ที่ยืนยันตัวตน (ไม่แสดงเมื่อไม่ได้เข้าสู่ระบบ) |
startDate | วันที่เช็คอินจากเซสชันการค้นหาปัจจุบัน |
endDate | วันที่เช็คเอาต์จากเซสชันการค้นหาปัจจุบัน |
guests | จำนวนแขกจากเซสชันการค้นหาปัจจุบัน |
rooms | จำนวนห้องจากเซสชันการค้นหาปัจจุบัน |
