...
Для В наличии добавляем условия смещения срока после 13:00 на один день в Пн-Чт и условия смещения на 1 и 2 дня в Сб и Вс. В пятнице же смещение будет на 3 дня, так как отгрузить после 13:00 поставщик сможет только в Понедельник.
...
Алгоритм установки срока доставки
1. рассчитывается первый рабочий день, когда можно сделать заказ с учетом календарей выходных своих и поставщика
2. рассчитывается смещение даты заказа по календарю корректировки
3. скорректированная дата смещается на первый рабочий день, с учетом календарей выходных своих и поставщика, если после корректировки она сдвинулась с первого рабочего дня, полученного в п.1 - эта дата является датой, когда мы можем сделать заказ поставщику
4. от даты заказа поставщику считается дата, когда мы можем забрать товар у поставщика, для этого к полученной дате в п.3 или прибавляется количество дней доставки, либо устанавливается дата доставки, загруженная из прайса поставщика, если она позже, чем срок, полученный в п.3.
...
5. к полученному сроку в п.4 прибавляется срок доставки от поставщика до клиента, установленный в настройке прайса, с учетом дней отгрузки поставщика.
...
6. полученный в п.5 срок смещается на первый свой рабочий день для региона, если он попал на выходной день свой из календаря выходных магазина.
Полученный в п.6 срок является конечным минимальным сроком доставки (Доставка ОТ) для выбранного региона.
7. Рассчитываются максимальные сроки доставки (Доставка ДО) в зависимости от выбранного прайса поставщика, типа наличия и выходных поставщика и своего магазина.
8. рассчитываются зависимые сроки доставки, с учетом дней доставки в регионы и своих выходных (календарей выходных магазина)