Version: 2.0 | Status: Business Review | Date: 2026-01-15 | Previous Version: 1.0 (Technical Draft)
Change Log
| Version | Date | Author | Changes |
|---|
| 2.0 | 2026-01-15 | Product Team | Converted to business-focused format: added measurable outcomes, success metrics, consolidated requirements, strengthened acceptance criteria |
| 1.0 | 2026-01-09 | Engineering | Initial technical specification |
1. Executive Summary
1.1 Purpose
The Site/Widget Builder enables rental companies to create branded booking experiences through two complementary tools: embeddable booking widgets for existing websites and a lightweight site constructor for standalone booking sites. These tools eliminate technical barriers, allowing non-technical staff to deploy professional booking functionality that preserves brand identity.
1.2 Business Value
| Value Area | Measurable Outcome | Target | Measurement Method |
|---|
| Revenue Expansion | New bookings from embedded widgets | +15-25% booking volume from widget sources | Order source attribution tracking |
| Brand Control | Customer retention through white-label experience | 90%+ bookings complete without leaving customer domain | Booking flow completion analytics |
| Conversion Optimization | Reduced booking abandonment | 20-30% improvement in booking completion rate | Funnel analytics comparison |
| Market Reach | Customers without websites launching booking capability | 40%+ of tenants without sites deploy within 60 days | Site creation tracking |
| Operational Efficiency | Self-service widget deployment | 80% reduction in deployment support tickets | Help desk ticket categorization |
| Competitive Win Rate | Deals won citing embedding flexibility | Track win/loss reasons in CRM | Quarterly sales analysis |
1.3 Target Users
| User Role | Business Context | Primary Outcome |
|---|
| Tenant Admin | Small-medium rental business owner | Deploy branded booking on existing website without developer involvement |
| Partner | White-label reseller or affiliate | Operate booking under own brand with custom domain |
| End Customer | Vehicle renter | Complete booking without navigating to third-party platform |
| Operator | Rental business staff | Track booking sources for marketing attribution |
1.4 Scope
In Scope:
- Embeddable widget with visual customization (colors, fonts, layout)
- Multiple widget layout variants (simple, classic, white)
- Payment flexibility (verification, authorization, instant payment, no payment)
- Site constructor with predefined page types and content blocks
- Custom domain support with verification
- SEO optimization and analytics integration
- Multi-language support
- Vehicle filtering and sorting controls
Out of Scope:
- Advanced CMS or drag-and-drop page builder
- E-commerce beyond vehicle booking
- Blog or dynamic content management
- Third-party marketplace integrations
- A/B testing tools
2. Success Metrics
| Metric | Definition | Baseline | Target | Timeframe | Measurement Method |
|---|
| Widget Adoption Rate | % of active tenants with deployed widgets | 0% | 60%+ | 6 months | Widget creation + embed verification |
| Widget Booking Volume | Monthly bookings originating from widgets | 0 | 20%+ of total bookings | 6 months | Order source attribution |
| Site Launch Rate | % of tenants creating standalone sites | 0% | 30%+ | 6 months | Site creation tracking |
| Deployment Time | Time from widget creation to live deployment | N/A (new feature) | <30 minutes median | Launch | User session analytics |
| Support Ticket Reduction | Widget/site deployment support requests | Baseline: current custom integration tickets | -80% | 3 months | Help desk categorization |
| Booking Completion Rate | % of widget visitors completing booking | Industry avg: 2-3% | 4-5% | 6 months | Funnel analytics |
| Custom Domain Adoption | % of sites using custom domains | N/A | 40%+ of active sites | 6 months | Domain verification tracking |
| Configuration Self-Service | % of config changes without support | N/A | 95%+ | 3 months | Support ticket analysis |
3. User Stories
| Priority | Story | Acceptance Criteria |
|---|
| P0 | As a tenant admin, I want to create a branded booking widget so that website visitors can book without leaving my site | Given I have at least one vehicle, When I create a widget and set my brand colors/logo, Then the widget preview displays my branding and generates embed code I can copy |
| P0 | As a tenant admin, I want to copy embed code and paste it into my website so that booking functionality goes live immediately | Given I have a configured widget, When I copy the embed code and add it to any webpage, Then the widget loads within 3 seconds and displays my vehicles |
| P0 | As a tenant admin, I want to configure payment requirements so that I control when customers pay | Given I’m configuring a widget, When I select a payment option (no payment, card verification, instant payment), Then the booking flow enforces my selection |
| P1 | As a tenant admin, I want to control which vehicles appear so that I can highlight preferred inventory | Given I’m configuring a widget, When I set fleet type (own, partners, all) and sorting preference, Then only matching vehicles appear in configured order |
| P1 | As a tenant admin, I want to add delivery pricing rules so that customers see accurate total costs | Given I enable delivery, When I set per-km pricing and minimum thresholds, Then widget calculates and displays delivery charges based on customer address |
| P2 | As a tenant admin, I want to add custom contact info and notes so that customers see relevant operational details | Given I enable custom contacts, When I enter company name, phone, email, and notes, Then this information displays in the booking widget |
3.2 Site Constructor
| Priority | Story | Acceptance Criteria |
|---|
| P0 | As a tenant admin, I want to create a booking site without coding so that I can launch online presence quickly | Given I have at least one widget, When I create a site with subdomain and company name, Then a functional booking site is accessible at {subdomain}.toprent.app |
| P0 | As a partner, I want to connect my custom domain so that customers see my brand URL | Given I have a site, When I add my domain and complete DNS verification, Then my site is accessible at my domain |
| P1 | As a tenant admin, I want to add pages with predefined sections so that I can build a complete marketing site | Given I’m editing my site, When I add pages (Home, About, Contact, Fleet) with content blocks, Then the pages render with my content and styling |
| P1 | As a partner, I want to add analytics tracking so that I can measure marketing performance | Given I’m configuring my site, When I add my Google Analytics ID, Then page views and booking events are tracked in my GA account |
| P2 | As a partner, I want to control search engine visibility so that I can prevent indexing during setup | Given I’m configuring my site, When I enable robots-closed, Then search engines receive noindex directive |
3.3 End Customer Experience
| Priority | Story | Acceptance Criteria |
|---|
| P0 | As a customer, I want to search and book on a rental company’s website so that I don’t navigate away to complete my booking | Given I’m on a website with embedded widget, When I select dates, vehicle, and complete booking, Then entire flow completes without page redirects |
| P0 | As a customer, I want to see accurate pricing including all fees so that I can make informed decisions | Given I’m booking with delivery, When I enter my address, Then I see base price, delivery fee breakdown, and total before confirming |
| P1 | As a customer, I want to filter vehicles by type so that I find relevant options quickly | Given I’m browsing the widget, When I select vehicle type filter, Then only matching vehicles display |
4. Functional Requirements
| Requirement | Business Outcome | Success Criteria |
|---|
| Admins can create multiple widgets with unique configurations | Support different marketing channels with tailored experiences | Each widget has independent settings; changes don’t affect other widgets |
| Admins can customize visual appearance (colors, fonts, spacing, borders) | Brand consistency across all customer touchpoints | Widget matches brand guidelines without CSS knowledge required |
| Admins can select from layout variants (simple, classic, white) | Quick deployment without design decisions | Each variant provides complete, professional appearance |
| Admins can configure payment handling (no payment, card verification, authorization, instant payment) | Flexibility to match business model and risk tolerance | Payment flow enforces selected option; Stripe integration activates only when needed |
| Admins can set vehicle filters (own fleet, partners, all) and sorting preferences | Control inventory visibility and promotional positioning | Widget displays only configured vehicles in specified order |
| Admins can configure delivery pricing with distance-based rules | Accurate pricing prevents disputes and abandoned bookings | Delivery charges calculate correctly based on address input |
| Widgets track events in Google Analytics when configured | Marketing attribution and conversion measurement | Events fire for: widget load, vehicle view, booking start, booking complete |
| Requirement | Business Outcome | Success Criteria |
|---|
| Widget loads via single script tag and container div | Non-technical users can deploy without developer assistance | Copy-paste deployment works on any standard website within 3 seconds |
| Widget functions on any website without conflicts | Compatible with diverse customer web platforms | No JavaScript errors or style conflicts on common CMS platforms |
| Widget respects locale setting for all user-facing text | International customers see appropriate language | All buttons, labels, errors display in configured language |
4.3 Site Constructor
| Requirement | Business Outcome | Success Criteria |
|---|
| Admins can create sites with subdomain and company branding | Customers without websites gain online presence | Site accessible at subdomain within 5 minutes of creation |
| Admins can build pages using predefined content blocks | Professional marketing pages without design expertise | Pages render correctly with all block types (hero, text, photos, process steps, team) |
| Admins can configure SEO elements (title, description, meta tags) | Discoverability in search engines | Meta tags render correctly in HTML head |
| Admins can add custom domains with DNS verification | Professional brand presence with custom URL | Domain serves site after verification confirms DNS configuration |
| Sites automatically embed the configured widget | Booking functionality on every page | Widget displays and functions identically to standalone embedding |
4.4 Multi-Tenancy & Access Control
| Requirement | Business Outcome | Success Criteria |
|---|
| Widgets and sites are isolated by tenant | Customer data privacy and competitive protection | No tenant can access another tenant’s widgets, sites, or configuration |
| Widget creation requires at least one vehicle | Prevents empty/broken widget experiences | Error displayed if no vehicles exist; creation blocked |
| Site creation requires at least one widget | Ensures booking functionality available | Error displayed if no widgets exist; creation blocked |
5. Business Rules
- Widget names must be unique within a tenant account
- Payment percentage must be 0-100 (integer)
- Delivery pricing requires both per-km rate and distance thresholds when enabled
- Price markup (addPercents) applies to final calculated price
- Custom contacts override tenant defaults only when explicitly enabled
Site Rules
- Subdomains must be globally unique (lowercase alphanumeric and hyphens)
- Custom domains must be globally unique across platform
- Domain verification required before site accessible at custom domain
- Subdomain always remains accessible regardless of custom domain status
- Search engine blocking (robotsClosed) defaults to off
Content Rules
- All user-facing content supports multiple languages via locale configuration
- Missing translations fall back to English
- Pricing displays in tenant’s configured currency
6. Acceptance Criteria Summary
Site Constructor (P0-P1)
Multi-Tenancy (P0)
7. Dependencies
Upstream Dependencies
| System | Dependency Type | Impact if Unavailable |
|---|
| Multi-Tenant Architecture | Required | Cannot scope widgets/sites to tenants |
| Vehicle Management | Required | No vehicles to display in widgets |
| Dynamic Pricing Engine | Required | Cannot calculate booking prices |
| Order/Reservation System | Required | Cannot create bookings |
| Payment Processing | Required for payment variants | Widget falls back to no-payment mode |
External Dependencies
| Service | Purpose | Fallback |
|---|
| CDN | Widget script hosting | Platform-hosted fallback |
| DNS Providers | Custom domain verification | Subdomain always available |
| Google Analytics | Event tracking | Booking attribution via order source |
| Stripe | Payment processing | No-payment variant |
8. Non-Functional Requirements
| Category | Requirement | Target |
|---|
| Performance | Widget initial load time | <3 seconds on 3G connection |
| Performance | Widget bundle size | <200KB gzipped |
| Availability | Widget CDN uptime | 99.9% |
| Security | Rate limiting on public APIs | Prevent abuse; no impact on legitimate use |
| Security | XSS protection on user content | All user-generated content sanitized |
| Scalability | Concurrent widget instances | Support millions of monthly requests |
9. Glossary
| Term | Definition |
|---|
| Widget | Embeddable booking component for external websites |
| Site Constructor | Tool for building standalone booking sites without coding |
| Widget Variant | Pre-designed layout template (simple, classic, white) |
| Fleet Type | Vehicle visibility filter (own fleet, partners, all) |
| Payment Variant | Payment handling mode (no payment, card verification, authorization, instant payment) |
| Embed Code | HTML snippets required to add widget to a webpage |
| Custom Domain | Customer-owned URL pointed to their site |
| Subdomain | Platform-provided URL ({name}.toprent.app) |
| Block | Content section on site page (hero, text, photo, etc.) |
| Robots Closed | Search engine indexing prevention |
10. Open Questions
- Widget usage limits per subscription tier?
- Custom domain SSL certificate: auto-provision or customer-managed?
- Widget branding watermark on free tier?
- Maximum sites/widgets per tenant?
- Content block library expansion roadmap?