Skip to main content

Sanalogistics Platform — Software Requirements Specification (SRS)

Table of Contents​

1 Document Information​

FieldValue
Project NameSanalogistics Platform
Version0.1
Date2023-10-27
Project ManagerTBD
Tech LeadTBD
Qa LeadTBD
Platforms['Android', 'iOS']
Document StatusDraft

2 Project Overview​

2.1 What Are We Building​

2.1.1 System Function​

A multi-user logistics platform designed to connect Customers (Shippers), Transporters, Clearing Agents, and Drivers to facilitate a seamless end-to-end shipping process.

2.1.2 Users​

  • Customer (Shipper)
  • Transporter
  • Clearing Agent
  • Driver
  • Administrator

2.1.3 Problem Solved​

Lack of a seamless, integrated platform for end-to-end logistics and shipping, leading to inefficiencies in job requests, bidding, tracking, customs management, and delivery.

2.1.4 Key Success Metric​

Overall Pass Rate of Test Cases (currently 81.8% based on provided report, target 100%)

2.2 Scope​

2.2.1 In Scope​

  • User Authentication (for all roles)
  • Customer (Shipper) Workflow (job creation, bidding review, job awarding, tracking, cancellation, rating)
  • Transporter Workflow (job browsing, bidding, driver/vehicle assignment, fleet management, payment/earnings reports)
  • Driver Workflow (job viewing, status updates, Proof of Delivery (POD) upload, issue reporting)
  • Administrator Panel (user approval, job monitoring, dispute handling, report generation)
  • Real-time job status updates
  • Notification system for key events

2.2.2 Out Of Scope​

  • Full Clearing Agent Workflow (as identified in defects: dashboard for new jobs, updating clearing status, logging delays, notifying stakeholders)
  • Advanced analytics beyond basic reports
  • Complex financial integrations beyond payment history/earnings reports

3 User Requirements​

3.1 Authentication User Management​

Feature CodeI Want ToSo That I CanPriorityNotes
FT-AUTH-REGRegister as any user roleCreate an account and await administrator approvalMustUser account created with 'Pending Approval' status; Admin notified.
FT-AUTH-LOGINLog in and out as an approved userAccess the platform functionalities relevant to my roleMust
FT-AUTH-RESETReset my forgotten passwordRegain access to my accountMustEmail link for password reset.
FT-AUTH-SUSPBe prevented from logging in if my account is suspendedUnderstand my account status and restrict access appropriatelyMustError message displayed for suspended accounts.

3.2 Core Business Features​

Feature CodeI Want ToSo That I CanPriorityNotes
FT-CUST-JOBREQCreate a new job requestInitiate a shipping processMustIncludes origin, destination, cargo details, required dates.
FT-CUST-BIDREVReview bids from Transporters and award a jobSelect the best Transporter for my shipping needsMustView and compare bids, accept bid, assign Clearing Agent.
FT-CUST-JOBTRACKTrack the end-to-end progress of my jobStay informed about my shipment's status in real-timeMustUpdates provided by Driver.
FT-CUST-JOBCHGCancel a job request before it is awardedManage my shipping needs flexiblyMustJob removed from board, Transporters notified.
FT-CUST-RATINGRate and review a Transporter after a job is completedProvide feedback on service qualityMustStar rating (1-5) and optional text review.
FT-TRAN-JOBFINDBrowse new jobs and submit a bidFind relevant shipping requests to fulfillMustJob board with filtering/search, bid submission.
FT-TRAN-ASSIGNAssign a driver and vehicle to a newly won jobMobilize resources for job executionMust
FT-TRAN-FLEETManage my fleet (drivers and vehicles)Maintain an updated list of available resourcesMustAdd new drivers to fleet.
FT-TRAN-PAYHISTView my payment history and earnings reportsTrack my financial performance on the platformMustReport showing completed jobs, amounts earned, total earnings for a period.
FT-DRIV-JOBVIEWView my assigned job details on the mobile appKnow what job I need to executeMustIncludes pickup/delivery addresses.
FT-DRIV-STATUSUpdate the job status at key milestonesProvide real-time progress updates to stakeholdersMustStatuses like 'Cargo Loaded', 'En Route', 'Delivered'. Identified as failing in report, needs fix.
FT-DRIV-PODUpload Proof of Delivery (POD)Confirm job completion and provide evidence to the CustomerMustPhoto of signed delivery note. Identified as failing in report, needs fix.
FT-DRIV-ISSUEReport an in-transit issue (e.g., vehicle breakdown)Notify Transporter and other stakeholders of unexpected eventsMustIdentified as failing to notify Transporter, needs fix.
FT-ADMIN-USERAPPApprove new user registrationsControl access to the platform and onboard new usersMustUser accounts become active; notification email sent.
FT-ADMIN-JOBMONMonitor in-progress jobsOversee platform activity and track overall logistics flowMustMaster view of all jobs with details, statuses, documents, and user roles.
FT-ADMIN-DISPUTEHandle disputes between a Customer and a TransporterResolve conflicts and ensure fair operationsMustReview communication and mediate.

