IDs, states and terminology
| Term | Meaning |
|---|---|
| Tenant | Inventory and authorization boundary assigned to a developer/account |
| Workspace | Separate simulation/developer state; not a tenant permission grant |
| Station resource ID | Tenant API's station identifier |
| Connector resource ID | Database resource identifier; not an OCPP connector number |
| Host station ID | Host registry identifier; not interchangeable with a station resource ID |
| EVSE ID | Published driver catalog identifier |
| EVSE number | OCPP EVSE number on a station (connectors[].evse_number); addresses a charger display. Not the EVSE ID |
| Display desired state | The QR, price flag, optional price tariff and visibility an application sets for one EVSE screen; Ivora keeps pushing it |
| Delivery state | Whether Ivora's last push of a display was accepted by the core (applied), is waiting, failed or is unsupported |
| Display adapter | Ivora-managed declarative template that turns a display into one charger family's OCPP messages |
| Operation | Durable record of an intended command and its dispatch outcome |
| Physical transaction | Metered charging session reported by CSMS |
| Bill | Snapshot of tariff and trusted usage; finalized amount is immutable |
| Authorization / hold | Processor-approved funds reserved for possible capture |
| Capture | Collection against an authorization |
| Release | Cancellation of an unused authorization; does not stop charging |
| Refund | Return of money already captured; needs the billing:refund scope |
| Payment account | The tenant's Stripe Connect Standard account pinned in Ivora's payment provider; managed Stripe payments are direct charges on it |
| Pin status | none, pending_review (onboarded, awaiting Ivora approval), active (takes new payments) or disconnected |
payment_mode | live for a Stripe payment taken in live mode on a connected account, test otherwise; the provider's record, never inferred |
| Hold stop | An application stopping charging as usage nears the authorization hold, recorded as a hold_stop billing alert |
| Reconciliation | Resolving uncertain state using original operation and provider records |
| External settlement | Application-owned collection with Ivora sessions, bills and optional application-reported outcomes |
| Application-reported | Assertion recorded from an authorized backend, not independently verified processor evidence |
drv_ capability | Private authority for one driver session; keep it secret |
Charging and payment are separate state machines
Diagram source
stateDiagram-v2
state Charging {
[*] --> Requested
Requested --> Active: physical transaction observed
Requested --> StartUnknown: reply lost
StartUnknown --> Active: reconciled
Active --> Completed: completed usage observed
}
state Payment {
[*] --> Pending
Pending --> Authorized: provider verified
Authorized --> Captured: final nonzero bill
Authorized --> Canceled: unused, zero or sub-minimum bill
Captured --> RefundPending
RefundPending --> Refunded
RefundPending --> RefundFailed
}This diagram summarizes concepts, not every API enum. A failed payment action does not prove charging stopped; a charging timeout does not prove money was not authorized. See retry and reconciliation rules.