# 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
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)