diff --git a/AKDashboard/locale/de_DE/LC_MESSAGES/django.po b/AKDashboard/locale/de_DE/LC_MESSAGES/django.po
index 0ba6ef4f81583d6490b5dadaa378bc8727673384..b641a0390f938bff9519e523f82186b554ec586e 100644
--- a/AKDashboard/locale/de_DE/LC_MESSAGES/django.po
+++ b/AKDashboard/locale/de_DE/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-05-12 22:53+0000\n"
+"POT-Creation-Date: 2020-05-16 20:26+0000\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"
diff --git a/AKModel/admin.py b/AKModel/admin.py
index d6925995c6e9c5d8e607d783ecbb6600d96e36e5..219246236c6383161475fac2239cd182c47963b3 100644
--- a/AKModel/admin.py
+++ b/AKModel/admin.py
@@ -141,10 +141,10 @@ class AKAdmin(SimpleHistoryAdmin):
 @admin.register(Room)
 class RoomAdmin(admin.ModelAdmin):
     model = Room
-    list_display = ['name', 'building', 'capacity', 'event']
-    list_filter = ['building', 'properties', 'event']
+    list_display = ['name', 'location', 'capacity', 'event']
+    list_filter = ['location', 'properties', 'event']
     list_editable = []
-    ordering = ['building', 'name']
+    ordering = ['location', 'name']
 
     def formfield_for_foreignkey(self, db_field, request, **kwargs):
         if db_field.name == 'event':
diff --git a/AKModel/locale/de_DE/LC_MESSAGES/django.po b/AKModel/locale/de_DE/LC_MESSAGES/django.po
index 800c4f445d2abb891eaebefd860027fb2007fcf0..a3b9c6b794bce34dc13cb60072acc9e0016e6bef 100644
--- a/AKModel/locale/de_DE/LC_MESSAGES/django.po
+++ b/AKModel/locale/de_DE/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-05-14 22:48+0000\n"
+"POT-Creation-Date: 2020-05-17 21:09+0000\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"
@@ -33,7 +33,9 @@ msgstr "Verfügbarkeit"
 
 #: AKModel/availability/forms.py:22
 msgid "Please click and drag to mark the availability during the event."
-msgstr "Bitte klicken und ziehen um die Verfügbarkeiten während des Events zu markieren."
+msgstr ""
+"Bitte klicken und ziehen um die Verfügbarkeiten während des Events zu "
+"markieren."
 
 #: AKModel/availability/forms.py:86
 msgid "The submitted availability does not comply with the required format."
@@ -47,15 +49,15 @@ msgstr "Die eingegebene Verfügbarkeit enthält ein ungültiges Datum."
 msgid "Please fill in your availabilities!"
 msgstr "Bitte Verfügbarkeiten eintragen!"
 
-#: AKModel/availability/models.py:38 AKModel/models.py:40 AKModel/models.py:69
-#: AKModel/models.py:121 AKModel/models.py:140 AKModel/models.py:172
-#: AKModel/models.py:225 AKModel/models.py:267 AKModel/models.py:297
+#: AKModel/availability/models.py:38 AKModel/models.py:39 AKModel/models.py:68
+#: AKModel/models.py:120 AKModel/models.py:139 AKModel/models.py:171
+#: AKModel/models.py:224 AKModel/models.py:266 AKModel/models.py:296
 msgid "Event"
 msgstr "Event"
 
-#: AKModel/availability/models.py:39 AKModel/models.py:70 AKModel/models.py:122
-#: AKModel/models.py:141 AKModel/models.py:173 AKModel/models.py:226
-#: AKModel/models.py:268 AKModel/models.py:298
+#: AKModel/availability/models.py:39 AKModel/models.py:69 AKModel/models.py:121
+#: AKModel/models.py:140 AKModel/models.py:172 AKModel/models.py:225
+#: AKModel/models.py:267 AKModel/models.py:297
 msgid "Associated event"
 msgstr "Zugehöriges Event"
 
@@ -67,8 +69,8 @@ msgstr "Person"
 msgid "Person whose availability this is"
 msgstr "Person deren Verfügbarkeit hier abgebildet wird"
 
-#: AKModel/availability/models.py:56 AKModel/models.py:271
-#: AKModel/models.py:290
+#: AKModel/availability/models.py:56 AKModel/models.py:270
+#: AKModel/models.py:289
 msgid "Room"
 msgstr "Raum"
 
@@ -76,8 +78,8 @@ msgstr "Raum"
 msgid "Room whose availability this is"
 msgstr "Raum dessen Verfügbarkeit hier abgebildet wird"
 
-#: AKModel/availability/models.py:65 AKModel/models.py:231
-#: AKModel/models.py:289
+#: AKModel/availability/models.py:65 AKModel/models.py:230
+#: AKModel/models.py:288
 msgid "AK"
 msgstr "AK"
 
@@ -85,7 +87,7 @@ msgstr "AK"
 msgid "AK whose availability this is"
 msgstr "Verfügbarkeiten"
 
-#: AKModel/availability/models.py:74 AKModel/models.py:125
+#: AKModel/availability/models.py:74 AKModel/models.py:124
 msgid "AK Category"
 msgstr "AK Kategorie"
 
@@ -97,87 +99,87 @@ msgstr "AK Kategorie dessen Verfügbarkeit hier abgebildet wird"
 msgid "Availabilities"
 msgstr "Verfügbarkeiten"
 
-#: AKModel/models.py:17 AKModel/models.py:116 AKModel/models.py:137
-#: AKModel/models.py:156 AKModel/models.py:170 AKModel/models.py:188
-#: AKModel/models.py:260
+#: AKModel/models.py:16 AKModel/models.py:115 AKModel/models.py:136
+#: AKModel/models.py:155 AKModel/models.py:169 AKModel/models.py:187
+#: AKModel/models.py:259
 msgid "Name"
 msgstr "Name"
 