3.3 Additional Features​

Feature CodeI Want ToSo That I CanPriorityNotes
FT-ADMIN-REPORTGenerate a platform usage reportGain insights into platform activity and performanceShouldJob Volume Report (total jobs, value, active users). Identified as failing, needs fix.
FT-CLEAR-ACCEPTAccept an assignment for a new jobBegin managing customs proceduresShouldIdentified as failing (no dashboard for new jobs), needs fix.
FT-CLEAR-UPLOADUpload required customs documentsComplete necessary paperwork for customs clearanceShould
FT-CLEAR-STATUSUpdate the customs clearance statusInform stakeholders of customs progressShouldChange status from 'Pending Clearance' to 'Cleared'. Identified as failing (no feature to update status), needs fix.
FT-CLEAR-DELAYCommunicate a customs inspection delay and notify stakeholdersKeep all parties informed of potential disruptionsShouldIdentified as failing (no feature for logging delay/notification), needs fix.

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 register for any role so I can create an account and await approval.

4.1.3 Preconditions​

User is on the registration page with valid phone/email.

4.1.4 Postconditions​

User account is created with 'Pending Approval' status; Admin is notified.

4.1.5 Test Cases​

IdDescriptionWeight
AUTH-TC-001Valid registration for each user role (Customer, Transporter, Clearing Agent, Driver) via email/phoneHigh

4.2 Ft Auth Login​

4.2.1 Priority​

Must Have

4.2.2 User Story​

As an approved user, I want to log in and out so I can access the app's functionalities.

4.2.3 Preconditions​

User has an approved account with valid credentials.

4.2.4 Postconditions​

User is granted access and redirected to their role-specific dashboard.

4.2.5 Test Cases​

IdDescriptionWeight
AUTH-TC-002Valid login and logout for an approved userHigh
AUTH-TC-003Login attempt with a non-approved/pending account is blocked, and an error message is displayed.Medium

4.3 Ft Auth Reset​

4.3.1 Priority​

Must Have

4.3.2 User Story​

As a user, I want to reset my forgotten password so I can regain access to my account.

4.3.3 Preconditions​

User has a registered, active account.

4.3.4 Postconditions​

Password is successfully updated, and the user can log in with the new password. (Note: TC-AUTH-004 indicates failure for user to reset password, this needs to be fixed to meet the requirement).

4.3.5 Test Cases​

IdDescriptionWeight
AUTH-TC-004Verify the 'Forgot Password' flow (email link, reset, new login)High

4.4 Ft Cust Jobreq​

4.4.1 Priority​

Must Have

4.4.2 User Story​

As a customer, I want to create a new job request so I can initiate a shipping process.

4.4.3 Preconditions​

The user is logged in as a Customer.

4.4.4 Postconditions​

The request is successfully posted to the job board for Transporters to view and bid on.

4.4.5 Test Cases​

IdDescriptionWeight
TC-CUST-001Verify successful creation of a job request with origin, destination, cargo details, and required dates.High

4.5 Ft Cust Bidrev​

4.5.1 Priority​

Must Have

