diff --git a/erpnext/venue/doctype/item_booking/item_booking.py b/erpnext/venue/doctype/item_booking/item_booking.py index 58c209f187edab2ab59d1aa23318558017e592da..eb0f5519416e14f059f70c3818ec25af392ab243 100644 --- a/erpnext/venue/doctype/item_booking/item_booking.py +++ b/erpnext/venue/doctype/item_booking/item_booking.py @@ -2038,6 +2038,7 @@ def get_booking_count(item=None, starts_on=None, ends_on=None): ends_on = starts_on starts_on, ends_on = get_datetime(starts_on), get_datetime(ends_on) + assert starts_on and ends_on simultaneous_bookings_enabled = frappe.db.get_single_value( "Venue Settings", "enable_simultaneous_booking" @@ -2049,7 +2050,11 @@ def get_booking_count(item=None, starts_on=None, ends_on=None): else: capacity = 1 - events = _get_events(starts_on, ends_on, item=item_doc) + # Because the query is datetime-inclusive, exclude every result that: + # - ends on the start of the range + # - starts on the end of the range + one_sec = timedelta(seconds=1) + events = _get_events(starts_on + one_sec, ends_on - one_sec, item=item_doc) current = len(events) return {"capacity": capacity, "current": current, "remaining": capacity - current}