กำลังเชื่อมต่อเครื่องกลาง…

ตรวจว่า MacBook เปิดโปรแกรมไว้ และเครื่องนี้ต่อ Wi-Fi เดียวกัน

ถ้าเป็นเครื่องใหม่ ต้องจับคู่ก่อน: เปิดหน้า ตั้งค่า → Mobile Staff บน MacBook แล้วเปิดลิงก์/สแกน QR จับคู่จากเครื่องนี้

{{ settings.shop }}

{{ toast }}
โต๊ะ {{ c.table }} เรียกพนักงาน

{{ c.label }}{{ c.text ? ' — ' + c.text : '' }}

{{ timeOf(c.at) }}

ออฟไลน์ — ระบบยังใช้งานต่อได้ ข้อมูลเก็บในเครื่อง
{{ t.name }} {{ t.status==='available'?t.capacity:t.guests }}

฿{{ money(calc(t).total) }}

{{ t.openedAt ? timeOf(t.openedAt) : '' }}

ว่าง (กดเปิดโต๊ะ)
{{ lines(t.id).length }} รายการรอส่งครัว {{ unsent(t.id) }}
ว่าง กำลังทาน รอเช็คบิล

ลากโต๊ะไปวางตามตำแหน่งจริงในร้าน ระบบบันทึกให้อัตโนมัติ

เพิ่มของตกแต่ง:
โต๊ะ {{ pickedTable.name }} รูปร่าง
{{ DECOR[pickedDecor.type].name }} ลากมุมขวาล่างเพื่อปรับขนาด
{{ zones.find(z=>z.id===zoneId)?.name }}
{{ d.label }}
{{ t.name }} {{ t.guests }}

บิลที่เปิดอยู่

ยังไม่มีโต๊ะที่เปิดอยู่

โต๊ะ {{ t.name }}{{ t.status==='billing'?'รอเช็คบิล':'กำลังทาน' }}

{{ l.qty }}x {{ l.name }}฿{{ money(l.price*l.qty) }}

฿{{ money(calc(t).total) }}

ประวัติใบเสร็จ

กดที่บิลเพื่อดูรายการพร้อมเวลาที่สั่งแต่ละรายการ

เลขที่วันที่ / เวลาโต๊ะชำระยอด
ยังไม่มีใบเสร็จ

รอบการขาย

ยังไม่ได้เปิดรอบ — ใส่เงินสดในลิ้นชักตอนเริ่มกะ

รอบที่ปิดแล้ว

{{ dateOf(s.startedAt) }} → {{ dateOf(s.closedAt) }}ขาย ฿{{ money(s.cash+s.transfer) }} · ส่วนต่าง {{ money(s.diff) }}

คิวลูกค้า รอ {{ qWait.length }} คิว

ไม่มีคิวรออยู่

{{ q.no }}
{{ q.name }} {{ q.size }} คน

{{ q.phone || 'ไม่มีเบอร์' }} · รอมา {{ Math.max(0, Math.floor((now - new Date(q.at)) / 60000)) }} นาที{{ q.status==='called' ? ' · เรียกแล้ว' : '' }}

วันนี้เสร็จแล้ว {{ qDone.filter(q=>q.status==='seated').length }} คิว · ยกเลิก {{ qDone.filter(q=>q.status==='cancel').length }} คิว

รายงานวันนี้

ยอดขายรวม

฿{{ money(rep.total) }}

จำนวนบิล

{{ rep.count }}

เฉลี่ยต่อบิล

฿{{ money(rep.count?rep.total/rep.count:0) }}

เงินสด / โอน

฿{{ money(rep.cash) }} / ฿{{ money(rep.transfer) }}
แยกตามประเภทชำระเงิน

{{ methodName(k) }}฿{{ money(v) }}

ยังไม่มีข้อมูลวันนี้

เมนูขายดี

{{ n+1 }}. {{ i.name }} ({{ i.qty }})฿{{ money(i.sum) }}

ยังไม่มีข้อมูลวันนี้

ตั้งค่า

การชำระเงิน



บันทึกอัตโนมัติทุกครั้งที่แก้ · ใบเสร็จของระบบนี้ไม่ใช่ใบกำกับภาษีเต็มรูป

ประเภทการชำระเงินอื่นๆ

