RideKit
Docs/Reference/Fleet partner guide

Fleet partner guide

A fleet partner is a business that owns vehicles and employs drivers on your platform — the company with twenty cars and thirty drivers that, on any working ride-hailing platform, accounts for most of the cars on the road. This guide covers both sides: what the fleet owner gets, and what you as the operator do.

What a fleet owner gets

Two surfaces, one login (their phone number, OTP):

Surface Where
The fleet app mobile/partner/ — Android and iOS, white-labelled like the rider and driver apps
The fleet panel The admin URL. A fleet owner signing in lands on /partner, never on the operator console

Both show the same things, read from the same API, scoped server-side to the caller's own fleet — the API refuses to accept a fleet id from a request, so one fleet can never see another's drivers or money.

Home

Live status — how many drivers are on a trip, online, offline — the fleet's balance, what came in today and this week, and a needs attention list: driver documents expiring within 30 days, expired or rejected documents, vehicles awaiting review, unverified drivers, cars with nobody on them. Until you verify the fleet, the first thing on this screen says so, and says what it costs: drivers are paid as independents and no lease is billed.

Drivers

Every driver in the fleet with their live state, the car they are on, and what they brought in today. Adding a driver takes the phone number the driver signed up with; the app shows a first name and a masked number back, and nothing more — a fleet owner is a customer, not a directory of your drivers. A driver can be in one fleet at a time.

Per driver: trips and the fleet's share by day, week, month and lifetime; the assigned car; documents (status and expiry only — the files stay between the driver and you); recent trips; per-driver terms (a share that overrides the fleet default); remove.

Vehicles

The cars the fleet owns. The owner registers a car (type, plate, make, model, colour, year) — it is created pending and unassigned until you review its papers in Vehicles — assigns a driver to it, frees it between shifts, edits it, retires it. Status (pending / active / suspended) is yours to change, not theirs.

Trips

Every trip the fleet's drivers took while they were members: where the car went, when, what it was paid, what the fleet kept. The rider is never shown. Filter by day/week/month and by status; open a trip for the timeline and the money split (fare, platform commission, driver's share, fleet's share).

Earnings

From the ledger, never from trips — a fixed-lease fleet's income has no trip behind it. Total for the window, a bar per day, by driver, lease charges as their own line.

Wallet

The fleet's ledger balance, every posting, and withdrawals: the owner requests a payout from the fleet's own account (never from their personal driver wallet). The screen renders your market's rules verbatim — minimum, maximum, fee, whether the rail settles by itself or your team approves it. The request lands in Payouts in the operator console beside driver payouts, with the fleet's name on it.

Account

Fleet profile (name, city, contact number), language, appearance, your support phone and email, your terms and privacy pages, sign out.

What you do as the operator

Fleet Partners in the sidebar (permission partner.manage).

Onboarding a fleet

Two ways in:

  1. They apply. A fleet owner installs the fleet app, signs in with any number, and — because that account owns nothing yet — lands on the application form: fleet name, city, contact number, size. Sending it creates the fleet unverified and grants the account the fleet_owner role. Your Partners list shows it with Applied 3 days ago.
  2. You create it. Add fleet partner: name, city, the owner's phone (international format), share. An unknown number becomes an account that signs in by OTP the first time it is used. You can verify it on the spot.

Verifying — the money switch

A fleet is onboarded like a driver: papers first, then it may operate. Until you press Verify, its drivers settle as independents and no lease is billed; nothing the owner set up is lost. Unverifying is immediate and confirmed.

Terms

Terms on a fleet sets the settlement model — a revenue share (the fleet's cut of each driver's earnings after commission, in percent) or a fixed lease (a daily or weekly amount each driver pays and keeps everything above). These are yours to set: a fleet raising its own share would be cutting its drivers' pay. Per-driver overrides are the fleet's.

Everything the owner sees

Open on a fleet shows you exactly what the owner sees — live status, drivers, vehicles, trips, earnings, wallet — plus the owner's details, the declared size, and the two switches: verified and active. You can add or remove drivers, add or assign cars, and change per-driver terms on their behalf.

Vehicles and documents

A fleet's cars appear in Vehicles like any other; approve them there once their papers are in order. Drivers' documents are reviewed in Drivers as usual — the fleet owner only ever sees status and expiry.

Payouts

Fleet withdrawals sit in the same Payouts queue as driver withdrawals, labelled with the fleet's name. Failing one returns the money to the fleet's account, not to the owner's personal wallet.

Testing it

  • Backend: npx jest src/fleet src/payouts/payout-fleet.spec.ts
  • Admin: npm run e2e -- e2e/partners.spec.ts e2e/partner-panel.spec.ts
  • Fleet app: cd mobile/partner && npx jest; Maestro flows in mobile/partner/e2e/
  • All three apps, end to end, on two emulators: mobile/scripts/e2e-side-by-side.sh

The e2e seed (backend/src/database/seeds/e2e-seed.ts) ships a verified fleet (Meera Fleet (E2E), owner +919955000021 on an India install) with two drivers, three cars and a fortnight of settled trips, plus a pending application (Ravi Cabs (E2E), +919955000022).

source: docs/partner-guide/README.md (ships identically in the product zip)