2.1 จัดà¸à¸²à¸£à¹€à¸¡à¸™à¸¹à¸à¸²à¸«à¸²à¸£
สร้างหมวด เพิ่มเมนู à¸à¸³à¸«à¸™à¸”ราคา รูป ตัวเลืà¸à¸ (modifier) à¹à¸¥à¸°à¸ªà¸–านะพร้à¸à¸¡à¸‚าย/หมด
OwnerManager
à¸à¹ˆà¸à¸™à¹€à¸£à¸´à¹ˆà¸¡
- มีสาขาในระบบเรียบร้à¸à¸¢ (1.3)
- มีรูปภาพà¸à¸²à¸«à¸²à¸£à¸žà¸£à¹‰à¸à¸¡à¸à¸±à¸›à¹‚หลด (à¹à¸™à¸°à¸™à¸³ 800×800px สี่เหลี่ยม)
- ทราบโครงสร้างหมวด/เมนู à¹à¸¥à¸°à¸•้นทุน (สำหรับคำนวณà¸à¸³à¹„ร)
ขั้นตà¸à¸™ — เพิ่มหมวดหมู่
- ไปที่เมนู เมนู (Menu) บน Sidebar
- à¸à¸” + หมวดหมู่ มุมบนขวา เปิด Category Modal
- à¸à¸£à¸à¸à¸Šà¸·à¹ˆà¸à¸«à¸¡à¸§à¸” (เช่น "à¸à¸²à¸«à¸²à¸£à¸ˆà¸²à¸™à¹€à¸”ียว") เลืà¸à¸à¹„à¸à¸„à¸à¸™ emoji à¹à¸¥à¹‰à¸§à¸à¸” บันทึà¸
ขั้นตà¸à¸™ — เพิ่มเมนูใหม่
- à¸à¸” + เมนูใหม่ เปิด Item Modal
- à¸à¸±à¸›à¹‚หลด รูปà¸à¸²à¸«à¸²à¸£ à¹à¸¥à¹‰à¸§à¸à¸£à¸à¸ ชื่ภราคา ต้นทุน
- เลืà¸à¸ หมวด à¹à¸¥à¸° station ครัว (ครัวร้à¸à¸™ / ครัวเย็น / เครื่à¸à¸‡à¸”ื่ม / ขà¸à¸‡à¸«à¸§à¸²à¸™)
- (ถ้ามี) เพิ่ม ตัวเลืà¸à¸ (Modifier): ชื่à¸à¸à¸¥à¸¸à¹ˆà¸¡ + ตัวเลืà¸à¸ + ราคาเสริม + à¸à¸³à¸«à¸™à¸”เลืà¸à¸à¹„ด้หลายข้à¸/ข้à¸à¹€à¸”ียว
- เพิ่ม tag เช่น spicy / best_seller / shared ตามต้à¸à¸‡à¸à¸²à¸£
- à¸à¸” บันทึภ— เมนูจะà¹à¸ªà¸”งทันทีทั้งในหน้า Waiter à¹à¸¥à¸° QR ขà¸à¸‡à¸¥à¸¹à¸à¸„้า
เปลี่ยนสถานะเมนูà¹à¸šà¸šà¹€à¸£à¹‡à¸§
- เปิดขาย — ลูà¸à¸„้าà¹à¸¥à¸°à¸žà¸™à¸±à¸à¸‡à¸²à¸™à¹€à¸«à¹‡à¸™à¹à¸¥à¸°à¸ªà¸±à¹ˆà¸‡à¹„ด้ตามปà¸à¸•ิ
- หมดวันนี้ — à¹à¸ªà¸”งเป็น "หมด" จนเที่ยงคืน à¹à¸¥à¹‰à¸§à¸à¸¥à¸±à¸šà¹€à¸›à¹‡à¸™à¹€à¸›à¸´à¸”ขายเà¸à¸‡
- ซ่à¸à¸™à¸ˆà¸²à¸ QR — พนัà¸à¸‡à¸²à¸™à¸¢à¸±à¸‡à¸ªà¸±à¹ˆà¸‡à¹„ด้ à¹à¸•่ลูà¸à¸„้าใน QR menu ไม่เห็น
ผลลัพธ์ที่ควรเห็น
- เมนูใหม่ปราà¸à¸à¹ƒà¸™ Grid พร้à¸à¸¡à¸£à¸¹à¸›à¹à¸¥à¸° badge สถานะ
- ลูà¸à¸„้าสà¹à¸à¸™ QR เห็นเมนูในหมวดที่à¸à¸³à¸«à¸™à¸”
- Kitchen Display routing à¸à¸à¹€à¸”à¸à¸£à¹Œà¹„ป station ที่ตั้งไว้
ภาพจริงจาภUI
หน้า Menu — sidebar หมวด (ทุà¸à¸«à¸¡à¸§à¸” / à¸à¸²à¸«à¸²à¸£à¸•ามสั่ง / ขà¸à¸‡à¸—านเล่น / เครื่à¸à¸‡à¸”ื่ม / à¸à¸²à¸«à¸²à¸£à¹„ทย / à¸à¸²à¸«à¸²à¸£à¸à¸£à¸±à¹ˆà¸‡ / à¸à¸²à¸«à¸²à¸£à¸à¸µà¹ˆà¸›à¸¸à¹ˆà¸™), grid เมนู 2 คà¸à¸¥à¸±à¸¡à¸™à¹Œ พร้à¸à¸¡à¸£à¸¹à¸› ชื่ภราคา à¹à¸¥à¸° badge สถานะ (ขายà¸à¸¢à¸¹à¹ˆ / มีตัวเลืà¸à¸ / ครัวร้à¸à¸™ / เผ็ด / ขายดี) — รวม 40 เมนู
ภาพจริงจาภUI
Modal à¹à¸à¹‰à¹„ขเมนู — รูปเมนู ฟà¸à¸£à¹Œà¸¡ (ชื่à¸/ราคา/ต้นทุน/หมวด/station/tag) à¹à¸¥à¸° Modifier Editor ที่à¸à¸³à¸«à¸™à¸” min/max selections + ราคา delta
💡 เคล็ดลับ — เลืà¸à¸à¸«à¸¥à¸²à¸¢à¹€à¸¡à¸™à¸¹à¸žà¸£à¹‰à¸à¸¡à¸à¸±à¸™ (ติ๊ภcheckbox) à¹à¸¥à¹‰à¸§à¹ƒà¸Šà¹‰ Bulk Action Bar เพื่ภ"เปิดขาย / มาร์คหมด / ย้ายหมวด / ตั้ง station / ลบ" ในคราวเดียว
บทที่เà¸à¸µà¹ˆà¸¢à¸§à¸‚้à¸à¸‡
2.2 จัดà¸à¸²à¸£à¹‚ต๊ะ โซน à¹à¸¥à¸° QR Code
เพิ่มโต๊ะ จัดโซน สร้าง QR สำหรับให้ลูà¸à¸„้าสà¹à¸à¸™à¸ªà¸±à¹ˆà¸‡ à¹à¸¥à¸°à¸”ูสถานะโต๊ะà¹à¸šà¸š real-time
OwnerManager
à¸à¹ˆà¸à¸™à¹€à¸£à¸´à¹ˆà¸¡
- เปิด QR Ordering ที่สาขาà¹à¸¥à¹‰à¸§ (1.3)
- เตรียมผังร้านโดยประมาณ (à¸à¸µà¹ˆà¹‚ต๊ะ โซนไหน)
ขั้นตà¸à¸™ — เพิ่มโต๊ะ
- ไปที่เมนู โต๊ะ (Tables) เลืà¸à¸ tab ตั้งค่าโต๊ะ
- à¸à¸” + เพิ่มโต๊ะ à¸à¸£à¸à¸
code (เช่น "T01"), ชื่à¸, จำนวนที่นั่ง, โซน (Indoor / Outdoor / VIP / Counter)
- เลืà¸à¸à¸£à¸¹à¸›à¸—รง (Round / Square / Rect) à¹à¸¥à¸°à¸¥à¸²à¸à¸§à¸²à¸‡à¸šà¸™ Floor Plan Editor
- à¸à¸” บันทึภ— ระบบสร้าง QR token à¸à¸±à¸•โนมัติสำหรับโต๊ะนี้
ขั้นตà¸à¸™ — พิมพ์ QR
- เปิด tab พิมพ์ QR เลืà¸à¸à¹‚ต๊ะที่ต้à¸à¸‡à¸à¸²à¸£ (ติ๊à¸à¸«à¸¥à¸²à¸¢à¹‚ต๊ะได้)
- เลืà¸à¸à¸‚นาด/รูปà¹à¸šà¸š (Sticker / Standee / Mini card)
- à¸à¸” พิมพ์ ระบบส่งà¸à¸à¸ PDF พร้à¸à¸¡à¸žà¸´à¸¡à¸žà¹Œà¸¥à¸‡à¸ªà¸•ิà¸à¹€à¸à¸à¸£à¹Œ/à¸à¸£à¸°à¸”าษ
ดูสถานะโต๊ะ Real-time
- tab สถานะโต๊ะ à¹à¸ªà¸”งสีตาม state: เทา = ว่าง, เขียว = à¸à¸³à¸¥à¸±à¸‡à¸—าน, ส้ม = รà¸à¸à¸²à¸«à¸²à¸£, ม่วง = ขà¸à¹€à¸Šà¹‡à¸„บิล, เหลืà¸à¸‡ = ชำระบางส่วน, à¹à¸”ง = ต้à¸à¸‡à¸—ำความสะà¸à¸²à¸”
- คลิà¸à¹„ทล์โต๊ะเพื่à¸à¹€à¸›à¸´à¸” Drawer — เห็นข้à¸à¸¡à¸¹à¸¥ session + ปุ่ม "เปิดโต๊ะ / เพิ่มà¸à¸à¹€à¸”à¸à¸£à¹Œ / ชำระเงิน"
ผลลัพธ์ที่ควรเห็น
- โต๊ะใหม่à¸à¸¢à¸¹à¹ˆà¹ƒà¸™ Grid พร้à¸à¸¡ QR ที่พิมพ์ได้
- ลูà¸à¸„้าสà¹à¸à¸™ QR à¹à¸¥à¹‰à¸§à¹€à¸‚้าหน้าเมนูขà¸à¸‡à¹‚ต๊ะนั้นได้
- สถานะโต๊ะà¸à¸±à¸›à¹€à¸”ต real-time เมื่à¸à¸¡à¸µà¸à¸²à¸£à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™ state
ภาพจริงจาภUI
หน้า Tables — Status filter chips (ทั้งหมด/ว่าง/à¸à¸³à¸¥à¸±à¸‡à¸—าน/รà¸à¸à¸²à¸«à¸²à¸£/ขà¸à¹€à¸Šà¹‡à¸„บิล/ชำระบางส่วน/ต้à¸à¸‡à¸—ำความสะà¸à¸²à¸”), Legend สี à¹à¸¥à¸° Grid โต๊ะà¹à¸šà¹ˆà¸‡à¸•ามโซน (Indoor 8 / Outdoor 5 / VIP 3) — à¹à¸•่ละà¸à¸²à¸£à¹Œà¸”มี code โต๊ะ, zone, ที่นั่ง à¹à¸¥à¸°à¸›à¸¸à¹ˆà¸¡ "เปิดโต๊ะ"
ครัวคุณป้า
โต๊ะ T01
สà¹à¸à¸™à¹€à¸žà¸·à¹ˆà¸à¸ªà¸±à¹ˆà¸‡à¸à¸²à¸«à¸²à¸£
ภาพจำลà¸à¸‡ UI
QR sticker ตัวà¸à¸¢à¹ˆà¸²à¸‡à¸—ี่ระบบ generate ให้ — ประà¸à¸à¸šà¸”้วยโลโà¸à¹‰/ชื่à¸à¸£à¹‰à¸²à¸™, ป้ายโต๊ะสีเขียวเด่น à¹à¸¥à¸° QR code ที่ encode URL /t/{qr_token} ให้ลูà¸à¸„้าสà¹à¸à¸™à¹€à¸›à¸´à¸”หน้าเมนูบนมืà¸à¸–ืà¸
âš ï¸ à¸‚à¹‰à¸à¸„วรระวัง — หาภregenerate QR token ขà¸à¸‡à¹‚ต๊ะ ลิงà¸à¹Œ QR เà¸à¹ˆà¸²à¸ˆà¸°à¹ƒà¸Šà¹‰à¸‡à¸²à¸™à¹„ม่ได้ทันที — ต้à¸à¸‡à¸žà¸´à¸¡à¸žà¹Œ sticker ใหม่
บทที่เà¸à¸µà¹ˆà¸¢à¸§à¸‚้à¸à¸‡
2.3 ลูà¸à¸„้าสà¹à¸à¸™ QR สั่งà¸à¸²à¸«à¸²à¸£
Flow à¸à¸±à¹ˆà¸‡à¸¥à¸¹à¸à¸„้า ตั้งà¹à¸•่สà¹à¸à¸™ QR ที่โต๊ะ ใส่ชื่à¸à¹€à¸¥à¹ˆà¸™ เลืà¸à¸à¹€à¸¡à¸™à¸¹ เพิ่มลงตะà¸à¸£à¹‰à¸² à¹à¸¥à¸°à¸ªà¹ˆà¸‡à¸à¸à¹€à¸”à¸à¸£à¹Œà¹€à¸‚้าครัว
ลูà¸à¸„้า
à¸à¹ˆà¸à¸™à¹€à¸£à¸´à¹ˆà¸¡
- โต๊ะมี QR sticker à¹à¸¥à¸°
qr_enabled = true
- ลูà¸à¸„้ามีà¸à¸´à¸™à¹€à¸—à¸à¸£à¹Œà¹€à¸™à¹‡à¸•à¹à¸¥à¸°à¸à¸¥à¹‰à¸à¸‡à¸¡à¸·à¸à¸–ืà¸
ขั้นตà¸à¸™à¸‚à¸à¸‡à¸¥à¸¹à¸à¸„้า
- เปิดà¸à¸¥à¹‰à¸à¸‡à¸¡à¸·à¸à¸–ืà¸à¸ªà¹à¸à¸™ QR ที่ติดà¸à¸¢à¸¹à¹ˆà¸šà¸™à¹‚ต๊ะ เบราว์เซà¸à¸£à¹Œà¹€à¸›à¸´à¸”หน้า OrderDee à¸à¸±à¸•โนมัติ
- ระบบà¹à¸ªà¸”งชื่à¸à¸£à¹‰à¸²à¸™ + เลขโต๊ะ + สถานะ ("เริ่ม session ใหม่" หรืภ"เข้าร่วมโต๊ะ" หาà¸à¸¡à¸µà¸„นสั่งà¸à¸¢à¸¹à¹ˆà¸à¹ˆà¸à¸™à¹à¸¥à¹‰à¸§)
- à¸à¸£à¸à¸ ชื่à¸à¹€à¸¥à¹ˆà¸™ (เช่น "เà¸", "พี่หมู") à¹à¸¥à¹‰à¸§à¸à¸” 🽠เริ่มสั่งà¸à¸²à¸«à¸²à¸£
- เลืà¸à¸à¸«à¸¡à¸§à¸”จาภCategory tabs (เลื่à¸à¸™à¹à¸™à¸§à¸™à¸à¸™) à¹à¸•ะà¸à¸²à¸£à¹Œà¸”เมนูที่ต้à¸à¸‡à¸à¸²à¸£
- ใน Add to Cart Sheet: เลืà¸à¸à¸•ัวเลืà¸à¸ (modifier), à¸à¸£à¸à¸à¸«à¸¡à¸²à¸¢à¹€à¸«à¸•ุ, เลืà¸à¸à¹€à¸ˆà¹‰à¸²à¸‚à¸à¸‡à¸£à¸²à¸¢à¸à¸²à¸£ (ตัวเà¸à¸‡ / ขà¸à¸‡à¸à¸¥à¸²à¸‡ ðŸ¤), ปรับจำนวน − +
- à¸à¸” เพิ่ม · ฿xx — รายà¸à¸²à¸£à¹€à¸‚้าตะà¸à¸£à¹‰à¸² à¹à¸•ะ 🛒 ตะà¸à¸£à¹‰à¸² มุมขวาบนเพื่à¸à¸”ูสรุปà¹à¸¥à¸°à¸à¸” ส่งà¸à¸à¹€à¸”à¸à¸£à¹Œ เข้าครัว
- หาà¸à¸•้à¸à¸‡à¸à¸²à¸£à¸žà¸™à¸±à¸à¸‡à¸²à¸™ à¹à¸•ะ 🔔 เรียà¸à¸žà¸™à¸±à¸à¸‡à¸²à¸™ เลืà¸à¸à¹€à¸«à¸•ุผล (ขà¸à¸™à¹‰à¸³ / ช้à¸à¸™à¸ªà¹‰à¸à¸¡ / เช็คบิล / à¸à¸·à¹ˆà¸™à¹†)
ผลลัพธ์ที่ควรเห็น
- à¸à¸à¹€à¸”à¸à¸£à¹Œà¸ªà¹ˆà¸‡à¹€à¸‚้า KDS à¸à¸±à¹ˆà¸‡à¸„รัวทันที
- โต๊ะเปลี่ยนสถานะเป็น "ordering" หรืภ"order_sent"
- ลูà¸à¸„้าเห็นสถานะรายà¸à¸²à¸£ "à¸à¸³à¸¥à¸±à¸‡à¸—ำ / พร้à¸à¸¡à¹€à¸ªà¸´à¸£à¹Œà¸Ÿ" บนมืà¸à¸–ืภreal-time
ภาพจำลà¸à¸‡
บริบทà¸à¸²à¸£à¸ªà¹à¸à¸™ QR ที่โต๊ะ — ใช้ประà¸à¸à¸šà¸šà¸— Customer QR ระหว่างรภscreenshot จาà¸à¸«à¸™à¹‰à¸²à¸ˆà¸à¸¡à¸·à¸à¸–ืà¸à¸ˆà¸£à¸´à¸‡
โต๊ะ T01 ครัวคุณป้า
✨
🔔
🛒3
ทุà¸à¸«à¸¡à¸§à¸”
à¸à¸²à¸«à¸²à¸£à¸•ามสั่ง
ขà¸à¸‡à¸—านเล่น
เครื่à¸à¸‡à¸”ื่ม
ผัดไทยà¸à¸¸à¹‰à¸‡à¸ªà¸”
฿80
ข้าวà¸à¸°à¹€à¸žà¸£à¸²à¸«à¸¡à¸¹à¸ªà¸±à¸š
฿60
ข้าวขาหมู
฿70
🛒 3 รายà¸à¸²à¸£
฿270 · ไปตะà¸à¸£à¹‰à¸² →
ภาพจำลà¸à¸‡ UI
หน้า Customer Menu บนมืà¸à¸–ืภ— Header à¹à¸ªà¸”งเลขโต๊ะ + ไà¸à¸„à¸à¸™ AI/เรียà¸à¸žà¸™à¸±à¸à¸‡à¸²à¸™/ตะà¸à¸£à¹‰à¸² (พร้à¸à¸¡ badge), Category tabs เลื่à¸à¸™à¹à¸™à¸§à¸™à¸à¸™, Grid เมนู 2 คà¸à¸¥à¸±à¸¡à¸™à¹Œ พร้à¸à¸¡ float bar "ไปตะà¸à¸£à¹‰à¸²" ที่ด้านล่าง
ผัดไทยà¸à¸¸à¹‰à¸‡à¸ªà¸” — ฿80
ผัดน้ำมันหà¸à¸¢ à¸à¸¸à¹‰à¸‡à¸ªà¸” 5 ตัว
หมายเหตุเผ็ดน้à¸à¸¢ ไม่ใส่ผัà¸â€¦
เจ้าขà¸à¸‡à¸£à¸²à¸¢à¸à¸²à¸£à¹€à¸ (ฉัน)
ขà¸à¸‡à¸à¸¥à¸²à¸‡ ðŸ¤â˜
จำนวน2
🔔 เรียà¸à¸žà¸™à¸±à¸à¸‡à¸²à¸™
เลืà¸à¸à¹€à¸«à¸•ุผลที่ต้à¸à¸‡à¸à¸²à¸£
🥤ขà¸à¸™à¹‰à¸³
🥄ขà¸à¸Šà¹‰à¸à¸™à¸ªà¹‰à¸à¸¡
🧻ขà¸à¸à¸£à¸°à¸”าษ
💳เรียà¸à¹€à¸Šà¹‡à¸„บิล
ภาพจำลà¸à¸‡ UI
2 sheets ที่เลื่à¸à¸™à¸‚ึ้นจาà¸à¸”้านล่างขà¸à¸‡à¸«à¸™à¹‰à¸²à¸¥à¸¹à¸à¸„้า — ซ้าย "Add to Cart" (เลืà¸à¸à¸«à¸¡à¸²à¸¢à¹€à¸«à¸•ุ/เจ้าขà¸à¸‡à¸£à¸²à¸¢à¸à¸²à¸£/จำนวน), ขวา "เรียà¸à¸žà¸™à¸±à¸à¸‡à¸²à¸™" (4 เหตุผลหลัภ+ ปุ่ม "à¸à¸·à¹ˆà¸™ ๆ")
💡 เคล็ดลับ — ลูà¸à¸„้าหลายคนในโต๊ะเดียวà¸à¸±à¸™à¸ªà¸²à¸¡à¸²à¸£à¸–สà¹à¸à¸™ QR เดียวà¸à¸±à¸™à¹à¸¥à¹‰à¸§à¹€à¸‚้าร่วม session — ระบบจะà¹à¸¢à¸à¸à¸à¹€à¸”à¸à¸£à¹Œà¸•ามชื่ภทำให้à¹à¸¢à¸à¸šà¸´à¸¥à¸ ายหลังได้สะดวà¸
บทที่เà¸à¸µà¹ˆà¸¢à¸§à¸‚้à¸à¸‡
2.4 พนัà¸à¸‡à¸²à¸™à¸£à¸±à¸šà¸à¸à¹€à¸”à¸à¸£à¹Œà¹à¸—นลูà¸à¸„้า
หน้าจภWaiter สำหรับรับà¸à¸à¹€à¸”à¸à¸£à¹Œà¸—ี่โต๊ะ — เลืà¸à¸à¹‚ต๊ะ เลืà¸à¸à¹€à¸ˆà¹‰à¸²à¸‚à¸à¸‡à¸£à¸²à¸¢à¸à¸²à¸£ เพิ่มเมนู à¹à¸¥à¸°à¸ªà¹ˆà¸‡à¹€à¸‚้าครัว พร้à¸à¸¡à¹‚หมด AI/เสียงช่วยสั่งเร็วขึ้น
WaiterManager
à¸à¹ˆà¸à¸™à¹€à¸£à¸´à¹ˆà¸¡
- มีเมนูในระบบ (2.1) à¹à¸¥à¸°à¹‚ต๊ะ (2.2)
- หาà¸à¹ƒà¸Šà¹‰ Mic — เปิด permission ไมโครโฟนบนเบราว์เซà¸à¸£à¹Œ
Layout
- ซ้าย: Table Selector — รายชื่à¸à¹‚ต๊ะพร้à¸à¸¡à¸ªà¸–านะสี
- à¸à¸¥à¸²à¸‡: Menu Panel — Category tab + Smart Input (ค้นหา/พิมพ์เร็ว) + 🎤 Mic + Grid เมนู
- ขวา: Cart Panel — โต๊ะที่เลืà¸à¸ + Owner Dropdown + รายà¸à¸²à¸£ + ปุ่ม "ส่งเข้าครัว"
ขั้นตà¸à¸™
- ไปเมนู รับà¸à¸à¹€à¸”à¸à¸£à¹Œ (Waiter) à¹à¸¥à¹‰à¸§à¹€à¸¥à¸·à¸à¸ โต๊ะ จาภTable Selector à¸à¸±à¹ˆà¸‡à¸‹à¹‰à¸²à¸¢
- ถ้าโต๊ะยังว่าง ระบบ prompt ให้à¸à¸£à¸à¸ จำนวนคน + ชื่à¸à¸œà¸¹à¹‰à¸£à¸±à¸š → à¸à¸” สร้างโต๊ะ
- เลืà¸à¸ Owner ใน Cart (default "โต๊ะรวม" หรืà¸à¹€à¸¥à¸·à¸à¸à¸Šà¸·à¹ˆà¸à¸„น)
- คลิà¸à¹€à¸¡à¸™à¸¹à¸ˆà¸²à¸ Menu Panel หรืà¸à¸žà¸´à¸¡à¸žà¹Œà¸„้นชื่ภหรืà¸à¸à¸” 🎤 พูดคำสั่ง
- ใน Item Option Sheet: เลืà¸à¸ modifier, ใส่หมายเหตุ, ปรับ qty → à¸à¸” เพิ่ม
- ตรวจรายà¸à¸²à¸£à¹ƒà¸™ Cart Panel ทางขวา à¹à¸¥à¹‰à¸§à¸à¸” ส่งเข้าครัว → Toast à¹à¸ˆà¹‰à¸‡ "ส่งเข้าครัว N รายà¸à¸²à¸£"
ผลลัพธ์ที่ควรเห็น
- à¸à¸à¹€à¸”à¸à¸£à¹Œà¸›à¸£à¸²à¸à¸à¹ƒà¸™ KDS ครัวภายใน 1 วินาที
- โต๊ะเปลี่ยนสถานะเป็น "order_sent"
- Cart Panel ล้างพร้à¸à¸¡à¸£à¸±à¸šà¸à¸à¹€à¸”à¸à¸£à¹Œà¸–ัดไป
ภาพจริงจาภUI
หน้ารับà¸à¸à¹€à¸”à¸à¸£à¹Œ (Waiter) — 3 คà¸à¸¥à¸±à¸¡à¸™à¹Œ: ซ้ายเลืà¸à¸à¹‚ต๊ะ (SI-01...SI-07), à¸à¸¥à¸²à¸‡ Menu Panel (Category tabs, Smart Input, 🎤 Mic, Grid เมนู), ขวา ตะà¸à¸£à¹‰à¸² + ปุ่ม "ส่งเข้าครัว"
🎤 AI Composer · à¸à¸³à¸¥à¸±à¸‡à¸Ÿà¸±à¸‡...
"ผัดไทยà¸à¸¸à¹‰à¸‡ 2 จาน ไม่เผ็ด ชาเย็น 1 à¹à¸à¹‰à¸§ เป็นขà¸à¸‡à¸žà¸µà¹ˆà¸«à¸¡à¸¹ ข้าวเปล่า 1 จาน…"
à¹à¸•ะปุ่ม 🎤 à¸à¸µà¸à¸„รั้งเพื่à¸à¸«à¸¢à¸¸à¸”บันทึà¸
ภาพจำลà¸à¸‡ UI
AI Composer Sheet ขณะ Listening — à¹à¸–บ visualizer คลื่นเสียงสีเขียวเคลื่à¸à¸™à¹„หวตามà¸à¸²à¸£à¸žà¸¹à¸”, ข้à¸à¸„วามที่ระบบ transcribe à¹à¸šà¸š real-time à¹à¸ªà¸”งด้านบน à¸à¹ˆà¸à¸™ parse เป็นรายà¸à¸²à¸£
💡 เคล็ดลับ — โหมด à¹à¸—็บเล็ต (à¸à¸”ปุ่ม "+ โหมดà¹à¸—็บเล็ต") ปรับ layout สำหรับ iPad/à¹à¸—็บเล็ตให้ใช้งานง่ายขึ้น เหมาะà¸à¸±à¸šà¸žà¸™à¸±à¸à¸‡à¸²à¸™à¹€à¸”ินรับà¸à¸à¹€à¸”à¸à¸£à¹Œ
บทที่เà¸à¸µà¹ˆà¸¢à¸§à¸‚้à¸à¸‡
2.5 วงจรโต๊ะà¹à¸¥à¸° Session
เข้าใจวงจรขà¸à¸‡à¹‚ต๊ะตั้งà¹à¸•่เปิด → รับà¸à¸à¹€à¸”à¸à¸£à¹Œ → เสิร์ฟ → ขà¸à¸šà¸´à¸¥ → ชำระ → ปิด พร้à¸à¸¡à¸à¸²à¸£à¸¢à¹‰à¸²à¸¢/รวม/à¹à¸¢à¸à¹‚ต๊ะ
WaiterCashierManager
สถานะขà¸à¸‡à¹‚ต๊ะ (table session states)
| State | ความหมาย |
empty | โต๊ะว่าง ยังไม่มีคน |
open | เปิดโต๊ะà¹à¸¥à¹‰à¸§ มีลูà¸à¸„้า à¹à¸•่ยังไม่สั่ง |
ordering | à¸à¸³à¸¥à¸±à¸‡à¹€à¸¥à¸·à¸à¸/สั่งเมนู |
order_sent | ส่งà¸à¸à¹€à¸”à¸à¸£à¹Œà¹€à¸‚้าครัวà¹à¸¥à¹‰à¸§ |
serving | เสิร์ฟà¸à¸²à¸«à¸²à¸£à¹à¸¥à¹‰à¸§ ลูà¸à¸„้าà¸à¸³à¸¥à¸±à¸‡à¸—าน |
bill_requested | ลูà¸à¸„้าขà¸à¹€à¸Šà¹‡à¸„บิล |
partially_paid | ชำระบางส่วนà¹à¸¥à¹‰à¸§ (เช่น Split Bill ยังไม่ครบ) |
paid | ชำระครบ รà¸à¸›à¸´à¸”โต๊ะ |
closed | ปิด session à¹à¸¥à¹‰à¸§ โต๊ะà¸à¸¥à¸±à¸šà¹€à¸›à¹‡à¸™ empty |
à¸à¸²à¸£à¸¢à¹‰à¸²à¸¢ / รวม / à¹à¸¢à¸à¹‚ต๊ะ
- คลิà¸à¹‚ต๊ะที่หน้า Tables เปิด Drawer à¹à¸¥à¹‰à¸§à¹€à¸¥à¸·à¸à¸ tab ย้ายโต๊ะ
- ย้ายโต๊ะ: เลืà¸à¸à¹‚ต๊ะปลายทาง — order/bill ทั้งหมดย้ายตามไป
- รวมโต๊ะ: เลืà¸à¸à¹‚ต๊ะà¸à¸·à¹ˆà¸™à¸—ี่จะรวมเข้ามา — รายà¸à¸²à¸£à¹€à¸¡à¸™à¸¹à¹à¸¥à¸°à¸šà¸´à¸¥à¸£à¸§à¸¡à¹€à¸›à¹‡à¸™à¹‚ต๊ะเดียว
- à¹à¸¢à¸à¹‚ต๊ะ: เลืà¸à¸à¸¥à¸¹à¸à¸„้า (participant) บางคนà¹à¸¢à¸à¹„ปโต๊ะใหม่ พร้à¸à¸¡à¸£à¸²à¸¢à¸à¸²à¸£à¸‚à¸à¸‡à¸„นนั้น
ภาพจริงจาภUI
Drawer รายละเà¸à¸µà¸¢à¸”โต๊ะ — sub-tab (ภาพรวม / ประวัติ / ย้าย / รวม) พร้à¸à¸¡à¸‚้à¸à¸¡à¸¹à¸¥ session ปัจจุบันà¹à¸¥à¸°à¸›à¸¸à¹ˆà¸¡ action
📌 หมายเหตุ — à¸à¸²à¸£à¸›à¸´à¸”โต๊ะà¸à¸±à¸•โนมัติเà¸à¸´à¸”ขึ้นหลังจ่ายครบà¹à¸¥à¸°à¸žà¸´à¸¡à¸žà¹Œà¹ƒà¸šà¹€à¸ªà¸£à¹‡à¸ˆ — Cashier สามารถà¸à¸” "ปิดโต๊ะà¹à¸¥à¸°à¸žà¸´à¸¡à¸žà¹Œà¹ƒà¸šà¹€à¸ªà¸£à¹‡à¸ˆ" รวมในปุ่มเดียวที่หน้าเà¸à¹‡à¸šà¹€à¸‡à¸´à¸™
บทที่เà¸à¸µà¹ˆà¸¢à¸§à¸‚้à¸à¸‡
2.6 หน้าจà¸à¸„รัว Kitchen Display (KDS)
หน้าจà¸à¸ªà¸³à¸«à¸£à¸±à¸šà¸„รัวรับà¸à¸à¹€à¸”à¸à¸£à¹Œ à¹à¸ªà¸”งเป็น Kanban 3 คà¸à¸¥à¸±à¸¡à¸™à¹Œ (ใหม่ / à¸à¸³à¸¥à¸±à¸‡à¸—ำ / พร้à¸à¸¡à¹€à¸ªà¸´à¸£à¹Œà¸Ÿ) พร้à¸à¸¡à¹€à¸ªà¸µà¸¢à¸‡à¹à¸ˆà¹‰à¸‡à¹€à¸•ืà¸à¸™à¹à¸¥à¸° filter ตาม station
KitchenManager
ภาพจำลà¸à¸‡
ครัวà¸à¸³à¸¥à¸±à¸‡à¸”ู order slip จาภKDS — บริบทà¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™ (Screenshot UI จริงจะà¸à¸±à¸›à¹€à¸”ตในขั้นถัดไป)
à¸à¹ˆà¸à¸™à¹€à¸£à¸´à¹ˆà¸¡
- เมนูทุà¸à¸£à¸²à¸¢à¸à¸²à¸£à¸•ั้ง station เรียบร้à¸à¸¢ (2.1)
- เปิดเสียงà¹à¸ˆà¹‰à¸‡à¹€à¸•ืà¸à¸™ (Topbar) เพื่à¸à¹„ม่พลาดà¸à¸à¹€à¸”à¸à¸£à¹Œà¹ƒà¸«à¸¡à¹ˆ
โครงสร้างหน้า
- Station Chips ด้านบน: ทั้งหมด / ครัวร้à¸à¸™ / ครัวเย็น / เครื่à¸à¸‡à¸”ื่ม / ขà¸à¸‡à¸«à¸§à¸²à¸™ (à¹à¸ªà¸”งจำนวนรายà¸à¸²à¸£)
- 3 Columns: 🔔 ใหม่ → 🳠à¸à¸³à¸¥à¸±à¸‡à¸—ำ → ✅ พร้à¸à¸¡à¹€à¸ªà¸´à¸£à¹Œà¸Ÿ
- Kitchen Card à¹à¸•่ละใบ: ชื่à¸à¹€à¸¡à¸™à¸¹ + Qty + โต๊ะ + Owner + เวลาที่รภ+ Modifier + Note พิเศษ
- à¸à¸²à¸£à¹Œà¸”ที่เà¸à¸´à¸™à¹€à¸§à¸¥à¸²à¸ˆà¸°à¸¡à¸µ âš ï¸ badge เà¸à¸´à¸™à¹€à¸§à¸¥à¸² สีà¹à¸”ง
ขั้นตà¸à¸™à¸à¸²à¸£à¸—ำงาน
- มีà¸à¸à¹€à¸”à¸à¸£à¹Œà¹ƒà¸«à¸¡à¹ˆ → ระบบเล่นเสียงà¹à¸¥à¸°à¸à¸²à¸£à¹Œà¸”เด้งขึ้นในคà¸à¸¥à¸±à¸¡à¸™à¹Œ ใหม่
- à¸à¸” เริ่มทำ → ที่à¸à¸²à¸£à¹Œà¸” — ย้ายไปคà¸à¸¥à¸±à¸¡à¸™à¹Œ à¸à¸³à¸¥à¸±à¸‡à¸—ำ
- เมื่à¸à¸—ำเสร็จ à¸à¸” พร้à¸à¸¡à¹€à¸ªà¸´à¸£à¹Œà¸Ÿ → — à¸à¸²à¸£à¹Œà¸”ย้ายไป พร้à¸à¸¡à¹€à¸ªà¸´à¸£à¹Œà¸Ÿ à¹à¸¥à¸°à¹à¸ˆà¹‰à¸‡ Waiter
- Waiter เสิร์ฟà¹à¸¥à¹‰à¸§à¸à¸” เสิร์ฟà¹à¸¥à¹‰à¸§ → — à¸à¸²à¸£à¹Œà¸”หายไปจาà¸à¸šà¸à¸£à¹Œà¸”
- à¸à¸” ⋯ มุมà¸à¸²à¸£à¹Œà¸”เพื่ภ"à¹à¸ˆà¹‰à¸‡à¸§à¸±à¸•ถุดิบหมด" / "ยà¸à¹€à¸¥à¸´à¸à¸£à¸²à¸¢à¸à¸²à¸£" / "à¹à¸ˆà¹‰à¸‡à¸žà¸™à¸±à¸à¸‡à¸²à¸™"
ภาพจริงจาภUI
หน้า KDS — Station chips ด้านบน (ทั้งหมด / ครัวร้à¸à¸™ / ครัวเย็น / เครื่à¸à¸‡à¸”ื่ม / ขà¸à¸‡à¸«à¸§à¸²à¸™ / ไม่ระบุ station) พร้à¸à¸¡à¸ˆà¸³à¸™à¸§à¸™, ปุ่ม "ปิดเสียง" à¹à¸¥à¸° "KDS Mode" มุมขวา, à¹à¸¥à¸° Kanban 3 คà¸à¸¥à¸±à¸¡à¸™à¹Œ (ใหม่ / à¸à¸³à¸¥à¸±à¸‡à¸—ำ / พร้à¸à¸¡à¹€à¸ªà¸´à¸£à¹Œà¸Ÿ) — รวมถึงà¹à¸–บ "รายà¸à¸²à¸£à¸•à¸à¸„้างจาà¸à¸à¸°à¸à¹ˆà¸à¸™" สีเหลืà¸à¸‡
âš ï¸ à¹€à¸à¸´à¸™à¹€à¸§à¸¥à¸² 6 นาที
ผัดไทยà¸à¸¸à¹‰à¸‡à¸ªà¸” ×2â± 12 นาที
โต๊ะ SVIP-01 · เจ้าขà¸à¸‡: เภ· #3e60b · QR
เผ็ดน้à¸à¸¢à¹„ม่ใส่ถั่ว+ ไข่ดาว
📠à¹à¸žà¹‰à¸à¸¸à¹‰à¸‡ — ใส่ตัวเล็ภๆ พà¸
⋯
ภาพจำลà¸à¸‡ UI
Kitchen Card ตัวà¸à¸¢à¹ˆà¸²à¸‡ — Urgent badge สีà¹à¸”ง (เà¸à¸´à¸™à¹€à¸§à¸¥à¸²), ชื่à¸à¹€à¸¡à¸™à¸¹ + qty + timer, โต๊ะ + เจ้าขà¸à¸‡ + source, modifier pills, note พิเศษสีเหลืà¸à¸‡ à¹à¸¥à¸°à¸›à¸¸à¹ˆà¸¡ "พร้à¸à¸¡à¹€à¸ªà¸´à¸£à¹Œà¸Ÿ →" + ⋯ (more menu)
💡 เคล็ดลับ — à¸à¸” â›¶ KDS Mode เพื่à¸à¹€à¸‚้าโหมดเต็มจà¸à¸ªà¸³à¸«à¸£à¸±à¸šà¸„รัว ไม่มี sidebar à¹à¸¥à¸°à¸•ัวà¸à¸±à¸à¸©à¸£à¹ƒà¸«à¸à¹ˆà¸‚ึ้น เหมาะà¸à¸±à¸šà¸ˆà¸à¸•ิดผนัง
บทที่เà¸à¸µà¹ˆà¸¢à¸§à¸‚้à¸à¸‡
2.7 ยà¸à¹€à¸¥à¸´à¸à¸à¸à¹€à¸”à¸à¸£à¹Œ Void à¹à¸¥à¸°à¹€à¸¡à¸™à¸¹à¸«à¸¡à¸”
วิธียà¸à¹€à¸¥à¸´à¸à¸£à¸²à¸¢à¸à¸²à¸£ ไม่ว่าจะเป็นเหตุผล "ลูà¸à¸„้ายà¸à¹€à¸¥à¸´à¸", "วัตถุดิบหมด" หรืภ"Void" โดยพนัà¸à¸‡à¸²à¸™ พร้à¸à¸¡ audit log
KitchenWaiterManager
เหตุผลที่ใช้ยà¸à¹€à¸¥à¸´à¸à¹„ด้
out_of_stock — วัตถุดิบหมด (ครัวà¹à¸ˆà¹‰à¸‡)
customer_cancel — ลูà¸à¸„้ายà¸à¹€à¸¥à¸´à¸à¹€à¸à¸‡
staff_void — พนัà¸à¸‡à¸²à¸™à¸¢à¸à¹€à¸¥à¸´à¸à¹ƒà¸«à¹‰ (ต้à¸à¸‡ manager approval)
payment_timeout — pre-pay ไม่จ่ายในเวลา auto-cancel
payment_rejected_max — สลิปถูà¸à¸›à¸à¸´à¹€à¸ªà¸˜à¹€à¸à¸´à¸™à¸ˆà¸³à¸™à¸§à¸™à¸„รั้ง
compensation — ชดเชยลูà¸à¸„้า (เช่นเสิร์ฟผิด)
ขั้นตà¸à¸™ — ครัวà¹à¸ˆà¹‰à¸‡à¸§à¸±à¸•ถุดิบหมด
- ที่ KDS à¸à¸” ⋯ ที่à¸à¸²à¸£à¹Œà¸” เลืà¸à¸ à¹à¸ˆà¹‰à¸‡à¸§à¸±à¸•ถุดิบหมด
- เปิด Cancel Modal — เลืà¸à¸ "หมดวันนี้" หรืภ"หมดถาวร" (ติ๊ภcheckbox)
- à¸à¸” ยืนยัน — ระบบยà¸à¹€à¸¥à¸´à¸à¸£à¸²à¸¢à¸à¸²à¸£à¸™à¸µà¹‰ + มาร์คเมนูเป็น sold_out ใน QR menu + à¹à¸ˆà¹‰à¸‡ Waiter
ขั้นตà¸à¸™ — ลูà¸à¸„้าขà¸à¸¢à¸à¹€à¸¥à¸´à¸
- Waiter ไปที่หน้า à¸à¸à¹€à¸”à¸à¸£à¹Œ หรืà¸à¹€à¸›à¸´à¸” Drawer ขà¸à¸‡à¸šà¸´à¸¥
- คลิภ⋯ ที่รายà¸à¸²à¸£ เลืà¸à¸ ยà¸à¹€à¸¥à¸´à¸
- เลืà¸à¸à¹€à¸«à¸•ุผล + ใส่หมายเหตุ (ไม่บังคับ) → à¸à¸” ส่งคำขà¸
- ระบบส่งคำขà¸à¹„ปยัง Manager (state =
pending_cancel)
- Manager เปิด notification à¸à¸” à¸à¸™à¸¸à¸¡à¸±à¸•ิ หรืภปà¸à¸´à¹€à¸ªà¸˜
ภาพจำลà¸à¸‡ UI
Cancel Modal เมื่à¸à¸„รัวคลิภ⋯ > "ยà¸à¹€à¸¥à¸´à¸à¸£à¸²à¸¢à¸à¸²à¸£" — เลืà¸à¸à¹€à¸«à¸•ุผล 1 ใน 4 (วัตถุดิบหมด/ลูà¸à¸„้ายà¸à¹€à¸¥à¸´à¸/เสิร์ฟผิด/à¸à¸·à¹ˆà¸™ ๆ) + checkbox "หมดวันนี้" หรืภ"หมดถาวร" à¸à¹ˆà¸à¸™à¸¢à¸·à¸™à¸¢à¸±à¸™
âš ï¸ à¸‚à¹‰à¸à¸„วรระวัง — ทุà¸à¸à¸²à¸£ void/cancel จะถูà¸à¹€à¸à¹‡à¸šà¹ƒà¸™ audit log พร้à¸à¸¡à¹€à¸§à¸¥à¸² ผู้à¸à¸£à¸°à¸—ำ เหตุผล à¹à¸¥à¸°à¸œà¸¹à¹‰à¸à¸™à¸¸à¸¡à¸±à¸•ิ — ใช้ตรวจสà¸à¸šà¸¢à¹‰à¸à¸™à¸«à¸¥à¸±à¸‡à¹„ด้
บทที่เà¸à¸µà¹ˆà¸¢à¸§à¸‚้à¸à¸‡
2.8 Notifications à¹à¸¥à¸° Real-time
ระบบà¹à¸ˆà¹‰à¸‡à¹€à¸•ืà¸à¸™à¹à¸šà¸š real-time ผ่าน WebSocket — ครัว à¹à¸„ชเชียร์ พนัà¸à¸‡à¸²à¸™ à¹à¸¥à¸°à¸œà¸¹à¹‰à¸ˆà¸±à¸”à¸à¸²à¸£à¹„ด้รับข้à¸à¸¡à¸¹à¸¥à¸—ันทีโดยไม่ต้à¸à¸‡à¸£à¸µà¹€à¸Ÿà¸£à¸Š
OwnerManagerCashierWaiterKitchen
ประเภทà¸à¸²à¸£à¹à¸ˆà¹‰à¸‡à¹€à¸•ืà¸à¸™
- kitchen — à¸à¸à¹€à¸”à¸à¸£à¹Œà¹ƒà¸«à¸¡à¹ˆà¹€à¸‚้าครัว / ขà¸à¸¢à¸à¹€à¸¥à¸´à¸
- payment — สลิปรà¸à¸•รวจ / payment timeout ใà¸à¸¥à¹‰à¸ˆà¸°à¸«à¸¡à¸”
- customer_call — ลูà¸à¸„้าเรียà¸à¸žà¸™à¸±à¸à¸‡à¸²à¸™ / ขà¸à¹€à¸Šà¹‡à¸„บิล
- system — ข้à¸à¸„วามระบบ à¸à¸²à¸£à¸šà¸³à¸£à¸¸à¸‡à¸£à¸±à¸à¸©à¸²
- billing — à¹à¸žà¹‡à¸„เà¸à¸ˆà¹ƒà¸à¸¥à¹‰à¸«à¸¡à¸” AI credits ใà¸à¸¥à¹‰à¸«à¸¡à¸”
à¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™
- ไà¸à¸„à¸à¸™ 🔔 à¸à¸£à¸°à¸”ิ่ง บน Topbar à¹à¸ªà¸”ง badge จำนวนที่ยังไม่à¸à¹ˆà¸²à¸™
- คลิภ→ Dropdown à¹à¸ªà¸”ง 5 รายà¸à¸²à¸£à¸¥à¹ˆà¸²à¸ªà¸¸à¸” พร้à¸à¸¡à¸›à¸¸à¹ˆà¸¡ "ดูทั้งหมด"
- หน้า à¸à¸²à¸£à¹à¸ˆà¹‰à¸‡à¹€à¸•ืà¸à¸™ เต็มรูปà¹à¸šà¸š: filter (ทั้งหมด / ยังไม่à¸à¹ˆà¸²à¸™ / à¸à¸à¹€à¸”à¸à¸£à¹Œ / ชำระเงิน / เรียà¸à¸žà¸™à¸±à¸à¸‡à¸²à¸™ / ระบบ)
- à¹à¸•่ละà¸à¸²à¸£à¹Œà¸”มี CTA link ตรงไปหน้าที่เà¸à¸µà¹ˆà¸¢à¸§à¸‚้à¸à¸‡ (เช่น à¹à¸ˆà¹‰à¸‡à¹€à¸•ืà¸à¸™à¸ªà¸¥à¸´à¸› → ไปหน้า Payments)
- ปุ่ม à¸à¹ˆà¸²à¸™à¸—ั้งหมด / ลบที่à¸à¹ˆà¸²à¸™à¹à¸¥à¹‰à¸§ ช่วยจัดà¸à¸²à¸£à¸„ิว
ภาพจริงจาภUI
หน้าà¸à¸²à¸£à¹à¸ˆà¹‰à¸‡à¹€à¸•ืà¸à¸™ — filter chips ด้านบน (ทั้งหมด / ยังไม่à¸à¹ˆà¸²à¸™ / à¸à¸à¹€à¸”à¸à¸£à¹Œ / ชำระเงิน / เรียà¸à¸žà¸™à¸±à¸à¸‡à¸²à¸™ / ระบบ) à¹à¸¥à¸°à¸à¸²à¸£à¹Œà¸”à¹à¸ˆà¹‰à¸‡à¹€à¸•ืà¸à¸™à¹à¸•่ละรายà¸à¸²à¸£ พร้à¸à¸¡à¹„à¸à¸„à¸à¸™à¸›à¸£à¸°à¹€à¸ ท เวลา à¹à¸¥à¸° CTA link ตรงไปหน้าที่เà¸à¸µà¹ˆà¸¢à¸§à¸‚้à¸à¸‡
ภาพจริงจาภUI
คลิà¸à¹„à¸à¸„à¸à¸™ 🔔 ที่ Topbar — ระบบนำไปยังหน้าà¸à¸²à¸£à¹à¸ˆà¹‰à¸‡à¹€à¸•ืà¸à¸™à¹€à¸•็มรูปà¹à¸šà¸š พร้à¸à¸¡ filter chips (ทั้งหมด / ยังไม่à¸à¹ˆà¸²à¸™ / à¸à¸à¹€à¸”à¸à¸£à¹Œ / ชำระเงิน / เรียà¸à¸žà¸™à¸±à¸à¸‡à¸²à¸™ / ระบบ) à¹à¸¥à¸°à¸à¸²à¸£à¹Œà¸”รายà¸à¸²à¸£ — สามารถดูสรุป 5 รายà¸à¸²à¸£à¸¥à¹ˆà¸²à¸ªà¸¸à¸”ได้จาภbadge à¹à¸”งบน Topbar
💡 เคล็ดลับ — เมื่ภWebSocket หลุด (เน็ตขาด) ระบบจะ reconnect à¸à¸±à¸•โนมัติ à¹à¸¥à¸° sync ข้à¸à¸¡à¸¹à¸¥à¸¢à¹‰à¸à¸™à¸«à¸¥à¸±à¸‡à¹ƒà¸«à¹‰ — บนหน้าจà¸à¸ˆà¸°à¸¡à¸µà¹à¸–บบà¸à¸ "à¸à¸³à¸¥à¸±à¸‡à¹€à¸Šà¸·à¹ˆà¸à¸¡à¸•่à¸à¹ƒà¸«à¸¡à¹ˆ..."