---
title: ElectricVehicleLoadEvent.Session
framework: energykit
role: symbol
role_heading: Structure
path: energykit/electricvehicleloadevent/session-swift.struct
---

# ElectricVehicleLoadEvent.Session

A session that tracks the event.

## Declaration

```swift
struct Session
```

## Overview

Overview A session starts when a device transitions from idle to consuming electricity. It’s active when consuming electricity. It ends when the device stops consuming electricity. A session must contain events of a single ElectricityFlowDirection. If a vehicle supports vehicle-to-grid (V2G), use a separate session for each direction.

## Topics

### Creating a load event

- [init(id:state:guidanceState:)](energykit/electricvehicleloadevent/session-swift.struct/init(id:state:guidancestate:).md)
- [guidanceState](energykit/electricvehicleloadevent/session-swift.struct/guidancestate-swift.property.md)
- [id](energykit/electricvehicleloadevent/session-swift.struct/id.md)
- [state](energykit/electricvehicleloadevent/session-swift.struct/state-swift.property.md)
- [ElectricVehicleLoadEvent.Session.GuidanceState](energykit/electricvehicleloadevent/session-swift.struct/guidancestate-swift.struct.md)
- [ElectricVehicleLoadEvent.Session.State](energykit/electricvehicleloadevent/session-swift.struct/state-swift.enum.md)

## Relationships

### Conforms To

- [Decodable](swift/decodable.md)
- [Encodable](swift/encodable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Getting load event information

- [id](energykit/electricvehicleloadevent/id.md)
- [timestamp](energykit/electricvehicleloadevent/timestamp.md)
- [session](energykit/electricvehicleloadevent/session-swift.property.md)