4.5.2 User Story​

As a customer, I want to review bids from Transporters and award a job so I can select the best option.

4.5.3 Preconditions​

Transporters have submitted bids for the job; Bids received.

4.5.4 Postconditions​

All bids are successfully listed with Transporter ratings and prices. The Transporter and Clearing Agent are notified, and job status updates to 'Awarded'.

4.5.5 Test Cases​

IdDescriptionWeight
TC-CUST-002Verify customers can view and compare bids.High
TC-CUST-003Verify a customer can accept a bid and assign a driver (and Clearing Agent).High

4.6 Ft Cust Jobtrack​

4.6.1 Priority​

Must Have

4.6.2 User Story​

As a customer, I want to track the end-to-end progress of my job so I can stay informed.

4.6.3 Preconditions​

The job is in progress.

4.6.4 Postconditions​

The tracking interface shows the current status (e.g., 'En Route to Destination') as updated by the Driver.

4.6.5 Test Cases​

IdDescriptionWeight
TC-CUST-004Verify the customer can view real-time status updates.High

4.7 Ft Cust Jobchg​

4.7.1 Priority​

Must Have

4.7.2 User Story​

As a customer, I want to cancel a job request before it is awarded so I can manage my needs flexibly.

4.7.3 Preconditions​

Job has been created but not yet awarded to a Transporter.

4.7.4 Postconditions​

The job is removed from the job board, and Transporters who bid are notified.

4.7.5 Test Cases​

IdDescriptionWeight
TC-CUST-005Verify a customer can cancel a job request.Medium

4.8 Ft Cust Rating​

4.8.1 Priority​

Must Have

4.8.2 User Story​

As a customer, I want to submit a rating for a completed job so I can provide feedback.

4.8.3 Preconditions​

Job status is 'Completed'.

4.8.4 Postconditions​

The rating is submitted and averaged into the Transporter's overall public rating.

4.8.5 Test Cases​

IdDescriptionWeight
TC-CUST-006Verify a customer can submit a rating (1-5 stars) and optional text for a completed job.Medium

4.9 Ft Tran Jobfind​

4.9.1 Priority​

Must Have

4.9.2 User Story​

As a transporter, I want to find new jobs and submit bids so I can secure work.

4.9.3 Preconditions​

The user is logged in as a Transporter.

4.9.4 Postconditions​

The job is successfully submitted and becomes visible to the Customer.

4.9.5 Test Cases​

IdDescriptionWeight
TC-TRAN-001Verify a transporter can find a job on the job board (filter/search) and submit a bid.High

4.10 Ft Tran Assign​

4.10.1 Priority​

Must Have

4.10.2 User Story​

As a transporter, I want to assign a driver and vehicle to a won job so I can mobilize resources.

4.10.3 Preconditions​

A job has been awarded to the Transporter.

4.10.4 Postconditions​

The Driver receives the job details on their app, and the job status is updated.

4.10.5 Test Cases​

IdDescriptionWeight
TC-TRAN-002Verify a transporter can assign available driver and vehicle resources to a job.High

4.11 Ft Tran Fleet​

4.11.1 Priority​

Must Have

4.11.2 User Story​

As a transporter, I want to add new drivers to my fleet so I can manage my resources.

4.11.3 Preconditions​

User is logged in as a Transporter.

4.11.4 Postconditions​

The driver is added to the fleet and can now be assigned to jobs.

4.11.5 Test Cases​

IdDescriptionWeight
TC-TRAN-003Verify a transporter can add a new driver to their fleet.Medium

4.12 Ft Tran Payhist​

4.12.1 Priority​

Must Have

4.12.2 User Story​

As a transporter, I want to view my payment history and earnings reports so I can track my finances.

4.12.3 Preconditions​

The transporter has completed several jobs.

4.12.4 Postconditions​

A report is generated showing a list of completed jobs, amounts earned, and total earnings for the period.

4.12.5 Test Cases​

IdDescriptionWeight
TC-TRAN-004Verify a transporter can view their earnings report for a selected date range.High

4.13 Ft Driv Jobview​

