Short-Term Reservations
Short-term reservations — sometimes called vehicle holds — let a rider tap a specific scooter on the map and reserve it for a few minutes while they walk over. The vehicle goes into Reserved status and is invisible to other riders until the hold expires, the rider cancels, or the rider unlocks it to start the ride.
This is different from the Advance Booking module, which is for booking a vehicle for a future date and time. Short-term holds are for "I want this scooter right now; just hold it for me."
How it works
- The rider opens the mobile app and taps a scooter on the map.
- They tap Reserve for N min in the action sheet.
- The app shows a confirmation with the duration and any fee.
- On confirm, the vehicle's status flips to Reserved and the rider sees a countdown banner.
- Other riders no longer see this vehicle on the map.
- The rider walks to the scooter and unlocks it — the ride starts normally.
- If the rider doesn't unlock in time, the hold expires automatically and the vehicle returns to Available.
Configuring it (Settings page)
Go to Dashboard → Settings → Rides and find the Reservation Time section. You'll see five fields:
| Setting | What it does |
|---|---|
| Default duration | The default hold length the mobile app suggests. Riders can hold for less, but never more than the maximum below. |
| Maximum allowed | The hard ceiling. Setting this to 0 disables short-term reservations entirely for your fleet. |
| Reservation fee | One of: Free (no charge), Fixed fee (flat amount per hold), or Per-minute rate (charged per minute reserved). |
| Fee amount / Rate per minute | The fee value, in your fleet's payment currency. Visible only when the fee mode is Fixed or Per-minute. |
| Credit fee back on unlock | If checked, the fee is refunded to the rider's wallet when they unlock the vehicle within the window. Visible only when a fee is set. |
Recommended starting configuration
- Default duration: 10 minutes
- Maximum allowed: 15 minutes
- Fee: $0.50 fixed
- Credit fee back on unlock: on
This setup nudges riders to actually unlock the vehicle (because the fee gets credited back), but penalizes riders who hold vehicles speculatively and never show up. If your fleet has a no-show problem, turn Credit fee back off — the fee is then kept regardless.
Per-minute fees
If you charge per-minute, the rider is billed for the full hold duration they pick at the moment they tap Reserve — not the actual time they end up holding. So a rider who reserves 15 minutes but unlocks after 3 still gets charged for 15 (or has 15 minutes' worth credited back, if that's enabled). This keeps the math predictable for the rider.
Currency
Reservation fees are always charged in the fleet's payment currency — the same currency configured in Settings → Payments → Currency. So a fleet operating in CAD will charge a CAD reservation fee, an EU operator will charge in EUR, etc. There's no per-rider currency conversion.
What riders see
When a rider has an active hold:
- In the mobile app: a countdown banner shows time remaining, with a Cancel reservation button.
- On their map: the held scooter remains visible (marked as held by them).
- On other riders' maps: the scooter disappears entirely.
If a rider tries to reserve a vehicle that's already held (race condition), they get a friendly "Vehicle was just taken by someone else" message.
What operators see
The vehicle's status in the dashboard switches to Reserved while the hold is active, then back to Available when the hold expires or is cancelled. You don't need a separate "holds" page — the vehicle status column already tells you everything.
Cancellation policy
- Rider cancels manually: the fee is not refunded. The rider made a commitment when they tapped Reserve.
- Hold expires (no-show): the fee is kept.
- Rider unlocks within window: the fee is kept, OR credited back to the wallet, depending on the Credit fee back on unlock setting.
If you need to issue a manual refund for an unhappy rider, do it from the rider's wallet detail page (use a wallet credit referencing the hold). Never adjust the wallet without a paper trail.
Disabling the feature
Set Maximum allowed to 0. The reserve button in the mobile app will start returning a "this operator does not allow short-term reservations" error and the rider can't initiate new holds. Existing active holds are not affected — they'll run out and clean up normally.
Common questions
Can riders extend an active hold? Not yet. The rider must wait for the current hold to expire (or cancel and re-reserve, which means paying a second fee).
Does the reservation fee count toward the ride cost? Only when Credit fee back on unlock is checked. In that case it's a wash: rider effectively pays nothing for the hold if they actually take the ride. When unchecked, the fee is separate from the ride cost — both are independently billed.
What if a vehicle goes offline during a hold? The hold remains valid until expiry, but the unlock at the end will still need a fresh telemetry signal. If the vehicle is offline for too long, the unlock will fail with a normal "vehicle offline" error and the rider can cancel the hold.
Does the rider need a payment method on file? Yes — if there's a fee, the rider's wallet balance must cover it. The mobile app returns an "Insufficient balance" message and prompts the rider to add funds.
How long is the hold cleanup grace period? A cleanup job runs every minute and immediately expires any hold whose time has run out, returning the vehicle to Available.