I believe that your plugin leaves some room for client abuse.
I noticed that if I apply for an appointment, that time slot is immediately filled out.
This may leave room for abuse for businesses that do not require payment for appointments.
I could have one client trying to book the entire day, and that would generate frustration amongst the other clients who are unable to find a time slot since that one client took out the entire day (that is until confirmed/rejected by the provider, which can be 24 hours).
How do I keep the status of a particular time-slot unchanged, until the appointment for that time-slot has been approved by the provider?