diff --git a/pms/models/pms_property.py b/pms/models/pms_property.py
index 1b0c055cb..63ff0ee50 100644
--- a/pms/models/pms_property.py
+++ b/pms/models/pms_property.py
@@ -237,6 +237,11 @@ class PmsProperty(models.Model):
string="Image in checkin",
default=get_default_logo(),
)
+ block_create_past_reservations = fields.Boolean(
+ string="Block Create Past Reservations",
+ help="Block the creation of reservations in the past",
+ default=False,
+ )
@api.depends_context(
"checkin",
diff --git a/pms/models/pms_reservation_line.py b/pms/models/pms_reservation_line.py
index 56d334c06..2ef76e172 100644
--- a/pms/models/pms_reservation_line.py
+++ b/pms/models/pms_reservation_line.py
@@ -570,3 +570,10 @@ class PmsReservationLine(models.Model):
)
if duplicated:
raise ValidationError(_("Duplicated reservation line date"))
+
+ @api.constrains("date")
+ def _check_past_reservations(self):
+ for record in self:
+ if record.pms_property_id.block_create_past_reservations:
+ if record.date < fields.Date.today():
+ raise ValidationError(_("You can't create past reservations"))
diff --git a/pms/views/pms_property_views.xml b/pms/views/pms_property_views.xml
index b70761089..415f26032 100644
--- a/pms/views/pms_property_views.xml
+++ b/pms/views/pms_property_views.xml
@@ -74,6 +74,9 @@
>
+
+
+