diff --git a/aleksis/apps/chronos/locale/ar/LC_MESSAGES/django.po b/aleksis/apps/chronos/locale/ar/LC_MESSAGES/django.po
index c3cf80d3241dec07ed43be48479125a60cbe6091..e58e5abfe555ff77cc0b2d8dd6f04c317fc23fcb 100644
--- a/aleksis/apps/chronos/locale/ar/LC_MESSAGES/django.po
+++ b/aleksis/apps/chronos/locale/ar/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-03-21 19:47+0100\n"
+"POT-Creation-Date: 2022-06-21 11:32+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -78,12 +78,12 @@ msgid "Name"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:91 aleksis/apps/chronos/models.py:754
-#: aleksis/apps/chronos/models.py:829 aleksis/apps/chronos/models.py:1063
+#: aleksis/apps/chronos/models.py:827 aleksis/apps/chronos/models.py:1061
 msgid "Start date"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:92 aleksis/apps/chronos/models.py:755
-#: aleksis/apps/chronos/models.py:830 aleksis/apps/chronos/models.py:1064
+#: aleksis/apps/chronos/models.py:828 aleksis/apps/chronos/models.py:1062
 msgid "End date"
 msgstr ""
 
@@ -124,7 +124,7 @@ msgid "End time"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:338 aleksis/apps/chronos/models.py:525
-#: aleksis/apps/chronos/models.py:1193
+#: aleksis/apps/chronos/models.py:1191
 msgid "Time period"
 msgstr ""
 
@@ -133,13 +133,13 @@ msgid "Time periods"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:343 aleksis/apps/chronos/models.py:364
-#: aleksis/apps/chronos/models.py:698 aleksis/apps/chronos/models.py:875
-#: aleksis/apps/chronos/models.py:897
+#: aleksis/apps/chronos/models.py:698 aleksis/apps/chronos/models.py:873
+#: aleksis/apps/chronos/models.py:895
 msgid "Short name"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:344 aleksis/apps/chronos/models.py:365
-#: aleksis/apps/chronos/models.py:876 aleksis/apps/chronos/models.py:898
+#: aleksis/apps/chronos/models.py:874 aleksis/apps/chronos/models.py:896
 msgid "Long name"
 msgstr ""
 
@@ -152,7 +152,7 @@ msgid "Background colour"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:354 aleksis/apps/chronos/models.py:390
-#: aleksis/apps/chronos/models.py:446 aleksis/apps/chronos/models.py:1200
+#: aleksis/apps/chronos/models.py:446 aleksis/apps/chronos/models.py:1198
 #: aleksis/apps/chronos/templates/chronos/substitutions.html:47
 #: aleksis/apps/chronos/templates/chronos/substitutions_print.html:29
 msgid "Subject"
@@ -168,19 +168,19 @@ msgstr ""
 
 #: aleksis/apps/chronos/models.py:376 aleksis/apps/chronos/models.py:454
 #: aleksis/apps/chronos/models.py:533 aleksis/apps/chronos/models.py:751
-#: aleksis/apps/chronos/models.py:1215
+#: aleksis/apps/chronos/models.py:1213
 #: aleksis/apps/chronos/templates/chronos/substitutions.html:48
 #: aleksis/apps/chronos/templates/chronos/substitutions_print.html:30
 msgid "Room"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:377 aleksis/apps/chronos/models.py:1080
+#: aleksis/apps/chronos/models.py:377 aleksis/apps/chronos/models.py:1078
 #: aleksis/apps/chronos/templates/chronos/all.html:45
 msgid "Rooms"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:393 aleksis/apps/chronos/models.py:452
-#: aleksis/apps/chronos/models.py:1082 aleksis/apps/chronos/models.py:1208
+#: aleksis/apps/chronos/models.py:1080 aleksis/apps/chronos/models.py:1206
 #: aleksis/apps/chronos/tables.py:35
 #: aleksis/apps/chronos/templates/chronos/all.html:17
 #: aleksis/apps/chronos/templates/chronos/substitutions_print.html:28
@@ -191,8 +191,8 @@ msgstr ""
 msgid "Periods"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:401 aleksis/apps/chronos/models.py:1079
-#: aleksis/apps/chronos/models.py:1203 aleksis/apps/chronos/tables.py:34
+#: aleksis/apps/chronos/models.py:401 aleksis/apps/chronos/models.py:1077
+#: aleksis/apps/chronos/models.py:1201 aleksis/apps/chronos/tables.py:34
 #: aleksis/apps/chronos/templates/chronos/all.html:31
 msgid "Groups"
 msgstr ""
@@ -208,11 +208,11 @@ msgstr ""
 msgid "Lessons"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:433 aleksis/apps/chronos/models.py:1187
+#: aleksis/apps/chronos/models.py:433 aleksis/apps/chronos/models.py:1185
 msgid "Week"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:434 aleksis/apps/chronos/models.py:1188
+#: aleksis/apps/chronos/models.py:434 aleksis/apps/chronos/models.py:1186
 msgid "Year"
 msgstr ""
 
@@ -229,7 +229,7 @@ msgid "Cancelled for teachers?"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:461 aleksis/apps/chronos/models.py:770
-#: aleksis/apps/chronos/models.py:815 aleksis/apps/chronos/models.py:1218
+#: aleksis/apps/chronos/models.py:813 aleksis/apps/chronos/models.py:1216
 msgid "Comment"
 msgstr ""
 
@@ -265,8 +265,8 @@ msgstr ""
 msgid "Absence reasons"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:735 aleksis/apps/chronos/models.py:976
-#: aleksis/apps/chronos/models.py:1027
+#: aleksis/apps/chronos/models.py:735 aleksis/apps/chronos/models.py:974
+#: aleksis/apps/chronos/models.py:1025
 #: aleksis/apps/chronos/templates/chronos/substitutions.html:46
 msgid "Teacher"
 msgstr ""
@@ -279,7 +279,7 @@ msgstr ""
 msgid "Start period"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:766 aleksis/apps/chronos/models.py:809
+#: aleksis/apps/chronos/models.py:766 aleksis/apps/chronos/models.py:808
 msgid "End period"
 msgstr ""
 
@@ -299,150 +299,152 @@ msgstr ""
 msgid "Date of exam"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:814 aleksis/apps/chronos/models.py:828
-#: aleksis/apps/chronos/models.py:1061
+#: aleksis/apps/chronos/models.py:812 aleksis/apps/chronos/models.py:826
+#: aleksis/apps/chronos/models.py:1059
 msgid "Title"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:821
+#: aleksis/apps/chronos/models.py:819
 msgid "Exam"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:822
+#: aleksis/apps/chronos/models.py:820
 msgid "Exams"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:831
+#: aleksis/apps/chronos/models.py:829
 msgid "Comments"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:870
+#: aleksis/apps/chronos/models.py:868
 msgid "Holiday"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:871
+#: aleksis/apps/chronos/models.py:869
 msgid "Holidays"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:885 aleksis/apps/chronos/models.py:966
+#: aleksis/apps/chronos/models.py:883 aleksis/apps/chronos/models.py:964
 msgid "Supervision area"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:886
+#: aleksis/apps/chronos/models.py:884
 msgid "Supervision areas"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:903
+#: aleksis/apps/chronos/models.py:901
 msgid "Time period after break starts"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:911
+#: aleksis/apps/chronos/models.py:909
 msgid "Time period before break ends"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:951 aleksis/apps/chronos/models.py:970
+#: aleksis/apps/chronos/models.py:949 aleksis/apps/chronos/models.py:968
 msgid "Break"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:952
+#: aleksis/apps/chronos/models.py:950
 msgid "Breaks"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1007 aleksis/apps/chronos/models.py:1020
+#: aleksis/apps/chronos/models.py:1005 aleksis/apps/chronos/models.py:1018
 #: aleksis/apps/chronos/templates/chronos/partials/subs/subject.html:23
 #: aleksis/apps/chronos/templates/chronos/partials/supervision.html:15
 msgid "Supervision"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1008
+#: aleksis/apps/chronos/models.py:1006
 msgid "Supervisions"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1016
+#: aleksis/apps/chronos/models.py:1014
 msgid "Date"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1050
+#: aleksis/apps/chronos/models.py:1048
 msgid "Supervision substitution"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1051
+#: aleksis/apps/chronos/models.py:1049
 msgid "Supervision substitutions"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1069
+#: aleksis/apps/chronos/models.py:1067
 msgid "Start time period"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1075
+#: aleksis/apps/chronos/models.py:1073
 msgid "End time period"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1089
+#: aleksis/apps/chronos/models.py:1087
 #, python-brace-format
 msgid "Event {pk}"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1174
+#: aleksis/apps/chronos/models.py:1172
 #: aleksis/apps/chronos/templates/chronos/partials/subs/subject.html:27
 msgid "Event"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1175
+#: aleksis/apps/chronos/models.py:1173
 msgid "Events"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1244
+#: aleksis/apps/chronos/models.py:1221
+msgid "Related exam"
+msgstr ""
+
+#: aleksis/apps/chronos/models.py:1251
 msgid "Extra lesson"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1245
+#: aleksis/apps/chronos/models.py:1252
 msgid "Extra lessons"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1255
+#: aleksis/apps/chronos/models.py:1264
 msgid "Number of days shown in the plan"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1259
+#: aleksis/apps/chronos/models.py:1268
 msgid "Show header box"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1260 aleksis/apps/chronos/preferences.py:61
+#: aleksis/apps/chronos/models.py:1269 aleksis/apps/chronos/preferences.py:61
 msgid "The header box shows affected teachers/groups."
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1267
+#: aleksis/apps/chronos/models.py:1276
 msgid "Revision which triggered the last update"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1341
+#: aleksis/apps/chronos/models.py:1337
 msgid "Automatic plan"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1342
-#: aleksis/apps/chronos/templates/chronos/automatic_plan/list.html:8
-#: aleksis/apps/chronos/templates/chronos/automatic_plan/list.html:9
+#: aleksis/apps/chronos/models.py:1338
 msgid "Automatic plans"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1356
+#: aleksis/apps/chronos/models.py:1352
 msgid "Can view all room timetables"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1357
+#: aleksis/apps/chronos/models.py:1353
 msgid "Can view all group timetables"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1358
+#: aleksis/apps/chronos/models.py:1354
 msgid "Can view all person timetables"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1359
+#: aleksis/apps/chronos/models.py:1355
 msgid "Can view timetable overview"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1360
+#: aleksis/apps/chronos/models.py:1356
 msgid "Can view all lessons per day"
 msgstr ""
 
@@ -519,26 +521,15 @@ msgstr ""
 msgid "No room timetables available."
 msgstr ""
 
-#: aleksis/apps/chronos/templates/chronos/automatic_plan/create.html:6
-#: aleksis/apps/chronos/templates/chronos/automatic_plan/create.html:7
-#: aleksis/apps/chronos/templates/chronos/automatic_plan/list.html:14
-msgid "Create automatic plan"
-msgstr ""
-
-#: aleksis/apps/chronos/templates/chronos/automatic_plan/edit.html:6
-#: aleksis/apps/chronos/templates/chronos/automatic_plan/edit.html:7
-msgid "Edit automatic plan"
-msgstr ""
-
-#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:6
+#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:11
 msgid "Edit substitution."
 msgstr ""
 
-#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:7
+#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:12
 msgid "Edit substitution"
 msgstr ""
 
-#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:20
+#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:25
 msgid "Delete"
 msgstr ""
 
@@ -567,6 +558,10 @@ msgstr ""
 msgid "Affected groups"
 msgstr ""
 
+#: aleksis/apps/chronos/templates/chronos/partials/lesson.html:27
+msgid "Cancelled due to an event"
+msgstr ""
+
 #: aleksis/apps/chronos/templates/chronos/partials/subs/badge.html:4
 msgid "Cancelled"
 msgstr ""
@@ -615,6 +610,7 @@ msgid "Show regular timetable"
 msgstr ""
 
 #: aleksis/apps/chronos/templates/chronos/timetable.html:63
+#: aleksis/apps/chronos/templates/chronos/timetable.html:84
 msgid "View class register of this week"
 msgstr ""
 
@@ -622,10 +618,6 @@ msgstr ""
 msgid "Show SMART PLAN"
 msgstr ""
 
-#: aleksis/apps/chronos/templates/chronos/timetable.html:84
-msgid "View class register of the current week"
-msgstr ""
-
 #: aleksis/apps/chronos/templates/chronos/widget.html:8
 #, python-format
 msgid ""
diff --git a/aleksis/apps/chronos/locale/de_DE/LC_MESSAGES/django.po b/aleksis/apps/chronos/locale/de_DE/LC_MESSAGES/django.po
index 9e6c57ad518a1a094a059de9a21b832e2e5f23ff..23389b42be075525dd3b2fc0c03c98f5c95e6799 100644
--- a/aleksis/apps/chronos/locale/de_DE/LC_MESSAGES/django.po
+++ b/aleksis/apps/chronos/locale/de_DE/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-04-06 12:51+0000\n"
+"POT-Creation-Date: 2022-06-21 11:32+0200\n"
 "PO-Revision-Date: 2022-03-22 09:57+0000\n"
 "Last-Translator: Jonathan Weth <teckids@jonathanweth.de>\n"
 "Language-Team: German <https://translate.edugit.org/projects/aleksis/aleksis-app-chronos/de/>\n"
@@ -78,12 +78,12 @@ msgid "Name"
 msgstr "Name"
 
 #: aleksis/apps/chronos/models.py:91 aleksis/apps/chronos/models.py:754
-#: aleksis/apps/chronos/models.py:829 aleksis/apps/chronos/models.py:1063
+#: aleksis/apps/chronos/models.py:827 aleksis/apps/chronos/models.py:1061
 msgid "Start date"
 msgstr "Startdatum"
 
 #: aleksis/apps/chronos/models.py:92 aleksis/apps/chronos/models.py:755
-#: aleksis/apps/chronos/models.py:830 aleksis/apps/chronos/models.py:1064
+#: aleksis/apps/chronos/models.py:828 aleksis/apps/chronos/models.py:1062
 msgid "End date"
 msgstr "Enddatum"
 
@@ -124,7 +124,7 @@ msgid "End time"
 msgstr "Endzeit"
 
 #: aleksis/apps/chronos/models.py:338 aleksis/apps/chronos/models.py:525
-#: aleksis/apps/chronos/models.py:1193
+#: aleksis/apps/chronos/models.py:1191
 msgid "Time period"
 msgstr "Stunde"
 
