Estimate the scale of the system you are going to design...
Define what APIs are expected from the system...
Search service:
Only available slots will be stored there
See sequence diagram
Search service: Find the best slot
The whole system requires consistency to avoid double booking. Therefore a Mysql database (ACID) would be a good choice here. However it may not scale properly in case of high traffic. If leveraging sharding and replication (read-only replicas) is not enough, switching to a NoSQL DB may be a good choice. CassandraDB for instance has a tunable consitency option which would meet the requirements while keeping the whole system available.
What are some future improvements you would make? How would you mitigate the failure scenario(s) you described above?