diff --git a/AKModel/admin.py b/AKModel/admin.py
index ad55accba8067851b09767b1dfc726ed9962f1bf..64c56c1a0541a914c72602e5551d8afc8c6736cd 100644
--- a/AKModel/admin.py
+++ b/AKModel/admin.py
@@ -11,7 +11,7 @@ from simple_history.admin import SimpleHistoryAdmin
 
 from AKModel.availability.models import Availability
 from AKModel.models import Event, AKOwner, AKCategory, AKTrack, AKTag, AKRequirement, AK, AKSlot, Room
-from AKModel.views import EventStatusView
+from AKModel.views import EventStatusView, AKCSVExportView
 
 
 @admin.register(Event)
@@ -25,7 +25,8 @@ class EventAdmin(admin.ModelAdmin):
     def get_urls(self):
         urls = super().get_urls()
         custom_urls = [
-            path('<slug:slug>/status/', self.admin_site.admin_view(EventStatusView.as_view()), name="event_status")
+            path('<slug:slug>/status/', self.admin_site.admin_view(EventStatusView.as_view()), name="event_status"),
+            path('<slug:event_slug>/ak-csv-export/', self.admin_site.admin_view(AKCSVExportView.as_view()), name="ak_csv_export")
         ]
         return custom_urls + urls
 
diff --git a/AKModel/locale/de_DE/LC_MESSAGES/django.po b/AKModel/locale/de_DE/LC_MESSAGES/django.po
index 427c2e7a18799f55a57dec1928c1be5ac86c45a2..ffa52b3b72de138c7b71ddf7956cd18ccea54058 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-20 21:15+0000\n"
+"POT-Creation-Date: 2020-05-20 23:30+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"
@@ -11,24 +11,24 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: AKModel/admin.py:34 AKModel/admin.py:35
+#: AKModel/admin.py:35 AKModel/admin.py:36
 #: AKModel/templates/admin/AKModel/status.html:7
 msgid "Status"
 msgstr "Status"
 
-#: AKModel/admin.py:113
+#: AKModel/admin.py:114
 msgid "Wish"
 msgstr "AK-Wunsch"
 
-#: AKModel/admin.py:119
+#: AKModel/admin.py:120
 msgid "Is wish"
 msgstr "Ist ein Wunsch"
 
-#: AKModel/admin.py:120
+#: AKModel/admin.py:121
 msgid "Is not a wish"
 msgstr "Ist kein Wunsch"
 
-#: AKModel/admin.py:147
+#: AKModel/admin.py:148
 msgid "Export to wiki syntax"
 msgstr "In Wiki-Syntax exportieren"
 
@@ -58,13 +58,13 @@ msgstr "Bitte Verfügbarkeiten eintragen!"
 
 #: AKModel/availability/models.py:38 AKModel/models.py:41 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/models.py:226 AKModel/models.py:272 AKModel/models.py:302
 msgid "Event"
 msgstr "Event"
 
 #: AKModel/availability/models.py:39 AKModel/models.py:71 AKModel/models.py:123
 #: AKModel/models.py:142 AKModel/models.py:174 AKModel/models.py:227
-#: AKModel/models.py:269 AKModel/models.py:299
+#: AKModel/models.py:273 AKModel/models.py:303
 msgid "Associated event"
 msgstr "Zugehöriges Event"
 
@@ -76,8 +76,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:272
-#: AKModel/models.py:291
+#: AKModel/availability/models.py:56 AKModel/models.py:276
+#: AKModel/models.py:295
 msgid "Room"
 msgstr "Raum"
 
@@ -86,7 +86,7 @@ msgid "Room whose availability this is"
 msgstr "Raum dessen Verfügbarkeit hier abgebildet wird"
 
 #: AKModel/availability/models.py:65 AKModel/models.py:232
-#: AKModel/models.py:290
+#: AKModel/models.py:294
 msgid "AK"
 msgstr "AK"
 
@@ -108,7 +108,7 @@ msgstr "Verfügbarkeiten"
 
 #: AKModel/models.py:16 AKModel/models.py:117 AKModel/models.py:138
 #: AKModel/models.py:157 AKModel/models.py:171 AKModel/models.py:189
-#: AKModel/models.py:261
+#: AKModel/models.py:265
 msgid "Name"
 msgstr "Name"
 
