Manual Swap¶
Overview¶
Manual Swap is a variant of the standard Attendant battery-swap flow designed for situations where payment cannot be confirmed through the normal M-Pesa QR / automated channel. It follows the same 6-step process as the regular Attendant flow but uses manual payment entry instead — the Odoo payment confirmation step is skipped.
Access to this applet is controlled by the externalswap applet slug. It only appears on the role selection screen if the active Service Account (SA) has been granted the externalswap applet.
When to Use Manual Swap¶
Use the Manual Swap flow when:
- Payment has been collected outside the automated M-Pesa channel (e.g. cash, bank transfer, or a third-party receipt).
- The standard Attendant payment QR scan is unavailable or not applicable.
- The station operates under a manual payment agreement.
Workflow¶
The Manual Swap flow follows the same 6-step progress as the standard Attendant flow:
| Step | Name | Description |
|---|---|---|
| 1 | Customer | Identify the customer via QR scan or subscription ID |
| 2 | Return | Scan and return the old battery via BLE |
| 3 | New | Assign a new battery via BLE |
| 4 | Review | Confirm the cost breakdown |
| 5 | Pay | Enter the payment reference manually |
| 6 | Done | Complete the transaction and view the receipt |
Key Difference: Step 5 — Payment¶
In the standard Attendant flow, Step 5 prompts the customer to scan an M-Pesa QR code and the app waits for confirmation from Odoo.
In the Manual Swap flow:
- No QR code is presented to the customer.
- The attendant enters a manual payment ID / reference number directly.
- The backend records the payment without going through the automated M-Pesa confirmation.
Access¶
- Applet slug:
externalswap - Route:
/attendant/manual-swap - Requires login with employee credentials (same as the standard Attendant applet).
- The active Service Account must have the
externalswapapplet assigned.
Notes¶
- All BLE reads, MQTT reporting, and cost calculations behave identically to the standard Attendant flow.
- If a customer's quota covers the full cost, the payment step is skipped automatically in both flows.
- Contact your administrator if the Manual Swap tile does not appear on your role selection screen.