The Challenge
The car rental industry in the premium and luxury segment still relies heavily on manual processes: phone calls, paperwork, in-person document verification, and cash or terminal payments at pick-up. This creates friction for customers and limits operational scalability for dealers and fleet operators.
WheelsOn set out to change that — building a platform where a customer can rent a car without ever visiting an office.
The product scope was deliberately ambitious from day one:
- online vehicle catalog with rich listing management;
- full rental flow covering selection, documents, identity verification, payment, and delivery;
- dealer and fleet management panel;
- native mobile apps for iOS and Android;
- real-time order tracking and push notification system.
The team had no existing codebase — everything had to be designed, architected, and built from scratch under time and budget constraints.
The Architecture
We structured the platform as three independently deployable layers: a web frontend, a REST API backend, and a cross-platform mobile application — all sharing a single domain model and data layer.
Vehicle Listings & Catalog
The catalog system supports structured listings with rich metadata — vehicle class, specifications, photos, pricing rules, and availability windows.
Dealers can:
- create and manage their own fleet listings;
- configure pricing by day, week, or custom period;
- set availability calendars;
- publish, pause, or archive listings independently.
Search and filtering on the consumer side supports faceted queries across vehicle class, price range, transmission, and availability dates, with results delivered from a cached query layer for low-latency response.
Full Rental User Journey
The core product experience covers the complete rental lifecycle in a single online flow:
- Vehicle selection — browse catalog, view details, check availability;
- Document upload — driving licence, passport or national ID, additional documents as required;
- KYC verification — automated identity check against uploaded documents;
- Payment — online card payment via Stripe, with deposit hold support;
- Delivery scheduling — customer selects date, time window, and delivery address;
- Order tracking — real-time status updates pushed to the mobile app and web.
Each step is persisted as a distinct order state, allowing users to pause and resume the flow across devices and sessions.
Dealer Management Panel
Fleet operators and dealers access a dedicated management interface separate from the consumer marketplace.
Key capabilities include:
- fleet and listing management;
- incoming order review and approval;
- document and KYC status visibility;
- delivery scheduling and assignment;
- payment and payout reporting;
- order history and customer communication.
Role-based access control allows dealer accounts to be scoped to specific fleet segments or operational responsibilities.
KYC & Document Verification
Identity verification was integrated as a dedicated service within the rental flow.
The system:
- accepts document images uploaded from mobile or web;
- extracts and validates key fields automatically;
- cross-references against submission data;
- returns a verification decision within minutes;
- flags edge cases for manual review by the dealer.
This removes the need for in-person identity checks and dramatically reduces the time between booking intent and confirmed rental.
Payment Processing
Stripe was integrated as the primary payment provider, supporting the requirements of a rental marketplace:
- full payment at booking;
- refundable deposit holds;
- partial refunds on cancellation;
- payout flow to dealer accounts.
All payment events are recorded against the order and surfaced in both the customer-facing order history and the dealer management panel.
Mobile Application
Flutter was chosen to deliver a high-quality native experience on both iOS and Android from a shared codebase, reducing development overhead without compromising feel.
The mobile app covers the complete rental journey and adds:
- push notifications at every order status transition;
- document camera capture flow;
- delivery tracking view;
- order history and receipt access.
Firebase Cloud Messaging handles notification delivery, with fallback handling for background and terminated app states.
Technology Stack
Frontend (Web)
- React
- TypeScript
Backend
- Python
- Django Rest Framework
Mobile
- Flutter (iOS & Android)
Data Layer
- PostgreSQL
- Redis
Payments
- Stripe
File Storage
- AWS S3
Notifications
- Sendbird (Push Notifications)
Infrastructure
- Docker
- AWS
The Outcome
WheelsOn launched as a fully operational platform, enabling customers to complete the entire rental process — from vehicle discovery to confirmed delivery — without offline touchpoints.
Dealers gained a structured operational tool replacing ad-hoc communication and manual coordination.
Key Results
- Automated 7 steps of the rental journey end-to-end
- KYC verification completed in under 3 minutes per customer (estimated)
- Push notifications delivered within 5 seconds of order status change (estimated)
- Single codebase covering iOS and Android native mobile experience
- Dealer onboarding time reduced by approximately 60% compared to manual processes (estimated)
The platform provides a scalable foundation for expanding into new markets and vehicle categories, with the modular architecture supporting additional fleet operators without structural rework.