I would like to create an appointment scheduling app, where the business admin can indicate availability and block off certain time windows. I would like to create something like the below. Is this possible using repeating groups? What’s the best way to structure the database? Would I need a line entry in the database for every possible time slot and day?
Technically, if you will have timeslots of 2-hour windows like the picture, all you need is just one data type (maybe called Job
). This data type might possibly have fields for the day, and the timeslot, and maybe a flag if scheduled or available. The rest is just displaying these in the repeating group in various ways.
I can see you will need a vertical repeating group for displaying the days as rows (the ones selected from the dropdown at the top-right), and in each row, you will have another repeating group to display the timeslots of the corresponding row’s day.
Thanks @hergin . I’m trying to figure out how to set up the database. Does something like the following make sense? Would I need every possible day/time-slot captured in the database? I’m wondering if this will hurt the performance or if there’s a more efficient way to go about this.
Availability
Company (Company)
Date (date)
Timeslot (text)
Jobs Available (number)
Jobs Scheduled (Jobs)
Jobs
Date
Time
Assigned Team
Address
etc.
I don’t think you need every possible day/time-slot in the DB just like that. You should just create timeslots when needed. And yes, it will hurt the performance if you deal with huge data, but you will also filter just 4-days in your current view and based on timeslots. So, it should be fine.
Start with some data structure, play with it, try to display it in repeating groups maybe similar to your picture. Then, you will see the limitations of your approach and fix it. That’s the way to go. With no-code, you should be able to test things out pretty quickly.
Just a few questions to ask yourself, to help think about some corner cases.
Not exhaustive.
- Will some jobs overlap between 2 days (start 11pm and end the next day) ?
- Can 2 jobs overlap at any given point ?
- Are the time slots always the same (8-10 10-12 12-14 … ) ?
- What about special days like weekends and hollidays ?
- Does this have to work only in 1 timezone ?
- Can “blocked/reserved” time periods overlap 2 time slots ?
This topic was automatically closed after 70 days. New replies are no longer allowed.