diff --git a/django_forms_as_jsonschema/forms.py b/django_forms_as_jsonschema/forms.py
index c79cdc1a489f66d5ef50d5e55443eac83239f826..207a662457e4df490f8c9bd5a603f975abe3f331 100644
--- a/django_forms_as_jsonschema/forms.py
+++ b/django_forms_as_jsonschema/forms.py
@@ -4,8 +4,13 @@ from .jsonschema import JSONSchema
 
 
 class JSONSchemaFormMixin:
+    layout = None
+
     def as_jsonschema(self: Form) -> dict:
         schema = JSONSchema()
-        for name, field in self.fields.items():
-            schema.add_field(name, field)
+        if self.layout is None:
+            for name, field in self.fields.items():
+                schema.add_field(name, field)
+        else:
+            schema.update_properties(self.layout.build_schema(schema, self.fields)["properties"])
         return schema.schema