เพิ่มช่องทางที่ร้านรับ เช่น ถุงเงิน คนละครึ่ง บัตรกำนัล ปุ่มจะขึ้นในหน้าชำระเงิน และแยกยอดในรายงาน/รอบการขาย

ยังไม่มีประเภทเพิ่มเติม

การชำระเงินแบบ QR (พร้อมเพย์)

ตั้งแล้ว ปุ่ม “โอน/QR” ในหน้าชำระเงินจะแสดง QR พร้อมยอดเงินให้ลูกค้าสแกน

รูปแบบไม่ถูกต้อง ต้องเป็นตัวเลข 10 หรือ 13 หลัก

ถ้าไม่ตั้ง ปุ่มโอนจะเป็นแค่การบันทึกว่ารับโอนแล้ว (ไม่มี QR)

เครื่องรับชำระเงิน EDC

ระบบนี้ ไม่ได้เชื่อมต่อกับเครื่อง EDC โดยตรง — พนักงานกดยอดและรูดบัตรที่เครื่อง EDC เอง แล้วกดยืนยันใน POS (ใส่เลขอ้างอิงสลิปได้) เพื่อบันทึกยอดและแยกประเภทในรายงาน

รอบการขาย

สถานะตอนนี้: {{ shift ? 'เปิดรอบอยู่ (เริ่ม ' + dateOf(shift.startedAt) + ')' : 'ยังไม่เปิดรอบ' }}

พนักงานและ PIN

{{ s.name }}

PIN ช่วยกันกดผิดและจำกัดสิทธิ์ในร้าน ไม่ใช่ระบบความปลอดภัยระดับธนาคาร

เครื่องพิมพ์

โหมดเว็บ: สั่งพิมพ์ผ่านหน้าต่างพิมพ์ของเบราว์เซอร์ และรู้ไม่ได้ว่าพิมพ์สำเร็จหรือไม่ — เปิดเป็นแอป Mac เพื่อเลือกเครื่องพิมพ์แยกครัว/บาร์/ใบเสร็จ และพิมพ์ตรงโดยไม่ต้องกดยืนยัน


ขนาดตัวอักษรบนกระดาษ

ขนาดตัวอักษรใบแจ้งหนี้ / ใบเสร็จ{{ settings.rcpt.fontBill }} px
ขนาดตัวอักษรใบสั่งอาหาร{{ settings.rcpt.fontKitchen }} px

ค่าเริ่มต้น: บิล 26 px · ใบสั่งอาหาร 28 px (ของกระดาษ 58 มม.)

สั่งพิมพ์แล้ว {{ printLog.length }} ครั้ง · ล้มเหลว {{ printFail }}
{{ l.title }}{{ l.table ? ' · ' + l.table : '' }} {{ dateOf(l.at) }} {{ l.ok ? '' : '· ไม่สำเร็จ' }}

รูปแบบใบเสร็จและใบพิมพ์

ทั่วไป

ขนาดตัวอักษรใบแจ้งหนี้ / ใบเสร็จ{{ settings.rcpt.fontBill }} px
ขนาดตัวอักษรใบสั่งอาหาร{{ settings.rcpt.fontKitchen }} px

ค่าเริ่มต้น: บิล 26 px · ใบสั่งอาหาร 28 px (ของกระดาษ 58 มม.)

หน้ากว้างกระดาษ

หัวบิล (ใบแจ้งหนี้ / ใบเสร็จ)

ชื่อร้าน สาขา ที่อยู่ เบอร์ และเลขผู้เสียภาษี แก้ที่เมนู “ข้อมูลร้านอาหาร”


ใบแจ้งหนี้ (เช็คบิล)

ยังไม่ได้ตั้งเบอร์พร้อมเพย์ — ตั้งที่เมนู “การชำระเงินแบบ QR”


ใบเสร็จ


ใบสั่งอาหาร


ตัวอย่างนี้ใช้แม่แบบเดียวกับที่พิมพ์จริง

ข้อมูลร้านอาหาร

โลโก้

สำรองข้อมูล

