A step-by-step visual guide to the most common admin workflows. Select a workflow below to jump to its detailed instructions.
Broadcast real-time alerts to one or more users on the platform
From the admin dashboard sidebar, tap Notifications → Send New. The notification composer opens with recipient selection at the top.
Choose from three targeting options:
Write your notification title and body. The preview panel updates in real time so you can see exactly how it will appear on the recipient's device. Emojis and Arabic text are fully supported.
Tap Send. A confirmation dialog shows the recipient count. After sending, a success toast ✓ Delivered appears with a breakdown of delivered / failed.
Credit or debit a user's wallet with an automatic audit trail
From the sidebar, go to Finance → Wallet Balances. The wallet overview lists every user with their current balance, frozen amount, and last transaction date.
Use the search bar at the top to find a user by name, email, or phone. Tap the row or the Adjust button to open the adjustment panel.
A slide-up panel presents two options:
A confirmation summary shows the user's name, adjustment type, amount, and new balance preview. Tap Confirm to commit. The transaction is logged in the audit trail immediately.
Review submitted documents and approve or reject pending contractor profiles
From the dashboard, go to Contractors → Verification Requests. The list shows all contractors who have submitted their documents and are awaiting review, sorted by submission date.
Tap a contractor to open their verification detail page. Here you'll find:
At the bottom of the review page, two actions are available:
After approval, the contractor moves to the "Verified" tab. A green verification badge appears on their profile across the platform. The system logs the decision with your admin ID and timestamp.
Quickly toggle a user's access from the user management screen
Navigate to Users → All Users from the sidebar. The list displays all registered users with their status, role, and join date. Use the status filter to narrow down active or suspended users.
Use the search bar to find the specific user. The list filters in real time as you type. You can search by name, email, or phone number.
Tap the user's row to open their profile. Find the Account Status section and tap the toggle switch:
After confirmation, the status badge updates immediately. The audit log records the action with your admin name, timestamp, and the reason provided.
Monitor AI-powered conversations and take over manually when needed
From the sidebar, navigate to Support → AI Chat Monitor. The dashboard shows all active AI-assisted conversations. Each row displays the user, conversation duration, AI confidence score, and an escalation flag if the AI is unsure.
Tap any conversation to view the full transcript. The AI's replies are marked with a AI badge. You can scroll through the entire exchange. Pay attention to conversations with low confidence scores or user-reported issues.
If the AI is struggling or the user requests a human, tap Take Over. This shifts the conversation to manual mode. The AI stops responding and you can type directly. The user sees a "Transferred to a human agent" message.
After resolving the query, tap Resolve to close the conversation. Optionally leave a note for the AI training team. The system logs the handover reason and your resolution for future AI improvement.
Make a single API call to generate a comprehensive operational report
Go to Reports → Monthly Reports from the sidebar. The dashboard shows a list of previously generated reports with their status (pending, completed, failed).
Tap Generate New. A form appears where you select:
Tap Generate. The system makes a single API call POST /api/reports/generate with your parameters. A progress bar shows the generation status — typically takes 30–60 seconds.
Once complete, a ✓ Ready badge appears. Tap Download PDF to save the report. It includes:
POST /api/reports/generate — accepts { month: "YYYY-MM", type: "summary"|"detailed"|"financial", include_charts: boolean }. Returns a report ID and triggers async generation.