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; } }