Доставка на сайте: полный гайд по зонам и приёму заказов
Сайт доставки: настройте проверку адреса, границы районов, тарифы и интервалы до оплаты. Подробный гайд с правилами, исключениями и проверками запуска.
Редакция Feature IT·
9 окт
·
17 мин
·
Покупатель выбирает продукты, собирает корзину и вводит адрес. Только после этого сайт сообщает, что доставка в его район недоступна. Иногда сообщение появляется ещё позже, после оплаты и звонка оператора. Человек уже потратил время, магазин получил заказ, который придётся разбирать вручную.
Географию доставки лучше проверять до окончательного оформления. При этом ранняя проверка должна оставаться удобной. Для просмотра ассортимента достаточно города или предварительного адреса, для расчёта заказа нужны точный дом и доступный способ получения. Сайт постепенно уточняет условия и сохраняет сделанный выбор.
Этот подробный гайд поможет спроектировать путь покупателя и подготовить задание разработчику. Рассмотрим границы районов, адресные подсказки, стоимость, интервалы и отказ внешнего сервиса. В конце есть набор проверок, по которому магазин сможет принять работу.
Соберите условия доставки в один документ. Укажите города и районы, минимальную сумму заказа, стоимость поездки, доступные интервалы и ограничения по товару. Если доставка зависит от конкретного склада, отразите связь между складом и адресом. Разработчик должен получить правила, которые можно проверить на примере.
Фраза «возим по городу» оставляет слишком много вариантов. В административную границу могут входить удалённые территории, до которых курьер едет дольше обычного. Отдельные дома доступны только через въезд с пропуском. Часть пригородов, напротив, удобно обслуживать с соседнего склада. Назовите такие исключения прямо.
Для каждого исключения выберите решение. Это может быть отдельный тариф, ограниченный день недели либо ручное подтверждение оператором. Если решение пока зависит от личной памяти диспетчера, сначала опишите несколько фактических ситуаций. По ним проще определить повторяемое правило и границу автоматической проверки.
Назначьте владельца документа. Обычно это руководитель доставки либо сотрудник, который отвечает за обещания клиентам. Он согласует изменения с продажами и поддержкой. Без такого владельца сайт рискует показывать вчерашнюю зону, пока диспетчер уже работает по новой схеме.
В разработке сайта под ключ этот документ входит в подготовку требований. Карта и форма адреса становятся понятнее, когда команда сначала разобрала работу магазина и только затем выбрала внешний сервис.
Разделите постоянную зону и доступность сегодня
Адрес вне зоны и отсутствие свободных интервалов требуют разных сообщений. Для адреса вне зоны предложите другой способ получения. При отсутствии интервалов на сегодня покажите ближайший доступный день.
Храните географическое правило отдельно от расписания. Тогда изменение загрузки курьеров не потребует редактировать границы района. В ответе сайта можно сохранить понятные значения: адрес обслуживается, ближайший интервал завтра, стоимость рассчитана. Такая структура полезна и для оператора, которому нужно объяснить результат по телефону.
Условный магазин доставляет в два района ежедневно, в третий по вторникам и пятницам. Покупатель из третьего района должен сразу увидеть доступные дни. Сообщение об отсутствии доставки сегодня без следующей даты создаёт впечатление полного отказа и скрывает рабочую возможность заказа.
Отдельно предусмотрите временную остановку. Причиной может быть закрытие склада либо недоступная дорога. У остановки есть начало, ответственный и условие завершения. После окончания срока система должна напомнить владельцу правила проверить актуальность ограничения. Бессрочные временные запреты легко остаются на сайте месяцами.
Когда запрашивать адрес у покупателя
На первом экране достаточно заметного выбора города и краткого условия доставки. Если ассортимент зависит от склада, предложите указать район либо дом до добавления товара. Объясните назначение поля простой фразой: по адресу сайт покажет доступные товары и ближайшее время получения.
Полноэкранное окно с требованием заполнить все сведения до просмотра каталога создаёт лишнюю работу. Для предварительной оценки обычно не нужны квартира, подъезд и телефон. Их можно запросить позже, когда покупатель выбрал товар и готов оформить заказ. При этом возможность проверить адрес должна оставаться доступной из шапки и корзины.
Сохранённый адрес показывайте явно. Человек мог заказывать домой вчера и в офис сегодня. Небольшая строка с городом и улицей помогает заметить ошибку до выбора интервала. Рядом разместите действие «Изменить адрес», после которого сайт заново проверит ассортимент и условия.
Если клиент пришёл на карточку из поиска, он может обойти главную страницу. Поэтому предварительные условия должны быть доступны и там. Для недорогого товара достаточно строки о зоне и ссылки на проверку, для скоропортящегося ассортимента адрес иногда требуется до добавления в корзину.
Проверку первого экрана совместите с проверками поступления заявок. Человек должен понимать доступность предложения на той странице, куда привело объявление, без поиска спрятанных условий в подвале.
Сделайте ручной ввод полноценным вариантом
Подсказки адреса сокращают набор текста, но покупатель должен иметь возможность исправить результат. Сервис может не знать новый корпус, перепутать одноимённые улицы либо найти адрес в другом регионе. Покажите полный выбранный вариант с городом и номером дома до подтверждения.
Поле квартиры отделите от географической проверки. Она обычно начинается с координат дома, тогда как квартира и подъезд нужны для передачи курьеру. Если человек добавил номер квартиры в строку улицы, сохраните введённый текст и предложите разнести сведения по полям. Полная очистка формы заставит повторить уже проделанную работу.
Кнопка определения местоположения остаётся дополнительным способом. Браузер запрашивает разрешение пользователя, а работа геолокации связана с защищённым соединением. Это описано в документации Geolocation API. После отказа в разрешении ручной ввод должен продолжать работать.
Даже полученные координаты требуется подтвердить. Покупатель может находиться в офисе и заказывать домой. Погрешность определения способна поставить точку у соседнего здания. Покажите найденный адрес и дайте изменить его до расчёта. Автоматическое заполнение полезно лишь вместе с понятной возможностью исправления.
Проверяйте ввод с клавиатуры и экранным диктором. У поля должно быть название, у списка подсказок понятный выбор, у ошибки текстовое объяснение. Карта помогает ориентироваться визуально, но текстовый адрес остаётся необходимым способом взаимодействия для части покупателей.
Выберите способ описания зоны
Для небольшого сервиса достаточно списка населённых пунктов или почтовых индексов, если они точно совпадают с рабочими условиями. Такой список проще поддерживать, но он плохо описывает границу посреди района. Перед выбором проверьте его на нескольких реальных пограничных адресах.
Полигон, то есть замкнутая область на карте, подходит для более точных границ. В нём можно учитывать реку, промзону и удалённый квартал. Однако сама линия требует договорённости: считается ли дом на границе обслуживаемым и как выбирается точка здания. Эти детали нужно записать в правилах проверки.
Расстояние по прямой удобно для предварительного расчёта, но дорога может идти в объезд. Если цена зависит от маршрута, используйте источник дорожного расстояния и предусмотрите его отказ. Покупателю следует показывать именно согласованное условие расчёта, чтобы цена не менялась неожиданно после звонка.
Для нескольких складов определите приоритет. Ближайший склад способен не иметь нужного товара. Более дальний может обслуживать адрес только в отдельные часы. Система должна учитывать доступный ассортимент и фактические правила назначения, а оператору полезно видеть причину выбранного склада.
При связи склада и каталога понадобится согласованный обмен данными сайта с учётной системой. География доставки теряет смысл, если сайт обещает товар из точки, которая уже отдала последний экземпляр другому покупателю.
Обработайте адрес на границе без случайного решения
Составьте список домов с обеих сторон линии. Для каждого сохраните ожидаемый ответ и основание. Этот набор станет проверкой после любого изменения зоны. Полезно включить корпус во дворе, угловой дом и адрес, который сервис подсказок ставит в центр квартала.
Если точность координат недостаточна, верните отдельный результат «Нужно уточнение адреса». Предложите покупателю выбрать дом на карте либо отправить запрос оператору. Формулировка «Мы сюда не доставляем» в таком случае ошибочно превращает неопределённость распознавания в отказ магазина.
Ручное решение оператора должно сохранять причину. Например, подъезд доступен с обслуживаемой улицы или диспетчер согласовал отдельную поездку. Для следующего заказа можно использовать уточнённые сведения, но срок действия исключения следует определить. Разовая договорённость не должна автоматически становиться постоянным обещанием.
Изменения границ проверяйте на копии правил до публикации. Сравните ответы по сохранённому набору адресов и согласуйте неожиданные различия. Затем укажите дату вступления новой зоны в силу. Заказы, оформленные раньше, требуют отдельного решения по уже подтверждённым условиям.
Покажите полезный выход за пределами зоны
Покупателю вне зоны предложите только реальные варианты. Это может быть самовывоз, другой адрес или запрос отдельной доставки. Для самовывоза сразу укажите пункт и доступное время. Ссылка на общую страницу контактов оставляет человеку ещё несколько самостоятельных поисков.
Сохраните корзину при смене способа получения. Если часть товаров доступна только на другом складе, покажите изменения по каждой позиции. Покупатель должен понять, что произошло с выбранными товарами и суммой. Молчаливое удаление позиций особенно неприятно после долгого подбора заказа.
Запрос индивидуальной доставки оформляйте как запрос согласования. Кнопка и следующий экран должны объяснять, когда ответит оператор и на каком этапе появится окончательная стоимость. До подтверждения условий заказ не должен выглядеть готовым к обычной оплате по стандартному тарифу.
Для бизнеса с ограниченным каталогом такой сценарий можно сначала проверить на лендинге с понятным составом заказа. Сложность сайта стоит наращивать после того, как правила исключений повторяются и их можно описать без личных догадок менеджера.
Рассчитывайте стоимость после нужных уточнений
Стоимость может зависеть от адреса, веса, суммы корзины и выбранного интервала. Перечислите используемые условия в требованиях. Если цена предварительная, обозначьте это рядом с числом и объясните, какое действие даст окончательный расчёт. Пользователь должен видеть причину изменения суммы.
Порог бесплатной доставки проверяйте после скидок по принятому правилу магазина. Отдельно решите, входят ли в расчёт подарочные позиции и товары особой категории. На экране полезно показывать остаток до порога, если он рассчитан по актуальной корзине. Любое изменение количества должно обновлять и это значение.
Для крупногабаритного товара предусмотрите отдельные условия подъёма и разгрузки. Их невозможно честно спрятать в общем слове «доставка». Соберите необходимые сведения до подтверждения итоговой суммы либо явно отправьте заказ на расчёт. Оператору должна приходить та же версия условий, которую видел клиент.
Условный пример поможет проверить логику. Заказ из основной зоны проходит порог бесплатной доставки, затем покупатель удаляет одну позицию. Сайт пересчитывает стоимость поездки, обновляет итог и объясняет изменение. При возврате товара в корзину прежнее условие восстанавливается без ручной перезагрузки страницы.
Мы в Feature IT проектируем сайты с проверкой доставки начиная с таких сценариев. Для оценки работ полезнее прислать таблицу тарифов и спорные заказы, чем ограничиться пожеланием добавить карту в оформление.
Настроим работу вашего проекта
Пришлите описание задачи и текущего процесса. Обсудим состав работ.
Свяжите дату с фактической возможностью собрать заказ
Интервалы доставки зависят от времени сборки, загрузки курьеров и наличия товара. Показывать ближайший свободный час только по календарю недостаточно. Правило должно учитывать, успеет ли склад подготовить именно эту корзину к выезду.
Если заказ оформляется после установленного времени, сегодняшние интервалы могут закрываться. Покажите следующий доступный вариант и объясните причину короткой фразой. Внутренние подробности планирования маршрутов покупателю обычно не нужны. Ему требуется достоверная дата и возможность выбрать подходящее время.
При высокой загрузке выбранный интервал может закончиться до оплаты. Для этого определите срок предварительного удержания места либо выполняйте повторную проверку перед созданием заказа. Если место потеряно, сохраните корзину и адрес, затем предложите ближайшие интервалы. Полный возврат к началу оформления лишь увеличит раздражение.
Часовой пояс указывайте по месту доставки, особенно если магазин принимает заказы из разных регионов. На стороне сервера храните время однозначно, а клиенту показывайте местное представление. В тестах включите оформление рядом с полуночью, когда дата покупателя и склада может различаться.
Для предзаказов на конкретное событие полезен опыт приёма заказов кондитерской через бота. Там дата приготовления и дата выдачи связаны теснее обычного, поэтому календарь требует согласования с производством.
Повторно проверяйте условия перед оплатой
Предварительный расчёт нужен для удобства выбора. Перед созданием заказа сервер ещё раз проверяет адрес, состав корзины, тариф и доступный интервал. За время просмотра могли измениться остатки или загрузка доставки. Решение только по данным браузера оставляет слишком много возможностей для расхождения.
Если условия изменились, покажите конкретную разницу. Например, прежний интервал занят, доступен следующий час; выбранный товар закончился, остальные позиции сохранены. Покупатель должен подтвердить обновлённый заказ до оплаты. Автоматическое согласие за него создаёт спор о том, что именно было обещано.
После подтверждения сохраните снимок заказа: товары, адрес, способ получения, стоимость и интервал. Он понадобится оператору и клиенту даже после изменения общих правил на сайте. Исторический заказ должен открываться с согласованными условиями, а не пересчитываться по сегодняшней тарифной таблице.
Оплату связывают с конкретным номером заказа. Повторный клик и повторное уведомление платёжного сервиса не должны создавать новую доставку. Проверка такой связи подробно рассмотрена в статье о сверке оплаты с заказом. Это часть той же приёмки, что и географическое ограничение.
Если используется оплата через СБП на сайте, после возвращения покупателя проверьте статус на сервере и восстановите экран заказа. Закрытое окно платёжного приложения само по себе не подтверждает ни успех, ни отказ операции.
Передайте оператору причину каждого ограничения
В карточке заказа показывайте исходный адрес, распознанный вариант и результат проверки зоны. Если оператор видит только красную отметку, ему придётся повторять действия клиента и гадать о причине. Понятная запись экономит время разговора и помогает выявлять ошибки правил.
Для ручного подтверждения создайте очередь с ответственным. Укажите срок ответа, который магазин действительно способен соблюдать. После решения оператор меняет статус запроса и сообщает клиенту согласованные условия. История должна сохранять время и автора решения, особенно при изменении стоимости доставки.
Уведомление в рабочем чате удобно как сигнал, но сама заявка должна храниться в системе учёта. Сообщение можно пропустить или удалить. Если сайт уже передаёт обращения в CRM, добавьте в карточку сведения о зоне и причину ручной проверки. Порядок надёжного получения разобран в статье о пропадающих заявках сайта.
При интеграции с учётной системой согласуйте названия статусов и источник актуальных данных. Кто подтверждает остаток, кто выбирает склад, кто вправе менять интервал после оплаты. Для проекта с 1С полезно заранее описать эти решения в схеме обмена сайта с 1С.
Сохраните рабочий путь при отказе карты
Карта и адресные подсказки зависят от внешних запросов. При их отказе покажите сохранённый текст адреса и объяснение задержки. Если можно принять запрос на ручное подтверждение, предложите этот вариант. Автоматическая бесплатная доставка при ошибке расчёта создаёт обещание, которое бизнес может не выполнить.
Разделите недоступность сервиса и отсутствие зоны. В первом случае проверка временно не завершилась; во втором магазин получил определённый ответ по своим правилам. В журналах это должны быть разные причины. Иначе отчёт покажет рост отказов по географии во время технического сбоя.
Установите ограниченное время ожидания. Покупатель не должен смотреть на бесконечный индикатор загрузки. После завершения ожидания дайте повторить запрос и сохраните уже введённые сведения. Повторная проверка должна учитывать актуальный адрес, если человек успел его исправить.
Для страниц, которые зависят от нескольких сервисов, заранее назначьте порядок проверки их состояния. Медленная карта иногда маскирует общую проблему сети либо тяжёлые скрипты страницы. Проверка скорости сайта на Next.js полезна, когда оформление долго реагирует даже до ввода адреса.
Измеряйте отказы по причинам
Добавьте события для проверки адреса, успешного расчёта, отсутствия зоны и технической ошибки. Полный домашний адрес не требуется передавать в обычные маркетинговые отчёты. Для анализа зон достаточно согласованного кода района и типа результата, если это соответствует задаче измерения.
Сравнивайте число отказов с числом попыток по одному правилу. Отдельно смотрите переходы на самовывоз и запросы ручного согласования. Тогда будет видно, какие альтернативы пользователи выбирают и где они прекращают оформление. Само количество отказов без контекста мало говорит о качестве сайта.
Рекламные метки помогут проверить, откуда приходит трафик вне зоны. Для этого настройте передачу UTM вместе с заявкой. Если кампания регулярно приводит людей из недоступных районов, обсудите настройки рекламы и текст предложения. Перерисовка формы такую причину не устранит.
Регулярно просматривайте несколько обращений, где автоматическая проверка и решение оператора расходятся. Если причина повторяется, обновите правило либо адресный справочник. Это позволит постепенно сокращать ручную работу по подтверждённым наблюдениям, сохраняя исключения там, где они нужны.
Обсудим ваш проект?
Оставьте контакты — перезвоним и обсудим задачу
Проверьте сценарии до запуска
Начните с обычного заказа внутри зоны. Выберите адрес, добавьте товары, измените количество и завершите оформление в тестовом режиме. Сверьте сумму на каждом экране и в карточке оператора. Ожидаемый результат запишите заранее, чтобы проверка не свелась к отсутствию видимых ошибок.
Затем повторите путь для дома за границей и пограничного корпуса. У отказа должен быть понятный текст и действующий вариант продолжения. При смене адреса проверьте сохранность корзины. Если часть товара стала недоступной, причина отображается рядом с соответствующей позицией.
Следующий проход посвящён времени. Возьмите последний свободный интервал и имитируйте его занятие до оплаты. Покупатель должен получить новые варианты с сохранённым заказом. Проверьте закрытие текущего дня, праздничное расписание и повторный вход в корзину спустя несколько часов.
После этого отключите внешний ответ карты в тестовой среде. Убедитесь, что ошибка не превращается в бесплатную доставку либо окончательный отказ по географии. Восстановите сервис и повторите расчёт без очистки формы. Команда должна увидеть ошибку в журнале и понять её причину.
Проведите мобильный проход с медленным соединением. Быстро смените адрес дважды и проверьте, что поздний ответ по первому адресу не перезаписал результат для второго. Это типичный случай, когда экран выглядит убедительно, но показывает стоимость уже для другого дома.
Составьте приёмочный набор адресов
Сохраните небольшой набор адресов с ожидаемыми результатами. В него включите центр зоны, ближайшую внешнюю улицу, новый корпус, дом на границе и адрес с одинаковым названием в другом городе. Для каждого укажите тариф, допустимые способы получения и ожидаемое действие при неопределённости.
Такой набор пригодится после смены поставщика подсказок или изменения района обслуживания. Проверка должна повторяться по одинаковому правилу. Если результат изменился намеренно, владелец доставки обновляет ожидаемый ответ и указывает причину. Остальные расхождения передаются разработчику для разбора.
Храните вместе с набором дату версии правил. Снимок карты полезен для обсуждения, но текстовые условия нужны для воспроизведения. По картинке трудно понять, входит ли конкретный дом в зону и какой тариф действует после изменения суммы корзины.
Для запуска достаточно проверить согласованный объём проекта и реальные варианты отказа. Редкие сложные исключения можно оставить оператору, если сайт честно сообщает порядок согласования. Ручной этап должен иметь владельца и срок ответа, иначе ограничение просто переместится с формы в необработанную очередь.
Проверьте смену способа получения
Покупатель может начать с доставки, затем выбрать самовывоз и снова вернуться к курьеру. Для каждого перехода определите, какие введённые данные сохраняются. Адрес удобно оставить в черновике, но выбранный пункт самовывоза не должен случайно стать адресом доставки. В итоговом блоке показывайте только сведения, относящиеся к текущему способу получения.
Вместе со способом получения может измениться доступность товаров. Товар есть на центральном складе, но отсутствует в выбранном магазине. Покажите это до окончательного оформления и объясните доступные действия. Если компания умеет перемещать товар между точками, срок такого перемещения нужно согласовать отдельно. Само наличие товара в сети ещё не означает готовность выдать его сегодня.
Проведите тест с корзиной из нескольких позиций. Сначала выберите курьера, затем пункт самовывоза, в котором есть только часть заказа. Посмотрите, что случилось с недоступной строкой: она должна получить понятное состояние. Незаметное удаление товара изменяет намерение покупателя. После возвращения к доставке проверьте состав заново, включая количество и итоговую сумму.
Особый случай возникает, когда способ получения выбирают после применения скидки. Условия акции могут зависеть от магазина, даты или суммы заказа. Владелец бизнеса должен описать эти зависимости заранее. Редактор подготавливает объяснение пересчёта, разработчик проверяет его на сервере. В протоколе приёмки сохраните исходную корзину и ожидаемый результат каждого перехода.
Разделите изменение правил и уже принятые заказы
Новая зона обслуживания влияет на будущие покупки, но в системе остаются заказы, оформленные по прежним условиям. Перед изменением правил составьте список таких заказов. Для каждого определите, сохраняется ли согласованный способ доставки и кто связывается с клиентом, если исполнить обещание уже невозможно. Автоматическая замена адреса или интервала без согласования создаст отдельную проблему для диспетчера.
Полезно сохранять в заказе условия, по которым покупатель завершил оформление: способ получения, рассчитанную стоимость и выбранный интервал. Текущая страница правил может измениться позже. Сотруднику поддержки нужно видеть, что именно было согласовано в момент заказа, чтобы объяснить расхождение и принять решение. Срок хранения таких сведений определяют с учётом процессов компании.
Перед расширением зоны проверьте новые адреса на тестовой версии. Затем назначьте момент включения правила и ответственного сотрудника. После изменения повторите несколько контрольных заказов в рабочей среде предусмотренным способом. Рядом с новыми адресами проверьте старые: изменение общей границы способно случайно затронуть район, который уже обслуживался.
Подготовьте условия возврата к прежним правилам. Например, диспетчер обнаружил, что новые интервалы не обеспечены маршрутами. Команда должна понимать, кто отключает приём новых заказов в проблемной зоне и как поступает с уже принятыми. Сохранённая предыдущая настройка ускорит технический возврат, однако судьбу заказов всё равно решает ответственный за доставку.
Передайте проверенные правила следующей смене
После запуска покажите диспетчеру несколько обращений с разными причинами отказа. Попросите его самостоятельно найти заказ, объяснить ограничение и предложить разрешённый вариант получения. Такая проверка обнаруживает пробелы в инструкции, которые незаметны во время демонстрации разработчиком. Если сотрудник каждый раз уточняет значение служебного кода, замените его понятным описанием в рабочем интерфейсе.
Для передачи смены достаточно короткой записи о действующих исключениях. Укажите район, причину, период действия и ответственного за отмену ограничения. Сведения должны находиться в одном согласованном месте. Сообщение в личном чате легко пропустить, особенно если утренняя смена не участвовала во вчерашнем обсуждении.
Проверьте завершение временного ограничения. После открытия района сайт снова принимает адрес, оператор видит актуальное правило, а предупреждение на странице исчезает. Если эти элементы обновляются независимо, включите их в один проверочный список. Иначе форма уже разрешит заказ, пока баннер продолжит сообщать об остановке доставки, и часть покупателей уйдёт до ввода адреса.
Что передать разработчику вместе с макетом
Подготовьте правила зон, тарифную таблицу и набор адресов. Добавьте используемые склады, источник остатков и порядок назначения интервалов. Для каждого внешнего сервиса укажите владельца доступа и доступный тестовый режим. Секреты передавайте через согласованное защищённое хранилище.
К макету приложите тексты четырёх состояний: адрес обслуживается, адрес вне зоны, требуется уточнение, проверка временно недоступна. Опишите действия покупателя для каждого состояния. Такой документ позволит оценить реализацию и заранее увидеть места, где бизнес ещё не принял решение.
После запуска назначьте сотрудника, который обновляет расписание и проверяет обращения с исключениями. Ему потребуется инструкция по изменению правил и способ быстро связаться с поддержкой. Изменение условий доставки относится к регулярной работе сайта, поэтому включите его в регламент IT-поддержки.
Обсудите сайт доставки с Feature IT, приложив текущие правила и несколько адресов, которые вызывают споры. По ним можно подготовить проверяемое задание и определить, какие решения сайт примет автоматически, а какие останутся у диспетчера.