Доставка до любой точки в России

Доставка до любой точки в России

В проекте использовали

  • 1c-bitrix
  • api Яндекс.карты

Клиент пришел с проблемой

Магазин нашего клиента доставляет заказы по всей России. Модуль расчета стоимости определяет цену доставки. Но в него встроен не полный список населённых пунктов страны. Например, для Республики Башкортостан сохранен только город Уфа. Поэтому до других городов и сёл Республики рассчитать стоимость доставки невозможно, так как их нет в базе.

При этом в список встроены все области и рассчитать доставку можно было бы до них. Но в заказе возможно выбрать только город. Получается, заказы магазин доставляет по всей стране, но не все покупатели могут заказать доставку, потому что многих населенных пунктов нет в базе.

В целом, задача оказалась проще, чем мы думали вначале. Переломным моментом стала идея отказа от стандартной формы с полями адреса в пользу выбора его на карте. А дальше дело техники.

фото
Олег ЗоринTEAM LEADER

Всегда есть особенности

Очевидное решение этой проблемы — загрузить данные по населенным пунктам из ФИАС (или КЛАДР). Но дело в том, что оно притянет за собой две дополнительные проблемы. Во-первых, вопрос актуализации данных ляжет на плечи проекта. Необходимо будет постоянно обновлять местоположения и перенастраивать службы доставки.

Как мы это сделали

ХПрописали в админке стоимость доставки по областям в целом и отказались от привычных полей ввода для получения адреса клиентов: Город, Улица, Дом. Вместо этого мы предоставили клиентам возможность указать свой адрес точкой на карте. После того как на карте будет указана точка, мы получим от Яндекса данные по данному адресу (к какому городу или области он относится).

Далее мы проверим задана ли стоимость для конкретного населенного пункта. Если она не задана, то определим стоимость доставки до области или Республики в целом. Для отдела логистики почти все настройки остаются прежними. Единственное, что нужно настроить — это дополнительные службы доставки для субъектов и страны.

Для облегчения поиска нужного дома мы центрируем карту на город, который определяем по геолокации клиента. Кроме того, Яндекс.Карты позволяют определять местоположение клиента по мобильной сети и предоставляют поиск по адресу.

В результате
Теперь клиент магазина не заполняет несколько полей: Город, Улица, Дом, а просто находит нужное здание на карте. При этом доставка возможна до любого адреса.