Skip to main content

Regulations Entities

Entities for fishing regulations, zones, and Master Angler programs.

State

Purpose: Represents a state/province with fishing regulations.

Key Fields:

  • Id (int): Unique identifier
  • StateName: State name
  • StateAbbreviation: State abbreviation
  • Country: Country
  • DnrAgencyName: DNR/Wildlife agency name
  • DnrWebsite: DNR website
  • DnrPhone: DNR phone
  • HasMasterAnglerProgram: Whether has Master Angler program
  • MasterAnglerProgramName: Program name
  • RegulationYear: Current regulation year

Relationships:

  • One-to-many: FishingZone, FishingRegulation, MasterAnglerProgram

FishingZone

Purpose: Fishing zone/area within a state with boundary definitions.

Key Fields:

  • Id (int): Unique identifier
  • StateId: Associated state
  • ZoneName: Zone name
  • WaterBodyName: Water body name
  • ZoneType: Zone type
  • CenterLatitude, CenterLongitude: Center point (circular zones)
  • RadiusMeters: Radius (circular zones)
  • NorthBound, SouthBound, EastBound, WestBound: Bounds (rectangular zones)
  • ParentZoneId: Parent zone (hierarchical)
  • RegulationYear: Regulation year

Relationships:

  • Many-to-one: State, FishingZone (parent)
  • One-to-many: FishingZone (children), ZoneBoundary, FishingRegulation

ZoneBoundary

Purpose: Polygon coordinate points for complex zone boundaries.

Key Fields:

  • Id (int): Unique identifier
  • FishingZoneId: Associated zone
  • Latitude, Longitude: Coordinate point
  • Order: Point order in polygon

Relationships:

  • Many-to-one: FishingZone

FishingRegulation

Purpose: Species-specific regulations for a zone.

Key Fields:

  • Id (int): Unique identifier
  • FishingZoneId: Associated zone
  • SpeciesId: Regulated species
  • RegulationType: BagLimit, SizeLimit, Season, etc.
  • BagLimitDaily: Daily bag limit
  • BagLimitPossession: Possession limit
  • MinLengthInches: Minimum length
  • MaxLengthInches: Maximum length
  • SeasonStartDate, SeasonEndDate: Season dates
  • RegulationText: Regulation text
  • RegulationYear: Regulation year

Relationships:

  • Many-to-one: FishingZone, FishSpecies

MasterAnglerProgram

Purpose: Master Angler program information.

Key Fields:

  • Id (int): Unique identifier
  • StateId: Associated state
  • ProgramName: Program name
  • ProgramDescription: Program description
  • ProgramWebsite: Program website
  • IsActive: Whether program is active

Relationships:

  • Many-to-one: State
  • One-to-many: MasterAnglerSpecies, MasterAnglerSubmission

MasterAnglerSpecies

Purpose: Species eligible for Master Angler program with size requirements.

Key Fields:

  • Id (int): Unique identifier
  • MasterAnglerProgramId: Associated program
  • SpeciesId: Eligible species
  • MinimumLengthInches: Minimum length for qualification
  • MinimumWeightLb: Minimum weight for qualification

Relationships:

  • Many-to-one: MasterAnglerProgram, FishSpecies

MasterAnglerSubmission

Purpose: Master Angler program submissions.

Key Fields:

  • Id (int): Unique identifier
  • MasterAnglerProgramId: Associated program
  • UserId: Submitting user
  • FishingLogEntryId: Catch log entry
  • SpeciesId: Submitted species
  • LengthInches: Catch length
  • WeightLb: Catch weight
  • SubmissionDate: Submission date
  • Status: Pending, Approved, Rejected
  • CertificateUrl: Certificate URL (if approved)

Relationships:

  • Many-to-one: MasterAnglerProgram, User, FishingLogEntry, FishSpecies