I'm developing for a client a feature that gives a group discount. The Idea is that my client (the store owner) defines a date, for example, 8/17 8:00 PM, and every customer that will purchase between 8/17 8:00 PM to 8/17 9:00 PM will receive a discount.
The catch is that the discount increases the more the customers buy. So if for example, 3 customers buy, everyone receives a 10% discount. But if 5 customers will buy (in the 1-hour time frame of course) the discount will be 15%.
So the discount is dynamic and determined only at 9:00 PM.
The store owner wants that the customers to fill in their credit card numbers when they are ready, meaning not to delay a customer that is ready to checkout. So as far as I understand, this means that I should keep the customer information, and process the checkout only at 9:00 PM, when I know how much to charge.
Will happy to receive any advice on how to implement this feature.