Luồng mua hàng
Chi tiết từng bước khách hàng mua hàng trên Kiosk Self-Checkout — từ màn hình chào mừng đến nhận hóa đơn.
Khi Kiosk ở chế độ bán hàng (Buyer Mode), khách hàng trải qua luồng mua hàng gồm 7 bước. Thanh tiến trình (progress bar) ở đầu mỗi màn hình hiển thị bước hiện tại.
Sơ đồ luồng mua hàng
Bước 1 Bước 2 Bước 3–4 Bước 5 Bước 6 Bước 7
WELCOME → TÀI KHOẢN → QUÉT HÀNG / GIỎ HÀNG → MÃ GIẢM GIÁ → THANH TOÁN → HOÀN THÀNH
│
(auto-reset) ←──────────────┘Bước 1 — Chào mừng (Welcome)
Khi không có khách hàng sử dụng, Kiosk hiển thị màn hình chào mừng toàn màn hình:
- Lời chào: "Xin chào!" + "Sẵn sàng tự thanh toán nhanh chóng chỉ trong vài bước đơn giản".
- Nút BẮT ĐẦU: nút chính (xanh navy, nhấp nháy) — nhấn để bắt đầu giao dịch.
- 4 biểu tượng bước ở dưới nút BẮT ĐẦU (giới thiệu quy trình):
- Tài khoản — Bước 1
- Quét hàng — Bước 2
- Nhập Voucher — Bước 3
- Thanh toán — Bước 4
Thanh nhanh phía dưới
- Nút Tài khoản (icon 👤): chuyển thẳng đến bước nhập tài khoản thành viên.
- Nút LANGUAGE: chọn ngôn ngữ hiển thị (Tiếng Việt / English).
Khách hàng nhấn BẮT ĐẦU hoặc chạm vào bất kỳ nút nào → chuyển sang bước tiếp theo.
Bước 2 — Thông tin tài khoản (Thành viên)
Kiosk hỏi khách hàng có phải thành viên không:
Màn hình chọn
Hiển thị 2 lựa chọn:
| Lựa chọn | Mô tả |
|---|---|
| Có tài khoản | Chuyển đến quét mã thành viên (Zalo Miniapp QR hoặc nhập SĐT) |
| Bỏ qua | Bỏ qua tích điểm, chuyển thẳng đến quét hàng |
Quét mã thành viên
Sau khi chọn "Có tài khoản", màn hình Quét mã thành viên hiển thị:
- Quét mã QR Zalo Miniapp: đưa mã QR từ Zalo Miniapp vào máy đọc.
- HOẶC nhập số điện thoại thủ công: nhấn vào ô NHẬP SỐ ĐIỆN THOẠI → bàn phím số hiển thị.
Hệ thống tự động chuyển đổi định dạng số điện thoại:
tel:+84xxxxxxxxx→0xxxxxxxxx84xxxxxxxxx→0xxxxxxxxx
Nút hỗ trợ
- Bắt đầu lại: quay về màn hình chào mừng.
- Bỏ qua: bỏ qua tích điểm, chuyển đến quét hàng.
Bước 3–4 — Quét hàng & Giỏ hàng
Sau khi kiểm tra thành viên (hoặc bỏ qua), Kiosk chuyển sang chế độ quét sản phẩm.
Màn hình quét sản phẩm
Màn hình chia thành 2 tab:
| Tab | Mô tả |
|---|---|
| Contents | Danh sách sản phẩm đã quét — hiển thị hình ảnh, tên, biến thể, SKU, số lượng và giá |
| Auto scanning | Chế độ quét tự động liên tục (RFID / barcode) — sản phẩm quét được tự động thêm vào giỏ |
Cách thêm sản phẩm
- RFID: đặt sản phẩm có gắn thẻ RFID lên khay quét → tự động nhận diện và thêm vào giỏ.
- Barcode: quét mã vạch sản phẩm bằng máy quét → thêm vào giỏ.
- Nhập thủ công: mở modal quét barcode để nhập SKU bằng bàn phím ảo.
Giỏ hàng
Phía dưới danh sách sản phẩm hiển thị:
- Số lượng sản phẩm trong giỏ
- Tổng cộng (VNĐ)
Thao tác
Nhấn nút Thanh toán (hoặc chuyển sang bước tiếp theo) khi đã quét đủ sản phẩm.
Khách hàng có thể tiếp tục quét barcode bằng máy quét ngay trên màn hình giỏ hàng — sản phẩm sẽ tự động thêm vào.
Bước 5 — Mã giảm giá (Voucher)
Kiosk cho phép nhập hoặc quét mã giảm giá trước khi thanh toán:
Quét mã giảm giá
- Quét mã vạch: đưa mã giảm giá vào máy đọc barcode — hệ thống tự động áp dụng.
- HOẶC nhập thủ công: nhấn vào ô NHẬP MÃ GIẢM GIÁ → gõ mã bằng bàn phím ảo.
Nút thao tác
| Nút | Hành động |
|---|---|
| Bỏ qua | Chuyển thẳng đến chọn phương thức thanh toán |
| Sử dụng Voucher | Áp dụng mã giảm giá đã nhập/quét → hiển thị số tiền giảm |
Kết quả
- Hợp lệ ✅: hiển thị số tiền giảm giá, cập nhật tổng tiền mới.
- Không hợp lệ ❌: hiển thị thông báo lỗi, cho phép nhập mã khác hoặc bỏ qua.
Bước 6 — Thanh toán (Check Out)
Chọn phương thức thanh toán
Hiển thị tóm tắt đơn hàng:
| Dòng | Mô tả |
|---|---|
| Tổng (8 sản phẩm) | Tổng tiền gốc |
| Voucher giảm giá | Mã voucher + số tiền giảm (ví dụ: COOL10 → −206.200đ) |
| Thành tiền | Số tiền khách cần thanh toán (in đậm) |
Hai phương thức thanh toán hiển thị dạng thẻ lớn:
| Phương thức | Mô tả |
|---|---|
| Mã QR | Quét mã QR bằng ứng dụng ngân hàng |
| Thẻ | Thẻ VISA / MASTERCARD / APPLE PAY / ANDROID PAY (không nhận ATM) |
Xử lý thanh toán — Mã QR
- Hiển thị mã QR lớn trên màn hình kèm hình minh họa quét.
- Số tiền thanh toán: hiển thị rõ ràng phía trên.
- Đồng hồ đếm ngược: "Thời gian để thanh toán còn
X:XX" (5 phút).
Xử lý thanh toán — Thẻ
- Hướng dẫn: "Đưa thẻ VISA / MASTERCARD vào máy hoặc chạm để thanh toán".
- Hình minh họa thiết bị SmartPOS.
- Đồng hồ đếm ngược: "Thời gian để thanh toán còn
X:XX" (5 phút).
Nút thao tác
| Nút | Hành động |
|---|---|
| Bắt đầu lại | Hủy đơn, quay về màn hình chào mừng |
| Đổi phương thức thanh toán | Quay lại chọn phương thức khác (giữ đơn hàng) |
Kiểm tra trạng thái
Hệ thống tự động kiểm tra trạng thái thanh toán mỗi 3 giây:
- Kiểm tra từ cổng thanh toán (payment attempt).
- Kiểm tra trực tiếp trạng thái đơn hàng (admin có thể xác nhận thủ công).
- Khi phát hiện COMPLETED → chuyển sang bước hoàn thành.
Nếu hết thời gian 5 phút mà chưa thanh toán, đơn hàng tự động bị hủy và Kiosk chuyển sang màn hình lỗi.
Bước 7 — Hoàn thành (Success)
Hiển thị kết quả:
- Tiêu đề: "Thanh toán thành công!" (chữ lớn, xanh navy).
- Lời cảm ơn: "Trong cuộc sống có quá nhiều lựa chọn, cảm ơn bạn đã lựa chọn [tên cửa hàng] 💙".
Xuất hóa đơn VAT
- Hiển thị thông báo: "Xuất hóa đơn VAT — Bạn có thể thực hiện sau trong vòng 2 tiếng bằng cách quét QR code trên hóa đơn được in ra".
In hóa đơn
- Hệ thống tự động in hóa đơn qua QZ Tray (nếu đã cấu hình).
- Hiển thị trạng thái: "Đã in hóa đơn thành công. Vui lòng lấy hóa đơn tại máy in." hoặc thông báo lỗi nếu không in được.
Nút thao tác
| Nút | Hành động |
|---|---|
| Bắt đầu giao dịch mới | Quay về màn hình chào mừng, sẵn sàng cho khách tiếp theo |
| Kết thúc giao dịch | Quay về màn hình chờ |
| Làm lại (góc trên phải) | Tải lại trang |
Kiosk cũng tự động quay về màn hình chào mừng sau vài giây nếu khách không thao tác gì.
Bước phụ — Màn hình lỗi (ERROR)
Khi có lỗi xảy ra (hết thời gian thanh toán, lỗi kết nối cổng thanh toán...), Kiosk hiển thị:
- Thông báo lỗi cụ thể.
- Sau một khoảng thời gian, tự động quay về màn hình chào mừng.
Timeout tự động
Để tránh trường hợp khách bỏ đi giữa chừng, Kiosk có 3 cơ chế timeout:
| Cơ chế | Thời gian | Áp dụng khi | Hành vi |
|---|---|---|---|
| Idle timeout | 2 phút | Ở bước tài khoản, 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ề WELCOME |
| Payment timeout | 5 phút | Đang chờ thanh toán (hiển thị QR/quẹt thẻ) | Hủy đơn, chuyển sang ERROR |
| Live Cart RFID | 2–60 giây (cấu hình) | Chế độ giỏ hàng RFID đang bật — tag ngừng quét | Tự xóa sản phẩm khỏi giỏ |
- Idle timeout không áp dụng trong các trạng thái: WELCOME, IDLE, PAYMENT_PROCESSING, SUCCESS, ERROR.
- Mọi thao tác chạm màn hình đều reset bộ đếm idle timeout.
- Payment timeout hoạt động độc lập — có đồng hồ đếm ngược riêng hiển thị trên màn hình.