{{ server ? 'ข้อมูลเก็บที่ MacBook เครื่องกลาง สำรองอัตโนมัติรายวัน (30 วันล่าสุด) ควรดาวน์โหลดสำรองเก็บไว้อีกที่ด้วย' : isApp ? 'ข้อมูลเก็บเป็นไฟล์ในเครื่องนี้ และสำรองอัตโนมัติทุกวัน (30 วันล่าสุด) ควรดาวน์โหลดสำรองเก็บไว้อีกที่ด้วย' : 'ข้อมูลอยู่ในเบราว์เซอร์เครื่องนี้เท่านั้น ควรสำรองทุกวันหลังปิดร้าน' }}

การแสดงผล

ปรับขนาดแยกแต่ละส่วนได้ เห็นผลทันที · ขนาดบนกระดาษตั้งแยกที่เมนู “รูปแบบใบเสร็จ”

{{ x[1] }}{{ x[2] }} {{ settings[x[0]] || 100 }}%

จัดการโต๊ะ

การจัดการคิว

พนักงานจดชื่อ/จำนวนคน/เบอร์ → กด “เรียกคิว” → เลือกโต๊ะว่างเพื่อเปิดโต๊ะให้ลูกค้า เลขคิวเริ่มใหม่ทุกวัน · ยังไม่มีจอแสดงคิวหรือ SMS แจ้งลูกค้า

Mobile Order (ลูกค้าสั่งผ่านมือถือ)

Mobile Staff (ใช้มือถือ/แท็บเล็ตเป็นเครื่องพนักงาน)

เงื่อนไขการให้บริการ

ระบบ POS นี้พัฒนาให้ใช้ภายในร้าน “{{ settings.shop }}” โดยไม่มีผู้ให้บริการคลาวด์ ข้อมูลทั้งหมดอยู่ในเครื่องของร้านเอง

• ร้านรับผิดชอบการสำรองข้อมูล การเก็บ PIN และการตั้งค่าภาษี/ค่าบริการให้ถูกต้องตามกฎหมาย

• ระบบไม่ใช่ใบกำกับภาษีเต็มรูป และไม่รับประกันความพร้อมใช้งานต่อเนื่อง ควรมีวิธีรับเงินสำรองเมื่อไฟดับหรืออินเทอร์เน็ตมีปัญหา

ข้อความนี้เป็นเอกสารตัวอย่าง ไม่ใช่คำปรึกษากฎหมาย ควรให้ผู้เชี่ยวชาญตรวจก่อนใช้เป็นเงื่อนไขกับลูกค้า

ความยินยอมข้อมูลส่วนบุคคล

ข้อมูลส่วนบุคคลที่ระบบอาจเก็บ: ชื่อ/เบอร์โทรลูกค้าในคิว (เก็บไม่เกิน 2 วัน), ชื่อพนักงานบนใบเสร็จ, ชื่อบัญชีพร้อมเพย์ของร้าน

วัตถุประสงค์: จัดคิวและออกบิลภายในร้านเท่านั้น ไม่เผยแพร่หรือส่งออกนอกร้าน ข้อมูลเก็บในเครื่อง MacBook เครื่องกลางและไฟล์สำรองของร้าน

ก่อนจดชื่อ/เบอร์ลูกค้า ควรแจ้งวัตถุประสงค์ให้ลูกค้าทราบและขอความยินยอมด้วยวาจาหรือป้ายประกาศหน้าร้าน ลูกค้าขอให้ลบรายการคิวได้ที่หน้า “คิว”

ข้อความนี้เป็นเอกสารตัวอย่าง ไม่ใช่คำปรึกษากฎหมาย

{{ zoneName(sel) }} • {{ sel.name }}

{{ sel.openedAt ? timeOf(sel.openedAt) : '-' }} {{ sel.guests }} คน

{{ lines(sel.id).length }} รายการ {{ stat(sel).t }}

จำนวนลูกค้า {{ sel.guests }}

ยังไม่มีรายการ

{{ l.name }} x {{ l.qty }} + {{ l.opts.map(o=>o.n).join(', ') }}* {{ l.note }} สั่ง {{ timeOf(l.at || l.sentAt) }} ({{ agoText(l.at || l.sentAt) }}) {{ l.by }}
{{ money(l.price*l.qty) }}
{{ l.qty }}

ส่วนลด -{{ money(calc(sel).disc) }}{{ sel.promo ? ' (' + sel.promo + ')' : '' }}

ไม่พบเมนู