Giao diện
🚢 Shipment Hub — Trung Tâm Điều Hành Lô Hàng
TKHQ tập trung toàn bộ đối tượng logistics (Booking, Container, Tờ khai, Chứng từ) vào một Shipment duy nhất — giúp bạn theo dõi tiến độ và phát hiện mâu thuẫn chứng từ ngay trong một giao diện.
Quản lý toàn bộ vòng đời lô hàng: từ đặt chỗ, vận chuyển container, đến thông quan và giao nhận. Route: /shipments.
📦 Tổng quan
Shipment là trung tâm liên kết toàn bộ đối tượng logistics:
| Đối tượng | Vai trò | Số lượng |
|---|---|---|
| Shipment | Lô hàng tổng — đơn vị điều hành | 1 |
| Booking | Đặt chỗ hãng tàu, mỗi booking thuộc 1 shipment | 1–N |
| Container | Đơn vị vật lý, sinh tự động từ booking | 1–N |
| Tờ khai | Tờ khai hải quan liên kết shipment | 1–N |
| Chứng từ | Invoice, BL, Packing List, C/O, ... | N |

➕ Tạo mới
Nhấn "Tạo lô hàng" trên trang /shipments. Wizard tạo nhanh chỉ yêu cầu thông tin tối thiểu — bổ sung sau qua chi tiết.
Các bước tạo:
- Chọn hướng hàng — Nhập khẩu (IMP), Xuất khẩu (EXP), hoặc Quá cảnh (OLA).
- Nhập thông tin cơ bản — Tên lô hàng, ngày dự kiến đến/đi, cảng đi, cảng đến.
- Chọn Partner — Người gửi, người nhận, forwarder (tìm kiếm fuzzy từ Partner CRM).
- Tạo & tiếp tục — Shipment được tạo ở trạng thái DRAFT. Chuyển sang tab "Booking" để đặt chỗ hãng tàu.
Tạo từ chứng từ
Upload Bill of Lading vào Documents trước — hệ thống có thể tự đề xuất tạo Shipment mới từ thông tin trích xuất.
📅 Timeline & chứng từ
Mỗi Shipment có timeline hiển thị tiến độ và danh sách chứng từ cần có để thông quan.

Các mốc timeline:
| Sự kiện | Thời điểm | Trạng thái |
|---|---|---|
| Booking xác nhận | T-14 | Hoàn thành |
| SI Cutoff | T-7 | Hoàn thành |
| Gate-in container | T-3 | Đang xử lý |
| Tàu khởi hành (ETD) | T-0 | Chờ |
| Tàu đến (ETA) | T+20 | Chờ |
| Thông quan | T+22 | Chờ |
Doc completeness
Thanh tiến độ hiển thị % chứng từ đã upload / cần có. Thiếu chứng từ quan trọng (BL, Invoice) sẽ cảnh báo màu đỏ.
Xem trước AI
Khi upload chứng từ vào Shipment, hệ thống trích xuất dữ liệu và hiện drawer xem trước để bạn xác nhận trước khi cập nhật.

