diff --git a/program/views.py b/program/views.py
index 520e003b921424011f1876654a7eb65be44883d4..639589af5933a8c3de29732d874563c30acb432c 100644
--- a/program/views.py
+++ b/program/views.py
@@ -522,17 +522,20 @@ class APITimeSlotViewSet(viewsets.ModelViewSet):
     def get_queryset(self):
         show_pk = int_or_none('show_pk', self.kwargs)
         schedule_pk = int_or_none('schedule_pk', self.kwargs)
-
         # Filters
 
         # Return next 60 days by default
         start = datetime.combine(date.today(), time(0, 0))
         end = start + timedelta(days=60)
 
+
         if ('start' in self.request.query_params) and ('end' in self.request.query_params):
             start = datetime.combine(datetime.strptime(self.request.query_params.get('start'), '%Y-%m-%d').date(), time(0, 0))
             end = datetime.combine(datetime.strptime(self.request.query_params.get('end'), '%Y-%m-%d').date(), time(23, 59))
 
+        # Is this safe?
+        order = self.request.query_params.get('order', '-start')
+
         # Endpoints
 
         #
@@ -541,7 +544,7 @@ class APITimeSlotViewSet(viewsets.ModelViewSet):
         #     Returns timeslots of the given show and schedule
         #
         if show_pk and schedule_pk:
-            return TimeSlot.objects.filter(show=show_pk, schedule=schedule_pk, start__gte=start, end__lte=end).order_by('start')
+            return TimeSlot.objects.filter(show=show_pk, schedule=schedule_pk, start__gte=start, end__lte=end).order_by(order)
 
         #
         #     /shows/1/timeslots/
@@ -549,7 +552,7 @@ class APITimeSlotViewSet(viewsets.ModelViewSet):
         #     Returns timeslots of the show
         #
         elif show_pk and schedule_pk is None:
-            return TimeSlot.objects.filter(show=show_pk, start__gte=start, end__lte=end).order_by('start')
+            return TimeSlot.objects.filter(show=show_pk, start__gte=start, end__lte=end).order_by(order)
 
         #
         #     /timeslots/
@@ -557,7 +560,7 @@ class APITimeSlotViewSet(viewsets.ModelViewSet):
         #     Returns all timeslots
         #
         else:
-            return TimeSlot.objects.filter(start__gte=start, end__lte=end).order_by('start')
+            return TimeSlot.objects.filter(start__gte=start, end__lte=end).order_by(order)
 
     def retrieve(self, request, *args, **kwargs):
         pk = int_or_none('pk', self.kwargs)