Skip to content

Communications - Product Requirements Document

Version: 2.0 | Status: Ready for Review | Last Updated: January 2026

Change Log

VersionDateAuthorChanges
2.0January 2026Product TeamConverted to business-focused format; added success metrics; consolidated requirements
1.0InitialProduct TeamTechnical implementation specification

1. Overview

1.1 Purpose

The Communications system provides multi-channel notification capabilities for Toprent.app, enabling rental companies to send automated and manual email and SMS messages to clients, staff, and partners throughout the rental lifecycle.

1.2 Business Value

Value ClaimMeasurable OutcomeTargetTimeframe
Reduces manual communication overhead75% reduction in manual notification tasksFrom 40+ manual sends/day to <10Within 3 months
Improves customer experienceCustomer satisfaction score for communicationsBaseline +15 points (NPS)Within 6 months
Increases operational efficiencyStaff time saved on communication tasks10+ hours/week per companyWithin 3 months
Brand consistencyTemplate compliance rate95%+ of messages use branded templatesWithin 2 months
Multi-language supportInternational customer coverage90%+ messages in recipient’s preferred languageWithin 4 months
Delivery trackingMessage delivery visibility99%+ delivery status trackedWithin 1 month

1.3 Target Users

User RoleBusiness ContextKey Needs
Company AdministratorsManage brand identity and communication policiesTemplate customization, notification controls, delivery monitoring
Operations StaffHandle day-to-day rental workflowsAutomated notifications, reduced manual intervention
CustomersComplete rental transactionsTimely updates, clear next steps, preferred language
Couriers/DriversExecute vehicle deliveriesImmediate assignment notifications, location links
Business OwnersOversee company performanceCommunication analytics, cost visibility

1.4 Scope

In Scope:

  • Email template management with customization per tenant
  • SMS notifications via Twilio integration
  • Automated notifications triggered by order events
  • Manual communication sending
  • Link shortening for improved deliverability
  • Multi-language template support (9 languages)
  • Message delivery tracking
  • Company branding integration

Out of Scope:

  • Push notifications
  • In-app messaging
  • WhatsApp or other messaging platforms
  • Advanced marketing automation
  • A/B testing for communications

2. Success Metrics

MetricDefinitionBaselineTargetMeasurement Method
Automation Rate% of notifications sent automatically vs. manuallyTo be measured90%+ automatedMessage logs categorized by trigger type
Delivery Success Rate% of messages successfully deliveredTo be measured98%+ emails, 95%+ SMSDelivery status tracking in database
Time to NotificationAverage time from event to message sentManual: 5-15 minAutomated: <30 secondsTimestamp comparison (event → send)
Template Utilization% of companies using custom templatesTo be measured70%+ companiesTemplate table analysis per tenant
Language Coverage% of messages sent in recipient’s preferred languageTo be measured90%+Message logs with locale matching
Staff Time SavingsHours saved per week on manual communications15+ hours/company10+ hours savedTime study before/after implementation
Customer Response Rate% of customers clicking notification linksTo be measured40%+ click-throughLink tracking analytics
SMS Cost EfficiencyCost per successful SMS deliveryTo be measured<$0.05 averageTwilio billing reports

Measurement Schedule:

  • Weekly: Delivery rates, automation rate
  • Monthly: Template utilization, language coverage, cost efficiency
  • Quarterly: Customer satisfaction, time savings analysis

3. User Stories

P0 - Critical (Launch Blockers)

US-1: Automated Order Notifications

  • As an operations staff member, I want order confirmation emails sent automatically so that I don’t need to manually notify each customer
  • Priority: P0
  • Acceptance Criteria:
    • Given a new order is created, when the order status is confirmed, then email is sent to customer within 30 seconds
    • Given order status changes, when status is significant (e.g., confirmed → in progress), then all relevant stakeholders receive notifications
    • Given a notification fails, when delivery error occurs, then error is logged and staff can view failure reason

US-2: SMS Driver Assignment

  • As a courier, I want immediate SMS notification when assigned to a delivery so that I can begin preparations
  • Priority: P0
  • Acceptance Criteria:
    • Given a driver is assigned to an order, when assignment is saved, then SMS is sent within 10 seconds
    • Given SMS contains order details, when driver receives message, then pickup location link is clickable and opens maps
    • Given phone number is invalid, when system attempts to send, then error is reported and assignor is notified