@@ -133,13 +133,13 @@ msgid "Time periods"
 msgstr "Stunden"
 
 #: aleksis/apps/chronos/models.py:343 aleksis/apps/chronos/models.py:364
-#: aleksis/apps/chronos/models.py:698 aleksis/apps/chronos/models.py:875
-#: aleksis/apps/chronos/models.py:897
+#: aleksis/apps/chronos/models.py:698 aleksis/apps/chronos/models.py:873
+#: aleksis/apps/chronos/models.py:895
 msgid "Short name"
 msgstr "Kurzname"
 
 #: aleksis/apps/chronos/models.py:344 aleksis/apps/chronos/models.py:365
-#: aleksis/apps/chronos/models.py:876 aleksis/apps/chronos/models.py:898
+#: aleksis/apps/chronos/models.py:874 aleksis/apps/chronos/models.py:896
 msgid "Long name"
 msgstr "Langname"
 
@@ -152,7 +152,7 @@ msgid "Background colour"
 msgstr "Hintergrundfarbe"
 
 #: aleksis/apps/chronos/models.py:354 aleksis/apps/chronos/models.py:390
-#: aleksis/apps/chronos/models.py:446 aleksis/apps/chronos/models.py:1200
+#: aleksis/apps/chronos/models.py:446 aleksis/apps/chronos/models.py:1198
 #: aleksis/apps/chronos/templates/chronos/substitutions.html:47
 #: aleksis/apps/chronos/templates/chronos/substitutions_print.html:29
 msgid "Subject"
@@ -168,19 +168,19 @@ msgstr "Kann Raumstundenpläne sehen"
 
 #: aleksis/apps/chronos/models.py:376 aleksis/apps/chronos/models.py:454
 #: aleksis/apps/chronos/models.py:533 aleksis/apps/chronos/models.py:751
-#: aleksis/apps/chronos/models.py:1215
+#: aleksis/apps/chronos/models.py:1213
 #: aleksis/apps/chronos/templates/chronos/substitutions.html:48
 #: aleksis/apps/chronos/templates/chronos/substitutions_print.html:30
 msgid "Room"
 msgstr "Raum"
 
-#: aleksis/apps/chronos/models.py:377 aleksis/apps/chronos/models.py:1080
+#: aleksis/apps/chronos/models.py:377 aleksis/apps/chronos/models.py:1078
 #: aleksis/apps/chronos/templates/chronos/all.html:45
 msgid "Rooms"
 msgstr "Räume"
 
 #: aleksis/apps/chronos/models.py:393 aleksis/apps/chronos/models.py:452
-#: aleksis/apps/chronos/models.py:1082 aleksis/apps/chronos/models.py:1208
+#: aleksis/apps/chronos/models.py:1080 aleksis/apps/chronos/models.py:1206
 #: aleksis/apps/chronos/tables.py:35
 #: aleksis/apps/chronos/templates/chronos/all.html:17
 #: aleksis/apps/chronos/templates/chronos/substitutions_print.html:28
@@ -191,8 +191,8 @@ msgstr "Lehrkräfte"
 msgid "Periods"
 msgstr "Stunden"
 
-#: aleksis/apps/chronos/models.py:401 aleksis/apps/chronos/models.py:1079
-#: aleksis/apps/chronos/models.py:1203 aleksis/apps/chronos/tables.py:34
+#: aleksis/apps/chronos/models.py:401 aleksis/apps/chronos/models.py:1077
+#: aleksis/apps/chronos/models.py:1201 aleksis/apps/chronos/tables.py:34
 #: aleksis/apps/chronos/templates/chronos/all.html:31
 msgid "Groups"
 msgstr "Gruppen"
@@ -208,11 +208,11 @@ msgstr "Unterrichtsstunde"
 msgid "Lessons"
 msgstr "Unterrichtsstunden"
 
-#: aleksis/apps/chronos/models.py:433 aleksis/apps/chronos/models.py:1187
+#: aleksis/apps/chronos/models.py:433 aleksis/apps/chronos/models.py:1185
 msgid "Week"
 msgstr "KW"
 
-#: aleksis/apps/chronos/models.py:434 aleksis/apps/chronos/models.py:1188
+#: aleksis/apps/chronos/models.py:434 aleksis/apps/chronos/models.py:1186
 msgid "Year"
 msgstr "Jahr"
 
@@ -229,7 +229,7 @@ msgid "Cancelled for teachers?"
 msgstr "Entfällt für Lehrkräfte?"
 
 #: aleksis/apps/chronos/models.py:461 aleksis/apps/chronos/models.py:770
-#: aleksis/apps/chronos/models.py:815 aleksis/apps/chronos/models.py:1218
+#: aleksis/apps/chronos/models.py:813 aleksis/apps/chronos/models.py:1216
 msgid "Comment"
 msgstr "Kommentar"
 
@@ -265,8 +265,8 @@ msgstr "Absenzgrund"
 msgid "Absence reasons"
 msgstr "Absenzgründe"
 
-#: aleksis/apps/chronos/models.py:735 aleksis/apps/chronos/models.py:976
-#: aleksis/apps/chronos/models.py:1027
+#: aleksis/apps/chronos/models.py:735 aleksis/apps/chronos/models.py:974
+#: aleksis/apps/chronos/models.py:1025
 #: aleksis/apps/chronos/templates/chronos/substitutions.html:46
 msgid "Teacher"
 msgstr "Lehrkraft"
@@ -279,7 +279,7 @@ msgstr "Gruppe"
 msgid "Start period"
 msgstr "Startstunde"
 
-#: aleksis/apps/chronos/models.py:766 aleksis/apps/chronos/models.py:809
+#: aleksis/apps/chronos/models.py:766 aleksis/apps/chronos/models.py:808
 msgid "End period"
 msgstr "Endstunde"
 
@@ -299,148 +299,154 @@ msgstr "Fehlstunden"
 msgid "Date of exam"
 msgstr "Datum der Klausur"
 
-#: aleksis/apps/chronos/models.py:814 aleksis/apps/chronos/models.py:828
-#: aleksis/apps/chronos/models.py:1061
+#: aleksis/apps/chronos/models.py:812 aleksis/apps/chronos/models.py:826
+#: aleksis/apps/chronos/models.py:1059
 msgid "Title"
 msgstr "Titel"
 
-#: aleksis/apps/chronos/models.py:821
+#: aleksis/apps/chronos/models.py:819
 msgid "Exam"
 msgstr "Klausur"
 
-#: aleksis/apps/chronos/models.py:822
+#: aleksis/apps/chronos/models.py:820
 msgid "Exams"
 msgstr "Klausuren"
 
-#: aleksis/apps/chronos/models.py:831
+#: aleksis/apps/chronos/models.py:829
 msgid "Comments"
 msgstr "Kommentare"
 
-#: aleksis/apps/chronos/models.py:870
+#: aleksis/apps/chronos/models.py:868
 msgid "Holiday"
 msgstr "Ferien"
 
-#: aleksis/apps/chronos/models.py:871
+#: aleksis/apps/chronos/models.py:869
 msgid "Holidays"
 msgstr "Ferien"
 
-#: aleksis/apps/chronos/models.py:885 aleksis/apps/chronos/models.py:966
+#: aleksis/apps/chronos/models.py:883 aleksis/apps/chronos/models.py:964
 msgid "Supervision area"
 msgstr "Aufsichtsgebiet"
 
-#: aleksis/apps/chronos/models.py:886
+#: aleksis/apps/chronos/models.py:884
 msgid "Supervision areas"
 msgstr "Aufsichtsgebiete"
 
-#: aleksis/apps/chronos/models.py:903
+#: aleksis/apps/chronos/models.py:901
 msgid "Time period after break starts"
 msgstr "Stunde, nach der die Pause startet"
 
-#: aleksis/apps/chronos/models.py:911
+#: aleksis/apps/chronos/models.py:909
 msgid "Time period before break ends"
 msgstr "Stunde nach der Pause"
 
-#: aleksis/apps/chronos/models.py:951 aleksis/apps/chronos/models.py:970
+#: aleksis/apps/chronos/models.py:949 aleksis/apps/chronos/models.py:968
 msgid "Break"
 msgstr "Pause"
 
-#: aleksis/apps/chronos/models.py:952
+#: aleksis/apps/chronos/models.py:950
 msgid "Breaks"
 msgstr "Pausen"
 
-#: aleksis/apps/chronos/models.py:1007 aleksis/apps/chronos/models.py:1020
+#: aleksis/apps/chronos/models.py:1005 aleksis/apps/chronos/models.py:1018
 #: aleksis/apps/chronos/templates/chronos/partials/subs/subject.html:23
 #: aleksis/apps/chronos/templates/chronos/partials/supervision.html:15
 msgid "Supervision"
 msgstr "Aufsicht"
 
-#: aleksis/apps/chronos/models.py:1008
+#: aleksis/apps/chronos/models.py:1006
 msgid "Supervisions"
 msgstr "Aufsichten"
 
-#: aleksis/apps/chronos/models.py:1016
+#: aleksis/apps/chronos/models.py:1014
 msgid "Date"
 msgstr "Datum"
 
-#: aleksis/apps/chronos/models.py:1050
+#: aleksis/apps/chronos/models.py:1048
 msgid "Supervision substitution"
 msgstr "Aufsichtsvertretung"
 
-#: aleksis/apps/chronos/models.py:1051
+#: aleksis/apps/chronos/models.py:1049
 msgid "Supervision substitutions"
 msgstr "Aufsichtsvertretungen"
 
-#: aleksis/apps/chronos/models.py:1069
+#: aleksis/apps/chronos/models.py:1067
 msgid "Start time period"
 msgstr "Startstunde"
 
-#: aleksis/apps/chronos/models.py:1075
+#: aleksis/apps/chronos/models.py:1073
 msgid "End time period"
 msgstr "Endstunde"
 
-#: aleksis/apps/chronos/models.py:1089
+#: aleksis/apps/chronos/models.py:1087
 #, python-brace-format
 msgid "Event {pk}"
 msgstr "Veranstaltung {pk}"
 
-#: aleksis/apps/chronos/models.py:1174
+#: aleksis/apps/chronos/models.py:1172
 #: aleksis/apps/chronos/templates/chronos/partials/subs/subject.html:27
 msgid "Event"
 msgstr "Veranstaltung"
 
-#: aleksis/apps/chronos/models.py:1175
+#: aleksis/apps/chronos/models.py:1173
 msgid "Events"
 msgstr "Veranstaltungen"
 
-#: aleksis/apps/chronos/models.py:1244
+#: aleksis/apps/chronos/models.py:1221
+#, fuzzy
+#| msgid "Date of exam"
+msgid "Related exam"
+msgstr "Datum der Klausur"
+
+#: aleksis/apps/chronos/models.py:1251
 msgid "Extra lesson"
 msgstr "Sonderstunde"
 
-#: aleksis/apps/chronos/models.py:1245
+#: aleksis/apps/chronos/models.py:1252
 msgid "Extra lessons"
 msgstr "Sonderstunden"
 
-#: aleksis/apps/chronos/models.py:1255
+#: aleksis/apps/chronos/models.py:1264
 msgid "Number of days shown in the plan"
 msgstr "Anzahl der Tage, die im Plan angezeigt werden"
 
-#: aleksis/apps/chronos/models.py:1259
+#: aleksis/apps/chronos/models.py:1268
 msgid "Show header box"
 msgstr "Kopfbox anzeigen"
 
-#: aleksis/apps/chronos/models.py:1260 aleksis/apps/chronos/preferences.py:61
+#: aleksis/apps/chronos/models.py:1269 aleksis/apps/chronos/preferences.py:61
 msgid "The header box shows affected teachers/groups."
 msgstr "Die Kopfbox zeigt betroffene Lehrkräfte/Gruppen."
 
-#: aleksis/apps/chronos/models.py:1267
+#: aleksis/apps/chronos/models.py:1276
 msgid "Revision which triggered the last update"
 msgstr "Revision, die die letzte Aktualisierung ausgelöst hat"
 
-#: aleksis/apps/chronos/models.py:1341
+#: aleksis/apps/chronos/models.py:1337
 msgid "Automatic plan"
 msgstr "Automatischer Plan"
 
-#: aleksis/apps/chronos/models.py:1342
+#: aleksis/apps/chronos/models.py:1338
 msgid "Automatic plans"
 msgstr "Automatische Pläne"
 
-#: aleksis/apps/chronos/models.py:1356
+#: aleksis/apps/chronos/models.py:1352
 msgid "Can view all room timetables"
 msgstr "Kann alle Raumstundenpläne sehen"
 
-#: aleksis/apps/chronos/models.py:1357
+#: aleksis/apps/chronos/models.py:1353
 msgid "Can view all group timetables"
 msgstr "Kann alle Gruppenstundenpläne sehen"
 
-#: aleksis/apps/chronos/models.py:1358
+#: aleksis/apps/chronos/models.py:1354
 msgid "Can view all person timetables"
 msgstr "Kann alle Personenstundenpläne sehen"
 
-#: aleksis/apps/chronos/models.py:1359
+#: aleksis/apps/chronos/models.py:1355
 msgid "Can view timetable overview"
 msgstr "Kann Stundenplanübersicht sehen"
 
-#: aleksis/apps/chronos/models.py:1360
+#: aleksis/apps/chronos/models.py:1356
 msgid "Can view all lessons per day"
 msgstr "Kann alle Tagesstunden sehen"
 
@@ -517,15 +523,15 @@ msgstr "Keine Gruppen-Stundenpläne verfügbar."
 msgid "No room timetables available."
 msgstr "Keine Raum-Stundenpläne verfügbar."
 
-#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:6
+#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:11
 msgid "Edit substitution."
 msgstr "Vertretung bearbeiten."
 
-#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:7
+#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:12
 msgid "Edit substitution"
 msgstr "Vertretung bearbeiten"
 
-#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:20
+#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:25
 msgid "Delete"
 msgstr "Löschen"
 
@@ -554,6 +560,10 @@ msgstr "Betroffene Lehrkräfte"
 msgid "Affected groups"
 msgstr "Betroffene Gruppen"
 
+#: aleksis/apps/chronos/templates/chronos/partials/lesson.html:27
+msgid "Cancelled due to an event"
+msgstr ""
+
 #: aleksis/apps/chronos/templates/chronos/partials/subs/badge.html:4
 msgid "Cancelled"
 msgstr "Entfall"
