การทำงานของระบบออเดอร์
คู่มือภาพรวม: วงจรของออเดอร์ตั้งแต่รับจนปิดบิล ช่องทางและประเภทการขายแต่ละแบบ โครงสร้างข้อมูล และหน้าที่ของแต่ละหน้า
ออเดอร์เดินตามวงจรเดียว แต่มีหลายช่องทาง
ทุกออเดอร์เดินตามวงจรเดียวกัน คือ รับออเดอร์ → ส่งครัว → ปรุงและเสิร์ฟ → ปิดบิลและชำระเงิน แต่ละช่องทางการขาย (ทานที่ร้าน บุฟเฟต์ และเดลิเวอรี/ออนไลน์) ใช้ชุดสถานะ (pipeline) ที่ต่างกันเล็กน้อยตามลักษณะการให้บริการ เมื่อเข้าใจวงจรหลักและรู้ว่ากำลังดูช่องทางใดอยู่ ก็จะเห็นภาพรวมทั้งหมดได้
วงจรออเดอร์ — จากรับออเดอร์ถึงปิดบิล
ลำดับการทำงานหลักของทุกออเดอร์ ตั้งแต่รับเข้าระบบ ส่งครัวผ่าน event ปรุงและเสิร์ฟ จนถึงการชำระเงิน
รับออเดอร์
สร้างออเดอร์จากหน้าออเดอร์หรือ POS เลือกโต๊ะ เพิ่มเมนู จำนวน ตัวเลือก และหมายเหตุ
ส่งครัว
ระบบส่ง event ไปสร้างตั๋วครัวอัตโนมัติ ตั๋วปรากฏบนจอครัว (KDS) ตามสถานีที่กำหนดไว้ในเมนู
ปรุงและเสิร์ฟ
ครัวปรุงอาหาร สถานะเดินหน้า confirmed → ready → served ด้วยปุ่ม Advance พร้อมตัดสต๊อกตามสูตร
ปิดบิลและชำระเงิน
ชำระเงินผ่าน POS ระบบออกใบกำกับภาษีอย่างย่อ (ABB) อัตโนมัติ และปิดบิลของออเดอร์
ช่องทางและประเภทการขาย — pipeline ที่ต่างกัน
แต่ละช่องทางใช้ชุดสถานะต่างกันตามลักษณะการให้บริการ เลือกดูแยกได้ด้วยแท็บด้านบนของหน้าออเดอร์
ทานที่ร้าน (Dine-in)
ผูกกับโต๊ะ เดินสถานะ pending → confirmed → ready → served จัดการโต๊ะและผังร้านที่หน้าโต๊ะ
บุฟเฟต์ (Buffet)
เปิดเซสชันต่อโต๊ะ สั่งเป็นรอบ (queued → cooking → served) ไม่ต้องกดเดินสถานะเอง ดูความคืบหน้าจากจำนวนที่เสิร์ฟ
เดลิเวอรี / ออนไลน์
ออเดอร์ที่มีที่อยู่จัดส่ง เดิน new → pending → confirmed → shipped → delivered → finished ลูกค้าติดตามผ่านลิงก์ track
หน้าร้าน POS
พนักงานหน้าร้านรับออเดอร์และชำระเงินผ่านแอป POS ซึ่งป้อนเข้าวงจรเดียวกันกับช่องทางอื่น
โครงสร้างข้อมูล — ความสัมพันธ์ระหว่างตาราง
Order (ออเดอร์)
ข้อมูลหลักของออเดอร์ ได้แก่ ประเภท โต๊ะ/ที่อยู่จัดส่ง สถานะ และยอดรวม pipeline ถูกอนุมานจากประเภทและที่อยู่จัดส่ง
OrderItem (รายการในออเดอร์)
แต่ละบรรทัดเก็บ menu_item_id พร้อมตัวเลือก (modifier_ids) และขนาด ชื่อเมนูถูก resolve จาก Catalog ตอนแสดงผล
Pipeline (ชุดสถานะ)
dine_in / delivery / buffet_round แต่ละแบบมีลำดับสถานะและสถานะสิ้นสุดต่างกัน ใช้กำหนดปุ่ม Advance และป้ายสถานะ
Table / Zone (โต๊ะและโซน)
ผังร้านและโต๊ะสำหรับทานที่ร้านและบุฟเฟต์ รองรับการย้าย/รวมโต๊ะ และสถานะว่าง/ใช้งาน/กำลังทำความสะอาด
BuffetSession / Round (เซสชันบุฟเฟต์)
เซสชันต่อโต๊ะพร้อมแพ็กเกจและเวลาหมดอายุ การสั่งแต่ละรอบจะถูกบันทึกเป็น round ภายใต้เซสชัน
Bill / Payment (บิลและการชำระเงิน)
การชำระเงินจัดการโดย POS payment service เมื่อปิดบิลจะ publish bill.paid ทำให้ออก ABB และตัดสต๊อกตามสูตร
หน้าที่ของแต่ละหน้า
| หน้า | หน้าที่ |
|---|---|
| ออเดอร์ | จัดการออเดอร์หลังร้าน ทุกช่องทางและสถานะ พร้อมสร้างออเดอร์และเดินสถานะ |
| โต๊ะและผังร้าน | ผังร้าน สถานะโต๊ะ ย้าย/รวมโต๊ะ และเซสชันบุฟเฟต์ |
| ช่องทางการขาย | ตั้งค่าช่องทางการรับออเดอร์ |
| ใบออเดอร์ | พิมพ์ใบออเดอร์ (เอกสารภายใน ไม่ใช่ใบกำกับภาษี) |
| จอครัว (KDS) | พื้นที่เกี่ยวข้อง — ตั๋วครัวและการปรุงอาหาร |
| หน้าร้าน POS | พื้นที่เกี่ยวข้อง — รับออเดอร์และชำระเงินหน้าร้าน |
หน้าตาของแต่ละหน้า
ภาพจริงจากระบบ คลิกที่ภาพเพื่อดูขนาดเต็ม
ออเดอร์
รายการออเดอร์ฝั่งหลังร้าน การ์ดสถิติใช้กรองตามสถานะ คลิกที่แถวเพื่อเปิดแผงรายละเอียดที่มีรายการอาหาร โน้ต ยอดรวม และปุ่มเดินสถานะ/ยกเลิก
โต๊ะและผังร้าน
ผังโต๊ะและสถานะ — โซน จำนวนที่นั่ง และโต๊ะไหนมีลูกค้า กำลังทำความสะอาด หรือว่าง
ช่องทางการขาย
ช่องทางการขาย (ทานที่ร้าน กลับบ้าน เดลิเวอรี) พร้อมการตั้งค่าของแต่ละช่องทาง
ใบออเดอร์
รูปแบบใบออเดอร์ เป็นใบสำหรับครัว/ลูกค้า ไม่ใช่เอกสารภาษี — ใบกำกับภาษีออกจากฝั่ง POS
จอครัว (KDS)
หน้าจอครัวที่ออเดอร์จะไปปรากฏเมื่อส่งแล้ว — ตั๋วจัดกลุ่มตามสถานีครัว
ทดลองใช้งานด้วยตนเอง
ทำตามขั้นตอนต่อไปนี้เพื่อทดลองวงจรออเดอร์แบบทานที่ร้านตั้งแต่ต้นจนจบ
- 1
เปิดหน้าออเดอร์ กดสร้างออเดอร์ เลือกโต๊ะ เพิ่มเมนูและจำนวน แล้วยืนยัน
- 2
เปิดจอครัว (KDS) จะเห็นตั๋วครัวของออเดอร์ที่เพิ่งสร้างปรากฏขึ้น
- 3
กลับมาหน้าออเดอร์ กดปุ่ม Advance เพื่อเดินสถานะ confirmed → ready → served
- 4
หากต้องการ เปิดใบออเดอร์เพื่อพิมพ์เอกสารภายในให้ลูกค้าหรือพนักงาน
- 5
ไปที่ POS เพื่อปิดบิลและชำระเงิน ระบบจะออก ABB และตัดสต๊อกตามสูตรโดยอัตโนมัติ