4.13.1 Priority​

Must Have

4.13.2 User Story​

As a driver, I want to see my assigned job details on my mobile app so I know what to do.

4.13.3 Preconditions​

A Transporter has assigned a job to the driver.

4.13.4 Postconditions​

The new job appears on the main screen with pickup/delivery addresses.

4.13.5 Test Cases​

IdDescriptionWeight
TC-DRIV-V-001Verify a driver can see job details (pickup/delivery addresses).High

4.14 Ft Driv Status​

4.14.1 Priority​

Must Have

4.14.2 User Story​

As a driver, I want to update the job status at key milestones so I can provide real-time progress.

4.14.3 Preconditions​

The driver has started an active job.

4.14.4 Postconditions​

Each status update is reflected in real-time on the tracking page for the Customer, Transporter, and Admin. Actual Result: Not status Updates (Fail)

4.14.5 Test Cases​

IdDescriptionWeight
TC-DRIV-V-002Verify the driver can update the job status (e.g., 'Cargo Loaded', 'En Route', 'Delivered').High

4.15 Ft Driv Pod​

4.15.1 Priority​

Must Have

4.15.2 User Story​

As a driver, I want to upload Proof of Delivery (POD) so I can confirm job completion.

4.15.3 Preconditions​

The cargo has been delivered.

4.15.4 Postconditions​

The POD is attached to the job record and is visible to the Customer. Actual Result: The POD is not attached to the job (Fail)

4.15.5 Test Cases​

IdDescriptionWeight
TC-DRIV-V-003Verify a driver can upload a POD (photo of signed delivery note).High

4.16 Ft Driv Issue​

4.16.1 Priority​

Must Have

4.16.2 User Story​

As a driver, I want to report an in-transit issue so I can notify stakeholders.

4.16.3 Preconditions​

The driver is in transit with an active job.

4.16.4 Postconditions​

The Transporter IS immediately notified of the issue so they can take action. Actual Result: The Transporter is NOT immediately notified (Fail)

4.16.5 Test Cases​

IdDescriptionWeight
TC-DRIV-V-004Verify a driver can report an issue (e.g., 'Vehicle Breakdown').High

4.17 Ft Admin Userapp​

4.17.1 Priority​

Must Have

4.17.2 User Story​

As an admin, I want to approve new user registrations so I can control platform access.

4.17.3 Preconditions​

A new user has registered.

4.17.4 Postconditions​

The user's account becomes active, and they receive a notification email.

4.17.5 Test Cases​

IdDescriptionWeight
TC-ADMIN-IN-001Verify an admin can approve a new user from the 'Pending Approvals' section.High

4.18 Ft Admin Jobmon​

4.18.1 Priority​

Must Have

4.18.2 User Story​

As an admin, I want a master view of all jobs so I can monitor platform activity.

4.18.3 Preconditions​

Admin is logged in.

4.18.4 Postconditions​

The admin can see all details, statuses, documents, and user roles associated with that job.

4.18.5 Test Cases​

IdDescriptionWeight
TC-ADMIN-IN-002Verify an admin has a master view of all jobs, searchable by ID or customer.High

4.19 Ft Admin Dispute​

4.19.1 Priority​

Must Have

4.19.2 User Story​

As an admin, I want to mediate a dispute so I can resolve conflicts.

4.19.3 Preconditions​

A customer has filed a dispute on a completed job.

4.19.4 Postconditions​

The message is visible to both the Customer and Transporter, and the admin can continue to mediate.

4.19.5 Test Cases​

IdDescriptionWeight
TC-ADMIN-IN-003Verify an admin can mediate a dispute by reviewing communication and evidence.High

4.20 Ft Admin Report​

4.20.1 Priority​

Should Have

4.20.2 User Story​

As an admin, I want to generate a system-wide report so I can gain insights.

4.20.3 Preconditions​

Admin is logged in.

4.20.4 Postconditions​

A report is generated showing the total number of jobs, total value, and most active users for the period. Actual Result: Does Not Generate Report (Fail)

4.20.5 Test Cases​

