Skip to content

Site/Widget Builder - Product Requirements Document

Version: 2.0 | Status: Business Review | Date: 2026-01-15 | Previous Version: 1.0 (Technical Draft)


Change Log

VersionDateAuthorChanges
2.02026-01-15Product TeamConverted to business-focused format: added measurable outcomes, success metrics, consolidated requirements, strengthened acceptance criteria
1.02026-01-09EngineeringInitial 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 AreaMeasurable OutcomeTargetMeasurement Method
Revenue ExpansionNew bookings from embedded widgets+15-25% booking volume from widget sourcesOrder source attribution tracking
Brand ControlCustomer retention through white-label experience90%+ bookings complete without leaving customer domainBooking flow completion analytics
Conversion OptimizationReduced booking abandonment20-30% improvement in booking completion rateFunnel analytics comparison
Market ReachCustomers without websites launching booking capability40%+ of tenants without sites deploy within 60 daysSite creation tracking
Operational EfficiencySelf-service widget deployment80% reduction in deployment support ticketsHelp desk ticket categorization
Competitive Win RateDeals won citing embedding flexibilityTrack win/loss reasons in CRMQuarterly sales analysis

1.3 Target Users

User RoleBusiness ContextPrimary Outcome
Tenant AdminSmall-medium rental business ownerDeploy branded booking on existing website without developer involvement
PartnerWhite-label reseller or affiliateOperate booking under own brand with custom domain
End CustomerVehicle renterComplete booking without navigating to third-party platform
OperatorRental business staffTrack 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

MetricDefinitionBaselineTargetTimeframeMeasurement Method
Widget Adoption Rate% of active tenants with deployed widgets0%60%+6 monthsWidget creation + embed verification
Widget Booking VolumeMonthly bookings originating from widgets020%+ of total bookings6 monthsOrder source attribution
Site Launch Rate% of tenants creating standalone sites0%30%+6 monthsSite creation tracking
Deployment TimeTime from widget creation to live deploymentN/A (new feature)<30 minutes medianLaunchUser session analytics
Support Ticket ReductionWidget/site deployment support requestsBaseline: current custom integration tickets-80%3 monthsHelp desk categorization
Booking Completion Rate% of widget visitors completing bookingIndustry avg: 2-3%4-5%6 monthsFunnel analytics
Custom Domain Adoption% of sites using custom domainsN/A40%+ of active sites6 monthsDomain verification tracking
Configuration Self-Service% of config changes without supportN/A95%+3 monthsSupport ticket analysis

3. User Stories

3.1 Widget Configuration & Deployment

PriorityStoryAcceptance Criteria
P0As a tenant admin, I want to create a branded booking widget so that website visitors can book without leaving my siteGiven 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
P0As a tenant admin, I want to copy embed code and paste it into my website so that booking functionality goes live immediatelyGiven 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
P0As a tenant admin, I want to configure payment requirements so that I control when customers payGiven I’m configuring a widget, When I select a payment option (no payment, card verification, instant payment), Then the booking flow enforces my selection
P1As a tenant admin, I want to control which vehicles appear so that I can highlight preferred inventoryGiven I’m configuring a widget, When I set fleet type (own, partners, all) and sorting preference, Then only matching vehicles appear in configured order
P1As a tenant admin, I want to add delivery pricing rules so that customers see accurate total costsGiven I enable delivery, When I set per-km pricing and minimum thresholds, Then widget calculates and displays delivery charges based on customer address
P2As a tenant admin, I want to add custom contact info and notes so that customers see relevant operational detailsGiven 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

PriorityStoryAcceptance Criteria
P0As a tenant admin, I want to create a booking site without coding so that I can launch online presence quicklyGiven 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
P0As a partner, I want to connect my custom domain so that customers see my brand URLGiven I have a site, When I add my domain and complete DNS verification, Then my site is accessible at my domain
P1As a tenant admin, I want to add pages with predefined sections so that I can build a complete marketing siteGiven 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
P1As a partner, I want to add analytics tracking so that I can measure marketing performanceGiven I’m configuring my site, When I add my Google Analytics ID, Then page views and booking events are tracked in my GA account
P2As a partner, I want to control search engine visibility so that I can prevent indexing during setupGiven I’m configuring my site, When I enable robots-closed, Then search engines receive noindex directive

3.3 End Customer Experience

PriorityStoryAcceptance Criteria
P0As a customer, I want to search and book on a rental company’s website so that I don’t navigate away to complete my bookingGiven I’m on a website with embedded widget, When I select dates, vehicle, and complete booking, Then entire flow completes without page redirects
P0As a customer, I want to see accurate pricing including all fees so that I can make informed decisionsGiven I’m booking with delivery, When I enter my address, Then I see base price, delivery fee breakdown, and total before confirming
P1As a customer, I want to filter vehicles by type so that I find relevant options quicklyGiven I’m browsing the widget, When I select vehicle type filter, Then only matching vehicles display

4. Functional Requirements

4.1 Widget Configuration

RequirementBusiness OutcomeSuccess Criteria
Admins can create multiple widgets with unique configurationsSupport different marketing channels with tailored experiencesEach widget has independent settings; changes don’t affect other widgets
Admins can customize visual appearance (colors, fonts, spacing, borders)Brand consistency across all customer touchpointsWidget matches brand guidelines without CSS knowledge required
Admins can select from layout variants (simple, classic, white)Quick deployment without design decisionsEach variant provides complete, professional appearance
Admins can configure payment handling (no payment, card verification, authorization, instant payment)Flexibility to match business model and risk tolerancePayment flow enforces selected option; Stripe integration activates only when needed
Admins can set vehicle filters (own fleet, partners, all) and sorting preferencesControl inventory visibility and promotional positioningWidget displays only configured vehicles in specified order
Admins can configure delivery pricing with distance-based rulesAccurate pricing prevents disputes and abandoned bookingsDelivery charges calculate correctly based on address input
Widgets track events in Google Analytics when configuredMarketing attribution and conversion measurementEvents fire for: widget load, vehicle view, booking start, booking complete

