setting up a appointment plugin to work with directory

I'm trying to build a barber directory. Where customers would be able to search and find their local barbers. After locating their local barbers, being able to set up an appointment for haircuts.

Now I would like the barbers to have the ability to setup and edit their profile page to receive bookings from their clients.

Is this possible?
If so, can I have some help on how to begin this process. And which plugins would be best to use?

Thank you