How features connect¶
DepoViz enforces its dependencies at the form level, not just in documentation — trying to create a Gate Pass with no yard configured, or generate an invoice before a customer is linked to a shipping line, will fail with a specific validation error. This page lays out every one of those chains so you know what has to exist before what, instead of discovering it one blocked form at a time.
Before you start¶
- Nothing — read this before you configure anything. It's the map for Overview & order of setup.
Walkthrough¶
(a) Creating a Gate In pass¶
This is the deepest chain in the product. Every one of these must exist, in this order, before a Gate In pass can be finalised:
graph LR
A[Yard Configuration] --> E[Finalise Gate In]
B[Shipping Line] --> D[Customer authorized for line]
C[Customer] --> D
D --> E
F["Container (auto-registered by ISO number)"] --> E
- Yard configuration must exist — zones with generated slots — because Finalise requires a Yard Slot (manual or auto-assign), and auto-assign fails outright if no zone/slot satisfies stacking rules.
- Shipping Line must exist — it's picked directly on the pass.
- Customer must exist and be authorized for that shipping line — the customer is not picked directly on the Gate In form. It's resolved automatically from the authorized customer for the chosen line, and if none is authorized the form blocks submission with "No customer is authorised for this shipping line."
- The container number is validated against the standard ISO container numbering format on entry; if it isn't already registered, an ISO size/type is picked to auto-register it on the fly.
- Optionally, a Work Order can be attached, and any Meta Fields defined for Gate Pass (in the right context — Gate In vs Gate Out) appear on the form automatically.
See Gate operations for the actual walkthrough.
(b) Placing a container in the yard¶
graph LR
A[Yard Zones + Zone Type] --> B[Configure Zone: bays x rows x tiers]
B --> C[Generated slot inventory]
C --> D[Auto-assign on Gate In / Yard move]
Yard configuration has to exist first — "Configure Zone" is what actually generates the slot inventory that auto-assign draws from. Auto-assign then prefers, in order: container-type → zone-type matching (a Reefer container prefers a Reefer zone, DG prefers a DG zone, general cargo prefers a General zone), ground level first, then grouping with other containers from the same shipping line. This means a zone's type (General/Reefer/DG/Survey/ Quarantine) and maximum stack height aren't cosmetic labels — they directly drive where containers land. See Yard management for the operational side.
(c) Generating an invoice¶
graph LR
A[Customer] --> B[Shipping Line authorized for customer]
C[Charge Codes] --> D[Tariff Profile - Published]
E[Tax Components] --> D
B --> F[Generate / Preview Invoice]
D --> F
- A Customer must exist. The invoice form's Shipping Line dropdown is populated only from shipping lines already authorized for that customer — an unauthorized line never appears as an option.
- Charge amounts resolve from a Tariff Profile — the customer's assigned profile, or a shipping-line-specific override — built from Charge Codes and flat/slab rates. The profile must be Published, not Draft, or it never prices anything.
- Tax is computed from Tax Components attached to the charge codes or rates.
- Use Preview mode first — it shows exactly what would be billed without creating anything, the safe way to sanity-check tariff configuration. See Tariff resolution and Invoicing for the full mechanics.
(d) Creating a Work Order¶
graph LR
A[Customer] --> D[Create Work Order]
B[Shipping Line] --> D
C["Container already gated in"] --> D
D --> E[Estimate: Damage Matrix + Repair Codes + Resources]
E --> F[Pricing: Repair Rate Book]
Every Work Order needs a Customer and Shipping Line. For anything other than a Gate-type order (Repair, Conversion, Cleaning, PTI, Survey), the container must already be checked into the depot — meaning it went through Gate-In first.
The repair/estimate flow itself pulls from several settings pages at once: Damage Codes and Container Components, Repair Codes/Operations and the Damage Matrix (Settings → Repair → Damage Matrix, which repair codes a given damage code allows), and Inventory Items / Labour Types (Settings → Repair → Resources). Pricing then resolves from a Repair Rate Book with a strict fallback order — customer+size override → customer override → rate book → default book — and if nothing matches at all, estimate generation is refused rather than silently pricing at zero. See Work order creation and Estimates.
(e) Granting Portal access¶
graph LR
A[Customer or Shipping Line exists] --> C[Invite Portal Contact]
B[SMTP configured and working] --> C
C --> D[Contact receives invite email]
Done at Settings → Portal Users → Invite Portal Contact. The target Customer or Shipping Line organisation must already exist — you pick it, not create it, from the invite dialog. You also need SMTP configured and working or the invite email never reaches the contact (the invite record is still created — it just sits unactivated). See Users & portal access.
Other cross-links worth knowing¶
- Meta Fields apply conditionally to Container, Gate Pass, Customer, Shipping Line, Order, and Invoice forms — a form shows nothing extra until an admin defines fields for that entity type, and for Gate Pass specifically, the setting for where the field appears (Gate In only / Gate Out only / Both) controls when it shows up.
- Alert Rules reference triggers tied to other modules: container dwell exceeded → Yard; invoice overdue → Billing; yard capacity above threshold → Yard configuration; PTI/survey due → Containers; estimate pending approval → Work Orders; gate volume low → Gate.
- EDI needs the depot's EDI Sender ID set on Company settings first — trading partners reject inbound messages that fall back to the company name instead. See EDI.
- Background Jobs — the one shipped job (daily shipping-line report) is configured via custom fields ("Send Daily Report", "Daily Report Recipients") added directly to the Shipping Line record — this is where Meta Fields and Background Jobs intersect.
- Global Search only indexes containers, customers, gate passes, and shipping lines — not orders or invoices. See Logging in & roles.
Related pages¶
- Overview & order of setup
- Yard configuration
- Tariffs
- Repair rate books
- Meta fields
- Alert rules
- EDI
- Users & portal access
Who can access this¶
This is a conceptual reference page, not a screen — read access follows whatever role can see the underlying screens it describes (see Logging in & roles).