@@ -374,7 +374,7 @@ msgstr "AK Präsentieren"
 msgid "Present results of this AK"
 msgstr "Die Ergebnisse dieses AKs vorstellen"
 
-#: AKModel/models.py:211 AKModel/templates/admin/AKModel/status.html:74
+#: AKModel/models.py:211 AKModel/templates/admin/AKModel/status.html:76
 msgid "Requirements"
 msgstr "Anforderungen"
 
@@ -432,75 +432,75 @@ msgstr "Anzahl Personen, die online Interesse bekundet haben"
 msgid "AKs"
 msgstr "AKs"
 
-#: AKModel/models.py:261
+#: AKModel/models.py:265
 msgid "Name or number of the room"
 msgstr "Name oder Nummer des Raums"
 
-#: AKModel/models.py:262
+#: AKModel/models.py:266
 msgid "Location"
 msgstr "Ort"
 
-#: AKModel/models.py:263
+#: AKModel/models.py:267
 msgid "Name or number of the location"
 msgstr "Name oder Nummer des Ortes"
 
-#: AKModel/models.py:264
+#: AKModel/models.py:268
 msgid "Capacity"
 msgstr "Kapazität"
 
-#: AKModel/models.py:264
+#: AKModel/models.py:268
 msgid "Maximum number of people"
 msgstr "Maximale Personenzahl"
 
-#: AKModel/models.py:265
+#: AKModel/models.py:269
 msgid "Properties"
 msgstr "Eigenschaften"
 
-#: AKModel/models.py:266
+#: AKModel/models.py:270
 msgid "AK requirements fulfilled by the room"
 msgstr "AK Anforderungen, die dieser Raum erfüllt"
 
-#: AKModel/models.py:273 AKModel/templates/admin/AKModel/status.html:31
+#: AKModel/models.py:277 AKModel/templates/admin/AKModel/status.html:31
 msgid "Rooms"
 msgstr "Räume"
 
-#: AKModel/models.py:290
+#: AKModel/models.py:294
 msgid "AK being mapped"
 msgstr "AK, der zugeordnet wird"
 
-#: AKModel/models.py:292
+#: AKModel/models.py:296
 msgid "Room the AK will take place in"
 msgstr "Raum in dem der AK stattfindet"
 
-#: AKModel/models.py:293
+#: AKModel/models.py:297
 msgid "Slot Begin"
 msgstr "Beginn des Slots"
 
-#: AKModel/models.py:293
+#: AKModel/models.py:297
 msgid "Time and date the slot begins"
 msgstr "Zeit und Datum zu der der AK beginnt"
 
-#: AKModel/models.py:295
+#: AKModel/models.py:299
 msgid "Duration"
 msgstr "Dauer"
 
-#: AKModel/models.py:296
+#: AKModel/models.py:300
 msgid "Length in hours"
 msgstr "Länge in Stunden"
 
-#: AKModel/models.py:301
+#: AKModel/models.py:305
 msgid "Last update"
 msgstr "Letzte Aktualisierung"
 
-#: AKModel/models.py:304
+#: AKModel/models.py:308
 msgid "AK Slot"
 msgstr "AK Slot"
 
-#: AKModel/models.py:305
+#: AKModel/models.py:309
 msgid "AK Slots"
 msgstr "AK Slot"
 
-#: AKModel/models.py:319
+#: AKModel/models.py:323
 msgid "Not scheduled yet"
 msgstr "Noch nicht geplant"
 
@@ -561,11 +561,15 @@ msgstr "Slots"
 msgid "Unscheduled Slots"
 msgstr "Ungeplante Slots"
 
-#: AKModel/templates/admin/AKModel/status.html:76
+#: AKModel/templates/admin/AKModel/status.html:73
+msgid "Export AKs as CSV"
+msgstr "AKs als CSV exportieren"
+
+#: AKModel/templates/admin/AKModel/status.html:78
 msgid "No requirements yet"
 msgstr "Bisher keine Anforderungen"
 
-#: AKModel/templates/admin/AKModel/status.html:89
+#: AKModel/templates/admin/AKModel/status.html:91
 msgid "Add Requirement"
 msgstr "Anforderungen hinzufügen"
 
@@ -577,5 +581,9 @@ msgstr "Aktive Events"
 msgid "Event Status"
 msgstr "Eventstatus"
 
