diff --git a/event_registration_limit/__init__.py b/event_registration_limit/__init__.py
new file mode 100644
index 00000000000..0650744f6bc
--- /dev/null
+++ b/event_registration_limit/__init__.py
@@ -0,0 +1 @@
+from . import models
diff --git a/event_registration_limit/__manifest__.py b/event_registration_limit/__manifest__.py
new file mode 100644
index 00000000000..3c77239e1be
--- /dev/null
+++ b/event_registration_limit/__manifest__.py
@@ -0,0 +1,12 @@
+{
+ 'name': "Event Registration limit",
+ 'category': "Marketing/Events",
+ 'summary': "Module to Limit the Number of Tickets Per Registration",
+ 'depends': ['event', 'website_event'],
+ 'data': [
+ 'views/event_event_views.xml',
+ 'views/event_registration_views.xml'
+ ],
+ 'installable': True,
+ 'license': "AGPL-3",
+}
diff --git a/event_registration_limit/models/__init__.py b/event_registration_limit/models/__init__.py
new file mode 100644
index 00000000000..b6bc3899716
--- /dev/null
+++ b/event_registration_limit/models/__init__.py
@@ -0,0 +1 @@
+from . import event_event
diff --git a/event_registration_limit/models/event_event.py b/event_registration_limit/models/event_event.py
new file mode 100644
index 00000000000..ba73f81e9e1
--- /dev/null
+++ b/event_registration_limit/models/event_event.py
@@ -0,0 +1,22 @@
+
+from odoo import api, fields, models
+from odoo.exceptions import ValidationError
+
+
+class Event(models.Model):
+ _inherit = "event.event"
+
+ # Event-level limit for max tickets per registration
+ default_tickets_per_registration = fields.Integer(
+ string="Default Tickets per Registration",
+ help="Maximum number of tickets that can be booked in a single registration for this event.",
+ default=9
+ )
+
+ @api.constrains("default_tickets_per_registration")
+ def _check_ticket_limit(self):
+ for event in self:
+ if event.default_tickets_per_registration < 0:
+ raise ValidationError(
+ "Default tickets per registration must be greater than 0."
+ )
diff --git a/event_registration_limit/views/event_event_views.xml b/event_registration_limit/views/event_event_views.xml
new file mode 100644
index 00000000000..9b0dd255c2b
--- /dev/null
+++ b/event_registration_limit/views/event_event_views.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ event.event.view.form.from.event.inherit
+ event.event
+
+
+
+
+
+
+
+
+
diff --git a/event_registration_limit/views/event_registration_views.xml b/event_registration_limit/views/event_registration_views.xml
new file mode 100644
index 00000000000..daeac7ff33e
--- /dev/null
+++ b/event_registration_limit/views/event_registration_views.xml
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ No Tickets Available
+
+
+
+
+
+
+
+
+
+