Partner Management - Product Requirements Document
Version: 2.0 | Status: Draft | Date: 2026-01-15
Change Log
| Version | Date | Author | Changes |
|---|---|---|---|
| 1.0 | 2026-01-09 | AI-Generated | Initial technical specification |
| 2.0 | 2026-01-15 | PRD Conversion | Business-focused rewrite: measurable outcomes, success metrics, consolidated requirements |
1. Overview
1.1 Purpose
Partner Management enables rental companies to establish B2B relationships with other Toprent.app tenants for cross-tenant fleet sharing. Companies can share vehicle inventory with partners, allowing partners to rent vehicles directly through their own accounts. This internal B2B system differs from external marketplace integration (Billion) by keeping transactions within the Toprent.app ecosystem.
1.2 Business Value
| Value Area | Current State | Target Outcome | Measurement |
|---|---|---|---|
| Revenue Expansion | Limited to owned fleet capacity | 15-25% increase in bookable inventory through partner vehicles | Monthly inventory count vs. pre-partner baseline |
| Lost Revenue Recovery | Customers turned away when fleet unavailable | 50% reduction in “no availability” rejections | Booking request fulfillment rate |
| Asset Efficiency | Idle vehicles generate no revenue | 10-15 percentage point fleet utilization improvement | (Rented days / Available days) × 100 |
| Operational Cost Avoidance | Purchasing vehicles for peak demand | €50K-100K avoided capital expenditure per partner relationship | Capital budget variance analysis |
| Platform Retention | Risk of tenant churn | 30% reduction in tenant attrition among partner-enabled companies | Annual retention rate by feature adoption |
| Commission Revenue | No B2B revenue stream | 5-10% of partner vehicle bookings as commission income | Commission tracking per order |
1.3 Target Users
- Rental Company Admins: Manage partner relationships, approve synchronization requests, configure commission rates
- Rental Company Operators: Create bookings using partner vehicles, view partner availability
- Partner Companies: Other Toprent.app tenants sharing fleet access
- Platform Admins: Monitor cross-tenant relationships, troubleshoot synchronization issues
1.4 Scope
In Scope:
- Cross-tenant fleet sharing between Toprent.app companies
- Partner profile management and rating
- Synchronization request workflow (send, accept, decline, stop, reactivate)
- Automatic vehicle copy creation upon synchronization acceptance
- Real-time vehicle updates propagated to all synchronized partners
- Commission tracking for partner-vehicle orders
- Bulk partner import
- Partner filtering, search, and visual identification
Out of Scope:
- External marketplace integration (see 13-billion-marketplace)
- Automated commission payment processing
- Partner contract document generation
- Partner performance analytics beyond rating
- Multi-level partner hierarchies
- Cross-border partner tax calculation
2. Success Metrics
| Metric | Definition | Baseline | Target | Measurement Method | Timeframe |
|---|---|---|---|---|---|
| Partner Adoption Rate | % of active tenants with ≥1 partner relationship | 0% | 40% | Partner count per tenant | 6 months post-launch |
| Fleet Expansion via Partners | Additional vehicles accessible through partnerships | 0 | +20% of owned inventory | Vehicle count (isOwn=false) | 6 months |
| Booking Fulfillment Rate | % of booking requests fulfilled (not rejected for availability) | TBD (baseline measurement) | +15 percentage points | Booking request outcomes | 6 months |
| Partner Vehicle Utilization | Rented days / Available days for partner vehicles | N/A | 50% | Booking data analysis | Quarterly |
| Synchronization Success Rate | % of sync requests reaching Accepted status | N/A | 70% | Sync status distribution | 3 months |
| Commission Revenue | Total commission earned from partner vehicle bookings | €0 | €500/month per active partner | Order commission totals | 6 months |
| Sync Request Response Time | Average days from request to accept/decline | N/A | <48 hours | Sync request timestamps | 3 months |
| Partner Satisfaction Rating | Average partner rating (1-5 stars) | N/A | ≥4.0 | Partner rating data | 6 months |
Baseline Measurement Plan:
- 30-day pre-implementation period to establish booking fulfillment baseline
- Current help desk data for partner-related support tickets
- Tenant activity logs for feature adoption baseline
3. User Stories
Admin Users
| ID | Priority | User Story | Acceptance Criteria |
|---|---|---|---|
| PM-001 | P0 | As an Admin, I want to create partner records linked to other Toprent.app companies so I can establish B2B fleet sharing | Partner record created with company linkage; confirmation displayed |
| PM-002 | P0 | As an Admin, I want to request vehicle synchronization with a partner company so their vehicles appear in my system | Sync request sent; status shows “Pending”; partner notified |
| PM-003 | P0 | As an Admin, I want to accept incoming synchronization requests so my fleet becomes available to requesting companies | Accepting request copies all owned vehicles to requester’s tenant; status changes to “Accepted” |
| PM-004 | P1 | As an Admin, I want to stop synchronization with a partner to pause fleet sharing without deleting the relationship | Status changes to “Stopped”; existing vehicles remain; no new syncs occur |
| PM-005 | P1 | As an Admin, I want to assign commission percentages to partner orders to track revenue sharing | Commission stored on order; visible in order details |
| PM-006 | P2 | As an Admin, I want to import multiple partners from CSV to quickly onboard existing relationships | Bulk creation succeeds; validation errors reported per row |
| PM-007 | P2 | As an Admin, I want to assign colors to partners for visual distinction in the calendar | Color appears on all partner vehicles in calendar view |
| PM-008 | P1 | As an Admin, I want to rate partners (1-5 stars) to track reliability | Rating stored; visible on partner profile |
| PM-009 | P1 | As an Admin, I want to view which vehicles are synchronized from each partner to audit inventory | Vehicle list filterable by partner; shows sync status |
Operator Users
| ID | Priority | User Story | Acceptance Criteria |
|---|---|---|---|
| PM-010 | P0 | As an Operator, I want to see partner vehicles in the vehicle list so I can offer them to customers | Partner vehicles appear; identified by visual indicator |
| PM-011 | P1 | As an Operator, I want to filter vehicles by partner to find specific partner inventory | Filter returns only selected partner’s vehicles |
| PM-012 | P1 | As an Operator, I want visual color indicators for partner vehicles to distinguish from owned vehicles | Partner color applied consistently across calendar and lists |
| PM-013 | P2 | As an Operator, I want to view partner contact details to coordinate vehicle handovers | Contact info accessible from vehicle or booking detail |
Partner Company Users
| ID | Priority | User Story | Acceptance Criteria |
|---|---|---|---|
| PM-014 | P0 | As a Partner Company, I want to see incoming sync requests so I can approve or decline fleet sharing | Pending requests listed; approve/decline actions available |
| PM-015 | P1 | As a Partner Company, I want to stop synchronization temporarily to pause sharing without removing the relationship | Stop action changes status; can be reactivated later |
| PM-016 | P1 | As a Partner Company, I want to reactivate stopped synchronization to resume fleet sharing | Reactivation creates new pending request for re-approval |
| PM-017 | P0 | As a Partner Company, I want my vehicle updates to automatically sync to all partners so their data stays current | Changes to info/images/damages propagate within 5 minutes |
All Users
| ID | Priority | User Story | Acceptance Criteria |
|---|---|---|---|
| PM-018 | P1 | As any user, I want clear synchronization status indicators to understand partnership states | Status displayed consistently; color-coded by state |
| PM-019 | P1 | As any user, I want to search partners by name or company to find specific partners quickly | Search returns matching results; partial matching supported |
4. Functional Requirements
| ID | Requirement | Priority | Business Rationale |
|---|---|---|---|
| Partner Management | |||
| FR-001 | System must store partner profiles (name, company, email, phone, address) | P0 | Core data for B2B relationship management |
| FR-002 | System must support partner business identifiers (VAT, fiscal codes) | P1 | Invoicing and compliance requirements |
| FR-003 | System must allow custom color assignment per partner | P2 | Visual organization for multi-partner operations |
| FR-004 | System must support partner rating (1-5 stars) | P2 | Partner performance evaluation |
| FR-005 | System must link partners to other Toprent.app company accounts | P0 | Cross-tenant relationship foundation |
| FR-006 | System must support soft deletion preserving historical references | P0 | Data integrity for order history |
| FR-007 | System must allow bulk partner creation via CSV import | P1 | Efficient onboarding of existing relationships |
| Synchronization Workflow | |||
| FR-008 | System must create synchronization requests with “Pending” status | P0 | Workflow initiation |
| FR-009 | System must require partner to be admin of their company before sync request | P0 | Security authorization |
| FR-010 | System must allow partner companies to accept/decline synchronization requests | P0 | Business approval workflow |
| FR-011 | System must copy all owned vehicles (isOwn=true) to requesting tenant upon acceptance | P0 | Core fleet sharing capability |
| FR-012 | System must support statuses: Pending, Accepted, Declined, StoppedByOwner, StoppedByPartner | P0 | Complete workflow state management |
| FR-013 | System must allow either party to stop active synchronization | P1 | Relationship pause capability |
| FR-014 | System must allow reactivation of stopped synchronization | P1 | Relationship resume capability |
| Vehicle Synchronization | |||
| FR-015 | System must automatically create vehicle copies in partner tenants when owner creates owned vehicle | P0 | Real-time inventory expansion |
| FR-016 | System must propagate vehicle updates (info, images, damages) to all partner tenants | P0 | Data accuracy across tenants |
| FR-017 | System must propagate vehicle deletions to all partner tenants | P0 | Inventory accuracy |
| FR-018 | System must copy seasonal tariffs with “[Partner]” label during initial sync | P0 | Pricing template availability |
| FR-019 | System must NOT sync prices, extra services, or tariff updates | P0 | Partner pricing independence |
| FR-020 | System must track parentRef linking copies to original vehicle ID | P0 | Cross-tenant relationship integrity |
| Commission Tracking | |||
| FR-021 | System must support commission percentage per partner vehicle order | P1 | Revenue sharing tracking |
| FR-022 | System must flag partner vehicle orders as commission-only | P1 | Financial reporting accuracy |
| Access Control | |||
| FR-023 | System must enforce tenant isolation for all partner records | P0 | Multi-tenant security |
| FR-024 | System must restrict partner management to Admin role | P0 | Authorization control |
5. Acceptance Criteria
Partner Profile Management
Given an Admin creating a new partner
When they provide name, company name, and email
Then partner record is created with unique ID scoped to current tenant
And synchronizationAvailable defaults to false
And audit trail captures creator and timestamp
Given an Admin soft-deleting a partner
When they mark the partner as deleted
Then partner is excluded from active lists
And historical orders referencing partner remain intact
And partner can be restored if needed
Synchronization Workflow
Given a Requesting Company creating a sync request
When they specify a partner who is admin of their Toprent.app company
Then synchronization record is created with “Pending” status
And partner company receives notification
And no vehicles are synchronized until acceptance
Given a Partner Company accepting a sync request
When they approve the request
Then status changes to “Accepted”
And all partner’s owned vehicles (isOwn=true) are copied to requester’s tenant within 5 minutes
And seasonal tariffs are copied with “[Partner]” label
And each vehicle copy has parentRef pointing to original
Given an Owner stopping synchronization
When they stop an active sync
Then status changes to “StoppedByOwner”
And existing synchronized vehicles remain accessible
And no new vehicle syncs occur
And new bookings on partner vehicles are blocked
Vehicle Synchronization
Given a Partner Company with accepted sync relationships
When they create a new owned vehicle
Then vehicle is automatically copied to all synced partner tenants within 5 minutes
And copy includes info, photos, damages, and seasonal tariffs
And copy has isOwn=false in partner tenant
And prices and extra services are NOT copied
Given a Partner Company updating a synchronized vehicle
When they change photos, damages, or vehicle info
Then changes propagate to all partner copies within 5 minutes
And partner’s own tariffs and prices remain unchanged
Given a Partner Company deleting a synchronized vehicle
When they delete the vehicle
Then all copies in partner tenants are marked deleted
And vehicle no longer appears in partner vehicle lists
Commission Tracking
Given an Operator creating an order using a partner vehicle
When they specify commission percentage
Then order is flagged as commission-only
And commission percentage is stored and visible in order details
And order references partner vehicle ID
6. Business Rules
| ID | Rule | Rationale |
|---|---|---|
| BR-001 | Partner records must belong to exactly one tenant | Multi-tenant data isolation |
| BR-002 | Partner email required for synchronization requests | Cross-tenant user identification |
| BR-003 | Only Admins can create/manage partner relationships | Security and business control |
| BR-004 | Synchronization requires partner to be Admin of their company | Business authorization verification |
| BR-005 | Only owned vehicles (isOwn=true) are synchronized | Prevents recursive/cascading syncs |
| BR-006 | Partners cannot edit synchronized vehicle copies (except own prices) | Ownership data integrity |
| BR-007 | Prices and extra services never sync on updates | Partner pricing independence |
| BR-008 | Stopped synchronization preserves existing copies but halts new syncs | Graceful relationship pause |
| BR-009 | Commission-based orders must reference partner vehicle | Financial accuracy |
| BR-010 | Soft deletion preserves records for historical references | Audit and reporting integrity |
7. Dependencies
7.1 Depends On
| Dependency | Requirement |
|---|---|
| 01-multi-tenant-architecture | Tenant isolation, cross-tenant relationship model |
| 02-authentication-authorization | PARTNER role, Admin role verification, user-tenant linking |
7.2 Depended By
| Dependent | Integration |
|---|---|
| 06-orders-management | Partner vehicle orders, commission tracking |
| 03-vehicle-management | Vehicle sync triggers, parentRef tracking |
| 10-calendar-management | Partner vehicle display with color coding |
7.3 Integration Points
- VehicleService: Sync triggers (create/update/delete propagation)
- OrderService: Commission tracking and partner vehicle usage
- UserTenantService: Partner user-company linking
- CompanyService: Partner company ownership validation
8. Partner Management vs. Billion Marketplace
| Aspect | Partner Management | Billion Marketplace |
|---|---|---|
| Participants | Toprent.app companies only | External marketplace customers |
| Relationship | Direct B2B peer-to-peer | Centralized B2C aggregator |
| Vehicle Access | Full CRUD in own system | Read-only feed to external platform |
| Pricing Control | Each partner sets own prices | Marketplace pricing with overprice |
| Order Source | Within Toprent.app | External webhook ingestion |
| Use Case | B2B capacity expansion | B2C customer acquisition |
Coexistence: Companies can use both—Partner Management for B2B fleet sharing and Billion Marketplace for external B2C distribution.
9. Glossary
| Term | Definition |
|---|---|
| Partner | Toprent.app tenant providing vehicles through cross-tenant fleet sharing |
| Synchronization | Process of copying vehicle data from owner’s tenant to requesting company’s tenant |
| parentRef | Reference linking vehicle copy to original vehicle ID in owner’s tenant |
| isOwn | Flag indicating whether vehicle belongs to current tenant (true) or is synchronized copy (false) |
| Commission Percent | Percentage of order revenue paid to vehicle owner for partner vehicle rentals |
| Soft Deletion | Setting deleted flag while preserving record for historical references |
| Sync Status | Current state: Pending, Accepted, Declined, StoppedByOwner, StoppedByPartner |