+#: AKModel/views.py:142
+msgid "AK CSV Export"
+msgstr "AK CSV Export"
+
 #~ msgid "Notes to organizers"
 #~ msgstr "Notizen an die Organisator*innen"
diff --git a/AKModel/models.py b/AKModel/models.py
index 8e94050d3c13fe5a0d1f09ed3eac959a3dfc9f30..cec07cf3afd12bb9e7a6a243bd08f8557f831e2a 100644
--- a/AKModel/models.py
+++ b/AKModel/models.py
@@ -254,6 +254,10 @@ class AK(models.Model):
         self.interest_counter += 1
         self.save()
 
+    @property
+    def availabilities(self):
+        return "Availability".objects.filter(ak=self)
+
 
 class Room(models.Model):
     """ A room describes where an AK can be held.
diff --git a/AKModel/templates/admin/AKModel/ak_csv_export.html b/AKModel/templates/admin/AKModel/ak_csv_export.html
new file mode 100644
index 0000000000000000000000000000000000000000..d73a24f59a7e302740d1f7628f306d2ee499a02e
--- /dev/null
+++ b/AKModel/templates/admin/AKModel/ak_csv_export.html
@@ -0,0 +1,11 @@
+{% extends "admin_base.html" %}
+
+{% load tz %}
+
+{% block content %}
+<pre>
+title;duration;who;requirements;prerequisites;conflicts;availabilities;category;track;reso;notes;
+{% for slot in slots %}{{ slot.ak.short_name }};{{ slot.duration }};{{ slot.ak.owners.all|join:", " }};{{ slot.ak.requirements.all|join:", " }};{{ slot.ak.prerequisites.all|join:", " }};{{ slot.ak.conflicts.all|join:", " }};{% for a in slot.ak.availabilities.all %}{{ a.start | timezone:event.timezone | date:"l H:i"  }} - {{ a.end | timezone:event.timezone | date:"l H:i" }}, {% endfor %};{{ slot.ak.category }};{{ slot.ak.track }};{{ slot.ak.reso }};{{ slot.ak.notes }};
+{% endfor %}
+</pre>
+{% endblock %}
diff --git a/AKModel/templates/admin/AKModel/status.html b/AKModel/templates/admin/AKModel/status.html
index eb4e4a62a45d5ce94d1c2830c2a577c9f2f09862..58b0590bc842e35430bd401de61745f113df9c29 100644
--- a/AKModel/templates/admin/AKModel/status.html
+++ b/AKModel/templates/admin/AKModel/status.html
@@ -69,6 +69,8 @@
                 </tr>
             </tbody>
         </table>
+
+        <a class="btn btn-success" href="{% url 'admin:ak_csv_export' event_slug=event.slug %}">{% trans "Export AKs as CSV" %}</a>
     {% endif %}
 
     <h3 class="block-header">{% trans "Requirements" %}</h3>
diff --git a/AKModel/views.py b/AKModel/views.py
index 323954682b5111d71b0667ffd47909342cd6c821..4d79628c8b3e2c8e9e49dcb23595e266dc4dcd16 100644
--- a/AKModel/views.py
+++ b/AKModel/views.py
@@ -3,7 +3,7 @@ from django.shortcuts import get_object_or_404
 from django.urls import reverse_lazy
 from django.utils.translation import gettext_lazy as _
 
-from django.views.generic import TemplateView, DetailView
+from django.views.generic import TemplateView, DetailView, ListView
 from rest_framework import viewsets, permissions, mixins
 
 from AKModel.models import Event, AK, AKSlot, Room, AKTrack, AKCategory, AKOwner
@@ -133,3 +133,17 @@ class EventStatusView(AdminViewMixin, DetailView):
         context["unscheduled_slots_count"] = context["event"].akslot_set.filter(start=None).count
         context["site_url"] = reverse_lazy("dashboard:dashboard_event", kwargs={'slug': context["event"].slug})
         return context
+
+
+class AKCSVExportView(AdminViewMixin, FilterByEventSlugMixin, ListView):
+    template_name = "admin/AKModel/ak_csv_export.html"
+    model = AKSlot
+    context_object_name = "slots"
+    title = _("AK CSV Export")
+
+    def get_queryset(self):
+        return super().get_queryset().order_by("ak__track")
+
+    def get_context_data(self, **kwargs):
+        context = super().get_context_data(**kwargs)
+        return context