Skip to content

Vận chuyển trên Mobile

Hướng dẫn sử dụng chức năng vận chuyển hàng hóa trên ứng dụng di động — dành cho Tài xế (DRIVER), Quản kho (WAREHOUSE_MANAGER)Đại lý (DEALER).


Quy trình xác nhận 3 bên (Three-Party Handshake)

Đây là tính năng cốt lõi của hệ thống TrustID — đảm bảo mỗi lô hàng được 3 bên xác nhận tại mỗi bước, tạo chuỗi bằng chứng không thể chối cãi.

Sơ đồ luồng xác nhận

┌──────────────────────────────────────────────────────────────────────┐
│                    QUY TRÌNH VẬN CHUYỂN 3 BÊN                        │
├──────────────────────────────────────────────────────────────────────┤
│                                                                      │
│  BÊN 1: QUẢN KHO             BÊN 2: TÀI XẾ           BÊN 3: ĐẠI LÝ │
│  (Sender)                    (Driver)                 (Receiver)     │
│                                                                      │
│  ① Tạo phiếu xuất kho                                               │
│     + chọn tài xế ───────►  ② Nhận hàng                             │
│     WAITING_DRIVER              + xác nhận GPS                       │
│                                 IN_TRANSIT ──────────►               │
│                              ③ Giao hàng                             │
│                                 + xác nhận GPS                       │
│                                 PENDING_DEALER ──────► ④ Nhận hàng   │
│                                                           + xác nhận │
│                                                           DELIVERED  │
│                                                                      │
│  ✅ Mỗi bước đều ghi:  GPS + Thời gian + Người xác nhận             │
└──────────────────────────────────────────────────────────────────────┘

Các trạng thái phiếu vận chuyển

Trạng tháiÝ nghĩaAi thao tác tiếp?
🟡 WAITING_DRIVERQuản kho đã tạo phiếu, chờ tài xế nhậnTài xế
🔵 IN_TRANSITTài xế đã nhận hàng, đang vận chuyểnTài xế
🟠 PENDING_DEALER_CONFIRMTài xế đã giao, chờ đại lý xác nhậnĐại lý
🟢 DELIVEREDĐại lý đã xác nhận nhận hàng → Hoàn thành
READY_FOR_PICKUPSẵn sàng cho tài xế ngoài nhậnTài xế ngoài

1. Bên 1 — Quản kho tạo phiếu (SENDER_HANDOVER)

Quản kho tạo lệnh xuất kho trên Web hoặc Mobile:

  1. Vào Lệnh xuất kho → Nhấn "+ Tạo mới"
  2. Chọn kho xuất, sản phẩm, số lượng
  3. Chọn Tài xếĐại lý nhận hàng
  4. Nhấn "Xuất kho"

Hệ thống tự động:

  • ✅ Trừ tồn kho tại kho xuất
  • ✅ Tạo phiếu vận chuyển với trạng thái WAITING_DRIVER
  • ✅ Ghi log: SENDER_HANDOVER (GPS + thời gian + người tạo)

2. Bên 2 — Tài xế nhận và giao hàng (DRIVER)

Dashboard Tài xế

Dashboard tài xế

Khi đăng nhập với vai trò DRIVER, ứng dụng hiển thị:

Thanh thống kê nhanh:

Chỉ sốMô tả
🟡 Chờ nhậnSố phiếu đang chờ tài xế nhận hàng
🔵 Đang giaoSố phiếu đang trên đường
🟢 Đã giaoSố phiếu đã hoàn thành

3 Tab chuyển đổi:

Tab "Chờ nhận"

Danh sách phiếu ở trạng thái WAITING_DRIVER:

Phiếu chờ nhận

Mỗi thẻ phiếu hiển thị:

Thông tinChi tiết
Mã trackingMã phiếu (in xanh đậm)
Biển số xe🚛 Xe được chỉ định
Đại lý🏪 Tên đại lý nhận hàng
Kho xuất🏢 Kho xuất phát
Số sản phẩm📦 Số loại hàng cần giao
Nút "Gọi"📞 Gọi trực tiếp cho đại lý
Nút "Nhận hàng"✅ Xác nhận nhận hàng từ kho

Bước 2a: Xác nhận Nhận hàng (DRIVER_RECEIVE)

Xác nhận nhận hàng

  1. Đến kho → Nhấn nút "Nhận hàng" trên thẻ phiếu
  2. Popup xác nhận hiện ra:
    • Hiển thị mã phiếu
    • Thông báo: "Hệ thống sẽ lấy vị trí GPS"
  3. Nhấn "Xác nhận"

Hệ thống tự động:

  • ✅ Ghi tọa độ GPS của tài xế tại thời điểm nhận
  • ✅ Chuyển trạng thái → IN_TRANSIT
  • ✅ Ghi log: DRIVER_RECEIVE (GPS + thời gian + tài xế)
  • ✅ Phiếu chuyển sang tab "Đang giao"

