HandyCafe Docs
owner it-admin

แผนผังชั้นและโต๊ะ

ตัวแก้ไข Floor Plan คือผืนผ้าใบสำหรับจัดวางโต๊ะของคุณแบบภาพ ส่วนหน้า Tables คือมุมมองการทำงานรายโต๊ะสำหรับดูรายละเอียดและคำสั่งดำเนินการ ทั้งสองหน้าทำงานบนข้อมูลโต๊ะชุดเดียวกัน

ชั้น

ชั้นใช้จัดกลุ่มโต๊ะตามตำแหน่งจริง เช่น "Main Hall", "Mezzanine" หรือ "Outdoor Patio" คุณสร้างและจัดการชั้นได้จาก Settings > ร้านอาหาร

คาเฟทุกแห่งต้องมีอย่างน้อยหนึ่งชั้น โต๊ะทุกตัวต้องถูกกำหนดให้อยู่บนชั้นใดชั้นหนึ่งเสมอ คุณสามารถจัดลำดับชั้นด้วยปุ่ม move-up และ move-down และชั้นบนสุดจะกลายเป็นค่าเริ่มต้นเมื่อเปิดแท็บ Floor Plan หน้า Floor Plan ยังมีปุ่ม "All floors" สำหรับดูโต๊ะทั้งหมดรวมกัน

ตัวแก้ไข Floor Plan

ตัวแก้ไข Floor Plan แสดงบนผืนผ้าใบขนาด 1200 x 720 พร้อมกริด 10 พิกเซล โต๊ะจะปรากฏเป็นรูปทรงตามตำแหน่งที่บันทึกไว้ ตัวแก้ไขรองรับ 2 โหมดการแสดงผล:

โหมด เหมาะสำหรับ
2D แก้ไขและจัดวาง ลากโต๊ะ เพิ่มหรือลบ เปลี่ยนชื่อ
3D ใช้สำหรับพรีเซนต์และเดินดูผัง ผืนผ้าจะเอียงด้วย CSS perspective เพื่อให้ได้มุมมองแบบสถาปนิก การลากถูกปิดใช้งานในโหมด 3D เพราะการแมปพอยน์เตอร์บนผืนผ้าที่เอียงทำได้ไม่ชัดเจน

การเพิ่มและจัดตำแหน่งโต๊ะ

  1. เปิด ร้านอาหาร > Floor Plan
  2. เลือกชั้นเป้าหมายจากปุ่มชั้นด้านบน
  3. คลิก Add Table โต๊ะใหม่จะปรากฏที่จุดกำเนิดของผืนผ้า พร้อมรูปทรง ขนาด และจำนวนที่นั่งเริ่มต้น
  4. ลากตัวโต๊ะไปยังตำแหน่งที่ต้องการ ตำแหน่งจะถูกบันทึกอัตโนมัติเมื่อคุณปล่อยปุ่มเมาส์
  5. ทำซ้ำสำหรับทุกชุดที่นั่ง

ตำแหน่งจะสแนปเข้ากริด 10 พิกเซล เพื่อให้โต๊ะเรียงตัวเป็นระเบียบโดยไม่ต้องวางแบบเป๊ะระดับพิกเซล

คุณสมบัติโต๊ะ

โต๊ะทุกตัวมีฟิลด์ที่แก้ไขได้ดังนี้:

ฟิลด์ ความหมาย
Code ตัวระบุสั้นๆ ที่พิมพ์บน QR และมองเห็นได้สำหรับพนักงาน ต้องไม่ซ้ำกันภายในคาเฟของคุณ
Display Name ป้ายชื่อยาวกว่าสำหรับพนักงาน เช่น "Window 3" หรือ "Booth A"
Seat Count จำนวนที่นั่งของโต๊ะ ค่าเริ่มต้นคือ 2
Shape เลือกได้ระหว่าง square, rectangle horizontal, rectangle vertical, round
Size จำนวนเต็ม 1 ถึง 10 ควบคุมขนาดที่แสดงในตัวแก้ไขและในมุมมอง 3D
Floor ชั้นที่โต๊ะนี้สังกัดอยู่ สามารถย้ายโต๊ะระหว่างชั้นได้โดยแก้ฟิลด์นี้
State idle, in_use หรือ out_of_order

สถานะโต๊ะ

State ความหมาย
idle ไม่มีเซสชันที่กำลังใช้งาน ลูกค้าจะยังสั่งไม่ได้จนกว่าพนักงานจะนั่งให้
in_use มีรหัสความปลอดภัยที่ใช้งานอยู่ ลูกค้าสแกน QR และสั่งได้
out_of_order โต๊ะไม่พร้อมใช้งาน ผังจะแสดงแบบจาง และหน้าจอ QR จะแจ้งว่าใช้งานไม่ได้ ใช้สำหรับงานซ่อมหรือปัญหาเฟอร์นิเจอร์

การให้ลูกค้านั่งโต๊ะ

