Vận chuyển

XBuddy Vận chuyển cung cấp khả năng hiển thị toàn diện cho lô hàng gửi đi và nhận về — từ khi gói hàng được lấy cho đến xác nhận giao thành công. Theo dõi từng sự kiện giao hàng, quản lý tuyến đường và xử lý ngoại lệ mà không cần chuyển đổi giữa các cổng thông tin của hãng vận chuyển.

Dù bạn vận hành đội xe riêng hay làm việc với đối tác vận chuyển bên ngoài, Vận chuyển tập trung dữ liệu lô hàng để đội ngũ chăm sóc khách hàng trả lời ngay các câu hỏi về giao hàng, còn bộ phận vận hành có thể phát hiện điểm tắc nghẽn trên các tuyến và hãng vận chuyển.

Tính năng chính

  • Tạo lô hàng với hỗ trợ nhiều gói hàng, theo dõi cân nặng và kích thước
  • Ghi lại sự kiện giao hàng theo thời gian thực (sự kiện quét mã, điểm GPS, chuyển trạng thái)
  • Quản lý tuyến đường và phân công hàng loạt cho tài xế hoặc hãng vận chuyển
  • Quản lý ngoại lệ với các loại ngoại lệ phân loại và quy trình giải quyết
  • Huy hiệu ngoại lệ trên danh sách lô hàng để nhận biết ngay lập tức
  • Trang theo dõi dành cho khách hàng (liên kết có thể chia sẻ theo lô hàng)
  • Tích hợp với Bán hàng (tự động tạo lô hàng từ đơn hàng xác nhận) và Kho vận (trừ tồn kho khi xuất hàng)
📸

[Ảnh chụp màn hình: Vận chuyển — Danh sách lô hàng với huy hiệu ngoại lệ]

Placeholder — sẽ được thay thế bằng ảnh chụp màn hình thực tế

[Video: Vận chuyển — Hướng dẫn & Demo quản lý lô hàng và xử lý ngoại lệ]

Xem trên YouTube → @XBuddy (placeholder)

Bắt đầu sử dụng

  1. Kết nối tài khoản hãng vận chuyển trong Cài đặt → Tích hợp
  2. Tạo lô hàng đầu tiên thủ công hoặc để Bán hàng tự động tạo từ đơn hàng xác nhận
  3. Thêm sự kiện giao hàng khi gói hàng di chuyển qua mạng lưới
  4. Kiểm tra luồng ngoại lệ bằng cách tạo ngoại lệ delayed rồi giải quyết
  5. Chia sẻ liên kết theo dõi khách hàng để trải nghiệm giao diện theo dõi công khai

Vòng đời lô hàng

Lô hàng tiến qua các trạng thái sau:

Trạng tháiMô tả
draftĐã tạo nhưng chưa bàn giao cho hãng vận chuyển / tài xế
pending_pickupChờ hãng vận chuyển lấy hàng; đã cấp số vận đơn
in_transitGói hàng đã được lấy và đang di chuyển qua mạng lưới
out_for_deliveryĐang ở tài xế chặng cuối để giao trong ngày
deliveredĐã xác nhận giao thành công đến người nhận
exceptionĐã xảy ra sự cố — cần xử lý trước khi tiếp tục giao hàng
cancelledLô hàng bị hủy; không có sự kiện nào tiếp theo

Lưu ý: Lô hàng ở trạng thái exception có thể chuyển về in_transit hoặc out_for_delivery sau khi ngoại lệ được giải quyết. Toàn bộ lịch sử trạng thái được lưu trong nhật ký sự kiện giao hàng.


Quản lý ngoại lệ

Ngoại lệ ghi lại các sự kiện bất ngờ trong hành trình của lô hàng. Tạo ngoại lệ đánh dấu lô hàng cần chú ý mà không làm mất lịch sử giao hàng.

Tạo ngoại lệ

POST /logistics/shipments/:id/exception

Nội dung yêu cầu:

{
  "exceptionType": "failed_delivery_attempt",
  "reason": "Người nhận không có mặt. Đã để lại phiếu thông báo.",
  "actionRequired": "Lên lịch giao lại hoặc sắp xếp để khách hàng tự đến lấy."
}

Các loại ngoại lệ

LoạiKhi nào sử dụng
delayedLô hàng chậm trễ do hãng vận chuyển, thời tiết hoặc lưu lượng tăng cao
address_issueĐịa chỉ không đầy đủ, không thể giao hoặc có tranh chấp
customs_holdGói hàng bị giữ tại hải quan do thiếu giấy tờ hoặc chờ nộp thuế
damaged_in_transitGói hàng bị báo hỏng bởi hãng vận chuyển hoặc người nhận
failed_delivery_attemptĐã cố giao nhưng người nhận không có mặt

Trạng thái lô hàng tự động chuyển sang exception khi endpoint này được gọi.

Giải quyết ngoại lệ

POST /logistics/shipments/:id/resolve-exception

Nội dung yêu cầu:

{
  "resolution": "Đã lên lịch giao lại ngày 25/03/2026. Khách hàng đã xác nhận có mặt."
}

Sau khi giải quyết, trạng thái lô hàng quay về trạng thái hoạt động phù hợp (in_transit hoặc out_for_delivery) dựa trên sự kiện gần nhất không phải ngoại lệ.

Huy hiệu ngoại lệ trên danh sách lô hàng

Bất kỳ lô hàng nào có ngoại lệ chưa giải quyết đều hiển thị huy hiệu Ngoại lệ màu hổ phách trong danh sách lô hàng và trên tiêu đề chi tiết lô hàng. Huy hiệu tự động biến mất khi ngoại lệ được giải quyết. Điều phối viên có thể lọc danh sách lô hàng theo trạng thái exception để thấy tất cả vấn đề tồn đọng cùng lúc.


React Hooks

XBuddy cung cấp sẵn các hook React Query để quản lý ngoại lệ:

import { useRaiseShipmentException, useResolveShipmentException } from '@/hooks/useLogistics';
 
// Tạo ngoại lệ
const { mutate: raiseException, isPending } = useRaiseShipmentException(shipmentId);
raiseException({ exceptionType: 'delayed', reason: '...', actionRequired: '...' });
 
// Giải quyết ngoại lệ
const { mutate: resolveException } = useResolveShipmentException(shipmentId);
resolveException({ resolution: 'Đã xác nhận giao lại.' });

Cả hai hook đều làm mới query chi tiết lô hàng khi thành công, vì vậy giao diện cập nhật ngay mà không cần tải lại thủ công.

Các tình huống phổ biến

  • Giao hàng chặng cuối thương mại điện tử: Nhà bán lẻ trực tuyến theo dõi tất cả lô hàng đang giao mỗi sáng và đánh dấu các ngoại lệ xảy ra qua đêm, giải quyết vấn đề địa chỉ trước khi tài xế bắt đầu tuyến đường.
  • Thông quan hải quan nhập khẩu: Nhà nhập khẩu ghi lại ngoại lệ customs_hold trên lô hàng nhập khẩu chờ giấy tờ, theo dõi số ngày bị giữ và giải quyết ngoại lệ sau khi được thông quan.
  • Khiếu nại hàng hỏng: Nhà phân phối ghi lại ngoại lệ damaged_in_transit kèm bằng chứng quét mã của hãng vận chuyển, cung cấp hồ sơ kiểm toán có dấu thời gian cho quy trình bảo hiểm hoặc khiếu nại nhà cung cấp.