⚠️ Bảo mật: Hệ thống kiểm tra xem tài xế đang thao tác có đúng là tài xế được chỉ định cho phiếu này không. Nếu không → từ chối.

Tab "Đang giao"

Danh sách phiếu trạng thái IN_TRANSIT — đang trên đường đến đại lý.

Bước 2b: Xác nhận Đã giao (DRIVER_DELIVER)

Xác nhận giao hàng

  1. Đến đại lý → Nhấn nút "Đã giao" trên thẻ phiếu
  2. Popup xác nhận:
    • "Đã giao hàng phiếu [MÃ] cho [TÊN ĐẠI LÝ]?"
  3. Nhấn "Đã giao"

Hệ thống tự động:

  • ✅ Ghi tọa độ GPS tại điểm giao
  • ✅ Chuyển trạng thái → PENDING_DEALER_CONFIRM
  • ✅ Ghi log: DRIVER_DELIVER (GPS + thời gian + tài xế)

💡 Lưu ý: Phiếu chưa hoàn thành! Phải đợi Đại lý xác nhận (Bên 3) mới chuyển sang DELIVERED.

Tab "Đã giao"

Hiển thị phiếu DELIVERED — đã hoàn thành đầy đủ 3 bên xác nhận.

Xem chi tiết phiếu

Nhấn vào bất kỳ thẻ phiếu nào → Bottom sheet mở ra:

Chi tiết phiếu vận chuyển

Thông tinMô tả
Mã trackingMã phiếu đầy đủ
Trạng tháiBadge màu theo trạng thái
Biển số xeXe vận chuyển
Kho xuấtNơi xuất phát
Đại lýNơi nhận hàng
Bắt đầuThời gian bắt đầu vận chuyển
Hoàn thànhThời gian hoàn thành (nếu có)
Hàng hóaDanh sách sản phẩm + số lượng

3. Bên 3 — Đại lý xác nhận nhận hàng (DEALER_CONFIRM)

Khi tài xế giao hàng và nhấn "Đã giao", phiếu chuyển sang PENDING_DEALER_CONFIRM.

Đại lý xác nhận trên Mobile

  1. Đăng nhập vai trò DEALER trên ứng dụng
  2. Mở tab "Chờ nhận hàng"
  3. Phiếu hiển thị ở trạng thái "Chờ xác nhận"
  4. Kiểm tra hàng hóa thực tế → Nhấn "Xác nhận nhận hàng"

Hệ thống tự động:

  • ✅ Ghi tọa độ GPS đại lý
  • ✅ Chuyển trạng thái → DELIVERED (Hoàn thành!)
  • Nhập kho tự động tại kho đích (nếu có)
  • ✅ Ghi log: DEALER_CONFIRM (GPS + thời gian + đại lý)

4. Bằng chứng xác nhận (Handshake Log)

Mỗi bước xác nhận trong luồng 3 bên đều tạo một bản ghi không thể sửa:

Bản ghiNội dung
Người thực hiệnID người xác nhận
Hành độngSENDER_HANDOVER / DRIVER_RECEIVE / DRIVER_DELIVER / DEALER_CONFIRM
Tọa độ GPSVĩ độ, Kinh độ tại thời điểm xác nhận
Thời gianTimestamp chính xác
Ảnh bằng chứngẢnh chụp (nếu có)
Chữ kýURL chữ ký điện tử (nếu có)

🔐 Tại sao quan trọng? Chuỗi xác nhận 3 bên đảm bảo:

  • Không ai có thể phủ nhận đã giao/nhận hàng
  • GPS chứng minh vị trí thực tế tại mỗi bước
  • Dữ liệu phục vụ truy xuất nguồn gốc và tuân thủ EUDR
  • Kho tự động cập nhật (xuất kho → nhập kho) khi đủ 3 xác nhận

5. Tính năng hỗ trợ tài xế

Tính năngMô tả
📞 Gọi đại lýNhấn nút "Gọi" → Gọi trực tiếp SĐT đại lý
🔄 Làm mớiNút refresh trên AppBar để tải lại danh sách
📱 Pull to refreshKéo xuống để làm mới (gesture)
🚪 Đăng xuấtNút logout trên AppBar

6. Xử lý ngoại lệ

Tình huốngXử lý
GPS chưa bậtApp yêu cầu bật GPS trước khi xác nhận
Quyền GPS bị từ chốiHiển thị lỗi, yêu cầu mở Cài đặt
Không phải tài xế được chỉ địnhHệ thống từ chối: "Bạn không phải tài xế được chỉ định"
Phiếu sai trạng tháiHệ thống từ chối: "Phiếu không ở trạng thái phù hợp"
Mất mạngHiển thị lỗi, cho phép thử lại

Tiếp theo

Tài liệu hướng dẫn sử dụng TrustID