- Documentation
- /
- Coast 06 Voyage
- /
- 02 — System Diagram
02 — System Diagram
🔍 Open the Interactive Diagram Viewer — pan, mouse-wheel zoom, fit-to-screen, full-screen, per-area tabs, the full ERD, and a focus mode that draws one model and its neighbours at a chosen depth. VesselVoyage and VoyagePortCall fan out to many tables, so their links can be hidden to declutter the overview.
Regenerate the viewer after any DSL, menu_config.yaml or diagram_config.yaml change:
python scripts/build_diagram_viewer.py coast_06_voyage.
Voyages & Port Calls
flowchart LR
V[VoyageVessel] --> VY[VesselVoyage]
VY --> PC[VoyagePortCall]
PC --> LG[VesselVoyageLeg]
PC --> CA[CallActivity]
PC --> BV[CallBerthVisit]
Cargo & Calls
flowchart LR
PC[VoyagePortCall] --> AL[CargoCallAllocation]
AL --> OF[CargoOperationFact]
PC --> OF
MS[ManifestCargoSnapshot]
Vessels, Ports & Berths
flowchart LR
PO[VoyagePort] --> TE[VoyageTerminal]
TE --> BE[VoyageBerth]
AP[AgentAppointmentRef]
Links between areas
flowchart LR
PO[VoyagePort] --> PC[VoyagePortCall]
BE[VoyageBerth] --> PC
VY[VesselVoyage] --> AL[CargoCallAllocation]
VY --> EX[VoyageException]
PC --> EX
VY --> AU[VoyageAudit]
PC --> AU
Links to the rest of the series
No shared tables and no foreign keys: sibling applications are linked by canonical_ref strings and by messages.
flowchart LR
subgraph coast_06_voyage
VY[VesselVoyage]
PC[VoyagePortCall]
AL[CargoCallAllocation]
OF[CargoOperationFact]
end
subgraph coast_02_manifest
ML[ManifestLine]
end
subgraph coast_07_accounts
AP[Agent appointment]
end
subgraph coast_16_assurance
CS[AssuranceCase]
end
ML -. "manifest.effective_cargo" .-> AL
AP -. "accounts.appointment_changed" .-> PC
VY -. "voyage.snapshot" .-> ML
PC -. "voyage.portcall_snapshot" .-> ML
AL -. "voyage.cargo_call_mapped" .-> AP
PC -. "voyage.activity_verified" .-> AP
OF -. "voyage.exception_raised" .-> CS