diff --git a/schemas/solver-input.json b/schemas/solver-input.json
index f3b063738630a9e3704d0465b4a80139bd1691a4..a55057dba34c514435a46e991b3671eb2f289d5e 100644
--- a/schemas/solver-input.json
+++ b/schemas/solver-input.json
@@ -3,9 +3,9 @@
   "$id": "/schema/solver-input.schema.json",
   "type": "object",
   "properties": {
-      "aks": {"type": "array", "items": {"$ref": "/schema/ak.schema.json"}},
-      "rooms": {"type": "array", "items": {"$ref": "/schema/room.schema.json"}},
-      "participants": {"type": "array", "items": {"$ref": "/schema/participant.schema.json"}},
+      "aks": {"type": "array", "items": {"$ref": "/schema/ak.schema.json"}, "uniqueItems": true},
+      "rooms": {"type": "array", "items": {"$ref": "/schema/room.schema.json"}, "uniqueItems": true},
+      "participants": {"type": "array", "items": {"$ref": "/schema/participant.schema.json"}, "uniqueItems": true},
       "timeslots": {"$ref": "/schema/timeslot.schema.json"},
       "info": {
         "type": "object",
@@ -14,7 +14,10 @@
           "slug": {"type": "string"},
           "place": {"type": "string"},
           "contact_email": {"type": "string"}
-        }
+        },
+        "additionalProperties": false
       }
-  }
+  },
+  "required": ["aks", "rooms", "participants", "timeslots", "info"],
+  "additionalProperties": false
 }
diff --git a/schemas/solver-output.json b/schemas/solver-output.json
index 15ee65389046f6d5599df5a99d21977a5b6fd487..2a15247f85c1b13a8b08a48e4fe5cb59ea30bfc9 100644
--- a/schemas/solver-output.json
+++ b/schemas/solver-output.json
@@ -2,6 +2,8 @@
   "$schema": "https://json-schema.org/draft/2020-12/schema",
   "$id": "/schema/solver-output.schema.json",
   "type": "object",
+  "additionalProperties": false,
+  "required": ["input", "scheduled_aks"],
   "properties": {
     "input": {"$ref": "/schema/solver-input.schema.json"},
     "scheduled_aks": {