Today I got the reminder of the wonders of automation. About 2 years ago I rolled out a very powerful system that lets our customers book their appointments online. The website makes it look a lot easier than it took to make it work reliably.
First off, our scheduling system is written using a very old database method (MDB) and it is garbage and will always be garbage. To limit the amount of times we have to talk to it, I built out a caching system that does quick checks every minute and full syncs every 5 minutes. Now we have a copy of the database stored in a much easier to work with format.
Secondly, I had to build an extremely complicated and crazy CPU intensive system that looks at ALL appointments in our system and starts generating all possible open times that we can schedule appointments as well as locations and how much open time each spot would have. I made several code improvements and still it takes about 65 seconds to operate on one a compute node (8 core)
Third, we have latitude and longitude stored in caching tables with the open time cache data so we can triangulate the most efficient times to schedule the appointment. Upon a customer entering their address into the system it will take that information and determine the best results and return a score.
It is hard to top the feeling that you essentially built an employee that is there for your customers 24/7, doing your job and other’s jobs. I feel really euphoric thinking about it, and how quite a few people just today utilized the system.
Self-Service is something I believe should be an option in nearly everything. Customers (no matter the industry) wants the option to do it themselves. Never get rid of customer service options like phone support, however, if you do it right customers will start to utilize the self-service and open up time for your employees to get other work done.