Skip to content

Booking container

Quản lý booking với hãng tàu — xác nhận slot, theo dõi trạng thái, gắn với lô hàng. Route: /bookings.

Tổng quan

Booking là xác nhận slot container với hãng tàu cho một lô hàng. Mỗi booking:

  • Thuộc về một Lô hàng (Shipment)
  • Chứa một hoặc nhiều Container
  • cut-off date (hạn chót cắt máng)
  • Theo dõi trạng thái từ PENDING đến COMPLETED

Vòng đời booking:

Trạng tháiMô tả
PENDINGĐã gửi yêu cầu, chờ hãng tàu xác nhận
CONFIRMEDHãng tàu xác nhận — có số booking
AMENDEDĐã sửa đổi (thay đổi container, ngày tàu)
CANCELLEDĐã hủy booking
COMPLETEDHàng đã lên tàu, booking hoàn tất
Danh sách booking
Danh sách booking — trạng thái và cut-off date

Tạo booking

Cách tạo booking:

  1. Từ chi tiết Shipment → tab Container → nút + Tạo Booking
  2. Điền thông tin:
    • Hãng tàu (carrier) — chọn từ partner list
    • Số booking — do hãng tàu cấp (điền sau khi có xác nhận)
    • Tàu / Voyage — tên tàu và chuyến
    • ETD — ngày tàu rời cảng
    • Cut-off date — hạn cắt máng (thường ETD - 1 ngày)
    • Số container — số lượng và loại (20DC, 40HC, 40RF...)
  3. Upload Booking confirmation PDF từ hãng tàu
  4. Lưu → AI extract thông tin từ PDF tự động điền các trường còn thiếu

Upload booking confirmation trước

Upload file PDF xác nhận booking từ hãng tàu → AI tự điền số booking, tàu, ETD, cut-off — tiết kiệm nhập tay.

Tạo booking
Form tạo booking — upload PDF để AI auto-fill

Chi tiết booking

Thông tin trong trang chi tiết booking:

TrườngMô tả
Số bookingMã xác nhận từ hãng tàu
Hãng tàuCarrier partner
Tàu / VoyageTên tàu và số chuyến
Cảng điPort of loading
Cảng đếnPort of discharge
ETDEstimated time of departure
ETAEstimated time of arrival
Cut-offHạn chót cắt máng
ContainerSố lượng và loại

Lịch sử thay đổi:

Mọi thay đổi booking (amend) được ghi audit log — người thay đổi, thời gian, trường thay đổi, giá trị cũ/mới.

Gắn container

Sau khi booking CONFIRMED, gắn số container thực tế vào booking:

  1. Từ chi tiết Booking → tab Container+ Thêm container
  2. Nhập số container (format: ABCD1234567)
  3. Chọn loại: 20DC / 40DC / 40HC / 40RF / 20OT...
  4. Upload EIR (Equipment Interchange Receipt) để AI extract số lệnh, tình trạng container
  5. Hệ thống validate format số container theo ISO 6346

Khi upload EIR

EIR chứa số lệnh (seal number) và tình trạng container tại gate-out. AI trích xuất và điền tự động vào Container record — không cần nhập tay.

Trạng thái chi tiết (18 state lifecycle)

Ngoài 5 trạng thái chính hiển thị trên UI, booking có 18 trạng thái nội bộ theo đầy đủ vòng đời logistics:

Trạng tháiMô tả
DRAFTBooking mới tạo, chưa gửi hãng tàu
CONFIRMEDHãng tàu xác nhận, có số booking
SI_SUBMITTEDShipping Instruction đã nộp cho hãng tàu
SI_ACCEPTEDHãng tàu chấp nhận SI
CONTAINERS_RELEASEDHãng tàu release vỏ container
GATE_INContainer vào cảng (cho xuất khẩu)
LOADEDContainer lên tàu
ON_VESSELTàu đang hành trình
ARRIVEDTàu đến cảng đích
DISCHARGEDContainer dỡ xuống cảng đích
AMENDMENT_REQUESTEDĐang yêu cầu sửa đổi
AMENDEDSửa đổi được chấp nhận
ROLLEDBooking bị đổi tàu (roll) sang chuyến khác
CANCELLEDĐã hủy
COMPLETEDHoàn tất

Booking không có Shipment (orphan booking)

Trong một số workflow, bạn có thể tạo booking trước khi có lô hàng — ví dụ khi forwarder book slot tàu cho nhiều khách hàng cùng lúc:

  1. Vào /bookings+ Tạo Booking (không chọn Shipment)
  2. Điền thông tin tàu, container, carrier
  3. Booking được tạo ở trạng thái DRAFT với shipmentId = null
  4. Sau khi có lô hàng: từ chi tiết Shipment → Gắn Booking → chọn booking đã tạo

Booking direction validation

Khi gắn booking vào Shipment, hệ thống kiểm tra bookingType của booking phải khớp với type của Shipment (IMP/EXP/TRANSIT). Không thể gắn booking xuất vào lô hàng nhập.

Số booking — định dạng và unique

Mỗi booking có bookingNumber duy nhất trong workspace, tự sinh theo format:

BKG-{YEAR}-{SEQUENCE}
Ví dụ: BKG-2026-0042

Số này khác với số booking hãng tàu (trường carrierBookingNo) — ví dụ COSU1234567890 từ COSCO. Cả 2 trường đều được lưu và có thể tìm kiếm.

Shipping Instruction (SI)

Sau khi booking CONFIRMED, cần nộp Shipping Instruction cho hãng tàu trước SI cutoff:

  1. Từ chi tiết Booking → Nộp SI
  2. Upload file SI hoặc điền online form
  3. AI trích xuất và điền thông tin từ file SI (nếu upload PDF)
  4. Xác nhận → booking chuyển sang SI_SUBMITTED

SI cutoff là deadline cứng

Nộp SI trễ hơn SI cutoff → hãng tàu có thể từ chối. SLA Engine theo dõi deadline này và cảnh báo trước 24h.