IdDescriptionWeight
TC-ADMIN-IN-004Verify an admin can generate a 'Job Volume Report' for a set date range.High

4.21 Ft Clear Accept​

4.21.1 Priority​

Should Have

4.21.2 User Story​

As a Clearing Agent, I want to receive and view new job assignments so I can accept them.

4.21.3 Preconditions​

A Customer has assigned the agent to a job.

4.21.4 Postconditions​

The new job appears with all relevant details. Actual Result: There is no dashboard for checking a new job (Not run)

4.21.5 Test Cases​

IdDescriptionWeight
TC-AGENT-001Verify a clearing agent receives and can view a new job assignment.High

4.22 Ft Clear Status​

4.22.1 Priority​

Should Have

4.22.2 User Story​

As a Clearing Agent, I want to update the clearance status so I can inform stakeholders.

4.22.3 Preconditions​

An agent is assigned to a job.

4.22.4 Postconditions​

The overall job status is updated, and the Customer is notified. Actual Result: Not being able to update clearing status (Not run)

4.22.5 Test Cases​

IdDescriptionWeight
TC-AGENT-003Verify a clearing agent can update the clearance status dropdown from 'Pending Clearance' to 'Cleared'.High

4.23 Ft Clear Delay​

4.23.1 Priority​

Should Have

4.23.2 User Story​

As a Clearing Agent, I want to log a delay and notify stakeholders so I can keep everyone informed.

4.23.3 Preconditions​

A job is undergoing a customs inspection.

4.23.4 Postconditions​

The job's timeline is updated, and the Customer and Transporter are notified of the potential delay. Actual Result: Not being able to notify customer/Transporter (Not run)

4.23.5 Test Cases​

IdDescriptionWeight
TC-AGENT-004Verify a clearing agent can log a delay (e.g., 'Customs Inspection') and notify stakeholders.High

5 Technical Requirements​

5.1 Performance Standards​

RequirementTargetHow To Test
App load≤ 3sStopwatch on target devices
Real-time status updates (e.g., Driver job status reflected on tracking page)≤ 5s latencyMeasure delay between driver update and customer/admin view.
Bid display and comparison for Customers≤ 2s load timeMeasure time to load bids tab.

5.2 Platform Requirements​

PlatformMinimum VersionTarget VersionNotes
AndroidAPI 23 (Android 6.0 Marshmallow)API 34 (Android 14)Ensure compatibility across a wide range of devices for target markets.
iOSiOS 13iOS 17Ensure compatibility across a wide range of devices for target markets.

5.3 Security Privacy​

RequirementMust HaveImplementation
User data encryptionTrueAES-256 at rest; TLS 1.2+ in transit
Role-based access controlTrueEnsure each user role can only access features and data relevant to their function.
Protection against unauthorized accessTrueImplement strong authentication mechanisms (e.g., OTP for registration) and session management.
Data privacy compliance (e.g., GDPR, local regulations)TrueRegular security audits and adherence to data protection laws, especially for personal and location data.

6 External Dependencies​

6.1 Third Party Services​

ServiceWhat It DoesCriticalityBackup Plan
SMS GatewayOTP for registration/verificationCriticalFallback to email verification if SMS fails.
Email Service ProviderAccount verification, password reset, notificationsCriticalMonitor deliverability; use a robust provider.
Mapping/Location Services (e.g., Google Maps, OpenStreetMap)Delivery discovery, real-time tracking, route optimizationHighConsider alternative mapping providers.

6.2 Device Requirements​

FeatureRequiredOptionalNotes
GPS/LocationTrueFalseEssential for Driver tracking and delivery discovery.
CameraTrueFalseRequired for Driver to upload Proof of Delivery (POD) photos.
Internet Connectivity (Mobile Data/Wi-Fi)TrueFalseContinuous connectivity for real-time updates and platform access.

7 Release Planning​

7.1 Development Phases​

