Pandit Javdekar Smart Society Management Application • Version 1.0 • June 2026 • ByteWise Consulting LLP
| Field | Value |
|-------|-------|
| Project | Pandit Javdekar Smart Society Management Application |
| Version | 1.0 |
| Date | June 2026 |
| Author | ByteWise Consulting LLP |
---
- If society has Building Manager role → Maintenance requests go to Building Manager first
- If society has NO Building Manager role → Maintenance requests go directly to Maintenance Head
- Application Level: Enable/disable entire application modules per society
- Permission Level: Assign granular permissions per role per society
- Role Level: Enable/disable roles per society (Building Manager, Security Guard, Maintenance Head, Maintenance Member)
- Feature Level: Toggle individual features per society (Gate Access, Maintenance, Notice Board, Polls, Helper Attendance, Amenity Booking, SOS Alert)
- Maintenance Head: Manages all maintenance tasks for the society, oversees all projects
- Maintenance Member: Assigned to specific project(s), works on tasks assigned to them
- Maintenance Head: Task assignments dashboard (ALL tasks across all projects), task reassignment, priority setting, team management, performance reports
- Maintenance Member: Assigned tasks view (only their tasks), task detail view, status updates (In Progress/Completed), photo upload for completion proof, work notes, work history
---
┌─────────────────────────────────────────────────────────────────┐
│ NEW USER REGISTRATION │
└─────────────────────────────────────────────────────────────────┘
NOTE: There is ONE single app for all roles.
Role is auto-detected based on phone number in the database.
MOBILE APP:
├── ONE app (PJA Society)
├── Login via Phone Number + OTP
├── Role auto-detected from database
└── Same app, different views based on role
WEB PORTAL:
├── ONE landing page (pjasociety.com)
├── Login via Phone Number or Email + Password
├── Role auto-detected from database
└── Same portal, different dashboards based on role
Step 1: Download App
│
├─ Android: Play Store → Search "PJA Society" → Install
└─ iOS: App Store → Search "PJA Society" → Install
│
▼
Step 2: Enter Mobile Number
│
├─ OTP Verification (SMS)
│
▼
Step 3: Role Detection (Auto)
│
├─ System checks phone number in database
│
├─ IF phone exists → Auto-detect role:
│ ├── Primary Member → Full access
│ │ └── Ask: Owner or Tenant?
│ │ ├── Owner → Staying in premises → Can add family members
│ │ └── Tenant → Staying in premises → Can add family members
│ ├── Family Member → Gate + limited features
│ ├── Helper → Gate/biometric only
│ ├── Security Guard → Gate & Security module
│ ├── Building Manager → Full management dashboard
│ ├── Chairman/Secretary/Treasurer → Society management
│ ├── Maintenance Head → All tasks view
│ ├── Maintenance Member → Assigned tasks only
│ └── PJA Super Admin → Global access
│
└─ IF phone not found → "Contact Building Manager" message
│
▼
Step 4: Device Registration
│
├─ Enter 4-digit PIN
├─ Device fingerprint captured
└─ Device linked to user account
│
▼
Step 5: Onboarding Walkthrough
│
├─ Interactive tutorial (5 screens)
│ ├── Gate Access basics
│ ├── How to submit maintenance request
│ ├── Notice board navigation
│ ├── Adding family members
│ └── Adding helpers
│
▼
Step 7: Home Screen → READY TO USE
┌─────────────────────────────────────────────────────────────────┐
│ GATE ACCESS — RESIDENT / FAMILY / HELPER │
└─────────────────────────────────────────────────────────────────┘
(All authorized users — Resident, Family Member, Helper — follow the same flow)
Step 1: User approaches gate
│
▼
Step 2: Open App → "Open Gate" button visible on home screen
│
▼
Step 3: Tap "Open Gate"
│
├─ System verifies:
│ ├── Device registered? ✅
│ ├── PIN entered correctly? ✅
│ └── IoT controller online? ✅
│
├─ IF all checks pass:
│ ├── MQTT message sent to ESP32 controller
│ ├── Gate motor activates
│ ├── Gate opens
│ └── Audit log created (timestamp, user, device, gate)
│
└─ IF any check fails:
├── Error message displayed
└── Alert to security guard (if applicable)
SCENARIO A: Resident / Family Member / Helper with Gate Access
│
├─ Opens app → "Open Gate" button
├─ Tap → Verify PIN → Gate opens
└─ Audit log created
SCENARIO B: Helper with Biometric Only (works in multiple flats)
│
├─ Helper linked to multiple flats (e.g., A-101, B-205, C-302)
├─ Arrives at building entrance
├─ Scans fingerprint on biometric device
├─ System identifies helper → Push notification to ALL flats where helper works
│ ├── Flat A-101: "Sunita (Maid) has checked in at 9:15 AM"
│ ├── Flat B-205: "Sunita (Maid) has checked in at 9:15 AM"
│ └── Flat C-302: "Sunita (Maid) has checked in at 9:15 AM"
├─ Helper enters building
└─ On exit: Same process → Notification to ALL flats
├── Flat A-101: "Sunita has checked out at 5:30 PM"
├── Flat B-205: "Sunita has checked out at 5:30 PM"
└── Flat C-302: "Sunita has checked out at 5:30 PM"
┌─────────────────────────────────────────────────────────────────┐
│ GATE ACCESS - RUSH HOUR MODE │
└─────────────────────────────────────────────────────────────────┘
Time: 8:00 AM — 11:00 AM (configurable)
│
├─ Guard taps "Rush Hour Mode" on guard app
├─ ALL gates open simultaneously
├─ Residents enter/exit without individual gate operations
├─ Mode auto-disables at 11:00 AM
└─ Audit log: "Rush hour mode activated by [Guard Name]"
┌─────────────────────────────────────────────────────────────────┐
│ VISITOR MANAGEMENT │
└─────────────────────────────────────────────────────────────────┘
SCENARIO A: Pre-Approved Visitor
│
├─ Resident opens app → "Pre-Approve Visitor"
├─ Enter visitor details:
│ ├── Name
│ ├── Phone number
│ ├── Purpose of visit
│ ├── Expected time
│ └── One-time or Frequently
├─ System generates QR code / visitor pass
├─ Visitor arrives at gate
├─ Guard scans QR code / verifies details
├─ Guard taps "Allow Entry"
├─ Gate opens
├─ Push notification to resident: "Your guest [Name] has arrived"
└─ Visitor checked in → Audit log created
SCENARIO B: Walk-In Visitor (No Pre-Approval)
│
├─ Visitor arrives at gate
├─ Guard enters visitor details in guard app:
│ ├── Name
│ ├── Phone number
│ ├── Flat number visiting
│ └── Purpose
├─ System sends notification to flat resident:
│ └── "[Visitor Name] is at the gate. Approve/Deny?"
├─ Resident approves → Gate opens
├─ Resident denies → Gate remains closed
└─ If no response in 2 minutes → Guard can override (with reason)
SCENARIO C: Delivery / Service Personnel
│
├─ Similar to Walk-In but with "Delivery" tag
├─ Guard logs entry with delivery details
├─ Notification to resident
└─ Exit logged when delivery person leaves
┌─────────────────────────────────────────────────────────────────┐
│ HELPER ATTENDANCE TRACKING │
└─────────────────────────────────────────────────────────────────┘
Primary User opens app → Helper tab
│
├─ My Helpers List
│ ├── Shows all registered helpers for this flat
│ ├── Each helper card shows:
│ │ ├── Helper name and photo
│ │ ├── Type (Maid, Cook, Driver, Tutor, Other)
│ │ ├── Send Notification to all flat where ever she works.
│ │ ├── Today's status: Checked In / Not Yet / On Leave
│ │ └── Last seen: "Checked in at 9:15 AM"
│ └── Actions: Edit / Remove Helper
│
├─ Helper Detail View (tap on helper)
│ ├── Today's Activity
│ │ ├── Check-in time: 9:15 AM (biometric)
│ │ ├── Check-out time: 5:30 PM (biometric)
│ │ ├── Total hours: 8h 15m
│ │ └── Status: Present / Absent / Half Day
│ │
│ ├── Attendance Calendar (monthly view)
│ │ ├── Green dot = Present
│ │ ├── Red dot = Absent
│ │ ├── Yellow dot = Half Day
│ │ └── Gray dot = Holiday / Not Scheduled
│ │
│ ├── Attendance History
│ │ ├── Date | Check-in | Check-out | Hours | Status
│ │ ├── Jun 27: 9:15 AM → 5:30 PM | 8h 15m | Present
│ │ ├── Jun 26: 9:20 AM → 5:25 PM | 8h 05m | Present
│ │ ├── Jun 25: Absent | — | —
│ │ └── Scrollable list with monthly summary
│ │
│ └── Monthly Summary
│ ├── Days present: 22 / 26
│ ├── Attendance %: 84.6%
│ ├── Total hours this month: 178h 30m
│ └── Average daily: 8h 07m
│
├─ Add New Helper
│ ├── Enter helper name
│ ├── Select type (Maid/Cook/Driver/Tutor/Other)
│ ├── Enter phone number
│ ├── Upload photo
│ ├── Register biometric (at gate device)
│ └── Set schedule (Mon-Sat, custom days)
│
└─ Notifications
├── Push notification on helper check-in:
│ └── "Sunita (Maid) checked in at 9:15 AM"
├── Push notification on helper check-out:
│ └── "Sunita (Maid) checked out at 5:30 PM"
├── Weekly attendance summary (optional):
│ └── "Sunita: 5/6 days present this week (83%)"
└── Alert if helper doesn't check-in by expected time
┌─────────────────────────────────────────────────────────────────┐
│ MAINTENANCE WORKFLOW │
└─────────────────────────────────────────────────────────────────┘
Step 1: Resident identifies issue
│
▼
Step 2: Open App → "Report Issue" → Tap
│
▼
Step 3: Capture photo of issue
│
├─ Camera opens → Take photo
└─ Photo attached to request
│
▼
Step 4: Describe issue
│
├─ Text description (optional but recommended)
│
▼
Step 5: Select category
│
├─ Plumbing
├─ Electrical
├─ Civil
├─ Lift
├─ Painting
├─ Pest Control
└─ Other
│
▼
Step 6: Submit request
│
├─ Request created with status: "OPEN"
│
├─ IF society has Building Manager role:
│ ├── Notification sent to Building Manager
│ └── Request visible in Building Manager dashboard
│
└─ IF society has NO Building Manager role:
├── Notification sent directly to Maintenance Head
└── Request visible in Maintenance Team dashboard
│
▼
Step 7A: Building Manager reviews (if role exists)
│
├─ Views all open requests
├─ Assigns to maintenance team member
├─ Sets priority (Low / Medium / High / Urgent)
└─ Status changes to "ASSIGNED"
│
▼
Step 7B: Maintenance Head reviews (if no Building Manager)
│
├─ Views all open requests for their society
├─ Assigns to maintenance team member
├─ Sets priority (Low / Medium / High / Urgent)
└─ Status changes to "ASSIGNED"
│
▼
Step 8: Maintenance Team receives assignment
│
├─ Notification: "New assignment: [Issue] at [Flat]"
│
├─ Maintenance Head:
│ ├── Sees ALL tasks across all projects in their society
│ ├── Can assign/reassign tasks
│ └── Can view all task details
│
├─ Maintenance Member:
│ ├── Sees only tasks assigned to THEM
│ ├── Assigned to specific project(s)
│ └── Updates status on their assigned tasks
│
├─ Team member acknowledges
└─ Status changes to "IN PROGRESS"
│
▼
Step 9: Work completed
│
├─ Team member uploads completion photo
├─ Adds notes about work done
├─ Status changes to "COMPLETED"
├─ Notification to resident: "Your request has been completed"
└─ Notification to Building Manager (if role exists)
│
▼
Step 10: Resident rates service
│
├─ Rating (1-5 stars)
└─ Optional feedback
│
▼
Step 11: Request closed
│
└─ Status: "CLOSED" → Audit trail complete
┌─────────────────────────────────────────────────────────────────┐
│ NOTICE BOARD │
└─────────────────────────────────────────────────────────────────┘
Step 1: Chairman/Secretary/Treasurer creates notice
│
├─ Open App/Web → "Create Notice"
├─ Enter:
│ ├── Title
│ ├── Content (rich text)
│ ├── Category: Maintenance | Events | Water/Power | General
│ ├── Priority: Normal | Important
│ └── Target: All Residents | Specific Tower | Specific Flat
│
▼
Step 2: Notice published
│
├─ Push notification sent to all targeted residents
├─ IF Important: Flashes on app top-bar until read
├─ IF Normal: Appears in notice list
│
▼
Step 3: Resident views notice
│
├─ Opens app → Notice board
├─ Reads notice
├─ Read receipt recorded
└─ If Important: Top-bar flashing stops after reading
│
▼
Step 4: Notice archived
│
├─ Searchable archive replaces WhatsApp groups
└─ Historical notices accessible anytime
┌─────────────────────────────────────────────────────────────────┐
│ POLLS & VOTING │
└─────────────────────────────────────────────────────────────────┘
Step 1: Chairman/Secretary creates poll
│
├─ "Create Poll" → Enter question
├─ Add options (2-10)
├─ Set deadline
└─ Target: All residents | Specific group
│
▼
Step 2: Poll published
│
├─ Push notification: "New poll: [Question]"
├─ Poll appears in resident app
│
▼
Step 3: Any one member from the flat votes
│
├─ Opens poll → Selects option → Submits
├─ ONE VOTE PER FLAT (any family member / primary member can vote)
├─ Once a member from the flat votes, no other member from the same flat can vote
└─ Vote recorded with timestamp + user_id + flat_id
│
▼
Step 4: Real-time results
│
├─ All residents see live results (after voting or deadline)
├─ Participation tracking visible to committee
└─ Results archived for future reference
┌─────────────────────────────────────────────────────────────────┐
│ EMERGENCY SOS │
└─────────────────────────────────────────────────────────────────┘
AUTHORIZED ROLES (can trigger SOS):
├── PJA Super Admin
├── Chairman / Secretary / Treasurer
├── Building Manager
└── Security Guard
Step 1: Authorized member triggers SOS
│
├─ Opens app → "SOS Alert" button
├─ Confirms trigger (double confirmation required)
│ ├── "Are you sure you want to trigger SOS?"
│ └── "This will alert ALL residents. Confirm?"
│
▼
Step 2: Building-wide alert
│
├─ Push notification to ALL residents
├─ SMS to ALL registered numbers
├─ Alert to security team
├─ Alert to management committee
├─ SOS status: ACTIVE (shown on all app home screens)
└─ Audit log: "[Role] [Name] triggered SOS at [time]"
│
▼
Step 3: Read receipt tracking
│
├─ System tracks who has read the alert
├─ Non-readers receive follow-up alerts
└─ Authorized members can view acknowledgment status
│
▼
Step 4: Disable SOS
│
├─ Any authorized member can disable
├─ Opens app → "Disable SOS" button (visible when SOS active)
├─ Confirms disable
├─ SOS status: INACTIVE
├─ Push notification: "SOS has been disabled by [Name]"
└─ Audit log: "[Role] [Name] disabled SOS at [time]"
┌─────────────────────────────────────────────────────────────────┐
│ AMENITY BOOKING FLOW │
└─────────────────────────────────────────────────────────────────┘
ELIGIBLE USERS:
├── Primary Member (Flat Owner) — Full booking access
└── Family Member — Can book, but requires society confirmation
│
▼
Step 1: View Amenities
│
├─ Opens app → Amenities tab (bottom navigation)
├─ Sees list of available amenities:
│ ├── Terrace (6:00 AM - 8:00 PM)
│ ├── Gym Hall (5:00 AM - 10:00 PM)
│ ├── Conference Room (10:00 AM - 10:00 PM)
│ ├── Cafe Area (24/7 Access)
│ └── Yoga Desk (5:00 AM - 7:00 PM)
├─ Each amenity shows:
│ ├── Availability status (Available / Limited / Fully Booked)
│ ├── Operating hours
│ └── Description
└─ Taps "Book Now" on desired amenity
│
▼
Step 2: Select Date
│
├─ Calendar view showing available dates
├─ Past dates are grayed out
├─ Today highlighted
├─ Available dates shown in green
└─ Selects date → Taps "Continue"
│
▼
Step 3: Booking Summary
│
├─ Shows:
│ ├── Amenity name
│ ├── Selected date
│ └── Number of guests (adjustable)
├─ Optional: Special requests text field
├─ Taps "Confirm Booking"
│
▼
Step 4: Booking Confirmation
│
├─ All Bookings (Primary + Family):
│ ├── Booking submitted as "Pending Approval"
│ ├── Booking ID generated (#AMN-XXXX)
│ └── Notification sent to Chairman/Secretary/Treasurer
│
▼
Step 5: Society Approval (All Bookings)
│
├─ All bookings go to society for approval
├─ Chairman/Secretary/Treasurer receives booking request
├─ Reviews:
│ ├── Booking date availability
│ ├── Guest count within capacity
│ └── No conflicting events
├─ IF approved:
│ ├── Status changes to "Confirmed"
│ ├── Push notification to booker: "Your booking is confirmed!"
│ └── Booking appears in "My Bookings"
├─ IF rejected:
│ ├── Status changes to "Rejected"
│ └── Push notification with rejection reason
└─ IF no response in 24 hours → Auto-approved (configurable)
│
▼
Step 6: My Bookings
│
├─ Tab: Upcoming / Past / Cancelled
├─ Each booking shows:
│ ├── Amenity name and icon
│ ├── Date
│ ├── Status (Confirmed / Pending / Cancelled)
│ └── Cancel button (for upcoming bookings)
└─ Taps booking → Full details view
│
▼
Step 7: Cancel Booking (if needed)
│
├─ Selects booking → Taps "Cancel"
├─ Selects reason for cancellation
├─ Confirms cancellation
├─ Booking status changes to "Cancelled"
└─ Notification to society admin
---
┌─────────────────────────────────────────────────────────────────┐
│ PJA SUPER ADMIN DASHBOARD │
└─────────────────────────────────────────────────────────────────┘
Login → Web Portal
│
├─ Dashboard
│ ├── Multi-project overview
│ ├── Quick stats (users, requests, visitors)
│ ├── Alerts and notifications
│ └── System health status
│
├─ CONTROL PANEL (Web Portal ONLY — No mobile app control)
│ │
│ ├── Application Level Control
│ │ ├── Select society/project
│ │ ├── Enable/disable entire modules:
│ │ │ ├── Gate Access Module
│ │ │ ├── Maintenance Module
│ │ │ ├── Notice Board Module
│ │ │ ├── Polls Module
│ │ │ ├── Helper Attendance Module
│ │ │ ├── Amenity Booking Module
│ │ │ └── SOS Alert Module
│ │ ├── Module status (Active/Inactive)
│ │ └── Audit trail: "Module [X] enabled/disabled for [Society] by [Admin]"
│ │
│ ├── Permission Level Control
│ │ ├── Select society/project
│ │ ├── Role-based permissions matrix:
│ │ │ ├── Primary Member:
│ │ │ │ ├── Gate Access
│ │ │ │ ├── Maintenance (submit)
│ │ │ │ ├── Notices (view)
│ │ │ │ ├── Polls (vote)
│ │ │ │ ├── Helper Management
│ │ │ │ └── Amenity Booking
│ │ │ ├── Family Member:
│ │ │ │ ├── Gate Access
│ │ │ │ ├── Maintenance (submit)
│ │ │ │ ├── Notices (view)
│ │ │ │ ├── Polls (vote)
│ │ │ │ └── Amenity Booking (requires approval)
│ │ │ ├── Helper:
│ │ │ │ ├── Gate Access (QR/Biometric)
│ │ │ │ └── Attendance (check-in/out)
│ │ │ ├── Security Guard:
│ │ │ │ ├── Visitor Management
│ │ │ │ ├── Gate Override
│ │ │ │ ├── Rush Hour Mode
│ │ │ │ ├── Search
│ │ │ │ ├── Delivery/Service Personnel
│ │ │ │ └── SOS Trigger/Disable
│ │ │ ├── Building Manager (Optional):
│ │ │ │ ├── Maintenance Management
│ │ │ │ ├── Resident Directory
│ │ │ │ ├── Gate Logs
│ │ │ │ ├── Helper Management
│ │ │ │ └── Communication
│ │ │ ├── Chairman/Secretary/Treasurer:
│ │ │ │ ├── Notices (create/manage)
│ │ │ │ ├── Polls (create/manage)
│ │ │ │ ├── Amenities (manage)
│ │ │ │ ├── Documents
│ │ │ │ └── SOS Trigger/Disable
│ │ │ ├── Maintenance Head:
│ │ │ │ ├── View all tasks
│ │ │ │ ├── Assign tasks
│ │ │ │ └── Reassign tasks
│ │ │ └── Maintenance Member:
│ │ │ ├── View assigned tasks
│ │ │ ├── Update status
│ │ │ └── Upload completion
│ │ ├── Toggle individual permissions ON/OFF
│ │ └── Audit trail: "Permission [X] granted/revoked for [Role] in [Society]"
│ │
│ ├── Role Level Control
│ │ ├── Select society/project
│ │ ├── Enable/disable roles:
│ │ │ ├── Building Manager (optional — if disabled, maintenance goes to Maintenance Head)
│ │ │ ├── Security Guard
│ │ │ ├── Maintenance Head
│ │ │ └── Maintenance Member
│ │ ├── View current role assignments per society
│ │ └── Audit trail: "Role [X] enabled/disabled for [Society] by [Admin]"
│ │
│ └── Feature Level Control
│ ├── Select society/project
│ ├── Toggle individual features:
│ │ ├── Gate Access
│ │ │ ├── IoT integration
│ │ │ ├── QR code entry
│ │ │ ├── PIN-based entry
│ │ │ └── Rush hour mode
│ │ ├── Maintenance
│ │ │ ├── Photo capture
│ │ │ ├── Category selection
│ │ │ ├── Priority levels
│ │ │ └── Feedback/rating
│ │ ├── Notice Board
│ │ │ ├── Rich text
│ │ │ ├── Attachments
│ │ │ ├── Targeting (tower/flat)
│ │ │ └── Read receipts
│ │ ├── Polls
│ │ │ ├── Multiple options
│ │ │ ├── Deadline
│ │ │ ├── One-vote-per-flat
│ │ │ └── Results visibility
│ │ ├── Helper Attendance
│ │ │ ├── Biometric integration
│ │ │ ├── Multi-flat support
│ │ │ └── Attendance reports
│ │ ├── Amenity Booking
│ │ │ ├── Terrace
│ │ │ ├── Conference Room
│ │ │ ├── Cafe Area
│ │ │ ├── Yoga Desk
│ │ │ └── Gym Hall
│ │ └── SOS Alert
│ │ ├── Trigger roles
│ │ ├── Notification recipients
│ │ └── Audit logging
│ └── Audit trail: "Feature [X] toggled for [Society] by [Admin]"
│
├─ Project Management
│ ├── Project list (with status badges)
│ ├── Project detail
│ │ ├── Basic info (name, address, city)
│ │ ├── Tower/building configuration
│ │ ├── Flat count and occupancy
│ │ └── Project status (Active/Inactive)
│ ├── Add new project
│ ├── Edit project details
│ └── Enable/disable project
│
├─ User Management
│ ├── Resident directory (all projects)
│ ├── Search by name/flat/project
│ ├── View resident details
│ │ ├── Profile info
│ │ ├── Family members
│ │ ├── Helpers
│ │ └── Activity history
│ ├── Add/remove users
│ ├── Assign/reassign roles
│ ├── Block/unblock users
│ └── View audit logs
│
├─ Maintenance Management
│ ├── All requests across projects
│ ├── Filter by project/priority/status
│ ├── Request detail
│ ├── Assign/reassign team
│ ├── Track progress
│ └── Reports (avg resolution, team performance)
│
├─ Gate & Security
│ ├── Visitor logs (all projects)
│ ├── Guard management
│ ├── Rush hour settings (per project)
│ └── IoT device status
│
├─ Notice Management
│ ├── Create/manage notices (global or per project)
│ ├── Target residents (all/project/tower/flat)
│ ├── View engagement metrics
│ └── Notice history
│
├─ Poll Management
│ ├── Create/manage polls (global or per project)
│ ├── Monitor participation
│ ├── View results
│ └── Poll history
│
├─ Amenity Management
│ ├── View all bookings (across projects)
│ ├── Approve/reject requests
│ ├── Configure amenities (per project):
│ │ ├── Terrace
│ │ ├── Conference Room
│ │ ├── Cafe Area
│ │ ├── Yoga Desk
│ │ └── Gym Hall
│ ├── Set operating hours and capacity
│ ├── Block dates for maintenance
│ └── View booking analytics
│
├─ Document Management
│ ├── Upload documents (global or per project)
│ ├── Manage categories (Financial/Legal/Policies)
│ ├── Access control (role-based)
│ └── Document version history
│
├─ PJ Showcase
│ ├── Content management
│ ├── Upload images/text/links
│ ├── Manage upcoming projects
│ ├── Update sales contact info
│ ├── Publish/unpublish content
│ └── Analytics (views, engagement)
│
├─ Analytics & Reports
│ ├── Gate usage trends (per project)
│ ├── Attendance reports
│ ├── Maintenance analytics
│ ├── User activity reports
│ ├── Export (PDF/Excel)
│ └── Custom date range filters
│
├─ Audit Logs
│ ├── All system actions
│ ├── Filter by user/project/action type
│ ├── Export logs
│ └── View detailed activity trail
│
├─ System Configuration
│ ├── Organization settings
│ ├── Notification templates
│ ├── SMS/email configuration
│ ├── Biometric device management
│ └── API keys & integrations
│
└─ Settings
├── Profile
├── Notification Preferences
└── Help & Support
┌─────────────────────────────────────────────────────────────────┐
│ BUILDING MANAGER DASHBOARD (OPTIONAL ROLE) │
└─────────────────────────────────────────────────────────────────┘
NOTE: Building Manager role is OPTIONAL — controlled by Super Admin per society.
If this role is disabled for a society, maintenance requests go directly to Maintenance Head.
Login → Web/Mobile Portal
│
├─ Resident Directory
│ ├── View all residents in assigned project
│ ├── Search by flat/tower/name
│ ├── View contact details
│ └── View family members and helpers
│
├─ Maintenance Overview
│ ├── All open requests (with priority)
│ ├── Assigned tasks status
│ ├── Completed tasks
│ └── Average resolution time
│
├─ Gate Logs
│ ├── Visitor entries today
│ ├── Guard activity
│ ├── Rush hour mode status
│ └── Search historical logs
│
├─ Helper Registration
│ ├── Link helpers to biometric devices
│ ├── Approve helper requests from primary members
│ └── View attendance reports
│
└─ Communication
├── Send notices (with committee approval)
├── Create polls
└── View resident feedback
┌─────────────────────────────────────────────────────────────────┐
│ MAINTENANCE TEAM DASHBOARD (ROLE-BASED) │
└─────────────────────────────────────────────────────────────────┘
NOTE: Two types of maintenance roles:
- Maintenance Head: Sees ALL tasks across all projects in their society
- Maintenance Member: Sees only tasks assigned to THEM (specific project)
Login → Mobile App
│
├─ Maintenance Head View:
│ ├── ALL open requests (across all projects in society)
│ ├── Assign tasks to maintenance members
│ ├── Set priority (Low / Medium / High / Urgent)
│ ├── View all in-progress tasks
│ ├── View all completed tasks
│ ├── Reassign tasks if needed
│ └── Reports:
│ ├── Task history (all projects)
│ ├── Average resolution time
│ ├── Team performance
│ └── Resident ratings
│
├─ Maintenance Member View:
│ ├── My assigned tasks (only)
│ ├── In-progress tasks
│ ├── Completed tasks
│ ├── Filter by priority/category
│ ├── Task Details:
│ │ ├── Flat number and resident info
│ │ ├── Issue description and photos
│ │ ├── Category and priority
│ │ ├── Assigned date and deadline
│ │ └── History of similar issues
│ ├── Update Status:
│ │ ├── Mark as "In Progress"
│ │ ├── Upload completion photo
│ │ ├── Add work notes
│ │ └── Mark as "Completed"
│ └── Reports:
│ ├── My task history
│ ├── Average resolution time
│ └── Resident ratings received
┌─────────────────────────────────────────────────────────────────┐
│ CHAIRMAN / SECRETARY / TREASURER DASHBOARD │
└─────────────────────────────────────────────────────────────────┘
Login → Web Portal
│
├─ Dashboard Overview
│ ├── Society health summary
│ ├── Active residents count
│ ├── Pending maintenance requests
│ └── Recent activity feed
│
├─ Notice Management
│ ├── Create notice (title, content, category, priority)
│ ├── Target: All residents / Specific tower / Specific flat
│ ├── Publish / Draft / Archive
│ ├── View engagement (read receipts, % viewed)
│ └── Edit or delete notices
│
├─ Poll & Voting Management
│ ├── Create poll (question, options, deadline)
│ ├── Target: All residents / Specific group
│ ├── Set one-vote-per-flat rule
│ ├── Monitor real-time participation
│ ├── View results with bar charts
│ ├── Close poll early if needed
│ └── Export poll results
│
├─ Amenity Booking Management
│ ├── View all bookings (upcoming, past, cancelled)
│ ├── Approve/reject booking requests
│ ├── Configure amenities:
│ │ ├── Terrace
│ │ ├── Conference Room
│ │ ├── Cafe Area
│ │ ├── Yoga Desk
│ │ └── Gym Hall
│ ├── Set operating hours and capacity
│ ├── Block dates for maintenance
│ └── View booking analytics
│
│
├─ Document Vault
│ ├── Upload society documents
│ ├── Manage categories (Financial, Legal, Policies)
│ ├── Set access permissions
│ └── Download/share documents
│
├─ Resident Directory
│ ├── View all residents
│ ├── Search by flat/tower/name
│ ├── View contact details
│ └── View family members and helpers
│
└─ Settings
├── Profile information
├── Notification preferences
├── Committee member management
└── Society configuration
---
PRIMARY MEMBER APP (Tab Bar — 5 tabs)
│
├── Home Tab
│ ├── Greeting header (Good morning, Rajesh)
│ ├── Gate Access Card (prominent Open Gate button)
│ ├── Recent Notices (scrolling carousel)
│ ├── Quick Actions (2x2 grid)
│ │ ├── Report Issue
│ │ ├── View Documents
│ │ ├── Polls
│ │ └── Amenities
│ ├── PJ Showcase Banner
│ └── Helper Attendance Summary (today's check-in status)
│
├── Maintenance Tab
│ ├── My Requests (list with status badges)
│ │ ├── Open
│ │ ├── In Progress
│ │ └── Completed
│ ├── New Request
│ │ ├── Capture Photo
│ │ ├── Describe Issue
│ │ ├── Select Category (Plumbing/Electrical/Civil/Lift/Pest/Other)
│ │ ├── Select Priority (Low/Medium/High)
│ │ └── Submit
│ └── Request History
│
├── Amenities Tab
│ ├── Available Amenities List
│ │ ├── Terrace (Available/Booked)
│ │ ├── Gym Hall (Available/Booked)
│ │ ├── Conference Room (Available/Booked)
│ │ ├── Cafe Area (Available/Booked)
│ │ └── Yoga Desk (Available/Booked)
│ ├── Book Amenity
│ │ ├── Select Date (calendar)
│ │ ├── Number of Guests
│ │ └── Special Requests (optional)
│ ├── Booking Summary & Confirm
│ ├── Booking Confirmed (Ticket + QR Code)
│ └── My Bookings
│ ├── Upcoming
│ ├── Past
│ └── Cancelled
│
├── Gate Tab
│ ├── Open Gate Button (large, centered)
│ ├── Gate Access History
│ │ ├── Today's entries
│ │ └── Search by date
│ ├── Pre-Approve Visitor
│ │ ├── Enter visitor details
│ │ ├── Generate QR code
│ │ └── Share via WhatsApp/SMS
│ ├── Visitor Requests (pending approval)
│ └── SOS Alert (PJA team only)
│
└── More Tab
├── Family Members
│ ├── View list
│ ├── Add Family Member
│ └── Remove Family Member
├── Helpers & Attendance
│ ├── My Helpers (list with status)
│ ├── Add New Helper
│ ├── Helper Detail (attendance calendar, history)
│ └── Monthly Summary
├── Documents
│ ├── Society Documents
│ ├── My Documents
│ └── Download/Share
├── PJ Showcase
│ ├── Featured Projects
│ ├── Upcoming Projects
│ └── Sales Contact
├── Settings
│ ├── Profile (name, phone, flat)
│ ├── Switch Society (if primary member has flats in multiple societies)
│ │ ├── Current Society: Manorama
│ │ ├── Other Societies: Prabhat Enclave, Raj Residency
│ │ └── Tap to switch → App reloads with selected society data
│ ├── Change PIN
│ ├── Notification Settings
│ └── App Settings
└── Help & Support
├── FAQ
├── Contact Building Manager
└── Report Bug
FAMILY MEMBER APP (Tab Bar — 5 tabs)
│
├── Home Tab
│ ├── Greeting header
│ ├── Gate Access Card (Open Gate button)
│ ├── Recent Notices (scrolling)
│ ├── Quick Actions
│ │ ├── Report Issue
│ │ └── View Documents
│ └── PJ Showcase Banner
│
├── Maintenance Tab
│ ├── My Requests (list)
│ ├── New Request (same flow as primary)
│ └── Request History
│
├── Amenities Tab
│ ├── Available Amenities List
│ │ ├── Terrace
│ │ ├── Gym Hall
│ │ ├── Conference Room
│ │ ├── Cafe Area
│ │ └── Yoga Desk
│ ├── Book Amenity
│ │ ├── Select Date
│ │ ├── Number of Guests
│ │ └── Submit → Status
│ └── My Bookings
│ ├── Upcoming (Pending/Confirmed)
│ └── Past
│
├── Gate Tab
│ ├── Open Gate Button
│ ├── Gate Access History
│ ├── Pre-Approve Visitor
│ └── SOS Alert (Trigger / Disable)
│
└── More Tab
├── Documents
├── PJ Showcase
├── Settings
│ ├── Profile
│ ├── Change PIN
│ └── Notification Settings
└── Help & Support
NOTE: Family Member can add :
├── Add/edit helpers
└── Add/edit members
HELPER APP (Simplified — 2 tabs)
│
├── Home Tab
│ ├── Helper name & photo
│ ├── Assigned Flats (list — can work in multiple flats)
│ │ ├── Flat A-101 (Rajesh Sharma)
│ │ ├── Flat B-205 (Amit Patel)
│ │ └── Flat C-302 (Ravi Kumar)
│ ├── Today's Status
│ │ ├── Check In button (tap to check in)
│ │ ├── Check Out button (tap to check out)
│ │ └── Current status: Not Checked In / Checked In at 9:15 AM
│ ├── Gate QR Code (for entry)
│ └── Attendance History (last 7 days)
│
└── Profile Tab
├── Name
├── Phone number
├── Assigned Flats (list)
├── Work schedule (Mon-Sat)
└── Logout
NOTE: Helper app is minimal — only gate access + attendance.
No access to notices, maintenance, amenities, or any other features.
Helper can work in multiple flats — notifications go to all assigned flats on check-in/out.
GUARD APP (Tab Bar — 5 tabs)
│
├── Dashboard Tab
│ ├── Active Visitors count
│ ├── Currently on premises
│ ├── Pending approvals
│ ├── Gate status (Online/Offline)
│ ├── SOS status (Active/Inactive)
│ └── Rush Hour Mode toggle
│
├── Visitors Tab
│ ├── Pre-Approved List
│ │ ├── Visitor name & flat
│ │ ├── QR code status
│ │ └── Approve/Deny button
│ ├── Walk-In Requests
│ │ ├── Enter visitor details
│ │ ├── Select flat number
│ │ └── Send approval request to resident
│ ├── Delivery / Service Personnel (NO APPROVAL REQUIRED)
│ │ ├── Enter delivery details
│ │ │ ├── Name
│ │ │ ├── Phone number
│ │ │ ├── Delivery type (Food/Package/Courier/Other)
│ │ │ └── Company name (optional)
│ │ ├── Select flat(s) for delivery
│ │ │ ├── Single flat delivery
│ │ │ └── Multiple flat delivery (select multiple flats)
│ │ ├── Notify only — NO approval needed
│ │ ├── Push notification to selected flat(s):
│ │ │ └── "[Delivery Boy Name] from [Company] is at the gate for delivery"
│ │ ├── Log entry time
│ │ └── Log exit time when delivery person leaves
│ ├── Currently on Premises
│ │ ├── Visitor list with check-in time
│ │ └── Check-Out button
│ └── Visitor History (today)
│
├── Gate Tab
│ ├── Open Gate (manual override)
│ ├── Emergency Lockdown button
│ ├── Gate Access Logs (today)
│ └── SOS Trigger / Disable
│ ├── Trigger SOS (double confirmation)
│ └── Disable SOS (when active)
│
├── Search Tab
│ ├── Search Resident
│ │ ├── Search by name
│ │ ├── Search by flat number
│ │ ├── Search by tower
│ │ └── Results: Name, Flat, Phone, Photo
│ ├── Search Helper
│ │ ├── Search by name
│ │ ├── Search by assigned flat
│ │ └── Results: Name, Assigned Flats, Status
│ └── Search Visitor
│ ├── Search by visitor name
│ ├── Search by flat visited
│ └── Results: Name, Flat, Check-in time, Status
│
└── More Tab
├── Guard Activity Log
├── Rush Hour Settings
├── Emergency Contacts
├── Settings
│ ├── Profile
│ └── Notification Settings
└── Help & Support
BUILDING MANAGER APP (Tab Bar — 5 tabs)
│
├── Home Tab
├── Society health summary
├── Pending maintenance requests count
├── Active visitors today
├── Guard activity status
├── Recent notifications
└── Quick Actions
├── Send Notice
├── View Residents
└── Gate Logs
├── Residents Tab
├── Search bar (name/flat/tower)
├── Resident list
│ ├── Name, flat, role badge
│ ├── Contact info
│ └── View profile
├── Add New Resident
└── Resident detail
├── Family members
├── Helpers
├── Gate access history
└── Maintenance requests
├── Maintenance Tab
├── All Requests (filtered by status)
│ ├── Open
│ ├── In Progress
│ └── Completed
├── Assign to Team Member
├── Request Detail
│ ├── Issue description & photos
│ ├── Priority & category
│ ├── Assigned team member
│ └── Status history
└── Reports
├── Average resolution time
├── Requests by category
└── Team performance
├── Gate Tab
├── Visitor entries today
├── Guard activity log
├── Rush hour mode status
├── Helper registration
│ ├── Link helpers to biometric
│ └── Approve helper requests
└── Search historical logs
└── More Tab
├── Send Notice
│ ├── Create notice
│ ├── Target (All/Tower/Flat)
│ └── Publish
├── Create Poll
├── Documents
├── Settings
└── Help & Support
PJA SUPER ADMIN APP (Tab Bar — 5 tabs)
│
├── Home Tab
│ ├── Multi-project overview cards
│ │ ├── Manorama (Healthy)
│ │ ├── Prabhat Enclave (Attention)
│ │ └── Raj Residency (Healthy)
│ ├── Quick stats
│ │ ├── Total users
│ │ ├── Open requests
│ │ └── Visitors today
│ ├── Recent activity feed
│ └── Alerts & notifications
│
├── Projects Tab (VIEW ONLY)
│ ├── Project list
│ ├── Project detail
│ │ ├── Stats (users, requests, visitors)
│ │ ├── Feature status (view only — controlled via web portal)
│ │ │ ├── Gate Access: Active/Inactive
│ │ │ ├── Maintenance: Active/Inactive
│ │ │ ├── Notice Board: Active/Inactive
│ │ │ ├── Polls: Active/Inactive
│ │ │ ├── Helper Attendance: Active/Inactive
│ │ │ ├── Amenity Booking: Active/Inactive
│ │ │ └── SOS Alert: Active/Inactive
│ │ └── Quick stats
│ └── Note: "To modify, use the Web Portal"
│
├── Residents Tab (VIEW ONLY)
│ ├── Search across all projects
│ ├── Resident list (project badge)
│ ├── Resident detail
│ │ ├── Profile info
│ │ ├── Family members
│ │ ├── Helpers
│ │ └── Activity history
│ └── Note: "To manage users, use the Web Portal"
│
├── Maintenance Tab (VIEW ONLY)
│ ├── All requests across projects
│ ├── Filter by project/priority/status
│ ├── Request detail
│ └── Note: "To assign team, use the Web Portal"
│
└── More Tab
├── Settings Status (VIEW ONLY)
│ ├── Application Level Status
│ │ ├── Gate Access Module: Active/Inactive
│ │ ├── Maintenance Module: Active/Inactive
│ │ ├── Notice Board Module: Active/Inactive
│ │ ├── Polls Module: Active/Inactive
│ │ ├── Helper Attendance Module: Active/Inactive
│ │ ├── Amenity Booking Module: Active/Inactive
│ │ └── SOS Alert Module: Active/Inactive
│ ├── Role Level Status
│ │ ├── Building Manager: Enabled/Disabled
│ │ ├── Security Guard: Enabled/Disabled
│ │ ├── Maintenance Head: Enabled/Disabled
│ │ └── Maintenance Member: Enabled/Disabled
│ ├── Permission Level Status
│ │ ├── SOS Trigger Access: Granted/Revoked
│ │ ├── Amenity Management: Granted/Revoked
│ │ ├── Notice Management: Granted/Revoked
│ │ ├── Poll Management: Granted/Revoked
│ │ ├── Maintenance Management: Granted/Revoked
│ │ └── Gate & Security Management: Granted/Revoked
│ └── Feature Level Status
│ ├── Gate Access: IoT, QR, PIN, Rush Hour
│ ├── Maintenance: Photo, Categories, Priority, Rating
│ ├── Notice Board: Rich Text, Attachments, Targeting, Read Receipts
│ ├── Polls: Options, Deadline, One-Vote, Results
│ ├── Helper: Biometric, Multi-Flat, Reports
│ ├── Amenities: Terrace, Conference, Cafe, Yoga, Gym
│ └── SOS: Trigger Roles, Recipients, Audit
│ └── Note: "To modify settings, use the Web Portal"
├── Notices (VIEW ONLY)
│ ├── View notices across projects
│ └── View engagement metrics
├── Polls (VIEW ONLY)
│ ├── View polls across projects
│ └── View participation/results
├── Amenities (VIEW ONLY)
│ ├── View bookings across projects
│ └── View analytics
├── PJ Showcase (VIEW ONLY)
│ ├── View content
│ └── View analytics
├── Analytics (VIEW ONLY)
│ ├── Gate usage trends
│ ├── Attendance reports
│ └── Maintenance analytics
├── Documents (VIEW ONLY)
│ ├── View documents
│ └── View categories
├── Audit Logs (VIEW ONLY)
│ ├── View all actions
│ └── Filter by user/project
└── Help & Support
CHAIRMAN/SECRETARY/TREASURER APP (Tab Bar — 5 tabs)
│
├── Home Tab
├── Society health summary
├── Active residents count
├── Pending maintenance requests
├── Recent activity feed
├── Quick Actions
│ ├── Send Notice
│ ├── Create Poll
│ ├── View Bookings
│ └── Documents
└── Notifications
├── Notices Tab
├── Active Notices (published)
├── Draft Notices
├── Create New Notice
│ ├── Title
│ ├── Content (rich text)
│ ├── Category (Maintenance/Events/General)
│ ├── Priority (Normal/Important)
│ └── Target (All/Tower/Flat)
├── Notice Detail
│ ├── View engagement (% viewed)
│ └── Edit/Delete
└── Notice Archive
├── Polls Tab
├── Active Polls
│ ├── Question
│ ├── Participation rate
│ └── Time remaining
├── Create New Poll
│ ├── Question
│ ├── Options (2-5)
│ ├── Deadline
│ └── Target (All/Group)
├── Poll Detail
│ ├── Real-time results (bar charts)
│ ├── Participation list
│ └── Close Poll
└── Poll History
├── Amenities Tab
├── Pending Bookings ( awaiting approval)
│ ├── Resident name & flat
│ ├── Amenity & date
│ ├── Guest count
│ └── Approve/Reject button
├── Upcoming Bookings
├── Past Bookings
├── Configure Amenities
│ ├── Terrace
│ ├── Conference Room
│ ├── Cafe Area
│ ├── Yoga Desk
│ └── Gym Hall
│ ├── Operating hours
│ ├── Capacity
│ └── Block dates
└── Booking Analytics
└── More Tab
├── SOS Trigger / Disable
│ ├── Trigger SOS (double confirmation)
│ └── Disable SOS (when active)
├── Documents
│ ├── Upload
│ ├── Categories (Financial/Legal/Policies)
│ └── Access control
├── Resident Directory
│ ├── Search by flat/tower/name
│ ├── View contact details
│ └── View family members
├── Meeting Minutes
│ ├── Create minute
│ ├── Action items
│ └── Archive
├── Settings
│ ├── Profile
│ ├── Notification Preferences
│ ├── Committee Members
│ └── Society Configuration
└── Help & Support
MAINTENANCE TEAM APP (Tab Bar — 2 tabs: Home + Profile)
Maintenance Head View:
│
├── Home Tab
│ ├── ALL open requests (across all projects)
│ ├── In-progress tasks (all members)
│ ├── Completed tasks
│ ├── Assign Task
│ │ ├── Select maintenance member
│ │ ├── Set priority
│ │ └── Add notes
│ ├── Reassign Task
│ └── Notifications
│
└── Profile Tab
├── My Info
├── Task History
├── Team Performance
└── Help & Support
Maintenance Member View:
│
├── Home Tab
│ ├── My assigned tasks (only)
│ ├── In-progress tasks
│ ├── Completed tasks
│ ├── Task Detail
│ │ ├── Flat & resident info
│ │ ├── Issue description & photos
│ │ ├── Category & priority
│ │ ├── Update Status
│ │ │ ├── Mark as "In Progress"
│ │ │ ├── Upload completion photo
│ │ │ ├── Add work notes
│ │ │ └── Mark as "Completed"
│ │ └── History of similar issues
│ └── Notifications
│
└── Profile Tab
├── My Info
├── My Task History
├── My Performance
│ ├── Tasks completed
│ ├── Avg resolution time
│ └── Resident ratings
└── Help & Support
| Error | User Message | Action |
|-------|--------------|--------|
| Device not registered | "This device is not authorized. Please register through your primary member." | Guide to registration |
| PIN incorrect | "Incorrect PIN. Please try again." (3 attempts then lockout) | Security alert after 3 failures |
| IoT offline | "Gate system is currently offline. Please use manual entry." | Guard notified |
| WiFi down | "Network unavailable. Gate operates in manual mode." | Physical buttons work |
| Error | User Message | Action |
|-------|--------------|--------|
| Photo capture fails | "Could not capture photo. Please try again or submit without photo." | Allow text-only submission |
| Category not selected | "Please select a category before submitting." | Form validation |
| Network timeout | "Request timed out. Your request has been saved and will be submitted when connection is restored." | Queue for retry |
| Error | User Message | Action |
|-------|--------------|--------|
| Push notification fails | Silent failure | SMS fallback for critical notices |
| DND enabled | Notice respects DND (except SOS) | Queue for later delivery |
---
| Feature | Accessibility |
|---------|---------------|
| Gate Open Button | Large, high-contrast, minimum 48x48dp touch target |
| Text | Minimum 16sp font size, high contrast ratios |
| Icons | Always accompanied by text labels |
| Language | English + Hindi (Phase 1), Marathi + Kannada (Phase 2) |
| Screen Reader | Full support for TalkBack (Android) and VoiceOver (iOS) |
| Elderly Users | Simplified UI option, larger fonts, minimal steps |
| Offline Mode | Gate access works offline (cached credentials) |
---
> ⚠️ PENDING — Need to discuss and update. Data flow diagrams are currently draft and subject to revision based on final architecture decisions.
Resident App → API Server → MQTT Broker → ESP32 Controller → Gate Motor
│ │ │
│ │ └──→ Status Update
│ │
│ └──→ Audit Log (PostgreSQL)
│
└──→ Push Notification (FCM/APNs)
Resident App → API Server → PostgreSQL
│ │
│ ├──→ Notification to Building Manager
│ ├──→ Notification to Maintenance Team
│ └──→ Status Updates (real-time)
│
└──→ Photo Storage (S3)
Biometric Device → REST API → API Server → PostgreSQL
│ │
│ ├──→ Notification to Primary Member
│ └──→ Attendance Log
│
└──→ Local Storage (device-side, syncs when online)