การจัดการเมนู
แท็บ Menu ใต้ ร้านอาหาร คือที่ที่คุณสร้างแค็ตตาล็อกที่ลูกค้าจะเห็นที่ handy.cafe/{slug} เมนูประกอบด้วยหมวดหมู่และสินค้า โดยสินค้าสามารถมีกลุ่มตัวเลือกย่อยสำหรับเลือกขนาดหรือท็อปปิ้งได้
โครงสร้าง
| ระดับ | วัตถุประสงค์ |
|---|---|
| หมวดหมู่ | ส่วนของเมนู เช่น "Hot Drinks" หรือ "Burgers" แต่ละหมวดมีไอคอนและลำดับการเรียง |
| สินค้า | รายการที่สั่งได้หนึ่งชิ้นภายในหมวด มีชื่อ คำอธิบาย รูปภาพ ราคา อัตรา VAT และเวลาเตรียม |
| กลุ่มตัวเลือกย่อย | ไม่บังคับ เป็นชุดตัวเลือกที่ผูกกับสินค้า เช่น "Size: Small, Medium, Large" โดยแต่ละตัวเลือกมีราคาส่วนเพิ่ม |
หมวดหมู่
แต่ละหมวดหมู่มีฟิลด์ดังนี้:
| ฟิลด์ | ความหมาย |
|---|---|
| Name | แสดงเป็นหัวข้อส่วนในเมนูลูกค้า |
| Icon | ชื่อไอคอน MDI (Material Design Icons) เลือกจากตัวเลือกไอคอน |
| Sort Order | จำนวนเต็ม ค่าน้อยจะแสดงก่อน ปรับได้ด้วยการลากหรือปุ่ม move-up / move-down |
| Active | เมื่อปิด หมวดหมู่และสินค้าทั้งหมดจะถูกซ่อนจากเมนูลูกค้า แต่ไม่ถูกลบ |
การเพิ่มหมวดหมู่
- เปิด ร้านอาหาร > Menu
- คลิก Add Category
- กรอกชื่อ
- คลิกช่องไอคอนแล้วเลือกไอคอน MDI ตัวเลือกจะเปิดรายการที่ค้นหาได้ ลองค้นด้วยคำอย่าง "coffee", "burger" หรือ "pizza"
- บันทึก หมวดหมู่จะปรากฏในตัวแก้ไขเมนู
การจัดลำดับหมวดหมู่
ลากที่จับบนแถวหมวดหมู่เพื่อย้ายตำแหน่ง ลำดับใหม่จะถูกบันทึกทันทีเมื่อปล่อยเมาส์ คุณยังใช้ลูกศร move-up และ move-down เพื่อวางตำแหน่งละเอียดได้
Soft Delete
การลบหมวดหมู่ที่มีสินค้าลูกอยู่จะทำให้หมวดหมู่นั้นกลายเป็น inactive แทนการลบข้อมูล วิธีนี้ช่วยเก็บประวัติคำสั่งซื้อที่อ้างอิงรหัสสินค้าต้นทางไว้ หากต้องการกู้คืน ให้เปิดใช้งานหมวดหมู่ใหม่จาก UI ผู้ดูแล
สินค้า
แต่ละสินค้ามีฟิลด์ดังนี้:
| ฟิลด์ | ความหมาย |
|---|---|
| Category | หมวดหมู่หลัก |
| Name | แสดงให้ลูกค้าเห็น |
| Description | รองรับ Markdown ปรากฏในชีตข้อมูลสินค้าเมื่อผู้ใช้แตะรายการ |
| Ingredients | บรรทัดสั้นๆ ใต้คำอธิบาย ใช้สำหรับบอกสารก่อภูมิแพ้หรือจุดเด่นของวัตถุดิบ |
| Base Price | ราคาก่อนรวมตัวเลือกย่อย เก็บเป็นหน่วยย่อยของสกุลเงิน แต่กรอกเป็นหน่วยเต็ม |
| VAT Rate | เปอร์เซ็นต์ที่ใช้เมื่อแสดงยอดรวมในใบเสร็จลูกค้า |
| Unit | ป้ายกำกับเสริม เช่น "ml" หรือ "g" จะแสดงถัดจากราคา |
| Photo | รูปสินค้า รองรับทุกฟอร์แมต แนะนำ WebP ขนาดไม่เกิน 2 MB เพื่อให้เมนูโหลดเร็วที่สุด |
| Track Stock | เมื่อเปิด สินค้าจะมีจำนวนคงเหลือที่ลดลงทุกครั้งที่มีออเดอร์ |
| In Stock | จำนวนคงเหลือปัจจุบัน ออเดอร์จะล้มเหลวสำหรับลูกค้าเมื่อสต็อกหมด และสินค้าจะถูกซ่อนอัตโนมัติ |
| Active | เมื่อปิด สินค้าจะถูกซ่อนจากเมนูลูกค้า |
| Sort Order | ตำแหน่งภายในหมวดหมู่ |
| Preparation Time | เวลาประมาณการสำรองแบบคงที่เป็นนาที ดูหัวข้อ Dynamic Preparation Time ด้านล่าง |
การอัปโหลดรูปภาพ
- เปิดสินค้า
- คลิกบริเวณรูปภาพ
- เลือกรูปจากคอมพิวเตอร์ของคุณ จุดอัปโหลดรับทุกฟอร์แมต
- เซิร์ฟเวอร์จะประมวลผลไฟล์ เก็บ asset ID, MIME type และ checksum แล้วส่ง URL กลับมา
- รูปจะแสดงทันทีทั้งในตัวแก้ไขและในเมนูลูกค้าภายในไม่กี่วินาที
หากต้องการเปลี่ยนรูป ให้คลิกภาพเดิมแล้วอัปโหลดไฟล์ใหม่ ไฟล์เก่าจะถูกแทนที่
Markdown ในคำอธิบาย
คำอธิบายสินค้าใช้ Markdown ได้ ตัวอย่างการใช้งานที่พบบ่อย:
- เน้นตัวหนาด้วย
**strong** - ใช้ขึ้นบรรทัดใหม่สำหรับคำอธิบายหลายบรรทัด
- ทำรายการสั้นๆ สำหรับวัตถุดิบหรือเมนูคู่กัน
หลีกเลี่ยงการใช้หัวข้อ H1 ถึง H6 ในคำอธิบายสินค้า เพราะเมนูลูกค้าแสดงคำอธิบายในชีตที่จำกัดพื้นที่ และหัวข้อจะดูเกะกะ
กลุ่มตัวเลือกย่อย
ตัวเลือกย่อยใช้เก็บตัวเลือกของลูกค้าที่เปลี่ยนราคา หรือการตั้งค่า สินค้าหนึ่งรายการสามารถมีกลุ่มตัวเลือกย่อยหลายชุดได้ เช่น Size และ Toppings บนเบอร์เกอร์ชิ้นเดียวกัน
ตัวเลือกย่อยแต่ละรายการมี:
| ฟิลด์ | ความหมาย |
|---|---|
| Name | ป้ายที่ลูกค้าเห็น เช่น "Size" หรือ "Extra Cheese" |
| Price Delta | จำนวนที่บวกเพิ่มจากราคาพื้นฐานเมื่อเลือกตัวเลือกนี้ อาจเป็นศูนย์หรือติดลบก็ได้ |
| Required | เมื่อเปิด ลูกค้าต้องเลือกอย่างน้อยหนึ่งตัวเลือกจากกลุ่มนี้ก่อนเพิ่มลงตะกร้า |
| Sort Order | ตำแหน่งภายในกลุ่ม |
การสร้างกลุ่มตัวเลือกย่อย
- เปิดสินค้า
- เลื่อนลงไปที่ส่วน Variants
- คลิก Add Variant
- กรอกชื่อและราคาเพิ่ม เปิด Required หากตัวเลือกนี้จำเป็น
- บันทึก
ทำซ้ำสำหรับทุกตัวเลือกในกลุ่ม โดยกลุ่ม "Size" ทั่วไปจะมี 3 แถว: Small ราคาเพิ่ม 0, Medium ราคาเพิ่ม +1.00 และ Large ราคาเพิ่ม +2.00
เวลาประมาณการเตรียมอาหารแบบไดนามิก
HandyCafe สามารถคำนวณเวลาเตรียมอาหารแบบเรียลไทม์สำหรับสินค้าทุกชิ้นตามประสิทธิภาพจริงของครัวได้ ทำให้ชิปเวลาประมาณการที่แสดงบนเมนูลูกค้าและบนออเดอร์ที่กำลังทำงานแม่นยำขึ้น
| การตั้งค่า | ผลที่เกิด |
|---|---|
| Static Time | เก็บไว้ในสินค้า ใช้เมื่อมีประวัติไม่เพียงพอสำหรับคำนวณค่าไดนามิก |
| Dynamic Estimate | คำนวณจากประวัติคำสั่งซื้อ 30 วันล่าสุด เวลาเตรียมเฉลี่ยต่อสินค้าจะถูกคูณด้วย busy-factor ที่ได้จากความยาวคิวปัจจุบัน ตัวคูณจะถูกจำกัดระหว่าง 1.0 ถึง 2.0 และค่าผลลัพธ์สุดท้ายจะถูกจำกัดไว้ระหว่าง 1 ถึง 120 นาที |
การตั้งค่า "Show Prep Time on Menu" ในโปรไฟล์ธุรกิจกำหนดว่าลูกค้าจะมองเห็นชิปเวลาได้หรือไม่ พนักงานจะเห็นค่าประมาณนี้เสมอบนแดชบอร์ด Orders
การติดตามสต็อก
เปิด Track Stock รายสินค้าเพื่อลดการขายสินค้าที่หมดแล้ว
- เมื่อมีการสั่งซื้อ สต็อกจะลดตามจำนวนที่สั่ง
- เมื่อสต็อกเหลือศูนย์ สินค้าจะถูกซ่อนจากเมนูลูกค้าอัตโนมัติจนกว่าคุณจะอัปเดตจำนวนใหม่
- หากต้องการเติมสต็อก ให้แก้สินค้าและกรอกค่า In Stock ใหม่
สินค้าที่ไม่เปิด Track Stock จะทำงานเสมือนมีสต็อกไม่จำกัดและไม่ถูกซ่อนอัตโนมัติ
การจัดลำดับสินค้าในหมวดหมู่
ลากที่จับเพื่อย้ายสินค้าขึ้นหรือลง ลำดับใหม่จะถูกบันทึกเมื่อปล่อย เมนูลูกค้าจะแสดงลำดับใหม่หลังจากรีเฟรชเมนูรอบถัดไป ซึ่งเกิดขึ้นทุกครั้งที่โหลดเซสชัน
เคล็ดลับ
- เริ่มต้นด้วย 6 ถึง 10 หมวดหมู่ หมวดหมู่ที่มากเกินไปทำให้ลูกค้าดูเมนูช้าลง
- ใช้รูปถ่ายที่คมชัดและมีแสงดี รูปมืดหรือมี noise มากจะลดโอกาสสั่งซื้อ
- พยายามให้คำอธิบายสั้นกว่า 120 ตัวอักษรถ้าเป็นไปได้ คำอธิบายยาวจะดันปุ่ม Add to Cart ลงไปนอกหน้าจอแรกบนมือถือ
- ตั้งเวลาเตรียมอาหารแบบคงที่ให้สมจริง ระบบไดนามิกต้องใช้เวลา 30 วันในการเรียนรู้ ช่วงนั้นค่าคงที่คือสิ่งที่ลูกค้าเห็น
- สำหรับสินค้าที่มีตัวเลือกเยอะ แยกเป็น 2 กลุ่มตัวเลือกย่อยแทนการรวมทุกอย่างไว้กลุ่มเดียว รายการ "Size" กับ "Milk" จะอ่านง่ายกว่า "Size with Milk"