E5. Đặt hàng
User stories của epic E5. Đặt hàng.
Nguồn: PRD Core Flow đặt hàng v0.4 (30/09/2026, cập nhật 01/10/2026). Người soạn: Hoàng Trọng Thanh Tùng (Product Manager PrintUp). Người duyệt: Nguyễn Hoàng Nam (CEO PrintUp). Mã BR-xx, QT-xx trong mục User stories là mã của PRD v0.4, khác mã cùng tên ở trang Trạng thái & quy tắc và danh mục FR lưu trữ.
Mỗi story mở đầu bằng câu “Là …, tôi muốn …, để …”. Story Must có dòng Liên kết và tiêu chí Cho – Khi – Thì; story Should/Could ở dạng ngắn. Mã S-xx, E-xx, ST-xx, TH-xx, CFG.xxx tra ở Dữ liệu & trạng thái, Copy, Email.
US-20 · KH nhập thông tin nhận hàng (Must)
Là KH, tôi muốn nhập thông tin nhận hàng một lần cho cả giỏ, để PrintUp liên hệ và giao đúng người, đúng địa chỉ.
Liên kết: S-07 · các mã checkout.recv · BR-09
- Cho KH ở S-07, thì 4 trường Họ tên, Số điện thoại, Email, Địa chỉ giao hàng đều bắt buộc; không có trường “Khu vực” riêng, không có số điện thoại người nhận riêng.
- Cho số điện thoại không đủ 10 số bắt đầu bằng 0, hoặc email sai định dạng, thì hiện lỗi tương ứng ngay dưới ô khi rời ô.
- Cho địa chỉ đã nhập, thì hệ thống xác định tỉnh/thành để tính phí giao và ngày dự kiến. KH đã đăng nhập thì điền sẵn từ tài khoản.
US-21 · KH nhập yêu cầu khác (Must)
Là KH, tôi muốn ghi yêu cầu khác cho đơn, để PrintUp biết lưu ý riêng của tôi.
- Cho ô Yêu cầu khác, thì không bắt buộc; nội dung hiện cho Admin và Thiết kế trên đơn.
US-22 · KH nhập thông tin xuất hóa đơn (Must)
Là KH, tôi muốn nhập thông tin xuất hóa đơn ngay hoặc cập nhật sau, để nhận hóa đơn đúng mà không bị chặn khi gửi đơn.
Liên kết: S-07 · các mã checkout.inv · BR-06 · TH-14
- Cho KH ở mục 4, thì có 3 lựa chọn theo thứ tự Doanh nghiệp, Cá nhân, Cập nhật sau (luôn cuối); mặc định là Cập nhật sau.
- Doanh nghiệp: tên công ty, mã số thuế (10 hoặc 13 số), địa chỉ, email nhận hóa đơn. Cá nhân: họ tên, số CCCD, địa chỉ, email nhận hóa đơn. Email nhận hóa đơn mặc định bằng email nhận hàng, sửa được.
- Luôn hiện checkout.inv.vat. Chọn Cập nhật sau thì hiện checkout.inv.later.hint và đơn bật cờ Thiếu thông tin hóa đơn.
- Thông tin hóa đơn không chặn việc gửi đơn.
US-23 · KH chọn hình thức giao (Must)
Là KH, tôi muốn chọn giao thông thường hoặc yêu cầu giao nhanh, để nhận hàng kịp thời hạn của mình.
Liên kết: S-07 · các mã checkout.ship · CFG.standard_lead_days, CFG.express_min_date · ST-01
- Cho Giao thông thường, thì hiện số ngày làm việc dự kiến tính từ mốc chốt file theo nhóm sản phẩm và tỉnh/thành.
- Cho Yêu cầu giao hàng nhanh, thì KH bắt buộc chọn ngày muốn nhận không sớm hơn CFG.express_min_date; sớm hơn thì hiện checkout.ship.express.too_early và khóa nút gửi. Khối điều kiện giao nhanh hiện nội dung SA cấu hình (chờ P1-12).
- Đơn giao nhanh sau khi gửi vào ST-01; dòng phụ phí trong khối tổng hiện “Chờ báo giá”.
US-25 · KH nhập mã giới thiệu đại lý (Must)
Là KH được đại lý giới thiệu, tôi muốn nhập mã giới thiệu, để đơn được ghi nhận cho đại lý đó.
Liên kết: S-07 · các mã checkout.ref · BR-10 · TH-20
- Cho KH nhập mã và bấm Kiểm tra, khi mã tồn tại và đang hoạt động, thì hiện checkout.ref.valid với tên đại lý; mã sai thì hiện checkout.ref.invalid.
- Cho ô mã có nội dung nhưng chưa kiểm tra hoặc sai, thì nút gửi đơn bị khóa với checkout.missing.ref; xóa trống ô thì gửi được.
- Sau khi gửi đơn, mã không sửa được; chỉ Admin bổ sung theo yêu cầu (US-55).
US-26 · KH xem tổng, đồng ý điều khoản và gửi đơn (Must)
Là KH, tôi muốn xem tổng tiền, tiền cọc và đồng ý điều khoản trước khi gửi đơn, để biết rõ mình phải trả gì và cam kết gì.
Liên kết: S-07 · các mã checkout.terms, checkout.sum, checkout.missing · E-01, E-02 · BR-03, BR-15 · CFG.policy_version · TH-26
- Cho khối tổng, thì hiện tạm tính, phí giao (tạm tính) kèm chú thích, phụ phí giao nhanh (nếu có), tổng, tiền cọc theo CFG.deposit_pct, ngày giao dự kiến.
- Cho ô đồng ý chưa tick, hoặc còn thiếu thông tin, thì nút Gửi đơn bị khóa và liệt kê lý do theo các mã checkout.missing.
- Khối điều khoản hiện số phiên bản hiện hành, 5 dòng tóm tắt checkout.terms.b1–b5 và link mở S-10.
- Khi KH gửi đơn, thì mỗi mục giỏ thành một đơn ST-00; giá, tổng, tỷ lệ cọc khóa theo đơn; lưu bằng chứng đồng ý (mã đơn, phiên bản, thời điểm, IP, trình duyệt, loại thiết bị, hệ điều hành); xóa giỏ; chuyển tới S-08 với checkout.submitted.
- Bấm Gửi đơn hai lần liên tiếp không tạo đơn trùng.
US-27 · KH nhận email xác nhận đơn (Must)
Là KH, tôi muốn nhận email xác nhận ngay sau khi gửi đơn, để có bằng chứng đặt hàng và biết các bước tiếp theo.
Liên kết: E-02
- Cho đơn vừa gửi, thì trong vòng 5 phút KH nhận E-02 gồm sản phẩm, tổng, hình thức giao, địa chỉ, mã giới thiệu, các bước tiếp theo (khi nào cọc, cọc bao nhiêu, trả hết trước khi giao), ngày giao dự kiến, nút Xem đơn và bản chính sách đính kèm.
| Mã | Story | Ưu tiên | AC ngắn |
|---|---|---|---|
| US-24 | Admin xác nhận đơn giao nhanh và báo phụ phí; KH chấp nhận, đổi sang giao thông thường hoặc hủy — Là KH yêu cầu giao nhanh, tôi muốn PrintUp xác nhận khả năng đáp ứng và phụ phí trước khi cọc, để chọn chấp nhận, đổi sang giao thông thường hoặc hủy. | Should | ST-01, E-03, TH-12, order.confirm.express. Chấp nhận thì tổng và cọc tính lại trước khi cọc (BR-03). |
Cập nhật lần cuối 01/10/2026 bởi Hoàng Tùng · 6b3bfefc · Lịch sử thay đổi