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.