Примеры настройки
Здесь шесть готовых настроек для типичных магазинов. В каждом примере: чего хочет магазин, что именно поставить в настройках и что увидит покупатель. Цифры условные — подставьте свои. Что значит каждое поле, подробно объяснено в частях «Склады и настройки способа доставки», «Цены: таблица по расстоянию и доплата за вес» и «Доставка в городе».
Во всех примерах уже сделаны общие шаги из главной статьи: лицензия введена, ключ DaData указан.
1. Цветы или еда по своему городу: фиксированная цена до 5 км, дальше за километр #
Чего хочет магазин. Цветочный магазин в Казани возит только по Казани. До 5 км — 300 ₽. Дальше — 300 ₽ плюс 40 ₽ за каждый километр сверх пяти. Дальше 15 км не возит. Цена должна быть точной, поэтому без номера дома заказ не принимается.
Настройки.
- «Склады»: один склад — адрес магазина, выбран из подсказок с номером дома.
- «Доставка в городе»: включить «Доставка в пределах города», добавить «Россия — Казань». Включить «Скрывать поле «Населённый пункт»»: место одно, выбирать нечего.
- Зона доставки «Казань» (или «Россия»), способ «Стоимость за расстояние»:
- «Заголовок» — «Курьер по Казани»;
- «Расчёт расстояния» — «По прямой» (коэффициент дороги 1,3 на подвкладке «Сервисы») или OpenRouteService, если хотите по дорогам;
- «Показывать в названии» — «Расстояние»;
- «Расстояние для расчёта» — «Округлять до целого км вверх»;
- «Требовать точный адрес» — включено.
- «Цены по расстоянию»:
| От | До | Стоимость | + за км | Не доставлять | Пример |
|---|---|---|---|---|---|
| 0 | 5 | 300 | — | 5 км → 300,00 ₽ | |
| свыше 5 | 15 | 100 | 40 | 15 км → 700,00 ₽ |
Во второй строке «Стоимость» 100, а не 300, потому что «+ за км» умножается на всё расстояние: 100 + 40 × 8 = 420 ₽ — то же, что 300 + 40 × 3.

Что видит покупатель. Поля «Населённый пункт» и «Регион» нет — Казань подставлена сама. Покупатель вводит улицу и дом из подсказок, только в пределах Казани. Под способом — «Курьер по Казани (8 км): 420,00 ₽». Пока номер дома не указан, вместо пометки о примерной цене написано «Укажите точный адрес доставки с номером дома — от него зависит стоимость доставки.», и заказ с примерной ценой не оформится. Для адреса в 17 км от магазина способ не предлагается. На классическом оформлении, когда других способов доставки нет, вместо общего сообщения покупатель читает: «К сожалению, адрес находится за пределами зоны доставки».
2. Два склада и «Ближайший к покупателю» #
Чего хочет магазин. Магазин в Москве с двумя складами — на севере и на юге города. Заказ должен ехать с ближайшего склада, цена одна для всех: 250 ₽ плюс 20 ₽ за километр, до 25 км.
Настройки.
- «Склады»: два склада, например «Север» и «Юг», адреса из подсказок. Один из них — «Основной».
- Способ «Стоимость за расстояние» в зоне «Москва»:
- «Склад» — «Ближайший к покупателю»;
- «Расчёт расстояния» — любой, например Mapbox.
- «Цены по расстоянию»: одна строка — «От» 0, «До» 25, «Стоимость» 250, «+ за км» 20.

Как это работает. Для каждого адреса плагин сравнивает расстояния по прямой от обоих складов и берёт ближний. Маршрут через сервис карт строится только от него, поэтому запрос к сервису один, а не два.
Что видит покупатель. Цену от ближайшего склада, например «Курьер (9 км): 430,00 ₽» (250 + 20 × 9). Покупатель не знает, с какого склада поедет заказ, а вы видите это в заказе в строке «Склад».
Если цены у складов должны быть разными, сделайте два способа доставки — каждый со своим складом и своей таблицей — в разных зонах доставки.
3. Тяжёлые товары: доплата за вес и предел веса #
Чего хочет магазин. Стройматериалы. Доставка 500 ₽ плюс 25 ₽ за километр, до 40 км. Заказ до 50 кг везут без доплаты, дальше — 10 ₽ за каждый килограмм. Заказы тяжелее 1 500 кг не возят: для них нужна другая машина.
Настройки.
- В карточках товаров заполнен вес («Товары», товар, вкладка «Доставка», поле «Вес»). Для товаров без веса задан вес по умолчанию: «Woodev → Настройки», вкладка «Доставка», раздел «Вес и габариты».
- Способ «Стоимость за расстояние», «Цены по расстоянию»: одна строка — «От» 0, «До» 40, «Стоимость» 500, «+ за км» 25.
- «Доплата за вес»: «Доплата за кг» 10, «Сверх» 50, «Не доставлять тяжелее» 1500.

