Boat Entities
Entities for boat tracking, equipment management, and 3D visualization.
Boat
Purpose: User's boat with full specifications.
Key Fields:
Id(int): Unique identifierUserId: Boat ownerName: User-friendly name (e.g., "The Reel Deal")Make,Model,Year: Boat identificationBrandId: Optional brand referenceBoatStyle: Center Console, Bass Boat, etc.BoatStyleModelId: Reference to 3D modelLengthFt,BeamFt,DraftFt: DimensionsWeightLb: Boat weightCapacity: Passenger capacityMaxHp: Maximum horsepowerHullMaterial: Hull materialHullColor: Hull colorSerialNumber: Hull serial numberEngineMake,EngineModel,EngineHp,EngineYear: Engine detailsEngineHours: Engine hoursRegistrationNumber: Registration numberRegistrationExpiration: Registration expirationInsurancePolicyNumber: Insurance policy numberInsuranceExpiration: Insurance expirationCondition: Current condition status
Relationships:
- Many-to-one: User, Brand (optional), BoatStyleModel (optional)
- One-to-many: BoatEquipment, BoatEquipmentPlacement, BoatOwnershipHistory, FishingSession
Usage Patterns:
// Create boat
var boat = new Boat
{{
UserId = userId,
Name = "The Reel Deal",
Make = "Lund",
Model = "Pro-V 1875",
Year = 2020,
LengthFt = 18.75m,
BoatStyle = BoatStyle.BassBoat,
Condition = BoatCondition.Excellent
}};
// Get user's boats
var boats = context.Boats
.Where(b => b.UserId == userId)
.Include(b => b.Equipment)
.Include(b => b.EquipmentPlacements)
.ToList();
BoatEquipment
Purpose: Equipment that can be mounted on a boat.
Key Fields:
Id(int): Unique identifierBoatId: Associated boat (optional - can be generic)EquipmentType: Livescope, CannonBall, Battery, etc.Name: Equipment nameMake,Model: Equipment identificationBrandId: Optional brand referencePower,Voltage,Capacity: Power specificationsWeight,Depth,ScreenSize: Physical specificationsFrequency: Frequency (for electronics)IsActive: Whether equipment is active
Relationships:
- Many-to-one: Boat (optional), Brand (optional)
- One-to-many: BoatEquipmentPlacement, EquipmentModel
BoatEquipmentPlacement
Purpose: 3D placement of equipment on a boat.
Key Fields:
Id(int): Unique identifierBoatId: Associated boatBoatEquipmentId: Placed equipmentX,Y,Z: 3D coordinatesRotationX,RotationY,RotationZ: RotationsMountingTrackId: Associated mounting trackPlacementNotes: Placement notes
Relationships:
- Many-to-one: Boat, BoatEquipment, BoatMountingTrack (optional)
BoatMountingTrack
Purpose: Mounting track systems on boats (T-Track, Unistrut, etc.).
Key Fields:
Id(int): Unique identifierBoatId: Associated boatTrackType: TTrack, Unistrut, RailSystem, etc.TrackName: Track nameStartX,StartY,StartZ: Start coordinatesEndX,EndY,EndZ: End coordinatesLengthInches: Track length
Relationships:
- Many-to-one: Boat
- One-to-many: BoatEquipmentPlacement
BoatModel
Purpose: Boat model information.
Key Fields:
Id(int): Unique identifierBoatManufacturerId: Associated manufacturerModelName: Model nameModelYear: Model yearBoatStyle: Boat styleLengthFt,BeamFt: DimensionsSpecifications: Model specifications (JSON)
Relationships:
- Many-to-one: BoatManufacturer
- One-to-many: BoatStyleModel
BoatManufacturer
Purpose: Boat manufacturer/brand.
Key Fields:
Id(int): Unique identifierManufacturerName: Manufacturer nameCountry: Country of originWebsite: Manufacturer websiteIsActive: Whether manufacturer is active
Relationships:
- One-to-many: BoatModel, Boat
BoatStyleModel
Purpose: Generic 3D models by boat style.
Key Fields:
Id(int): Unique identifierBoatStyle: Boat styleThreeJsModelId: Associated 3D modelDefaultLengthFt: Default lengthDefaultBeamFt: Default beam
Relationships:
- Many-to-one: ThreeJsModel
BoatOwnershipHistory
Purpose: Boat ownership history.
Key Fields:
Id(int): Unique identifierBoatId: Associated boatPreviousOwnerUserId: Previous ownerCurrentOwnerUserId: Current ownerTransferDate: Transfer dateTransferType: Sale, Gift, etc.
Relationships:
- Many-to-one: Boat, User (previous and current owner)
Related Documentation
- Boat System - Complete boat system documentation
- Boat Mounting Systems - Mounting system documentation
- Three.js Models - 3D model system
- Charter System - Charter boat management