# Requirement change

People want to order their dinner in the morning. We are adding scheduled orders.

A request can now say **the earliest time the food may start being cooked**. Everything up to that
point works as it does today — the order is placed, the restaurant accepts it, the customer can
watch it sitting there — but **the order must not start preparing before the time it was booked
for**. If someone tries, refuse it the same way you refuse anything else that is not allowed yet,
and leave the order exactly where it was.

The details, because these are the ones that catch people out:

- **At the scheduled instant it may start.** Not a second before; the scheduled second itself is
  fine. It is "not before", not "after".
- **An order with no schedule behaves exactly as it does today.** Most orders are for right now
  and none of them should notice this change. The three-argument request is still the way you say
  "as soon as you can".
- **Only preparing is held back.** Accepting a scheduled order is fine and should happen straight
  away — the restaurant needs to know it is coming. Once it has started cooking, everything after
  that is unaffected.
- **A scheduled order can still be cancelled while it waits.** That is the whole point of booking
  ahead: the customer changes their mind at lunchtime and nothing has been cooked. The rule about
  when cancellation closes has not changed — it closes when preparing starts, which is now later.
- **Nothing about money changes.** Same food prices, same delivery fee, same forty-five minute
  promise measured from when the order was placed.
- **A refusal is not a stage.** Nobody is notified, nothing is timestamped, and the history does
  not gain an entry, exactly as before.
