diff --git a/AKModel/urls.py b/AKModel/urls.py
index a469c54f96e8f3cd29a2008f1deffc537050a8cc..b2cffbeae2f4e4e1d702ce0dc2333361f2ba1b98 100644
--- a/AKModel/urls.py
+++ b/AKModel/urls.py
@@ -1,3 +1,4 @@
+from django.apps import apps
 from django.urls import include, path
 from rest_framework.routers import DefaultRouter
 
@@ -11,6 +12,10 @@ api_router.register('ak', views.AKViewSet, basename='AK')
 api_router.register('room', views.RoomViewSet, basename='Room')
 api_router.register('akslot', views.AKSlotViewSet, basename='AKSlot')
 
+if apps.is_installed("AKScheduling"):
+    from AKScheduling.api import ResourcesViewSet
+    api_router.register('scheduling-resources', ResourcesViewSet, basename='scheduling-resources')
+
 app_name = 'model'
 
 urlpatterns = [
diff --git a/AKScheduling/api.py b/AKScheduling/api.py
new file mode 100644
index 0000000000000000000000000000000000000000..110b50fa250c52cffb118f8085aed74b659393d9
--- /dev/null
+++ b/AKScheduling/api.py
@@ -0,0 +1,25 @@
+from rest_framework import viewsets, permissions, mixins, serializers
+
+from AKModel.models import Room
+from AKModel.views import EventSlugMixin
+
+
+class ResourceSerializer(serializers.ModelSerializer):
+    class Meta:
+        model = Room
+        fields = ['id', 'title']
+
+    title = serializers.SerializerMethodField('transform_title')
+
+    def transform_title(self, obj):
+        if obj.capacity > 0:
+            return f"{obj.title} [{obj.capacity}]"
+        return obj.title
+
+
+class ResourcesViewSet(EventSlugMixin, mixins.RetrieveModelMixin, mixins.ListModelMixin, viewsets.GenericViewSet):
+    permission_classes = (permissions.DjangoModelPermissionsOrAnonReadOnly,)
+    serializer_class = ResourceSerializer
+
+    def get_queryset(self):
+        return Room.objects.filter(event=self.event)
diff --git a/AKScheduling/templates/admin/AKScheduling/scheduling.html b/AKScheduling/templates/admin/AKScheduling/scheduling.html
index 8c4faf98704e929c0526b49012fa35931115f03e..66da8585027cef33236deabc85834c71c37ba6e0 100644
--- a/AKScheduling/templates/admin/AKScheduling/scheduling.html
+++ b/AKScheduling/templates/admin/AKScheduling/scheduling.html
@@ -83,14 +83,7 @@
                 eventColor: '#127ba3',
                 datesAboveResources: true,
                 resourceAreaHeaderContent: '{% trans "Room" %}',
-                resources: [
-                            {% for room in rooms %}
-                                {
-                                    'id': '{{ room.title }}',
-                                    'title': '{{ room.title }}',
-                                },
-                            {% endfor %}
-                        ],
+                resources: '{% url "model:scheduling-resources-list" event_slug=event.slug %}',
                 events: [
                         {% for slot in akslots %}
                             {% if slot.start %}
diff --git a/AKScheduling/views.py b/AKScheduling/views.py
index fd30864c1782d4f2f45fb315fcd404a384f54adb..61d4e2aeb899379c29e89a1d1e0506bbe61e2bd9 100644
--- a/AKScheduling/views.py
+++ b/AKScheduling/views.py
@@ -33,8 +33,6 @@ class SchedulingAdminView(AdminViewMixin, FilterByEventSlugMixin, ListView):
         context["start"] = self.event.start
         context["end"] = self.event.end
 
-        context["rooms"] = self.event.room_set.all()
-
         context["availabilities"] = Availability.objects.filter(event=self.event, room__isnull=False)
 
         return context