Car-as-a-Service (CaaS) Subscriptions
Car-as-a-Service (CaaS) is a subscription model where customers pay a monthly fee for ongoing access to a vehicle. Unlike per-rental pricing, CaaS provides predictable monthly revenue and long-term customer relationships. Subscribers get an assigned vehicle, included mileage, and the option to swap vehicles.
What CaaS Offers
| Feature | Per-Rental | CaaS Subscription |
|---|---|---|
| Pricing | Pay per rental (hourly/daily) | Fixed monthly fee |
| Vehicle access | Different vehicle each time | Assigned vehicle |
| Commitment | None | Term-based (6, 12, or 24 months) |
| Mileage | Per-rental allowance | Monthly allowance |
| Vehicle swaps | N/A | Included (configurable) |
| Billing | Per-transaction | Recurring via Stripe |
Vehicle Classes
Vehicle classes group similar models into tiers for subscription plan eligibility. A customer subscribing to a "Comfort" plan can drive any vehicle in the Comfort class.
Setting Up Vehicle Classes
| Field | Description | Example |
|---|---|---|
| Name | Display name of the class | Economy, Comfort, Premium, Luxury |
| Description | What's included in this class | "Compact sedans and hatchbacks" |
| Display Order | Sort position in the customer-facing list | 1, 2, 3, 4 |
| Icon | Visual identifier | Car emoji or icon |
Example Class Structure
| Class | Vehicles | Monthly From |
|---|---|---|
| Economy | Compact sedans, hatchbacks | $599/mo |
| Comfort | Mid-size sedans, small SUVs | $899/mo |
| Premium | Full-size SUVs, crossovers | $1,299/mo |
| Luxury | Luxury sedans, premium SUVs | $1,999/mo |
After creating classes, assign each vehicle in your fleet to a class. A vehicle can belong to one class at a time.
Creating Subscription Plans
Each CaaS plan defines the terms of a subscription — pricing, duration, mileage, and policies.
Plan Configuration
| Field | Description | Example |
|---|---|---|
| Monthly Price | Recurring monthly charge | $899/month |
| Setup Fee | One-time enrollment fee | $199 |
| Security Deposit | Refundable deposit held for the term | $500 |
| Term Length | Contract duration in months | 12 months |
| Included Mileage | Monthly km allowance | 1,600 km/month |
| Overage per KM | Charge per km over the monthly allowance | $0.40/km |
| Vehicle Class | Which class of vehicles this plan covers | Comfort |
Policy Settings
| Field | Description | Example |
|---|---|---|
| Swap Allowance | Free vehicle swaps per month | 1 swap/month |
| Swap Fee | Cost per additional swap beyond the allowance | $50/swap |
| Early Termination Fee | Fee for ending the contract early | $500 |
| Minimum Age | Minimum driver age requirement | 25 |
| Insurance Included | Whether the plan includes insurance coverage | Yes |
| Insurance Tier | Level of included insurance (basic, premium) | Basic |
| Requires Credit Check | Whether a credit check is needed for approval | Yes |
Plan Variety
Offer 2–3 plans per vehicle class with different term lengths. Longer terms should have lower monthly rates to incentivize commitment. For example: 6-month at $999/mo, 12-month at $899/mo, 24-month at $799/mo.
Subscription Lifecycle
A CaaS subscription progresses through these statuses:
| Status | Description |
|---|---|
| Pending | Application submitted, awaiting review/approval |
| Approved | Application approved, awaiting activation |
| Activated | Subscription is live, vehicle assigned, billing active |
| Paused | Temporarily suspended (e.g., maintenance, customer request) |
| Cancelled | Cancelled by customer (early termination fees may apply) |
| Terminated | Ended by operator or system (contract violation, non-payment) |
Normal Flow
Customer Applies
The customer selects a plan and vehicle class, then submits their application. If a credit check is required, it's initiated at this point.
Operator Reviews
The application appears in the dashboard for review. Approve or deny based on credit check results and eligibility criteria.
Vehicle Assignment
Upon approval, assign a specific vehicle from the plan's vehicle class to the subscriber.
Subscription Activates
The subscriber picks up the vehicle, the first monthly payment is processed via Stripe, and the subscription status moves to Activated.
Monthly Billing
Stripe automatically charges the subscriber each month. Mileage overage charges are calculated at the end of each billing period.
Term Completion
At the end of the contract term, the subscriber can renew, upgrade, or return the vehicle.
Vehicle Assignments
Each active subscription has one vehicle assigned to it. From the dashboard, you can:
- Assign a vehicle to a new subscription
- Reassign a different vehicle (e.g., if the original needs maintenance)
- View the current assignment, including pickup date and current mileage
The assigned vehicle is exclusive to the subscriber for the duration of the assignment — it won't appear as available for other rentals or subscriptions.
Vehicle Swap Requests
Subscribers can request to swap their assigned vehicle for a different one. This is useful when subscribers want variety or when a vehicle needs servicing.
Swap Request Fields
| Field | Description |
|---|---|
| Current Vehicle | The vehicle being swapped out |
| Requested Vehicle | A specific vehicle the subscriber wants (optional) |
| Requested Vehicle Class | The class of vehicle requested (if no specific vehicle) |
| Scheduled Date | When the swap should occur |
| Reason | Why the subscriber is requesting a swap |
| Is Free Swap | Whether this swap is within the monthly allowance |
| Swap Fee | Fee charged if beyond the free allowance |
Swap Request Statuses
| Status | Meaning |
|---|---|
| Pending | Request submitted, awaiting operator review |
| Approved | Swap approved, scheduled for the requested date |
| Completed | Swap executed — new vehicle assigned |
| Cancelled | Request cancelled by subscriber or operator |
Mileage Tracking
CaaS mileage is tracked per billing period. At the start of each period, the odometer reading is recorded. At the end, the reading is taken again and the distance is calculated.
Mileage Record Fields
| Field | Description |
|---|---|
| Period Start / End | Billing period dates |
| Start Odometer | Reading at period start (km) |
| End Odometer | Reading at period end (km) |
| Total KM | Distance driven this period |
| Included KM | Monthly allowance |
| Overage KM | Distance over the allowance |
| Overage Charge | Amount due for overage |
| Source | Where the reading came from (Smartcar or manual) |
Mileage is automatically calculated when the billing period resets (via the CaaS period reset cron). Overage charges are added to the next invoice.
Example
A subscriber on a plan with 1,600 km/month included and $0.40/km overage:
| Month | Driven | Included | Overage | Charge |
|---|---|---|---|---|
| January | 1,400 km | 1,600 km | 0 km | $0.00 |
| February | 1,850 km | 1,600 km | 250 km | $100.00 |
| March | 1,600 km | 1,600 km | 0 km | $0.00 |
Unused Mileage
Unused mileage does not roll over to the next month. Each billing period starts fresh with the full monthly allowance.
Stripe Integration
CaaS subscriptions use Stripe for recurring billing. When a subscription activates:
- A Stripe subscription is created with the plan's monthly price
- The setup fee is charged as a one-time invoice item
- The security deposit is authorized (or captured, depending on configuration)
- Monthly charges process automatically on the billing cycle date
- Mileage overage charges are added as invoice items at period end
Each subscription record stores the stripe_subscription_id for tracking and management.
Handling Non-Payment
If a Stripe payment fails:
- Stripe retries according to your retry settings
- After final retry failure, the subscription can be automatically paused or terminated
- The subscriber is notified of the payment issue
Early Termination
If a subscriber ends their contract before the term expires:
- The early termination fee is charged (configured per plan)
- The subscriber returns the vehicle
- A final mileage calculation is performed
- The security deposit is released (minus any outstanding charges)
- The Stripe subscription is cancelled
- The subscription status changes to Cancelled
Clear Communication
Make sure early termination fees are clearly communicated to subscribers before they sign up. Display the fee prominently in the plan details and subscription agreement.
Need Help?
For help setting up CaaS plans or managing subscriptions, contact us at support@levyelectric.com.