- classDiagram
- class ShippingCompany {
- +Int id*
- +String name*
- +Date createdAt*
- +Collection~Vessel~ vessels*
- }
-
- class Vessel {
- +Int id*
- +ShippingCompany company*
- +String name*
- +String type*
- +Date createdAt*
- +Collection~Trip~ trips*
- }
-
- class Trip {
- +Int id*
- +Vessel vessel*
- +String pilotageReference*
- +String captainName
- +Location startLocation*
- +Location endLocation*
- +Date startDate*
- +Date endDate*
- +Date createdAt*
- +Collection~TripLocation~ tripLocations*
- +Collection~UserTrip~ userTrips*
- }
-
- class TripLocation {
- +Int id*
- +Trip trip*
- +Location location*
- +Date date*
- +Date createdAt*
- }
-
- class Location {
- +Int id*
- +Zone zone*
- +String name*
- +Date createdAt*
- +Collection~TripLocation~ tripLocations*
- +Collection~UserTripLocation~ userTripLocations*
- +Collection~UserTripWorkLog~ startWorkLogs*
- +Collection~UserTripWorkLog~ endWorkLogs*
- }
-
- class Zone {
- +Int id*
- +String name*
- +Date createdAt*
- +Collection~Location~ locations*
- }
-
- class User {
- +Int id*
- +String firstName*
- +String lastName*
- +String email*
- +String pilotageId*
- +Boolean active*
- +Date createdAt*
- +Collection~UserTrip~ userTrips*
- }
-
- class UserTrip {
- +Int id*
- +Trip trip*
- +User user*
- +String captainName*
- +Date startDate*
- +Date endDate*
- +Date createdAt*
- +Collection~UserTripLocation~ tripLocations*
- +Collection~UserTripWorkLog~ workLogs*
- }
-
- class UserTripLocation {
- +Int id*
- +UserTrip userTrip*
- +Location location*
- +Date plannedDate*
- +Date createdAt*
- }
-
- class UserTripWorkLog {
- +Int id*
- +UserTrip userTrip*
- +Location startLocation*
- +Location endLocation*
- +Date startDate*
- +Date endDate*
- +Date createdAt*
- }
-
- ShippingCompany "1" -- "*" Vessel
- Vessel "1" -- "*" Trip
- Trip "1" -- "*" TripLocation
- Trip "1" -- "*" UserTrip
- TripLocation "1" -- "1" Location
- UserTrip "1" -- "*" UserTripWorkLog
- UserTrip "1" -- "*" UserTripLocation
- UserTripLocation "1" -- "1" Location
- UserTripWorkLog "1" -- "1" Location : startLocation
- UserTripWorkLog "1" -- "1" Location : endLocation
- User "1" -- "*" UserTrip
- Zone "1" -- "*" Location
|