US-3: Template Variable Substitution

  • As an administrator, I want emails to include order-specific details so that customers receive personalized, accurate information
  • Priority: P0
  • Acceptance Criteria:
    • Given a template with variables, when email is rendered, then all variables (order number, dates, vehicle, pricing) are correctly populated
    • Given a variable has no value, when rendering occurs, then graceful fallback or empty string is used (no broken tokens visible)

P1 - High Priority (Core Functionality)

US-4: Custom Template Management

  • As an administrator, I want to customize email templates to match my company brand so that communications appear professional and consistent
  • Priority: P1
  • Acceptance Criteria:
    • Given access to template management, when admin edits template, then changes save and apply to future messages immediately
    • Given company branding is enabled, when email is sent, then company logo and colors appear in header/footer
    • Given template preview, when admin views preview, then rendered email matches what customer will receive

US-5: Multi-Language Support

  • As a customer, I want notifications in my preferred language so that I can understand important information about my rental
  • Priority: P1
  • Acceptance Criteria:
    • Given customer has language preference set, when notification is sent, then message uses matching locale template
    • Given no template exists for preferred locale, when notification is sent, then English fallback is used
    • Given 9 supported languages, when templates are created, then all locales can have unique content

US-6: Delivery Status Tracking

  • As an administrator, I want to see message delivery status so that I can troubleshoot communication issues
  • Priority: P1
  • Acceptance Criteria:
    • Given a message is sent, when delivery status changes, then status is updated in system
    • Given delivery fails, when admin queries message history, then failure reason is visible
    • Given SMS delivery, when Twilio webhook fires, then status is updated in real-time

P2 - Medium Priority (Enhancements)

US-7: Self-Check-In Email

  • As a customer, I want to receive a self-check-in email with a direct link so that I can complete check-in independently
  • Priority: P2
  • Acceptance Criteria:
    • Given self-check-in is enabled, when order is within check-in window, then email with unique link is sent
    • Given link is clicked, when customer authenticates, then they land directly on check-in workflow
    • Given customer already checked in, when system evaluates, then duplicate email is not sent

US-8: Birthday and Feedback Emails

  • As a company, I want to send birthday greetings and feedback requests to build customer relationships
  • Priority: P2
  • Acceptance Criteria:
    • Given birthday greeting is enabled, when today matches customer’s birth date, then greeting email is sent (once per year)
    • Given feedback request is enabled, when order is completed, then feedback email is sent within configured window
    • Given either feature is disabled, when conditions are met, then no email is sent

US-9: SMS Usage and Billing

  • As a business owner, I want SMS costs tracked and reported so that I can manage communication expenses
  • Priority: P2
  • Acceptance Criteria:
    • Given SMS is sent, when delivery succeeds, then usage is reported to billing system
    • Given billing query, when owner reviews costs, then SMS count and costs are visible per period
    • Given pricing information, when cost is calculated, then Twilio actual rates are used

4. Functional Requirements

4.1 Email Notifications

FR-1: Template-Based Emails

  • System must support customizable email templates per company
  • Supported template types: Order notifications, status updates, self-check-in invitations, payment notifications, birthday greetings, feedback requests, authentication links
  • Templates must support company branding (logo, colors, footer)
  • Templates must render responsively for mobile and desktop

FR-2: Variable Substitution

  • Templates must support dynamic variables: order details, customer information, vehicle information, company branding, action links, location information
  • Missing variables must render gracefully without displaying raw tokens

FR-3: Multi-Locale Templates

  • Each template type can exist in multiple languages (en, fr, ar, de, pt, es, it, hu, pl)
  • System must select template matching recipient’s preferred language
  • System must fall back to English when preferred locale unavailable

4.2 SMS Notifications

FR-4: SMS Delivery

  • System must send SMS via Twilio for: order status changes, driver assignments, signature requests, OTP verification, check-in reminders
  • System must validate phone numbers before sending
  • System must track delivery status for each message

FR-5: SMS Optimization

  • All URLs in SMS must be shortened for deliverability
  • Message content must be optimized for SMS character limits
  • Links must include company context for post-authentication routing

4.3 Automated Triggers

FR-6: Event-Driven Notifications

  • System must automatically send notifications on: order creation, status changes, driver assignment, payment confirmation, check-in window opening
  • System must respect recipient notification preferences
  • System must not send duplicate notifications for same event

