A depot rarely operates a single vehicle model. When vans from three different OEMs, each running a different onboard V2G software stack and firmware revision, all report state of charge and fault codes slightly differently, the fleet-management software's normalization layer becomes as critical as the scheduler it feeds.
Each OEM's onboard stack encodes state of charge, state of health, and fault codes against its own internal schema and unit conventions; one reports pack temperature in tenths of a degree Celsius, another in raw ADC counts requiring a calibration curve. The normalization layer maintains a per-OEM adapter that translates every incoming field into the depot's canonical schema before it reaches the scheduling and dashboard services, so downstream logic never has to know which OEM built the vehicle it is reasoning about.
Once telemetry is normalized, the dashboard service aggregates every connected vehicle's V2G-eligible energy reserve into a single depot-wide figure, updated every few seconds, that a grid-services desk can bid into a demand-response event without needing to inspect any individual vehicle. Vehicles that drop below their reserve threshold or report a fault code are automatically excluded from that aggregate the moment their state changes.