@@ -602,6 +612,7 @@ msgid "Show regular timetable"
 msgstr "Regulären Plan anzeigen"
 
 #: aleksis/apps/chronos/templates/chronos/timetable.html:63
+#: aleksis/apps/chronos/templates/chronos/timetable.html:84
 msgid "View class register of this week"
 msgstr "Klassenbuch dieser Woche anzeigen"
 
@@ -609,10 +620,6 @@ msgstr "Klassenbuch dieser Woche anzeigen"
 msgid "Show SMART PLAN"
 msgstr "SMART PLAN anzeigen"
 
-#: aleksis/apps/chronos/templates/chronos/timetable.html:84
-msgid "View class register of the current week"
-msgstr "Klassenbuch der aktuellen Woche anzeigen"
-
 #: aleksis/apps/chronos/templates/chronos/widget.html:8
 #, python-format
 msgid ""
@@ -734,6 +741,9 @@ msgstr "Die Vertretung wurde gespeichert."
 msgid "The substitution has been deleted."
 msgstr "Die Vertretung wurde gelöscht."
 
+#~ msgid "View class register of the current week"
+#~ msgstr "Klassenbuch der aktuellen Woche anzeigen"
+
 #~ msgid "Create automatic plan"
 #~ msgstr "Automatischen Plan erstellen"
 
diff --git a/aleksis/apps/chronos/locale/fr/LC_MESSAGES/django.po b/aleksis/apps/chronos/locale/fr/LC_MESSAGES/django.po
index b346e333c869517d21c35c26fd8d0a5b5c3ac319..2de6a0f73e58b9d49c4178a9947ad53e61475c72 100644
--- a/aleksis/apps/chronos/locale/fr/LC_MESSAGES/django.po
+++ b/aleksis/apps/chronos/locale/fr/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-03-21 19:47+0100\n"
+"POT-Creation-Date: 2022-06-21 11:32+0200\n"
 "PO-Revision-Date: 2021-06-16 11:59+0000\n"
 "Last-Translator: Jonathan Weth <teckids@jonathanweth.de>\n"
 "Language-Team: French <https://translate.edugit.org/projects/aleksis/aleksis-app-chronos/fr/>\n"
@@ -78,12 +78,12 @@ msgid "Name"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:91 aleksis/apps/chronos/models.py:754
-#: aleksis/apps/chronos/models.py:829 aleksis/apps/chronos/models.py:1063
+#: aleksis/apps/chronos/models.py:827 aleksis/apps/chronos/models.py:1061
 msgid "Start date"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:92 aleksis/apps/chronos/models.py:755
-#: aleksis/apps/chronos/models.py:830 aleksis/apps/chronos/models.py:1064
+#: aleksis/apps/chronos/models.py:828 aleksis/apps/chronos/models.py:1062
 msgid "End date"
 msgstr ""
 
@@ -124,7 +124,7 @@ msgid "End time"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:338 aleksis/apps/chronos/models.py:525
-#: aleksis/apps/chronos/models.py:1193
+#: aleksis/apps/chronos/models.py:1191
 msgid "Time period"
 msgstr ""
 
@@ -133,13 +133,13 @@ msgid "Time periods"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:343 aleksis/apps/chronos/models.py:364
-#: aleksis/apps/chronos/models.py:698 aleksis/apps/chronos/models.py:875
-#: aleksis/apps/chronos/models.py:897
+#: aleksis/apps/chronos/models.py:698 aleksis/apps/chronos/models.py:873
+#: aleksis/apps/chronos/models.py:895
 msgid "Short name"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:344 aleksis/apps/chronos/models.py:365
-#: aleksis/apps/chronos/models.py:876 aleksis/apps/chronos/models.py:898
+#: aleksis/apps/chronos/models.py:874 aleksis/apps/chronos/models.py:896
 msgid "Long name"
 msgstr ""
 
@@ -152,7 +152,7 @@ msgid "Background colour"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:354 aleksis/apps/chronos/models.py:390
-#: aleksis/apps/chronos/models.py:446 aleksis/apps/chronos/models.py:1200
+#: aleksis/apps/chronos/models.py:446 aleksis/apps/chronos/models.py:1198
 #: aleksis/apps/chronos/templates/chronos/substitutions.html:47
 #: aleksis/apps/chronos/templates/chronos/substitutions_print.html:29
 msgid "Subject"
@@ -170,19 +170,19 @@ msgstr ""
 
 #: aleksis/apps/chronos/models.py:376 aleksis/apps/chronos/models.py:454
 #: aleksis/apps/chronos/models.py:533 aleksis/apps/chronos/models.py:751
-#: aleksis/apps/chronos/models.py:1215
+#: aleksis/apps/chronos/models.py:1213
 #: aleksis/apps/chronos/templates/chronos/substitutions.html:48
 #: aleksis/apps/chronos/templates/chronos/substitutions_print.html:30
 msgid "Room"
 msgstr "Salle"
 
-#: aleksis/apps/chronos/models.py:377 aleksis/apps/chronos/models.py:1080
+#: aleksis/apps/chronos/models.py:377 aleksis/apps/chronos/models.py:1078
 #: aleksis/apps/chronos/templates/chronos/all.html:45
 msgid "Rooms"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:393 aleksis/apps/chronos/models.py:452
-#: aleksis/apps/chronos/models.py:1082 aleksis/apps/chronos/models.py:1208
+#: aleksis/apps/chronos/models.py:1080 aleksis/apps/chronos/models.py:1206
 #: aleksis/apps/chronos/tables.py:35
 #: aleksis/apps/chronos/templates/chronos/all.html:17
 #: aleksis/apps/chronos/templates/chronos/substitutions_print.html:28
@@ -193,8 +193,8 @@ msgstr "Profs"
 msgid "Periods"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:401 aleksis/apps/chronos/models.py:1079
-#: aleksis/apps/chronos/models.py:1203 aleksis/apps/chronos/tables.py:34
+#: aleksis/apps/chronos/models.py:401 aleksis/apps/chronos/models.py:1077
+#: aleksis/apps/chronos/models.py:1201 aleksis/apps/chronos/tables.py:34
 #: aleksis/apps/chronos/templates/chronos/all.html:31
 msgid "Groups"
 msgstr ""
@@ -210,11 +210,11 @@ msgstr "Cours"
 msgid "Lessons"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:433 aleksis/apps/chronos/models.py:1187
+#: aleksis/apps/chronos/models.py:433 aleksis/apps/chronos/models.py:1185
 msgid "Week"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:434 aleksis/apps/chronos/models.py:1188
+#: aleksis/apps/chronos/models.py:434 aleksis/apps/chronos/models.py:1186
 msgid "Year"
 msgstr ""
 
@@ -231,7 +231,7 @@ msgid "Cancelled for teachers?"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:461 aleksis/apps/chronos/models.py:770
-#: aleksis/apps/chronos/models.py:815 aleksis/apps/chronos/models.py:1218
+#: aleksis/apps/chronos/models.py:813 aleksis/apps/chronos/models.py:1216
 msgid "Comment"
 msgstr ""
 
@@ -267,8 +267,8 @@ msgstr ""
 msgid "Absence reasons"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:735 aleksis/apps/chronos/models.py:976
-#: aleksis/apps/chronos/models.py:1027
+#: aleksis/apps/chronos/models.py:735 aleksis/apps/chronos/models.py:974
+#: aleksis/apps/chronos/models.py:1025
 #: aleksis/apps/chronos/templates/chronos/substitutions.html:46
 msgid "Teacher"
 msgstr "prof"
@@ -281,7 +281,7 @@ msgstr "groupe"
 msgid "Start period"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:766 aleksis/apps/chronos/models.py:809
+#: aleksis/apps/chronos/models.py:766 aleksis/apps/chronos/models.py:808
 msgid "End period"
 msgstr ""
 
@@ -301,150 +301,152 @@ msgstr "Absences"
 msgid "Date of exam"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:814 aleksis/apps/chronos/models.py:828
-#: aleksis/apps/chronos/models.py:1061
+#: aleksis/apps/chronos/models.py:812 aleksis/apps/chronos/models.py:826
+#: aleksis/apps/chronos/models.py:1059
 msgid "Title"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:821
+#: aleksis/apps/chronos/models.py:819
 msgid "Exam"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:822
+#: aleksis/apps/chronos/models.py:820
 msgid "Exams"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:831
+#: aleksis/apps/chronos/models.py:829
 msgid "Comments"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:870
+#: aleksis/apps/chronos/models.py:868
 msgid "Holiday"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:871
+#: aleksis/apps/chronos/models.py:869
 msgid "Holidays"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:885 aleksis/apps/chronos/models.py:966
+#: aleksis/apps/chronos/models.py:883 aleksis/apps/chronos/models.py:964
 msgid "Supervision area"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:886
+#: aleksis/apps/chronos/models.py:884
 msgid "Supervision areas"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:903
+#: aleksis/apps/chronos/models.py:901
 msgid "Time period after break starts"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:911
+#: aleksis/apps/chronos/models.py:909
 msgid "Time period before break ends"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:951 aleksis/apps/chronos/models.py:970
+#: aleksis/apps/chronos/models.py:949 aleksis/apps/chronos/models.py:968
 msgid "Break"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:952
+#: aleksis/apps/chronos/models.py:950
 msgid "Breaks"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1007 aleksis/apps/chronos/models.py:1020
+#: aleksis/apps/chronos/models.py:1005 aleksis/apps/chronos/models.py:1018
 #: aleksis/apps/chronos/templates/chronos/partials/subs/subject.html:23
 #: aleksis/apps/chronos/templates/chronos/partials/supervision.html:15
 msgid "Supervision"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1008
+#: aleksis/apps/chronos/models.py:1006
 msgid "Supervisions"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1016
+#: aleksis/apps/chronos/models.py:1014
 msgid "Date"
 msgstr "Date"
 
-#: aleksis/apps/chronos/models.py:1050
+#: aleksis/apps/chronos/models.py:1048
 msgid "Supervision substitution"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1051
+#: aleksis/apps/chronos/models.py:1049
 msgid "Supervision substitutions"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1069
+#: aleksis/apps/chronos/models.py:1067
 msgid "Start time period"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1075
+#: aleksis/apps/chronos/models.py:1073
 msgid "End time period"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1089
+#: aleksis/apps/chronos/models.py:1087
 #, python-brace-format
 msgid "Event {pk}"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1174
+#: aleksis/apps/chronos/models.py:1172
 #: aleksis/apps/chronos/templates/chronos/partials/subs/subject.html:27
 msgid "Event"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1175
+#: aleksis/apps/chronos/models.py:1173
 msgid "Events"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1244
+#: aleksis/apps/chronos/models.py:1221
+msgid "Related exam"
+msgstr ""
+
+#: aleksis/apps/chronos/models.py:1251
 msgid "Extra lesson"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1245
+#: aleksis/apps/chronos/models.py:1252
 msgid "Extra lessons"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1255
+#: aleksis/apps/chronos/models.py:1264
 msgid "Number of days shown in the plan"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1259
+#: aleksis/apps/chronos/models.py:1268
 msgid "Show header box"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1260 aleksis/apps/chronos/preferences.py:61
+#: aleksis/apps/chronos/models.py:1269 aleksis/apps/chronos/preferences.py:61
 msgid "The header box shows affected teachers/groups."
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1267
+#: aleksis/apps/chronos/models.py:1276
 msgid "Revision which triggered the last update"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1341
+#: aleksis/apps/chronos/models.py:1337
 msgid "Automatic plan"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1342
-#: aleksis/apps/chronos/templates/chronos/automatic_plan/list.html:8
-#: aleksis/apps/chronos/templates/chronos/automatic_plan/list.html:9
+#: aleksis/apps/chronos/models.py:1338
 msgid "Automatic plans"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1356
+#: aleksis/apps/chronos/models.py:1352
 msgid "Can view all room timetables"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1357
+#: aleksis/apps/chronos/models.py:1353
 msgid "Can view all group timetables"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1358
+#: aleksis/apps/chronos/models.py:1354
 msgid "Can view all person timetables"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1359
+#: aleksis/apps/chronos/models.py:1355
 msgid "Can view timetable overview"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1360
+#: aleksis/apps/chronos/models.py:1356
 msgid "Can view all lessons per day"
 msgstr ""
 
@@ -521,26 +523,15 @@ msgstr ""
 msgid "No room timetables available."
 msgstr ""
 
-#: aleksis/apps/chronos/templates/chronos/automatic_plan/create.html:6
-#: aleksis/apps/chronos/templates/chronos/automatic_plan/create.html:7
-#: aleksis/apps/chronos/templates/chronos/automatic_plan/list.html:14
-msgid "Create automatic plan"
-msgstr ""
-
-#: aleksis/apps/chronos/templates/chronos/automatic_plan/edit.html:6
-#: aleksis/apps/chronos/templates/chronos/automatic_plan/edit.html:7
-msgid "Edit automatic plan"
-msgstr ""
-
-#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:6
+#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:11
 msgid "Edit substitution."
 msgstr ""
 
-#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:7
+#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:12
 msgid "Edit substitution"
 msgstr ""
 
-#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:20
+#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:25
 msgid "Delete"
 msgstr ""
 
@@ -569,6 +560,10 @@ msgstr ""
 msgid "Affected groups"
 msgstr ""
 
+#: aleksis/apps/chronos/templates/chronos/partials/lesson.html:27
+msgid "Cancelled due to an event"
+msgstr ""
+
 #: aleksis/apps/chronos/templates/chronos/partials/subs/badge.html:4
 msgid "Cancelled"
 msgstr ""
@@ -617,6 +612,7 @@ msgid "Show regular timetable"
 msgstr ""
 
 #: aleksis/apps/chronos/templates/chronos/timetable.html:63
+#: aleksis/apps/chronos/templates/chronos/timetable.html:84
 msgid "View class register of this week"
 msgstr ""
 
@@ -624,10 +620,6 @@ msgstr ""
 msgid "Show SMART PLAN"
 msgstr ""
 
-#: aleksis/apps/chronos/templates/chronos/timetable.html:84
-msgid "View class register of the current week"
-msgstr ""
-
 #: aleksis/apps/chronos/templates/chronos/widget.html:8
 #, python-format
 msgid ""
