data structure for a booking system with time slots

Job ID: 37153033

Budget: $10 – $30 USD

Data Structure for Appointment Booking System with Time Slots

I'm developing a car washing services app using Flutter and Firebase, the app has service providers(the ones requested for services) and users.
Every provider can have multiple services (car wash, oil change, etc.), can work on different days and timeslots, and can work in different areas.
Every service has a different duration(car wash = 1 hour, oil change = 30 minutes) and can be changed by admin at any time.
Ex:
Provider 1 (Car wash / Sun - Wed / 9:00 am - 3:00 pm)
Provider 2 (Car wash, Oil change / Fri - Sat / 12:00 pm - 5:00 pm)

So the user will only choose a service, the location on a map, and a date/time.

Of course, these timeslots can't clash with each other meaning I can't have two bookings for the same provider at the same time or a booking for a provider out of his working times.

Skills and Experience Needed:

- Proficiency in data structures and algorithms
- Experience in developing booking systems, preferably in the appointment booking domain
- Knowledge of integrating systems with existing software
- Strong problem-solving skills to handle the complexities of managing time slots and appointments efficiently
- Familiarity with database management systems to store and retrieve booking information accurately
- Attention to detail to ensure reliable and error-free booking operations