Version: 2.0 | Status: Ready for Review | Date: 2026-01-15
Change Log
| Version | Date | Author | Changes |
|---|
| 1.0 | 2026-01-09 | Product Team | Initial draft |
| 2.0 | 2026-01-15 | Product Team | Converted to business-focused format; added measurable outcomes, success metrics, consolidated requirements |
1. Executive Summary
1.1 Purpose
The Client/Customer Management module enables rental businesses to manage all customer relationships—individual renters, corporate partners, and staff—from a single platform. It provides the foundation for streamlined order creation, risk management, and customer service excellence.
1.2 Business Value
| Business Outcome | Current State | Target Improvement | Measurement |
|---|
| Faster Order Creation | Manual customer lookup and data entry | 60% reduction in order entry time | Workflow time studies |
| Reduced Rental Risk | Inconsistent blacklist checks | Zero rentals to globally blacklisted customers | Order audit logs |
| Improved Customer Retention | No VIP tracking | 20% higher repeat booking rate for VIP customers | CRM analytics |
| Operational Efficiency | Manual data migration | Process 500 customers in under 5 minutes via bulk import | Import completion logs |
| Revenue Protection | Lost bookings from payment failures | 30% reduction in failed payment transactions | Stripe dashboard |
| Compliance Assurance | Manual police reporting | 100% automated Cargos submission accuracy | Cargos API response logs |
1.3 Target Users
| Role | Primary Activities | Business Impact |
|---|
| Admin | Bulk operations, blacklist management, VIP designation | Risk mitigation, customer segmentation |
| Operator | Order creation, customer updates, document management | Operational throughput, service quality |
| Driver/Courier | View customer contact info for delivery | Fulfillment accuracy, customer satisfaction |
| Partner | Manage associated clients | B2B relationship management |
1.4 Scope
Customer lifecycle management including creation, search, segmentation (VIP/blacklist), document storage, payment method linking, and integration with orders, third-party platforms (Billion, Cargos), and payment processing (Stripe).
2. Success Metrics
| Metric | Definition | Baseline | Target | Measurement Method | Timeframe |
|---|
| Order Entry Time | Time from customer selection to order submission | 8 min avg | 3 min avg | Workflow time studies | 3 months |
| Blacklist Enforcement | % of orders blocked for blacklisted customers | 0% | 100% | Order audit logs | Immediate |
| VIP Repeat Rate | % of VIP customers with 2+ bookings/year | TBD (baseline) | +20 pp | Booking analytics | 6 months |
| Bulk Import Speed | Customers processed per minute | N/A | 100/min | System logs | Immediate |
| Payment Success Rate | % of transactions completed without retry | 85% | 95% | Stripe dashboard | 6 months |
| Search Response Time | P95 customer search latency | TBD | <500ms | Application monitoring | 3 months |
| Document Completion | % of customers with required docs uploaded | TBD | 90% | Customer profile audit | 6 months |
| Data Sync Accuracy | % of Billion client updates synced successfully | TBD | 99.5% | Integration logs | 3 months |
3. User Stories
3.1 Customer Data Management
| Priority | As a… | I want to… | So that… |
|---|
| P0 | Operator | Search customers by name, email, or phone in under 1 second | I can quickly locate returning customers during order creation |
| P0 | Operator | Auto-populate customer details when creating orders | I reduce data entry errors and save time |
| P0 | Admin | Bulk import customers from CSV | I can migrate existing customer databases efficiently |
| P1 | Operator | Update customer contact information | Records stay current for communications |
| P1 | Operator | Add notes to customer profiles | I can track special instructions or history |
| P1 | Admin | Export filtered customer lists to CSV | I can generate reports for business analysis |
3.2 Risk Management
| Priority | As a… | I want to… | So that… |
|---|
| P0 | Admin | Add customers to a global blacklist | All tenants are protected from problematic renters |
| P0 | Operator | See blacklist warnings before confirming orders | I don’t accidentally rent to blocked customers |
| P1 | Admin | View complete order history for any customer | I can assess customer reliability |
| P2 | Admin | Override blacklist for specific cases | I can handle exceptions with proper authorization |
3.3 Customer Segmentation
| Priority | As a… | I want to… | So that… |
|---|
| P1 | Admin | Designate customers as VIP | High-value customers receive priority service |
| P1 | Operator | Filter customer lists by VIP or blacklist status | I can quickly find specific customer segments |
| P2 | Partner | View only customers associated with my company | I maintain appropriate data boundaries |
3.4 Document & Payment Management
| Priority | As a… | I want to… | So that… |
|---|
| P0 | Operator | Store customer documents (passport, license) | Required documentation is accessible during check-in |
| P0 | Operator | Link customer payment methods via Stripe | Deposits and payments process smoothly |
| P1 | Operator | View which documents are complete vs missing | I can follow up on incomplete profiles |
| P2 | Driver | Access customer contact info for my assigned orders | I can coordinate delivery efficiently |
4. Functional Requirements
4.1 Customer Profile Management
| ID | Requirement | Business Rationale |
|---|
| FR-01 | System must support unified customer creation for clients, partners, and staff from a single interface | Reduces training time and improves workflow consistency |
| FR-02 | System must validate phone numbers before storage | Ensures communication delivery; reduces failed SMS/calls |
| FR-03 | System must detect duplicate customers by email within each tenant | Prevents fragmented customer history |
| FR-04 | System must support soft delete with admin restore capability | Maintains data integrity while enabling cleanup |
4.2 Search & Filtering
| ID | Requirement | Business Rationale |
|---|
| FR-05 | System must return customer search results within 500ms for up to 100,000 customers | Enables real-time customer lookup during phone orders |
| FR-06 | System must support filtering by VIP status, blacklist status, partner association, and date range | Enables targeted customer outreach and analysis |
| FR-07 | System must update search index within 2 seconds of customer creation or update | Ensures newly added customers are immediately findable |
4.3 Blacklist Management
| ID | Requirement | Business Rationale |
|---|
| FR-08 | System must maintain tenant-level blacklist for local customer restrictions | Protects individual businesses from repeat issues |
| FR-09 | System must maintain global blacklist (requiring name, surname, birthdate) visible across all tenants | Protects entire platform from known bad actors |
| FR-10 | System must warn operators when creating orders for blacklisted customers | Prevents accidental rentals to restricted customers |
| FR-11 | System must require admin override to complete orders for blacklisted customers | Maintains security while enabling exception handling |
4.4 Bulk Operations
| ID | Requirement | Business Rationale |
|---|
| FR-12 | System must process bulk imports of 100+ customers per batch | Enables efficient data migration from legacy systems |
| FR-13 | System must complete bulk import of 500 customers within 5 minutes | Minimizes operational downtime during migration |
| FR-14 | System must provide bulk export with configurable columns in CSV format | Enables reporting and backup |
4.5 Document Management
| ID | Requirement | Business Rationale |
|---|
| FR-15 | System must store customer documents (passport, license, ID, insurance) with metadata | Supports regulatory compliance and check-in verification |
| FR-16 | System must display document completion indicators on customer profiles | Enables operators to identify incomplete profiles |
| FR-17 | System must log all access to sensitive documents with user, timestamp, and device | Supports audit requirements and privacy compliance |
4.6 Payment Integration
| ID | Requirement | Business Rationale |
|---|
| FR-18 | System must link customers to Stripe for secure payment method storage | Enables deposits and payments without storing card data |
| FR-19 | System must support multiple saved payment methods per customer | Improves payment success rates; customer convenience |
| FR-20 | System must allow payment method addition only for existing customers | Ensures customer identity verified before storing payment info |
4.7 Partner Management
| ID | Requirement | Business Rationale |
|---|
| FR-21 | System must support linking customers to partner companies | Enables B2B relationships and commission tracking |
| FR-22 | Partner users must see only customers associated with their company | Maintains data privacy and appropriate access |
| FR-23 | Customers created by partners must auto-link to the partner account | Streamlines partner workflow |
4.8 Integrations
| ID | Requirement | Business Rationale |
|---|
| FR-24 | System must sync customer updates bidirectionally with Billion marketplace | Maintains consistent data across booking channels |
| FR-25 | System must format customer data for Cargos police reporting (Italian operators) | Ensures regulatory compliance |
| FR-26 | System must trigger configurable webhooks on customer creation | Enables CRM and analytics integrations |
5. Acceptance Criteria
5.1 Customer Creation
- GIVEN an operator on the add customer page
- WHEN they enter name, surname, and submit
- THEN a new customer is created and appears in search results within 2 seconds
- AND the operator can immediately select the customer for order creation
5.2 Blacklist Protection
- GIVEN a customer marked as blacklisted with complete birthdate
- WHEN an operator attempts to create an order for this customer
- THEN the system displays a prominent warning
- AND requires admin authorization to proceed
- GIVEN a tenant with 50,000 customers
- WHEN an operator searches for a customer by partial name
- THEN relevant results display within 500ms
- AND results include VIP/blacklist status indicators
5.4 Bulk Import
- GIVEN an admin with a CSV file containing 500 customers
- WHEN they initiate bulk import
- THEN all valid records are created within 5 minutes
- AND invalid records are reported with specific error messages
5.5 Partner Isolation
- GIVEN a partner user logged in
- WHEN they view the customer list
- THEN only customers linked to their partner account are visible
- AND they cannot access other tenants’ customers
5.6 Payment Method Security
- GIVEN a driver viewing an assigned order
- WHEN they access customer details
- THEN payment method information is not visible
- AND any access attempt is logged
6. Business Rules
6.1 Data Validation
- Only name and surname are required for customer creation
- Phone numbers must pass international format validation (E.164) before storage
- If driver license number is entered, license dates become required
- Email must be unique within tenant (warning, not blocking)
6.2 Access Control
- Admin: Full access to all customers and bulk operations
- Operator: Create, read, update customers; no bulk delete
- Driver/Courier: Read-only access to customers in assigned orders
- Partner: Read-only access to associated customers only
6.3 Blacklist Rules
- Global blacklist entry requires: name + surname + birthdate
- Blacklisted customers trigger warning on order creation
- Only admin can override blacklist and complete order
- Removing blacklist status removes from global blacklist
6.4 Payment Rules
- Payment methods stored only in Stripe (never in application database)
- Payment method addition requires existing customer record
- Failed webhook retries: 3 attempts with exponential backoff
7. Dependencies
7.1 Upstream Dependencies
| System | Dependency | Impact if Unavailable |
|---|
| Multi-tenant Architecture | Tenant isolation and tenantId | Cannot create customers |
| Authentication | User context and role permissions | Cannot enforce access control |
7.2 Downstream Dependents
| System | Dependency | Impact |
|---|
| Orders & Reservations | Customer selection, order history | Cannot create orders |
| Payments | Stripe customer linking | Cannot process payments |
| Communications | Contact info, language preference | Cannot send notifications |
| Self Check-in | Document verification | Cannot complete check-in |
7.3 External Dependencies
| Service | Purpose | Fallback |
|---|
| Stripe | Payment method storage | Manual payment collection |
| Twilio | Phone validation | Accept unvalidated (flag for review) |
| Billion API | Marketplace sync | Queue for retry |
| Cargos API | Police reporting | Manual submission |
| Search Index (Algolia/Upstash) | Customer search | Fallback to database query |
8. Non-Functional Requirements
| Requirement | Target | Measurement |
|---|
| Customer search response | <500ms P95 | Application monitoring |
| Customer detail page load | <1 second | Page load metrics |
| Search index update latency | <2 seconds | Index sync monitoring |
| Bulk import throughput | 100 customers/second | Import completion logs |
8.2 Scalability
| Requirement | Target | Rationale |
|---|
| Customers per tenant | 100,000+ | Support largest rental operations |
| Total platform customers | 1M+ | Platform growth capacity |
| Concurrent bulk imports | Multiple per tenant | Operational flexibility |
8.3 Security & Compliance
| Requirement | Implementation | Rationale |
|---|
| Payment data isolation | Stripe-only storage | PCI DSS compliance |
| Sensitive document access logging | Full audit trail | Privacy regulations |
| Data export capability | GDPR-compliant export | Right to data portability |
| Soft delete retention | Indefinite | Legal data retention requirements |
9. Glossary
| Term | Definition |
|---|
| Client | Individual customer who rents vehicles |
| Partner | Corporate entity (company/agency) with associated clients |
| Staff | Drivers and couriers who work for the rental company |
| Customer | Collective term for clients, partners, and staff |
| VIP | Priority customer designation for enhanced service |
| Blacklist | Restricted customer list preventing or warning on rentals |
| Tenant | Isolated company instance within the multi-tenant platform |
| Global Blacklist | Cross-tenant blacklist visible to all platform admins |
10. Approval
| Stakeholder | Role | Status | Date |
|---|
| Product Owner | Pending | |
| Operations Lead | Pending | |
| Engineering Lead | Pending | |
| Compliance Officer | Pending | |
Document Status: Ready for Review
Owner: Product Team
Last Updated: 2026-01-15