diff --git a/biscuit/apps/chronos/migrations/0001_initial.py b/biscuit/apps/chronos/migrations/0001_initial.py
index 7d912872d0f5410af0a4782c0e9cb4a3c23c128a..b49d54adcb7469ee3cb01d85d573dca5a7286f6d 100644
--- a/biscuit/apps/chronos/migrations/0001_initial.py
+++ b/biscuit/apps/chronos/migrations/0001_initial.py
@@ -10,7 +10,7 @@ class Migration(migrations.Migration):
     initial = True
 
     dependencies = [
-        ('cambro', '0001_initial'),
+        ('core', '0008_school_person_group'),
     ]
 
     operations = [
@@ -33,6 +33,14 @@ class Migration(migrations.Migration):
                 ('colour_bg', models.CharField(blank=True, max_length=7, validators=[django.core.validators.RegexValidator('#[0-9A-F]{6}')], verbose_name='Background colour in timetable')),
             ],
         ),
+        migrations.CreateModel(
+            name='Room',
+            fields=[
+                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('short_name', models.CharField(max_length=10, unique=True, verbose_name='Short name, e.g. room number')),
+                ('name', models.CharField(max_length=30, unique=True, verbose_name='Long name')),
+            ],
+        ),
         migrations.CreateModel(
             name='TimePeriod',
             fields=[
diff --git a/biscuit/apps/chronos/views.py b/biscuit/apps/chronos/views.py
index 8eaebfe4db4be55776e3ffe511ab98d92ebb8a4c..3af623e286dff3ed28978f4e54336f71e49a09d5 100644
--- a/biscuit/apps/chronos/views.py
+++ b/biscuit/apps/chronos/views.py
@@ -4,11 +4,10 @@ from django.contrib.auth.decorators import login_required
 from django.shortcuts import render
 from django.utils.translation import gettext_lazy as _
 
-from biscuit.apps.cambro.models import Room
 from biscuit.core.decorators import admin_required
 from biscuit.core.models import Group, Person
 
-from .models import LessonPeriod, TimePeriod
+from .models import LessonPeriod, TimePeriod, Room
 
 
 @login_required
diff --git a/pyproject.toml b/pyproject.toml
new file mode 100644
index 0000000000000000000000000000000000000000..e1602146289d4fa7712e4d166d7f01daf8537010
--- /dev/null
+++ b/pyproject.toml
@@ -0,0 +1,27 @@
+[tool.poetry]
+name = "BiscuIT-App-Chronos"
+version = "1.0a0.dev0"
+packages = [
+    { include = "biscuit" }
+]
+readme = "README.md"
+
+description = "BiscuIT School Information System (SIS) - App Chronos (Time tables)"
+authors = ["BiscuIT Team <biscuit-dev@lists.teckids.org>"]
+license = "MIT"
+homepage = "https://biscuit.edugit.org/"
+repository = "https://edugit.org/Teckids/BiscuIT/BiscuIT-App-Chronos"
+documentation = "https://biscuit.edugit.org/docs/html/"
+classifiers = [
+    "Environment :: Web Environment",
+    "Intended Audience :: Education",
+    "Topic :: Education"
+]
+
+[tool.poetry.dependencies]
+python = "^3.7"
+BiscuIT-ng = {version = "^1.0a0.dev0", allows-prereleases = true, path = "../../.."}
+
+[build-system]
+requires = ["poetry>=0.12"]
+build-backend = "poetry.masonry.api"
diff --git a/setup.py b/setup.py
deleted file mode 100755
index 51afb01fb09ed0044689031165aedde99fecdadc..0000000000000000000000000000000000000000
--- a/setup.py
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/usr/bin/env python3
-
-from setuptools import setup
-
-setup(
-    name='BiscuIT-App-Chronos',
-    version='1.0dev0',
-    url='https://edugit.org/Teckids/BiscuIT/BiscuIT-App-Chronos',
-    author="Teckids e.V.",
-    author_email="verein@teckids.org",
-    packages=[
-        'biscuit.apps.chronos'
-    ],
-    namespace_packages=[
-        'biscuit',
-        'biscuit.apps'
-    ],
-    include_package_data=True,
-    install_requires=[
-        'BiscuIT-ng',
-    ],
-    classifiers=[
-        "Development Status :: 3 - Alpha",
-        "Environment :: Web Environment",
-        "Intended Audience :: Education",
-        "License :: OSI Approved :: MIT License",
-        "Programming Language :: Python :: 3",
-        "Topic :: Education",
-    ],
-)