diff --git a/aleksis/apps/chronos/locale/la/LC_MESSAGES/django.po b/aleksis/apps/chronos/locale/la/LC_MESSAGES/django.po
index a1d9bb535582db453825a468922a1c32a4090309..64f39ae10f914f1706a38e03dc6bf944a6f71d60 100644
--- a/aleksis/apps/chronos/locale/la/LC_MESSAGES/django.po
+++ b/aleksis/apps/chronos/locale/la/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-03-21 19:47+0100\n"
+"POT-Creation-Date: 2022-06-21 11:32+0200\n"
 "PO-Revision-Date: 2020-08-23 13:49+0000\n"
 "Last-Translator: Jonathan Weth <teckids@jonathanweth.de>\n"
 "Language-Team: Latin <https://translate.edugit.org/projects/aleksis/aleksis-app-chronos/la/>\n"
@@ -78,12 +78,12 @@ msgid "Name"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:91 aleksis/apps/chronos/models.py:754
-#: aleksis/apps/chronos/models.py:829 aleksis/apps/chronos/models.py:1063
+#: aleksis/apps/chronos/models.py:827 aleksis/apps/chronos/models.py:1061
 msgid "Start date"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:92 aleksis/apps/chronos/models.py:755
-#: aleksis/apps/chronos/models.py:830 aleksis/apps/chronos/models.py:1064
+#: aleksis/apps/chronos/models.py:828 aleksis/apps/chronos/models.py:1062
 msgid "End date"
 msgstr ""
 
@@ -124,7 +124,7 @@ msgid "End time"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:338 aleksis/apps/chronos/models.py:525
-#: aleksis/apps/chronos/models.py:1193
+#: aleksis/apps/chronos/models.py:1191
 msgid "Time period"
 msgstr ""
 
@@ -133,13 +133,13 @@ msgid "Time periods"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:343 aleksis/apps/chronos/models.py:364
-#: aleksis/apps/chronos/models.py:698 aleksis/apps/chronos/models.py:875
-#: aleksis/apps/chronos/models.py:897
+#: aleksis/apps/chronos/models.py:698 aleksis/apps/chronos/models.py:873
+#: aleksis/apps/chronos/models.py:895
 msgid "Short name"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:344 aleksis/apps/chronos/models.py:365
-#: aleksis/apps/chronos/models.py:876 aleksis/apps/chronos/models.py:898
+#: aleksis/apps/chronos/models.py:874 aleksis/apps/chronos/models.py:896
 msgid "Long name"
 msgstr ""
 
@@ -152,7 +152,7 @@ msgid "Background colour"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:354 aleksis/apps/chronos/models.py:390
-#: aleksis/apps/chronos/models.py:446 aleksis/apps/chronos/models.py:1200
+#: aleksis/apps/chronos/models.py:446 aleksis/apps/chronos/models.py:1198
 #: aleksis/apps/chronos/templates/chronos/substitutions.html:47
 #: aleksis/apps/chronos/templates/chronos/substitutions_print.html:29
 msgid "Subject"
@@ -168,19 +168,19 @@ msgstr ""
 
 #: aleksis/apps/chronos/models.py:376 aleksis/apps/chronos/models.py:454
 #: aleksis/apps/chronos/models.py:533 aleksis/apps/chronos/models.py:751
-#: aleksis/apps/chronos/models.py:1215
+#: aleksis/apps/chronos/models.py:1213
 #: aleksis/apps/chronos/templates/chronos/substitutions.html:48
 #: aleksis/apps/chronos/templates/chronos/substitutions_print.html:30
 msgid "Room"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:377 aleksis/apps/chronos/models.py:1080
+#: aleksis/apps/chronos/models.py:377 aleksis/apps/chronos/models.py:1078
 #: aleksis/apps/chronos/templates/chronos/all.html:45
 msgid "Rooms"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:393 aleksis/apps/chronos/models.py:452
-#: aleksis/apps/chronos/models.py:1082 aleksis/apps/chronos/models.py:1208
+#: aleksis/apps/chronos/models.py:1080 aleksis/apps/chronos/models.py:1206
 #: aleksis/apps/chronos/tables.py:35
 #: aleksis/apps/chronos/templates/chronos/all.html:17
 #: aleksis/apps/chronos/templates/chronos/substitutions_print.html:28
@@ -191,8 +191,8 @@ msgstr ""
 msgid "Periods"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:401 aleksis/apps/chronos/models.py:1079
-#: aleksis/apps/chronos/models.py:1203 aleksis/apps/chronos/tables.py:34
+#: aleksis/apps/chronos/models.py:401 aleksis/apps/chronos/models.py:1077
+#: aleksis/apps/chronos/models.py:1201 aleksis/apps/chronos/tables.py:34
 #: aleksis/apps/chronos/templates/chronos/all.html:31
 msgid "Groups"
 msgstr ""
@@ -208,11 +208,11 @@ msgstr ""
 msgid "Lessons"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:433 aleksis/apps/chronos/models.py:1187
+#: aleksis/apps/chronos/models.py:433 aleksis/apps/chronos/models.py:1185
 msgid "Week"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:434 aleksis/apps/chronos/models.py:1188
+#: aleksis/apps/chronos/models.py:434 aleksis/apps/chronos/models.py:1186
 msgid "Year"
 msgstr ""
 
@@ -229,7 +229,7 @@ msgid "Cancelled for teachers?"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:461 aleksis/apps/chronos/models.py:770
-#: aleksis/apps/chronos/models.py:815 aleksis/apps/chronos/models.py:1218
+#: aleksis/apps/chronos/models.py:813 aleksis/apps/chronos/models.py:1216
 msgid "Comment"
 msgstr ""
 
@@ -265,8 +265,8 @@ msgstr ""
 msgid "Absence reasons"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:735 aleksis/apps/chronos/models.py:976
-#: aleksis/apps/chronos/models.py:1027
+#: aleksis/apps/chronos/models.py:735 aleksis/apps/chronos/models.py:974
+#: aleksis/apps/chronos/models.py:1025
 #: aleksis/apps/chronos/templates/chronos/substitutions.html:46
 msgid "Teacher"
 msgstr ""
@@ -279,7 +279,7 @@ msgstr "Grex"
 msgid "Start period"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:766 aleksis/apps/chronos/models.py:809
+#: aleksis/apps/chronos/models.py:766 aleksis/apps/chronos/models.py:808
 msgid "End period"
 msgstr ""
 
@@ -299,150 +299,152 @@ msgstr ""
 msgid "Date of exam"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:814 aleksis/apps/chronos/models.py:828
-#: aleksis/apps/chronos/models.py:1061
+#: aleksis/apps/chronos/models.py:812 aleksis/apps/chronos/models.py:826
+#: aleksis/apps/chronos/models.py:1059
 msgid "Title"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:821
+#: aleksis/apps/chronos/models.py:819
 msgid "Exam"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:822
+#: aleksis/apps/chronos/models.py:820
 msgid "Exams"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:831
+#: aleksis/apps/chronos/models.py:829
 msgid "Comments"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:870
+#: aleksis/apps/chronos/models.py:868
 msgid "Holiday"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:871
+#: aleksis/apps/chronos/models.py:869
 msgid "Holidays"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:885 aleksis/apps/chronos/models.py:966
+#: aleksis/apps/chronos/models.py:883 aleksis/apps/chronos/models.py:964
 msgid "Supervision area"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:886
+#: aleksis/apps/chronos/models.py:884
 msgid "Supervision areas"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:903
+#: aleksis/apps/chronos/models.py:901
 msgid "Time period after break starts"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:911
+#: aleksis/apps/chronos/models.py:909
 msgid "Time period before break ends"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:951 aleksis/apps/chronos/models.py:970
+#: aleksis/apps/chronos/models.py:949 aleksis/apps/chronos/models.py:968
 msgid "Break"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:952
+#: aleksis/apps/chronos/models.py:950
 msgid "Breaks"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1007 aleksis/apps/chronos/models.py:1020
+#: aleksis/apps/chronos/models.py:1005 aleksis/apps/chronos/models.py:1018
 #: aleksis/apps/chronos/templates/chronos/partials/subs/subject.html:23
 #: aleksis/apps/chronos/templates/chronos/partials/supervision.html:15
 msgid "Supervision"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1008
+#: aleksis/apps/chronos/models.py:1006
 msgid "Supervisions"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1016
+#: aleksis/apps/chronos/models.py:1014
 msgid "Date"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1050
+#: aleksis/apps/chronos/models.py:1048
 msgid "Supervision substitution"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1051
+#: aleksis/apps/chronos/models.py:1049
 msgid "Supervision substitutions"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1069
+#: aleksis/apps/chronos/models.py:1067
 msgid "Start time period"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1075
+#: aleksis/apps/chronos/models.py:1073
 msgid "End time period"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1089
+#: aleksis/apps/chronos/models.py:1087
 #, python-brace-format
 msgid "Event {pk}"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1174
+#: aleksis/apps/chronos/models.py:1172
 #: aleksis/apps/chronos/templates/chronos/partials/subs/subject.html:27
 msgid "Event"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1175
+#: aleksis/apps/chronos/models.py:1173
 msgid "Events"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1244
+#: aleksis/apps/chronos/models.py:1221
+msgid "Related exam"
+msgstr ""
+
+#: aleksis/apps/chronos/models.py:1251
 msgid "Extra lesson"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1245
+#: aleksis/apps/chronos/models.py:1252
 msgid "Extra lessons"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1255
+#: aleksis/apps/chronos/models.py:1264
 msgid "Number of days shown in the plan"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1259
+#: aleksis/apps/chronos/models.py:1268
 msgid "Show header box"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1260 aleksis/apps/chronos/preferences.py:61
+#: aleksis/apps/chronos/models.py:1269 aleksis/apps/chronos/preferences.py:61
 msgid "The header box shows affected teachers/groups."
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1267
+#: aleksis/apps/chronos/models.py:1276
 msgid "Revision which triggered the last update"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1341
+#: aleksis/apps/chronos/models.py:1337
 msgid "Automatic plan"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1342
-#: aleksis/apps/chronos/templates/chronos/automatic_plan/list.html:8
-#: aleksis/apps/chronos/templates/chronos/automatic_plan/list.html:9
+#: aleksis/apps/chronos/models.py:1338
 msgid "Automatic plans"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1356
+#: aleksis/apps/chronos/models.py:1352
 msgid "Can view all room timetables"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1357
+#: aleksis/apps/chronos/models.py:1353
 msgid "Can view all group timetables"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1358
+#: aleksis/apps/chronos/models.py:1354
 msgid "Can view all person timetables"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1359
+#: aleksis/apps/chronos/models.py:1355
 msgid "Can view timetable overview"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1360
+#: aleksis/apps/chronos/models.py:1356
 msgid "Can view all lessons per day"
 msgstr ""
 
@@ -519,26 +521,15 @@ msgstr ""
 msgid "No room timetables available."
 msgstr ""
 
-#: aleksis/apps/chronos/templates/chronos/automatic_plan/create.html:6
-#: aleksis/apps/chronos/templates/chronos/automatic_plan/create.html:7
-#: aleksis/apps/chronos/templates/chronos/automatic_plan/list.html:14
-msgid "Create automatic plan"
-msgstr ""
-
-#: aleksis/apps/chronos/templates/chronos/automatic_plan/edit.html:6
-#: aleksis/apps/chronos/templates/chronos/automatic_plan/edit.html:7
-msgid "Edit automatic plan"
-msgstr ""
-
-#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:6
+#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:11
 msgid "Edit substitution."
 msgstr ""
 
-#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:7
+#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:12
 msgid "Edit substitution"
 msgstr ""
 
-#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:20
+#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:25
 msgid "Delete"
 msgstr ""
 
@@ -567,6 +558,10 @@ msgstr ""
 msgid "Affected groups"
 msgstr ""
 
+#: aleksis/apps/chronos/templates/chronos/partials/lesson.html:27
+msgid "Cancelled due to an event"
+msgstr ""
+
 #: aleksis/apps/chronos/templates/chronos/partials/subs/badge.html:4
 msgid "Cancelled"
 msgstr ""
@@ -615,6 +610,7 @@ msgid "Show regular timetable"
 msgstr ""
 
 #: aleksis/apps/chronos/templates/chronos/timetable.html:63
+#: aleksis/apps/chronos/templates/chronos/timetable.html:84
 msgid "View class register of this week"
 msgstr ""
 
@@ -622,10 +618,6 @@ msgstr ""
 msgid "Show SMART PLAN"
 msgstr ""
 
-#: aleksis/apps/chronos/templates/chronos/timetable.html:84
-msgid "View class register of the current week"
-msgstr ""
-
 #: aleksis/apps/chronos/templates/chronos/widget.html:8
 #, python-format
 msgid ""
diff --git a/aleksis/apps/chronos/locale/nb_NO/LC_MESSAGES/django.po b/aleksis/apps/chronos/locale/nb_NO/LC_MESSAGES/django.po
index 69ad4cf78fcf4c5205a09072a285f13ddfee1462..f4190ee2c3668ce8a8a236aa9dbb007292e467a9 100644
--- a/aleksis/apps/chronos/locale/nb_NO/LC_MESSAGES/django.po
+++ b/aleksis/apps/chronos/locale/nb_NO/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-03-21 19:47+0100\n"
+"POT-Creation-Date: 2022-06-21 11:32+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -77,12 +77,12 @@ msgid "Name"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:91 aleksis/apps/chronos/models.py:754
-#: aleksis/apps/chronos/models.py:829 aleksis/apps/chronos/models.py:1063
+#: aleksis/apps/chronos/models.py:827 aleksis/apps/chronos/models.py:1061
 msgid "Start date"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:92 aleksis/apps/chronos/models.py:755
-#: aleksis/apps/chronos/models.py:830 aleksis/apps/chronos/models.py:1064
+#: aleksis/apps/chronos/models.py:828 aleksis/apps/chronos/models.py:1062
 msgid "End date"
 msgstr ""
 
@@ -123,7 +123,7 @@ msgid "End time"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:338 aleksis/apps/chronos/models.py:525
-#: aleksis/apps/chronos/models.py:1193
+#: aleksis/apps/chronos/models.py:1191
 msgid "Time period"
 msgstr ""
 
@@ -132,13 +132,13 @@ msgid "Time periods"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:343 aleksis/apps/chronos/models.py:364
-#: aleksis/apps/chronos/models.py:698 aleksis/apps/chronos/models.py:875
-#: aleksis/apps/chronos/models.py:897
+#: aleksis/apps/chronos/models.py:698 aleksis/apps/chronos/models.py:873
+#: aleksis/apps/chronos/models.py:895
 msgid "Short name"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:344 aleksis/apps/chronos/models.py:365
