This website flips the concept of scheduling time. In my admin panel I set up the times I want to make Available and customer go directly to my page on the site and select the time slots that are available. Customers select their own reminder methods and times for SMS and email. They select them the site builds their invoice and they can process payment online. Then they can check out. Later when they need to change times - they log in and see what is available and reschedule it themselves.