Add PRD.md
This commit is contained in:
@@ -0,0 +1,176 @@
|
||||
**Product Requirements Document (PRD)**
|
||||
**For Review of Pre-Production MVP**
|
||||
|
||||
**Product**: Multi-Tenant SaaS for Water/Refill Businesses
|
||||
**Document Purpose**: Evaluate the current built MVP (not yet in production) against defined requirements
|
||||
**Version**: 1.0
|
||||
**Date**: October 2026
|
||||
**Status**: Review Ready
|
||||
|
||||
---
|
||||
|
||||
### 1. Product Overview
|
||||
A multi-tenant SaaS platform that allows independent water and refill businesses to manage multiple branches from a single account. The system provides centralized inventory control, point-of-sale (POS), basic reporting, and a mobile-friendly owner dashboard.
|
||||
|
||||
**Primary Value Proposition**
|
||||
Owners can monitor and control all branches (sales, stock, performance) from a phone or computer, while branch staff can continue selling even when internet is unavailable.
|
||||
|
||||
---
|
||||
|
||||
### 2. Goals of the MVP
|
||||
- Enable a water/refill business to onboard and start operating multiple branches quickly.
|
||||
- Provide reliable multi-branch inventory visibility and control.
|
||||
- Support fast, offline-capable sales at branch level.
|
||||
- Give the owner a clear, mobile-accessible overview of the entire business.
|
||||
- Support a per-branch subscription pricing model.
|
||||
|
||||
**Success Criteria for this Pre-Production MVP**
|
||||
- A new tenant can be fully set up and process real sales within 60 minutes.
|
||||
- Sales work offline and sync correctly without data loss or duplication.
|
||||
- Owner can view accurate consolidated and per-branch data on mobile.
|
||||
- Complete data isolation between tenants.
|
||||
- Core flows are stable enough for closed beta / pilot customers.
|
||||
|
||||
---
|
||||
|
||||
### 3. Target Users
|
||||
| Role | Description | Key Needs |
|
||||
|-------------------|--------------------------------------------------|----------------------------------------|
|
||||
| Business Owner | Owns 2+ water/refill branches | Visibility, control, mobile access |
|
||||
| Branch Manager | Runs one branch | Local stock & sales management |
|
||||
| Cashier | Serves customers at the counter | Fast, simple, offline POS |
|
||||
|
||||
---
|
||||
|
||||
### 4. Scope
|
||||
|
||||
**In Scope (Must be present in the current MVP)**
|
||||
- Multi-tenancy with strict data isolation
|
||||
- Multi-branch management
|
||||
- Product catalog and multi-branch inventory
|
||||
- Inter-branch stock transfers
|
||||
- Sales / POS (cash)
|
||||
- Basic reporting
|
||||
- Owner mobile-friendly dashboard
|
||||
- Role-based access control
|
||||
- Offline sales capability with sync
|
||||
- Foundation for per-branch pricing
|
||||
|
||||
**Explicitly Out of Scope for this MVP**
|
||||
- Full accounting / general ledger
|
||||
- M-Pesa STK Push or eTIMS integration
|
||||
- Customer subscription / recurring delivery management
|
||||
- Advanced analytics or forecasting
|
||||
- Native mobile apps (PWA or responsive web is acceptable)
|
||||
- Delivery routing or driver app
|
||||
- Multi-currency or complex tax engines
|
||||
|
||||
---
|
||||
|
||||
### 5. Functional Requirements & Acceptance Criteria
|
||||
|
||||
**5.1 Multi-Tenancy & User Management**
|
||||
- Each company (tenant) has completely isolated data.
|
||||
- Ability to create and manage multiple branches under one tenant.
|
||||
- Roles: Owner (all branches), Branch Manager, Cashier.
|
||||
- Users can be invited and assigned roles/branches.
|
||||
|
||||
**Acceptance Criteria**
|
||||
- [ ] Creating Tenant A does not allow any visibility into Tenant B’s data.
|
||||
- [ ] Owner can add/remove branches and users.
|
||||
- [ ] Permissions are enforced on both frontend and backend.
|
||||
|
||||
**5.2 Inventory Management**
|
||||
- Create products (water sizes, refill bottles, side items).
|
||||
- Track stock quantity independently per branch.
|
||||
- Perform inter-branch stock transfers.
|
||||
- Basic low-stock indication.
|
||||
|
||||
**Acceptance Criteria**
|
||||
- [ ] Stock levels are maintained accurately per branch.
|
||||
- [ ] Transfer from Branch A to Branch B correctly updates both sides.
|
||||
- [ ] Sales correctly deduct stock from the selling branch.
|
||||
|
||||
**5.3 Sales / POS**
|
||||
- Simple, fast interface suitable for high-volume water sales.
|
||||
- Support multiple items in one sale.
|
||||
- Cash payments.
|
||||
- Automatic stock deduction.
|
||||
- Receipt generation.
|
||||
|
||||
**Acceptance Criteria**
|
||||
- [ ] A complete sale can be finished in a few taps.
|
||||
- [ ] Sale works fully offline.
|
||||
- [ ] Stock is deducted immediately (locally) and remains correct after sync.
|
||||
|
||||
**5.4 Reporting & Owner Dashboard**
|
||||
- Daily and period sales (total + per branch).
|
||||
- Current stock across all branches.
|
||||
- Simple performance overview.
|
||||
|
||||
**Acceptance Criteria**
|
||||
- [ ] Owner can see today’s total sales and breakdown by branch on mobile.
|
||||
- [ ] Stock view shows quantities per branch.
|
||||
- [ ] Data is reasonably up-to-date after sync.
|
||||
|
||||
**5.5 Offline & Sync**
|
||||
- Sales and stock changes must work with zero internet.
|
||||
- Changes queue and sync when connectivity returns.
|
||||
- No double-counting of sales.
|
||||
|
||||
**Acceptance Criteria**
|
||||
- [ ] Cashier can process multiple sales while completely offline.
|
||||
- [ ] All offline sales appear correctly after coming online.
|
||||
- [ ] No duplicate sales or incorrect stock after sync.
|
||||
|
||||
**5.6 Platform / Billing Readiness**
|
||||
- System can track number of active branches per tenant.
|
||||
- Structure supports charging per branch.
|
||||
|
||||
---
|
||||
|
||||
### 6. Non-Functional Requirements
|
||||
- **Security**: Strict tenant isolation, role-based access, secure authentication.
|
||||
- **Usability**: POS usable on low-end Android devices; owner dashboard mobile-friendly.
|
||||
- **Reliability**: Offline-first for core sales operations.
|
||||
- **Performance**: Local sale completion should feel instant.
|
||||
|
||||
---
|
||||
|
||||
### 7. Key End-to-End Flows to Test
|
||||
1. New tenant signup → create branches → add products → add users → process first sale.
|
||||
2. Process several sales completely offline → reconnect → verify correct sync.
|
||||
3. Transfer stock between two branches and confirm both sides update.
|
||||
4. Owner logs in on mobile and views consolidated sales + stock.
|
||||
5. Attempt to access another tenant’s data (must fail).
|
||||
|
||||
---
|
||||
|
||||
### 8. Review Checklist (Use This on Your Current Build)
|
||||
|
||||
| Area | Fully Met | Partially Met | Missing | Notes / Gaps |
|
||||
|----------------------------|-----------|---------------|---------|--------------|
|
||||
| Multi-tenant isolation | | | | |
|
||||
| Multi-branch support | | | | |
|
||||
| Inventory + transfers | | | | |
|
||||
| Offline POS + sync | | | | |
|
||||
| Owner mobile dashboard | | | | |
|
||||
| Role-based permissions | | | | |
|
||||
| Basic reporting | | | | |
|
||||
| Per-branch billing foundation | | | | |
|
||||
| Core flows stable | | | | |
|
||||
|
||||
---
|
||||
|
||||
### 9. Open Questions for Your Review
|
||||
- How robust is the current offline sync (conflict handling, duplicate prevention)?
|
||||
- How water-specific is the product model (bottle sizes, full/empty tracking, etc.)?
|
||||
- What is the current onboarding time for a new tenant?
|
||||
- Are there any known limitations or technical debt that would block a pilot?
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user