import datetime from typing import ClassVar from ..base_nodes import CCBaseNode class SchoolTimetableNode(CCBaseNode): __primarylabel__: ClassVar[str] = 'SchoolTimetable' school_timetable_id: str start_date: datetime.date end_date: datetime.date class AcademicYearNode(CCBaseNode): __primarylabel__: ClassVar[str] = 'AcademicYear' year: str class AcademicTermNode(CCBaseNode): __primarylabel__: ClassVar[str] = 'AcademicTerm' term_name: str term_number: str start_date: datetime.date end_date: datetime.date class AcademicTermBreakNode(CCBaseNode): __primarylabel__: ClassVar[str] = 'AcademicTermBreak' term_break_name: str start_date: datetime.date end_date: datetime.date class AcademicWeekNode(CCBaseNode): __primarylabel__: ClassVar[str] = 'AcademicWeek' academic_week_number: str start_date: datetime.date week_type: str class HolidayWeekNode(CCBaseNode): __primarylabel__: ClassVar[str] = 'HolidayWeek' start_date: datetime.date class AcademicDayNode(CCBaseNode): __primarylabel__: ClassVar[str] = 'AcademicDay' academic_day: str date: datetime.date day_of_week: str day_type: str class OffTimetableDayNode(CCBaseNode): __primarylabel__: ClassVar[str] = 'OffTimetableDay' date: datetime.date day_of_week: str class StaffDayNode(CCBaseNode): __primarylabel__: ClassVar[str] = 'StaffDay' date: datetime.date day_of_week: str class HolidayDayNode(CCBaseNode): __primarylabel__: ClassVar[str] = 'HolidayDay' date: datetime.date day_of_week: str class AcademicPeriodNode(CCBaseNode): __primarylabel__: ClassVar[str] = 'AcademicPeriod' name: str date: datetime.date start_time: datetime.datetime end_time: datetime.datetime period_code: str class RegistrationPeriodNode(CCBaseNode): __primarylabel__: ClassVar[str] = 'RegistrationPeriod' name: str date: datetime.date start_time: datetime.datetime end_time: datetime.datetime period_code: str class BreakPeriodNode(CCBaseNode): __primarylabel__: ClassVar[str] = 'BreakPeriod' name: str date: datetime.date start_time: datetime.datetime end_time: datetime.datetime class OffTimetablePeriodNode(CCBaseNode): __primarylabel__: ClassVar[str] = 'OffTimetablePeriod' name: str date: datetime.date start_time: datetime.datetime end_time: datetime.datetime