-#: AKModel/models.py:18
+#: AKModel/models.py:17
 msgid "Name or iteration of the event"
 msgstr "Name oder Iteration des Events"
 
-#: AKModel/models.py:19
+#: AKModel/models.py:18
 msgid "Short Form"
 msgstr "Kurzer Name"
 
-#: AKModel/models.py:20
+#: AKModel/models.py:19
 msgid "Short name of letters/numbers/dots/dashes/underscores used in URLs."
 msgstr ""
 "Kurzname bestehend aus Buchstaben, Nummern, Punkten und Unterstrichen zur "
 "Nutzung in URLs"
 
-#: AKModel/models.py:22
+#: AKModel/models.py:21
 msgid "Place"
 msgstr "Ort"
 
-#: AKModel/models.py:23
+#: AKModel/models.py:22
 msgid "City etc. the event takes place in"
 msgstr "Stadt o.ä. in der das Event stattfindet"
 
-#: AKModel/models.py:25
+#: AKModel/models.py:24
 msgid "Time Zone"
 msgstr "Zeitzone"
 
-#: AKModel/models.py:25
+#: AKModel/models.py:24
 msgid "Time Zone where this event takes place in"
 msgstr "Zeitzone in der das Event stattfindet"
 
-#: AKModel/models.py:26
+#: AKModel/models.py:25
 msgid "Start"
 msgstr "Start"
 
-#: AKModel/models.py:26
+#: AKModel/models.py:25
 msgid "Time the event begins"
 msgstr "Zeit zu der das Event beginnt"
 
-#: AKModel/models.py:27
+#: AKModel/models.py:26
 msgid "End"
 msgstr "Ende"
 
-#: AKModel/models.py:27
+#: AKModel/models.py:26
 msgid "Time the event ends"
 msgstr "Zeit zu der das Event endet"
 
-#: AKModel/models.py:29
+#: AKModel/models.py:28
 msgid "Active State"
 msgstr "Aktiver Status"
 
-#: AKModel/models.py:29
+#: AKModel/models.py:28
 msgid "Marks currently active events"
 msgstr "Markiert aktuell aktive Events"
 
-#: AKModel/models.py:31
+#: AKModel/models.py:30
 msgid "Base URL"
 msgstr "URL-Prefix"
 
-#: AKModel/models.py:31
+#: AKModel/models.py:30
 msgid "Prefix for wiki link construction"
 msgstr "Prefix für die automatische Generierung von Wiki-Links"
 
-#: AKModel/models.py:32
+#: AKModel/models.py:31
 msgid "Default Slot Length"
 msgstr "Standardslotlänge"
 
-#: AKModel/models.py:33
+#: AKModel/models.py:32
 msgid "Default length in hours that is assumed for AKs in this event."
 msgstr "Standardlänge von Slots (in Stunden) für dieses Event"
 
-#: AKModel/models.py:35
+#: AKModel/models.py:34
 msgid "Contact email address"
 msgstr "E-Mail Kontaktadresse"
 
-#: AKModel/models.py:37
+#: AKModel/models.py:36
 msgid ""
 "An email address that is displayed on every page and can be used for all "
 "kinds of questions"
@@ -185,208 +187,208 @@ msgstr ""
 "Eine Mailadresse die auf jeder Seite angezeigt wird und für alle Arten von "
 "Fragen genutzt werden kann"
 
-#: AKModel/models.py:41
+#: AKModel/models.py:40
 msgid "Events"
 msgstr "Events"
 
-#: AKModel/models.py:64
+#: AKModel/models.py:63
 msgid "Nickname"
 msgstr "Spitzname"
 
-#: AKModel/models.py:64
+#: AKModel/models.py:63
 msgid "Name to identify an AK owner by"
 msgstr "Name durch den eine AK Leitung identifiziert wird"
 
-#: AKModel/models.py:65
+#: AKModel/models.py:64
 msgid "Slug"
 msgstr "Slug"
 
-#: AKModel/models.py:65
+#: AKModel/models.py:64
 msgid "Slug for URL generation"
 msgstr "Slug für URL-Generierung"
 
-#: AKModel/models.py:66
+#: AKModel/models.py:65
 msgid "Institution"
 msgstr "Instutution"
 
-#: AKModel/models.py:66
+#: AKModel/models.py:65
 msgid "Uni etc."
 msgstr "Universität o.ä."
 
-#: AKModel/models.py:67 AKModel/models.py:197
+#: AKModel/models.py:66 AKModel/models.py:196
 msgid "Web Link"
 msgstr "Internet Link"
 
-#: AKModel/models.py:67
+#: AKModel/models.py:66
 msgid "Link to Homepage"
 msgstr "Link zu Homepage oder Webseite"
 
-#: AKModel/models.py:73
+#: AKModel/models.py:72
 msgid "AK Owner"
 msgstr "AK Leitung"
 
-#: AKModel/models.py:74
+#: AKModel/models.py:73
 msgid "AK Owners"
 msgstr "AK Leitungen"
 
-#: AKModel/models.py:116
+#: AKModel/models.py:115
 msgid "Name of the AK Category"
 msgstr "Name des AK Kategorie"
 
-#: AKModel/models.py:117 AKModel/models.py:138
+#: AKModel/models.py:116 AKModel/models.py:137
 msgid "Color"
 msgstr "Farbe"
 
-#: AKModel/models.py:117 AKModel/models.py:138
+#: AKModel/models.py:116 AKModel/models.py:137
 msgid "Color for displaying"
 msgstr "Farbe für die Anzeige"
 
