Live overview
Gun status
Tenant tree
Add tenant
Payment account
Each operator/client can be its OWN merchant of record — customers see "Paid to their name" and money settles to their bank. Select a tenant on the left, then enter that company's Razorpay live keys. Stations resolve keys via vendor → client → ancestors → platform default.
In that company's Razorpay dashboard add a webhook → URL shown after save · event payment.captured · same webhook secret. Their dashboard must also have this site verified.
Branding
Select a tenant on the left to edit. Cascades to the QR payment page.
Stations & tariffs
Time-of-day rates —
Rules apply in IST; first match wins; windows may cross midnight (e.g. 22:00–06:00). Times outside all rules use the base ₹/kWh. The rate at payment time is locked for that whole session.
Revenue split —
Percentages must total exactly 100. Gateway MDR is deducted from gross before this split. Saving creates a new audited version.
Add station
Chargers, guns & QR
Connect any OCPP charger — any manufacturer
The platform speaks standard OCPP 1.6-J over WebSocket, so any compliant charger connects with two settings in its configuration app/portal — no custom integration needed:
| Charger setting | Value |
|---|---|
| Central System / CSMS URL | … |
| ChargeBox ID / Identity | the ID registered below (e.g. CB001) — must match exactly |
Save on the charger → it connects within its heartbeat interval (typically under a minute) → the badge below turns ONLINE and every event appears in the activity feed. Register the charger first (form at the bottom) so the ID exists.
Step 1 — Register the charger here
Use the Add charger form at the bottom of this page. Example for a Quench 30 kW dual-gun unit at Nanded:
| Field | Example value | Notes |
|---|---|---|
| Station | Pilot Station 1 | create the site first under Stations & tariffs |
| Product | Quench Q30-DC | add the model once via the product form |
| Serial no. | QN30-2026-0042 | from the charger nameplate |
| OCPP Identity | QNCH-NND-002 | UNIQUE, no spaces, CASE-SENSITIVE — must match the charger exactly |
| Guns | 2 | each connector gets its own QR |
After saving, the charger appears below with an OFFLINE badge — registered and waiting for the device.
Step 2 — Configure the physical charger
In the charger's own config app / web portal / display menu, find the OCPP / Central System / CSMS / Backend URL setting and enter:
| Charger field | Value (for the example above) |
|---|---|
| CSMS / Backend URL | wss://…/ocpp/QNCH-NND-002 |
| Protocol | OCPP 1.6-J (JSON over WebSocket) — must be wss://, not ws:// |
| Some chargers split this into two fields: base URL wss://…/ocpp/ + Identity QNCH-NND-002 | |
Save & reboot the charger.
Step 3 — Watch it come ONLINE (this page is live)
Within the heartbeat interval (usually < 1 min) the badge flips to ONLINE · 3s ago and the Live activity feed shows 🟢 connected → ⚡ boot → 🔌 gun status. Troubleshooting if still OFFLINE after 2–3 min:
- Identity mismatch — check spelling AND case against the registered ID
- ws:// used instead of wss://
- Charger SIM/network blocks outbound WebSocket (test the SIM in a phone / check APN)
- Nothing at all in the feed = the charger never reached the platform → problem is on the charger/network side
Step 4 — QR stickers & first test session
- On the charger's row below: Sticker on each gun → Print 100×100 mm (weatherproof/UV-laminated) → paste on the unit near that connector
- Scan with a phone camera → consent → OTP → pay → the real charger receives RemoteStart; watch the Charging now card show live kWh; auto-stop → receipt
- Lost/damaged/swapped sticker? Regenerate instantly kills the old QR and issues a new one — no site visit to the charger needed
No hardware yet? Run the virtual charger from Cloud Shell (bash ~/ev-platform/ops/demo-charge.sh) — identical steps, perfect for demos.
Connect charger waiting for charger…
Copy these two values into the charger's OCPP / backend settings (config app, web portal or service menu), save, and watch the status above flip to CONNECTED — no other steps.
| Charger setting | Value | |
|---|---|---|
| CSMS / Backend URL | ||
| ChargeBox Identity | ||
| Protocol | OCPP 1.6-J · WebSocket · must be wss:// | |
Live activity
Register charger
Add manufacturer product
Network intelligence last days
Charger health & utilization (worst first)
Peak hours (IST)
Billing-integrity anomalies
Incidents (auto-ticketed)
Opened automatically when a charger faults or drops offline; closed automatically on recovery.
Charging sessions
Receipt delivery
SMS / WhatsApp receipt log. Status dev_logged = provider templates not yet configured (DLT/WhatsApp approval pending) — the link shown is what will be sent.
Settlements
One row per party per captured payment. Gateway MDR is deducted from gross before the split. Status: computed = report-only ledger, transferred = Razorpay Route transfer done, failed = in retry queue.
Admin users
Create user
A viewer for a client tenant (e.g. the municipal corporation) sees only their own stations, sessions and settlements — read-only. This is the L3 MIS login you can hand to NWCMC.