PRD
RECHAJ — MocX Smart Technologies Inc.
Section titled “RECHAJ — MocX Smart Technologies Inc.”Sales & Retention — Pipeline Conversion Analyst (PCA) Module
Section titled “Sales & Retention — Pipeline Conversion Analyst (PCA) Module”Product Requirements Document — Engineering
| Status | v1.1 — reverse-specified from the shipped prototype; incorporates changelog v1.2 (Retrofit Standby, station capacity, training/contract restructure) |
| Date | June 2026 |
| Prepared by | Office of the CPO |
| Owners | David Ogbonna-Eze (CTO) · Osita Onyekwere (CPO) |
| Scope | Atlas (web) — Pipeline Conversion Analyst persona only |
| Source of truth | The live design prototype at design-uat.rechaj.com → Atlas → Pipeline Conversion Analyst flow. This PRD documents what is actually built; where it diverges from the parent Sales & Retention PRD v1.2, this document and the prototype win. |
| Classification | CONFIDENTIAL |
1. Executive Summary
Section titled “1. Executive Summary”The Pipeline Conversion Analyst (PCA) owns every rider from the moment they walk up to a Rechaj station for inspection until their onboarding is complete and their keke is pushed to the retrofit queue. The PCA is the conversion engine of the onboarding pipeline: an internal operations role on Atlas (web/tablet) that turns an inspected, MEI-passed rider into a fully-onboarded, contract-signed, retrofit-queued rider in a single accountable session.
This module gives the PCA four working surfaces — an Overview, the Inspection Queue (the station check-in gate), the Onboarding Queue (MEI-passed riders ready to onboard), and Completed Riders — plus the Onboarding Room, an 11-step guided wizard that captures everything required to verify a rider and release their keke to retrofit.
North star metric: conversion velocity — days/hours from station arrival to RETROFIT_QUEUED, and onboarding-room completion rate.
2. Persona
Section titled “2. Persona”| Role | Pipeline Conversion Analyst (PCA) |
| Name (prototype) | Ngozi Adeyemi |
| Department | Sales & Retention |
| Platform | Atlas web (desktop / station tablet) |
| Ownership entry point | Rider arrives at the station for inspection (SCHEDULED → PCA marks ARRIVED) |
| Ownership exit point | ONBOARDING_COMPLETE → keke auto-pushed to the retrofit queue (hand-off to Forge, then to the RM post-retrofit) |
| North star | Conversion velocity (arrival → retrofit-queued) and onboarding-room completion |
| Sign-in headline | “Convert every inspected rider into an active earner.” |
| Sign-in tagline | “Track each rider from station inspection through onboarding to activation, one accountable hand-off at every stage of the pipeline.” |
Operating model (three tiers, three tools, three people): Field Agent (Agent App — recruits & submits leads, gets riders to the station) → PCA (Atlas — this persona — owns arrival → onboarding-complete) → Relationship Manager (Selene — post-retrofit → permanent). The MEI technician is a service provider: they perform the inspection, but the rider never leaves PCA ownership.
3. Module Structure
Section titled “3. Module Structure”The PCA module lives under Sales & Retention in Atlas. The sidebar is role-scoped to the PCA’s own surfaces.
| Sidebar item | Purpose | Status |
|---|---|---|
| Overview | Daily station/pipeline health on login | Build |
| Inspection Queue | The PCA’s station check-in gate — mark riders Arrived / No-show | Build |
| Onboarding Queue | MEI-passed riders ready for the onboarding room | Build |
| Completed Riders | Record of riders whose onboarding is done & retrofit-queued | Build |
| (Post-Onboarding group) Release Vehicle | Full-pipeline riders list → release record → gated Release Vehicle action for Retrofit Completed riders. Standalone entry point, not a drill-down from Completed Riders. See §13. | Build |
| Settings | PCA preferences & notification settings | Build |
A read-only Rider Record view is reachable from any “View Record” action (completed riders).
4. Lifecycle & Status Model
Section titled “4. Lifecycle & Status Model”The PCA sits in the middle of the rider lifecycle. The two state machines that matter here are visit_status (operational — the inspection visit) and account_status (lifecycle).
Field Agent (Agent App) PCA (Atlas) MEI tech (service) PCA (Atlas) Forge / RM─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────WAITLISTED ──► books visit ──► SCHEDULED ──► [Arrived] ──► ARRIVED ──► IN_PROGRESS ──► DONE ──► INSPECTION_PASSED ──► ONBOARDING_COMPLETE ──► RETROFIT_QUEUED │ (releases to (+ MEI band A–D (11-step (auto-push to [No-show] MEI queue) + PASS / FAIL) onboarding room) retrofit queue) ▼ NO_SHOW ──► recruiting agent notified in the Agent AppOwnership rules (as built):
- The field agent creates the inspection visit (
SCHEDULED). - The PCA owns
SCHEDULED → ARRIVED / NO_SHOW. Marking Arrived is the event that releases the rider into the MEI team’s actionable queue. The PCA never writesaccount_status. - The MEI technician owns
ARRIVED → IN_PROGRESS → DONEand assigns the MEI band (A / B / C / D) and result (PASS / FAIL). These are read-only to the PCA. - A No-show notifies the recruiting agent in the Agent App to reschedule.
- On MEI pass, the rider appears in the PCA’s Onboarding Queue (
INSPECTION_PASSED). - On onboarding-room submit, the rider moves
INSPECTION_PASSED → ONBOARDING_COMPLETE. The system then checks the confirmed swap station’s capacity and routes: if a slot is open the rider is auto-pushed to the retrofit queue (with a KAAG-kit flag if opted in); if the station is at capacity the rider is placed on Retrofit Standby (see below).
Retrofit Standby
Section titled “Retrofit Standby”Riders whose onboarding is fully complete but whose confirmed swap station is at capacity at the moment of Step 11 submission enter Retrofit Standby. Onboarding is not blocked — all documentation, contract, and confirmation data is saved permanently; only the retrofit-queue push is held.
- Retrofit Standby is visible to the PCA as a dedicated tab in the Onboarding Queue.
- The PCA cannot push a standby rider to the retrofit queue alone.
- Two-step gate: the PM Onboarding releases the lock when station capacity opens → the PCA then presses “Submit to retrofit queue” to complete the push. Neither party can complete the action alone.
- On submit, the rider moves
Retrofit Standby → RETROFIT_QUEUED(retrofit_standby = false) and the PM Onboarding is notified.
DELAYED Flag
Section titled “DELAYED Flag”A rider who has been AWAITING (MEI passed, onboarding room not yet started) for ≥5 consecutive days is automatically flagged DELAYED: a badge on their Onboarding-Queue row, an auto-generated follow-up task for the assigned PCA, and an in-app notification to the PM Onboarding. The flag clears when the PCA begins the onboarding room (status → In Progress).
5. Screen Specifications
Section titled “5. Screen Specifications”5.1 Overview (default on login)
Section titled “5.1 Overview (default on login)”Greeting (Good morning, <name>) + a one-line context summary (“N riders are checked in for inspection and N have passed and are ready to onboard today.”).
Stat cards:
| Card | Definition |
|---|---|
| Scheduled Today | Riders with an inspection appointment today |
| MEI Passed | Riders who passed MEI and are ready to onboard (green) |
| In Progress | Onboarding rooms currently in progress (blue) |
| Completed Today | Riders onboarded today; meta: “Moved to retrofit queue” (brand) |
Below the cards: a recent-inspections table showing rider, keke plate, recruiting agent, MEI band (A–D badge), and status.
5.2 Inspection Queue — the PCA’s station check-in gate
Section titled “5.2 Inspection Queue — the PCA’s station check-in gate”Caption (verbatim): “Your station check-in · mark each rider Arrived or No-show — marking Arrived releases them to the MEI team for inspection.”
This is not a mirror of the MEI’s queue. The PCA is the station gate, upstream of the MEI. It is the full day’s roster at the PCA’s station; the PCA acts only on SCHEDULED rows.
Filter tabs (with live counts): Scheduled · Arrived · In progress. Plus search.
Columns: Rider · Plate · Appointment · Status · MEI Band · Result · Check-in.
Status pill states: SCHEDULED (amber) · ARRIVED (blue) · NO_SHOW (red) · IN_PROGRESS (violet) · DONE (green).
Contextual Check-in actions:
| Row state | Action |
|---|---|
SCHEDULED |
Arrived (primary) · No-show |
ARRIVED / IN_PROGRESS / DONE |
Read-only (“MEI team” owns these) |
NO_SHOW |
Read-only — “Agent App notified” |
On Arrived: status → ARRIVED; green banner confirms the rider was released to the MEI team’s inspection queue.
On No-show: status → NO_SHOW; banner confirms the recruiting agent has been notified in the Agent App to reschedule.
Band & Result are blank until the MEI completes the inspection (DONE), then show read-only (band A–D, PASS/FAIL).
5.3 Onboarding Queue
Section titled “5.3 Onboarding Queue”Riders who have passed MEI and are ready for the onboarding room.
Columns: Rider (with “Inspection completed · HH:MM”) · MEI Band · Keke Plate · Recruiting Agent · Status · Action.
Tabs (with live counts): All · Awaiting · In Progress · Completed · Riders on Retrofit Standby.
Status: Awaiting · In Progress · Completed · Standby. Two badges surface in the Status column:
| Badge | Condition |
|---|---|
| STANDBY (red) | Onboarding complete, confirmed station at capacity, awaiting PM release |
| DELAYED (amber) | Rider AWAITING ≥5 days without onboarding started |
Action (contextual):
| Status | Action |
|---|---|
| Awaiting (incl. DELAYED) | Begin Onboarding → opens the Onboarding Room at Step 1 |
| In Progress | Continue → reopens the room where it was left |
| Completed | View Record (read-only) |
| Standby | View standby → (opens the Retrofit Standby tab) |
Riders on Retrofit Standby tab — columns: Rider (+ phone) · Swap station (the confirmed station that was at capacity) · Onboarding completed · Days on standby (amber ≥7, red ≥14) · PM release status (Locked / Released) · Action. The “Submit to retrofit queue” action is disabled until the PM Onboarding releases the rider; once released it activates, and pressing it pushes the rider to RETROFIT_QUEUED, moves them to Completed Riders, and notifies the PM. (In the prototype the PM release is simulated via a per-row affordance, since the PM Onboarding module is a separate build — see §12.)
5.4 Completed Riders
Section titled “5.4 Completed Riders”Permanent record of onboarded, retrofit-queued riders. Columns: Rider (+ phone) · MEI Band · Keke Plate · Onboarded (date) · Time Completed · Action (View Record). Filterable by MEI band.
5.5 Settings
Section titled “5.5 Settings”PCA preferences and notification toggles (e.g. “MEI fail alerts — notify when a rider falls below threshold”).
6. The Onboarding Room (11-step wizard)
Section titled “6. The Onboarding Room (11-step wizard)”Opened with Begin Onboarding / Continue from the Onboarding Queue. Full-screen, two-pane: a left rail with grouped, gated steps + progress; a right working pane. Labeled “Phase 3 — Onboarding Room.” Steps unlock sequentially; completed steps show a check.
Note — there is no activation-fee step in the room. The ₦25,000 activation fee is collected upfront in the Agent App, not in the PCA onboarding room. (Fee model: recognised on MEI pass, refunded only on MEI fail.)
Data Collection
Section titled “Data Collection”- Identity & PII — NIN, full name, DOB, address. (Contact details — phone/WhatsApp — are captured here; no separate device/IMEI step.)
- Vehicle Documentation — registration & ownership. VIN / chassis frame number is required before retrofit; the retrofit team pulls it from the rider’s record.
- Operating Profile — declared earnings, primary route, operating hours.
- Rider Classification — Type B — Owner-Rider (single owner-operator) or Type A — Fleet Owner (owns multiple kekes, employs sub-riders; captures number of kekes + optional trading name; sub-riders registered via the fleet app after activation, each RM-approved before swapping). Type C — Owner-Operator and Type D — Hire-Purchase / Work & Pay are shown but “Coming soon” (disabled).
- Photo Documentation — rider & keke photos. Captured by the retrofit technician during the site visit; the PCA reviews and confirms the images match the rider on record (flag via note if missing/unclear).
- Operating Schedule & Preferred Swap Station — operating days, routes, expected weekly swaps, and the preferred swap station (confirmed or changed from the lead-capture selection). The station dropdown shows capacity beside each station — e.g. “Sango Station · 23 slots available”, “Honda SS · 4 slots available ⚠” (approaching, <10%), “Ijoko Station · Full” (greyed out, unselectable). Full stations cannot be selected; this lets the PCA have the capacity conversation with the rider before completing the room.
- Storage Location — where the keke is parked overnight.
Training & Agreements
Section titled “Training & Agreements”- Training Session — pick the rider’s audio language (English / Yoruba / Igbo / Hausa), then complete three required audio confirmations (played in the rider’s language, each with a Confirm button): Rider Code of Conduct · Driver Unit & SOC Management · Swap activity covenant (≥5 swaps/week). Optional training notes. (The earlier 6-module video checklist was removed — audio/video can’t be played from within the room, so the checkboxes added no value without the media.)
- Contract & Terms — language selector, then the Audio Agreement Checklist — three items (each with a Confirm button): Unified Contract (Rechaj Rider Agreement) · Terms & Conditions · Code of Conduct. (The swap-activity covenant moved to Step 8.) Then upload the scanned signed contract and a photo of the rider holding the signed contract (both required).
- KAAG Decision — opt the rider in or out of KAAG (Keke as a Generator) — an inverter that lets the keke power household appliances. If opted in, Rechaj runs a home visit within a 24-hour SLA; if the visit isn’t completed in time, the keke automatically enters the retrofit queue with a standard kit and the rider can reapply for KAAG after activation. Approved KAAG riders are queued for a KAAG-kit retrofit at no extra upfront cost.
Review
Section titled “Review”- Review & Submit — review every captured section (Edit jumps back to any step). Submit is always enabled — the room is always completed. On submit, the rider moves
INSPECTION_PASSED → ONBOARDING_COMPLETEand the system checks the confirmed station’s capacity to route:- Station has capacity → rider pushed to
RETROFIT_QUEUEDimmediately; completion screen shows the retrofit queue position. - Station at capacity → rider placed on Retrofit Standby (
retrofit_standby = true); completion screen explains the rider is held for PM Onboarding release.
- Station has capacity → rider pushed to
Gating: each step must be completed to unlock the next; the three Step-8 audio confirmations and the three Step-9 agreements must be confirmed, and both contract uploads provided. The capacity check at submission affects routing only — it never disables Submit.
7. SLA & Notifications (PCA-relevant)
Section titled “7. SLA & Notifications (PCA-relevant)”| Milestone | Behaviour |
|---|---|
Rider SCHEDULED → PCA marks Arrived/No-show |
PCA station-gate action; No-show notifies the recruiting agent in the Agent App |
| Arrived → released to MEI | Immediate; rider enters the MEI actionable queue |
| MEI pass → onboarding room started | Surfaces in the Onboarding Queue as INSPECTION_PASSED |
| KAAG opt-in → home visit | 24-hour SLA; on miss, keke auto-queues for retrofit with a standard kit |
| Onboarding submit, station has capacity | Immediate auto-push to RETROFIT_QUEUED |
| Onboarding submit, station at capacity | Rider placed on Retrofit Standby; PCA + PM Onboarding notified |
| Rider on Retrofit Standby ≥7 days | In-app alert to PM Onboarding (⚠); ≥14 days → in-app + email (🔴 urgent) |
| PM presses Release | In-app to PCA: “Go to Riders on Retrofit Standby to submit” |
| PCA submits post-release | Rider → RETROFIT_QUEUED; PM Onboarding notified with queue position |
| Swap station drops below 10% capacity | In-app + email to PCAs at that station + PM Onboarding; field agents alerted in the Agent App when selecting it for a new lead |
| Rider AWAITING ≥5 days | DELAYED flag; follow-up task to PCA; in-app to PM Onboarding |
8. Permissions
Section titled “8. Permissions”| Surface / action | PCA access |
|---|---|
| Overview | Full read |
| Inspection Queue | Read all rows at own station; act only on SCHEDULED (Arrived / No-show) |
| MEI band / result | Read-only (MEI-owned) |
| Onboarding Queue | Full read + Begin/Continue onboarding |
| Onboarding Room | Full edit (own riders) |
| Completed Riders | Read-only record |
account_status |
No write (system-driven) |
| Activation fee | Not handled here (collected in the Agent App) |
| Settings | Own preferences only |
9. Data Model (relevant fields)
Section titled “9. Data Model (relevant fields)”inspection_visit.visit_status—SCHEDULED → ARRIVED / NO_SHOW → IN_PROGRESS → DONE. PCA writesARRIVED/NO_SHOWonly.mei_assessment— band (A / B / C / D), result (PASS / FAIL), composite score. MEI-owned, read-only to PCA.riders.account_status—…INSPECTION_PASSED → ONBOARDING_COMPLETE → RETROFIT_QUEUED. System-set on room submit.rider_classification— Type A / Type B (C / D reserved, not yet available).onboarding_room— per-step capture: identity/PII, vehicle docs (+VIN), operating profile, classification, photos (from retrofit team), schedule + preferred station, storage, training (3 audio confirmations + language), agreements (3 audio agreements + signed-contract upload + rider photo), KAAG decision.kaag_application— opt-in flag, 24-hour home-visit SLA, kit flag on retrofit push.riders.preferred_station_id— FK →swap_stations. Set at lead capture (Agent App), confirmed/changed at Step 6.riders.retrofit_standby— bool, default false. True when Step 11 is submitted with the station at capacity; false when the PCA submits to the retrofit queue post-release.riders.retrofit_standby_since— timestamp; drives days-on-standby + SLA flags.riders.pm_standby_release(+pm_standby_released_by,pm_standby_released_at) — the PM Onboarding release that activates the PCA’s submit (two-step gate + audit trail).riders.delayed_flag(+delayed_at) — bool, default false; set by a scheduled job after 5 consecutive days AWAITING with no onboarding started; cleared when the room begins.swap_stations— capacity, active/new/in-pipeline rider counts → true available capacity (drives Step-6 display + the at-capacity routing).
10. Out of Scope (this PRD)
Section titled “10. Out of Scope (this PRD)”- MEI assessment form & technician queue (separate team / persona).
- Activation-fee collection (Agent App).
- Retrofit execution — Stations 1/2/3 (Forge).
- Post-retrofit onboarding & activation (RM — Selene; see the RM Post-Retrofit PRD).
- Sub-rider / fleet-app registration (Type A, post-activation).
- Reporting/analytics dashboards beyond the Overview cards.
11. Notes on Divergence from Sales & Retention PRD v1.2
Section titled “11. Notes on Divergence from Sales & Retention PRD v1.2”This module is the current, shipped PCA design and supersedes the v1.2 framing where they differ:
- The Inspection Queue is the PCA station check-in gate (upstream of MEI), not a read-only mirror of the MEI queue.
- The onboarding room is 11 steps (contact folded into Identity; device/IMEI dropped; activation-fee step removed — fee is upfront in the Agent App).
- Rider classification is Type A / Type B live, with Type C / Type D “Coming soon.”
- Training (Step 8) is now three audio confirmations (Code of Conduct · Driver Unit & SOC Management · Swap activity covenant) — the 6 video modules were removed as undeliverable in-room.
- Contract (Step 9) is the Audio Agreement Checklist — three Confirm items (Unified Contract · T&C · Code of Conduct); the swap covenant moved to Step 8.
- Retrofit Standby replaces the earlier “Pool” concept: onboarding is never blocked; a station at capacity at submission holds the retrofit-queue push behind a two-step gate (PM Onboarding releases → PCA submits).
- Station capacity is surfaced at Step 6 and enforced as routing at Step 11; the DELAYED flag tracks riders stalled ≥5 days in AWAITING.
12. Cross-PRD Dependency — PM Onboarding
Section titled “12. Cross-PRD Dependency — PM Onboarding”The Retrofit Standby two-step gate requires a PM Onboarding surface that the PCA module depends on but does not own: a Riders on Retrofit Standby panel on the PM dashboard (summary by station, days-on-standby distribution, and a “Release to retrofit queue” action per rider that sets pm_standby_release and notifies the PCA). The PM cannot push to the retrofit queue directly, change the station, or bypass the gate. This panel is specified in the PM Onboarding Module PRD (changelog v1.2 §A5) and is not built in the PCA prototype — there, PM release is simulated so the gate is demonstrable end-to-end.
13. Post-Onboarding — Release Vehicle
Section titled “13. Post-Onboarding — Release Vehicle”Source: Post-Retrofit Vehicle Release — PCA Module PRD v3.0 (Aug 2026), prepared by Gloria Amune (APM, Rider Onboarding). Naming: this module was referred to internally as “Release Keke”; this PRD and the shipped UI use Release Vehicle.
Purpose. Once a vehicle completes retrofit, the PCA confirms every release condition is met and hands it over to the rider, gated by a release checklist, from a dedicated entry point separate from the day-to-day pipeline screens above.
Scope. In: Release Vehicle entry point · full-pipeline riders list (searchable, filterable by status) · release record (Rider Details / Keke Details / Wallet) · Release Checklist · Assign Battery · Update Swap Station · Create Wallet & Virtual Accounts · the Release Vehicle gate/action. Out: VCU assignment (read-only, owned elsewhere) · retrofit execution, MEI, and onboarding steps upstream of Retrofit Completed · KYC Information, Swap History, and Cases tabs on the rider record · payback monitor and overdraft toggle.
Riders List. A single searchable list spanning the full rider status lifecycle — not only release-eligible riders — so the release view stays honest about where every rider actually stands. Search by name, phone, or plate. Columns: rider name, phone, plate, status badge, date onboarded, primary swap station. Row click opens the Release Record. Only Retrofit Completed riders are release-eligible; opening any other rider’s record is read-only / for visibility.
Proposed status set (not yet confirmed against the backend account_status
enum — flagged for engineering validation): Inspection Pending · Inspection
Completed (Pass / Fail) · Onboarding In Progress · Verified · Retrofit Pending ·
Retrofit Completed (the only status eligible for Release Vehicle) · Dropped
Out. Releasing a vehicle does not change the rider’s status, so no “Released”
status value is needed.
Release Record. Header: rider name, plate, phone, status badge, date onboarded. Three tabs, all scoped to what the PCA needs to release the vehicle:
| Tab | Contents |
|---|---|
| Rider Details | Personal information (name, phone, email, address), onboarded by (agent name + contact), retrofit schedule (centre, centre manager, scheduled date, status, activation amount) |
| Keke Details | Plate number, retrofit kit serial, VCU serial (read-only), battery serial with Assign/Remove, primary swap station with Update, total swaps, last swap date |
| Wallet | Available balance + ledger balance; if no wallet exists, an empty state with a Create Wallet & Virtual Accounts button. Once a wallet exists, shown alongside its Virtual Accounts (matches the live rider-wallet reference used by the Relationship Manager’s six-tab rider profile) |
Plate number is repeated on Keke Details (always visible from the header too). Onboarded-by is always visible on Rider Details. The Release Checklist and Release Vehicle action sit in a panel that stays visible across all three tabs — but only for Retrofit Completed riders.
Release Checklist. A live “X of 6 passing” counter above six pass/fail items:
| # | Item | Set by | PCA action if failing |
|---|---|---|---|
| 1 | Retrofit kit assigned | System (retrofit) | None — read-only |
| 2 | VCU assigned | System / hardware team | None — read-only |
| 3 | Battery assigned and charged | PCA | Assign Battery |
| 4 | Retrofit completed | System (retrofit) | None — read-only |
| 5 | Primary swap station assigned | PCA | Update Swap Station |
| 6 | Wallet & virtual accounts created | System (auto-created) | Create Wallet & Virtual Accounts — exception path only |
PCA Actions. Assign Battery is a typed serial number + confirm, never a picker; assigning flips item 3, removing flips it back. Update Swap Station opens a picker of stations showing capacity (full stations disabled); saving flips item 5. Create Wallet & Virtual Accounts is an exception-path action only — not shown once a wallet already exists — available inline on checklist item 6 and as the Wallet tab’s empty-state primary button; flips item 6. VCU assignment has no PCA action at all, passing or failing.
Release Vehicle gate. Disabled (grey) unless all 6 items pass; active (green) at 6 of 6. On click the release executes immediately — no confirmation prompt — a success toast confirms (“Vehicle released to [rider name]”), and the checklist panel’s counter is replaced with “Released on [date, time]” logged with the PCA’s name. The rider’s account status is unaffected.
Permissions. The PCA may: view the riders list and search/filter by status; view any release record; assign/remove battery; update swap station; create wallet & virtual accounts when missing; release the vehicle once 6 of 6. The PCA may not assign or edit VCU (read-only).
End of PRD. Documents the live PCA flow on design-uat.rechaj.com.