FR-7: Shortened Links

  • All private application links must be shortened
  • Links must preserve destination after authentication
  • Links must include partial company identifier for context switching

4.5 Delivery Tracking

FR-8: Status Monitoring

  • System must track delivery status for all messages (sent, delivered, failed)
  • System must log delivery failures with error details
  • System must mask PII in error logs

5. Business Rules

Notification Triggers

RuleConditionAction
BR-1Order created + recipients enabled + valid contactsSend order notification
BR-2Status changed to configured notification stateSend status update to relevant parties
BR-3Order in check-in window + self-check-in enabled + not already checked inSend self-check-in email
BR-4Birthday setting enabled + template exists + today = birth date + not sent this yearSend birthday greeting
BR-5Feedback setting enabled + template exists + order completed in window + not sentSend feedback request

Delivery Rules

RuleConditionAction
BR-6Recipient opted outSkip notification, log skip reason
BR-7Phone number invalid (Twilio lookup)Reject SMS, return error
BR-8Email invalid or bouncedSkip email, log reason
BR-9Private app route or long URLShorten link before sending
BR-10API rate limit reachedQueue for retry with backoff

Template Rules

RuleConditionAction
BR-11No template exists for typeCreate default empty template
BR-12Attempting duplicate type+localeReject creation
BR-13Deleting last template of typeBlock deletion, disable related settings
BR-14Template updatedApply to future messages only

6. Acceptance Criteria

Email System

  • Given new order, when confirmation sent, then customer receives within 30 seconds
  • Given custom template, when email sent, then company branding appears correctly
  • Given template variables, when rendered, then all values populated accurately
  • Given multi-locale setup, when recipient has language preference, then correct locale template used
  • Given template deletion attempt on last template, when confirmed, then deletion blocked with explanation

SMS System

  • Given driver assignment, when SMS sent, then delivery within 10 seconds
  • Given invalid phone number, when send attempted, then error returned without delivery attempt
  • Given successful delivery, when status updated, then tracking record created
  • Given SMS with URL, when message sent, then link is shortened and clickable
  • Given SMS sent, when billing calculated, then cost recorded in billing system

Automated Notifications

  • Given order status change, when relevant parties identified, then each receives appropriate notification
  • Given notification preferences disabled, when trigger fires, then message not sent
  • Given same event fires twice, when system processes, then only one notification sent
  • Given self-check-in enabled, when customer already checked in, then no duplicate email

Delivery Tracking

  • Given any message sent, when delivery attempt completes, then status recorded
  • Given delivery failure, when admin queries history, then error reason visible
  • Given error logging, when PII present, then sensitive data masked

7. Dependencies

Upstream Dependencies

SystemDependency TypeImpact if Unavailable
Multi-Tenant ArchitectureTenant isolation for templatesTemplates not properly scoped
Client ManagementContact information, preferencesCannot deliver notifications
Order SystemLifecycle events triggering notificationsNo automated notifications
AuthenticationLink redirect handlingLinks fail after sign-in
Vehicle ManagementVehicle info in notificationsIncomplete message content

Downstream Dependencies

SystemDependency TypeImpact if Communications Unavailable
Self-Check-InEmail link deliveryCustomers cannot initiate check-in
BillingSMS usage trackingInaccurate communication costs
ReportingMessage delivery analyticsNo communication metrics

External Dependencies

ServicePurposeFallback
TwilioSMS deliveryNone (required for SMS)
External MailerEmail deliveryNone (required for email)
Link ShortenerURL shorteningUse full URLs (degraded experience)

8. Non-Functional Requirements

CategoryRequirementTarget
PerformanceEmail send latency<5 seconds from trigger
PerformanceSMS send latency<10 seconds from trigger
ReliabilityMessage delivery uptime99.5%+
ScalabilityConcurrent notifications1,000+ per minute
SecurityPII in logsMasked (phone: +1XXXXXXX123)
ComplianceMessage audit trail2 years retention

9. Glossary

TermDefinition
TemplateReusable, customizable message structure stored per company
Link ShorteningCreating compact URLs for tracking and deliverability
Partial Company IDShortened identifier (removes last 8 characters) for URL security
OTPOne-Time Password sent via SMS for verification
Magic LinkPasswordless authentication link sent via email
E.164 FormatInternational phone number standard (+country code + number)
Delivery WebhookCallback from Twilio reporting SMS delivery status