G Gaia

Switch factory

CYTO-11 — Balakong Jaya CTSB CYTO-29 CTSB CYTOWELL-54 — Taming Jaya PIC/S CTWSB CYTOCNGZ-602 — Guangzhou CTCNGZ

Only factories you are granted appear here (Filament tenant menu).

Leo Lim

leo@navi.my · Owner / Admin

Profile settings Change password

Theme

Sign out
RetailSellR&DMakeBuyStockPlanItemsGMPAdminInsights

Shipments

+ Shipment
shipments
Shipment # Sales order Customer Destination Carrier Tracking Pkgs / kg Progress Status Shipped ETA / Delivered

Project Gaia — static mockup in Filament v3 idiom. No backend. SO numbers echo the real per-entity series from the Katana snapshot; shipments are illustrative.

Shipments — field manifest

FieldFilament componentTypeSourceFK target
Shipment #TextColumn (series SHP-{yy}{seq})stringstored: shipments.code
Sales orderTextColumn::url()FKstored: shipments.sales_order_id — shipment lines are picked SO lines (partial shipments allowed)sales_orders.id
Customer / DestinationTextColumnFK + addressderived: SO customer; stored: shipments.ship_to (frozen copy of address)customers.id
Carrier / TrackingTextColumn; tracking as external url()FK + stringstored: shipments.carrier_id, .tracking_no; carrier row holds tracking URL templatecarriers.id
Pkgs / kgTextColumnint + decimalstored: shipments.package_count, .gross_weight_kg
Progress / StatusViewColumn (step dots) + badge; Action "Advance status"enumstored: Packed → In delivery → In delivery → In delivery → Delivered (+ Exception); each change appends shipment_events (status, at, by, note)shipment_events
Shipped / ETA / DeliveredTextColumn::date(), red when ETA < today and not delivereddatesstored: shipped_at, eta, delivered_at

Engine notes

  • Creating a shipment from an SO consumes picked FG stock (movement type shipment) with batch selection — the packing slip can print lot numbers (GMP).
  • SO's Delivery chip derives from its shipments: none → Not shipped; some → Partially delivered; all → Delivered. Same cascade the Katana capture shows, now with a real tracking layer under it.
  • Status updates are manual v1 (driver/CS clicks Advance). Carrier API webhooks can hydrate shipment_events later without schema change.