-#: aleksis/apps/chronos/models.py:876 aleksis/apps/chronos/models.py:898
+#: aleksis/apps/chronos/models.py:874 aleksis/apps/chronos/models.py:896
 msgid "Long name"
 msgstr ""
 
@@ -151,7 +151,7 @@ msgid "Background colour"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:354 aleksis/apps/chronos/models.py:390
-#: aleksis/apps/chronos/models.py:446 aleksis/apps/chronos/models.py:1200
+#: aleksis/apps/chronos/models.py:446 aleksis/apps/chronos/models.py:1198
 #: aleksis/apps/chronos/templates/chronos/substitutions.html:47
 #: aleksis/apps/chronos/templates/chronos/substitutions_print.html:29
 msgid "Subject"
@@ -167,19 +167,19 @@ msgstr ""
 
 #: aleksis/apps/chronos/models.py:376 aleksis/apps/chronos/models.py:454
 #: aleksis/apps/chronos/models.py:533 aleksis/apps/chronos/models.py:751
-#: aleksis/apps/chronos/models.py:1215
+#: aleksis/apps/chronos/models.py:1213
 #: aleksis/apps/chronos/templates/chronos/substitutions.html:48
 #: aleksis/apps/chronos/templates/chronos/substitutions_print.html:30
 msgid "Room"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:377 aleksis/apps/chronos/models.py:1080
+#: aleksis/apps/chronos/models.py:377 aleksis/apps/chronos/models.py:1078
 #: aleksis/apps/chronos/templates/chronos/all.html:45
 msgid "Rooms"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:393 aleksis/apps/chronos/models.py:452
-#: aleksis/apps/chronos/models.py:1082 aleksis/apps/chronos/models.py:1208
+#: aleksis/apps/chronos/models.py:1080 aleksis/apps/chronos/models.py:1206
 #: aleksis/apps/chronos/tables.py:35
 #: aleksis/apps/chronos/templates/chronos/all.html:17
 #: aleksis/apps/chronos/templates/chronos/substitutions_print.html:28
@@ -190,8 +190,8 @@ msgstr ""
 msgid "Periods"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:401 aleksis/apps/chronos/models.py:1079
-#: aleksis/apps/chronos/models.py:1203 aleksis/apps/chronos/tables.py:34
+#: aleksis/apps/chronos/models.py:401 aleksis/apps/chronos/models.py:1077
+#: aleksis/apps/chronos/models.py:1201 aleksis/apps/chronos/tables.py:34
 #: aleksis/apps/chronos/templates/chronos/all.html:31
 msgid "Groups"
 msgstr ""
@@ -207,11 +207,11 @@ msgstr ""
 msgid "Lessons"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:433 aleksis/apps/chronos/models.py:1187
+#: aleksis/apps/chronos/models.py:433 aleksis/apps/chronos/models.py:1185
 msgid "Week"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:434 aleksis/apps/chronos/models.py:1188
+#: aleksis/apps/chronos/models.py:434 aleksis/apps/chronos/models.py:1186
 msgid "Year"
 msgstr ""
 
@@ -228,7 +228,7 @@ msgid "Cancelled for teachers?"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:461 aleksis/apps/chronos/models.py:770
-#: aleksis/apps/chronos/models.py:815 aleksis/apps/chronos/models.py:1218
+#: aleksis/apps/chronos/models.py:813 aleksis/apps/chronos/models.py:1216
 msgid "Comment"
 msgstr ""
 
@@ -264,8 +264,8 @@ msgstr ""
 msgid "Absence reasons"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:735 aleksis/apps/chronos/models.py:976
-#: aleksis/apps/chronos/models.py:1027
+#: aleksis/apps/chronos/models.py:735 aleksis/apps/chronos/models.py:974
+#: aleksis/apps/chronos/models.py:1025
 #: aleksis/apps/chronos/templates/chronos/substitutions.html:46
 msgid "Teacher"
 msgstr ""
@@ -278,7 +278,7 @@ msgstr ""
 msgid "Start period"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:766 aleksis/apps/chronos/models.py:809
+#: aleksis/apps/chronos/models.py:766 aleksis/apps/chronos/models.py:808
 msgid "End period"
 msgstr ""
 
@@ -298,150 +298,152 @@ msgstr ""
 msgid "Date of exam"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:814 aleksis/apps/chronos/models.py:828
-#: aleksis/apps/chronos/models.py:1061
+#: aleksis/apps/chronos/models.py:812 aleksis/apps/chronos/models.py:826
+#: aleksis/apps/chronos/models.py:1059
 msgid "Title"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:821
+#: aleksis/apps/chronos/models.py:819
 msgid "Exam"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:822
+#: aleksis/apps/chronos/models.py:820
 msgid "Exams"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:831
+#: aleksis/apps/chronos/models.py:829
 msgid "Comments"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:870
+#: aleksis/apps/chronos/models.py:868
 msgid "Holiday"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:871
+#: aleksis/apps/chronos/models.py:869
 msgid "Holidays"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:885 aleksis/apps/chronos/models.py:966
+#: aleksis/apps/chronos/models.py:883 aleksis/apps/chronos/models.py:964
 msgid "Supervision area"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:886
+#: aleksis/apps/chronos/models.py:884
 msgid "Supervision areas"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:903
+#: aleksis/apps/chronos/models.py:901
 msgid "Time period after break starts"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:911
+#: aleksis/apps/chronos/models.py:909
 msgid "Time period before break ends"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:951 aleksis/apps/chronos/models.py:970
+#: aleksis/apps/chronos/models.py:949 aleksis/apps/chronos/models.py:968
 msgid "Break"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:952
+#: aleksis/apps/chronos/models.py:950
 msgid "Breaks"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1007 aleksis/apps/chronos/models.py:1020
+#: aleksis/apps/chronos/models.py:1005 aleksis/apps/chronos/models.py:1018
 #: aleksis/apps/chronos/templates/chronos/partials/subs/subject.html:23
 #: aleksis/apps/chronos/templates/chronos/partials/supervision.html:15
 msgid "Supervision"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1008
+#: aleksis/apps/chronos/models.py:1006
 msgid "Supervisions"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1016
+#: aleksis/apps/chronos/models.py:1014
 msgid "Date"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1050
+#: aleksis/apps/chronos/models.py:1048
 msgid "Supervision substitution"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1051
+#: aleksis/apps/chronos/models.py:1049
 msgid "Supervision substitutions"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1069
+#: aleksis/apps/chronos/models.py:1067
 msgid "Start time period"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1075
+#: aleksis/apps/chronos/models.py:1073
 msgid "End time period"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1089
+#: aleksis/apps/chronos/models.py:1087
 #, python-brace-format
 msgid "Event {pk}"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1174
+#: aleksis/apps/chronos/models.py:1172
 #: aleksis/apps/chronos/templates/chronos/partials/subs/subject.html:27
 msgid "Event"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1175
+#: aleksis/apps/chronos/models.py:1173
 msgid "Events"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1244
+#: aleksis/apps/chronos/models.py:1221
+msgid "Related exam"
+msgstr ""
+
+#: aleksis/apps/chronos/models.py:1251
 msgid "Extra lesson"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1245
+#: aleksis/apps/chronos/models.py:1252
 msgid "Extra lessons"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1255
+#: aleksis/apps/chronos/models.py:1264
 msgid "Number of days shown in the plan"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1259
+#: aleksis/apps/chronos/models.py:1268
 msgid "Show header box"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1260 aleksis/apps/chronos/preferences.py:61
+#: aleksis/apps/chronos/models.py:1269 aleksis/apps/chronos/preferences.py:61
 msgid "The header box shows affected teachers/groups."
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1267
+#: aleksis/apps/chronos/models.py:1276
 msgid "Revision which triggered the last update"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1341
+#: aleksis/apps/chronos/models.py:1337
 msgid "Automatic plan"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1342
-#: aleksis/apps/chronos/templates/chronos/automatic_plan/list.html:8
-#: aleksis/apps/chronos/templates/chronos/automatic_plan/list.html:9
+#: aleksis/apps/chronos/models.py:1338
 msgid "Automatic plans"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1356
+#: aleksis/apps/chronos/models.py:1352
 msgid "Can view all room timetables"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1357
+#: aleksis/apps/chronos/models.py:1353
 msgid "Can view all group timetables"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1358
+#: aleksis/apps/chronos/models.py:1354
 msgid "Can view all person timetables"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1359
+#: aleksis/apps/chronos/models.py:1355
 msgid "Can view timetable overview"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1360
+#: aleksis/apps/chronos/models.py:1356
 msgid "Can view all lessons per day"
 msgstr ""
 
@@ -518,26 +520,15 @@ msgstr ""
 msgid "No room timetables available."
 msgstr ""
 
-#: aleksis/apps/chronos/templates/chronos/automatic_plan/create.html:6
-#: aleksis/apps/chronos/templates/chronos/automatic_plan/create.html:7
-#: aleksis/apps/chronos/templates/chronos/automatic_plan/list.html:14
-msgid "Create automatic plan"
-msgstr ""
-
-#: aleksis/apps/chronos/templates/chronos/automatic_plan/edit.html:6
-#: aleksis/apps/chronos/templates/chronos/automatic_plan/edit.html:7
-msgid "Edit automatic plan"
-msgstr ""
-
-#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:6
+#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:11
 msgid "Edit substitution."
 msgstr ""
 
-#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:7
+#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:12
 msgid "Edit substitution"
 msgstr ""
 
-#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:20
+#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:25
 msgid "Delete"
 msgstr ""
 
@@ -566,6 +557,10 @@ msgstr ""
 msgid "Affected groups"
 msgstr ""
 
+#: aleksis/apps/chronos/templates/chronos/partials/lesson.html:27
+msgid "Cancelled due to an event"
+msgstr ""
+
 #: aleksis/apps/chronos/templates/chronos/partials/subs/badge.html:4
 msgid "Cancelled"
 msgstr ""
@@ -614,6 +609,7 @@ msgid "Show regular timetable"
 msgstr ""
 
 #: aleksis/apps/chronos/templates/chronos/timetable.html:63
+#: aleksis/apps/chronos/templates/chronos/timetable.html:84
 msgid "View class register of this week"
 msgstr ""
 
@@ -621,10 +617,6 @@ msgstr ""
 msgid "Show SMART PLAN"
 msgstr ""
 
-#: aleksis/apps/chronos/templates/chronos/timetable.html:84
-msgid "View class register of the current week"
-msgstr ""
-
 #: aleksis/apps/chronos/templates/chronos/widget.html:8
 #, python-format
 msgid ""
diff --git a/aleksis/apps/chronos/locale/ru/LC_MESSAGES/django.po b/aleksis/apps/chronos/locale/ru/LC_MESSAGES/django.po
index 051d356420f09b110c00aefe1c75a96fdf9a50d7..78b3c86a0bc9107aa387c26c664a194cdcb09852 100644
--- a/aleksis/apps/chronos/locale/ru/LC_MESSAGES/django.po
+++ b/aleksis/apps/chronos/locale/ru/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-04-23 12:38+0000\n"
+"POT-Creation-Date: 2022-06-21 11:32+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,9 +16,7 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n"
-"%100>=11 && n%100<=14)? 2 : 3);\n"
+"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
 
 #: aleksis/apps/chronos/form_extensions.py:7
 msgid "Options for timetables"
@@ -80,12 +78,12 @@ msgid "Name"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:91 aleksis/apps/chronos/models.py:754
-#: aleksis/apps/chronos/models.py:829 aleksis/apps/chronos/models.py:1063
+#: aleksis/apps/chronos/models.py:827 aleksis/apps/chronos/models.py:1061
 msgid "Start date"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:92 aleksis/apps/chronos/models.py:755
-#: aleksis/apps/chronos/models.py:830 aleksis/apps/chronos/models.py:1064
+#: aleksis/apps/chronos/models.py:828 aleksis/apps/chronos/models.py:1062
 msgid "End date"
 msgstr ""
 
@@ -126,7 +124,7 @@ msgid "End time"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:338 aleksis/apps/chronos/models.py:525
-#: aleksis/apps/chronos/models.py:1193
+#: aleksis/apps/chronos/models.py:1191
 msgid "Time period"
 msgstr ""
 
@@ -135,13 +133,13 @@ msgid "Time periods"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:343 aleksis/apps/chronos/models.py:364
-#: aleksis/apps/chronos/models.py:698 aleksis/apps/chronos/models.py:875
-#: aleksis/apps/chronos/models.py:897
+#: aleksis/apps/chronos/models.py:698 aleksis/apps/chronos/models.py:873
+#: aleksis/apps/chronos/models.py:895
 msgid "Short name"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:344 aleksis/apps/chronos/models.py:365
-#: aleksis/apps/chronos/models.py:876 aleksis/apps/chronos/models.py:898
+#: aleksis/apps/chronos/models.py:874 aleksis/apps/chronos/models.py:896
 msgid "Long name"
 msgstr ""
 
@@ -154,7 +152,7 @@ msgid "Background colour"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:354 aleksis/apps/chronos/models.py:390
-#: aleksis/apps/chronos/models.py:446 aleksis/apps/chronos/models.py:1200
+#: aleksis/apps/chronos/models.py:446 aleksis/apps/chronos/models.py:1198
 #: aleksis/apps/chronos/templates/chronos/substitutions.html:47
 #: aleksis/apps/chronos/templates/chronos/substitutions_print.html:29
 msgid "Subject"
@@ -170,19 +168,19 @@ msgstr ""
 
 #: aleksis/apps/chronos/models.py:376 aleksis/apps/chronos/models.py:454
 #: aleksis/apps/chronos/models.py:533 aleksis/apps/chronos/models.py:751
-#: aleksis/apps/chronos/models.py:1215
+#: aleksis/apps/chronos/models.py:1213
 #: aleksis/apps/chronos/templates/chronos/substitutions.html:48
 #: aleksis/apps/chronos/templates/chronos/substitutions_print.html:30
 msgid "Room"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:377 aleksis/apps/chronos/models.py:1080
+#: aleksis/apps/chronos/models.py:377 aleksis/apps/chronos/models.py:1078
 #: aleksis/apps/chronos/templates/chronos/all.html:45
 msgid "Rooms"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:393 aleksis/apps/chronos/models.py:452
