Pilot test checklist — tick each feature, mark pass/fail, and add comments.
New customer can register with name, email, phone and password
New agent can complete multi-step signup including service type and profile photo
Existing user can sign in and is routed to the correct dashboard
Session stays active after 5 hours (auto-refresh) and logs out correctly on expiry
Password reset email is received and reset flow works end-to-end
Correct time-based greeting and user's name are displayed
Status bar (time, battery, network) is visible with correct colours on all screens
All 6 service tiles display and navigate to the correct screens
Carousel auto-scrolls and manual swipe works; Book Now navigates correctly
Active booking banner appears and tapping it opens the tracking screen
Last 3 bookings listed with correct status badge; View all navigates to Bookings tab
Header shows greeting, service label, avatar with status dot, and notification bell
Toggle switches agent online/offline; status updates persist and customers can/cannot find agent
Verified agents show green shield; pending agents show amber hourglass
Total earnings card shows 70% of completed booking amounts, not the full 100%
Rating, reviews, and completed job count display correctly
Availability, My Jobs, Wallet, and Profile cards navigate to correct screens
All bookings load and display with correct status badge and amount
Tab pills filter correctly (Pending, Confirmed, In Progress, Completed, Cancelled)
Tapping a card opens the detail sheet with full booking info
Pay Now button appears for unpaid confirmed bookings and completes payment
Track Order opens the map tracking screen for active bookings
Rate Service button appears for unrated completed bookings
Pull-to-refresh updates the booking list
Agent's assigned bookings appear in the Jobs tab
Agent can accept or decline a new job request
Agent can mark a job as complete and it moves to Completed status
Paystack payment sheet opens with correct amount; successful payment confirms booking
Agent wallet shows correct available balance after completed jobs (70% share)
Last 5 transactions display with correct credit/debit direction and amounts
Agent can initiate and complete a withdrawal using OTP verification
Bar chart renders for This month / This week range; empty state shows when no data
App requests push notification permission on first launch (customer and agent)
Push token is saved to the backend after permission is granted
Agent receives push notification when a new booking is assigned
Customer receives push notification when booking status changes
Bell badge shows unread count; tapping opens the notification panel
Push alerts appear as banners even when app is in the foreground
Agent can set and update their available time slots
Agent profile shows correct service type, photo, and personal info
Online status is reflected in real-time on the customer-facing service list
Raleway font family renders correctly across all screens
All dark-header screens show the status bar icons clearly (no white-on-white)
Agent tab bar shows Home, Jobs, Wallet, Account with correct active state
Customer tab bar shows Home, Services, Bookings, Support, Account
Appropriate empty-state illustrations and CTAs show when lists are empty
Spinners / skeleton loaders appear while data is fetching
Toast or modal messages appear for network errors and invalid actions
Pull-to-refresh works on Home and Bookings screens