Когда бизнес связан с доставкой скоропортящихся продуктов, каждая минута на счету. Мы помогли интернет-магазину «Мой Мясной» улучшить процесс оформления заказов. Теперь клиенты сами выбирают удобное и актуальное время доставки, а менеджеры больше не тратят время на уточнения и поиск оптимального склада под каждую доставку.
Компания «Мой Мясной» — поставщик свежего охлажденного мяса, птицы и натуральных мясных изделий от российских производителей. Бренд развивает розничные и оптовые продажи, а также выпускает собственные полуфабрикаты. Основной канал онлайн-продаж — интернет-магазин с доставкой на дом по Ярославской области.
Bitrix
К моменту обращения у клиента уже функционировал интернет-магазин на «Битрикс» с интегрированной CRM-системой «Битрикс24».
Процесс оформления заказа на сайте магазина и последующей его обработки создавал неудобства для покупателей и сотрудников компании:
Клиент обратился к нам с двумя ключевыми задачами:
Мы реализовали два независимых, но взаимодополняющих модуля: для автоматического подбора склада, и для гибкого управления интервалами доставки.
Первый модуль — определение ближайшего склада — позволил убрать ручной поиск из операционного процесса и минимизировать ошибки при планировании маршрутов.1. Определили ближайший склад по координатам
Для автоматического подбора склада разработали специальный класс, который сравнивает географические координаты (широту и долготу) адреса доставки и всех складов компании. Сначала рассчитывали расстояние по формуле гаверсинуса. Это стандартный способ вычисления кратчайшего пути между двумя точками на поверхности Земли. Это минимизировало зависимость от внешних сервисов, как и просил клиент.2. Уточнили ближайший склад с учетом реальной логистики
Тестирование функционала показало: кратчайшее расстояние по карте не всегда дает самый быстрый маршрут на деле. Например, склад мог находиться на другом берегу реки, и фактический путь с объездом оказывался длиннее, чем до более удаленного по координатам склада на этом берегу.
Чтобы учесть дорожную инфраструктуру, доработали логику: сначала система отбирает 4 самых близких склада по координатам, а затем для каждой из этих точек делает запрос к API Яндекс.Карт на получение реального маршрута и времени в пути.
Теперь финальный выбор склада происходит на основе фактической логистики, а не геометрического расстояния. В итоге мы задействовали два внешних сервиса — для выбора ближайших складов и для проверки реального маршрута — но максимально точно решили бизнес-задачу клиента.3. Научили систему корректно распознавать адреса в Ярославле
На сайте «Моего мясного» пользователи из Ярославля (основной город присутствия компании) могли вводить адрес без указания названия города: только улицу и дом. Однако Яндекс.Карты в таких случаях часто подставляли одноименные улицы из других регионов.
Чтобы избежать таких ошибок, добавили логику: если в строке адреса отсутствует название города, система автоматически дописывает «г. Ярославль» перед отправкой запроса в сервис определения ближайшего склада и в карточку адреса. Если город уже указан, дополнительных действий не требуется.
4. Настроили повтор запроса при ошибке связи с сервисом
Если внешний сервис не отвечал при первой попытке (например, из-за кратковременного сбоя), система автоматически отправляет еще один запрос. Только если оба завершались неудачей, поле «ближайший склад» остается пустым. Менеджер видит это и вручную выбирает склад, но заказ при этом не зависает и не теряется.
Помимо автоматизации подбора склада, мы доработали процесс оформления заказа: внедрили гибкий и управляемый механизм выбора интервала доставки, который учитывает и удобство клиента, и операционные ограничения бизнеса.5. Сравнили два интерфейса выбора даты доставки и остановились на кнопках
Изначально интервал доставки реализовали через календарь, но в ходе тестирования выяснили, что покупателям проще ориентироваться в наборе кнопок с готовыми датами. Также ограничили выбор даты: клиент может забронировать доставку не более чем на 5 дней вперед. Это соответствует операционным возможностям склада и курьерской службы.6. Внедрили двухшаговую форму с обязательным выбором времени
Чтобы исключить ситуации, когда клиент указывает дату, но забывает выбрать время, сделали обязательный двухэтапный выбор: сначала — дата, затем — доступные часы в этот день.
7. Настроили динамическое скрытие сегодняшних интервалов
Учли операционное ограничение бизнеса: если заказ оформляется после 17:00, сегодняшние слоты доставки автоматически становятся недоступны. Ближайший возможный интервал открывается только на следующий день.
8. Гибко адаптировали решение под новые требования бизнеса
В процессе обкатки клиент вносил уточнения и пожелания по логике отображения интервалов. Все изменения — от ограничений до визуальных правок — оперативно внедряли без остановки работы сайта, что позволило быстро найти оптимальную модель под текущие бизнес-процессы.
Так, менеджер может самостоятельно задавать доступные временные слоты прямо в админ-панели: достаточно ввести их через запятую. Это позволяет быстро тестировать разные модели — от узких «пиков» до широких интервалов — и находить оптимальный баланс между удобством клиентов и загрузкой курьерской службы.
Облегчили работу менеджеров
Сделали процесс заказа удобнее для покупателей
Команда «Моего мясного» получила гибкий и самодостаточный инструмент: теперь менеджеры тратят меньше времени на рутину, покупатели оформляют заказы быстрее и без неожиданностей, а бизнес может оперативно тестировать разные модели доставки.