-#: aleksis/apps/chronos/models.py:1082 aleksis/apps/chronos/models.py:1208
+#: aleksis/apps/chronos/models.py:1080 aleksis/apps/chronos/models.py:1206
 #: aleksis/apps/chronos/tables.py:35
 #: aleksis/apps/chronos/templates/chronos/all.html:17
 #: aleksis/apps/chronos/templates/chronos/substitutions_print.html:28
@@ -193,8 +191,8 @@ msgstr ""
 msgid "Periods"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:401 aleksis/apps/chronos/models.py:1079
-#: aleksis/apps/chronos/models.py:1203 aleksis/apps/chronos/tables.py:34
+#: aleksis/apps/chronos/models.py:401 aleksis/apps/chronos/models.py:1077
+#: aleksis/apps/chronos/models.py:1201 aleksis/apps/chronos/tables.py:34
 #: aleksis/apps/chronos/templates/chronos/all.html:31
 msgid "Groups"
 msgstr ""
@@ -210,11 +208,11 @@ msgstr ""
 msgid "Lessons"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:433 aleksis/apps/chronos/models.py:1187
+#: aleksis/apps/chronos/models.py:433 aleksis/apps/chronos/models.py:1185
 msgid "Week"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:434 aleksis/apps/chronos/models.py:1188
+#: aleksis/apps/chronos/models.py:434 aleksis/apps/chronos/models.py:1186
 msgid "Year"
 msgstr ""
 
@@ -231,7 +229,7 @@ msgid "Cancelled for teachers?"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:461 aleksis/apps/chronos/models.py:770
-#: aleksis/apps/chronos/models.py:815 aleksis/apps/chronos/models.py:1218
+#: aleksis/apps/chronos/models.py:813 aleksis/apps/chronos/models.py:1216
 msgid "Comment"
 msgstr ""
 
@@ -267,8 +265,8 @@ msgstr ""
 msgid "Absence reasons"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:735 aleksis/apps/chronos/models.py:976
-#: aleksis/apps/chronos/models.py:1027
+#: aleksis/apps/chronos/models.py:735 aleksis/apps/chronos/models.py:974
+#: aleksis/apps/chronos/models.py:1025
 #: aleksis/apps/chronos/templates/chronos/substitutions.html:46
 msgid "Teacher"
 msgstr ""
@@ -281,7 +279,7 @@ msgstr ""
 msgid "Start period"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:766 aleksis/apps/chronos/models.py:809
+#: aleksis/apps/chronos/models.py:766 aleksis/apps/chronos/models.py:808
 msgid "End period"
 msgstr ""
 
@@ -301,148 +299,152 @@ msgstr ""
 msgid "Date of exam"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:814 aleksis/apps/chronos/models.py:828
-#: aleksis/apps/chronos/models.py:1061
+#: aleksis/apps/chronos/models.py:812 aleksis/apps/chronos/models.py:826
+#: aleksis/apps/chronos/models.py:1059
 msgid "Title"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:821
+#: aleksis/apps/chronos/models.py:819
 msgid "Exam"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:822
+#: aleksis/apps/chronos/models.py:820
 msgid "Exams"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:831
+#: aleksis/apps/chronos/models.py:829
 msgid "Comments"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:870
+#: aleksis/apps/chronos/models.py:868
 msgid "Holiday"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:871
+#: aleksis/apps/chronos/models.py:869
 msgid "Holidays"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:885 aleksis/apps/chronos/models.py:966
+#: aleksis/apps/chronos/models.py:883 aleksis/apps/chronos/models.py:964
 msgid "Supervision area"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:886
+#: aleksis/apps/chronos/models.py:884
 msgid "Supervision areas"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:903
+#: aleksis/apps/chronos/models.py:901
 msgid "Time period after break starts"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:911
+#: aleksis/apps/chronos/models.py:909
 msgid "Time period before break ends"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:951 aleksis/apps/chronos/models.py:970
+#: aleksis/apps/chronos/models.py:949 aleksis/apps/chronos/models.py:968
 msgid "Break"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:952
+#: aleksis/apps/chronos/models.py:950
 msgid "Breaks"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1007 aleksis/apps/chronos/models.py:1020
+#: aleksis/apps/chronos/models.py:1005 aleksis/apps/chronos/models.py:1018
 #: aleksis/apps/chronos/templates/chronos/partials/subs/subject.html:23
 #: aleksis/apps/chronos/templates/chronos/partials/supervision.html:15
 msgid "Supervision"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1008
+#: aleksis/apps/chronos/models.py:1006
 msgid "Supervisions"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1016
+#: aleksis/apps/chronos/models.py:1014
 msgid "Date"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1050
+#: aleksis/apps/chronos/models.py:1048
 msgid "Supervision substitution"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1051
+#: aleksis/apps/chronos/models.py:1049
 msgid "Supervision substitutions"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1069
+#: aleksis/apps/chronos/models.py:1067
 msgid "Start time period"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1075
+#: aleksis/apps/chronos/models.py:1073
 msgid "End time period"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1089
+#: aleksis/apps/chronos/models.py:1087
 #, python-brace-format
 msgid "Event {pk}"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1174
+#: aleksis/apps/chronos/models.py:1172
 #: aleksis/apps/chronos/templates/chronos/partials/subs/subject.html:27
 msgid "Event"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1175
+#: aleksis/apps/chronos/models.py:1173
 msgid "Events"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1244
+#: aleksis/apps/chronos/models.py:1221
+msgid "Related exam"
+msgstr ""
+
+#: aleksis/apps/chronos/models.py:1251
 msgid "Extra lesson"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1245
+#: aleksis/apps/chronos/models.py:1252
 msgid "Extra lessons"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1257
+#: aleksis/apps/chronos/models.py:1264
 msgid "Number of days shown in the plan"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1261
+#: aleksis/apps/chronos/models.py:1268
 msgid "Show header box"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1262 aleksis/apps/chronos/preferences.py:61
+#: aleksis/apps/chronos/models.py:1269 aleksis/apps/chronos/preferences.py:61
 msgid "The header box shows affected teachers/groups."
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1269
+#: aleksis/apps/chronos/models.py:1276
 msgid "Revision which triggered the last update"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1330
+#: aleksis/apps/chronos/models.py:1337
 msgid "Automatic plan"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1331
+#: aleksis/apps/chronos/models.py:1338
 msgid "Automatic plans"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1345
+#: aleksis/apps/chronos/models.py:1352
 msgid "Can view all room timetables"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1346
+#: aleksis/apps/chronos/models.py:1353
 msgid "Can view all group timetables"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1347
+#: aleksis/apps/chronos/models.py:1354
 msgid "Can view all person timetables"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1348
+#: aleksis/apps/chronos/models.py:1355
 msgid "Can view timetable overview"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1349
+#: aleksis/apps/chronos/models.py:1356
 msgid "Can view all lessons per day"
 msgstr ""
 
@@ -519,15 +521,15 @@ msgstr ""
 msgid "No room timetables available."
 msgstr ""
 
-#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:6
+#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:11
 msgid "Edit substitution."
 msgstr ""
 
-#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:7
+#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:12
 msgid "Edit substitution"
 msgstr ""
 
-#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:20
+#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:25
 msgid "Delete"
 msgstr ""
 
@@ -556,6 +558,10 @@ msgstr ""
 msgid "Affected groups"
 msgstr ""
 
+#: aleksis/apps/chronos/templates/chronos/partials/lesson.html:27
+msgid "Cancelled due to an event"
+msgstr ""
+
 #: aleksis/apps/chronos/templates/chronos/partials/subs/badge.html:4
 msgid "Cancelled"
 msgstr ""
@@ -604,6 +610,7 @@ msgid "Show regular timetable"
 msgstr ""
 
 #: aleksis/apps/chronos/templates/chronos/timetable.html:63
+#: aleksis/apps/chronos/templates/chronos/timetable.html:84
 msgid "View class register of this week"
 msgstr ""
 
@@ -611,10 +618,6 @@ msgstr ""
 msgid "Show SMART PLAN"
 msgstr ""
 
-#: aleksis/apps/chronos/templates/chronos/timetable.html:84
-msgid "View class register of the current week"
-msgstr ""
-
 #: aleksis/apps/chronos/templates/chronos/widget.html:8
 #, python-format
 msgid ""
diff --git a/aleksis/apps/chronos/locale/tr_TR/LC_MESSAGES/django.po b/aleksis/apps/chronos/locale/tr_TR/LC_MESSAGES/django.po
index 69ad4cf78fcf4c5205a09072a285f13ddfee1462..f4190ee2c3668ce8a8a236aa9dbb007292e467a9 100644
--- a/aleksis/apps/chronos/locale/tr_TR/LC_MESSAGES/django.po
+++ b/aleksis/apps/chronos/locale/tr_TR/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-03-21 19:47+0100\n"
+"POT-Creation-Date: 2022-06-21 11:32+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -77,12 +77,12 @@ msgid "Name"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:91 aleksis/apps/chronos/models.py:754
-#: aleksis/apps/chronos/models.py:829 aleksis/apps/chronos/models.py:1063
+#: aleksis/apps/chronos/models.py:827 aleksis/apps/chronos/models.py:1061
 msgid "Start date"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:92 aleksis/apps/chronos/models.py:755
-#: aleksis/apps/chronos/models.py:830 aleksis/apps/chronos/models.py:1064
+#: aleksis/apps/chronos/models.py:828 aleksis/apps/chronos/models.py:1062
 msgid "End date"
 msgstr ""
 
@@ -123,7 +123,7 @@ msgid "End time"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:338 aleksis/apps/chronos/models.py:525
-#: aleksis/apps/chronos/models.py:1193
+#: aleksis/apps/chronos/models.py:1191
 msgid "Time period"
 msgstr ""
 
@@ -132,13 +132,13 @@ msgid "Time periods"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:343 aleksis/apps/chronos/models.py:364
-#: aleksis/apps/chronos/models.py:698 aleksis/apps/chronos/models.py:875
-#: aleksis/apps/chronos/models.py:897
+#: aleksis/apps/chronos/models.py:698 aleksis/apps/chronos/models.py:873
+#: aleksis/apps/chronos/models.py:895
 msgid "Short name"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:344 aleksis/apps/chronos/models.py:365
-#: aleksis/apps/chronos/models.py:876 aleksis/apps/chronos/models.py:898
+#: aleksis/apps/chronos/models.py:874 aleksis/apps/chronos/models.py:896
 msgid "Long name"
 msgstr ""
 
@@ -151,7 +151,7 @@ msgid "Background colour"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:354 aleksis/apps/chronos/models.py:390
-#: aleksis/apps/chronos/models.py:446 aleksis/apps/chronos/models.py:1200
+#: aleksis/apps/chronos/models.py:446 aleksis/apps/chronos/models.py:1198
 #: aleksis/apps/chronos/templates/chronos/substitutions.html:47
 #: aleksis/apps/chronos/templates/chronos/substitutions_print.html:29
 msgid "Subject"
@@ -167,19 +167,19 @@ msgstr ""
 
 #: aleksis/apps/chronos/models.py:376 aleksis/apps/chronos/models.py:454
 #: aleksis/apps/chronos/models.py:533 aleksis/apps/chronos/models.py:751
-#: aleksis/apps/chronos/models.py:1215
+#: aleksis/apps/chronos/models.py:1213
 #: aleksis/apps/chronos/templates/chronos/substitutions.html:48
 #: aleksis/apps/chronos/templates/chronos/substitutions_print.html:30
 msgid "Room"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:377 aleksis/apps/chronos/models.py:1080
+#: aleksis/apps/chronos/models.py:377 aleksis/apps/chronos/models.py:1078
 #: aleksis/apps/chronos/templates/chronos/all.html:45
 msgid "Rooms"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:393 aleksis/apps/chronos/models.py:452
-#: aleksis/apps/chronos/models.py:1082 aleksis/apps/chronos/models.py:1208
+#: aleksis/apps/chronos/models.py:1080 aleksis/apps/chronos/models.py:1206
 #: aleksis/apps/chronos/tables.py:35
 #: aleksis/apps/chronos/templates/chronos/all.html:17
 #: aleksis/apps/chronos/templates/chronos/substitutions_print.html:28
@@ -190,8 +190,8 @@ msgstr ""
 msgid "Periods"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:401 aleksis/apps/chronos/models.py:1079
-#: aleksis/apps/chronos/models.py:1203 aleksis/apps/chronos/tables.py:34
+#: aleksis/apps/chronos/models.py:401 aleksis/apps/chronos/models.py:1077
+#: aleksis/apps/chronos/models.py:1201 aleksis/apps/chronos/tables.py:34
 #: aleksis/apps/chronos/templates/chronos/all.html:31
 msgid "Groups"
 msgstr ""
@@ -207,11 +207,11 @@ msgstr ""
 msgid "Lessons"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:433 aleksis/apps/chronos/models.py:1187
+#: aleksis/apps/chronos/models.py:433 aleksis/apps/chronos/models.py:1185
 msgid "Week"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:434 aleksis/apps/chronos/models.py:1188
+#: aleksis/apps/chronos/models.py:434 aleksis/apps/chronos/models.py:1186
 msgid "Year"
 msgstr ""
 
@@ -228,7 +228,7 @@ msgid "Cancelled for teachers?"
 msgstr ""
 
 #: aleksis/apps/chronos/models.py:461 aleksis/apps/chronos/models.py:770
-#: aleksis/apps/chronos/models.py:815 aleksis/apps/chronos/models.py:1218
+#: aleksis/apps/chronos/models.py:813 aleksis/apps/chronos/models.py:1216
 msgid "Comment"
 msgstr ""
 
@@ -264,8 +264,8 @@ msgstr ""
 msgid "Absence reasons"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:735 aleksis/apps/chronos/models.py:976
-#: aleksis/apps/chronos/models.py:1027
+#: aleksis/apps/chronos/models.py:735 aleksis/apps/chronos/models.py:974
+#: aleksis/apps/chronos/models.py:1025
 #: aleksis/apps/chronos/templates/chronos/substitutions.html:46
 msgid "Teacher"
 msgstr ""
@@ -278,7 +278,7 @@ msgstr ""
 msgid "Start period"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:766 aleksis/apps/chronos/models.py:809
+#: aleksis/apps/chronos/models.py:766 aleksis/apps/chronos/models.py:808
 msgid "End period"
 msgstr ""
 
@@ -298,150 +298,152 @@ msgstr ""
 msgid "Date of exam"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:814 aleksis/apps/chronos/models.py:828