Các bước xem trước và áp dụng:
- Upload chứng từ — Kéo thả hoặc chọn file vào khu vực Documents của Shipment.
- AI trích xuất — Hệ thống phân tích nội dung, trích xuất: tên tàu, số BL, cảng đi/đến, ngày khởi hành, thông tin đối tác.
- Xem trước & xác nhận — Drawer hiện các trường được đề xuất (màu xanh = mới, màu vàng = xung đột với giá trị hiện tại). Nhấn "Áp dụng" để cập nhật.
Xung đột dữ liệu
Nếu chứng từ mới mâu thuẫn dữ liệu hiện có, hệ thống KHÔNG tự ghi đè — bạn phải xác nhận thủ công từng trường bị xung đột.
Trạng thái
Vòng đời trạng thái Shipment:
DRAFT → BOOKING_CONFIRMED → VESSEL_DEPARTED → VESSEL_ARRIVED → CUSTOMS_CLEARANCE → CARGO_RELEASED → COMPLETED
| Trạng thái | Ý nghĩa |
|---|---|
| DRAFT | Vừa tạo, chưa có booking xác nhận |
| BOOKING_CONFIRMED | Booking đã xác nhận, đang chuẩn bị hàng |
| VESSEL_DEPARTED | Tàu đã khởi hành (ETD passed) |
| VESSEL_ARRIVED | Tàu đã đến cảng đích |
| CUSTOMS_CLEARANCE | Đang thông quan |
| CARGO_RELEASED | Hàng đã được giải phóng khỏi cảng |
| COMPLETED | Hàng đã giao, thông quan xong |
| CANCELLED | Đã hủy lô hàng |
Trên danh sách /shipments, các trạng thái được gom vào 5 tab: Bản nháp, Đang vận chuyển, Tại cảng, Hoàn thành, Đã hủy.
Chuyển trạng thái tuần tự (+1 bước)
Mỗi lần cập nhật trạng thái chỉ được đi đúng 1 bước kế tiếp trong vòng đời — không thể nhảy cóc (ví dụ: từ DRAFT nhảy thẳng lên CUSTOMS_CLEARANCE). Hệ thống tự ghi lại mốc thời gian tương ứng (tàu khởi hành, giao hàng, hoàn tất, ngày hủy).
Lô hàng Quá cảnh (OLA) không thể hủy
Founder đã chốt: shipment loại Quá cảnh (TRANSIT/OLA) không có lựa chọn Hủy ở bất kỳ trạng thái nào — đúng tinh thần "OLA không hủy/sửa". Với lô Nhập khẩu/Xuất khẩu, bạn vẫn có thể chuyển sang CANCELLED từ các trạng thái chưa hoàn tất.
Admin ghi đè trạng thái
Trường hợp đặc biệt (dữ liệu sai lệch, cần sửa nhanh), quản trị viên có quyền ghi đè trạng thái bỏ qua thứ tự tuần tự — thao tác này bắt buộc nhập lý do và luôn được ghi vào lịch sử sự kiện của shipment để truy vết sau này.
Lịch sử sự kiện (Timeline):
Tab Timeline trên chi tiết shipment hiển thị toàn bộ sự kiện thay đổi trạng thái theo thời gian (giờ hiển thị theo múi giờ GMT+7), có bộ lọc Tự động / Thủ công để phân biệt sự kiện hệ thống tự sinh và sự kiện do người dùng cập nhật tay, cùng nút "Tải thêm" khi danh sách dài.
Cạnh tiêu đề mục Lịch sử sự kiện có nút "+" để thêm sự kiện thủ công cho container của lô hàng (vào cổng, ra cổng, lấy hàng...) — xem chi tiết 6 loại sự kiện và các cảnh báo tại Container → Thêm sự kiện thủ công.
Liên kết báo giá gốc
Nếu lô hàng được tạo bằng cách Convert từ một Báo giá đã ACCEPTED, chi tiết Shipment hiện một chip "Từ báo giá {số báo giá}" ngay dưới thông tin đầu trang — bấm vào để mở lại báo giá gốc.
Chip chỉ hiện với workspace có gói Thương mại
Chip báo giá gốc chỉ hiển thị cho workspace đang có module Thương mại (Quotes/CRM) — workspace không có module này sẽ không thấy chip, kể cả khi lô hàng thực sự có liên kết báo giá.
Đối chiếu chứng từ
Tính năng phát hiện mâu thuẫn giữa các chứng từ trong cùng một Shipment: Invoice vs Packing List vs Bill of Lading.

| Loại sai lệch | Ví dụ | Hành động đề xuất |
|---|---|---|
| Số lượng | Invoice: 100 thùng, Packing: 98 thùng | Yêu cầu amended docs |
| Trọng lượng | BL: 5,200 kg, Packing: 5,180 kg | Kiểm tra lại cân hàng |
| Mô tả hàng | Tên hàng khác nhau giữa Invoice và BL | Đề nghị supplier sửa |
| Giá trị CIF | Invoice CIF ≠ BL freight + C&F | Tính lại CIF |
TIP
Sai lệch nhỏ (< 0.5%) thường được hải quan chấp nhận. Sai lệch lớn cần giải trình hoặc chứng từ bổ sung.