Bỏ qua nội dung

Đơn hàng

Đơn hàng trong EmberX được nhân viên tạo thay mặt cho khách — thường từ trong một hội thoại. Khách không tự đặt hàng trực tiếp; thay vào đó, họ yêu cầu qua chat và nhân viên thêm sản phẩm từ danh mục.

Cách đơn hàng được tạo

Đơn hàng xuất phát từ hội thoại:

  1. Khách quét mã QR và bắt đầu hội thoại (ví dụ: “Cho tôi một chai rượu và trái cây?”)
  2. Nhân viên mở danh mục sản phẩm trong hội thoại
  3. Nhân viên chọn sản phẩm và số lượng phù hợp
  4. Đơn hàng được tạo và liên kết với cả Hội thoạiKhách

Điều này có nghĩa là mỗi đơn hàng có đầy đủ ngữ cảnh: phòng nào khách đang ở, Trung tâm nào xử lý, và toàn bộ lịch sử chat.

Vòng đời trạng thái đơn hàng

EmberX sử dụng vòng đời đơn giản 4 trạng thái với quy tắc chuyển đổi chặt chẽ:

pending ──→ wip ──→ completed (kết thúc)
└──→ cancelled cancelled (kết thúc)
(từ wip cũng có thể)
Trạng tháiÝ nghĩa
pending (chờ xử lý)Đơn hàng đã tạo, chờ nhân viên bắt đầu
wip (đang xử lý)Nhân viên đã xác nhận và đang thực hiện
completed (hoàn tất)Đơn hàng đã giao/thực hiện thành công
cancelled (đã hủy)Đơn hàng đã hủy (bởi nhân viên hoặc yêu cầu của khách)

Quy tắc chuyển đổi

Từ trạng tháiCó thể chuyển sang
pendingwip hoặc cancelled
wipcompleted hoặc cancelled
completed(kết thúc — không thể thay đổi)
cancelled(kết thúc — không thể thay đổi)

Khi đơn hàng đạt trạng thái completed hoặc cancelled, trạng thái sẽ bị khóa — không thể thay đổi tiếp.

Bảng điều khiển Đơn hàng

Vào Đơn hàng trong thanh bên chính để xem tất cả đơn hàng.

Chip lọc trạng thái

Ở đầu trang, các chip lọc nhanh hiển thị số lượng theo thời gian thực:

chờ xử lý (3) đang xử lý (1) hoàn tất (12) đã hủy (2)

Nhấp vào chip để lọc bảng. Nhấp lại để bỏ lọc.

Cập nhật trạng thái đơn hàng

Từ bảng Đơn hàng:

  1. Tìm đơn hàng cần cập nhật.
  2. Nhấn nút ⋯ (Hành động) ở hàng tương ứng.
  3. Chọn trạng thái mục tiêu (ví dụ: Đánh dấu wip, Đánh dấu hoàn tất, Đánh dấu đã hủy).
  4. Thay đổi lưu ngay và thông báo toast xác nhận.

Chỉ các trạng thái hợp lệ tiếp theo mới được hiển thị — đơn hàng đã hoàn tất hoặc đã hủy sẽ không có menu hành động.

Cấu trúc đơn hàng

Mỗi đơn hàng lưu:

TrườngMô tả
itemsMảng JSON: [{ productId, name, price, quantity }]
totalPriceTổng tiền tính toán
notesGhi chú tùy chọn của khách
statusTrạng thái hiện tại
guestIdKhách đã yêu cầu đơn hàng
conversationIdHội thoại nơi đơn hàng được tạo

Sản phẩm & Giá

Sản phẩm được quản lý riêng trong module Sản phẩm. Khi đơn hàng được tạo, tên và giá hiện tại của sản phẩm được lưu snapshot vào JSON items — đảm bảo đơn hàng lịch sử luôn phản ánh đúng giá tại thời điểm mua, dù giá sản phẩm sau đó thay đổi.

Bảng Phân Tích Đơn Hàng (Analytics)

Phần Phân tích Đơn hàng hiển thị trên trang Dashboard (Tổng quan) chính — cho phép Manager và Admin theo dõi hiệu suất đơn hàng theo thời gian thực ngay từ màn hình chính.

Bộ chọn kỳ phân tích

KỳPhạm vi
7d7 ngày gần đây
30d30 ngày gần đây (mặc định)
90d90 ngày gần đây

Thẻ KPI

Bốn thẻ tóm tắt hiển thị số liệu toàn thời gian:

ThẻChỉ số
Tổng đơn hàngTất cả đơn đã tạo; nhãn phụ hiển thị số đang chờ
Tổng doanh thuTổng totalPrice của tất cả đơn; nhãn phụ hiển thị giá trị đơn trung bình
Đang xử lýSố đơn ở trạng thái wip hiện tại
Hoàn tấtTất cả đơn đã hoàn tất; nhãn phụ hiển thị số đã hủy

Biểu đồ

Biểu đồLoạiMô tả
Đơn hàng theo ngàyCột dọcSố đơn hàng mỗi ngày trong kỳ đã chọn
Phân bổ theo trạng tháiDonut / trònTỷ lệ phân bổ đơn hàng toàn thời gian theo 4 trạng thái
Sản phẩm bán chạyCột ngangXếp hạng sản phẩm theo số lượng bán trong kỳ đã chọn