1 · Getting in
The console is at /cosmos-scoot/ops. You sign in with an operator key — there is no username. The key is stored on that device only, so signing in on a new phone means entering it again.
The other backend pages share the same key and the same top navigation: Payments, Onboard, and the per-vehicle page you reach by opening a scooter from the Vehicles list. The rider app is what your customers see.
2 · The numbers that get misread
Two figures on this console look like revenue and are not. Getting these the wrong way round is how an operator spends money that is not theirs.
Three money words, and they are not the same number
The console used to call all three “revenue”. They differ for good reasons, so each now has its own name. Reading one as another is how an operator budgets against money that is not there.
| Word | What it counts | Where |
|---|---|---|
| Earned | Ride charges actually taken from wallets, less refunds. This is your money. | Overview, Money |
| Collected | What riders paid IN — top-ups and plans. Much of it may still be sitting in their wallets, unspent. Money received, not money earned. | Overview, Money |
| Billed | What the rides came to, including rides that were never paid. It measures what the fleet produced, not what you took. | Rides |
So a rider who tops up R200 and rides R120 adds R200 collected, R120 earned, and leaves R80 wallet held — which is theirs, not yours. All three of those numbers are correct at the same time.
3 · The console, tab by tab
The navigation is in four groups, because they answer four different questions.
Operations — what is happening now
| Tab | What it is for | The number to watch |
|---|---|---|
| Overview | The shape of the fleet in one screen: in use, available, idle, faults, and the live event feed. | Available. If it falls while Idle rises, scooters are parked in the wrong places. |
| Fleet Map | Every scooter on the map, coloured by battery and status. Click one to open it. | Clusters. A cluster away from a bay is a rebalance job. |
| Rides | Every completed ride. Open one to replay its route and read its operation record. | Auto-ended. A ride the rider did not end themselves — see §5. |
| Tasks | Field work the system worked out for itself: battery swaps, rebalances, maintenance. | The count in the sidebar badge. |
| Work Orders | Repairs you raised, with their state and who they are with. | Open work orders older than a few days. |
Fleet — what you are running it with
| Tab | What it is for | The number to watch |
|---|---|---|
| Fleets | Groups of scooters. Useful once you run more than one area or more than one owner's units. | Revenue per fleet. |
| Vehicles | The list. Search, filter, change status, select several and act on them together. | Units offline. An offline scooter earns nothing and may be gone. |
| Zones | Draw where riding, parking and slow-speed apply. This is the geofence the scooters obey. | Whether your parking bays match where riders actually finish. |
Business — what the business is doing
| Tab | What it is for | The number to watch |
|---|---|---|
| Riders | The people who ride. Search, open one, and act on their account. See §4. | Wallet held — and remember what it is. |
| Money | Every transaction, refunds, and the payout estimate, in one place. | Refunded. A rising refund rate is a fleet problem wearing a money costume. |
| Pricing | Unlock fee, per-minute rate, top-up amounts, plans and VAT. | Changing this does not change past receipts — see §7. |
Configuration — how it behaves
| Tab | What it is for | The number to watch |
|---|---|---|
| Rules | Speed caps, low-battery threshold, maximum ride length, auto-end timers and the alert routing. | Auto-end timers. They decide how many rides land as "auto-ended". |
| Reports | Build and export a report over fleet, transactions, safety or demand. | — |
4 · Riders, and acting on one
Open a rider from the Riders tab to see their rides, their payments, and the four things you can do to their account. Every one of them needs a reason, and the reason is kept on the record with your name against it.
That is not paperwork. An adjustment to someone's balance with no stated cause is indistinguishable, later, from a member of staff helping themselves. The reason is what makes the difference visible.
| Action | What it actually does | Undo? |
|---|---|---|
| Suspend | The rider can no longer unlock a scooter. Immediately — not at the end of the day. Their wallet, history and receipts are untouched, and they can still see their account. They are told the reason you typed, so write it for them to read. | Yes — lift it |
| Credit the wallet | Adds credit they can spend on rides. It is not a top-up: they paid you nothing, so it never counts as money collected, and it cannot be refunded to a card they never charged. | Yes — debit it back |
| Debit the wallet | Takes credit away. If you try to take more than they hold, it is refused, not quietly reduced — so the amount you see is always the amount that moved. | Yes — credit it back |
| Change the plan | Puts them on a plan for a set number of days. A plan with no end date is refused, because it would never expire. | Yes — set it back |
| Add a note | Writes a line on the audit trail and changes nothing else. Use it to record a phone call. | No — but it is only a note |
5 · Rides, replay and the operation record
Open any ride from the Rides tab. Two things there are worth knowing about.
The route
The actual path the scooter took, with the start and end marked. This is how you settle "I was nowhere near there" and "I did park it in the bay". The trail is kept for recent rides; older rides keep the fare, the distance and the receipt but say plainly that the trail is no longer held. "No longer held" and "nothing happened" are not the same thing, and the page says which one it is.
The operation record
A list, in order, of what was asked of the scooter and what the scooter said back. Two columns carry the meaning:
- Kind — a request is something we sent. A callback is the scooter reporting its own state. Only a callback is evidence.
- Initiator — User is the rider. System is automatic. A name is a member of your staff who did it from this console.
The same distinction explains Ended by in the ride list. rider means they tapped end. Anything else means the system ended it — an idle timer, a maximum ride length, or a member of staff. Never tell a customer they ended a ride the watchdog ended.
6 · Money
The Money tab shows every transaction with its type. The types mean:
| Type | Meaning | Refundable? |
|---|---|---|
topup | The rider paid money in by card. | To the card, once |
ride / charge | A ride fare taken from their wallet. | Back into the wallet |
refund | A reversal you already made. | No |
plan | They bought a plan. | No — adjust the wallet instead |
operator_credit | You gave them credit. They paid nothing. | No — debit it instead |
operator_debit | You took credit back. | No — credit it instead |
The refund button only appears on rows that can actually be refunded. If it is not there, the answer is an adjustment on the rider, not a refund — and the table above says which.
7 · What cannot be undone
Read this list once before you need it.
| Action | Where | Why it is final |
|---|---|---|
| Refund to a card | Rider → Payments | The money leaves for the rider's bank through the payment provider. It cannot be pulled back from here. It can also only be done once per payment. |
| Refund a ride into the wallet | Rider → Payments | The ride is marked refunded and will not offer the button again. You can debit the wallet afterwards, but the ride stays marked. |
| Remove a vehicle | Vehicles → bulk actions | The scooter and its live state are deleted. Its past rides and receipts survive on the riders, but the unit must be onboarded again from scratch. |
| Rotate a key | Team | The old key stops working everywhere immediately, and the new one is shown once and never again. |
| An audit-trail line | Rider → Audit trail | It is a record. It is meant to be permanent — that is the whole point of it. |
8 · Who to give which key to
Roles decide which console someone lands on and what they may do. The scooter roles are separate from the taxi ones on purpose — on the taxi side "ops" means the insurer's staff, which is nothing like your operations manager.
| Role | Give it to | They can |
|---|---|---|
scoot_ops | Your operations manager | Everything on this console: fleet, riders, money, remote lock and unlock. |
scoot_tech | The field technician doing swaps and repairs | See vehicles and work orders. Not a rider's money. |
scoot_support | Whoever answers the phone | Look up a rider and a ride to answer a question. Not act on them. |
scoot_viewer | Anyone who only needs to look | Read only. |
9 · The scooters, and their fault codes
The fleet runs on OKAI ES700 scooters. Each one is four parts that watch each other: the meter you see, the ECU that drives the motor, the battery, and the IoT module that talks to this console. When one stops answering, the meter raises a fault naming which one it was.
Codes are shown as they come off the scooter. The ones worth knowing on sight:
| Code | Means | What to do |
|---|---|---|
26E | The meter cannot hear the IoT module | The scooter is running but is going dark to you. Field visit. |
28E | IoT and ECU do not match | Treat as theft or cannibalisation. The parts are cryptographically paired, so this means something was swapped. |
02E | Battery under voltage | Charge it or swap the pack. |
14E | Cell failure — broken nickel strip | Scrap the pack. It is not repairable. |
15E | ECU firmware lost | Reflash. A failed update, not a broken part. |
10E 19E 20E | Brake lever faults | Several of these are raised during the self-test when a rider unlocks — which is why an unlock can fail with a reason rather than just failing. |
The full catalogue is in the console under Rules, and any code can be looked up individually.
10 · When something goes wrong
A rider says they were charged for a ride they ended
- Rides tab → find the ride → Open.
- Look at Ended by. If it is not rider, the system ended it and they are right to ask.
- Read the operation record. If the lock request has no callback, the scooter never confirmed — that is a fleet fault, and the refund is yours to make.
- Refund the ride into their wallet from the rider's Payments list.
A scooter has gone offline
- Vehicles → open it. Check when it last reported.
- Send a locate. If it is not sent, the unit is not connected — the console tells you which of those it is rather than reporting a success.
- Check the last known position on the map and raise a work order or a recovery.
You think a scooter has been stolen
- Look for fault
28Eon it — that is the hardware telling you parts were swapped. - Lock it remotely and set its status to out of service so nobody hires it.
- Use the last position and the most recent ride's route as your starting point.
A rider is abusing the service
- Riders → open them → Suspend, with a reason they can read.
- They cannot unlock from that moment. Their balance is untouched — suspending is not a punishment you take money for.
- Lift it from the same place when it is resolved.