Free time slots...

Hello Again!

This year is the year i want my Scheudler to go live :slight_smile:
I am using it for managing the dates of patients in my medical clinic…
For raise the support level, clients should be able to get their dates on their own.

I think this is a common use-case for many many more Scheduler Users.
I will provide my Solution after finishing it for the whole COmmunity…

But until this day, i need the help of this incredible support :slight_smile:
I need help in getting the right way to create such an system…
AT THE MOMENT i think i need a whole different system, without any appearing of DHTMLx Scheduler. I mean, that user go to my website and get the free dates from a list, for example dropdown or anything like this and than they can fill in their further informations via form-fields.

In background this details would be filled into the database of Scheduler and after next reloading of datas it appears…

My question is, if i should evaluate the dates from scheduler via a incoming JSON file, or directly out of the databse and create in any (still unknown) way reconstruct, which time-slots are empty (and can appear in dropdown…)…

Perhaps you gurls and guys have any better or fiferent beginning for me?
Any meaning, how you should solve this task?

Best wishes from Germany,
BennY

are you using recurring events in the scheduler?

if not the task is quite trivial
You need to set a separate php script which will fetch the dates of existing events directly from DB and build the list of free slots ( build list of all slots, and for each event from db, remove slot which is occupied )

In case of recurring events situation is a bit more complex, you will need to use helper class ( can be taken from scheduler-for-wordpress package for example ) which can process recurring events and can provide a full list of event occurences for specified date range.

i think i need a whole different system, without any appearing of DHTMLx Scheduler. I mean, that user go to my website and get the free dates from a list

This is a good approach.
While scheduler also can be used for date selection, it is a more complex UI, and probably requires some time to be comfortable with.

it absolutly right.

My patients are more or less th eolder generation, above 50 or more, so i think it would be to hard for them to get the functionallity of the beautiful scheduler :slight_smile:

So i am not using recurring events or events over more days.

You got any hint for me, to not overwrite a time slot with a event (in scheduler), while another user on the website gets accectly this event a few seconds before?

I thought, i allways reload the events of scheduler by changing day or week or month, or adding a new one, changing an existing one, deleting one … But perhaps this is not enough? Is it possible to check while running on creating a new one, with a direct database call if there is another one (from user “website” of course, because normally there can be more than one event at ones :slight_smile: )…

Sounds trivial what you say. Perhaps i will need the datepicer to easily choose a date and via ajay the “list” of free slots will be updated…
Hopefully i can code it with my basic knowledges, because at this moment i see the main problem in comparing all slots with free slots :slight_smile:

Thanks in Advance,
BennY

Because your page may be accessed by multiple users in the same time, it possible that two of them will select the same time slot in the same time. There is no way to prevent that ( or at lease they are requires complex software solutions )
The best what can be done - doublecheck is the timeslot still available , second time, on server side, before inserting data in DB. If it is already occupied - return error message to user.

Okay, i got what you mean.
This double check is required from website…

But i see the main danger, that when someone adds one date from website, the schdulker not recognices it, without reloading the event datas, right?

Yes, scheduler has not constant db connection, so it can’t detect changes in DB on its own.
You can load command each N seconds
To minify amount of data loading, it can be used with custom data url, which will fetch not all data from DB, but only records for last N seconds ( tracking a record adding time, can be added by adding timestamp type field to the “events” table )