As shown in dtb, the chain of responsibility is most applicable here with a slight change: usually the chain of responsibility finds exactly one handler , and then exits. If a large customer ordered on Saturday, you will need to execute two handlers. Please note that this is a non-trivial extension, because your object could be modified in average time, and the ordering of the handlers becomes relevant. It can be very difficult. For instance. What if there is a $ 10 discount and a 10% discount? Now the order of operations matters if both do not work at the original price. You guess, I think.
It is important to understand that design patterns are not clear, therefore, as a rule, more than one correct answer. However, I believe that this is very close to the chain of responsibility and further from the other patterns that were mentioned.
First, it is desirable for specific implementations to check whether they are really applicable to the element in question, which is typical of the Responsibility Chain.
Secondly, what you need will behave differently depending on the actual data of your facility. The strategy template simply encapsulates various algorithms that essentially achieve the same thing (i.e. you could have different strategies for calculating a 10% discount, but they should all give the same value).
A command template is a decoupling template for an actual request for an operation, for example. if you want someone else to calculate the discount, you would create a Command object for this. In fact, event (multicast) event handlers are often targets of responsibility.
Composite template created for tree structures, where you can create objects in the same way as in the real world. This is due to the problem mentioned above: if you present your Responsibility Chain as a degenerate subtree (without branches), you will have an ordered list, and you can imagine the difference between subtracting $ 10 first, then 10% or other way around. In this sense, it can be understood as a highly degenerate composite. Composite can be used to describe a specific discount scheme. However, the selection and application of the scheme will do the job of the chain of responsibility.
As I said, these are not clear terminologies, they are strongly related to each other, often found in variations (and abuse), and, most importantly, each model needs some changes for your specific problem. Nevertheless, I would prefer to stick to the terminology of the “Chain of Responsibility” with several options, because I believe that it is closest to the situation you describe.