-#: aleksis/apps/chronos/models.py:1061
+#: aleksis/apps/chronos/models.py:812 aleksis/apps/chronos/models.py:826
+#: aleksis/apps/chronos/models.py:1059
 msgid "Title"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:821
+#: aleksis/apps/chronos/models.py:819
 msgid "Exam"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:822
+#: aleksis/apps/chronos/models.py:820
 msgid "Exams"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:831
+#: aleksis/apps/chronos/models.py:829
 msgid "Comments"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:870
+#: aleksis/apps/chronos/models.py:868
 msgid "Holiday"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:871
+#: aleksis/apps/chronos/models.py:869
 msgid "Holidays"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:885 aleksis/apps/chronos/models.py:966
+#: aleksis/apps/chronos/models.py:883 aleksis/apps/chronos/models.py:964
 msgid "Supervision area"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:886
+#: aleksis/apps/chronos/models.py:884
 msgid "Supervision areas"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:903
+#: aleksis/apps/chronos/models.py:901
 msgid "Time period after break starts"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:911
+#: aleksis/apps/chronos/models.py:909
 msgid "Time period before break ends"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:951 aleksis/apps/chronos/models.py:970
+#: aleksis/apps/chronos/models.py:949 aleksis/apps/chronos/models.py:968
 msgid "Break"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:952
+#: aleksis/apps/chronos/models.py:950
 msgid "Breaks"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1007 aleksis/apps/chronos/models.py:1020
+#: aleksis/apps/chronos/models.py:1005 aleksis/apps/chronos/models.py:1018
 #: aleksis/apps/chronos/templates/chronos/partials/subs/subject.html:23
 #: aleksis/apps/chronos/templates/chronos/partials/supervision.html:15
 msgid "Supervision"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1008
+#: aleksis/apps/chronos/models.py:1006
 msgid "Supervisions"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1016
+#: aleksis/apps/chronos/models.py:1014
 msgid "Date"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1050
+#: aleksis/apps/chronos/models.py:1048
 msgid "Supervision substitution"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1051
+#: aleksis/apps/chronos/models.py:1049
 msgid "Supervision substitutions"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1069
+#: aleksis/apps/chronos/models.py:1067
 msgid "Start time period"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1075
+#: aleksis/apps/chronos/models.py:1073
 msgid "End time period"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1089
+#: aleksis/apps/chronos/models.py:1087
 #, python-brace-format
 msgid "Event {pk}"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1174
+#: aleksis/apps/chronos/models.py:1172
 #: aleksis/apps/chronos/templates/chronos/partials/subs/subject.html:27
 msgid "Event"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1175
+#: aleksis/apps/chronos/models.py:1173
 msgid "Events"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1244
+#: aleksis/apps/chronos/models.py:1221
+msgid "Related exam"
+msgstr ""
+
+#: aleksis/apps/chronos/models.py:1251
 msgid "Extra lesson"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1245
+#: aleksis/apps/chronos/models.py:1252
 msgid "Extra lessons"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1255
+#: aleksis/apps/chronos/models.py:1264
 msgid "Number of days shown in the plan"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1259
+#: aleksis/apps/chronos/models.py:1268
 msgid "Show header box"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1260 aleksis/apps/chronos/preferences.py:61
+#: aleksis/apps/chronos/models.py:1269 aleksis/apps/chronos/preferences.py:61
 msgid "The header box shows affected teachers/groups."
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1267
+#: aleksis/apps/chronos/models.py:1276
 msgid "Revision which triggered the last update"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1341
+#: aleksis/apps/chronos/models.py:1337
 msgid "Automatic plan"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1342
-#: aleksis/apps/chronos/templates/chronos/automatic_plan/list.html:8
-#: aleksis/apps/chronos/templates/chronos/automatic_plan/list.html:9
+#: aleksis/apps/chronos/models.py:1338
 msgid "Automatic plans"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1356
+#: aleksis/apps/chronos/models.py:1352
 msgid "Can view all room timetables"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1357
+#: aleksis/apps/chronos/models.py:1353
 msgid "Can view all group timetables"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1358
+#: aleksis/apps/chronos/models.py:1354
 msgid "Can view all person timetables"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1359
+#: aleksis/apps/chronos/models.py:1355
 msgid "Can view timetable overview"
 msgstr ""
 
-#: aleksis/apps/chronos/models.py:1360
+#: aleksis/apps/chronos/models.py:1356
 msgid "Can view all lessons per day"
 msgstr ""
 
@@ -518,26 +520,15 @@ msgstr ""
 msgid "No room timetables available."
 msgstr ""
 
-#: aleksis/apps/chronos/templates/chronos/automatic_plan/create.html:6
-#: aleksis/apps/chronos/templates/chronos/automatic_plan/create.html:7
-#: aleksis/apps/chronos/templates/chronos/automatic_plan/list.html:14
-msgid "Create automatic plan"
-msgstr ""
-
-#: aleksis/apps/chronos/templates/chronos/automatic_plan/edit.html:6
-#: aleksis/apps/chronos/templates/chronos/automatic_plan/edit.html:7
-msgid "Edit automatic plan"
-msgstr ""
-
-#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:6
+#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:11
 msgid "Edit substitution."
 msgstr ""
 
-#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:7
+#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:12
 msgid "Edit substitution"
 msgstr ""
 
-#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:20
+#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:25
 msgid "Delete"
 msgstr ""
 
@@ -566,6 +557,10 @@ msgstr ""
 msgid "Affected groups"
 msgstr ""
 
+#: aleksis/apps/chronos/templates/chronos/partials/lesson.html:27
+msgid "Cancelled due to an event"
+msgstr ""
+
 #: aleksis/apps/chronos/templates/chronos/partials/subs/badge.html:4
 msgid "Cancelled"
 msgstr ""
@@ -614,6 +609,7 @@ msgid "Show regular timetable"
 msgstr ""
 
 #: aleksis/apps/chronos/templates/chronos/timetable.html:63
+#: aleksis/apps/chronos/templates/chronos/timetable.html:84
 msgid "View class register of this week"
 msgstr ""
 
@@ -621,10 +617,6 @@ msgstr ""
 msgid "Show SMART PLAN"
 msgstr ""
 
-#: aleksis/apps/chronos/templates/chronos/timetable.html:84
-msgid "View class register of the current week"
-msgstr ""
-
 #: aleksis/apps/chronos/templates/chronos/widget.html:8
 #, python-format
 msgid ""
diff --git a/aleksis/apps/chronos/locale/uk/LC_MESSAGES/django.po b/aleksis/apps/chronos/locale/uk/LC_MESSAGES/django.po
index 068e12603a995007707c73cf25bbe8863b90cc70..1017c0c61c0a089fc319034ef6895b8d1c1eac76 100644
--- a/aleksis/apps/chronos/locale/uk/LC_MESSAGES/django.po
+++ b/aleksis/apps/chronos/locale/uk/LC_MESSAGES/django.po
@@ -7,19 +7,15 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-04-23 12:38+0000\n"
+"POT-Creation-Date: 2022-06-21 11:32+0200\n"
 "PO-Revision-Date: 2022-05-18 13:12+0000\n"
 "Last-Translator: Serhii Horichenko <m@sgg.im>\n"
-"Language-Team: Ukrainian <https://translate.edugit.org/projects/aleksis/"
-"aleksis-app-chronos/uk/>\n"
+"Language-Team: Ukrainian <https://translate.edugit.org/projects/aleksis/aleksis-app-chronos/uk/>\n"
 "Language: uk\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 "
-"? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > "
-"14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % "
-"100 >=11 && n % 100 <=14 )) ? 2: 3);\n"
+"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n"
 "X-Generator: Weblate 4.12.1\n"
 
 #: aleksis/apps/chronos/form_extensions.py:7
@@ -82,12 +78,12 @@ msgid "Name"
 msgstr "Повне ім'я"
 
 #: aleksis/apps/chronos/models.py:91 aleksis/apps/chronos/models.py:754
-#: aleksis/apps/chronos/models.py:829 aleksis/apps/chronos/models.py:1063
+#: aleksis/apps/chronos/models.py:827 aleksis/apps/chronos/models.py:1061
 msgid "Start date"
 msgstr "Дата початку"
 
 #: aleksis/apps/chronos/models.py:92 aleksis/apps/chronos/models.py:755
-#: aleksis/apps/chronos/models.py:830 aleksis/apps/chronos/models.py:1064
+#: aleksis/apps/chronos/models.py:828 aleksis/apps/chronos/models.py:1062
 msgid "End date"
 msgstr "Дата закінчення"
 
@@ -101,8 +97,7 @@ msgstr "Контрольний період повинен бути в рамк
 
 #: aleksis/apps/chronos/models.py:125
 msgid "There is already a validity range for this time or a part of this time."
-msgstr ""
-"На цей час або на частину цього часу контрольний період вже призначений."
+msgstr "На цей час або на частину цього часу контрольний період вже призначений."
 
 #: aleksis/apps/chronos/models.py:132
 msgid "Validity range"
@@ -129,7 +124,7 @@ msgid "End time"
 msgstr "Час закінчення"
 
 #: aleksis/apps/chronos/models.py:338 aleksis/apps/chronos/models.py:525
-#: aleksis/apps/chronos/models.py:1193
+#: aleksis/apps/chronos/models.py:1191
 msgid "Time period"
 msgstr "Година"
 
@@ -138,13 +133,13 @@ msgid "Time periods"
 msgstr "Години"
 
 #: aleksis/apps/chronos/models.py:343 aleksis/apps/chronos/models.py:364
-#: aleksis/apps/chronos/models.py:698 aleksis/apps/chronos/models.py:875
-#: aleksis/apps/chronos/models.py:897
+#: aleksis/apps/chronos/models.py:698 aleksis/apps/chronos/models.py:873
+#: aleksis/apps/chronos/models.py:895
 msgid "Short name"
 msgstr "Коротке ім'я"
 
 #: aleksis/apps/chronos/models.py:344 aleksis/apps/chronos/models.py:365
-#: aleksis/apps/chronos/models.py:876 aleksis/apps/chronos/models.py:898
+#: aleksis/apps/chronos/models.py:874 aleksis/apps/chronos/models.py:896
 msgid "Long name"
 msgstr "Довге ім'я"
 
@@ -157,7 +152,7 @@ msgid "Background colour"
 msgstr "Колір фону"
 
 #: aleksis/apps/chronos/models.py:354 aleksis/apps/chronos/models.py:390
-#: aleksis/apps/chronos/models.py:446 aleksis/apps/chronos/models.py:1200
+#: aleksis/apps/chronos/models.py:446 aleksis/apps/chronos/models.py:1198
 #: aleksis/apps/chronos/templates/chronos/substitutions.html:47
 #: aleksis/apps/chronos/templates/chronos/substitutions_print.html:29
 msgid "Subject"
@@ -173,19 +168,19 @@ msgstr "Може переглядати розклад кімнати"
 
 #: aleksis/apps/chronos/models.py:376 aleksis/apps/chronos/models.py:454
 #: aleksis/apps/chronos/models.py:533 aleksis/apps/chronos/models.py:751
-#: aleksis/apps/chronos/models.py:1215
+#: aleksis/apps/chronos/models.py:1213
 #: aleksis/apps/chronos/templates/chronos/substitutions.html:48
 #: aleksis/apps/chronos/templates/chronos/substitutions_print.html:30
 msgid "Room"
 msgstr "Кімната"
 
-#: aleksis/apps/chronos/models.py:377 aleksis/apps/chronos/models.py:1080
+#: aleksis/apps/chronos/models.py:377 aleksis/apps/chronos/models.py:1078
 #: aleksis/apps/chronos/templates/chronos/all.html:45
 msgid "Rooms"
 msgstr "Кімнати"
 
 #: aleksis/apps/chronos/models.py:393 aleksis/apps/chronos/models.py:452
-#: aleksis/apps/chronos/models.py:1082 aleksis/apps/chronos/models.py:1208
+#: aleksis/apps/chronos/models.py:1080 aleksis/apps/chronos/models.py:1206
 #: aleksis/apps/chronos/tables.py:35
 #: aleksis/apps/chronos/templates/chronos/all.html:17
 #: aleksis/apps/chronos/templates/chronos/substitutions_print.html:28
@@ -196,8 +191,8 @@ msgstr "Викладачі"
 msgid "Periods"
 msgstr "Години"
 
-#: aleksis/apps/chronos/models.py:401 aleksis/apps/chronos/models.py:1079
-#: aleksis/apps/chronos/models.py:1203 aleksis/apps/chronos/tables.py:34
+#: aleksis/apps/chronos/models.py:401 aleksis/apps/chronos/models.py:1077
+#: aleksis/apps/chronos/models.py:1201 aleksis/apps/chronos/tables.py:34
 #: aleksis/apps/chronos/templates/chronos/all.html:31
 msgid "Groups"
 msgstr "Групи"
@@ -213,11 +208,11 @@ msgstr "Урок"
 msgid "Lessons"
 msgstr "Уроки"
 
-#: aleksis/apps/chronos/models.py:433 aleksis/apps/chronos/models.py:1187
+#: aleksis/apps/chronos/models.py:433 aleksis/apps/chronos/models.py:1185
 msgid "Week"
 msgstr "Тиждень"
 
-#: aleksis/apps/chronos/models.py:434 aleksis/apps/chronos/models.py:1188
+#: aleksis/apps/chronos/models.py:434 aleksis/apps/chronos/models.py:1186
 msgid "Year"
 msgstr "Рік"
 
@@ -234,7 +229,7 @@ msgid "Cancelled for teachers?"
 msgstr "Скасовано для викладачів?"
 
 #: aleksis/apps/chronos/models.py:461 aleksis/apps/chronos/models.py:770
-#: aleksis/apps/chronos/models.py:815 aleksis/apps/chronos/models.py:1218
+#: aleksis/apps/chronos/models.py:813 aleksis/apps/chronos/models.py:1216
 msgid "Comment"
 msgstr "Коментар"
 
@@ -270,8 +265,8 @@ msgstr "Причина відсутності"
 msgid "Absence reasons"
 msgstr "Причини відсутності"
 
-#: aleksis/apps/chronos/models.py:735 aleksis/apps/chronos/models.py:976
-#: aleksis/apps/chronos/models.py:1027
+#: aleksis/apps/chronos/models.py:735 aleksis/apps/chronos/models.py:974
+#: aleksis/apps/chronos/models.py:1025
 #: aleksis/apps/chronos/templates/chronos/substitutions.html:46
 msgid "Teacher"
 msgstr "Викладач"
