Hello, I am building a scheduling app, the first pilot was a success, but I need to add a few more features to my second pilot.
It’s an app that allows students to book tutors in their areas. In the first pilot, students can choose a class category (e.g: English, Arts). The app will features a list of tutors that offer that class. It’s very similar to Adalo’s booking app example
For the second pilot, we would like to let the students to pick the timeslot, then suggest tutors that are available. This means the tutor can set up their availability.
Once the tutors and the students confirm their slot, it will be updated on the tutor’s availability
Can I achieve this with the Adalo’s Calendar component? I would appreciate if some can give me a pointer or two
That’s an interesting question which motivated me to do some experiments and research
Here are my thoughts:
most probably you will need to use the timeslots scheme: where timeslots are added explicitly by tutors/admins, and then the timeslot bookin is done by the student. This is a DB Collection, of course. The main challenge here will be related to some automation of timeslot creation, and keeping the whole timeslot DB consistent (so one tutor doesn’t have overlaid timeslots). Proper UX may help, may be something like Doodle.
another approach could be “Lessons” DB, where only the lessons are stored. But I didn’t manage to find the way how to “block” creating a lesson for the tutor, if he/she already has another lesson at the same time. It is easily programmed, but in Adalo there is no such option… so no luck here. May be this approach could work if the student just requests the lesson, and there could be some time/date negotiation and it’s ok if at the beginning there is an overlay. But this is more business-process related decision.
Of course Calendar and DateTime Picker could be used, they are pretty powerful. But there are some limitations - for example, in Agenda view in the Calendar I didn’t find an option to click on an “empty” space to create a booking.
I’ve made a small technology preview of such screens, please see it here:
Thanks @anon78309838!
I’m still wondering if it is possible to make it work without timeslots. But I didn’t find any feasible way of preventing “overlapped” bookings. All ideas that I have eventually lead to creating another calendar component…