Máy bán hàng tự động (KIOSK)
Tổng quan về hệ thống Self-Checkout Kiosk—máy bán hàng tự phục vụ cho khách hàng tại cửa hàng, tích hợp RFID, quét mã vạch, thanh toán điện tử và in hóa đơn tự động.
Module Máy bán hàng tự động (KIOSK) là ứng dụng Self-Checkout chạy trên thiết bị màn hình cảm ứng tại cửa hàng, cho phép khách hàng tự quét sản phẩm, áp dụng khuyến mãi, thanh toán điện tử và nhận hóa đơn mà không cần nhân viên thu ngân.
Đặc điểm chính
- Tự phục vụ hoàn toàn: khách hàng tự mua hàng, thanh toán và nhận hóa đơn.
- Hỗ trợ RFID: đặt sản phẩm lên khay quét RFID để tự động thêm vào giỏ hàng.
- Quét mã vạch: quét barcode/SKU sản phẩm bằng máy quét hoặc nhập thủ công qua bàn phím ảo.
- Tích điểm thành viên: nhập số điện thoại hoặc quét thẻ thành viên để tích điểm.
- Mã giảm giá / Coupon: nhập hoặc quét mã khuyến mãi trước khi thanh toán.
- Thanh toán điện tử: hỗ trợ VNPAY QR, quẹt thẻ SmartPOS và SePay (chuyển khoản).
- In hóa đơn tự động: in hóa đơn 80mm qua QZ Tray.
- Chế độ quản lý (Manager Mode): cấu hình thiết bị, đồng bộ dữ liệu — yêu cầu OTP từ admin.
Vị trí menu admin
- Cài đặt Kiosk: Cửa hàng > Cài đặt POS > tab Máy Kiosk — thiết lập phương thức thanh toán.
- Quầy bán hàng (Self-Checkout): Cửa hàng > Quầy bán hàng — tạo quầy loại "Máy bán hàng tự động" với mã thiết bị và nhân viên đại diện.
- Đăng nhập máy selfcheckout (cấp OTP):
- Cách 1: Cửa hàng > Cửa hàng (danh sách cửa hàng) → cột Quầy → nhấn nút Đăng nhập máy selfcheckout bên cạnh tên quầy Self-Checkout.
- Cách 2: Cửa hàng > Quầy bán hàng (danh sách quầy) → cột Tên quầy → nhấn nút Đăng nhập máy selfcheckout bên dưới tên quầy Self-Checkout.
Kiến trúc hệ thống
| Thành phần | Vai trò |
|---|---|
| cp-frontend-kiosk | Ứng dụng React chạy trên trình duyệt của thiết bị Kiosk |
| cp-frontend (admin) | Cấu hình quầy Self-Checkout, cài đặt Kiosk, cấp OTP |
| Backend API | Xác thực OTP, đồng bộ sản phẩm, xử lý đơn hàng, cổng thanh toán |
| QZ Tray | Dịch vụ in hóa đơn trực tiếp trên thiết bị Kiosk |
| RFID Reader | Thiết bị đọc thẻ RFID qua WebSocket |
Nhóm tài liệu trong phần này
Thiết lập Kiosk
Cấu hình quầy Self-Checkout, kết nối thiết bị, cài đặt giao diện, phương thức thanh toán, máy in và RFID.
Vận hành & Mua hàng
Luồng mua hàng trên Kiosk: chào mừng, tích điểm, quét sản phẩm, giỏ hàng, mã giảm giá, thanh toán, in hóa đơn và xử lý sự cố.
Phân định với module khác
- POS: bán hàng tại quầy có nhân viên thu ngân. Kiosk là chế độ tự phục vụ, không cần nhân viên.
- OMS: đơn hàng từ Kiosk sau khi tạo sẽ nằm trong OMS, nguồn đơn là "Self-checkout".
- Promotion: cấu hình chương trình khuyến mãi nằm ở Promotion; Kiosk chỉ mô tả cách áp dụng coupon vào giỏ hàng.
- CRM: thông tin khách hàng và điểm tích luỹ nằm ở CRM; Kiosk tra cứu khách hàng bằng SĐT khi tích điểm.
Lưu ý chung
- Kiosk yêu cầu kết nối internet ổn định để đồng bộ dữ liệu sản phẩm và xử lý thanh toán.
- Thiết bị Kiosk cần cài đặt QZ Tray nếu muốn in hóa đơn trực tiếp.
- Để thoát chế độ bán hàng, quản lý cần nhấn vào đồng hồ 4 lần liên tiếp và nhập OTP xác thực.
Cơ chế tự động reset
Kiosk có 3 cơ chế timeout tự động:
| Cơ chế | Thời gian | Áp dụng khi | Hành vi |
|---|---|---|---|
| Idle timeout | 2 phút | Ở bước nhập SĐT, giỏ hàng, mã giảm giá, chọn thanh toán — không chạm màn hình | Hủy phiên, quay về màn hình chào mừng |
| Payment timeout | 5 phút | Đang chờ khách thanh toán (hiển thị QR hoặc quẹt thẻ) | Hủy đơn hàng, chuyển sang màn hình lỗi |
| Live Cart RFID | 2–60 giây (cấu hình) | Chế độ giỏ hàng RFID bật — tag ngừng quét | Tự xóa sản phẩm khỏi giỏ hàng |
Chế độ giỏ hàng (Live Cart)
Khi bật Chế độ giỏ hàng RFID (cấu hình trên Manager Mode > Cấu hình > tab Máy đọc RFID), giỏ hàng phản ánh chính xác những sản phẩm đang nằm trên khay RFID:
- Sản phẩm đặt lên khay → tự động thêm vào giỏ.
- Sản phẩm bỏ ra khỏi khay → sau khoảng timeout đã cấu hình (mặc định 2 giây, tối đa 60 giây), tự động xóa khỏi giỏ.
- Khi tắt chế độ này (mặc định), sản phẩm quét RFID chỉ thêm vào giỏ, không tự xóa.