доставка
В нашем случае логика ценообразования за доставку сложная: в пределах Москвы доставка бесплатная от определенной суммы, а за МКАДом — 30 рублей за каждый километр. Для этого мы использовали полигон через API Яндекс Карт. Клиент очерчивает зону бесплатной доставки на карте, а через 5 минут уже все видно на сайте.
Стоимость за пределами зоны доставки рассчитывается от адреса до ближайшей границы зоны. При этом строится маршрут. Именно для этого нам нужны были карты — чтобы рассчитывать то расстояние, которое проедет курьер до клиента магазина. Кстати, тариф за километр владелец тоже может менять.
Дальше мы разбирались с временем доставки. Если магазин открывается завтра в 10:00, а клиент делает заказ сегодня в 21:00, он не сможет получить доставку ровно в 10. Флористам и курьерам нужно время, чтобы собрать и доставить букет. Поэтому мы добавили необходимый временной интервал. В таком случае клиент получит букет не раньше 12:00.
А еще владелец может включать или выключать ночную доставку. Если она включена — клиент видит доступные ночные интервалы.