calcom / cal.com

Scheduling infrastructure for absolutely everyone.
https://cal.com
Other
32.56k stars 8.06k forks source link

Allow wave scheduling #17354

Open suyashkumar2409 opened 4 weeks ago

suyashkumar2409 commented 4 weeks ago

Is your proposal related to a problem?

For appointment bookings, wave scheduling is an algorithm which minimizes no-shows. The most basic implementation involves allowing people to book appointments ahead of time, but also provide a secondary option for walk-ins. Walk-ins would have to wait, and may not even get a slot, but in case of a no-show, a walk-in gets the slot instead. This is commonly used in doctor appointments, typically in person.

Describe the solution you'd like

Let's say I set that I am available today from 12pm - 5 pm for appointments, and my limit is 2 slots. 2 people have already booked so my slots for the day are full. A "wave scheduling" page would automatically be created if the scheduler chooses this option, and this allows people to sign up for an ad-hoc slot between the range of 12pm - 5pm with the understanding that this booking is not guaranteed, but offers them a slot in case one of the other 2 appointments don't end up happening.

Describe alternatives you've considered

Wave scheduling can be simulated by creating two separate kinds of events where one is the primary, guaranteed appointment and the other is the larger range, volatile, not-guaranteed appointment, and then the scheduler will have to coordinate on his own on how to upgrade the secondary appointment to a primary appointment when the primary appointment gets cancelled. Obviously this is loss of productivity, and cal.com can provide this feature directly.

Additional context

I am seeking team-mates to work on this in parallel to approval of this feature request. I am open to pursuing it alone in case more people aren't interested in developing this but the community needs this feature.

Requirement/Document

I will write the design doc once this feature gets approval from the moderators. I am open to driving this feature end to end.


House rules
mukiralad commented 4 weeks ago

Hello, I'm really excited about the potential of this wave scheduling feature to optimize booking flows and reduce no-shows. I believe we can implement this by dynamically managing appointment slots and creating a secondary 'waitlist' mechanism that triggers on cancellation events. I’m eager to collaborate on designing this feature, leveraging real-time event handling (webhooks/queues) to ensure seamless upgrades of waitlist slots when a primary appointment is canceled.

Looking forward to contributing to the technical implementation once this FR gets approval!

bharatr21 commented 4 weeks ago

Hello, I'm eager to work on this feature as well! I have prior experience working on Appointment Booking and having "soft bookings" like these particularly help during lean periods of demand. I believe the order of priority could be primary appointments, then those with range bookings, then walk-ins if they happen to occur at the same time. Eager to contribute once this FR is approved!

shammirbaig commented 3 weeks ago

Good feature!

suyashkumar2409 commented 3 weeks ago

@mfranzke Seems like there is a lot of interest in using and developing this feature. Can you help me reach the right people who can make a final call on whether this feature should be made?

mfranzke commented 3 weeks ago

@mfranzke Seems like there is a lot of interest in using and developing this feature. Can you help me reach the right people who can make a final call on whether this feature should be made?

Hi @suyashkumar2409,

thanks a lot for asking. But unfortunately I'm just a simple contributor and can't help you with any contacts, as I don't have any of those myself.

suyashkumar2409 commented 3 weeks ago

@hariombalhara can you please help me with this, or connect me with one of the core contributors? I need this in my work.