cal.com
cal.com copied to clipboard
Incorrect calendar conflict checking when using flexible durations
Issue Summary
(I was directed by customer support to file a bug ticket here).
When using flexible duration events, calendar conflicts are not checked correctly for long durations selected by the booker.
Steps to Reproduce
My timezone and booker's timezone are UTC-10 (Pacific/Honolulu).
- Create future calendar entries in connected Google Calendar with three hour gap: 8am–10am and 1pm–4pm. For example, I have created two calendar events with a three hour gap between them on December 20th:
- Create cal.com event with a variety of flexible schedules for the booker to choose (30 mins, 60 minutes, 90 minutes, 180 minutes), with 30 minutes before and after each calendar event of mandatory buffer, and set to 15 minute intervals. (The event that I've created to replicate this issue is at https://app.cal.com/event-types/156829). See how this event is configured:
- Access booking page for this event using a different browser profile (not connected to that Google Calendar or cal.com account).
- Select the day of the calendar events (in my case, December 20th).
- Select individual durations on the page, and verify the start times available on that day for each duration. These should respect the 15 minute scheduling timelock and 30-minute buffer before and after existing calendar events. Here are the meeting start times that should appear between 7:00am and 1pm:
- 30-minute meeting: 7:00am, 10:30 am, 10:45am, 11:00am, 11:15am, 11:30am, 11:45am, 12:00pm
- 60-minute meeting: 10:30 am, 10:45am, 11:00am, 11:15am, 11:30am
- 90-minute meeting: 10:30 am, 10:45am, 11:00am
- 180-minute meeting:
Instead, the following times are shown as available in the cal.com UI:
- 30-minute meeting: 7:00am, 7:15am, 10:45am, 11:00am, 11:15am, 11:30am, 11:45am, 12:00pm, 12:15pm
- 60-minute meeting: 7:00am, 7:15am, 10:45am, 11:00am, 11:15am, 11:30am, 11:45am, 12:00pm, 12:15pm
- 90-minute meeting: 7:00am, 7:15am, 10:45am, 11:00am, 11:15am, 11:30am, 11:45am, 12:00pm, 12:15pm
- 180-minute meeting: 7:00am, 7:15am, 10:45am, 11:00am, 11:15am, 11:30am, 11:45am, 12:00pm, 12:15pm
Here are screenshots:
30-minute duration selected for Dec 20th:
60-minute duration selected for Dec 20th:
90-minute duration selected for Dec 20th:
180-minute duration selected for Dec 20th:
Technical details
- Browser: Brave, Version 1.46.144 Chromium: 108.0.5359.128 (Official Build) (64-bit)
- OS: Ubuntu Linux, 18.04.6 LTS