The application provides a seamless user experience, enabling users to register and log in. Upon successful registration, users are initially designated as clients. Clients can browse a list of shops created by other users, who are designated as shop owners, and book appointments at these shops.
Clients also have the option to submit a shop owner request. Upon approval, they will be elevated to shop owner status, allowing them to create their own shop where other users can book appointments. Each user is permitted to create only one shop, while clients can book a single appointment per shop at a time, but are able to make appointments with multiple shops concurrently.
Shop owners can manage their shop settings, including defining the work days during which appointments can be scheduled. These work days must fall within a range set by the shop owner, and clients will be able to book appointments based on the availability of these defined periods.