namespace LehrerApp.Core.Models;
///
/// Ein aus dem schulweiten Jahresplan importierter Termin. Anders als
/// und ist er reine Kalenderinformation: Er verändert weder den
/// regulären Stundenplan noch erzeugt er Vertretungen oder Ausfälle.
///
public class AnnualPlanEvent
{
public Guid Id { get; set; } = Guid.NewGuid();
/// Stabile UID aus dem iCal-Feed; fachlicher Schlüssel für idempotente Importe.
public string ExternalId { get; set; } = "";
public string Title { get; set; } = "";
public string Description { get; set; } = "";
public string Location { get; set; } = "";
/// Erster beziehungsweise letzter tatsächlich belegter lokaler Kalendertag.
public DateOnly StartDate { get; set; }
public DateOnly EndDate { get; set; }
///
/// Bei Ganztagsterminen null. Zeitgebundene UTC-Werte aus dem Feed werden beim Import in die
/// lokale Schulzeit Europe/Berlin umgerechnet.
///
public TimeOnly? StartTime { get; set; }
public TimeOnly? EndTime { get; set; }
public bool IsAllDay { get; set; }
/// ClassyPlan-Gruppe, z.B. "Lehrkräfte" oder "Öffentlich".
public string CalendarGroup { get; set; } = "";
public string Color { get; set; } = "";
public string Status { get; set; } = "CONFIRMED";
public int Sequence { get; set; }
public DateTime? SourceLastModifiedUtc { get; set; }
}