Skip to main content

Equipment Entity

The Equipment entity represents any physical item used for colony care, such as feeding stations, water dispensers, and shelters. This entity tracks location, maintenance history, and status of equipment.

Core Properties

  • Identity: Unique ID and name
  • Type: Category of equipment (generic, feeding, etc.)
  • Location: Current placement within the colony
  • Status: Operational condition (working, needs repair, etc.)
  • Installation Date: When the equipment was first set up
  • Last Service Date: When maintenance was last performed

Key Behaviors

  • Track movement between locations
  • Record maintenance history
  • Identify equipment needing attention
  • Generate maintenance tasks

Implementation

Equipment Entity Definition

File: domain/entities/equipment.pseudo

// Base Equipment Entity

class Equipment {
// Identity
string id
string name

// Properties
string type // "generic equipment"
Location location
string notes
EquipmentStatus status
Date installationDate
Date lastServiceDate
List<EquipmentHistory> locationHistory

// Methods
function getMaintenanceTasks()
function relocate(Location newLocation, Date date, Person by)
function updateStatus(EquipmentStatus newStatus, Date date)
function needsAttention()
function getDaysInService()
}

class EquipmentHistory {
// Properties
Equipment equipment
Location previousLocation
Location newLocation
Date movementDate
string notes
Person performedBy

// Methods
function recordMove(Equipment equipment, Location from, Location to, Date date, Person by)
}
  • Location: Where equipment is placed
  • Person: Who performs maintenance and moves equipment
  • Task: Maintenance activities generated for equipment