👥
Current Occupancy
—
🚶
Total Entries
—
🚪
Total Exits
—
🗺️
Total zone occupancy
—
Today
📷 Live Camera Feed LIVE
CAM: Main_Entrance conf: — | occ: —
📅 Hourly Store Traffic
📊 Traffic Trend (7-day)
📋 Recent Detections
—
→
TrapTypeCurrent ActivityLast Update
Waiting for data...
🚧 Store Crossings
TimeStoreEvent InOut
Waiting for data...
—
Unexited Visitors
loading…
—
Total Entries
loading…
—
Total Exits
loading…
Hourly Traffic
Store Performance
Zone Heatmap
📅 Hourly Store Traffic
Entry/Exit Ratio
Zone Distribution
Traffic Trend (7-day)
✨ AI-Powered Reports
Use natural-language prompts to generate executive-ready traffic reports
Quick Prompts
Loading templates…
Select a quick prompt or write a custom request to generate the first AI report.
🔍 Query Filters
Loading zones…
Click to toggle. None selected = all zones.
Summary
Crossings Log
Zone Occupancy
Comparative
⏳ Loading summary…
Live Camera View
Click "Start Drawing" to create a new zone
📷 Main_Entrance  ·  occ: — drag vertex handles to reshape
Loading tripwires from backend…
💡 Tripwires drawn here sync live with the Python counter — no restart needed.
Zones (0)
No zones yet.
Click Add new zone
then start drawing.
How to Draw
  1. Fill in zone details above
  2. Choose Polygon / Rect / Line / Tripwire
  3. Click Start Drawing
  4. Click on camera feed to place points
  5. Click ✓ Finish (or first point) to close
  6. Drag any ● handle to reshape
  7. Click ✏️ to rename / change capacity
↔ Tripwire mode:
Draw 2 points parallel to a store entrance.
Green arrow = IN  |  Red arrow = OUT
Use ✏️ to change entry direction after drawing.
live feed
REC
CAM ··· --
💡 Drag vertex handles to reshape · right-click a handle for options · armed traps for this camera are shown in colour
Trap configuration
✏️ You are editing an armed trap.
1Trap type
2Name & geometry
3Parameters & schedule
→
seconds
The crowd is the sensor. People walk in wearing the weather (Umbrella Index), carrying the economy, and reacting to what cameras can't see — swerving around invisible spills, lighting phone-torches in blackouts, stepping back from fights before they start. Think of a new one next week? Click + Define new trap type, compose it from the primitives, and it is immediately drawable, armable, and in the config — no code, no deployment, no restart.
OnTrapTypeCamera ShapeThresholdsSchedule SeverityChannels
—
Time Type Message
Loading...
📷 Camera Configuration
📋 Camera Models
🏬 Branches
📱 SMS Offline Alerts
Comma-separated phone numbers. SMS is sent when a camera has been unreachable for the duration below.
Only send alerts if cameras remain unreachable for this duration.
📧 Email Alert Settings
Traps with the email alert channel send an alert from MALLVISION to these recipients. SMTP server, sender, and credentials are read from the configuration.
🪤 Trap Configuration Summary
Total Traps
0
Counts shown per configured trap kind. Use the Trap Manager tab to create and modify traps visually.
🗄 Configured Traps
🗄 Cameras in Database
🏢 Create Organisation
Creates Mallvision-<ORGANISATION_NAME> and mallvision_<organisation_name>, initialized from MALLVISION/db_struct.sql.
📋 Organisations
👤 Create User Account
📋 Existing Users
These keys — trap_types and traps — live in config.json alongside the existing tripwires and zones. The portal API writes the file atomically; the vision worker polls its modification time and hot-reloads within 1 second, exactly as tripwires do today. Coordinates use the same 0–1000 overlay space as the current Zone Editor, so nothing in the counting pipeline changes shape.

      
MallVision
Sign in to continue