Structs ​
Structs ​
Session ​
One scheduled window. Durations are always in minutes.
Timeline: [sessionStart, sessionStart + durationMinutes) → REGULAR or HOLIDAY from sessionType, then extended for extendedDurationMinutes → EXTENDED. Times outside any entry → UNKNOWN. On-chain storage packs each session into 60 bits: sessionStart:32 | durationMinutes:13 | extendedDurationMinutes:13 | sessionType:2 (calldata may use wider uint16 durations; values must be ≤ 8191).
solidity
struct Session {
uint32 sessionStart;
uint16 durationMinutes;
uint16 extendedDurationMinutes;
uint8 sessionType;
}