Training team guide
Riders
Find, import and add riders, change their details, flag issues, send one-tap links and reset PINs.
On this page
Find a rider#
Admins manage every rider. Market managers fully manage the riders in their own markets: everything on this page works for them, limited to those markets.
Riders lists the riders in your markets, 50 per page, newest first. Type part of a name, rider ID or phone number in Search and select Search. The Market, Vehicle and Status menus apply as soon as you change them.
| Column | Meaning |
|---|---|
| Rider | Name and rider ID. Select the name to open the rider page. |
| Market | Market and city. |
| Vehicle, Language, Status | From the rider record. |
| Training done | Finished learning paths out of those assigned, for example “2 of 3”, and how many are overdue. |
| Last active | When the rider last signed in or worked on a course. “Never” if they haven’t. |
What a rider record holds#
| Field | Values | Notes |
|---|---|---|
| Rider ID | The rider ID, up to 64 characters | Used to sign in and to match imports. Can’t be changed. |
| Name | Full name | Riders see their first name in the app. |
| Phone | With country code, for example +97455501234 | Used for WhatsApp. |
| Market | AE, KW, QA, BH, OM, JO, EG, IQ | Decides which market managers see the rider. |
| City | Free text | Used by Assign now. |
| Vehicle type | motorbike, car, bicycle, scooter, walker, or Not set | Used by learning path filters. |
| Nationality | Free text, for example Pakistani | Used by learning path filters. Change it with a CSV import or the API. |
| Language | English, Arabic, Roman Urdu, Kurdish | The rider’s course and app language. Riders can change it themselves. |
| Status | onboarding, active, suspended, inactive | See rider statuses below. |
| PIN | 4 to 8 digits | Stored protected. Nobody can read it back. |
Rider statuses#
| Status | Can sign in | Automatic paths | Flag paths and Assign now | Reminders |
|---|---|---|---|---|
| onboarding | Yes | Onboarding and auto-assign paths | Yes | Yes |
| active | Yes | Auto-assign paths | Yes | Yes |
| suspended | Yes | No | Yes | No |
| inactive | No | No | No | No |
Setting a rider to inactive blocks their access straight away: their PIN, their session and their one-tap links stop working. Setting them back to active or onboarding restores it.
Import riders from a CSV file#
Use an import for a new batch of riders, or to update many riders at once. For the full process, see Onboard a new batch of riders from CSV.
Go to RidersthenImport CSV. The page jumps to the import panel.
Choose the CSV file.
Select Import riders.
The message shows the result, for example “Imported 180 new and updated 20 riders. 180 new training assignments.” Rows with problems are skipped and listed after it, the first five with their row number and reason, for example “Skipped 7 rows: row 4: market EG is outside your markets; …; and 2 more.” Row 2 is the first row after the header. If no row could be imported, the message starts “Nothing imported. Skipped …”.
CSV columns#
| Column | Required | Values | Also accepted as header |
|---|---|---|---|
rider_id | Yes | rider ID | riderid, id, Rider ID |
name | Yes | Full name | full_name, Full name |
market | Yes | A code (AE, KW, QA, BH, OM, JO, EG, IQ) or a market name (UAE, Kuwait, Qatar, Bahrain, Oman, Jordan, Egypt, Iraq), in any case | country |
phone | No | With country code, for example +96550000001 | mobile |
city | No | Free text | |
vehicle_type | No | motorbike, car, bicycle, scooter, walker | vehicle |
nationality | No | For example Pakistani (must match learning path options exactly) | |
language | No | en, ar, ur (Roman Urdu), ku (Kurdish) | lang |
status | No | onboarding, active, suspended, inactive (lower case only) | |
pin | No | 4 to 8 digits |
Header names ignore upper and lower case, and spaces count as underscores, so “Vehicle Type” works. Other columns are ignored. The order of columns doesn’t matter.
rider_id,name,phone,market,city,vehicle_type,nationality,language,status,pin
300001,Ali Hassan,+96550000001,KW,Hawalli,motorbike,Egyptian,ar,onboarding,4821
300002,Imran Ali,+97455501234,QA,Doha,car,Pakistani,ur,onboarding,How imports update riders#
- Riders are matched on rider ID. New IDs are added. Existing riders are updated, never duplicated.
nameandmarketare required on every row, also for updates, and replace the current values.- Empty cells keep the current value. An import can’t clear a value.
- New riders without a language get English. New riders without a status get active.
- A
pinreplaces the rider’s PIN. Leave it empty to keep the current PIN. A new rider without a PIN can only get in with a one-tap link until you reset their PIN. - After the import, the automatic learning path rules run for all riders.
- An import only creates and updates riders in markets you can manage. Riders are never moved into or out of a market you can’t access. Such rows are skipped with the reason “market EG is outside your markets” or “rider 300001 belongs to a market outside your markets”.
- Keep files under 25 MB. Split bigger files.
Save the file as CSV UTF-8
Update riders in Excel
Vehicle types are saved as written (in lower case). Use one of the five values: other text is accepted, but never matches a learning path filter.
Add a single rider#
Go to Riders and scroll to Add a rider at the bottom.
Fill in Rider ID, Full name and Market.
Also check Phone (with country code), City, Vehicle (starts on Not set), Language (starts on English) and Status (starts on onboarding).
Type a PIN of 4 to 8 digits, or leave it empty to generate a 6-digit PIN.
Select Add rider.
The message shows the PIN: “Added Ali Hassan. PIN: 482913 (share it with the rider now; it isn’t shown again). 1 training assignments.” Write it down before you leave the page.
Rider IDs must be new
The rider page#
| Section | Shows |
|---|---|
| Top | Rider ID, status, market, vehicle, last active. |
| Assigned training | Each learning path with Why (onboarding, auto, bulk, api, or the flag in red), Assigned, Due and Outcome (Completed, Overdue, In progress). |
| Course records | Each course the rider opened: started, progress in steps, time spent, best quiz score, quiz attempts, and the first completion date with a proof link. |
| Activity log | The last 40 events: signed in, opened a course, reached a step, took the quiz (with score), completed, asked the assistant (with the question). |
| Send course link | Create a one-tap link. Below it, the last 10 messages and links for this rider. |
| Flag an issue | Add a flag. Below it, the rider’s flags with date, source (admin or api) and note. |
| Details | Change status, language, vehicle, city and phone. Reset PIN. |
Change a rider’s details#
Open the rider. Go to Details.
Change Status, Language, Vehicle, City or Phone.
Select Save.
“Saved”, or “Saved. 1 new training assignments.” when the change matches an automatic learning path.
- To remove a city or phone number, empty the field and save.
- Choosing Not set in Vehicle and saving clears the vehicle type.
- Name, market and nationality can only be changed with a CSV import or the API.
Reset a rider’s PIN#
Open the rider. In Details, select Reset PIN.
Confirm with Reset PIN now, or select Cancel.
The panel reminds you that the rider’s current PIN stops working straight away.
Read the new 6-digit PIN in the message.
“New PIN: 482913. Share it with the rider now; it isn’t shown again.”
Give the PIN to the rider privately.
The old PIN stops working straight away. The PIN isn’t sent to the rider automatically. Instead of a PIN you can send a one-tap link. To set a specific PIN, import a CSV with a pin column.
Flag an issue#
A flag records a performance issue. If an active learning path is set up for that flag type, the rider gets it straight away.
Open the rider. Go to Flag an issue.
Choose What happened.
Optional: add a Note, for example what was reported and when.
Keep Send the rider the course link ticked to send a link to their training.
Select Add flag and read the message.
The message starts with “Flag recorded.” and then says exactly what happened:
| Message | What to do |
|---|---|
| 1 corrective training path assigned. | Check how the link was delivered (next rows). |
| … The course link was sent on WhatsApp. | Nothing. The rider has the link. |
| … WhatsApp isn’t connected, so share the link from “Send course link”. | Share the link yourself from Send course link. |
| … The rider has no phone number, so share the link from “Send course link”. | Share the link another way, or add the phone number. |
| … WhatsApp couldn’t deliver the course link, so share the link from “Send course link”. | Share the link yourself. Tell IT if it keeps failing. |
| No active learning path is set up for this flag type. | Ask an admin to create or activate a path for that flag type. |
| No training was assigned because the rider is inactive. | Nothing, unless the rider should be active. |
| The rider already has the corrective training for this flag open, so nothing new was assigned. | Nothing. The earlier assignment still applies. |
| The corrective training for this flag doesn’t apply to this rider’s market, vehicle or nationality, so nothing was assigned. | Check the path’s filters if the rider should have matched. |
When several paths use the same flag type, the results combine, for example “Flag recorded. 1 corrective training path assigned. 1 more was already open for this rider. 2 other paths for this flag don’t apply to this rider’s market, vehicle or nationality.”
Flag types, with the code your systems use in the API:
| What happened | API code |
|---|---|
| Repeated late deliveries | late_delivery |
| Customer complaint | customer_complaint |
| Unsafe driving report | unsafe_driving |
| Food handling / hygiene | food_handling |
| Uniform or equipment issue | equipment |
| High cancellation rate | cancellations |
Flags can’t be edited or deleted. Flags sent by your systems show “via api”. Follow-up: Assign corrective training after a safety flag.
Send a one-tap link#
Open the rider. Go to Send course link.
Choose Open their training home, or a course the rider can open now.
Select Create link.
After the first link, the button reads Create a new link. Earlier links keep working until they expire.
Copy the link, select Send on WhatsApp, or let the rider scan the QR code.
How links, WhatsApp and reminders work: Links, WhatsApp and reminders.