Scheduling logic


I would like to work on a scheduling application for a volleyball arena but I am having some difficulties

The customer can set a time slot for a specific day and that time slot on that day cannot be available anymore


The customer selects a day of the month, then selects a time slot that is available and then fills in the rest of the information to be sent to the schedules sheet

  • I need to show only the available time bands for the selected day
  • The same time slot cannot be scheduled on the same day
  • Some days of the week cannot be selected, such as sundays
  • Some times cannot be selected, such as in the evening

Can someone help me? Or have something to sell?

Hey Rafa,
We just built an app like this for a client. I’ll send your a video tomorrow morning.
In this case, each hairdresser has their own working hours, and users can’t book on conflicting time slots or off hours.

1 Like

I think @Mishta_P recently did something similar to this.

Hi Rafael,

I think this thread will help you, it covers how I, and other Gliders, have approached this use case.

1 Like

Interesting. I just finished building a hotel reservation app. Learned a few things like how to perform an “and/or” action on an inline list with an list and how to manage booking conflict. Imagine a scenario where 5 ppl are trying to grab the same room all the same time. I would recommend @Jeff_Hager dynamic calendar template for this sort of thing.

Are the time slots all the same length? If so, then it isn’t too bad. If they vary it can get a little messy.

I wanted a version that used the calendar view, because it looks more familiar. And I also wanted one which showed what was available/unavailable before you clicked on it.

The settings allow you to select which days it is open, what hours within those days. You can either have morning/afternoon/evening sessions, or multi room/courts per day. I think I set it up for 3 seasons per day, but there is no reason why it couldn’t do more.

If the time slot length does vary quite a lot I think the logic breaks down. I have a feeling it was when the max time slot length was over 3 or 4 times the minimum length.

I’m afraid my main job took over again, so I haven’t developed this any further. I think I made it copyable.

Hey Rafa,
Here’s the video I promised:


This is cool