Giao diện
Quản lý đội xe (Fleet)
Quản lý xe, tài xế, chuyến vận chuyển — tích hợp GPS VietMap, tự sinh trip costs vào Finance. Route: /fleet.
Tổng quan
Fleet Module quản lý đội xe nội bộ (xe nhà) và theo dõi chuyến thuê xe ngoài (nhà xe TRUCKER):
| Đối tượng | Mô tả |
|---|---|
| Xe (Vehicle) | Xe tải, xe container thuộc sở hữu workspace |
| Tài xế (Driver) | Tài xế nội bộ, liên kết với xe |
| Chuyến (Trip) | Một lần vận chuyển từ A đến B |
| Nhà xe (TRUCKER partner) | Xe thuê ngoài — Trip.vendorCost |
KPI đội xe:
| Chỉ số | Ý nghĩa |
|---|---|
| Xe hoạt động | Số xe đang có chuyến trong tuần |
| Chuyến hoàn thành tháng | Tổng Trip DELIVERED trong tháng |
| Km trung bình / chuyến | Hiệu quả tuyến đường |
| Chi phí xăng / km | Theo dõi tiêu hao nhiên liệu |

Xe & tài xế
Thêm xe:
- Vào
/fleet/vehicles→ + Thêm xe - Điền: biển số, loại xe (đầu kéo / xe thùng / xe lạnh...), tải trọng, năm SX
- Nhập
vietmapDeviceIdnếu xe có GPS VietMap - Ngày đăng kiểm, ngày bảo hiểm — hệ thống cảnh báo trước 30 ngày hết hạn
Thêm tài xế:
- Vào
/fleet/drivers→ + Thêm tài xế - Điền: họ tên, CCCD, số bằng lái, hạng bằng lái
- Ngày hết hạn bằng lái — cảnh báo trước 30 ngày
- Gán xe mặc định (có thể thay đổi per-trip)
Cảnh báo đăng kiểm
Xe sắp hết đăng kiểm trong 30 ngày → Telegram alert đến OPS + ADMIN. Xe hết đăng kiểm không được tạo Trip mới.
Chuyến (Trip)
Tạo chuyến vận chuyển:
- Từ chi tiết Container (GATE_OUT) → nút Tạo chuyến hoặc vào
/fleet/trips→ + Tạo Trip - Điền:
- Container — liên kết container cần vận chuyển
- Xe / Tài xế — hoặc chọn Nhà xe ngoài (TRUCKER partner)
- Địa điểm đi — cảng / kho
- Địa điểm đến — kho khách / cảng
- Ngày giờ xuất phát
- Phí cầu đường, phụ cấp tài xế (nếu biết trước)
- Lưu → Trip status = PLANNED
Vòng đời Trip:
| Trạng thái | Trigger |
|---|---|
| PLANNED | Mới tạo |
| IN_PROGRESS | Xe rời điểm đi (GPS auto hoặc tài xế xác nhận) |
| DELIVERED | Xe đến điểm đến (GPS auto hoặc tài xế xác nhận) |
| COMPLETED | Tài xế xác nhận giao hàng + upload bằng chứng |
Tự sinh Debit Note khi Trip DELIVERED:
| Loại cost | Nguồn |
|---|---|
| Xăng dầu | FuelLog liên kết Trip |
| Phí cầu đường | Trip.tollFee |
| Phụ cấp tài xế | Trip.driverAllowance |
| Cước nhà xe ngoài | Trip.vendorCost |

Chi tiết một chuyến xe
Nhấn vào dòng Trip trong danh sách để xem toàn bộ thông tin: lộ trình GPS, mốc giờ ra/vào cảng, và bảng breakdown chi phí (xăng, cầu đường, phụ cấp, cước nhà xe).

GPS & vị trí thực
Khi kết nối VietMap GPS:
- Vị trí xe cập nhật realtime mỗi 30–60 giây
- Bản đồ hiển thị tất cả xe đang hoạt động
- Geofence cảng: xe vào/ra tự ghi gate timestamp
- Trip tự chuyển IN_PROGRESS khi xe bắt đầu di chuyển
- Đề xuất DELIVERED khi xe dừng > 10 phút tại địa điểm đến
Xem cách kết nối tại Tích hợp VietMap GPS.
Lịch & báo cáo
Lịch chuyến tuần:
Timeline view hiển thị tất cả Trip theo xe — dễ phát hiện xe trống hoặc chồng lịch.
Báo cáo Fleet theo kỳ:
| Báo cáo | Nội dung |
|---|---|
| Hiệu suất xe | Km, số chuyến, doanh thu / chi phí per xe |
| Tiêu hao nhiên liệu | Lít/100km, so sánh giữa các xe |
| Hiệu suất tài xế | Số chuyến, đúng giờ, sự cố |
| Chi phí chuyến | Tổng trip cost, breakdown theo loại |
Cảnh báo hết hạn tự động
Hệ thống kiểm tra định kỳ và gửi cảnh báo theo 3 mốc: 30 ngày / 14 ngày / 7 ngày trước hạn:
| Đối tượng | Loại hết hạn | Người nhận alert |
|---|---|---|
| Xe | Đăng kiểm | OPS + ADMIN |
| Xe | Bảo hiểm | OPS + ADMIN |
| Xe | Đăng ký xe (phù hiệu) | OPS + ADMIN |
| Tài xế | Bằng lái | OPS + ADMIN |
Cảnh báo gửi qua Telegram (nếu đã cấu hình) + in-app notification. Xe hết đăng kiểm sẽ bị khóa không tạo Trip mới cho đến khi cập nhật ngày đăng kiểm.
Trip billing — tự sinh Debit Note
Khi Trip chuyển sang DELIVERED, hệ thống tự động:
- Tổng hợp toàn bộ cost của Trip (xăng, cầu đường, phụ cấp, cước nhà xe)
- Tạo Debit Note ở trạng thái
DRAFTvớiorigin = TRIP_AUTO - Liên kết vào Shipment → Container → Trip (chain đầy đủ cho P&L)
- Kế toán review và chuyển sang
SENTkhi sẵn sàng gửi khách
Không cần nhập tay chi phí
Mọi chi phí Trip được tự động đẩy lên Debit Note — kế toán chỉ cần review và approve, không cần nhập tay từng dòng.
Xem chi tiết → Debit Note.
Phân công xe + tài xế
Quy tắc phân công:
- 1 xe chỉ có 1 Trip
IN_PROGRESStại một thời điểm - 1 tài xế chỉ có 1 Trip
IN_PROGRESStại một thời điểm - Hệ thống cảnh báo nếu cố assign xe/tài xế đang bận vào Trip mới
Nhà xe ngoài (TRUCKER):
Nếu không có xe nhà, tạo Trip với TRUCKER partner thay vì xe nội bộ:
- Chọn Nhà xe → search partner có role
TRUCKER - Nhập cước nhà xe (
vendorCost) - Không cần vehicle/driver record — Trip vẫn tạo được
- Cost tự sinh vào Debit Note AP nhà xe