-#: AKModel/models.py:118 AKModel/models.py:191
+#: AKModel/models.py:117 AKModel/models.py:190
 msgid "Description"
 msgstr "Beschreibung"
 
-#: AKModel/models.py:119
+#: AKModel/models.py:118
 msgid "Short description of this AK Category"
 msgstr "Beschreibung der AK-Kategorie"
 
-#: AKModel/models.py:126
+#: AKModel/models.py:125
 msgid "AK Categories"
 msgstr "AK Kategorien"
 
-#: AKModel/models.py:137
+#: AKModel/models.py:136
 msgid "Name of the AK Track"
 msgstr "Name des AK Tracks"
 
-#: AKModel/models.py:144
+#: AKModel/models.py:143
 msgid "AK Track"
 msgstr "AK Track"
 
-#: AKModel/models.py:145
+#: AKModel/models.py:144
 msgid "AK Tracks"
 msgstr "AK Tracks"
 
-#: AKModel/models.py:156
+#: AKModel/models.py:155
 msgid "Name of the AK Tag"
 msgstr "Name das AK Tags"
 
-#: AKModel/models.py:159
+#: AKModel/models.py:158
 msgid "AK Tag"
 msgstr "AK Tag"
 
-#: AKModel/models.py:160
+#: AKModel/models.py:159
 msgid "AK Tags"
 msgstr "AK Tags"
 
-#: AKModel/models.py:170
+#: AKModel/models.py:169
 msgid "Name of the Requirement"
 msgstr "Name der Anforderung"
 
-#: AKModel/models.py:176
+#: AKModel/models.py:175
 msgid "AK Requirement"
 msgstr "AK Anforderung"
 
-#: AKModel/models.py:177
+#: AKModel/models.py:176
 msgid "AK Requirements"
 msgstr "AK Anforderungen"
 
-#: AKModel/models.py:188
+#: AKModel/models.py:187
 msgid "Name of the AK"
 msgstr "Name des AKs"
 
-#: AKModel/models.py:189
+#: AKModel/models.py:188
 msgid "Short Name"
 msgstr "Kurzer Name"
 
-#: AKModel/models.py:190
+#: AKModel/models.py:189
 msgid "Name displayed in the schedule"
 msgstr "Name zur Anzeige im AK Plan"
 
-#: AKModel/models.py:191
+#: AKModel/models.py:190
 msgid "Description of the AK"
 msgstr "Beschreibung des AKs"
 
-#: AKModel/models.py:193
+#: AKModel/models.py:192
 msgid "Owners"
 msgstr "Leitungen"
 
-#: AKModel/models.py:194
+#: AKModel/models.py:193
 msgid "Those organizing the AK"
 msgstr "Menschen, die den AK organisieren und halten"
 
-#: AKModel/models.py:197
+#: AKModel/models.py:196
 msgid "Link to wiki page"
 msgstr "Link zur Wiki Seite"
 
-#: AKModel/models.py:199
+#: AKModel/models.py:198
 msgid "Category"
 msgstr "Kategorie"
 
-#: AKModel/models.py:200
+#: AKModel/models.py:199
 msgid "Category of the AK"
 msgstr "Kategorie des AKs"
 
-#: AKModel/models.py:201
+#: AKModel/models.py:200
 msgid "Tags"
 msgstr "Tags"
 
-#: AKModel/models.py:201
+#: AKModel/models.py:200
 msgid "Tags provided by owners"
 msgstr "Tags, die durch die AK Leitung vergeben wurden"
 
-#: AKModel/models.py:202
+#: AKModel/models.py:201
 msgid "Track"
 msgstr "Track"
 
-#: AKModel/models.py:203
+#: AKModel/models.py:202
 msgid "Track the AK belongs to"
 msgstr "Track zu dem der AK gehört"
 
-#: AKModel/models.py:205
+#: AKModel/models.py:204
 msgid "Resolution Intention"
 msgstr "Resolutionsabsicht"
 
-#: AKModel/models.py:206
+#: AKModel/models.py:205
 msgid "Intends to submit a resolution"
 msgstr "Beabsichtigt eine Resolution einzureichen"
 
-#: AKModel/models.py:207
+#: AKModel/models.py:206
 msgid "Present this AK"
 msgstr "AK Präsentieren"
 
-#: AKModel/models.py:208
+#: AKModel/models.py:207
 msgid "Present results of this AK"
 msgstr "Die Ergebnisse dieses AKs vorstellen"
 
-#: AKModel/models.py:210
+#: AKModel/models.py:209
 msgid "Requirements"
 msgstr "Anforderungen"
 
-#: AKModel/models.py:211
+#: AKModel/models.py:210
 msgid "AK's Requirements"
 msgstr "Anforderungen des AKs"
 
-#: AKModel/models.py:213
+#: AKModel/models.py:212
 msgid "Conflicting AKs"
 msgstr "AK Konflikte"
 
-#: AKModel/models.py:214
+#: AKModel/models.py:213
 msgid "AKs that conflict and thus must not take place at the same time"
 msgstr ""
 "AKs, die Konflikte haben und deshalb nicht gleichzeitig stattfinden dürfen"
 
-#: AKModel/models.py:215
+#: AKModel/models.py:214
 msgid "Prerequisite AKs"
 msgstr "Vorausgesetzte AKs"
 
-#: AKModel/models.py:216
+#: AKModel/models.py:215
 msgid "AKs that should precede this AK in the schedule"
 msgstr "AKS die im AK Plan vor diesem AK stattfinden müssen"
 
-#: AKModel/models.py:218
+#: AKModel/models.py:217
 msgid "Organizational Notes"
 msgstr "Notizen zur Organisation"
 