PhaseFeatures IncludedTimelineSuccess Criteria
Phase 1 (MVP - Core Workflows)['FT-AUTH-REG', 'FT-AUTH-LOGIN', 'FT-AUTH-RESET', 'FT-CUST-JOBREQ', 'FT-CUST-BIDREV', 'FT-CUST-JOBTRACK', 'FT-TRAN-JOBFIND', 'FT-TRAN-ASSIGN', 'FT-DRIV-JOBVIEW', 'FT-DRIV-STATUS (fix required)', 'FT-DRIV-POD (fix required)', 'FT-ADMIN-USERAPP', 'FT-ADMIN-JOBMON']TBDCore customer, transporter, and driver workflows function end-to-end with high stability; all critical identified defects are resolved; Pass Rate > 95% for MVP features.
Phase 2 (Enhancements & Clearing Agent)['FT-CUST-JOBCHG', 'FT-CUST-RATING', 'FT-TRAN-FLEET', 'FT-TRAN-PAYHIST', 'FT-DRIV-ISSUE (fix required)', 'FT-ADMIN-DISPUTE', 'FT-ADMIN-REPORT (fix required)', 'FT-CLEAR-ACCEPT (fix required)', 'FT-CLEAR-UPLOAD', 'FT-CLEAR-STATUS (fix required)', 'FT-CLEAR-DELAY (fix required)']TBDAll remaining features fully implemented; all outstanding defects resolved; overall Pass Rate 100%.

7.2 Release Checklist​

  • All Must-Haves complete
  • No critical bugs remaining (especially those identified in the report)
  • Performance baselines met for all core functions
  • Security audits passed
  • User Acceptance Testing (UAT) completed successfully
  • Documentation updated and approved

8 Risks Assumptions​

8.1 Risks​

RiskProbabilityImpactMitigation
Partner (Transporter, Clearing Agent, Driver) onboarding slower than planned.MediumHighEarly outreach; incentives for early adopters; streamlined onboarding process.
Technical issues with real-time tracking and notifications.MediumHighRobust backend infrastructure; extensive testing (especially for driver status and issue reporting); monitoring and alerting systems.
Low user adoption, particularly among drivers for critical updates.MediumHighIntuitive UX/UI for drivers; clear communication on benefits; in-app tutorials; incentives.
Clearing Agent workflow remains dysfunctional, impacting end-to-end process.High (as per report)HighPrioritize development and thorough testing of Clearing Agent features as a critical fix.

8.2 Assumptions​

  • Target users have smartphones and mobile data access.
  • Regulatory environment for logistics and customs remains stable.
  • Third-party services (SMS, Email, Maps) will be reliable and available.

9 Market Specific Considerations​

9.1 Primary Market​

  • East Africa

9.2 Target Demographics​

  • Small to Medium Enterprises (SMEs) requiring shipping services
  • Large corporations with regular logistics needs
  • Independent Transporters and small fleet owners
  • Professional truck drivers
  • Licensed Clearing and Forwarding Agents

9.3 Local Considerations​

  • Language support for English and Swahili (as per Bug ID 001).
  • Consideration of regional trade blocs and customs unions (e.g., EAC).
  • Support for common local address formats and landmarks.

9.4 Payment Preferences​

PreferenceValue
Mobile Money70%
Cash20%
Cards10%

9.5 Competition​

  • <Competitor A>
  • <Competitor B>

10 Sign Off​

10.1 Approval​

RoleNameSignatureDate

10.2 Document History​

VersionDateChanges MadeChanged By
0.12023-10-27Initial draft based on Multi-Role Test Plan document.System Designer

11 Additional Context​

11.1 Success Metrics​

11.1.1 Customer Acquisition​

Onboard 100 new Customers (Shippers) within the first 6 months post-launch.

11.1.2 Partner Signups​

Onboard 50 Transporters and 200 Drivers within the first 6 months.

11.1.3 Daily Orders​

Achieve an average of 50 successfully completed jobs per day by end of Year 1.

11.1.4 Customer Satisfaction​

≥ 4.5 stars average rating for Transporters.

11.1.5 Order Success Rate​

≥ 98% of jobs completed without disputes.

11.1.6 Average Delivery Time​

Reduce average delivery time by 15% compared to pre-platform benchmarks within Year 1.