diff --git a/AKModel/models.py b/AKModel/models.py
index 90ca93f1bb9c554c2e614b072f8f8fb1241a2397..6936fc0de4ad9d646a1f567550bab117a869e3f9 100644
--- a/AKModel/models.py
+++ b/AKModel/models.py
@@ -21,6 +21,9 @@ class Event(models.Model):
         verbose_name_plural = _('Events')
         ordering = ['name']
 
+    def __str__(self):
+        return self.name
+
 
 class AKOwner(models.Model):
     """ An AKOwner describes the person organizing/holding an AK.
@@ -39,6 +42,11 @@ class AKOwner(models.Model):
         ordering = ['name']
         unique_together = [['name', 'institution']]
 
+    def __str__(self):
+        if self.institution != "":
+            return f"{self.name} ({self.institution})"
+        return self.name
+
 
 class AKType(models.Model):
     """ An AKType describes the characteristics of an AK, e.g. content vs. recreational.
@@ -51,6 +59,9 @@ class AKType(models.Model):
         verbose_name_plural = _('AK Types')
         ordering = ['name']
 
+    def __str__(self):
+        return self.name
+
 
 class AKTrack(models.Model):
     """ An AKTrack describes a set of semantically related AKs.
@@ -63,6 +74,9 @@ class AKTrack(models.Model):
         verbose_name_plural = _('AK Tracks')
         ordering = ['name']
 
+    def __str__(self):
+        return self.name
+
 
 class AKTag(models.Model):
     """ An AKTag is a keyword given to an AK by (one of) its owner(s).
@@ -74,6 +88,9 @@ class AKTag(models.Model):
         verbose_name_plural = _('AK Tags')
         ordering = ['name']
 
+    def __str__(self):
+        return self.name
+
 
 class AKRequirement(models.Model):
     """ An AKRequirement describes something needed to hold an AK, e.g. infrastructure.
@@ -88,6 +105,9 @@ class AKRequirement(models.Model):
         verbose_name_plural = _('AK Requirements')
         ordering = ['name']
 
+    def __str__(self):
+        return self.name
+
 
 class AK(models.Model):
     """ An AK is a slot-based activity to be scheduled during an event.
@@ -128,6 +148,11 @@ class AK(models.Model):
         verbose_name = _('AK')
         verbose_name_plural = _('AKs')
 
+    def __str__(self):
+        if self.short_name != "":
+            return self.short_name
+        return self.name
+
 
 class Room(models.Model):
     """ A room describes where an AK can be held.
@@ -148,6 +173,11 @@ class Room(models.Model):
         ordering = ['building', 'name']
         unique_together = [['name', 'building']]
 
+    def __str__(self):
+        if self.building != "":
+            return f"{self.building} {self.name}"
+        return self.name
+
 
 class AKSlot(models.Model):
     """ An AK Mapping matches an AK to a room during a certain time.
@@ -166,3 +196,15 @@ class AKSlot(models.Model):
         verbose_name = _('AK Slot')
         verbose_name_plural = _('AK Slots')
         ordering = ['start', 'room']
+
+    def __str__(self):
+        if self.room is not None:
+            return f"{self.ak} @ {self.start_simplified} in {self.room}"
+        return f"{self.ak} @ {self.start_simplified}"
+
+    @property
+    def start_simplified(self):
+        """
+        Display start time of slot in format weekday + time, e.g. "Fri 14:00"
+        """
+        return self.start.strftime('%a %H:%M')