2.1 - Organisation admin - RBAC panel
Admin wireframes
Desktop-first because admins work at desks, shown at all three breakpoints - 375 px phone, 768 px tablet, 1280 px desktop. The desktop frame is the primary; on tablet the sidebar collapses to a condensed icon rail, and on mobile it becomes a hamburger plus bottom sheet for on-the-go moderation. Three role types - super-admin , moderator , support - with strict CRUD scoping. Six screens covered: RBAC matrix , dashboard , users CRUD , listing moderation , order management , dispute review .
RBAC matrix
Dashboard
Users CRUD
Listing moderation
Order management
Dispute review
Driver approvals
Driver payouts
Dispute v1.1
Role-based access control - permissions reference
Three admin roles plus the two end-user roles. Stored in users.role as an enum. The PHP requireRole() middleware checks every admin route. Greens are full access, yellow is read-only, blank is denied.
Capability
Buyer
Seller
Support
Moderator
Super-admin
Browse listings
yes
yes
yes
yes
yes
Place order
yes
yes
-
-
-
Create listing
-
yes
-
-
-
View other users' orders
-
-
read
yes
yes
Approve / reject listings
-
-
-
yes
yes
Resolve disputes (refund / release)
-
-
-
yes
yes
Suspend / delete users
-
-
-
susp.
yes
Create / promote admins
-
-
-
-
yes
View audit log
-
-
own
yes
yes
Configure platform settings
-
-
-
-
yes
How it's enforced: every admin PHP route starts with requireRole(['super-admin','moderator']). Failing the check throws HTTP 403 and writes to audit_log. The matching navigation links are also hidden client-side based on $_SESSION['user']['role'] - but the server check is the only real gate.
Settings - roles screen at all three breakpoints
The same role manager rendered for each device. Desktop shows the full grid, tablet condenses to the two scopes that matter on a smaller screen, mobile drops to one role card at a time with a bottom sheet for navigation.
Mobile - 375px
9:41 * * *
Pick a role to view scope
Super-admin Full access - all 11 capabilities.
Moderator Approve listings, resolve disputes, suspend users.
Support Read-only on orders and audit. No money actions.
Seller Create listings, manage own orders.
Buyer Browse, place orders, raise disputes.
Tablet - 768px
Roles super
Capability - Support / Moderator / Super
Capability
Sup
Mod
Super
Approve listings
-
yes
yes
Resolve disputes
-
yes
yes
Suspend users
-
susp.
yes
Create admins
-
-
yes
View audit log
own
yes
yes
Desktop - 1280px
m2y.online/admin/settings.php?tab=roles
me2you / settings / roles
super-admin
Role manager
Capability
Buyer
Seller
Support
Moderator
Super-admin
Approve listings
-
-
-
yes
yes
Resolve disputes
-
-
-
yes
yes
Suspend users
-
-
-
susp.
yes
Create admins
-
-
-
-
yes
View audit log
-
-
own
yes
yes
Admin dashboard - 3 layouts
A - KPI tiles + queue Top: 4 KPI tiles. Below: "needs your attention" queue.
B - Dense ops view Wide table, KPIs squeezed into the header. For power moderators.
C - Mobile triage Single-column action card stack: 3 things to do right now.
A - KPI + queue - all three breakpoints
Mobile - 375px
9:41 * * *
Morning, Thandi
Needs attention
Dispute #4612 Power drill
Listing "iPhone 15 R200"
User Nomsa K - KYC pending
Dash
Users
Listings
Orders
Disp3
Tablet - 768px
Dashboard super
Dash
Users
List
Order
3
Disp
Good morning, Thandi
Last 30 days
Needs your attention
Disp #4612 Power drill Open
List iPhone 15 R200 Open
User Nomsa K - KYC Open
Desktop - 1280px
m2y.online/admin/dashboard.php
Me2You / admin
super-admin Thandi N. v
Overview
Dashboard
Manage
Users
Listings
Orders
Disputes 3
System
Audit log
Settings
Active users
2 481
up 12% vs last mo
Active listings
5 829
up 4%
Open disputes
3
down from 7
Orders this month 412 orders
Top categories
Electronics 38%
Clothing 22%
Home 18%
Tools 12%
Other 10%
Needs your attention 7 items in queue
Type Item Reported Action
Dispute #4612 - Power drill (R 600.00) 2 days ago Review
Listing "iPhone 15 R200" - possible scam 3 hr Inspect
Listing "School uniform" - duplicate flag x3 5 hr Inspect
User Nomsa K. - KYC pending 1 day Verify
B - Dense ops queue - all three breakpoints
Mobile - 375px
9:41 * * *
3 things to do today
Dispute - 2 days old
#4612 Power drill (R 600.00)
Buyer claims item not received.
Refund Release Info
Listing flagged
"iPhone 15 R200"
Possible scam - 3 reports.
Take down Allow
User KYC
Nomsa K.
ID upload pending review.
Approve Reject
Dash
Users
Listings
Queue
More
Tablet - 768px
Queue mod
ID Type Subject
#4612 disp Power drill - not received Open
#L2188 list iPhone 15 R200 - scam? Open
#L2174 list School uniform - dup x3 Open
#U882 user Nomsa K - KYC pending Open
#4598 disp Microwave - damaged Open
Desktop - 1280px
m2y.online/admin/queue.php
me2you
Users 2 481 - Listings 5 829 - GMV R 412k - Open 3
moderator
Moderation queue All Listings Disputes Users
ID Type Subject Reporter Aged Action
#4612 disp Power drill - not received buyer 2d Open
#L2188 list iPhone 15 R200 - scam? system 3h Open
#L2174 list School uniform - dupx3 userx3 5h Open
#U882 user Nomsa K. - KYC pending system 1d Open
#L2160 list "Cigs" - prohibited goods system 6h Open
#4598 disp Microwave - damaged in transit buyer 3d Open
#U840 user Sipho M. - bank verify self 2d Open
Users - CRUD - full table + edit drawer + create form
User list - all three breakpoints
Mobile - 375px
9:41 * * *
Search by email...
All 2 481 Sellers 540 Susp 14
Sipho Mokoena active
sipho@example.co.za - seller
Nomsa Khumalo active
nomsa@example.co.za - buyer
Themba Dlamini suspended
themba@example.co.za - seller
+ New user
Dash
Users
Listings
Orders
More
Desktop - 1280px
m2y.online/admin/users.php
Dashboard
Users
Listings
Orders
Disputes
Audit log
Users - 2 481
Search by email...
All roles
+ New user
All 2 481 Buyers 1 920 Sellers 540 Admins 21 Suspended 14
Name Email Role Status Joined Actions
Sipho Mokoena sipho@example.co.za seller active Mar 2025 Edit ...
Nomsa Khumalo nomsa@example.co.za buyer active Apr 2025 Edit ...
Themba Dlamini themba@example.co.za seller suspended Jan 2025 Edit ...
Lerato Phiri lerato@example.co.za buyer active May 2025 Edit ...
Thandi Ndlovu admin@m2y.online admin active Jan 2025 Edit ...
Showing 1-5 of 2 481 < 1 2 3 >
Edit user - all three breakpoints
Mobile - 375px
9:41 * * *
Full name
Nomsa Khumalo
Email
nomsa@example.co.za
Role
buyer
Status
active suspended
KYC verified
verified ID 12 May
Tablet - 768px
m2y.online/admin/users.php?edit=882
Users super
Sipho M. seller act
Nomsa K. buyer act
Edit - #882 x
Full name
Nomsa Khumalo
Role
buyer
Status
active suspended
Desktop - 1280px
m2y.online/admin/users.php?edit=882
me2you super-admin
Name Email Role Status
Sipho Mokoena sipho@... seller active
Nomsa Khumalo nomsa@... buyer active
Edit user - #882 x
Full name
Nomsa Khumalo
Email
nomsa@example.co.za
Role
buyer v
Status
active suspended deleted
KYC verified
verified via ID 12 May
Notes (admin only)
Reset password 3x last week.
Delete user (soft)
Listing moderation - queue + detail review
Review a flagged listing - all three breakpoints
Mobile - 375px
9:41 * * *
iPhone 15 - R 200.00
scam likely 3 hr old
listing photo
Seller
"FastDeals22" joined 2 days ago - 0 sales
Risk signals
price < 5% market off-platform CTA
Audit note (required)
High-value item 99% below market.
Tablet - 768px
Moderation mod
iPhone 15 - R 200.00
3 reports
photo
"Brand new iPhone 15 sealed for R200. WhatsApp me."
price < 5% off-platform
Recommended: reject
Desktop - 1280px
m2y.online/admin/listings.php?id=2188
me2you / moderation / #L2188
moderator
Dashboard
Users
Listings
Orders
Disputes
Queue (12)
"iPhone 15 R200"
3 reports - scam suspected
"School uniform M"
3x duplicate flag
"Cigs box"
prohibited goods
"Power drill"
image quality
Listing #L2188 - created 3 hr ago
iPhone 15 - R 200
3 reports scam likely
listing photo
Description (provided by seller)
"Brand new iPhone 15 256GB sealed box for R200 only. Limited stock. WhatsApp me for fast delivery."
Seller
"FastDeals22" joined 2 days ago - 0 sales - 0 reviews
new account
System risk signals
price < 5% market brand-new + huge discount off-platform CTA (WhatsApp) brand-new account
Recommended action Reject - high-confidence scam pattern.
Approve
Request edit
Reject & warn
Audit note (required if rejecting)
Brand-new high-value item priced 99% below market + off-platform CTA. Pattern matches phishing seller cluster.
Order management - list + detail with status workflow
Order list - all three breakpoints
Mobile - 375px
9:41 * * *
Search #order, email...
Paid 24 Dispatched 31 Disputed 3
#4821 dispatched
Nomsa K. to Sipho M. - R 2 940.00
#4820 paid
Eric L. to Lerato P. - R 450.00
#4818 disputed
Karabo M. to Themba D. - R 600.00
Dash
Users
Listings
Orders
More
Tablet - 768px
Orders mod
Paid 24 Disp 31 Done 346 Disp 3
# Parties Total Status
#4821 Nomsa to Sipho R 2 940 disp
#4820 Eric to Lerato R 450 paid
#4819 Maria to Tom R 950 done
#4818 Karabo to Themba R 600 disp
Desktop - 1280px
m2y.online/admin/orders.php
Dashboard
Users
Listings
Orders
Disputes
Orders - 412 this month
Search #order, email...
All statuses
Export CSV
Placed 8 Paid 24 Dispatched 31 Completed 346 Disputed 3
# Buyer Seller Total Status Method Aged
#4821 Nomsa K. Sipho M. R 2 940 dispatched pickup-pt 2d
#4820 Eric L. Lerato P. R 450 paid courier 5h
#4819 Maria N. Tom B. R 950 completed collect 1d
#4818 Karabo M. Themba D. R 600 disputed courier 3d
#4817 Lebo M. Sipho M. R 80 completed pickup-pt 2d
#4816 Tom B. Maria N. R 750 paid courier 8h
Order detail - Mobile - 375px
9:41 * * *
Samsung A14 + charger
Status
placed paid dispatched received
Buyer Nomsa K.Seller Sipho M.
Delivery Pargo Tembisa - PG-882104
Total R 2 940.00
Mark received
Issue refund
Order detail - Tablet - 768px
#4821 dispatched
Samsung A14 + charger
placed paid dispatched received done
Delivery Pargo Tembisa - PG-882104
Admin actions Mark received Force complete Refund
Order detail - Desktop - 1280px
m2y.online/admin/orders.php?id=4821
me2you / orders / #4821
Order #4821 - placed 2 May
Samsung A14 + charger
dispatched
Status workflow
placed
paid
dispatched
received
completed
Buyer Nomsa K. - nomsa@...
Seller Sipho M. - sipho@...
Delivery Pickup point - Pargo Tembisa - tracking PG-882104
Items
Item Qty Price
Samsung A14 1 R 2 800
Charger 1 R 80
Delivery R 60
Admin actions
Mark received
Force complete
Issue refund
Add note
Audit trail
02 May 09:12 - placed (Nomsa)
02 May 09:14 - paid (PayFast)
03 May 11:02 - dispatched (Sipho)
Dispute review - split panel
Resolve a dispute - all three breakpoints
Mobile - 375px
9:41 * * *
Buyer Seller
Buyer - Karabo M. "Item not received. Pargo says no parcel under my ref."
Seller - Themba D. "Posted via Pargo Sunday. Drop-off receipt attached."
Funds R 600.00 held - 14 days
Decision
Refund buyer (carrier loss)
Resolve & refund
Tablet - 768px
Dispute #4612 mod
Buyer - Karabo M. Item not received.
Seller - Themba D. Drop-off receipt valid.
Funds R 600.00 held - 14 days since payment.
Decision
Release to seller
Refund buyer (carrier loss)
Split 50 / 50
Resolve & refund
Desktop - 1280px
m2y.online/admin/disputes.php?id=4612
me2you / disputes / #4612
moderator
Dashboard
Users
Listings
Orders
Disputes 3
Buyer's side
Karabo M. 14 orders - 0 disputes prior
Claim - "Item not received"
"Tracking shows delivered to Pargo on Mon. I went there Tuesday - they say no parcel under my ref. The seller is ghosting me."
Evidence
Seller's side
Themba D. 42 sales - 1 dispute (won)
Response
"Posted via Pargo on Sunday. Tracking shows scanned in at hub on Mon 14:02. I have my drop-off receipt attached."
Evidence
Resolution
Funds
R 600 currently
held .
14 days since payment.
Decision
( ) Release to seller
(o) Refund buyer (carrier loss)
( ) Split 50 / 50
( ) Need more info
Reason (audit)
Pargo confirmed parcel lost in transit. Seller's drop-off receipt valid; buyer not at fault.
Resolve & refund
Action will be logged to audit_log and emailed to both parties.
Driver approvals queue (v1.1) - pending courier applications
Review & approve couriers - desktop
Desktop - 1280px
m2y.online/admin/drivers.php?status=pending
me2you / drivers / approvals
super-admin
Dashboard
Users
Listings
Orders
Disputes
Logistics (v1.1)
Drivers 5
Payouts
Pending courier applications 5 awaiting review - oldest 3 days
Pending 5 Approved 42 Rejected 7
Applicant Suburb Vehicle Submitted Status Action
Bongani N. - 074 221 0188Soweto Bakkie 3 days ago Pending
View ID View licence Approve Reject
Lerato M. - 082 415 9027Tembisa Sedan 2 days ago Pending
View ID View licence Approve Reject
Sipho K. - 071 339 4451Alex Bike 2 days ago Pending
View ID View licence Approve Reject
Thandi P. - 083 902 6610Diepkloof Hatchback 1 day ago Pending
View ID View licence Approve Reject
Themba D. - 076 014 8829Pretoria Bakkie 5 hours ago Pending
View ID View licence Approve Reject
Bongani N. - application detail Pending
Submitted documents
SA ID front
SA ID back
Driver licence
Bakkie photo
Checks
SA ID number matches ✓ pass
Licence code C1 valid ✓ pass
Vehicle disc current ✓ pass
Police clearance (manual) Pending
Decision
Approve → courier appears in driver pool, can accept jobs.
Reject → applicant emailed reason. Can re-apply after 30 days.
Reason (audit)
Documents check out. Awaiting police clearance return - approve provisionally.
Approve courier
Reject application
Driver payouts batch (v1.1) - run weekly payroll for couriers
Select earnings & run payout - desktop
Desktop - 1280px
m2y.online/admin/payouts.php?week=2026-21
me2you / payouts / week 21 of 2026
super-admin
Dashboard
Users
Orders
Disputes
Logistics (v1.1)
Drivers
Payouts 8
Pending driver earnings - week 21 19 to 25 May 2026 - 8 couriers eligible
Cycle: weekly Bank file: ABSA EFT
Trips completed
147
+18 vs last week
Eligible to pay
R 8 940.00
across 8 couriers
Platform fee (15%)
R 1 341.00
retained
Courier Trips Gross Fee 15% Net payout Bank
✓ Bongani N. - Soweto22 R 1 760.00 R 264.00 R 1 496.00 FNB ****8821
✓ Themba D. - Pretoria19 R 1 520.00 R 228.00 R 1 292.00 Capitec ****4410
✓ Lerato M. - Tembisa18 R 1 440.00 R 216.00 R 1 224.00 ABSA ****0192
✓ Sipho K. - Alex16 R 1 280.00 R 192.00 R 1 088.00 Capitec ****7716
✓ Thandi P. - Diepkloof21 R 1 680.00 R 252.00 R 1 428.00 Nedbank ****3309
Karabo R. - Diepsloot14 R 1 120.00 R 168.00 R 952.00 FNB ****2204
Maria N. - Tembisa11 R 880.00 R 132.00 R 748.00 Capitec ****5102
Tumi B. - Soweto9 R 720.00 R 108.00 R 612.00 ABSA ****6688
5 of 8 couriers selected. The bank file will be generated as payout_2026-w21.csv and uploaded to ABSA EFT for processing tonight at 18:00.
Selected total
R 6 528.00
5 payouts - ready
Dispute resolution v1.1 - evidence gallery + split-refund slider
Evidence -> split refund -> notify both parties - desktop
Desktop - 1280px
m2y.online/admin/disputes.php?id=4612&v=1.1
me2you / disputes / #4612 (v1.1)
moderator
Dashboard
Users
Listings
Orders
Disputes 3
Logistics (v1.1)
Drivers
Payouts
Dispute #4612 - escrow held Order R 600.00 - 14 days since payment - both parties responded
Held
Evidence gallery
Pargo receipt
Seller - 18 May
Tracking scan
Seller - 18 May
Empty locker photo
Buyer - 22 May
WhatsApp screenshot
Buyer - 23 May
Pargo response
Mod - 24 May
Insurance form
Mod - 25 May
Buyer - Karabo M.
Claim - "Item not received"
"Tracking shows delivered to Pargo. I went there - no parcel under my ref. Seller has gone quiet."
Seller - Themba D.
Response - "Posted as agreed"
"Dropped at Pargo Sun. Receipt and scan-in proof attached. I cannot control what happens at the courier hub."
Resolution
Funds
R 600.00 held in escrow.
Slide to split between buyer and seller.
Split refund
Buyer Seller
R 420.00 (70%) R 180.00 (30%)
100/0 70/30 50/50 30/70 0/100
Resolution note (shared)
Pargo confirmed parcel scanned in but not scanned out. Seller posted correctly so retains R 180 to cover handling. Buyer refunded R 420 from escrow. Carrier insurance claim opened.
On send: refund issued, audit_log entry written, both parties emailed and pushed in-app.
Save draft
Send to both parties