По договоренности
1) Пользователь может при оформлении заказа выбрать дату и интервал времени из предложенных.
2) Администратор может задать:
2.1) Количество курьеров (сколько раз можно выбрать одно и то же время пользователям).
2.2) Количество доступных для заказа дней (пользователю будет предложено для выбора только N ближайших дней, чтобы он не мог заказать доставку через месяц, например)
2.3) Доступное время для заказа с по (например, с 10-00 до 20-00).
2.4) Время одной доставки (например 60 минут). Чтобы у пользователя выводилось с 10 до 11, с 11 до 12, с 12 до 13.... с 19 до 20
2.5) Время увеличения доставки с часов. По умолчанию, 15-00. Ближайший доступный для заказа день в этом случае завтра. После этого времени послезавтра.
2.6) График работы по будням и выходным. Желательно с возможностью выбирать даты, когда магазин закрыт. (Можно вывести весь календарь, например, и при клике на конкретный день выводить окошко Закрыть этот день?)
3) В админ панеле в карточке заказа Администратор может:
3.1) менять интервал доставки у Заказа. (перенести с 11 до 12 на с 14 до 15).
3.2) При переносе времени для пользователей освобождается время с 11 до 12 и занимаемся время с 14 до 15
3.2) администратор может выбрать Вообще любое время (хоть на ночь назначить, хоть 10 доставок назначить на время с 14 до 15)