ถ้าต้องการรับคำสั่งซื้อจากโต๊ะ พนักงานต้องนั่งลูกค้าให้เรียบร้อย การนั่งลูกค้าจะออกโค้ดความปลอดภัยและย้ายโต๊ะเข้าสู่สถานะ in_use

  1. ที่หน้า Tables หรือจากเมนูคำสั่งของ Floor Plan ให้เลือกโต๊ะ
  2. คลิก Seat Customer (มีป้ายกำกับว่า "Open Table" ด้วย)
  3. ระบบจะสร้างรหัสความปลอดภัย 6 หลักและแสดงให้เห็น
  4. ส่งรหัสนี้ให้ลูกค้า ลูกค้าจะพิมพ์รหัสหลังจากสแกน QR

รหัสจะถูกแสดงเป็นข้อความธรรมดาเฉพาะตอนสร้าง และตอนที่ผู้ดูแลเปิดกล่องโต้ตอบ Show Code ของโต๊ะที่นั่งแล้วเท่านั้น จากนั้นมันจะถูกแฮชฝั่งเซิร์ฟเวอร์ รหัสหมดอายุหลังจากระยะเวลาค่าเริ่มต้น และสามารถหมุนใหม่หรือรีเซ็ตได้ทุกเมื่อ

การแสดงและหมุนรหัส

  • Show Code แสดงรหัสข้อความธรรมดาที่แคชไว้ของโต๊ะที่เปิดอยู่ เหมาะเวลาลูกค้าฟังไม่ทันครั้งแรก การทำงานนี้ไม่หมุนรหัสและไม่ทำให้ QR เดิมใช้ไม่ได้
  • Rotate QR สร้าง QR token ใหม่สำหรับโต๊ะ สติ๊กเกอร์ QR เดิมจะใช้ไม่ได้ เหมาะเมื่อคุณพิมพ์สติ๊กเกอร์ใหม่หรือสงสัยว่ามีการแชร์ QR เดิมออกไปภายนอก

การปิดโต๊ะ

เมื่อลูกค้าออกไปโดยไม่มีบิลค้าง ให้คลิก Close Table รหัสความปลอดภัยจะหมดอายุทันที โต๊ะจะกลับสู่ idle และการสแกนครั้งต่อไปต้องเริ่มนั่งใหม่

ถ้ายังมีออเดอร์ค้างที่โต๊ะ ให้ใช้ Settle Check แทน การปิดบิลจะปิดออเดอร์ที่เปิดอยู่ทั้งหมดด้วยวิธีชำระเงินที่เลือก แล้วคืนโต๊ะสู่สถานะ idle ดูกระบวนการปิดบิลได้ใน หน้า Orders

QR Codes

โต๊ะทุกตัวมี QR code ที่เข้ารหัส URL handy.cafe/{cafe-slug}/{table-code} โดยมี query parameter ที่เก็บ QR token เพื่อยืนยันความถูกต้องของสติ๊กเกอร์ เมื่อลูกค้าสแกน QR:

  1. หน้ามีเมนูจะตรวจสอบ slug และ table code กับ cloud API
  2. ถ้าโต๊ะอยู่ในสถานะ in_use ระบบจะขอรหัสความปลอดภัย 6 หลัก
  3. เมื่อยืนยันสำเร็จ ระบบจะออก session token และเก็บไว้ทั้งในคุกกี้และตัวสำรอง Bearer token สาเหตุที่มี Bearer fallback เพราะ iPhone Safari อาจบล็อก third-party cookies ในบางการตั้งค่า

สร้าง QR แบบพิมพ์ได้จากหน้า Tables แต่ละโต๊ะจะมีตัวอย่าง QR ให้บันทึกเป็น SVG หรือ PNG ได้ พิมพ์สติ๊กเกอร์ใหม่ทุกครั้งที่คุณหมุน QR token หรือเปลี่ยน slug

เคล็ดลับการออกแบบผังพื้น

  • เริ่มจากวางผังจริงลงบนผืนผ้าใบก่อน วางทางเข้าชิดขอบด้านหนึ่งแล้วค่อยไล่เข้าด้านใน วิธีนี้ช่วยให้พนักงานมองผังได้ง่ายขึ้น
  • แยกโต๊ะตามชั้นแม้ร้านจะมีเพียงชั้นเดียว การแยกเป็น "Hall" กับ "Terrace" จะช่วยให้กรองแดชบอร์ดออเดอร์ตามโซนได้
  • ใช้ค่า Size ที่ใหญ่ขึ้นสำหรับบูธที่นั่งได้ 4 คนขึ้นไป และใช้ค่าที่เล็กกว่าสำหรับเก้าอี้เคาน์เตอร์
  • ทำเครื่องหมายโต๊ะเป็น out_of_order เมื่อเฟอร์นิเจอร์ต้องซ่อม เพื่อไม่ให้ลูกค้าสั่งโต๊ะนั้น อย่าลบเรคคอร์ดโต๊ะเว้นแต่ที่นั่งนั้นจะหายไปถาวร