-#: AKModel/models.py:219
+#: AKModel/models.py:218
 msgid ""
 "Notes to organizers. These are public. For private notes, please send an e-"
 "mail."
@@ -394,100 +396,111 @@ msgstr ""
 "Notizen an die Organisator*innen. Diese sind öffentlich, für private "
 "Anmerkungen bitte eine E-Mail schicken."
 
-#: AKModel/models.py:221
+#: AKModel/models.py:220
 msgid "Interest"
 msgstr "Interesse"
 
-#: AKModel/models.py:221
+#: AKModel/models.py:220
 msgid "Expected number of people"
 msgstr "Erwartete Personenzahl"
 
-#: AKModel/models.py:222
+#: AKModel/models.py:221
 msgid "Interest Counter"
 msgstr "Interessenszähler"
 
-#: AKModel/models.py:223
+#: AKModel/models.py:222
 msgid "People who have indicated interest online"
 msgstr "Anzahl Personen, die online Interesse bekundet haben"
 
-#: AKModel/models.py:232
+#: AKModel/models.py:231
 msgid "AKs"
 msgstr "AKs"
 
-#: AKModel/models.py:260
+#: AKModel/models.py:259
 msgid "Name or number of the room"
 msgstr "Name oder Nummer des Raums"
 
+#: AKModel/models.py:260
+msgid "Location"
+msgstr "Ort"
+
 #: AKModel/models.py:261
-msgid "Building"
-msgstr "Gebäude"
+msgid "Name or number of the location"
+msgstr "Name oder Nummer des Ortes"
 
 #: AKModel/models.py:262
-msgid "Name or number of the building"
-msgstr "Name oder Nummer des Gebäudes"
-
-#: AKModel/models.py:263
 msgid "Capacity"
 msgstr "Kapazität"
 
-#: AKModel/models.py:263
+#: AKModel/models.py:262
 msgid "Maximum number of people"
 msgstr "Maximale Personenzahl"
 
-#: AKModel/models.py:264
+#: AKModel/models.py:263
 msgid "Properties"
 msgstr "Eigenschaften"
 
-#: AKModel/models.py:265
+#: AKModel/models.py:264
 msgid "AK requirements fulfilled by the room"
 msgstr "AK Anforderungen, die dieser Raum erfüllt"
 
-#: AKModel/models.py:272
+#: AKModel/models.py:271
 msgid "Rooms"
 msgstr "Räume"
 
-#: AKModel/models.py:289
+#: AKModel/models.py:288
 msgid "AK being mapped"
 msgstr "AK, der zugeordnet wird"
 
-#: AKModel/models.py:291
+#: AKModel/models.py:290
 msgid "Room the AK will take place in"
 msgstr "Raum in dem der AK stattfindet"
 
-#: AKModel/models.py:292
+#: AKModel/models.py:291
 msgid "Slot Begin"
 msgstr "Beginn des Slots"
 
-#: AKModel/models.py:292
+#: AKModel/models.py:291
 msgid "Time and date the slot begins"
 msgstr "Zeit und Datum zu der der AK beginnt"
 
-#: AKModel/models.py:294
+#: AKModel/models.py:293
 msgid "Duration"
 msgstr "Dauer"
 
-#: AKModel/models.py:295
+#: AKModel/models.py:294
 msgid "Length in hours"
 msgstr "Länge in Stunden"
 
-#: AKModel/models.py:300
+#: AKModel/models.py:299
 msgid "Last update"
 msgstr "Letzte Aktualisierung"
 
-#: AKModel/models.py:303
+#: AKModel/models.py:302
 msgid "AK Slot"
 msgstr "AK Slot"
 
-#: AKModel/models.py:304
+#: AKModel/models.py:303
 msgid "AK Slots"
 msgstr "AK Slot"
 
-#: AKModel/models.py:318
+#: AKModel/models.py:317
 msgid "Not scheduled yet"
 msgstr "Noch nicht geplant"
 
-#~ msgid "Notes to organizers"
-#~ msgstr "Notizen an die Organisator*innen"
+#: AKModel/templates/AKModel/user.html:31
+msgid "Hello"
+msgstr "Hallo"
+
+#: AKModel/templates/AKModel/user.html:34
+msgid "Go to backend"
+msgstr "Zum Backend"
+
+#: AKModel/templates/AKModel/user.html:37
+msgid "Please wait for an administrator to confirm your account"
+msgstr ""
+"Bitte warte darauf, dass ein*e Administrator*in deinen Account bestätigt"
 
-#~ msgid "E-Mail Address"
-#~ msgstr "E-Mail Adresse"
+#: AKModel/templates/AKModel/user.html:40
+msgid "Logout"
+msgstr "Ausloggen"
diff --git a/AKModel/migrations/0033_AKOnline.py b/AKModel/migrations/0033_AKOnline.py
new file mode 100644
index 0000000000000000000000000000000000000000..c3d4e6bcdf239d3a68d84f480dd66a6c088bf1a1
--- /dev/null
+++ b/AKModel/migrations/0033_AKOnline.py
@@ -0,0 +1,17 @@
+# Generated by Django 3.0.6 on 2020-05-17 20:02
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+    dependencies = [
+        ('AKModel', '0032_AK_history'),
+    ]
+
+    operations = [
+        migrations.RenameField(
+            model_name='room',
+            old_name='building',
+            new_name='location',
+        ),
+    ]
diff --git a/AKModel/models.py b/AKModel/models.py
index c46c90f9ddd3c9797a7bff58509d9d79b1569406..9d507ea3941474881e3cb1239b9b9a44131e8787 100644
--- a/AKModel/models.py
+++ b/AKModel/models.py
@@ -1,10 +1,9 @@
-from datetime import timedelta
-
-from django.utils.datetime_safe import datetime
 import itertools
