Files
pos-system/pencil-design/docs/pos-workflow-guide.md

408 lines
9.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# POS Workflow Documentation | Tài liệu Quy trình POS
## Mục lục
1. [Tổng quan](#1-tổng-quan)
2. [Café - Quick Service](#2-café---quick-service)
3. [Restaurant - Full Service](#3-restaurant---full-service)
4. [Karaoke - Time-Based](#4-karaoke---time-based)
5. [Spa - Appointment Service](#5-spa---appointment-service)
6. [Payment Flow](#6-payment-flow)
---
## 1. Tổng Quan
### So sánh 4 mô hình
| Yếu tố | Café | Restaurant | Karaoke | Spa |
|--------|------|------------|---------|-----|
| **Thanh toán** | Trước | Sau | Sau | Sau |
| **Thời gian** | 5-10 phút | 30-90 phút | 1-4 giờ | 30-120 phút |
| **Đối tượng** | Counter | Bàn | Phòng | Khách + NV |
| **Tính năng đặc biệt** | Queue | Kitchen | Timer | Appointment |
| **Loyalty** | ✅ Optional | ✅ Optional | ✅ Optional | ✅ Required |
---
## 2. Café - Quick Service
### Workflow Diagram
```mermaid
flowchart TB
subgraph CUSTOMER["👤 KHÁCH HÀNG"]
A1[Đến quầy]
end
subgraph ORDER["📝 ORDER"]
B1[Xem menu]
B2[Chọn món]
B3[Tùy chỉnh<br/>Size/Topping]
end
subgraph PAYMENT["💳 THANH TOÁN"]
C1{Phương thức?}
C2[Tiền mặt]
C3[QR/Chuyển khoản]
C4[Thẻ]
C5[In bill + Số thứ tự]
end
subgraph PREPARE["☕ PHA CHẾ"]
D1[Barista nhận order]
D2[Pha chế]
D3[Hoàn thành]
end
subgraph SERVE["🎉 PHỤC VỤ"]
E1[Gọi số]
E2[Khách nhận đồ]
E3[Ra về]
end
A1 --> B1 --> B2 --> B3
B3 --> C1
C1 --> C2 & C3 & C4
C2 & C3 & C4 --> C5
C5 --> D1 --> D2 --> D3
D3 --> E1 --> E2 --> E3
```
### Screens theo bước
| Bước | Screen | File |
|------|--------|------|
| Order | POS chính | `cafe/desktop.pen` |
| Payment | Chọn phương thức | `shared/payment/method-select.pen` |
| Payment | Tiền mặt | `shared/payment/cash.pen` |
| Payment | QR | `shared/payment/qr.pen` |
| Payment | Thành công | `shared/payment/success.pen` |
| Serve | Màn hình gọi số | `cafe/workflow/queue-display.pen` |
---
## 3. Restaurant - Full Service
### Workflow Diagram
```mermaid
flowchart TB
subgraph ARRIVE["👤 KHÁCH ĐẾN"]
A1[Vào nhà hàng]
A2{Đặt bàn trước?}
A3[Check-in đặt bàn]
A4[Chọn bàn trống]
end
subgraph SEAT["🪑 NGỒI BÀN"]
B1[Nhân viên dẫn bàn]
B2[Mở order bàn]
end
subgraph ORDER["📝 ORDER ĐỢT 1"]
C1[Xem menu]
C2[Chọn món]
C3[Gửi bếp]
end
subgraph KITCHEN["👨‍🍳 BẾP"]
D1[Bếp nhận order]
D2[Nấu món]
D3[Món sẵn sàng]
D4[Phục vụ ra bàn]
end
subgraph CONTINUE["🔄 TIẾP TỤC"]
E1{Thêm món?}
E2[Order đợt 2+]
end
subgraph CHECKOUT["💳 TÍNH TIỀN"]
F1[Khách yêu cầu bill]
F2[Xem lại bill]
F3{Thanh toán}
F4[Tiền mặt/QR/Thẻ]
F5[In hóa đơn]
end
subgraph LEAVE["👋 RA VỀ"]
G1[Đóng bàn]
G2[Khách ra về]
end
A1 --> A2
A2 -->|Có| A3
A2 -->|Không| A4
A3 & A4 --> B1 --> B2
B2 --> C1 --> C2 --> C3
C3 --> D1 --> D2 --> D3 --> D4
D4 --> E1
E1 -->|Có| E2 --> C2
E1 -->|Không| F1
F1 --> F2 --> F3 --> F4 --> F5
F5 --> G1 --> G2
```
### Screens theo bước
| Bước | Screen | File |
|------|--------|------|
| Arrive | Sơ đồ bàn | `restaurant/workflow/table-map.pen` |
| Order | POS order bàn | `restaurant/desktop.pen` |
| Kitchen | Màn hình bếp | `restaurant/workflow/kitchen-display.pen` |
| Payment | Các màn thanh toán | `shared/payment/*.pen` |
### Trạng thái Order Item
- 🟡 **Chờ** - Vừa gửi bếp
- 🔵 **Đang làm** - Bếp nhận
- 🟢 **Xong** - Sẵn sàng phục vụ
-**Đã phục vụ** - Ra bàn
---
## 4. Karaoke - Time-Based
### Workflow Diagram
```mermaid
flowchart TB
subgraph ARRIVE["👤 KHÁCH ĐẾN"]
A1[Vào quán]
A2[Xem sơ đồ phòng]
A3[Chọn phòng trống]
end
subgraph OPEN["🚪 MỞ PHÒNG"]
B1[Chọn thời lượng]
B2[Mở phòng]
B3[⏱️ Timer bắt đầu]
end
subgraph SESSION["🎤 TRONG PHÒNG"]
C1[Hát karaoke]
C2{Order đồ?}
C3[Chọn đồ uống/ăn]
C4[Gửi order]
end
subgraph EXTEND["⏰ GIA HẠN"]
D1{Timer sắp hết?}
D2[Thông báo 10p trước]
D3{Gia hạn?}
D4[Thêm thời gian]
end
subgraph CLOSE["🔒 ĐÓNG PHÒNG"]
E1[Kết thúc session]
E2[⏱️ Timer dừng]
E3[Xem bill tổng]
end
subgraph PAYMENT["💳 THANH TOÁN"]
F1[Tiền phòng + F&B]
F2{Thanh toán}
F3[Tiền mặt/QR/Thẻ]
F4[In hóa đơn]
end
subgraph LEAVE["👋 RA VỀ"]
G1[Reset phòng]
G2[Khách ra về]
end
A1 --> A2 --> A3
A3 --> B1 --> B2 --> B3
B3 --> C1
C1 --> C2
C2 -->|Có| C3 --> C4 --> C1
C2 -->|Không| D1
D1 -->|Có| D2 --> D3
D3 -->|Có| D4 --> C1
D3 -->|Không| E1
D1 -->|Không| C1
E1 --> E2 --> E3
E3 --> F1 --> F2 --> F3 --> F4
F4 --> G1 --> G2
```
### Screens theo bước
| Bước | Screen | File |
|------|--------|------|
| Arrive | Sơ đồ phòng | `karaoke/workflow/room-map.pen` |
| Session | Chi tiết phòng + timer | `karaoke/workflow/room-session.pen` |
| Order | POS order đồ | `karaoke/desktop.pen` |
| Payment | Các màn thanh toán | `shared/payment/*.pen` |
### Tính giá phòng
```
Tiền phòng = Giá/giờ × Số giờ thực tế
- Block đầu: 2 giờ minimum
- Block sau: +30 phút/lần
- Peak hours (18h-22h T6-CN): ×1.5
- Happy hour (14h-17h T2-T5): -30%
```
---
## 5. Spa - Appointment Service
### Workflow Diagram
```mermaid
flowchart TB
subgraph ARRIVE["👤 KHÁCH ĐẾN"]
A1[Vào spa]
A2{Có đặt lịch?}
A3[Tìm khách hàng]
A4[Check-in lịch hẹn]
A5[Walk-in mới]
end
subgraph CUSTOMER["👥 KHÁCH HÀNG"]
B1{Khách cũ?}
B2[Tìm trong hệ thống]
B3[Tạo khách mới]
B4[Xem thông tin + VIP tier]
end
subgraph SERVICE["💆 CHỌN DỊCH VỤ"]
C1[Xem danh sách dịch vụ]
C2[Chọn dịch vụ]
C3[Chọn nhân viên]
end
subgraph PERFORM["✨ THỰC HIỆN"]
D1[Bắt đầu dịch vụ]
D2[Thực hiện]
D3[Hoàn thành]
end
subgraph CONTINUE["🔄 TIẾP TỤC"]
E1{Thêm dịch vụ?}
E2[Chọn dịch vụ tiếp]
end
subgraph CHECKOUT["💳 THANH TOÁN"]
F1[Xem bill]
F2{Dùng điểm?}
F3[Trừ điểm loyalty]
F4{Thanh toán}
F5[Tiền mặt/QR/Thẻ]
F6[+Tích điểm mới]
end
subgraph LEAVE["👋 RA VỀ"]
G1{Đặt lịch lần sau?}
G2[Tạo lịch hẹn]
G3[Khách ra về]
end
A1 --> A2
A2 -->|Có| A3 --> A4
A2 -->|Không| A5
A4 & A5 --> B1
B1 -->|Có| B2 --> B4
B1 -->|Không| B3 --> B4
B4 --> C1 --> C2 --> C3
C3 --> D1 --> D2 --> D3
D3 --> E1
E1 -->|Có| E2 --> C2
E1 -->|Không| F1
F1 --> F2
F2 -->|Có| F3 --> F4
F2 -->|Không| F4
F4 --> F5 --> F6
F6 --> G1
G1 -->|Có| G2 --> G3
G1 -->|Không| G3
```
### Screens theo bước
| Bước | Screen | File |
|------|--------|------|
| Customer | Tìm khách | `spa/workflow/customer-lookup.pen` |
| Service | POS chọn dịch vụ | `spa/desktop.pen` |
| Staff | Chọn nhân viên | `spa/workflow/staff-assign.pen` |
| Payment | Các màn thanh toán | `shared/payment/*.pen` |
### Loyalty System
```
Tích điểm: 1 điểm / 10,000₫
Đổi điểm: 100 điểm = 10,000₫
VIP Tiers:
- Silver: 500 điểm (giảm 5%)
- Gold: 2,000 điểm (giảm 10%)
- Platinum: 5,000 điểm (giảm 15%)
```
---
## 6. Payment Flow
### Shared Payment Workflow
```mermaid
flowchart LR
A[Chọn phương thức] --> B{Loại?}
B -->|Tiền mặt| C[Nhập số tiền]
B -->|QR| D[Hiển thị QR]
B -->|Thẻ| E[Quẹt thẻ]
C --> F[Tính tiền thối]
D --> G[Chờ xác nhận]
E --> H[Chờ máy POS]
F & G & H --> I[Thành công]
I --> J[In/Gửi hóa đơn]
J --> K[Hoàn tất]
```
### Payment Screens
| Screen | Mô tả | File |
|--------|-------|------|
| Method Select | Chọn Cash/QR/Card | `method-select.pen` |
| Cash | Tính tiền thối | `cash.pen` |
| QR | VietQR/MoMo/ZaloPay | `qr.pen` |
| Success | Xác nhận thành công | `success.pen` |
| Receipt | Mẫu hóa đơn 80mm | `receipt.pen` |
---
## Tổng hợp Files
```
src/pages/tPOS/pos/
├── shared/payment/ # Dùng chung
│ ├── method-select.pen
│ ├── cash.pen
│ ├── qr.pen
│ ├── success.pen
│ └── receipt.pen
├── cafe/
│ ├── desktop.pen
│ ├── tablet.pen
│ ├── mobile.pen
│ └── workflow/
│ └── queue-display.pen
├── restaurant/
│ ├── desktop.pen
│ ├── tablet.pen
│ ├── mobile.pen
│ └── workflow/
│ ├── table-map.pen
│ └── kitchen-display.pen
├── karaoke/
│ ├── desktop.pen
│ ├── tablet.pen
│ ├── mobile.pen
│ └── workflow/
│ ├── room-map.pen
│ └── room-session.pen
└── spa/
├── desktop.pen
├── tablet.pen
├── mobile.pen
└── workflow/
├── customer-lookup.pen
└── staff-assign.pen
```
**Tổng: 24 files** (12 device variants + 12 workflow screens)