@@ -284,7 +279,7 @@ msgstr "Група"
 msgid "Start period"
 msgstr "Початок уроків"
 
-#: aleksis/apps/chronos/models.py:766 aleksis/apps/chronos/models.py:809
+#: aleksis/apps/chronos/models.py:766 aleksis/apps/chronos/models.py:808
 msgid "End period"
 msgstr "Закінчення уроків"
 
@@ -304,148 +299,154 @@ msgstr "Відсутності"
 msgid "Date of exam"
 msgstr "Дата іспиту"
 
-#: aleksis/apps/chronos/models.py:814 aleksis/apps/chronos/models.py:828
-#: aleksis/apps/chronos/models.py:1061
+#: aleksis/apps/chronos/models.py:812 aleksis/apps/chronos/models.py:826
+#: aleksis/apps/chronos/models.py:1059
 msgid "Title"
 msgstr "Назва"
 
-#: aleksis/apps/chronos/models.py:821
+#: aleksis/apps/chronos/models.py:819
 msgid "Exam"
 msgstr "Іспит"
 
-#: aleksis/apps/chronos/models.py:822
+#: aleksis/apps/chronos/models.py:820
 msgid "Exams"
 msgstr "Іспити"
 
-#: aleksis/apps/chronos/models.py:831
+#: aleksis/apps/chronos/models.py:829
 msgid "Comments"
 msgstr "Коментарі"
 
-#: aleksis/apps/chronos/models.py:870
+#: aleksis/apps/chronos/models.py:868
 msgid "Holiday"
 msgstr "Вихідний"
 
-#: aleksis/apps/chronos/models.py:871
+#: aleksis/apps/chronos/models.py:869
 msgid "Holidays"
 msgstr "Вихідні"
 
-#: aleksis/apps/chronos/models.py:885 aleksis/apps/chronos/models.py:966
+#: aleksis/apps/chronos/models.py:883 aleksis/apps/chronos/models.py:964
 msgid "Supervision area"
 msgstr "Зона контролю"
 
-#: aleksis/apps/chronos/models.py:886
+#: aleksis/apps/chronos/models.py:884
 msgid "Supervision areas"
 msgstr "Зони контролю"
 
-#: aleksis/apps/chronos/models.py:903
+#: aleksis/apps/chronos/models.py:901
 msgid "Time period after break starts"
 msgstr "Навчання після перерви починається"
 
-#: aleksis/apps/chronos/models.py:911
+#: aleksis/apps/chronos/models.py:909
 msgid "Time period before break ends"
 msgstr "Навчання перед перервою закінчується"
 
-#: aleksis/apps/chronos/models.py:951 aleksis/apps/chronos/models.py:970
+#: aleksis/apps/chronos/models.py:949 aleksis/apps/chronos/models.py:968
 msgid "Break"
 msgstr "Перерва"
 
-#: aleksis/apps/chronos/models.py:952
+#: aleksis/apps/chronos/models.py:950
 msgid "Breaks"
 msgstr "Перерви"
 
-#: aleksis/apps/chronos/models.py:1007 aleksis/apps/chronos/models.py:1020
+#: aleksis/apps/chronos/models.py:1005 aleksis/apps/chronos/models.py:1018
 #: aleksis/apps/chronos/templates/chronos/partials/subs/subject.html:23
 #: aleksis/apps/chronos/templates/chronos/partials/supervision.html:15
 msgid "Supervision"
 msgstr "Контроль"
 
-#: aleksis/apps/chronos/models.py:1008
+#: aleksis/apps/chronos/models.py:1006
 msgid "Supervisions"
 msgstr "Контролі"
 
-#: aleksis/apps/chronos/models.py:1016
+#: aleksis/apps/chronos/models.py:1014
 msgid "Date"
 msgstr "Дата"
 
-#: aleksis/apps/chronos/models.py:1050
+#: aleksis/apps/chronos/models.py:1048
 msgid "Supervision substitution"
 msgstr "Заміна контролю"
 
-#: aleksis/apps/chronos/models.py:1051
+#: aleksis/apps/chronos/models.py:1049
 msgid "Supervision substitutions"
 msgstr "Заміни контролю"
 
-#: aleksis/apps/chronos/models.py:1069
+#: aleksis/apps/chronos/models.py:1067
 msgid "Start time period"
 msgstr "Початок навчання"
 
-#: aleksis/apps/chronos/models.py:1075
+#: aleksis/apps/chronos/models.py:1073
 msgid "End time period"
 msgstr "Закінчення навчання"
 
-#: aleksis/apps/chronos/models.py:1089
+#: aleksis/apps/chronos/models.py:1087
 #, python-brace-format
 msgid "Event {pk}"
 msgstr "Подія {pk}"
 
-#: aleksis/apps/chronos/models.py:1174
+#: aleksis/apps/chronos/models.py:1172
 #: aleksis/apps/chronos/templates/chronos/partials/subs/subject.html:27
 msgid "Event"
 msgstr "Подія"
 
-#: aleksis/apps/chronos/models.py:1175
+#: aleksis/apps/chronos/models.py:1173
 msgid "Events"
 msgstr "Події"
 
-#: aleksis/apps/chronos/models.py:1244
+#: aleksis/apps/chronos/models.py:1221
+#, fuzzy
+#| msgid "Date of exam"
+msgid "Related exam"
+msgstr "Дата іспиту"
+
+#: aleksis/apps/chronos/models.py:1251
 msgid "Extra lesson"
 msgstr "Додатковий урок"
 
-#: aleksis/apps/chronos/models.py:1245
+#: aleksis/apps/chronos/models.py:1252
 msgid "Extra lessons"
 msgstr "Додаткові уроки"
 
-#: aleksis/apps/chronos/models.py:1257
+#: aleksis/apps/chronos/models.py:1264
 msgid "Number of days shown in the plan"
 msgstr "Кількість днів для відображення у плані"
 
-#: aleksis/apps/chronos/models.py:1261
+#: aleksis/apps/chronos/models.py:1268
 msgid "Show header box"
 msgstr "Показати заголовок"
 
-#: aleksis/apps/chronos/models.py:1262 aleksis/apps/chronos/preferences.py:61
+#: aleksis/apps/chronos/models.py:1269 aleksis/apps/chronos/preferences.py:61
 msgid "The header box shows affected teachers/groups."
 msgstr "Заголовок показує викладачів/групи на яких це впливає."
 
-#: aleksis/apps/chronos/models.py:1269
+#: aleksis/apps/chronos/models.py:1276
 msgid "Revision which triggered the last update"
 msgstr "Ревізія після останнього оновлення"
 
-#: aleksis/apps/chronos/models.py:1330
+#: aleksis/apps/chronos/models.py:1337
 msgid "Automatic plan"
 msgstr "Автоматичний план"
 
-#: aleksis/apps/chronos/models.py:1331
+#: aleksis/apps/chronos/models.py:1338
 msgid "Automatic plans"
 msgstr "Автоматичні плани"
 
-#: aleksis/apps/chronos/models.py:1345
+#: aleksis/apps/chronos/models.py:1352
 msgid "Can view all room timetables"
 msgstr "Може переглядати розклади усіх кімнат"
 
-#: aleksis/apps/chronos/models.py:1346
+#: aleksis/apps/chronos/models.py:1353
 msgid "Can view all group timetables"
 msgstr "Може переглядати розклади усіх груп"
 
-#: aleksis/apps/chronos/models.py:1347
+#: aleksis/apps/chronos/models.py:1354
 msgid "Can view all person timetables"
 msgstr "Може переглядати розклади усіх осіб"
 
-#: aleksis/apps/chronos/models.py:1348
+#: aleksis/apps/chronos/models.py:1355
 msgid "Can view timetable overview"
 msgstr "Може переглядати загальний розклад"
 
-#: aleksis/apps/chronos/models.py:1349
+#: aleksis/apps/chronos/models.py:1356
 msgid "Can view all lessons per day"
 msgstr "Може переглядати усі уроки окремого дня"
 
@@ -455,9 +456,7 @@ msgstr "Використовувати батьківські групи в ог
 
 #: aleksis/apps/chronos/preferences.py:20
 msgid "If an lesson or substitution has only one group and this group has parent groups, show the parent groups instead of the original group."
-msgstr ""
-"Якщо урок або заміна має лише одну групу і ця група має батьківські групи, "
-"відображати ці батьківські групи замість дійсної групи."
+msgstr "Якщо урок або заміна має лише одну групу і ця група має батьківські групи, відображати ці батьківські групи замість дійсної групи."
 
 #: aleksis/apps/chronos/preferences.py:31
 msgid "Shorten groups in timetable views"
@@ -473,9 +472,7 @@ msgstr "Ліміт груп для скорочення груп"
 
 #: aleksis/apps/chronos/preferences.py:42
 msgid "If an user activates shortening of groups,they will be collapsed if there are more groups than this limit."
-msgstr ""
-"Якщо користувач активує скорочення груп, і кількість груп буде більше за "
-"ліміт, вони згруповуватимуться."
+msgstr "Якщо користувач активує скорочення груп, і кількість груп буде більше за ліміт, вони згруповуватимуться."
 
 #: aleksis/apps/chronos/preferences.py:52
 msgid "Number of days shown on substitutions print view"
@@ -487,8 +484,7 @@ msgstr "Відображати заголовок в огляді замін"
 
 #: aleksis/apps/chronos/preferences.py:70
 msgid "Show parent groups in header box in substitution views instead of original groups"
-msgstr ""
-"У заголовку в огляді замін відображати батьківські групи замість дійсних груп"
+msgstr "У заголовку в огляді замін відображати батьківські групи замість дійсних груп"
 
 #: aleksis/apps/chronos/preferences.py:79
 msgid "How many days in advance users should be notified about timetable changes?"
@@ -500,10 +496,7 @@ msgstr "Час для надсилання сповіщень щодо змін
 
 #: aleksis/apps/chronos/preferences.py:90
 msgid "This is only used for scheduling notifications which doesn't affect the time period configured above. All other notifications affecting the next days are sent immediately."
-msgstr ""
-"Це використовується лише для планування сповіщень, які не впливають на "
-"навчальний час, встановлений вище. Усі інші сповіщення, які впливають на "
-"найближчі дні, надсилаються негайно."
+msgstr "Це використовується лише для планування сповіщень, які не впливають на навчальний час, встановлений вище. Усі інші сповіщення, які впливають на найближчі дні, надсилаються негайно."
 
 #: aleksis/apps/chronos/preferences.py:101
 #: aleksis/apps/chronos/preferences.py:109
@@ -530,15 +523,15 @@ msgstr "Розклади груп недоступні."
 msgid "No room timetables available."
 msgstr "Розклади кімнат недоступні."
 
-#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:6
+#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:11
 msgid "Edit substitution."
 msgstr "Редагувати заміну."
 
-#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:7
+#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:12
 msgid "Edit substitution"
 msgstr "Редагувати заміну"
 
-#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:20
+#: aleksis/apps/chronos/templates/chronos/edit_substitution.html:25
 msgid "Delete"
 msgstr "Видалити"
 
@@ -567,6 +560,10 @@ msgstr "На яких викладачів впливає"
 msgid "Affected groups"
 msgstr "На які групи впливає"
 
+#: aleksis/apps/chronos/templates/chronos/partials/lesson.html:27
+msgid "Cancelled due to an event"
+msgstr ""
+
 #: aleksis/apps/chronos/templates/chronos/partials/subs/badge.html:4
 msgid "Cancelled"
 msgstr "Скасовано"
@@ -615,6 +612,7 @@ msgid "Show regular timetable"
 msgstr "Відобразити звичайний розклад"
 
 #: aleksis/apps/chronos/templates/chronos/timetable.html:63
+#: aleksis/apps/chronos/templates/chronos/timetable.html:84
 msgid "View class register of this week"
 msgstr "Огляд класного журналу за цей тиждень"
 
@@ -622,10 +620,6 @@ msgstr "Огляд класного журналу за цей тиждень"
 msgid "Show SMART PLAN"
 msgstr "Відобразити SMART PLAN"
 
-#: aleksis/apps/chronos/templates/chronos/timetable.html:84
-msgid "View class register of the current week"
-msgstr "Огляд класного журналу поточного тижня"
-
 #: aleksis/apps/chronos/templates/chronos/widget.html:8
 #, python-format
 msgid ""
@@ -688,15 +682,12 @@ msgstr "Маємо додатковий коментар: {comment}."
 #: aleksis/apps/chronos/util/notifications.py:101
 #, python-brace-format
 msgid "There is an event that starts on {date_start}, {period_from}. period and ends on {date_end}, {period_to}. period:"
-msgstr ""
-"Маємо подію, яка розпочинається о {date_start}, {period_from}. урок та "
-"закінчується о {date_end}, {period_to}. урок :"
+msgstr "Маємо подію, яка розпочинається о {date_start}, {period_from}. урок та закінчується о {date_end}, {period_to}. урок :"
 
 #: aleksis/apps/chronos/util/notifications.py:114
 #, python-brace-format
 msgid "There is an event on {date} from the {period_from}. period to the {period_to}. period:"
-msgstr ""
-"Маємо подію на {date} з {period_from}. уроку до кінця {period_to}. уроку:"
+msgstr "Маємо подію на {date} з {period_from}. уроку до кінця {period_to}. уроку:"
 
 #: aleksis/apps/chronos/util/notifications.py:125
 #: aleksis/apps/chronos/util/notifications.py:145
@@ -738,9 +729,7 @@ msgstr "Коментар: {comment}."
 #: aleksis/apps/chronos/util/notifications.py:156
 #, python-brace-format
 msgid "The supervision of {old} on {date} between the {period_from}. period and the {period_to}. period in the area {area} is substituted by {new}."
-msgstr ""
-"Контроль {old}, {date} між {period_from}. та {period_to}. уроками у зоні "
-"{area} замінений на {new}."
+msgstr "Контроль {old}, {date} між {period_from}. та {period_to}. уроками у зоні {area} замінений на {new}."
 
 #: aleksis/apps/chronos/util/notifications.py:207
 msgid "There are current changes to your timetable."
@@ -753,3 +742,6 @@ msgstr "Заміна збережена."
 #: aleksis/apps/chronos/views.py:291
 msgid "The substitution has been deleted."
 msgstr "Заміна видалена."
+
+#~ msgid "View class register of the current week"
+#~ msgstr "Огляд класного журналу поточного тижня"