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)
}
Related Entities
- Location: Where equipment is placed
- Person: Who performs maintenance and moves equipment
- Task: Maintenance activities generated for equipment