@thelus
You can do this with a linked record field.
You would create ANOTHER TABLE that lists all your timeslots. So you would pre-populate that table with all the timeslots, whether they are available or not. Each record would represent a different time slot.
For each timeslot, you can add a single-select field where you can choose "Available" or "Unavailable" next to each timeslot.
Then, back in your main table, you would create a linked record field that links to that timeslot table, but you would use the conditional filtering option on the linked record field to only show "available" time slots.
I give a very similar example of how you can do this in this Airtable podcast episode, but note that my Airtable podcast episode was created way before Airtable offered the conditional filtering option, so your solution would be even easier to setup than my solution.
p.s. This can also be done with Fillout's advanced forms for Airtable. They were actually the first ones to offer this feature, before Airtable offered this feature. They also offer hundreds of additional form features that Airtable doesn't offer, such as the ability to update Airtable records from a form.
Hope this helps! If you’d like to hire the best Airtable consultant to help you with anything Airtable-related, please feel free to contact me through my website: Airtable consultant — ScottWorld
Just to add on to Scott's answer, another option I've used in the past is creating a filtered view on the date schedule, and make that view the only selectable ones in the form. So for your July-Dec issue, you could set up a view in the table where you list all available times, filtering either the exact dates or only show dates +150 days from now, and then only those would be selectable in the linked record picker.
This was an old workaround, and might not be needed anymore as they added more options to control record linking, but just something that worked in the past for me
♂
So both of these make perfect sense, but unfortunately they solve the wrong problem. I shouldn't have said "slots," because the actual purpose of this form is requesting time off - which could be any number of hours or days within that six-month time frame. I wouldn't really be able to create a separate table of slots.
I do have a separate table that has one record for the start and end of each six month window, but as far as I'm aware, I can't configure a form (including its range limits) based on records from another table. Even if they'd automatically link once the record was created, that request record hasn't been created yet.
Just to add on to Scott's answer, another option I've used in the past is creating a filtered view on the date schedule, and make that view the only selectable ones in the form. So for your July-Dec issue, you could set up a view in the table where you list all available times, filtering either the exact dates or only show dates +150 days from now, and then only those would be selectable in the linked record picker.
This was an old workaround, and might not be needed anymore as they added more options to control record linking, but just something that worked in the past for me
♂
@DisraeliGears01
Ha, yes! That is the older-style solution that I talk about in my Airtable podcast episode above! 🙂 But both methods work great!
So both of these make perfect sense, but unfortunately they solve the wrong problem. I shouldn't have said "slots," because the actual purpose of this form is requesting time off - which could be any number of hours or days within that six-month time frame. I wouldn't really be able to create a separate table of slots.
I do have a separate table that has one record for the start and end of each six month window, but as far as I'm aware, I can't configure a form (including its range limits) based on records from another table. Even if they'd automatically link once the record was created, that request record hasn't been created yet.
@thelus
Hmm... that would not be possible with Airtable's forms, but you might be able to accomplish that with Fillout's advanced forms for Airtable. Fllout allows you to set date range restrictions on forms based on dynamic date variables, and they allow you to create dynamic date formulas (as opposed to static dates). I'm not 100% sure how to guide you on setting that up in Fillout, so you may want to ask their support team about that.
- ScottWorld, Expert Airtable Consultant