+from datetime import timedelta
 
 from django.db import models
 from django.utils import timezone
+from django.utils.datetime_safe import datetime
 from django.utils.text import slugify
 from django.utils.translation import gettext_lazy as _
 from simple_history.models import HistoricalRecords
@@ -258,8 +257,8 @@ class Room(models.Model):
     """ A room describes where an AK can be held.
     """
     name = models.CharField(max_length=64, verbose_name=_('Name'), help_text=_('Name or number of the room'))
-    building = models.CharField(max_length=256, blank=True, verbose_name=_('Building'),
-                                help_text=_('Name or number of the building'))
+    location = models.CharField(max_length=256, blank=True, verbose_name=_('Location'),
+                                help_text=_('Name or number of the location'))
     capacity = models.IntegerField(verbose_name=_('Capacity'), help_text=_('Maximum number of people'))
     properties = models.ManyToManyField(to=AKRequirement, blank=True, verbose_name=_('Properties'),
                                         help_text=_('AK requirements fulfilled by the room'))
@@ -270,13 +269,13 @@ class Room(models.Model):
     class Meta:
         verbose_name = _('Room')
         verbose_name_plural = _('Rooms')
-        ordering = ['building', 'name']
-        unique_together = ['event', 'name', 'building']
+        ordering = ['location', 'name']
+        unique_together = ['event', 'name', 'location']
 
     @property
     def title(self):
-        if self.building:
-            return f"{self.building} {self.name}"
+        if self.location:
+            return f"{self.location} {self.name}"
         return self.name
 
     def __str__(self):
diff --git a/AKOnline/__init__.py b/AKOnline/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/AKOnline/admin.py b/AKOnline/admin.py
new file mode 100644
index 0000000000000000000000000000000000000000..bdcd8d4d10358eed188cd06216220026ece2ac3c
--- /dev/null
+++ b/AKOnline/admin.py
@@ -0,0 +1,9 @@
+from django.contrib import admin
+
+from AKModel.admin import RoomAdmin
+from AKOnline.models import VirtualRoom
+
+
+@admin.register(VirtualRoom)
+class VirtualRoomAdmin(RoomAdmin):
+    model = VirtualRoom
diff --git a/AKOnline/apps.py b/AKOnline/apps.py
new file mode 100644
index 0000000000000000000000000000000000000000..16078585764016d5c291069a30b9f90022a89e16
--- /dev/null
+++ b/AKOnline/apps.py
@@ -0,0 +1,5 @@
+from django.apps import AppConfig
+
+
+class AkonlineConfig(AppConfig):
+    name = 'AKOnline'
diff --git a/AKOnline/migrations/0001_AKOnline.py b/AKOnline/migrations/0001_AKOnline.py
new file mode 100644
index 0000000000000000000000000000000000000000..d6040731fac9a3f0ec515a816dc48fcb06f01f42
--- /dev/null
+++ b/AKOnline/migrations/0001_AKOnline.py
@@ -0,0 +1,29 @@
+# Generated by Django 3.0.6 on 2020-05-17 20:02
+
+import django.db.models.deletion
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+    initial = True
+
+    dependencies = [
+        ('AKModel', '0033_AKOnline'),
+    ]
+
+    operations = [
+        migrations.CreateModel(
+            name='VirtualRoom',
+            fields=[
+                ('room_ptr',
+                 models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True,
+                                      primary_key=True, serialize=False, to='AKModel.Room')),
+                ('url', models.URLField(blank=True, help_text='URL to the room or server', verbose_name='URL')),
+            ],
+            options={
+                'verbose_name': 'Virtual Room',
+                'verbose_name_plural': 'Virtual Rooms',
+            },
+            bases=('AKModel.room',),
+        ),
+    ]
diff --git a/AKOnline/migrations/__init__.py b/AKOnline/migrations/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/AKOnline/models.py b/AKOnline/models.py
new file mode 100644
index 0000000000000000000000000000000000000000..c3496b01a719293920496c7b6432144114c71bf3
--- /dev/null
+++ b/AKOnline/models.py
@@ -0,0 +1,14 @@
+from django.db import models
+from django.utils.translation import gettext_lazy as _
+
+from AKModel.models import Event, Room
+
+
+class VirtualRoom(Room):
+    """ A virtual room where an AK can be held.
+    """
+    url = models.URLField(verbose_name=_("URL"), help_text=_("URL to the room or server"), blank=True)
+
+    class Meta:
+        verbose_name = _('Virtual Room')
+        verbose_name_plural = _('Virtual Rooms')
diff --git a/AKOnline/tests.py b/AKOnline/tests.py
new file mode 100644
index 0000000000000000000000000000000000000000..a39b155ac3ee946fb97efafe6ecbb42f571cd7ad
--- /dev/null
+++ b/AKOnline/tests.py
@@ -0,0 +1 @@
+# Create your tests here.
diff --git a/AKOnline/views.py b/AKOnline/views.py
new file mode 100644
index 0000000000000000000000000000000000000000..60f00ef0ef347811e7b0c0921b7fda097acd9fcc
--- /dev/null
+++ b/AKOnline/views.py
@@ -0,0 +1 @@
+# Create your views here.
diff --git a/AKPlan/locale/de_DE/LC_MESSAGES/django.po b/AKPlan/locale/de_DE/LC_MESSAGES/django.po
index 9abe99bdb6a65962a6697eee0caddf1dd3e6d8e3..bbe02474f0b06608332e3c1c6544d045feac7e6a 100644
--- a/AKPlan/locale/de_DE/LC_MESSAGES/django.po
+++ b/AKPlan/locale/de_DE/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-05-14 22:48+0000\n"
+"POT-Creation-Date: 2020-05-16 20:26+0000\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"
diff --git a/AKPlan/views.py b/AKPlan/views.py
index 44aca464f4b177c191657d003b74582ed492f6a1..cf8589128a38eac4b240661110e1598a13424d89 100644
--- a/AKPlan/views.py
+++ b/AKPlan/views.py
@@ -38,8 +38,8 @@ class PlanIndexView(FilterByEventSlugMixin, ListView):
             if akslot.room is not None:
                 rooms.add(akslot.room)
                 # Store buildings for hierarchical view
