How the tool reads and writes your timetable file
Most timetabling systems can export a school timetable as calendar files, often one per class, teacher or room, so lessons show up in Google Calendar or Outlook. Such a file is plain text in the iCalendar format (RFC 5545). Each event is a VEVENT block with a start (DTSTART), an end (DTEND or DURATION), a title (SUMMARY) and optional fields such as LOCATION, RESOURCES, ATTENDEE, ORGANIZER and CATEGORIES. The tool reads those fields directly. It never guesses a teacher or a room from the words in a title.
Repeating events carry a rule (RRULE) instead of a list of dates. The tool expands daily, weekly, monthly and yearly rules into dated occurrences in the event's own time zone, so a 09:00 lesson stays at 09:00 after the clocks change. Dates listed in EXDATE are left out, and a moved occurrence (a second VEVENT with the same UID and a RECURRENCE-ID) replaces the date it was moved from.
A double booking is two events at overlapping times that list the same teacher, room or group in RESOURCES, or the same attendee. An event with no RESOURCES books its LOCATION instead. All-day events, cancelled events and events marked as free do not count. One lesson written several times, once per group or per teacher calendar as timetabling systems export it, is one booking: copies with the same times and the same course (or title) never clash with each other.
When you save an edit, only the lines you changed are rewritten. Every other line of the file, including reminders, time zone definitions and custom X- fields, is written back exactly as it was read. The edited event gets a higher SEQUENCE and a new DTSTAMP, which is how the iCalendar standard marks a revised version of the same event. For a repeating event you choose the scope, as in Google Calendar or Outlook: this event (an override with RECURRENCE-ID), this and following events (the series ends with UNTIL and a new series starts), or all events (the series moves, and its exception dates move with it).