namespace Elternbeirat.Web.Services;
///
/// A single calendar entry (parents' evening, meeting, deadline). Read from
/// Content/events.yml at startup. All display text is German because it
/// is visitor-facing content.
///
public sealed class Event
{
/// Short title shown in the list and the calendar.
public required string Title { get; init; }
///
/// When the entry starts. A date-only entry (no time) is treated as an
/// all-day event; see .
///
public required DateTime Start { get; init; }
///
/// True when carries a wall-clock time, false for an
/// all-day entry. Drives both the list formatting and the ICS export.
///
public required bool HasTime { get; init; }
/// Optional end, for multi-hour or multi-day entries.
public DateTime? End { get; init; }
/// Optional location, e.g. "Aula" or "Mensa".
public string? Location { get; init; }
/// Optional free-text note shown below the entry.
public string? Note { get; init; }
}