Пропустить контент
Купить

Зоны доставки

Зоны доставки определяют, куда и за сколько доставляет ресторан. Woo2iiko рассчитывает зону по адресу клиента и фильтрует доступные методы доставки.

Как определяется зона

При вводе адреса на checkout:

  1. Адрес геокодируется в координаты (lat, lon).
  2. Выполняется проверка point-in-polygon — попадает ли точка в одну из зон.
  3. Определяется доступная зона, её стоимость и минимальная сумма.
  4. Методы доставки фильтруются по зоне.

Источник зон

НастройкаИсточникКогда использовать
manual_delivery_zones = noЗоны из iiko API (get_delivery_restrictions)По умолчанию.
manual_delivery_zones = yesРучные зоны (полигоны)Если нужна своя геометрия, не из iiko.

Ручные зоны (KML)

Ручные зоны можно импортировать из Google My Maps в формате KML:

  1. В WooCommerce → iiko → Delivery Zones включите manual_delivery_zones.
  2. Нажмите Импорт KML и загрузите файл.
  3. Полигоны сохранятся в manual_zones (ключ, имя, координаты).

Создание KML в Google My Maps

  1. Откройте Google My Maps.
  2. Нарисуйте полигоны зон.
  3. Экспортируйте слой как KML.
  4. Загрузите в плагин.

Шлюз iiko_shipping

Плагин регистрирует метод доставки iiko_shipping в WooCommerce (настройки WooCommerce → Настройки → Доставка). Поля:

ПолеНазначение
iiko_idUUID зоны iiko.
costСтоимость доставки.
min_amountМинимальная сумма заказа.
max_amountМаксимальная сумма.
zoneЗона.
fee_costДополнительная комиссия.
ignore_discountsИгнорировать скидки.

Минимальная сумма заказа

Для каждой зоны можно задать min_amount:

  • Если сумма корзины меньше минимума — показывается нотис «Минимальная сумма заказа для вашего адреса: X».
  • Доставка блокируется до достижения минимума.

Самовывоз

При выборе самовывоза (billing_delivery_type = pickup/1):

  • Доступны только методы local_pickup.
  • Адресные поля скрываются.
  • Проверка зоны не выполняется.

Ограничения доставки

Дополнительные ограничения через iiko:

НастройкаНазначение
enable_restrictionsВключить внутренние ограничения (iiko_internal_restriction_request).
enable_external_restrictionsВключить внешние ограничения.
order_creation_front_timeoutТаймаут API при создании заказа (по умолчанию 60).

Настройки зон

НастройкаНазначениеПо умолчанию
zone_by_coordinatesРасчёт зоны по координатам на фронтеno
woo_custom_delivery_methodРегистрация IikoShippingMethodno
use_woo_deliveryЛогика доступности доставкиyes
manual_delivery_zonesИсточник зон: ручные / из iikono
manual_zonesПолигоны ручных зон[]

Виджет проверки зоны (ZoneChecker)

Для предзаказной проверки зоны используйте шорткод:

text
[iiko_zone_checker mode="both" show_map="yes" height="400"]

Гость вводит адрес или координаты — виджет показывает, попадает ли точка в зону, на карте Yandex.

Виджет ZoneChecker

Кеш зон

Список зон кешируется (trs_cache, ключ woo_shipping_delivery_zone_options_v2, TTL 1 час). После изменения зон в iiko или ручных зон очистите кеш.

WP-CLI

bash
wp woo2iiko cache_clear

См. также

WOO2IIKO © 2019 - 2026 Алексей Тихомиров.