Tenant Settings - Product Requirements Document
Version: 2.0 | Status: Business Review | Date: 2026-01-15
Previous Version: 1.0 (Technical Draft) | Author: Product Team
Change Log
| Version | Date | Changes | Author |
|---|---|---|---|
| 2.0 | 2026-01-15 | Business-focused conversion: measurable outcomes, success metrics, consolidated requirements | Product Team |
| 1.0 | 2026-01-09 | Initial technical draft | Engineering |
1. Overview
1.1 Purpose
Tenant Settings enables rental companies to configure their unique business operations within Toprent.app. Each tenant maintains isolated configuration for business rules, branding, pricing, integrations, localization, and operational preferences—allowing diverse rental companies to operate on shared infrastructure while maintaining business independence.
1.2 Problem Statement
Rental companies across different markets have distinct business models, regulatory requirements, branding standards, and operational workflows. Without comprehensive configuration capabilities, companies must adapt their processes to fit rigid software constraints, resulting in operational friction, compliance risks, and competitive disadvantage. Tenant Settings solves this by enabling each company to configure the platform to match their specific needs.
1.3 Business Value
| Value Area | Measurable Outcome | Target | Measurement Method |
|---|---|---|---|
| Time-to-Value | New tenant fully operational | Within 2 hours of onboarding | Onboarding completion tracking |
| Operational Efficiency | Reduction in repetitive data entry | 50% fewer manual entries | Workflow time studies |
| Compliance Rate | Invoices meeting regional tax requirements | 100% compliance | Invoice audit sampling |
| Brand Consistency | Customer-facing documents matching brand guidelines | 95%+ brand compliance | Document review audits |
| Support Reduction | Configuration-related support tickets | 40% reduction within 6 months | Help desk ticket categorization |
| Market Coverage | Supported currency/timezone combinations | 50+ currencies, all IANA timezones | Feature coverage tracking |
1.4 Target Users
| User | Business Context | Settings Access |
|---|---|---|
| Business Admin | Company owners/managers responsible for business configuration | Full read/write access to all settings |
| Operations Staff | Daily operators managing reservations and customers | Read-only access, personal notification preferences |
| Platform Support | Toprent support team assisting with configuration issues | View access for troubleshooting |
1.5 Scope
In Scope:
- Regional settings (currency, timezone, distance units, language)
- Business rules (reservation intervals, pricing policies, cancellation terms)
- Branding (agreement templates, email formatting, document logos)
- Financial configuration (VAT, invoice formatting, electronic billing)
- Integration management (payment processing, marketplace, external systems)
- Communication preferences (automated emails, notifications)
- Calendar and UI defaults
Out of Scope:
- User management and access control (PRD-02)
- Fleet management and vehicle configuration (PRD-03)
- Order processing logic (PRD-06)
- Payment transaction handling (PRD-09)
2. Success Metrics
| Metric | Definition | Baseline | Target | Measurement Method | Timeframe |
|---|---|---|---|---|---|
| Onboarding Completion Rate | % of new tenants completing essential configuration | 70% | 95% | Onboarding funnel analytics | 3 months |
| Configuration Time | Average time to complete initial setup | 4 hours | 1.5 hours | Session duration tracking | 3 months |
| Settings-Related Support Tickets | Monthly tickets about configuration issues | 120 tickets/month | 72 tickets/month (-40%) | Help desk categorization | 6 months |
| Invoice Compliance Rate | % of invoices passing regional tax audits | 92% | 100% | Quarterly audit results | 6 months |
| Brand Guideline Adherence | % of documents matching tenant branding | 80% | 95% | Monthly document audits | 6 months |
| Configuration Error Rate | Invalid settings requiring correction | 8% of saves | <2% of saves | Validation rejection logs | 3 months |
| Self-Service Resolution | % of configuration changes without support | 75% | 90% | Support ticket correlation | 6 months |
3. User Stories
Business Admin Stories
| Priority | User Story | Acceptance Criteria |
|---|---|---|
| P0 | As a business admin, I want to set my company’s currency, timezone, and distance units so all transactions reflect my regional standards | Settings save successfully; all displays update to reflect new regional settings; historical data retains original units |
| P0 | As a business admin, I want to configure VAT percentage and invoice formatting so financial documents comply with local regulations | VAT applied correctly on invoices; electronic billing submission succeeds; audit trail shows compliance |
| P0 | As a business admin, I want to connect my Stripe account so customer payments flow to my business | Valid Stripe credentials accepted; invalid keys rejected with clear error; payment processing enabled |
| P0 | As a business admin, I want to customize rental agreements with my branding so customers see professional documents | Logo displays on generated agreements; multi-language text appears correctly; PDF generation includes all branding elements |
| P1 | As a business admin, I want to define reservation rules and buffer times so operators follow consistent booking policies | Interval warnings display at correct thresholds; calendar highlights approaching deadlines |
| P1 | As a business admin, I want to configure marketplace participation so I can share fleet with partner networks | Marketplace toggle enables/disables visibility; delivery pricing calculates correctly; distance limits enforced |
| P1 | As a business admin, I want to set cancellation policies so customers understand refund terms | Policy displays before booking; refunds calculate per policy; policy changes don’t affect existing bookings |
| P2 | As a business admin, I want to customize calendar defaults so my team sees relevant views on login | Default view loads on first access; users can override temporarily; preferences persist across sessions |
| P2 | As a business admin, I want to control email branding so communications match my brand standards | Branded emails include logo and colors; disabling removes branding; preview shows actual formatting |
Operations Staff Stories
| Priority | User Story | Acceptance Criteria |
|---|---|---|
| P0 | As operations staff, I want regional settings applied automatically so transactions and schedules are correct | All times display in tenant timezone; currency formatting consistent; distance calculations accurate |
| P1 | As operations staff, I want my personal notification preferences so I receive relevant alerts | Preferences persist; notification delivery respects preferences; changes take effect immediately |
| P2 | As operations staff, I want appropriate calendar defaults so I can quickly access relevant reservations | View defaults match admin configuration; filtering options work correctly |
Platform Support Stories
| Priority | User Story | Acceptance Criteria |
|---|---|---|
| P1 | As platform support, I want to view tenant settings so I can diagnose configuration issues | All settings visible in read-only mode; tenant isolation maintained; no cross-tenant access |
| P2 | As platform support, I want settings change history so I can track when configurations were modified | Audit log shows changes; timestamps accurate; user identity recorded |
4. Functional Requirements
| ID | Requirement | Priority | Business Rationale |
|---|---|---|---|
| FR-001 | Each tenant must have exactly one settings record with complete isolation | P0 | Data security and multi-tenant integrity |
| FR-002 | Currency selection must support 50+ global currencies with proper formatting | P0 | International market support |
| FR-003 | Timezone selection must support all IANA timezones with DST handling | P0 | Global operations scheduling |
| FR-004 | VAT configuration must support 0-100% rates with inclusive/exclusive toggle | P0 | Regional tax compliance |
| FR-005 | Stripe integration must validate credentials before enabling payment processing | P0 | Payment reliability and security |
| FR-006 | Agreement templates must support multi-language content with image branding | P0 | Professional customer experience |
| FR-007 | Reservation interval warnings must be configurable (1-168 hours) | P1 | Operational flexibility |
| FR-008 | Extra day billing threshold must be configurable (1-12 hours) | P1 | Revenue optimization |
| FR-009 | Marketplace settings must include delivery pricing and distance limits | P1 | Partner network participation |
| FR-010 | Cancellation policies must define time-based refund percentages | P1 | Customer transparency |
| FR-011 | Electronic billing integration must validate provider connectivity | P1 | Regulatory compliance |
| FR-012 | Calendar and UI defaults must be configurable per tenant | P2 | Workflow optimization |
| FR-013 | Email branding must be independently toggleable | P2 | Brand control |
| FR-014 | Distance units must support kilometers and miles with automatic conversion | P2 | Regional preference |
| FR-015 | Settings changes must be logged with user identity and timestamp | P2 | Audit trail requirements |
| FR-016 | All settings updates must validate data integrity before saving | P0 | Configuration reliability |
| FR-017 | Settings must persist across user sessions without data loss | P0 | Operational continuity |
| FR-018 | Invalid input must be rejected with clear, actionable error messages | P1 | User self-service capability |
5. Acceptance Criteria
AC-001: Regional Settings Configuration
Given a business admin accessing Settings
When they configure currency (EUR→USD), timezone (Europe/Rome→America/New_York), and distance units (km→mi)
Then all system displays reflect the new settings within 5 seconds; historical records retain original units; success confirmation displays
AC-002: VAT and Invoice Compliance
Given a business admin configuring invoicing
When they set VAT to 21% with “prices include VAT” enabled
Then generated invoices show correct VAT breakdown; total equals displayed prices; invoice passes compliance validation
AC-003: Payment Integration Setup
Given a business admin setting up Stripe
When they enter a valid public key
Then the key is validated; payment processing is enabled; invalid keys are rejected with specific error message
AC-004: Agreement Branding
Given a business admin customizing agreements
When they upload logo and enter multi-language text
Then generated agreements display logo correctly; text appears in customer’s language; PDF renders all branding elements
AC-005: Reservation Interval Enforcement
Given a configured 48-hour reservation interval
When a booking is created within 48 hours of pickup
Then the system displays a warning to the operator; calendar highlights the reservation; booking proceeds with acknowledgment
AC-006: Marketplace Participation
Given marketplace enabled with €2.50/km delivery and 100km max distance
When vehicles are listed
Then vehicles appear to marketplace partners; delivery pricing calculates correctly; orders beyond 100km are rejected
AC-007: Cancellation Policy Application
Given a cancellation policy with 75% refund >7 days, 50% refund 3-7 days, 0% refund <3 days
When customers cancel at different intervals
Then refunds calculate per policy; policy displays before booking; existing bookings honor policy at booking time
AC-008: Configuration Error Handling
Given a business admin entering invalid data (negative VAT, invalid timezone, malformed Stripe key)
When they attempt to save
Then validation rejects with specific error message; previous valid settings are preserved; error guidance enables correction
AC-009: Settings Persistence
Given a business admin saving configuration changes
When they log out and return
Then all settings are preserved exactly as saved; system operates according to saved configuration
AC-010: Tenant Data Isolation
Given users from different tenants
When they access settings
Then each user sees only their tenant’s settings; cross-tenant access attempts fail with authorization error
6. Business Rules
| ID | Rule | Business Rationale |
|---|---|---|
| BR-001 | One settings record per tenant, enforced at database level | Multi-tenant data integrity |
| BR-002 | Currency changes require confirmation when active orders exist | Prevents financial discrepancies |
| BR-003 | Stripe requires both account ID and valid public key | Payment processing reliability |
| BR-004 | Marketplace participation requires explicit opt-in with delivery configuration | Partner network protection |
| BR-005 | VAT settings affect display only; calculation logic is consistent | Tax compliance |
| BR-006 | Electronic billing requires validated provider connection | Regulatory submission reliability |
| BR-007 | Agreement templates require at least one language version | Customer document delivery |
| BR-008 | Timezone changes recalculate scheduled notifications | Communication accuracy |
| BR-009 | Cancellation policy changes apply to future bookings only | Customer fairness |
| BR-010 | Settings validation must reject partial updates; all-or-nothing commits | Configuration integrity |
7. Dependencies
Internal Systems
| System | Dependency Type | Impact |
|---|---|---|
| Multi-Tenant Architecture (PRD-01) | Foundation | Settings scoped by tenantId via RLS |
| Authentication (PRD-02) | Access Control | Role determines settings permissions |
| Payment Processing (PRD-09) | Integration | Stripe settings enable payments |
| Communication System (PRD-10) | Configuration | Email branding, notification triggers |
| Pricing Engine (PRD-07) | Configuration | Tariff settings, VAT, seasonal matrices |
| Marketplace (PRD-13) | Integration | Cross-tenant sharing configuration |
External Services
| Service | Purpose | Failure Impact |
|---|---|---|
| Stripe API | Payment credential validation | Cannot enable payment processing |
| Electronic Billing Providers | Invoice submission | Cannot meet regulatory requirements |
| Cloud Storage | Agreement images | Branded documents unavailable |
| Timezone Database | DST calculations | Scheduling inaccuracies |
8. Non-Functional Requirements
| Category | Requirement | Target |
|---|---|---|
| Performance | Settings retrieval | <200ms response time |
| Availability | Settings service uptime | 99.9% availability |
| Security | Tenant isolation | Zero cross-tenant data access |
| Audit | Change tracking | All modifications logged with user/timestamp |
| Usability | Configuration completion | 90% self-service without support |
9. Future Considerations
- Settings import/export for tenant migration
- Configuration templates for common business types
- Settings recommendations based on industry and region
- Advanced delegation for operator-level configuration
- Real-time settings sync across devices
10. Glossary
| Term | Definition |
|---|---|
| Tenant | A rental company operating with isolated data and configuration |
| RLS | Row-Level Security ensuring data isolation at database level |
| Tariff Type | Pricing calculation methodology (flat, distance, time, dynamic) |
| Electronic Billing | Automated invoice submission to tax authorities |
| Marketplace | Cross-tenant vehicle sharing network |
| Reservation Interval | Minimum lead time before pickup for operator notifications |