ConnectCare Knowledge Base & Operational Help
Complete documentation for ISP managers, network operations center (NOC) teams, frontline support agents, and field optical technicians. Explore features, operational governance, subfeature specifications, and technical API workflows.
Filter by Role:
All Features
Field Technician
Support Helpdesk
ISP General Manager
Platform SuperAdmin
Provides a real-time, role-aware operational workstation for triaging, assigning, and resolving broadband and fiber subscribers' complaints with dynamic SLA timers, case audit logs, and automated WhatsApp confirmations.
1. Intake (WhatsApp/Web)
→
2. Registered (Triage & SLA)
→
3. Dispatched / In Progress
→
4. Resolved & Closed
→
5. Reopened (within 48h)
1.1 Omnichannel Intake & Deduplication
Subscribers can lodge tickets via Meta WhatsApp Cloud API interactive chat, web portal registration, or direct telephone triage.
- WhatsApp Intake: Natural conversational intake prompting for issue category (No Internet, Slow Speed, Fiber Cut, Telephone Issue).
- Phone Deduplication: Automatically detects active pending tickets for the incoming phone number, preventing redundant duplicate records.
- Unique Ticket Identifier: Generates formatted cryptographically unique tickets (`CC-XXXXXXXX`).
1.2 4-Stage Ticket Lifecycle Workflow
Tickets progress through 4 strictly governed operational states:
| State | Trigger / Action | Authoritative Role | Audit Impact |
Registered | Customer submits issue via WhatsApp or Web | System / Helpdesk | SLA countdown starts |
Work in Progress | Engineer claims or manager assigns work order | Field Tech / Manager | Moves out of unassigned queue |
Closed | Technician submits resolution summary & photo | Field Tech / Supervisor | Triggers WhatsApp closure notice |
Reopened | Customer replies REOPEN within 48 hours | Subscriber via WhatsApp | Reactivates with chronic alert flag |
1.3 Dynamic SLA Countdown & MTTR Intelligence
Every complaint is stamped with tenant-configured SLA hours (default 24h).
- Live Visual Countdown: Green pill (>12h remaining), Amber pill (4h–12h remaining), Red Overdue pill (<0h).
- Mean Time to Restore (MTTR): Real-time calculation of elapsed minutes from ticket creation to final resolution.
1.4 Chronic Customer Flap Intelligence
ConnectCare automatically flags frequent complaint patterns ($\ge 3$ tickets in the last 30 days) for the same telephone number or account.
⚠️
Chronic Alert Display: "Subscriber has raised 4 complaints in the last 30 days. Average MTTR: 6.2 hours. Prior action: Fiber spliced at pole 2." Splicing crews are alerted to perform root-cause cable overhaul rather than temporary patching.
1.5 Automated WhatsApp Closure & Reopen Advisories
Upon status transition to
Closed, ConnectCare immediately dispatches an automated WhatsApp notice:
Your complaint CC-7B980F9E has been closed.
Resolution: Optical connector re-terminated. Signal: -19.4 dBm.
If your issue is resolved, no action is needed.
If you still need help, reply REOPEN within 48 hours.
AI-driven geo-anomaly clustering detects localized distribution fiber cuts and equipment failures, auto-links incoming subscriber complaints, and broadcasts mass restoral alerts.
2.1 Geo-Spike Anomaly Detection Algorithm
When $\ge 5$ complaints occur within the same geographical sector (e.g. Indiranagar Sector 2) within a 60-minute rolling window, the engine automatically creates a Master Outage record (network_outages) with severity HIGH.
2.2 Master Outage Incident Console
Managers can monitor and escalate incidents through four operational states: DETECTED $\rightarrow$ INVESTIGATING $\rightarrow$ WORK_IN_PROGRESS $\rightarrow$ RESOLVED. Shows linked subscriber count and estimated restoration time (ERT).
2.3 Inbound WhatsApp Holding Notices
When a subscriber registers a complaint in an active outage area, the system intercepts the query:
💬
Automated Holding Reply: "We are aware of a service outage affecting Indiranagar Sector 2 (Outage OUT-398FA503). Our optical crew is working on restoration. Estimated restoral: 2 hours." Prevents repeated customer support calls.
2.4 One-Click Synchronized Mass Restoral
When the master outage is marked
RESOLVED:
- All linked subscriber complaints automatically transition to
Closed.
- System broadcasts a WhatsApp restoration alert to all affected subscribers.
- Delivery and read receipts are monitored live in
notifications.html.
Mobile-first technician workstation optimized for field splicing crews. Includes native Android APK wrapper, direct PIN login, shift attendance punch-in, hardware GPS premises arrival, optical power meter logging, and photo proof capture.
3.1 Native Android APK Wrapper (android-staff-app)
Packaged as a lightweight Android native wrapper (Java 17 / AndroidX WebKit):
- Full hardware Geolocation API access with high-accuracy GPS fix.
- HTML file input bridge supporting native Camera capture and gallery selection.
- Persistent session management across app restarts via
CookieManager.flush().
3.2 Mobile Number, WhatsApp OTP & Personal PIN Setup
Technicians authenticate rapidly using their registered mobile number and a secure 4-digit PIN:
- Automated WhatsApp OTP Provisioning: When a manager adds an engineer in
tenants.html, a 6-digit OTP (valid 24h) is automatically generated and dispatched via WhatsApp.
- First-Time Login PIN Setup: The technician verifies the OTP on
login.html and configures their personal 4-digit PIN (hashed with bcrypt, setting pin_set = 1, and clearing the OTP).
- Self-Service Reset & In-Workstation Change: Technicians can request a 15-minute OTP to WhatsApp anytime from the login page or update their PIN in
technician.html via the "🔑 PIN" header button.
3.3 Daily Shift Attendance Punch-In / Punch-Out
Technicians start their shift by tapping
"⚡ Punch In" in the topbar. All attendance records are logged to
engineer_attendance_logs.
⚡
Policy Enforcement: If tech_require_punch_in = 1, off-duty technicians are barred from claiming or servicing tickets until punched in.
3.4 Unassigned Work Order Self-Claim Queue
Technicians can view open, unassigned tickets in their sector and claim them with one tap (
"✋ Claim & Assign to Me").
- Concurrency Guard: Rejects claim if technician currently holds active jobs $\ge$
tech_max_concurrent_wip (HTTP 429).
- Peer Hijack Protection: Strictly forbids technicians from reassigning or claiming tickets already allocated to another technician (HTTP 403).
- Audit Logging: Inserts
TICKET_CLAIMED record into engineer_attendance_logs and logs assignment case note.
3.5 Hardware GPS Customer Premises Arrival Check-In
Eliminates "phantom closures" by requiring on-site arrival verification:
- Technician taps "📍 GPS Check-In at Premises".
- Browser/Android acquires hardware coordinates (`latitude`, `longitude`, `accuracy_meters`).
- Database updates
premises_arrived_at = CURRENT_TIMESTAMP.
3.6 Optical Signal Power (dBm) Verification Gate
Before marking a fiber ticket resolved, technician inputs measured optical power level:
| Range (dBm) | Status | Signal Quality | Workstation Display |
| -15.0 to -24.0 dBm | Optimal | GPON Standard Compliant | Green Optimal Badge |
| -24.1 to -27.0 dBm | Marginal | High Attenuation / Micro-bend | Amber Warning Badge |
| < -27.0 or > -8.0 dBm | Critical | Line Degraded / Saturated | Red Alert Badge |
3.7 Proof-of-Resolution Photo Upload & Dual Compression (≤100KB)
Captures photo evidence of ONT status LEDs, power meter reading, or splice closure:
- Client Canvas Scaling: Compresses multi-megapixel camera shots to max $1280 \times 960$ and dynamically tunes JPEG quality to guarantee file size is strictly under $100\text{ KB}$.
- Server-Side Safety Recompression: PHP verifies file size and stores asset to AWS S3 / local upload directory.
Gives managers granular, 1-click control over frontline field staff behavior, visibility scopes, concurrency ceilings, and mandatory operational verification gates.
4.1 Closed Ticket History Visibility (tech_can_view_closed)
Controls whether technicians see the "Closed Today" tab and resolution history. When disabled, closed tickets are filtered out from API responses.
4.2 Unassigned Ticket Self-Dispatch (tech_can_claim_unassigned)
Enables or disables frontline self-dispatch. When disabled, unassigned tickets must be manually dispatched by a manager or helpdesk supervisor.
4.3 Peer WIP Queue Visibility (tech_can_view_peer_wip)
Controls whether technicians can view fellow technicians' active tickets in the "Team Queue" tab to facilitate cooperative assistance during fiber cuts.
4.4 Work-In-Progress Concurrency Cap (tech_max_concurrent_wip)
Configurable slider (1 to 10 jobs, default 3). Prevents aggressive technicians from claiming excess tickets and inflating customer wait times.
4.5 1-Click Operational Presets
Managers can instantly switch operational postures:
- ⚡ Swarm Profile: High autonomy; open discovery, peer visibility ON, max concurrency = 5.
- ⚖️ Balanced Hybrid (Recommended): Self-claim ON, peer WIP OFF, concurrency = 3, shift punch-in & GPS arrival mandatory.
- 🔒 Strict Dispatcher: Zero self-dispatch, central dispatch only, concurrency = 1, mandatory GPS & optical dBm verification.
4.6 Configurable Connectivity Diagnostic Target Domain
Managers can configure a custom speedtest probe domain or regional peering CDN endpoint (connectivity_test_domain) in tenant settings.
Guarantees strict tenant data isolation, global SuperAdmin management authority, customizable branding, and immutable audit logs tracking who created users and granted permissions.
5.1 Strict Account & Tenant Boundary Isolation
Email addresses and telephone numbers associated with a tenant account can strictly access only data belonging to that tenant. Cross-tenant queries are blocked at the database PDO query level (`WHERE tenant_id = :tenant`).
5.2 SuperAdmin Global Jurisdiction & Tenant Switcher
Platform SuperAdmins possess global jurisdiction across all ISP tenants. The navigation header includes a live Tenant Switcher (`POST /api/auth/switch-tenant.php`) allowing seamless context switching.
5.3 Immutable Permission Audit Trail (user_permission_audit_logs)
Maintains an immutable audit log recording every permission grant, role modification, or user creation:
| Field | Description | Example |
actor_id | ID of manager/admin granting permission | 1 (sameer shah) |
target_user_id | User receiving role or status update | 3 (Raju) |
action_type | USER_CREATED, ROLE_GRANTED, PIN_RESET | ROLE_GRANTED |
details | JSON diff of old vs new role and client IP | {"old":"SUPPORT_AGENT","new":"TENANT_ADMIN"} |
created_at | Exact UTC timestamp of permission event | 2026-09-30 15:31:00 |
5.4 AWS S3 Attachment Storage & Compression
Stores resolution photos and diagnostic attachments in partitioned AWS S3 buckets:
s3://connectcare-attachments/{tenant_id}/{ticket_number}/ with automatic local disk failover fallback.
5.5 Future: Meta Embedded Signup (Facebook Login for Business)
Enables zero-touch self-service tenant onboarding where new ISPs connect their WhatsApp Business Account (WABA) in seconds via Meta's Embedded Signup popup without manual API key entry.
5.6 Field Engineer Provisioning & WhatsApp OTP Onboarding
Managers provision field staff with automatic 6-digit OTP generation and WhatsApp dispatch. The directory reflects PIN status (PIN Active or Pending PIN Setup) and provides a "📲 Resend OTP" button to issue fresh codes anytime.
5.7 Staff Account Disablement & Google SSO Approval Governance
- Instant Account Disablement: Tenant and SuperAdmins can toggle staff accounts active or inactive (
is_active = 0). Deactivated users are immediately barred from logging in or claiming work orders.
- Unassigned Google SSO Users: A Google account that has not been provisioned enters onboarding with no tenant assignment; it is not added to
Default. The user can request access to an existing organization by selecting a tenant and role. The inactive PENDING request is visible in that tenant's approval queue only; after approval, the account belongs to that tenant. A user can instead register a new organization and become its initial tenant administrator.
- Tenant-Scoped Workforce: The staff directory, complaint assignee list, attendance data, and engineer notifications follow the active tenant. Engineers registered under
Default are not shared with Apex, Sandy City, or other tenants.
- Split-Host Seamless Navigation: Cross-host OAuth redirects dynamically resolve between the web portal (
radhicorp.net) and API domain (api.radhicorp.net) with Apache fallback routing to ensure zero broken links.
5.8 Meta WhatsApp Cloud API v26.0 Integration & "Test-and-Save" Governance
- "Test and Save. Not Save and Test" Principle: Administrative credential checks are strictly non-mutating pre-flight dry runs. Clicking "⚡ Auto-Retrieve & Validate Meta IDs" tests the System User Token and Phone ID against Meta Graph API in real time. Form fields populate on HTTP 200 OK without altering database state. Persistence occurs only when the manager explicitly clicks "Save Changes".
- Meta Graph API v26.0 Node Field Invariant: The platform queries Meta Graph API using
v26.0. In v26.0, whatsapp_business_account is the parent container node and cannot be requested on a Phone Number node (GET /{phone_id}); doing so returns error (#100) Tried accessing nonexisting field (whatsapp_business_account). Phone queries are strictly scoped to valid phone fields, while WABA metadata is resolved via token debug scopes or dedicated WABA queries.
- Meta-derived readonly WABA ID: The WABA ID is populated from Meta after the server verifies that the selected Phone Number ID belongs to the discovered WABA. It has no manual unlock control, cannot be supplied through tenant updates, and remains blank with a diagnostic message if Meta cannot confirm the relationship. The Phone Number ID and verified phone number retain their separate field controls.
- Profile Photo vs App Icon: The avatar visible to subscribers on
917922155001 is the WhatsApp Business Profile Photo configured in Meta WhatsApp Manager (or via POST /{phone_id}/whatsapp_business_profile), not the Developer App Icon on developers.facebook.com. Mobile WhatsApp clients cache profile photos aggressively; opening the contact details in WhatsApp forces an immediate client cache refresh.
- In-App WhatsApp Profile Photo Upload & Logo Synchronization: In
tenants.html, administrators can directly upload a photo file or click "🔄 Use Organization Logo" to synchronize their active organization logo with WhatsApp. ConnectCare automatically resamples and center-crops the image to an optimal 640×640 px square JPEG via PHP GD, executes Meta's Resumable Upload protocol (POST /v26.0/app/uploads → binary upload → POST /v26.0/{phone_id}/whatsapp_business_profile with profile_picture_handle), and activates the live avatar on Meta's WhatsApp CDN (pps.whatsapp.net).
- WhatsApp Business Profile Information (Category, About & Websites): Administrators can configure their public WhatsApp business listing in Step 2:
- Category / Industry (
vertical): Standardized dropdown mapped strictly to valid Meta Graph API enums (PROF_SERVICES for ISPs & Telecom Providers, OTHER, FINANCE, RETAIL, EDU, etc.) preventing Meta parameter rejections.
- About / Status Text (
about): Concise one-liner shown directly under the phone number in subscriber chat headers, enforced to max 139 characters with a real-time countdown counter.
- External Websites (
websites): Up to two external URLs (e.g. Primary Website and Customer Tracking Portal) with a 1-click "⚡ Fill Tracking URL" shortcut to automatically populate /complaint-tracking.html.
- 1-Click Meta Sync: Tap "📤 Sync Profile to Meta" to dispatch updates directly to Meta Graph API (
POST /v26.0/{phone_id}/whatsapp_business_profile) and persist them in tenant_settings.
Delivers transparent, zero-auth self-service tracking and line diagnostics empowering subscribers to verify fiber connectivity and follow repair progress in real time.
6.1 24/7 WhatsApp Conversational Bot
Subscribers can message the ISP's WhatsApp number to lodge tickets, check status, receive outage advisories, and submit 1–5 star satisfaction feedback.
6.2 Public 4-Stage Visual Progression Stepper
Lookup via ticket number + last 4 digits of phone number on
complaint-tracking.html:
- Ticket Registered & Triage
- Technician Assigned & Dispatched
- Premises Arrival & Diagnostics
- Restoration Confirmed & Closed
6.3 Browser Line Diagnostics (connectivity-test.html)
Runs browser latency, DNS, and download tests without an app. When opened from a linked ticket, the results are saved as a case note and ConnectCare also checks the subscriber's optical port against the tenant's configured OLT telemetry.
How the OLT subscriber match works: ConnectCare reads the ticket's account_number and compares it (trimmed and case-insensitive) with subscriber.username in the OLT splitter-port data. The match uses the subscriber identity, not the phone number, ticket number, address, or Wi-Fi network name.
- Find
subscriber.username in the OLT Management Tool's PON/splitter port subscriber details or its /api/platform/dashboard/pon-ports telemetry.
- If RADIUS is the source of subscriber logins, use its PPPoE username only after the NOC confirms the OLT tool exposes the same value as
subscriber.username. ConnectCare does not query RADIUS directly.
- Make sure the complaint's Account Number contains that same identifier. If the values differ or the account number is blank, the diagnostic cannot match the subscriber-specific OLT port.
- A public/unlinked diagnostic can test the browser connection, but it cannot identify a subscriber's OLT port.
OLT degraded-port scans run every 5 minutes while OLT sync is enabled. Proactive tickets and alerts are sent to staff only.
Executive decision-making console providing real-time SLA compliance tracking, technician efficiency leaderboards, CSAT sentiment scores, and mass WhatsApp broadcasts with read receipt tracking.
7.1 Technician Efficiency Leaderboard & Scorecards
Ranks field engineers by total tickets resolved, SLA compliance %, and active workload. Technicians view their personal scorecards on the dashboard.
7.2 WhatsApp Delivery & Read Receipt Tracking
Every outbound message is tracked in customer_notifications. Meta Cloud API webhooks update real-time status: SENT $\rightarrow$ DELIVERED (double checkmark) $\rightarrow$ READ (blue checkmark).
7.3 Mass Scheduled Maintenance & Outage Broadcasts
Allows managers to broadcast maintenance advisories to subscribers in specific geographical sectors with 100% tenant isolation.
Empowers regional subscribers with native-language WhatsApp self-care across English, हिन्दी (Hindi), and ગુજરાતી (Gujarati), combined with an enterprise marketing and product showcase webpage (branding.html) highlighting real, authenticated operational interfaces and simple customer workflows.
8.2 Explicit Language Confirmation & DB Persistence
Upon customer selection, the backend executes an atomic confirmation sequence:
- Sends immediate native-script acknowledgment:
- Gujarati:
✅ ભાષાની પુષ્ટિ થઈ: ગુજરાતી. તમારી પસંદગી સાચવવામાં આવી છે.
- Hindi:
✅ भाषा की पुष्टि: हिन्दी। आपकी भाषा सहेजी गई है।
- English:
✅ Language Confirmed: English. Your preference has been saved.
- Persists choice to
whatsapp_conversations.language and customer_profiles.language (Migration 024).
- Renders localized Main Menu and all submenus (Broadband issues, line test CTAs, and CSAT feedback) in the chosen script.
8.3 Dynamic Mid-Chat Language Switching
Subscribers can change their language at any time without losing ticket context or resetting active sessions:
- Selecting the
🌐 Change Language / ભાષા બદલો / भाषा बदलें row from any submenu.
- Typing keywords:
"bhasha", "language", "ભાષા", or "भाषा".
8.4 High-Converting SaaS Product Showcase (branding.html)
A responsive, dark-gradient marketing showcase page accessible at
/home.html designed for enterprise prospects and subscribers:
- Hero & Trust Badges: Multi-tenant FTTH/ISP capability, zero-auth diagnostics, WhatsApp Cloud API integration.
- Interactive Click-to-Zoom Lightbox: High-resolution authenticated screenshots inside browser window frames.
- Live Simulators: Animated Speedometer with real-time Ping/Throughput calculations, and interactive WhatsApp chat bubble vernacular switcher.
8.5 "How Customer Can Make Use of Simple UI" Guide
Integrated 3-step walkthrough educating subscribers on effortless self-service:
- Step 1: Frictionless 1-Click Access — Zero password registration; initiate support via WhatsApp or public tracking stepper.
- Step 2: Instant Line Diagnostics — Run browser latency, DNS, and speed tests with automatic case note stamping.
- Step 3: Transparent 4-Stage Stepper — Track assigned engineer name, GPS arrival, and restoration with 1-tap CSAT rating.
8.6 Authenticated UI Screenshots (Strictly ≤ 100 KB)
All UI showcase assets are captured from live authenticated sessions and quantized for rapid mobile performance:
| Showcase Section |
Asset Path |
Size |
Highlighted Operational Capabilities |
| Complaints Desk |
assets/screenshots/complaints-ui.png |
93.5 KB |
Outage radar banner, live ticket table, SLA timers, SuperAdmin tenant switcher. |
| Field Engineer Addition |
assets/screenshots/field-engineer-addition-ui.png |
96.5 KB |
Tenant table, staff directory, "+ Add Field Engineer" modal, Resend WhatsApp OTP. |
| Line Diagnostics |
assets/screenshots/connectivity-test-ui.png |
51.5 KB |
Browser ping/DNS/speed probe, 4 diagnostic telemetry cards, auto case note stamping. |
| Staff PIN Sign-In |
assets/screenshots/staff-login-ui.png |
88.9 KB |
Dual Google SSO, Staff PIN, WhatsApp first-time OTP verification & PIN reset. |
| Technician Desk |
assets/screenshots/technician-desk-ui.png |
25.9 KB |
Mobile work orders, shift punch-in, GPS premises check-in, optical dBm metering. |
Frequently Asked Questions & Operational Troubleshooting
How does a field technician claim an unassigned work order?
1. Ensure you have tapped "⚡ Punch In" at the top right of technician.html to start your shift.
2. Open the "Claim Available" tab.
3. Tap "✋ Claim & Assign to Me" on the work order.
4. The ticket will instantly move to your active queue, and status will update to Work in Progress.
Why is the "Claim Ticket" button disabled or showing "Limit Reached"?
You have reached your manager's active concurrency limit (default 3 active tickets). Complete or resolve one of your existing in-progress tickets before claiming a new one.
Why does the resolution dialog require GPS check-in?
Your ISP manager has enabled the Mandatory Customer Premises GPS Arrival Gate. Tap the "📍 GPS Check-In at Premises" button while physically at the subscriber location before resolving the ticket.
How do SuperAdmins switch tenant contexts?
SuperAdmins can use the Tenant Switcher dropdown in the top navigation bar of complaints.html or tenants.html to inspect any tenant's tickets and configurations without logging out.
How do field engineers receive their login PIN and reset it?
1. When an ISP manager adds an engineer in tenants.html, a 6-digit setup OTP is automatically dispatched via WhatsApp (valid for 24 hours).
2. The engineer opens login.html, taps "🔑 First Time Login / Reset PIN", enters the 6-digit OTP, and configures their private 4-digit PIN.
3. If an engineer forgets their PIN, they can tap "📲 Send OTP" to receive an instant 15-minute verification code on WhatsApp and reset their PIN.
4. In addition, managers can issue a fresh OTP anytime via the "📲 Resend OTP" button in the staff directory.