Added PlantTouchPoint and IPMSchedule models. Implemented touch-points and IPM controllers/routes. Updated frontend with Dashboard feed and IPM widgets.
370 lines
8.9 KiB
Markdown
370 lines
8.9 KiB
Markdown
# Daily Facility Walkthrough - Feature Spec
|
|
|
|
**Priority**: 🔴 Critical
|
|
**Team**: 777 Wolfpack
|
|
**Date**: 2025-12-09
|
|
**Status**: New Requirement
|
|
|
|
---
|
|
|
|
## 📋 Overview
|
|
|
|
**Super crucial**: A structured daily walkthrough checklist that guides staff through the entire facility first thing in the morning to ensure all systems are operational and plants are healthy.
|
|
|
|
---
|
|
|
|
## 🎯 User Story
|
|
|
|
**As a** 777 Wolfpack cultivation team member
|
|
**I want** a guided daily morning walkthrough checklist
|
|
**So that** I can systematically verify all critical systems and plant health before the day begins
|
|
|
|
---
|
|
|
|
## ✅ Daily Walkthrough Checklist
|
|
|
|
### 📐 Configuration & Settings (New)
|
|
|
|
**Admin Control**:
|
|
|
|
- Enable/Disable specific sections (Reservoirs, Irrigation, Plant Health) based on current facility needs.
|
|
- **Photo Requirements**: Configure if photos are `Required`, `Optional`, `Weekly` (Mondays), or `On Demand`.
|
|
- **Granular Roles**: Define exactly who can perform/view/manage walkthroughs.
|
|
|
|
### 1. Reservoir Checks
|
|
|
|
**Task**: Check all reservoirs (veg and flower tanks) to make sure topped off
|
|
|
|
**Requirements**:
|
|
|
|
- [ ] List all veg tanks
|
|
- [ ] List all flower tanks
|
|
- [ ] Check each tank level
|
|
- [ ] Mark as "Topped Off" or "Needs Refill"
|
|
- [ ] Photo capability for low levels
|
|
- [ ] Alert if any tank below threshold
|
|
|
|
**Data to Capture**:
|
|
|
|
- Tank ID/Name
|
|
- Current level (%)
|
|
- Status (OK / Low / Critical)
|
|
- Photo (optional)
|
|
- Timestamp
|
|
- Staff member
|
|
|
|
---
|
|
|
|
### 2. Irrigation System Check
|
|
|
|
**Task**: Full walkthrough of veg and flower (upstairs and down) to assure all drippers working and everything has water/food on schedule
|
|
|
|
**Requirements**:
|
|
|
|
- [ ] Checklist by zone (Veg Upstairs, Veg Downstairs, Flower Upstairs, Flower Downstairs)
|
|
- [ ] Verify drippers functioning in each zone
|
|
- [ ] Confirm water flow
|
|
- [ ] Confirm nutrient mix ready
|
|
- [ ] Verify feeding schedule active
|
|
- [ ] Photo of working system (for uniformity reference)
|
|
- [ ] Flag any non-working drippers
|
|
|
|
**Data to Capture**:
|
|
|
|
- Zone name
|
|
- Drippers checked count
|
|
- Drippers working count
|
|
- Drippers failed (list)
|
|
- Water flow: Yes/No
|
|
- Nutrients mixed: Yes/No
|
|
- Schedule active: Yes/No
|
|
- Photo of working system
|
|
- Issues noted
|
|
- Timestamp
|
|
|
|
---
|
|
|
|
### 3. Plant Health Spot Check
|
|
|
|
**Task**: Quick peek at all plants with spot check on pests and access to food/water
|
|
|
|
**Requirements**:
|
|
|
|
- [ ] Quick visual inspection of each zone
|
|
- [ ] Pest check (identify any visible pests)
|
|
- [ ] Water access verification
|
|
- [ ] Food/nutrient access verification
|
|
- [ ] Identify zones needing attention
|
|
- [ ] Photo of any issues
|
|
- [ ] Photo of healthy/working system for comparison
|
|
|
|
**Data to Capture**:
|
|
|
|
- Zone name
|
|
- Plant health: Good / Fair / Needs Attention
|
|
- Pests observed: Yes/No (type if yes)
|
|
- Water access: OK / Issues
|
|
- Food access: OK / Issues
|
|
- Zones flagged for attention
|
|
- Photos (issues + reference)
|
|
- Notes
|
|
- Timestamp
|
|
|
|
---
|
|
|
|
## 🏗️ Implementation Requirements
|
|
|
|
### Database Schema
|
|
|
|
#### DailyWalkthrough Model
|
|
|
|
```prisma
|
|
model DailyWalkthrough {
|
|
id String @id @default(uuid())
|
|
date DateTime @default(now())
|
|
completedBy String
|
|
user User @relation(fields: [completedBy], references: [id])
|
|
startTime DateTime
|
|
endTime DateTime?
|
|
status WalkthroughStatus @default(IN_PROGRESS)
|
|
|
|
reservoirChecks ReservoirCheck[]
|
|
irrigationChecks IrrigationCheck[]
|
|
plantHealthChecks PlantHealthCheck[]
|
|
|
|
createdAt DateTime @default(now())
|
|
updatedAt DateTime @updatedAt
|
|
}
|
|
|
|
model ReservoirCheck {
|
|
id String @id @default(uuid())
|
|
walkthroughId String
|
|
walkthrough DailyWalkthrough @relation(fields: [walkthroughId], references: [id])
|
|
|
|
tankName String
|
|
tankType TankType // VEG, FLOWER
|
|
levelPercent Int
|
|
status TankStatus // OK, LOW, CRITICAL
|
|
photoUrl String?
|
|
notes String?
|
|
|
|
createdAt DateTime @default(now())
|
|
}
|
|
|
|
model IrrigationCheck {
|
|
id String @id @default(uuid())
|
|
walkthroughId String
|
|
walkthrough DailyWalkthrough @relation(fields: [walkthroughId], references: [id])
|
|
|
|
zoneName String // "Veg Upstairs", "Veg Downstairs", etc.
|
|
drippersTotal Int
|
|
drippersWorking Int
|
|
drippersFailed String? // JSON array of failed dripper IDs
|
|
waterFlow Boolean
|
|
nutrientsMixed Boolean
|
|
scheduleActive Boolean
|
|
photoUrl String? // Photo of working system
|
|
issues String?
|
|
|
|
createdAt DateTime @default(now())
|
|
}
|
|
|
|
model PlantHealthCheck {
|
|
id String @id @default(uuid())
|
|
walkthroughId String
|
|
walkthrough DailyWalkthrough @relation(fields: [walkthroughId], references: [id])
|
|
|
|
zoneName String
|
|
healthStatus HealthStatus // GOOD, FAIR, NEEDS_ATTENTION
|
|
pestsObserved Boolean
|
|
pestType String?
|
|
waterAccess AccessStatus // OK, ISSUES
|
|
foodAccess AccessStatus // OK, ISSUES
|
|
flaggedForAttention Boolean @default(false)
|
|
issuePhotoUrl String?
|
|
referencePhotoUrl String? // Photo of healthy system
|
|
notes String?
|
|
|
|
createdAt DateTime @default(now())
|
|
}
|
|
|
|
enum WalkthroughStatus {
|
|
IN_PROGRESS
|
|
COMPLETED
|
|
INCOMPLETE
|
|
}
|
|
|
|
enum TankType {
|
|
VEG
|
|
FLOWER
|
|
}
|
|
|
|
enum TankStatus {
|
|
OK
|
|
LOW
|
|
CRITICAL
|
|
}
|
|
|
|
enum HealthStatus {
|
|
GOOD
|
|
FAIR
|
|
NEEDS_ATTENTION
|
|
}
|
|
|
|
enum AccessStatus {
|
|
OK
|
|
ISSUES
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## 📱 Mobile UI Requirements
|
|
|
|
### Morning Walkthrough Screen
|
|
|
|
**Layout** (Mobile-First):
|
|
|
|
1. **Header**: "Daily Walkthrough - [Date]"
|
|
2. **Progress Bar**: Shows completion (e.g., "2 of 3 sections complete")
|
|
3. **Sections** (Expandable):
|
|
- ✅ Reservoir Checks (4 tanks)
|
|
- ⏳ Irrigation System (4 zones)
|
|
- ⬜ Plant Health (4 zones)
|
|
|
|
**Each Section**:
|
|
|
|
- Large, touch-friendly checkboxes
|
|
- Photo upload button (camera icon)
|
|
- Quick status buttons (OK / Issue)
|
|
- Notes field (expandable)
|
|
- "Next" button to advance
|
|
|
|
**Features**:
|
|
|
|
- **Offline support**: Can complete walkthrough without internet
|
|
- **Photo compression**: Optimize images before upload
|
|
- **Auto-save**: Save progress as you go
|
|
- **Quick mode**: Default to "OK" for speed
|
|
- **Issue mode**: Expand details when issue detected
|
|
|
|
---
|
|
|
|
## 🎨 User Experience Flow
|
|
|
|
### Morning Routine
|
|
|
|
1. Staff member clocks in
|
|
2. App prompts: "Start Daily Walkthrough?"
|
|
3. Guided checklist begins:
|
|
- **Step 1**: Reservoir Checks
|
|
- Show list of all tanks
|
|
- Tap each to mark status
|
|
- Camera button for issues
|
|
- **Step 2**: Irrigation Checks
|
|
- Show zones (Veg Up, Veg Down, Flower Up, Flower Down)
|
|
- Quick checkboxes for each item
|
|
- Photo of working system
|
|
- **Step 3**: Plant Health
|
|
- Zone-by-zone quick inspection
|
|
- Flag issues with photos
|
|
- Reference photo for uniformity
|
|
4. Review summary
|
|
5. Submit walkthrough
|
|
6. Dashboard shows completion status
|
|
|
|
---
|
|
|
|
## 🔔 Notifications & Alerts
|
|
|
|
### Critical Alerts
|
|
|
|
- Tank below 20%: Immediate alert to manager
|
|
- Multiple drippers failed: Alert head grower
|
|
- Pests observed: Alert to all cultivation staff
|
|
|
|
### Daily Summary
|
|
|
|
- Morning walkthrough completion status
|
|
- Issues flagged count
|
|
- Zones needing attention
|
|
|
|
---
|
|
|
|
## 📊 Reporting
|
|
|
|
### Daily Report
|
|
|
|
- Walkthrough completion time
|
|
- Issues found vs. resolved
|
|
- Trends (recurring issues)
|
|
|
|
### Weekly Report
|
|
|
|
- Walkthrough completion rate
|
|
- Most common issues
|
|
- Response time to issues
|
|
|
|
---
|
|
|
|
## ✅ Acceptance Criteria
|
|
|
|
- [ ] Staff can start daily walkthrough from dashboard
|
|
- [ ] All reservoir tanks listed and checkable
|
|
- [ ] All zones (4) listed for irrigation check
|
|
- [ ] All zones (4) listed for plant health check
|
|
- [ ] Photos can be taken and attached to any check
|
|
- [ ] Issues are flagged and visible on dashboard
|
|
- [ ] Walkthrough can be saved and resumed
|
|
- [ ] Completion triggers summary view
|
|
- [ ] Manager can view all walkthroughs
|
|
- [ ] Historical walkthroughs are searchable
|
|
|
|
---
|
|
|
|
## 🚀 Implementation Priority
|
|
|
|
**Phase**: Should be in **Phase 1** (Foundation) - This is core daily operations
|
|
|
|
**Estimated Effort**:
|
|
|
|
- Database schema: 2 hours
|
|
- Backend API: 3 hours
|
|
- Mobile UI: 4-5 hours
|
|
- Testing: 2 hours
|
|
- **Total**: ~12 hours (1.5-2 days)
|
|
|
|
---
|
|
|
|
## 🔗 Related Specs
|
|
|
|
- **Tasks and Scheduling**: Daily walkthrough is a recurring task
|
|
- **Batches and Rooms**: Zones map to rooms/batches
|
|
- **Compliance**: Walkthrough records are audit trail
|
|
- **Communications**: Issues trigger notifications
|
|
|
|
---
|
|
|
|
## 📝 Notes from 777 Wolfpack Team
|
|
|
|
> "Super crucial is a daily walkthrough of whole facility af first steps in am"
|
|
|
|
This is the **#1 priority** for daily operations. Everything else builds on this foundation.
|
|
|
|
**Key Insights**:
|
|
|
|
- Must be **first thing in the morning**
|
|
- Must be **systematic** (not ad-hoc)
|
|
- Must capture **photos for uniformity**
|
|
- Must **identify zones needing attention**
|
|
- Must verify **all critical systems** (water, food, drippers)
|
|
|
|
---
|
|
|
|
## ✨ Future Enhancements
|
|
|
|
- [ ] Voice notes instead of typing
|
|
- [ ] Barcode scanning for tanks/zones
|
|
- [ ] AI-assisted pest identification from photos
|
|
- [ ] Predictive alerts based on historical data
|
|
- [ ] Integration with environmental sensors
|