Booking systems are very common nowadays. We usually find them on touristic websites where customers might book a car for several days, a flight from one city to another, a hotel room for a couple of nights, or any other tourism-related service.
In this type of mechanism, you can have the final payment divided into two parts: a deposit paid on the website and the remaining payment paid after customers obtain the requested service. In a booking system, you may need to check whether a given product is available from a specific date range or you may need to check whether it is available at all. ...