SASA RIDE — Software Requirements Specification (SRS)
Table of Contents
- 1 Document Information
- 2 Project Overview
- 3 User Requirements
- 4 Detailed Feature Requirements
- 4.1 Ft Auth Reg
- 4.2 Ft Auth Login
- 4.3 Ft Ai Assistant
- 4.4 Ft Ride Request
- 4.5 Ft Ride Schedule
- 4.6 Ft Delivery Service
- 4.7 Ft Location Services
- 4.8 Ft Driver Apply
- 4.9 Ft Ride History
- 4.10 Ft Promotions
- 4.11 Ft Profile Settings
- 4.12 Ft Notifications
- 4.13 Ft Vehicle Selection
- 4.14 Ft Driver Matching
- 4.15 Ft Ride Cancellation
- 4.16 Ft Order Management
- 4.17 Ft Navigation Ui
- 4.18 Ft Map Interaction
- 4.19 Ft Recent Locations
- 4.20 Ft Payment Display
- 4.21 Ft Status Indicators
- 4.22 Ft Profile Delete
- 4.23 Ft Search Functionality
- 5 Technical Requirements
- 6 External Dependencies
- 7 Release Planning
- 8 Risks Assumptions
- 9 Market Specific Considerations
- 10 Sign Off
- 11 Additional Context
1 Document Information
| Field | Value |
|---|---|
| Project Name | SASA RIDE |
| Version | 2.0 |
| Date | 2025-10-24 |
| Project Manager | Kelvin |
| Tech Lead | Ezekiel |
| Qa Lead | Tumaini |
| Platforms | ['Android', 'iOS'] |
| Document Status | Active |
2 Project Overview
2.1 What Are We Building
2.1.1 System Function
A comprehensive ride-hailing mobile application that connects passengers with drivers in Tanzania, featuring AI-powered assistance through 'Eve AI', supporting immediate rides, scheduled trips, and package delivery services
2.1.2 Users
- Passengers (requesting rides)
- Drivers (providing transportation services)
- Admins (platform management)
- Eve AI (intelligent assistant)
2.1.3 Problem Solved
Provides convenient, safe, and reliable ride-hailing and delivery services in Tanzania through a digital platform with AI assistance, localized features, and comprehensive driver verification
2.1.4 Key Success Metric
1000+ active riders and 200+ verified drivers within 3 months of launch with 95%+ ride completion rate
2.2 Scope
2.2.1 In Scope
- AI assistant (Eve AI) for user guidance and support
- Ride booking (immediate, scheduled, and delivery)
- Real-time location services and GPS tracking
- Driver onboarding with NIDA and license verification
- User authentication and profile management
- Multi-language support (English, Swahili, Spanish)
- Rating and feedback system
- Ride history and search
- Promotions and offers management
- Dark mode support
- Push notifications
2.2.2 Out Of Scope
- Corporate fleet management (Phase 1)
- International operations outside Tanzania
- Ride-sharing (multiple passengers)
- Advanced driver analytics dashboard
- In-app entertainment features
- Vehicle maintenance tracking
3 User Requirements
3.1 Authentication User Management
| Feature Code | I Want To | So That I Can | Priority | Notes |
|---|---|---|---|---|
| FT-AUTH-REG | Register using phone number or email | Create an account and book rides | Must | Phone verification required with Tanzania country code |
| FT-AUTH-LOGIN | Log into my account securely | Access my profile and book rides | Must | Support biometric authentication |
| FT-AUTH-LOGOUT | Log out of the app | Protect my account when sharing device | Must | Clear all session data |
| FT-AUTH-RESET | Reset my password via OTP | Recover access to my account | Must | SMS verification for password reset |
3.2 Core Business Features
| Feature Code | I Want To | So That I Can | Priority | Notes |
|---|---|---|---|---|
| FT-AI-ASSISTANT | Interact with Eve AI assistant | Get help with ride booking, driver application, and app guidance | Must | Natural language chatbot with pre-defined prompts and conversation history |
| FT-RIDE-REQUEST | Request an immediate ride | Get transportation to my destination now | Must | Interactive map for pickup and destination selection |
| FT-RIDE-SCHEDULE | Schedule a ride for future date/time | Plan my transportation in advance | Must | Date and time picker for future bookings |
| FT-DELIVERY-SERVICE | Send packages or items using Sasa Send | Deliver items without traveling myself | Must | Package delivery service within service areas |
| FT-LOCATION-SERVICES | Use GPS and map features for location selection | Accurately set pickup and drop-off locations | Must | OpenStreetMap integration with address search and manual selection |
| FT-DRIVER-APPLY | Apply to become a driver through the app | Start earning by providing rides | Must | Complete driver registration with NIDA, license, and selfie verification |
3.3 Additional Features
| Feature Code | I Want To | So That I Can | Priority | Notes |
|---|---|---|---|---|
| FT-RIDE-HISTORY | View and search my past rides | Track my ride history and expenses | Should | Search by location with filter options |
| FT-PROMOTIONS | View and manage promotional offers | Take advantage of discounts and special deals | Should | Active and expired offers tabs |
| FT-PROFILE-SETTINGS | Edit my profile information and app preferences (language, theme, personal info) | Keep my information current and personalize my experience | Should | Include name, gender, phone, email, avatar, rating display, language selection, dark mode, account deletion |
| FT-RATING-SYSTEM | Rate drivers and provide feedback | Share my experience and help maintain service quality | Should | Star rating system with user rating display |
| FT-NOTIFICATIONS | Receive push notifications about ride status | Stay informed about my rides and offers | Should | Notification preferences in settings |
4 Detailed Feature Requirements
4.1 Ft Auth Reg
4.1.1 Priority
Must Have
4.1.2 User Story
As a new user, I want to create an account using my phone number or email so that I can book rides through SASA RIDE
4.1.3 Preconditions
User downloads app, opens registration screen, has valid phone number (+255) or email
4.1.4 Postconditions
Account created, verification sent, user can log in and access features
4.1.5 Test Cases
| Id | Description | Weight |
|---|---|---|
| AUTH-TC-001 | Verify user can register successfully using valid email (e.g., claudeai2025@gmail.com) and password | High |
| AUTH-TC-002 | Verify user can register successfully using valid international phone number (e.g., +255628630936) | High |
| AUTH-TC-003 | Verify system shows error for invalid phone/email formats and validates international phone number formats | High |
| AUTH-TC-004 | Verify password requirements are enforced (min 6 characters) | Medium |
| AUTH-TC-005 | Verify duplicate registration prevention with clear error message | High |
4.2 Ft Auth Login
4.2.1 Priority
Must Have
4.2.2 User Story
As a returning user, I want to log into my account so that I can access my profile and book rides
4.2.3 Preconditions
User has existing account, opens app, navigates to login screen
4.2.4 Postconditions
User authenticated, redirected to home screen with ride options
4.2.5 Test Cases
| Id | Description | Weight |
|---|---|---|
| AUTH-TC-006 | Verify successful login with correct email (claudeai2025@gmail.com) or phone number (+255628630936) | High |
| AUTH-TC-007 | Verify appropriate error message for invalid credentials | High |
| AUTH-TC-008 | Verify successful logout clears session data | High |
4.3 Ft Ai Assistant
4.3.1 Priority
Must Have
4.3.2 User Story
As a user, I want to interact with Eve AI to get assistance with booking rides, becoming a driver, and understanding app features
4.3.3 Preconditions
User is logged in and accesses Eve AI from the app interface
4.3.4 Postconditions
User receives helpful responses and can complete tasks through AI guidance
4.3.5 Test Cases
| Id | Description | Weight |
|---|---|---|
| AI-TC-001 | Verify Eve AI displays welcome message 'How can I help you today?' with snowflake-style icon | High |
| AI-TC-002 | Verify AI responds appropriately to 'Hi there' quick action button | High |
| AI-TC-003 | Verify AI can guide user through ride request with 'Can you help me request a ride' prompt | High |
| AI-TC-004 | Verify AI provides accurate driver information with 'How to become a driver' prompt | High |
| AI-TC-005 | Verify AI explains capabilities with 'What can you do?' prompt | High |
| AI-TC-006 | Verify AI can help schedule rides with 'Schedule a ride for me' prompt | High |
| AI-TC-007 | Verify text input field with 'Enter Prompt' placeholder accepts user input send button works for custom prompts | Medium |
| AI-TC-008 | Verify conversation history search works with 'Search history...' functionality | Medium |
| AI-TC-009 | Verify 'New Chat' button starts fresh conversation | Medium |
| AI-TC-010 | Verify empty state shows 'Nothing found - No conversations found' when no history | Low |
| AI-TC-011 | Verify Eve AI is accessible from blue assistant button on map interface | Medium |
4.4 Ft Ride Request
4.4.1 Priority
Must Have
4.4.2 User Story
As a passenger, I want to request an immediate ride so that I can get transportation to my destination
4.4.3 Preconditions
User is logged in, has location permission enabled, is in service area
4.4.4 Postconditions
Ride request sent to nearby drivers, user sees confirmation and driver details
4.4.5 Test Cases
| Id | Description | Weight |
|---|---|---|
| RIDE-TC-001 | Verify user can select pickup location using GPS (auto-detects current location like Njiro Rd) | High |
| RIDE-TC-002 | Verify user can search and select pickup location by address using search functionality | High |
| RIDE-TC-003 | Verify user can manually select location on interactive map with pin placement | High |
| RIDE-TC-004 | Verify three booking modes are available: 'Let's Ride' (immediate), 'Schedule' (future), 'Sasa Send' (delivery) | High |
| RIDE-TC-005 | Verify 'Let's Ride' option initiates immediate ride booking flow | High |
| RIDE-TC-006 | Verify interactive map shows current location with proper markers and controls | High |
| RIDE-TC-007 | Verify location services permission prompt appears when accessing location features | High |
| RIDE-TC-008 | Verify edit destination capability works after initial selection | Medium |
4.5 Ft Ride Schedule
4.5.1 Priority
Must Have
4.5.2 User Story
As a user, I want to schedule a ride for a future date and time so that I can plan my transportation in advance
4.5.3 Preconditions
User is logged in and accesses the schedule ride option
4.5.4 Postconditions
Ride scheduled successfully, user receives confirmation with booking details
4.5.5 Test Cases
| Id | Description | Weight |
|---|---|---|
| SCHED-TC-001 | Verify 'Schedule' option is accessible from main ride booking screen among the three booking modes | High |
| SCHED-TC-002 | Verify date picker allows selection of future dates only (no past dates selectable) | High |
| SCHED-TC-003 | Verify time picker works correctly for scheduling rides in 12-hour format | High |
| SCHED-TC-004 | Verify scheduled ride appears in My Rides section with PENDING status | Medium |
| SCHED-TC-005 | Verify user receives reminder notification before scheduled ride time | Medium |
| SCHED-TC-006 | Verify Eve AI can help schedule rides with 'Schedule a ride for me' prompt | Medium |
| SCHED-TC-007 | Verify scheduled rides display date and time in format 'Oct 24, 2025 12:48 PM' | Medium |
4.6 Ft Delivery Service
4.6.1 Priority
Must Have
4.6.2 User Story
As a user, I want to use Sasa Send to deliver packages so that items can be transported without me traveling
4.6.3 Preconditions
User is logged in and selects Sasa Send option
4.6.4 Postconditions
Delivery request created, driver assigned, package delivered to destination
4.6.5 Test Cases
| Id | Description | Weight |
|---|---|---|
| DEL-TC-001 | Verify 'Sasa Send' option is accessible as third booking mode from main ride interface | High |
| DEL-TC-002 | Verify pickup and drop-off locations can be set for package delivery using same location selection methods | High |
| DEL-TC-003 | Verify package details can be entered (size, weight, description, special instructions) | Medium |
| DEL-TC-004 | Verify delivery pricing is calculated and displayed in TSh (e.g., Tsh 600) | High |
| DEL-TC-005 | Verify delivery orders generate unique order IDs (e.g., ORD-BQFXSD format) | High |
4.7 Ft Location Services
4.7.1 Priority
Must Have
4.7.2 User Story
As a user, I want to use GPS and map features so that I can accurately select my pickup and destination locations
4.7.3 Preconditions
User has granted location permissions to the app
4.7.4 Postconditions
Accurate location data captured, map displays correctly with nearby landmarks
4.7.5 Test Cases
| Id | Description | Weight |
|---|---|---|
| LOC-TC-001 | Verify GPS automatically detects current location (e.g., Njiro Rd, Arusha) | High |
| LOC-TC-002 | Verify map displays Tanzania areas accurately (Arusha, Njiro Rd, Jambiani locations) | High |
| LOC-TC-003 | Verify address search functionality with 'Pick your destination' returns Tanzania locations | High |
| LOC-TC-004 | Verify manual map pin placement works with blue (current), green (pickup), orange (destination) pins | High |
| LOC-TC-005 | Verify location permission prompt appears for GPS and map features | High |
| LOC-TC-006 | Verify location icons show correctly for different place types (residence, hotel, etc.) | Medium |
4.8 Ft Driver Apply
4.8.1 Priority
Must Have
4.8.2 User Story
As a potential driver, I want to apply through the app so that I can start earning by providing rides
4.8.3 Preconditions
User has app installed and accesses driver application section
4.8.4 Postconditions
Complete driver application submitted with all required documents for verification
4.8.5 Test Cases
| Id | Description | Weight |
|---|---|---|
| DRV-TC-001 | Verify 'Become a Driver' option is accessible from profile side menu | High |
| DRV-TC-002 | Verify driver type selection dropdown works correctly (various vehicle types) | Medium |
| DRV-TC-003 | Verify personal details fields accept valid input (name, address, international phone number format) | High |
| DRV-TC-004 | Verify NIDA (National ID) number field validates Tanzanian ID format correctly for Tanzania-based drivers | High |
| DRV-TC-005 | Verify NIDA document upload supports front and back photo capture/upload | High |
| DRV-TC-006 | Verify driver's license number field accepts valid license format for the operating region | High |
| DRV-TC-007 | Verify license document upload supports front and back photo capture/upload | High |
| DRV-TC-008 | Verify selfie camera capture works for driver identity verification | High |
| DRV-TC-009 | Verify submit button is disabled until all required NIDA, license, and selfie documents are uploaded | Medium |
| DRV-TC-010 | Verify application submission confirmation displays with verification timeline | High |
| DRV-TC-011 | Verify Eve AI provides accurate driver application guidance with 'How to become a driver' prompt | Medium |
4.9 Ft Ride History
4.9.1 Priority
Should Have
4.9.2 User Story
As a user, I want to view and search my past rides so that I can track my ride history and expenses
4.9.3 Preconditions
User is logged in and has completed at least one ride
4.9.4 Postconditions
User can view, search, and filter ride history with complete details
4.9.5 Test Cases
| Id | Description | Weight |
|---|---|---|
| HIST-TC-001 | Verify My Rides section is accessible from bottom navigation (location pin with dots icon) | High |
| HIST-TC-002 | Verify ride history displays all past and current ride bookings | High |
| HIST-TC-003 | Verify search functionality with 'Search rides by location...' placeholder finds rides | Medium |
| HIST-TC-004 | Verify filter option with funnel icon provides filtering capabilities | Medium |
| HIST-TC-005 | Verify empty state displays appropriate message when no rides found | Low |
| HIST-TC-006 | Verify ride cards display 'To: [Location]' and 'From: [Location]' format | High |
| HIST-TC-007 | Verify date and time display in format 'Oct 24, 2025 12:48 PM' | High |
| HIST-TC-008 | Verify status badges show PENDING (yellow) and CANCELLED (red) correctly | High |
| HIST-TC-009 | Verify example ride formats like 'To: Njiro Rd, From: Njiro Rd - Oct 24, 2025 12:48PM - PENDING' | Medium |
4.10 Ft Promotions
4.10.1 Priority
Should Have
4.10.2 User Story
As a user, I want to view and manage promotional offers so that I can take advantage of discounts and special deals
4.10.3 Preconditions
User is logged in and has access to promotions section
4.10.4 Postconditions
User can view active and expired offers, apply promo codes to rides
4.10.5 Test Cases
| Id | Description | Weight |
|---|---|---|
| PROMO-TC-001 | Verify promotions section is accessible from profile settings or side menu | Medium |
| PROMO-TC-002 | Verify 'Active' offers tab displays current promotions and deals | High |
| PROMO-TC-003 | Verify 'Expired' tab shows past promotions that are no longer valid | Medium |
| PROMO-TC-004 | Verify empty state displays appropriate message when no promotions available | Low |
| PROMO-TC-005 | Verify shopping bag icon displays correctly in offers section header | Low |
| PROMO-TC-006 | Verify promotional offers can be applied during ride booking process | High |
| PROMO-TC-007 | Verify offers section is available for both riders and potential drivers | Medium |
4.11 Ft Profile Settings
4.11.1 Priority
Should Have
4.11.2 User Story
As a user, I want to manage my profile information, app preferences, and settings so that I can personalize my experience and keep my details current
4.11.3 Preconditions
User is logged in and navigates to profile section
4.11.4 Postconditions
Profile information and preferences updated successfully, settings persist across sessions
4.11.5 Test Cases
| Id | Description | Weight |
|---|---|---|
| PROF-TC-001 | Verify user can edit full name field with edit icon functionality | High |
| PROF-TC-002 | Verify gender selection includes 'Not specified' option with edit icon | Medium |
| PROF-TC-003 | Verify phone number displays in international format (e.g., +255628630936) but is display only | High |
| PROF-TC-004 | Verify email address displays (claudeai2025@gmail.com) but is display only | High |
| PROF-TC-005 | Verify profile avatar displays user initial (first letter of username like 'U' for user42894) | Low |
| PROF-TC-006 | Verify username displays correctly (e.g., user42894) | Medium |
| PROF-TC-007 | Verify user rating displays 0.0 with star icon for new users | Low |
| PROF-TC-008 | Verify 'My Account' status indicator displays correctly | Medium |
| PROF-TC-009 | Verify Update button saves profile changes successfully | High |
| PROF-TC-010 | Verify profile settings include Personal Info, Dark Mode, Language, Notifications, Privacy Policy, Terms of Use, Logout | High |
| PROF-TC-011 | Verify language selection option is available and app interface switches to selected language (English, Swahili, Spanish) | High |
| PROF-TC-012 | Verify language preference persists after app restart and logout/login | Medium |
| PROF-TC-013 | Verify all UI elements display correctly in all supported languages | High |
| PROF-TC-014 | Verify Dark Mode toggle option switches between light and dark themes | High |
| PROF-TC-015 | Verify dark mode preference is saved and persists across sessions | Medium |
| PROF-TC-016 | Verify all UI elements maintain proper contrast and readability in both themes | High |
| PROF-TC-017 | Verify Delete Account option is displayed in red with confirmation dialog | High |
4.12 Ft Notifications
4.12.1 Priority
Should Have
4.12.2 User Story
As a user, I want to receive push notifications about ride status so that I stay informed about my rides and offers
4.12.3 Preconditions
User has granted notification permissions
4.12.4 Postconditions
User receives timely notifications for ride updates and can manage preferences
4.12.5 Test Cases
| Id | Description | Weight |
|---|---|---|
| NOTIF-TC-001 | Verify notification permission prompt and ride status notifications delivery | High |
| NOTIF-TC-002 | Verify notification toggle (Enabled/Disabled) in profile settings controls all notifications | High |
| NOTIF-TC-003 | Verify promotional notifications delivered when enabled | Medium |
4.13 Ft Vehicle Selection
4.13.1 Priority
Must Have
4.13.2 User Story
As a passenger, I want to choose from different vehicle types so that I can select the most suitable transport for my needs
4.13.3 Preconditions
User has selected pickup and destination locations
4.13.4 Postconditions
User can view vehicle options with pricing and ETA, then confirm booking
4.13.5 Test Cases
| Id | Description | Weight |
|---|---|---|
| VEH-TC-001 | Verify all vehicle types display correctly: Sasa (Car), Bajaj (Three-wheeler), Boda (Motorcycle) with price (500 TSh) and ETA | High |
| VEH-TC-002 | Verify Special Hire section shows VIP Motorcade, Coaster, Last Ride with regional filtering and plate search | Medium |
| VEH-TC-003 | Verify Request button (green) is enabled after vehicle selection | High |
4.14 Ft Driver Matching
4.14.1 Priority
Must Have
4.14.2 User Story
As a passenger, I want to be matched with an available driver so that I can see driver details and communicate if needed
4.14.3 Preconditions
User has confirmed ride request and payment
4.14.4 Postconditions
Driver is matched, user can see driver info and track progress
4.14.5 Test Cases
| Id | Description | Weight |
|---|---|---|
| MATCH-TC-001 | Verify 'Finding you a driver...' status and route display on map with pickup/destination | High |
| MATCH-TC-002 | Verify driver information card shows name, rating (5.0 stars), profile picture, and trip details (ETA, duration) | High |
| MATCH-TC-003 | Verify driver communication buttons (message, call) and Cancel Ride button work correctly | High |
4.15 Ft Ride Cancellation
4.15.1 Priority
Must Have
4.15.2 User Story
As a user, I want to cancel my ride with a reason so that I can provide feedback and avoid unnecessary charges
4.15.3 Preconditions
User has an active ride booking
4.15.4 Postconditions
Ride is cancelled, reason is recorded, appropriate refund is processed
4.15.5 Test Cases
| Id | Description | Weight |
|---|---|---|
| CANCEL-TC-001 | Verify all cancellation reasons available: 'Driver asked me to cancel', 'Driver is taking too long', 'Driver is not moving', 'I changed my mind', 'Booked by mistake', 'Other' | High |
| CANCEL-TC-002 | Verify radio button selection, feedback message, and Confirm Cancellation button (red) process cancellation | High |
| CANCEL-TC-003 | Verify cancelled ride shows CANCELLED status in ride history | High |
4.16 Ft Order Management
4.16.1 Priority
Must Have
4.16.2 User Story
As a user, I want to track and manage my delivery orders so that I can monitor package delivery status
4.16.3 Preconditions
User has placed a Sasa Send delivery order
4.16.4 Postconditions
Order status is tracked and updated, user can communicate with customer
4.16.5 Test Cases
| Id | Description | Weight |
|---|---|---|
| ORDER-TC-001 | Verify order details display: ID (ORD-BQFXSD), status (Pending), date/time, customer info, and total amount (Tsh 600) | High |
| ORDER-TC-002 | Verify customer communication (phone with call button) and order type ('Pickup Order' in green) | High |
| ORDER-TC-003 | Verify Mark Delivered button (green) works and delivery status tracking | High |
4.17 Ft Navigation Ui
4.17.1 Priority
Must Have
4.17.2 User Story
As a user, I want intuitive navigation throughout the app so that I can easily access all features
4.17.3 Preconditions
User has logged into the app
4.17.4 Postconditions
User can navigate between all major sections seamlessly
4.17.5 Test Cases
| Id | Description | Weight |
|---|---|---|
| NAV-TC-001 | Verify bottom navigation tabs are accessible: Home (house icon), My Rides (location pin with dots), Profile (person icon) | High |
| NAV-TC-002 | Verify active tabs show green indicator and navigation works correctly | Medium |
| NAV-TC-003 | Verify each tab shows appropriate content: Home (ride booking), My Rides (history), Profile (settings) | High |
4.18 Ft Map Interaction
4.18.1 Priority
Must Have
4.18.2 User Story
As a user, I want to interact with the map to select locations and track rides so that I can visualize my journey
4.18.3 Preconditions
User has location permissions enabled
4.18.4 Postconditions
Map displays accurately with proper markers and controls
4.18.5 Test Cases
| Id | Description | Weight |
|---|---|---|
| MAP-TC-001 | Verify map displays with correct pins: blue (current location), green (pickup), orange (destination) and blue route line | High |
| MAP-TC-002 | Verify map controls work: zoom, center location button (green), AI assistant button (blue), menu button (hamburger) | Medium |
| MAP-TC-003 | Verify map displays Tanzania locations accurately | High |
4.19 Ft Recent Locations
4.19.1 Priority
Should Have
4.19.2 User Story
As a user, I want quick access to recently used locations so that I can book rides faster
4.19.3 Preconditions
User has previously used locations in the app
4.19.4 Postconditions
Recent locations are saved and easily selectable
4.19.5 Test Cases
| Id | Description | Weight |
|---|---|---|
| RECENT-TC-001 | Verify recent locations list shows previously used destinations with correct icons (residence, hotel, etc.) | High |
| RECENT-TC-002 | Verify automatic saving and edit capability for recent destinations | Medium |
4.20 Ft Payment Display
4.20.1 Priority
Must Have
4.20.2 User Story
As a user, I want to see clear pricing information so that I know the cost before booking
4.20.3 Preconditions
User is viewing vehicle selection or order details
4.20.4 Postconditions
Pricing is displayed clearly in Tanzanian Shillings
4.20.5 Test Cases
| Id | Description | Weight |
|---|---|---|
| PAY-TC-001 | Verify pricing displays correctly: 500 TSh for vehicle types, total amount calculation, and currency format (TSh/Tsh) | High |
| PAY-TC-002 | Verify payment status tracking shows Paid/Unpaid status correctly | High |
4.21 Ft Status Indicators
4.21.1 Priority
Should Have
4.21.2 User Story
As a user, I want clear visual indicators for different statuses so that I can quickly understand the state of my rides and orders
4.21.3 Preconditions
User is viewing rides, orders, or other status-dependent information
4.21.4 Postconditions
Status indicators are clearly visible and color-coded appropriately
4.21.5 Test Cases
| Id | Description | Weight |
|---|---|---|
| STATUS-TC-001 | Verify status indicators: PENDING (yellow/orange), CANCELLED (red), Paid (green), and are easily distinguishable | High |
| STATUS-TC-002 | Verify color scheme follows app theme (Green primary, Blue secondary, Red alerts) | Medium |
4.22 Ft Profile Delete
4.22.1 Priority
Should Have
4.22.2 User Story
As a user, I want the option to delete my account so that I can remove my data if I no longer use the service
4.22.3 Preconditions
User is logged in and viewing profile settings
4.22.4 Postconditions
Account deletion option is available with appropriate warnings
4.22.5 Test Cases
| Id | Description | Weight |
|---|---|---|
| DELETE-TC-001 | Verify Delete Account option (red) shows confirmation dialog with data deletion warning and cancellation option | High |
4.23 Ft Search Functionality
4.23.1 Priority
Should Have
4.23.2 User Story
As a user, I want to search through my rides and conversations so that I can quickly find specific information
4.23.3 Preconditions
User has ride history or conversation history
4.23.4 Postconditions
Search returns relevant results with proper filtering
4.23.5 Test Cases
| Id | Description | Weight |
|---|---|---|
| SEARCH-TC-001 | Verify ride search works with 'Search rides by location...' placeholder and returns relevant results | High |
| SEARCH-TC-002 | Verify conversation history search works with 'Search history...' and shows empty state when no results | Medium |
| SEARCH-TC-003 | Verify filter option (funnel icon) works in ride search | Medium |
5 Technical Requirements
5.1 Performance Standards
| Requirement | Target | How To Test |
|---|---|---|
| App loads in | ≤ 3 seconds | Stopwatch testing on Samsung Galaxy A32 and iPhone 11 Pro Max |
| Map loads with location | ≤ 2 seconds | Manual testing with different network speeds |
| GPS location acquisition | ≤ 5 seconds | Testing in various Tanzania locations |
| AI response time | ≤ 2 seconds | Testing Eve AI with various queries |
| Works with concurrent users | 1000+ concurrent | Load testing with simulated users |
| Uptime | 99.5% or better | Monitoring and alerting systems |
| Works offline | Limited (cached data only) | Core features require internet connection |
5.2 Platform Requirements
| Platform | Minimum Version | Target Version | Notes |
|---|---|---|---|
| Android | API 21 (Android 5.0) | API 34 (Android 14) | Tested on Samsung Galaxy A32, Google Play Store requirements |
| iOS | iOS 12.0 | iOS 17.0+ | Tested on iPhone 11 Pro Max, App Store guidelines compliance |
| Web Browsers | N/A - Mobile only | N/A | Future Phase 3 consideration |
5.3 Security Privacy
| Requirement | Must Have | Implementation |
|---|---|---|
| User data encryption | True | AES-256 encryption for PII data at rest and in transit |
| Secure passwords | True | Min 8 characters, complexity requirements, bcrypt hashing |
| NIDA data protection | True | Secure storage and transmission of National ID documents |
| Privacy compliance | True | GDPR + Tanzania Data Protection Act compliance |
| Data backup | True | Automated daily backups with 30-day retention |
| Location data privacy | True | User consent required, data retention policies enforced |
| Driver verification | True | NIDA and license verification before driver approval |
6 External Dependencies
6.1 Third Party Services
| Service | What It Does | Criticality | Backup Plan |
|---|---|---|---|
| OpenStreetMap | Mapping services, location display, route visualization | Critical | Google Maps API as fallback option |
| Eve AI Platform | Conversational AI assistant for user guidance | Important | Static help content and FAQs |
| SMS Gateway | OTP delivery for authentication and verification | Critical | Email verification as secondary option |
| Firebase Push Notifications | Real-time notifications for ride updates | Important | In-app notifications only |
| Payment Gateway | Mobile money and card payment processing | Critical | Cash payment option |
| NIDA Verification API | Driver identity verification through National ID | Critical | Manual verification process |
| Cloud Storage (AWS S3/Similar) | Document storage for NIDA, licenses, and photos | Critical | Multi-region replication |
| AWS/Cloud Infrastructure | App hosting, database, API services | Critical | Multi-region deployment with failover |
6.2 Device Requirements
| Feature | Required | Optional | Notes |
|---|---|---|---|
| Camera | True | False | Required for driver selfie and document uploads |
| GPS/Location | True | False | Essential for ride booking and tracking |
| Push Notifications | True | False | Ride updates, driver notifications, promotional offers |
| Biometrics | False | True | Fingerprint/Face ID for convenient and secure login |
| Internet Connection | True | False | Required for all core functionality (LTE/WiFi) |
7 Release Planning
7.1 Development Phases
| Phase | Features Included | Timeline | Success Criteria |
|---|---|---|---|
| Phase 1 (MVP) | ['FT-AUTH-REG', 'FT-AUTH-LOGIN', 'FT-AUTH-LOGOUT', 'FT-AUTH-RESET', 'FT-RIDE-REQUEST', 'FT-LOCATION-SERVICES', 'FT-DRIVER-APPLY', 'FT-AI-ASSISTANT (basic)', 'FT-NOTIFICATIONS'] | 12 weeks | Core ride booking works end-to-end with driver matching |
| Phase 2 | ['FT-RIDE-SCHEDULE', 'FT-DELIVERY-SERVICE', 'FT-RIDE-HISTORY', 'FT-RATING-SYSTEM', 'FT-AUTH-PROFILE', 'FT-PROMOTIONS', 'FT-AI-ASSISTANT (enhanced)'] | 6 weeks | Enhanced features for better user experience and retention |
| Phase 3 | ['FT-LANG-SELECT (Spanish addition)', 'FT-DARK-MODE', 'Advanced analytics', 'Corporate accounts', 'Multi-city expansion'] | 8 weeks | Complete feature set for market expansion |
7.2 Release Checklist
- All 'Must Have' features working on Android and iOS
- Zero critical bugs (authentication, ride booking, location services)
- Performance tests passed (app load ≤ 3s, map load ≤ 2s)
- Security review completed (NIDA data protection, encryption audit)
- User acceptance testing with real drivers and passengers
- Google Play Store and Apple App Store approval received
- NIDA integration certified and functional
- Driver verification process tested and operational
- Eve AI responses validated for accuracy
- Privacy policy and terms of service accessible and compliant
- Multi-language support (English and Swahili) fully implemented
- Location services working accurately in Tanzania
- Customer support system operational
8 Risks Assumptions
8.1 Risks
| Risk | Probability | Impact | Mitigation |
|---|---|---|---|
| Driver onboarding slower than expected due to NIDA verification delays | Medium | High | Early driver recruitment, streamlined verification, manual fallback process |
| NIDA API integration complexity or unavailability | Medium | High | Manual verification backup, early integration testing, government liaison |
| Competition from Uber, Bolt, and local ride-hailing services | High | High | Differentiate with Eve AI, local focus, competitive pricing, superior driver vetting |
| GPS accuracy issues in certain Tanzania locations | Medium | Medium | Manual location adjustment, multiple map providers, address search |
| Eve AI response quality or availability issues | Low | Medium | Static help content backup, FAQ section, human support escalation |
| Performance during peak hours in Dar es Salaam | Medium | High | Load testing, auto-scaling infrastructure, performance monitoring |
| Payment gateway integration for mobile money | Medium | High | Early integration, multiple provider options, cash payment backup |
8.2 Assumptions
- Target market has sufficient smartphone penetration (75%+ in urban Tanzania)
- Drivers willing to undergo NIDA and license verification process
- NIDA API accessible and reliable for verification
- GPS/location services work adequately in major Tanzanian cities
- Internet infrastructure supports real-time ride tracking
- Users comfortable with AI assistant interaction
- Mobile money adoption sufficient for digital payments
- Regulatory environment favorable for ride-hailing services
- Document upload (NIDA, license, selfie) technically feasible on target devices
- Eve AI platform can handle expected query volume
9 Market Specific Considerations
9.1 Tanzania Ride Hailing Market
9.1.1 Primary Market
- Dar es Salaam
- Arusha
- Mwanza
- Dodoma
9.1.2 Target Demographics
- Urban professionals
- University students (e.g., Mwalimu Nyerere Campus)
- Tourists and visitors
- Business travelers
- Package senders
9.1.3 Local Considerations
- Swahili language support (primary)
- English language support (secondary)
- Spanish language support (tourist markets)
- NIDA integration for driver verification
- +255 country code support
- Tanzania-specific locations (Ubungo, Salaam, etc.)
- Local payment methods preference
- Cultural expectations for driver-passenger interaction
9.1.4 Payment Preferences
| Preference | Value |
|---|---|
| Mobile Money | 80% |
| Cash | 40% |
| Cards | 20% |
9.1.5 Competition
- Uber
- Bolt
- Little Cab
- Local taxi services
- Informal ride arrangements
9.1.6 Unique Value Propositions
- Eve AI assistant for enhanced user experience
- Comprehensive driver verification with NIDA
- Sasa Send delivery service
- Multi-language support including Swahili
- Focus on Tanzania-specific needs and locations
10 Sign Off
10.1 Approval
| Role | Name | Signature | Date |
|---|---|---|---|
10.2 Document History
| Version | Date | Changes Made | Changed By |
|---|---|---|---|
| 0.1 | 2025-08-15 | Initial draft created from SASA RIDE testing report | Gemini System Designer |
| 2.0 | 2025-10-24 | Complete rewrite based on comprehensive feature documentation. Added Eve AI assistant, driver application with NIDA verification, Sasa Send delivery service, multi-language support (English/Swahili/Spanish), ride scheduling, location services, promotions, dark mode, and complete test coverage for all features. Updated to reflect Tanzania market specifics and OpenStreetMap integration. | Claude AI Assistant |
11 Additional Context
11.1 Success Metrics
11.1.1 Customer Acquisition
1000+ active riders within 3 months
11.1.2 Driver Onboarding
200+ verified drivers within 2 months
11.1.3 Daily Rides
300+ rides per day within 6 weeks of launch
11.1.4 Customer Satisfaction
≥ 4.5 star rating average
11.1.5 Ride Completion Rate
95%+ successful ride completion
11.1.6 Average Wait Time
Under 5 minutes for ride acceptance
11.1.7 Ai Engagement
60%+ users interact with Eve AI
11.1.8 Driver Verification Rate
100% of drivers NIDA verified before activation
11.2 Key Differentiators
11.2.1 Eve Ai
Intelligent conversational assistant for seamless user guidance
11.2.2 Driver Verification
Comprehensive NIDA and license verification for safety
11.2.3 Multi Service
Immediate rides, scheduled trips, and package delivery in one app
11.2.4 Localization
Built specifically for Tanzania with Swahili support and local integrations
11.2.5 User Experience
Clean, modern interface with dark mode and multi-language support