Расчёт. Заказ 120,4 кг на 20 км: 500 + 25 × 20 = 1 000 ₽ за расстояние. Доплата: 120,4 − 50 = 70,4 кг, округляется вверх до 71 кг, 71 × 10 = 710 ₽. Итого 1 710 ₽.
Что видит покупатель. Заказ 120,4 кг на 20 км — «Курьер (20 км): 1 710,00 ₽». Заказ 1 600 кг — способа доставки нет. На классическом оформлении, когда других способов доставки нет, вместо общего сообщения покупатель читает: «К сожалению, общий вес выбранных вами товаров превышает тот, который мы можем отправить.»
4. Расстояние по дорогам с бесплатным ключом OpenRouteService #
Чего хочет магазин. Считать по реальным дорогам, а не по прямой, и не платить за сервис карт. Показывать покупателю время в пути.
Настройки.
- Получить бесплатный ключ OpenRouteService — шаги в части «Сервисы расчёта расстояния и ключи».
- «Сервисы»: вставить ключ в строку «OpenRouteService», нажать «Проверить» — должно появиться «Подключение работает: … км», — затем «Сохранить». «Лимит в сутки» оставить 1 900.
- Способ «Стоимость за расстояние»:
- «Расчёт расстояния» — «OpenRouteService»;
- «Способ передвижения» — «На машине»;
- «Избегать» — «Ничего» или «Платные дороги»;
- «Показывать в названии» — «Расстояние» и «Время в пути».
- Таблица цен — любая, например из примера 1.
Что видит покупатель. «Курьер (12 км; 25 мин): 580,00 ₽». Расстояние по дорогам обычно больше, чем по прямой, — проверьте, что цены в таблице это учитывают.
Если лимит кончится. После 1 900 маршрутов в сутки новые запросы к сервису прекращаются до конца суток, а для адресов без сохранённого маршрута расстояние считается по прямой с коэффициентом дороги; доставка при этом остаётся, если для этого расстояния есть подходящая цена. Уже посчитанные маршруты плагин помнит до 7 дней и использует, пока не истечёт срок, поэтому повторные адреса запросов не тратят.
5. «Доставка в городе»: Москва и ближайшие города #
Чего хочет магазин. Доставка еды по Москве, Химкам, Реутову и Красногорску. В другие города не возит. Дальше 30 км от кухни не возит.
Настройки.
- «Доставка в городе»: включить «Доставка в пределах города» и добавить четыре строки: «Россия — Москва», «Россия — Химки», «Россия — Реутов», «Россия — Красногорск». «Скрывать поле «Населённый пункт»» неактивен: мест в России несколько.
- Если вы возите и в Зеленоград или посёлки Новой Москвы — добавьте их отдельными строками: при «Москва» в списке они сами не добавятся.
- Способ «Стоимость за расстояние», таблица цен — последняя строка с «До» 30: дальше 30 км доставки нет.

Что видит покупатель. В поле «Населённый пункт» — выпадающий список из четырёх мест, поля «Регион» нет. После выбора места подсказки предлагают улицы только в нём. Для адреса в Химках, но дальше 30 км от кухни способ не предлагается («адрес находится за пределами зоны доставки») — список не граница, границу задаёт таблица.

Учтите. Если у вас подключены и другие службы доставки, например СДЭК, их покупатели из России тоже смогут выбрать только эти четыре места.
6. Магазин в двух странах: Россия и Казахстан, по месту в каждой #
Чего хочет магазин. Сеть кондитерских: одна в Москве, одна в Алматы, сайт общий. Каждая возит только по своему городу.
Настройки.
- «WooCommerce → Настройки → Основные»: в «Доставке в страны» есть и Россия, и Казахстан.
- «Доставка в городе»: включить режим и добавить две строки — сначала выберите страну, потом место: «Россия — Москва» и «Казахстан — Алматы». Включить «Скрывать поле «Населённый пункт»»: в каждой стране по одному месту.
- Зона доставки «Россия», способ «Стоимость за расстояние» со складом в Москве и своей таблицей цен.
- Зона доставки «Казахстан» — свой способ доставки для Алматы.

Про пункт 4: подсказки адреса склада ищут адрес в стране магазина, указанной в «WooCommerce → Настройки → Основные». Если магазин записан на Россию, склад в Алматы добавить нельзя, и для Алматы подойдёт другой способ доставки — например, «Единая ставка» WooCommerce. Режим «Доставка в городе» всё равно работает для обеих стран: он действует на весь магазин, а не на один способ.
Что видит покупатель.
- Покупатель из России: поля «Населённый пункт» нет, подставлена Москва. Подсказки улиц — только по Москве.
- Покупатель из Казахстана: поля нет, подставлен Алматы. Подсказки улиц — только по Алматы.
- Покупатель из любой другой страны, если вы туда доставляете: обычное поле «Населённый пункт» с любым городом — режим на него не действует.
- Если покупатель переключает страну в адресе, поле «Населённый пункт» перестраивается под новую страну.
Остались вопросы? #
Напишите в поддержку — она входит в лицензию.