1. Điều kiện tiên quyết (Pre-conditions)
- Merchant đã đăng nhập thành công và truy cập vào phân hệ Cấu hình cửa hàng.
- Hệ thống hiển thị các form nhập liệu trống hoặc dữ liệu đã lưu trước đó.
2. Tiêu chí chấp nhận (Acceptance Criteria)
US-MER-03.1: Thiết lập thông tin định danh (Profile)
US-MER-03.1: Thiết lập thông tin định danh (Profile)
Cho phép nhập các thông tin sau:
- Tên Shop: Bắt buộc, tối đa 50 ký tự.
- SĐT: Bắt buộc, 10 số (theo chuẩn VN).
- Địa chỉ: Nhập theo cấp hành chính (Tỉnh, Phường, …).
- Upload Avatar: Định dạng JPG/PNG < 5MB.
- Upload Hình ảnh cửa hàng: Tối đa 4 ảnh chụp về Merchant (định dạng JPG/PNG < 5MB mỗi ảnh).
US-MER-03.2 & 03.3: Cấu hình giờ hoạt động (Business Hours)
US-MER-03.2 & 03.3: Cấu hình giờ hoạt động (Business Hours)
- Hiển thị trình chọn giờ Mở/Đóng cửa cho từng ngày trong tuần (Thứ 2 - Chủ Nhật).
- Bộ giờ tính theo giờ phương Đông (VD: 13:00, 14:00). Mặc định là 08:00 - 20:00.
- Chức năng thêm khung giờ (Split Shift): Để Merchant thuận tiện trong việc setup giờ làm việc, mỗi Thứ sẽ có chức năng thêm khung giờ (Giới hạn tối đa 5 khung giờ/ngày).
- Ví dụ:
8:00-11:00và13:00-18:00.
- Ví dụ:
US-MER-03.4: Chức năng sao chép và xoá
US-MER-03.4: Chức năng sao chép và xoá
- Sao chép: Khi kích hoạt sao chép từ 1 Thứ bất kỳ, hệ thống hiển thị multi-select từ T2-CN để copy khung giờ sang các ngày khác.
- Xoá: Khi kích hoạt xoá từ 1 thứ bất kỳ, hệ thống tự động làm mờ và không lưu thứ đó vào lịch hoạt động trong tuần của cửa hàng.
US-MER-03.6: Thiết lập giờ lưu trú (Stay-based Defaults)
US-MER-03.6: Thiết lập giờ lưu trú (Stay-based Defaults)
- Cho phép cấu hình giờ Check-in - Check-out (ví dụ: In 14:00 - Out 12:00) để làm mốc tính toán.
- Default cho hai trường này là 14:00 - 12:00.
- Dữ liệu này dùng để tính toán số đêm (Nights) cho dịch vụ Lưu trú (Hotels) nếu có.
3. Ràng buộc & Xử lý xung đột (Business Rules)
1
US-MER-03.5: Ràng buộc logic thời gian
Hệ thống báo lỗi và không cho lưu nếu Giờ Đóng cửa ≤ Giờ Mở cửa hoặc để trống các trường bắt buộc.
2
US-MER-03.7: Luồng xử lý phân loại thay đổi
Khi Merchant nhấn “Lưu thay đổi”, hệ thống so sánh giờ cũ và mới:
- Mở rộng khung giờ: (VD: cũ 8h-17h, mới 8h-21h) ➡️ Cho phép lưu ngay (không ảnh hưởng booking cũ).
- Thu hẹp/Xóa khung giờ: (VD: cũ 8h-17h, mới 8h-12h hoặc xóa hẳn Thứ 2) ➡️ Kích hoạt Kiểm tra xung đột.
- Hệ thống quét Booking (
ConfirmedhoặcPending) trong 14 ngày tới mà bị rơi ra ngoài khung giờ mới vừa cấu hình hoặc ngày bị xóa.
- Hệ thống quét Booking (
3
US-MER-03.8: Hiển thị Dialog giải quyết xung đột
Nếu có xung đột, hệ thống không được chặn cứng (Hard-stop) mà hiển thị Dialog với danh sách các Booking bị ảnh hưởng và 3 tùy chọn:
- Tùy chọn 1: Giữ nguyên các Booking cũ (Khuyên dùng)
- Logic: Lưu giờ mới cho các ngày tương lai, nhưng riêng các ngày đã có booking thì vẫn sinh ra khung giờ ngoại lệ để phục vụ nốt khách.
- Tùy chọn 2: Hủy các Booking bị xung đột và thông báo
- Logic: Hệ thống tự động chuyển trạng thái các Booking xung đột thành
Cancelledvà gửi thông báo cho khách.
- Logic: Hệ thống tự động chuyển trạng thái các Booking xung đột thành
- Tùy chọn 3: Tự xử lý thủ công
- Logic: Lưu giờ mới ngay lập tức. Merchant cam kết sẽ tự liên hệ khách để dời lịch hoặc hủy trong Quản lý Booking.