diff --git a/controllers/room.py b/controllers/room.py
new file mode 100644
index 0000000000000000000000000000000000000000..ab1821ec31a05afe35907e4df144f0e91230e544
--- /dev/null
+++ b/controllers/room.py
@@ -0,0 +1,21 @@
+from utils import JSON_BODY
+
+import json
+import random
+
+def create():
+    parameters = JSON_BODY(request)
+
+    if parameters == None:
+        response.status = 406
+        return(406)
+
+    if not 'player_max' in parameters:
+        response.status = 400
+        return(400)
+
+    player_max = int(parameters['player_max'])
+
+    ret = {"room_code": str(random.randint(1000,9999)), "room_uid": str(random.randint(10000,99999))}
+
+    return(response.json(ret)+"\n")
diff --git a/modules/utils.py b/modules/utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..bd522b28c46af70dbf992a1a92c98f5b762c3de8
--- /dev/null
+++ b/modules/utils.py
@@ -0,0 +1,13 @@
+from gluon import *
+
+import json
+
+def JSON_BODY(_request):
+    try:
+        ret = json.loads(_request.body.read())
+        if not ret:
+            ret = {}
+
+        return (ret)
+    except json.decoder.JSONDecodeError as error:
+        return (None)