4.2 Widget Embedding

RequirementBusiness OutcomeSuccess Criteria
Widget loads via single script tag and container divNon-technical users can deploy without developer assistanceCopy-paste deployment works on any standard website within 3 seconds
Widget functions on any website without conflictsCompatible with diverse customer web platformsNo JavaScript errors or style conflicts on common CMS platforms
Widget respects locale setting for all user-facing textInternational customers see appropriate languageAll buttons, labels, errors display in configured language

4.3 Site Constructor

RequirementBusiness OutcomeSuccess Criteria
Admins can create sites with subdomain and company brandingCustomers without websites gain online presenceSite accessible at subdomain within 5 minutes of creation
Admins can build pages using predefined content blocksProfessional marketing pages without design expertisePages render correctly with all block types (hero, text, photos, process steps, team)
Admins can configure SEO elements (title, description, meta tags)Discoverability in search enginesMeta tags render correctly in HTML head
Admins can add custom domains with DNS verificationProfessional brand presence with custom URLDomain serves site after verification confirms DNS configuration
Sites automatically embed the configured widgetBooking functionality on every pageWidget displays and functions identically to standalone embedding

4.4 Multi-Tenancy & Access Control

RequirementBusiness OutcomeSuccess Criteria
Widgets and sites are isolated by tenantCustomer data privacy and competitive protectionNo tenant can access another tenant’s widgets, sites, or configuration
Widget creation requires at least one vehiclePrevents empty/broken widget experiencesError displayed if no vehicles exist; creation blocked
Site creation requires at least one widgetEnsures booking functionality availableError displayed if no widgets exist; creation blocked

5. Business Rules

Widget Rules

  1. Widget names must be unique within a tenant account
  2. Payment percentage must be 0-100 (integer)
  3. Delivery pricing requires both per-km rate and distance thresholds when enabled
  4. Price markup (addPercents) applies to final calculated price
  5. Custom contacts override tenant defaults only when explicitly enabled

Site Rules

  1. Subdomains must be globally unique (lowercase alphanumeric and hyphens)
  2. Custom domains must be globally unique across platform
  3. Domain verification required before site accessible at custom domain
  4. Subdomain always remains accessible regardless of custom domain status
  5. Search engine blocking (robotsClosed) defaults to off

Content Rules

  1. All user-facing content supports multiple languages via locale configuration
  2. Missing translations fall back to English
  3. Pricing displays in tenant’s configured currency

6. Acceptance Criteria Summary

Widget Deployment (P0)

  • Admin creates widget with branding in under 10 minutes
  • Embed code deploys successfully on external website
  • Widget loads within 3 seconds on customer website
  • Vehicles display filtered and sorted per configuration
  • Booking creates order with correct source attribution
  • Payment processes per selected variant

Site Constructor (P0-P1)

  • Site accessible at subdomain within 5 minutes of creation
  • Custom domain verification completes with correct DNS
  • Pages render with configured content blocks
  • Widget embedded and functional on all pages
  • SEO meta tags render in HTML head

Multi-Tenancy (P0)

  • No cross-tenant data access possible
  • Widget embed code works only for tenant’s data
  • Site displays only tenant’s content

7. Dependencies

Upstream Dependencies

SystemDependency TypeImpact if Unavailable
Multi-Tenant ArchitectureRequiredCannot scope widgets/sites to tenants
Vehicle ManagementRequiredNo vehicles to display in widgets
Dynamic Pricing EngineRequiredCannot calculate booking prices
Order/Reservation SystemRequiredCannot create bookings
Payment ProcessingRequired for payment variantsWidget falls back to no-payment mode

External Dependencies

ServicePurposeFallback
CDNWidget script hostingPlatform-hosted fallback
DNS ProvidersCustom domain verificationSubdomain always available
Google AnalyticsEvent trackingBooking attribution via order source
StripePayment processingNo-payment variant

8. Non-Functional Requirements

CategoryRequirementTarget
PerformanceWidget initial load time<3 seconds on 3G connection
PerformanceWidget bundle size<200KB gzipped
AvailabilityWidget CDN uptime99.9%
SecurityRate limiting on public APIsPrevent abuse; no impact on legitimate use
SecurityXSS protection on user contentAll user-generated content sanitized
ScalabilityConcurrent widget instancesSupport millions of monthly requests

9. Glossary

TermDefinition
WidgetEmbeddable booking component for external websites
Site ConstructorTool for building standalone booking sites without coding
Widget VariantPre-designed layout template (simple, classic, white)
Fleet TypeVehicle visibility filter (own fleet, partners, all)
Payment VariantPayment handling mode (no payment, card verification, authorization, instant payment)
Embed CodeHTML snippets required to add widget to a webpage
Custom DomainCustomer-owned URL pointed to their site
SubdomainPlatform-provided URL ({name}.toprent.app)
BlockContent section on site page (hero, text, photo, etc.)
Robots ClosedSearch engine indexing prevention

10. Open Questions

  1. Widget usage limits per subscription tier?
  2. Custom domain SSL certificate: auto-provision or customer-managed?
  3. Widget branding watermark on free tier?
  4. Maximum sites/widgets per tenant?
  5. Content block library expansion roadmap?