Pricing was the part of the platform operators outgrew fastest. A single rate per station covers the first month of a network and nothing after it — the moment a fleet contract, a resident rate or an off-peak window appears, the model breaks. This release replaces it.
The model
A tariff is a named price list. It carries an energy rate, an optional time component, a session fee, idle fee parameters with a grace period and a cap, and tax treatment. Customer groups attach drivers to tariffs, so a fleet driver gets the contracted rate at any connector on the network and a walk-up driver at the same connector pays retail.
| Concept | What it does |
|---|---|
| Tariff | The price list — rates, fees, time windows, tax |
| Customer group | Which drivers get which tariff |
| Assignment | Which tariff applies at which station or connector |
| Snapshot | The tariff as it was, copied onto every session at start |
Why the snapshot matters most
The snapshot is the least visible part of this release and the one that prevents the worst class of bug. A session priced at one rate must still show that rate after the tariff is edited, forever. Without a snapshot, changing a price silently restates every historical invoice that referenced it — including ones you have already settled with a site partner.
What we removed
Tariff groups, as a separate concept, are gone. They added a layer between tariffs and the things they price without earning it — every operator we watched used exactly one group per tariff. Pricing is now tariffs plus customer groups, and the menu is shorter for it.