-                if akslot.room.building != '':
-                    buildings.add(akslot.room.building)
+                if akslot.room.location != '':
+                    buildings.add(akslot.room.location)
 
             # Recent AKs: Started but not ended yet
             if akslot.start <= current_timestamp <= akslot.end:
diff --git a/AKPlanning/locale/de_DE/LC_MESSAGES/django.po b/AKPlanning/locale/de_DE/LC_MESSAGES/django.po
index bcd0701f16f00c7279d968ecc3686f51c70a135a..c0edc69e3d52780b8e1b8e692c061197f477fd5a 100644
--- a/AKPlanning/locale/de_DE/LC_MESSAGES/django.po
+++ b/AKPlanning/locale/de_DE/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-05-12 22:53+0000\n"
+"POT-Creation-Date: 2020-05-16 20:26+0000\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"
@@ -17,10 +17,10 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: AKPlanning/settings.py:129
+#: AKPlanning/settings.py:131
 msgid "German"
 msgstr "Deutsch"
 
-#: AKPlanning/settings.py:130
+#: AKPlanning/settings.py:132
 msgid "English"
 msgstr "Englisch"
diff --git a/AKPlanning/settings.py b/AKPlanning/settings.py
index 83d1340a243f6db363953824c7fb4343d5653fe4..957b13043413537a9029fcf2f621663c671615da 100644
--- a/AKPlanning/settings.py
+++ b/AKPlanning/settings.py
@@ -37,6 +37,7 @@ INSTALLED_APPS = [
     'AKSubmission.apps.AksubmissionConfig',
     'AKScheduling.apps.AkschedulingConfig',
     'AKPlan.apps.AkplanConfig',
+    'AKOnline.apps.AkonlineConfig',
     'django.contrib.admin',
     'django.contrib.auth',
     'django.contrib.contenttypes',
diff --git a/AKSubmission/locale/de_DE/LC_MESSAGES/django.po b/AKSubmission/locale/de_DE/LC_MESSAGES/django.po
index e1e55f30bc8257b255cf86fbaf5c4a1865cfc59f..4cb5cb50c540706a611d492cd6c501d92f86e617 100644
--- a/AKSubmission/locale/de_DE/LC_MESSAGES/django.po
+++ b/AKSubmission/locale/de_DE/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-05-14 22:48+0000\n"
+"POT-Creation-Date: 2020-05-16 20:26+0000\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"
@@ -38,7 +38,7 @@ msgstr ""
 "Mindestens eine geplante Dauer (in Stunden) angeben. Wenn der AK mehrere "
 "Slots haben soll, mehrere Zeilen verwenden"
 
-#: AKSubmission/templates/AKSubmission/ak_detail.html:10
+#: AKSubmission/templates/AKSubmission/ak_detail.html:11
 #: AKSubmission/templates/AKSubmission/ak_edit.html:8
 #: AKSubmission/templates/AKSubmission/ak_history.html:11
 #: AKSubmission/templates/AKSubmission/ak_overview.html:8
@@ -46,6 +46,7 @@ msgstr ""
 #: AKSubmission/templates/AKSubmission/akowner_create_update.html:7
 #: AKSubmission/templates/AKSubmission/akslot_add_update.html:7
 #: AKSubmission/templates/AKSubmission/akslot_delete.html:7
+#: AKSubmission/templates/AKSubmission/submission_not_configured.html:7
 #: AKSubmission/templates/AKSubmission/submission_overview.html:7
 #: AKSubmission/templates/AKSubmission/submission_overview.html:38
 #: AKSubmission/templates/AKSubmission/submit_new.html:8
@@ -53,19 +54,21 @@ msgstr ""
 msgid "AKs"
 msgstr "AKs"
 
-#: AKSubmission/templates/AKSubmission/ak_detail.html:10
+#: AKSubmission/templates/AKSubmission/ak_detail.html:11
 #: AKSubmission/templates/AKSubmission/ak_history.html:11
 #: AKSubmission/templates/AKSubmission/akslot_delete.html:31
 msgid "AK"
 msgstr "AK"
 
-#: AKSubmission/templates/AKSubmission/ak_detail.html:15
+#: AKSubmission/templates/AKSubmission/ak_detail.html:16
 #: AKSubmission/templates/AKSubmission/ak_edit.html:13
 #: AKSubmission/templates/AKSubmission/ak_history.html:16
 #: AKSubmission/templates/AKSubmission/ak_overview.html:22
 #: AKSubmission/templates/AKSubmission/akowner_create_update.html:12
 #: AKSubmission/templates/AKSubmission/akslot_add_update.html:12
 #: AKSubmission/templates/AKSubmission/akslot_delete.html:12
+#: AKSubmission/templates/AKSubmission/submission_not_configured.html:7
+#: AKSubmission/templates/AKSubmission/submission_not_configured.html:11
 #: AKSubmission/templates/AKSubmission/submission_overview.html:7
 #: AKSubmission/templates/AKSubmission/submission_overview.html:34
 #: AKSubmission/templates/AKSubmission/submit_new.html:25
@@ -73,110 +76,108 @@ msgstr "AK"
 msgid "AK Submission"
 msgstr "AK-Eintragung"
 
-#: AKSubmission/templates/AKSubmission/ak_detail.html:30
+#: AKSubmission/templates/AKSubmission/ak_detail.html:31
 msgid "Interest"
 msgstr "Interesse"
 
-#: AKSubmission/templates/AKSubmission/ak_detail.html:33
-#, fuzzy
-#| msgid "Interest"
+#: AKSubmission/templates/AKSubmission/ak_detail.html:34
 msgid "Show Interest"
-msgstr "Interesse"
+msgstr "Interesse bekunden"
 
-#: AKSubmission/templates/AKSubmission/ak_detail.html:39
+#: AKSubmission/templates/AKSubmission/ak_detail.html:40
 #: AKSubmission/templates/AKSubmission/ak_table.html:48
 msgid "Open external link"
 msgstr "Externen Link öffnen"
 
-#: AKSubmission/templates/AKSubmission/ak_detail.html:44
+#: AKSubmission/templates/AKSubmission/ak_detail.html:45
 #: AKSubmission/templates/AKSubmission/ak_history.html:19
 #: AKSubmission/templates/AKSubmission/ak_history.html:31
 msgid "History"
 msgstr "Versionsgeschichte"
 
-#: AKSubmission/templates/AKSubmission/ak_detail.html:47
-#: AKSubmission/templates/AKSubmission/ak_detail.html:146
+#: AKSubmission/templates/AKSubmission/ak_detail.html:48
+#: AKSubmission/templates/AKSubmission/ak_detail.html:147
 #: AKSubmission/templates/AKSubmission/ak_edit.html:16
 #: AKSubmission/templates/AKSubmission/ak_table.html:53
 msgid "Edit"
 msgstr "Bearbeiten"
 
-#: AKSubmission/templates/AKSubmission/ak_detail.html:52
+#: AKSubmission/templates/AKSubmission/ak_detail.html:53
 #: AKSubmission/templates/AKSubmission/ak_history.html:31
 #: AKSubmission/templates/AKSubmission/ak_table.html:35
 msgid "AK Wish"
 msgstr "AK-Wunsch"
 
-#: AKSubmission/templates/AKSubmission/ak_detail.html:56
+#: AKSubmission/templates/AKSubmission/ak_detail.html:57
 #: AKSubmission/templates/AKSubmission/ak_table.html:10
 msgid "Who?"
 msgstr "Wer?"
 
-#: AKSubmission/templates/AKSubmission/ak_detail.html:62
+#: AKSubmission/templates/AKSubmission/ak_detail.html:63
 #: AKSubmission/templates/AKSubmission/ak_history.html:36
 #: AKSubmission/templates/AKSubmission/ak_table.html:11
 msgid "Category"
 msgstr "Kategorie"
 
-#: AKSubmission/templates/AKSubmission/ak_detail.html:68
+#: AKSubmission/templates/AKSubmission/ak_detail.html:69
 msgid "Present this AK"
 msgstr "Diesen AK vorstellen"
 
-#: AKSubmission/templates/AKSubmission/ak_detail.html:72
+#: AKSubmission/templates/AKSubmission/ak_detail.html:73
 #: AKSubmission/templates/AKSubmission/ak_table.html:12
 msgid "Tags"
 msgstr "Tags"
 
-#: AKSubmission/templates/AKSubmission/ak_detail.html:78
+#: AKSubmission/templates/AKSubmission/ak_detail.html:79
 msgid "Reso?"
 msgstr "Reso?"
 
-#: AKSubmission/templates/AKSubmission/ak_detail.html:85
+#: AKSubmission/templates/AKSubmission/ak_detail.html:86
 msgid "Requirements"
 msgstr "Anforderungen"
 
-#: AKSubmission/templates/AKSubmission/ak_detail.html:98
+#: AKSubmission/templates/AKSubmission/ak_detail.html:99
 msgid "Conflicting AKs"
 msgstr "AK Konflikte"
 
-#: AKSubmission/templates/AKSubmission/ak_detail.html:106
+#: AKSubmission/templates/AKSubmission/ak_detail.html:107
 msgid "Prerequisite AKs"
 msgstr "AK Voraussetzungen"
 
-#: AKSubmission/templates/AKSubmission/ak_detail.html:114
+#: AKSubmission/templates/AKSubmission/ak_detail.html:115
 msgid "Notes"
 msgstr "Notizen"
 
-#: AKSubmission/templates/AKSubmission/ak_detail.html:131
+#: AKSubmission/templates/AKSubmission/ak_detail.html:132
 msgid "When?"
 msgstr "Wann?"
 
-#: AKSubmission/templates/AKSubmission/ak_detail.html:132
+#: AKSubmission/templates/AKSubmission/ak_detail.html:133
 #: AKSubmission/templates/AKSubmission/akslot_delete.html:35
 msgid "Duration"
 msgstr "Dauer"
 
-#: AKSubmission/templates/AKSubmission/ak_detail.html:133
+#: AKSubmission/templates/AKSubmission/ak_detail.html:134
 msgid "Room"
 msgstr "Raum"
 
-#: AKSubmission/templates/AKSubmission/ak_detail.html:149
+#: AKSubmission/templates/AKSubmission/ak_detail.html:150
 msgid "Delete"
 msgstr "Löschen"
 
-#: AKSubmission/templates/AKSubmission/ak_detail.html:161
+#: AKSubmission/templates/AKSubmission/ak_detail.html:162
 msgid "Add another slot"
 msgstr "Einen neuen AK-Slot hinzufügen"
 
-#: AKSubmission/templates/AKSubmission/ak_detail.html:165
+#: AKSubmission/templates/AKSubmission/ak_detail.html:166
 msgid "Possible Times"
 msgstr "Mögliche Zeiten"
 
-#: AKSubmission/templates/AKSubmission/ak_detail.html:169
+#: AKSubmission/templates/AKSubmission/ak_detail.html:170
 msgid "Start"
 msgstr "Start"
 
-#: AKSubmission/templates/AKSubmission/ak_detail.html:170
+#: AKSubmission/templates/AKSubmission/ak_detail.html:171
 msgid "End"
 msgstr "Ende"
 
@@ -212,7 +213,7 @@ msgstr "Diesen AK vorstellen"
 msgid "Reso"
 msgstr "Reso"
 
-#: AKSubmission/templates/AKSubmission/ak_list.html:6 AKSubmission/views.py:30
+#: AKSubmission/templates/AKSubmission/ak_list.html:6 AKSubmission/views.py:34
 msgid "All AKs"
 msgstr "Alle AKs"
 
@@ -277,6 +278,14 @@ msgstr "Bestätigen"
 msgid "Write to organizers of this event for questions and comments"
 msgstr "Fragen oder Kommentare? Schreib den Orgas dieses Events eine Mail"
 
+#: AKSubmission/templates/AKSubmission/submission_not_configured.html:20
+msgid ""
+"System is not yet configured for AK submission and listing. Please try again "
+"later."
+msgstr ""
+"Das System ist noch nicht fertig eingerichtet. Bitte versuch es später noch "
+"einmal."
+
 #: AKSubmission/templates/AKSubmission/submission_overview.html:42
 msgid ""
 "On this page you can see a list of current AKs, change them and add new ones."
@@ -320,59 +329,56 @@ msgstr ""
 msgid "Submit"
 msgstr "Eintragen"
 
-#: AKSubmission/views.py:50
+#: AKSubmission/views.py:65
 msgid "Wishes"
 msgstr "Wünsche"
 
-#: AKSubmission/views.py:50
+#: AKSubmission/views.py:65
 msgid "AKs one would like to have"
 msgstr ""
 "AKs die sich gewünscht wurden, aber bei denen noch nicht klar ist, wer sie "
 "macht. Falls du dir das vorstellen kannst, trag dich einfach ein"
 
-#: AKSubmission/views.py:66
+#: AKSubmission/views.py:81
 msgid "Currently planned AKs"
 msgstr "Aktuell geplante AKs"
 
-#: AKSubmission/views.py:141
+#: AKSubmission/views.py:157
 msgid "Event inactive. Cannot create or update."
 msgstr "Event inaktiv. Hinzufügen/Bearbeiten nicht möglich."
 
-#: AKSubmission/views.py:157
+#: AKSubmission/views.py:173
 msgid "AK successfully created"
 msgstr "AK erfolgreich angelegt"
 
-#: AKSubmission/views.py:215
+#: AKSubmission/views.py:231
 msgid "AK successfully updated"
 msgstr "AK erfolgreich aktualisiert"
 
-#: AKSubmission/views.py:293
+#: AKSubmission/views.py:309
 msgid "Person Info successfully updated"
 msgstr "Personen-Info erfolgreich aktualisiert"
 
-#: AKSubmission/views.py:313
+#: AKSubmission/views.py:329
 msgid "No user selected"
 msgstr "Keine Person ausgewählt"
 
-#: AKSubmission/views.py:339
+#: AKSubmission/views.py:355
 msgid "AK Slot successfully added"
 msgstr "AK-Slot erfolgreich angelegt"
 
-#: AKSubmission/views.py:353
+#: AKSubmission/views.py:369
 msgid "You cannot edit a slot that has already been scheduled"
 msgstr "Bereits geplante AK-Slots können nicht mehr bearbeitet werden"
 
-#: AKSubmission/views.py:363
+#: AKSubmission/views.py:379
 msgid "AK Slot successfully updated"
 msgstr "AK-Slot erfolgreich aktualisiert"
 
-#: AKSubmission/views.py:376
+#: AKSubmission/views.py:392
 msgid "You cannot delete a slot that has already been scheduled"
 msgstr "Bereits geplante AK-Slots können nicht mehr gelöscht werden"
 
-#: AKSubmission/views.py:386
+#: AKSubmission/views.py:402
 msgid "AK Slot successfully deleted"
 msgstr "AK-Slot erfolgreich angelegt"
-
-#~ msgid "Categories"
-#~ msgstr "Kategorie"
diff --git a/locale/de_DE/LC_MESSAGES/django.po b/locale/de_DE/LC_MESSAGES/django.po
index 5c7e702e3b6da3ac143d31f4d584c857210513eb..cff6314d53a95eeeaa80c95f6de6f0dfea58dc0d 100644
--- a/locale/de_DE/LC_MESSAGES/django.po
+++ b/locale/de_DE/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-05-10 16:22+0000\n"
+"POT-Creation-Date: 2020-05-17 21:09+0000\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"
@@ -18,10 +18,26 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
 
-#: templates/base.html:76
+#: AKOnline/models.py:10
+msgid "URL"
+msgstr "URL"
+
+#: AKOnline/models.py:10
+msgid "URL to the room or server"
+msgstr "URL zum Raum/Server"
+
+#: AKOnline/models.py:13
+msgid "Virtual Room"
+msgstr "Virtueller Raum"
+
+#: AKOnline/models.py:14
+msgid "Virtual Rooms"
+msgstr "Virtuelle Räume"
+
+#: templates/base.html:78
 msgid "Impress"
 msgstr "Impressum"
 
-#: templates/base.html:79
+#: templates/base.html:81
 msgid "This software is open source"
 msgstr "Diese Software ist Open Source"