View live occupancy (Public dashboards)
This page explains how citizens and visitors can view real-time occupancy information for public spaces.
What you can see
Public occupancy dashboards show: - Current occupancy: How many people/vehicles are at a location right now - Capacity percentage: How full a location is (if capacity is configured) - Status indicators: Visual cues (green/yellow/red) for availability - Historical trends: Typical patterns by time of day and day of week
Accessing the dashboard
Public dashboards are typically embedded in: - Municipality websites - Mobile apps - Digital signage at entrances - Tourist information portals
No login is required to view public occupancy data.
Understanding the display
Occupancy levels
| Color | Meaning | Recommendation |
|---|---|---|
| 🟢 Green | Low occupancy (< 50%) | Plenty of space available |
| 🟡 Yellow | Moderate occupancy (50-80%) | Some availability |
| 🔴 Red | High occupancy (> 80%) | Limited or no availability |
| ⚫ Gray | Data unavailable | Sensor offline or no data |
What the numbers mean
"Current occupancy: 45" - 45 people/vehicles currently at this location - Calculated from entries minus exits since midnight
"Capacity: 67%" - Location is 67% full relative to its defined capacity - Helps you decide whether to visit now or later
"Flow rate: 120/hour" - 120 vehicles/people passed through in the last hour - Useful for road monitoring or understanding peak times
Types of locations
Parking lots
Shows: - Available spaces (approximate) - Capacity percentage - Entry/exit locations on map
Beaches
Shows: - Estimated visitors currently present - Capacity percentage - Trend compared to usual
Trails
Shows: - Estimated hikers on trail - Based on entries minus exits over trail duration - Note: This is an estimate due to trail length
Viewpoints & plazas
Shows: - People currently in area - Real-time updates
Real-time updates
Dashboards update automatically: - Occupancy refreshes every few minutes - WebSocket connection provides near-instant updates (where supported) - No need to refresh the page
Planning your visit
Use historical patterns to plan: - Weekday vs. weekend: See typical differences - Time of day: Find the best time to visit - Seasonal trends: Understand busy periods
Data accuracy notes
- Occupancy is calculated from sensor data and may have slight delays
- Trail estimates are probabilistic (based on typical duration)
- Extreme weather or sensor issues may affect accuracy
- When in doubt, the display shows "Data unavailable"
Privacy
The occupancy system: - Does not identify individuals - Does not track personal movements - Only counts aggregate numbers - No images or video are publicly shared
Troubleshooting
"Data unavailable" showing? - Sensor may be offline for maintenance - Data processing may be delayed - Check again in a few minutes
Numbers seem wrong? - Sensors reset counts at midnight - Manual counting errors can occur - Report issues to the municipality
Behind the scenes (grounded in code)
- Occupancy calculation:
PointOfInterest.current_occupancyproperty - Percentage calculation:
PointOfInterest.occupancy_percentageproperty - Flow rate:
PointOfInterest.get_flow_rate()method - Caching: Redis with 5-minute TTL for performance
- WebSocket:
apps/occupancy/consumers.pyfor real-time updates