Database schema for availability slots

Hi everyone. I am really enjoying using Knack.com, its a great tool!

I would like to build a simple booking form that shows available appointment slots.
I want to offer 1 appointment every 15min during business hours. Same member of staff for all appointments.

I check and I can only find this post without any answer

Also, I found this help page that says:
“We’ll also be continually improving the calendar with some great features coming soon:”

Any advice would be appreciated. If you have a sample app with the setup in place, that would be even better. thanks

1 Like

Welcome to the forum. Good to hear that you’re enjoying Knack. :blush:

The post by Brandon (Founder and CEO of Knack) about “continually improving the calendar…” was made 10 years ago and all these updates were added a long time ago.

The calendar is a very useful feature, however, it’s not necessarily ideal for bookings. There is no conflict management feature, so it’s possible to make multiple bookings for the same time slot.

I’m sure that with some JavaScript you could check for double bookings but this would require custom code. I’m not a coder.

The calendar does not offer you the ability to book (manage) slots, rather it simply displays records that have been added to a table. Each time a record is added it will be shown on the calendar.

If you want “slots” that a person can choose and then “book” you’ll need existing records in an object for them to choose from and allocate.

I have previously created a hot desk booking app for a client using Integromat (Make) to create booking slots for each day, on a rolling two week basis.

For your use case it would require the creation of each 15 min time slot, 32 line items for an 8 hour day. This could be easily achieved with Make creating the line items during the out of hours period.

Once the slot has been chosen by the user, it could be removed from the calendar view (filtered at the data source) leaving only the variable slots displayed. Or, it could simply change colour and we hide the link to book an allocated slot.

If the users are logged into Knack you can have a section for “my bookings” should they need to cancel a booking and release it back onto the calendar as an available slot. This couldn’t be achieved if the calendar is an open webpage with no login. You’d have to rely on a simple email confirmation and the user emailing back if they need to cancel.

Once the date has passed, I’d use another scenario to delete all unused and now non required slots. This will keep your record count down.

I appreciate this is may not be the simple or straightforward answer you were looking for.

I can offer chargeable 1-on-1 tuition to help if desired.

Getting Started with Integromat

1 Like

Thanks for this Carl, much appreciated. Infact I already came to the same conclusion and have already created the workflow you mention.

1 Like

Thanks @myweb - can you mark this as solved please :+1: