Доставка продуктов Express
Сервис, заточенный под реальную операционку супермаркета и dark store: слоты 15 мин / 1 ч / 3 ч с динамической мощностью, горячие замены SKU при отсутствии товара через чат с клиентом, весовые товары с холдом +15% и корректировкой суммы после взвешивания, отдельные роли «сборщик» и «курьер» с раздельными KPI. Прайсы и остатки тянутся из 1С/МойСклад каждые 3–5 минут — клиент не увидит «товар внезапно закончился» на оплате.
Доставка продуктов из супермаркетов и dark store. Слоты, замены, корзина, аналитика SKU.
«Доставка продуктов Express» — это не клон чек-аута интернет-магазина с курьером сверху. Это операционная система q-commerce: пять связанных продуктов, две роли в полевой команде (пикер и курьер), полная синхронизация остатков с кассовой системой магазина, поддержка dark store как отдельной сущности с собственной топологией стеллажей, и алгоритмы пакетной сборки нескольких заказов одним сборщиком.
Стек: Next.js 14 для веба и админок, React Native для мобильных, NestJS на бэке, Postgres 16 с PostGIS для зон и стеллажной топологии, Redis для очередей сборки, ClickHouse для аналитики SKU, Mapbox для маршрутизации. Деплой на ваше облако (Hetzner, OVH, Vultr) с авто-скейлом под пиковые часы (12:00 и 19:00 будни, 11:00–14:00 выходные).
При покупке — полные исходники, коммерческая лицензия без роялти, бесплатное брендирование, 6 месяцев обновлений. При аренде — то же плюс инфраструктура и обновления продукта на нашей стороне, развёртывание под ключ за 3–7 минут от оплаты.
Почему собственная доставка продуктов почти всегда буксует
Доставка продуктов — это не доставка еды с другим меню. Корзина в 40–80 SKU вместо 2–3 блюд, остатки меняются раз в минуты, четверть товара продаётся на вес, у магазина уже работают 1С/Set Retail/Frontol и их нельзя отключить, сборщик и курьер — это две разные роли с разными KPI и приложениями. Собственная разработка такого стека уходит на 10–18 месяцев и $250k+.
Готовое решение снимает эту специфику из коробки: остатки и прайсы синхронизируются с вашей кассой, замены SKU работают через чат с клиентом, весовой товар корректирует итоговый чек после взвешивания, dark store получает свою карту стеллажей.
- Клиент заказал, а товара уже нет на складеЦена ошибки: 5–18% отказов на сборке, потеря клиента после первого инцидентаОстатки тянутся из 1С/МойСклад каждые 3–5 минут, на оплате — холд резерва. Если товар всё же закончился — сборщик в один тап предлагает 2–3 замены, клиент подтверждает в чате.
- Весовой товар (мясо, овощи, рыба) рушит итоговую суммуЦена ошибки: ручной перерасчёт, скандалы, возвратыПри оформлении — оценочная цена и холд +15%. После взвешивания на кассе — точная сумма, авто-разморозка остатка холда. Клиент видит разбивку оценка/факт.
- Сборщик и курьер — одно приложение, оба недовольныЦена ошибки: путаница в KPI, текучка, потеря 30+ минут на заказДва разных приложения: пикер видит карту магазина и стеллажи, курьер — маршрут и точки выдачи. KPI и бонусы считаются раздельно.
- Слоты доставки конфликтуют с реальной мощностьюЦена ошибки: переполненные окна, отмены, штрафы клиентамАлгоритм слотов считает фактическую мощность пикеров и курьеров на час, авто-закрывает окна при превышении 90% загрузки.
- Заказы нельзя пересобрать, если клиент передумалЦена ошибки: потеря клиента, ручное оформление возвратаДо сборки — клиент сам меняет корзину. Во время — через чат с пикером. После выдачи — частичный возврат с фото-актом.
- Холодовая цепь не контролируется — за качество отвечает сборщик «честно»Цена ошибки: репутационные риски, претензии РоспотребнадзораОпциональные IoT-датчики на термо-сумках, температурный лог на каждый заказ. Авто-уведомление оператору при выходе за порог.
- Аналитика магазина не отличает «онлайн» от офлайнаЦена ошибки: невозможно посчитать ROI канала, неверные закупкиClickHouse-пайплайн складывает заказы по каналу, времени, корзине, маржинальности. Топ-100 SKU онлайн ≠ офлайн — закупки оптимизируются раздельно.
- B2B-клиенты (офисы, отели) хотят счёт с НДС и лимитЦена ошибки: потеря B2B-канала, ручное оформление документовB2B-кабинет с лимитами, ролями, ЭДО через Диадок/СБИС. Счёт-фактура и УПД генерируются автоматически.
Своя разработка vs готовый стек: честная разбивка
Сборка такой платформы с нуля — это команда 8–12 человек на 10–18 месяцев. На бумаге выглядит управляемо; на практике 60% бюджета уходит на «мелочи»: интеграция с 1С, которая ломается каждое обновление; пересборка приложения пикера после первой недели в поле; стресс-тест пиковых часов; миграция остатков.
Готовый стек снимает 90% этой работы. Остаётся брендинг, подключение магазинов через готовые POS-коннекторы и настройка бизнес-правил.
| Этап | Свой стек | С wl-solution |
|---|---|---|
| Клиентское приложение (iOS + Android) | 2 разработчика × 6 мес ≈ $84k | уже в коробке |
| Приложение пикера со сканером | 1 разработчик × 4 мес ≈ $32k | уже в коробке |
| Приложение курьера | 1 разработчик × 3 мес ≈ $24k | уже в коробке |
| Кабинет магазина и dark store-режим | 1 фронт + 1 бэк × 3 мес ≈ $42k | уже в коробке |
| Slot engine с динамической мощностью | 1 senior × 2 мес ≈ $24k | готовый движок |
| POS-интеграции (1С, МойСклад, Set Retail, Frontol) | $8k × 4 коннектора = $32k | 4 коннектора готовы |
| Замены SKU и чат сборщика | 1.5 мес команды ≈ $18k | из коробки |
| Холдовый платёж под весовой товар | 1 senior × 1 мес ≈ $12k | из коробки |
| ClickHouse-аналитика SKU | 1.5 мес bi-команды ≈ $20k | пайплайн готов |
| Инфра, CI/CD, мониторинг | $12k setup + DevOps | auto-deploy за 5 минут |
Пять продуктов, которые работают как один организм
Все компоненты — клиент, сборщик, курьер, кабинет магазина, оператор сети — синхронизированы по событиям через единый движок заказов. Новый заказ из приложения мгновенно появляется в очереди сборщика, после сборки — в очереди курьера. Каждый статус виден всем участникам в реальном времени.
Платформа мультиарендная: один экземпляр обслуживает розничную сеть, dark store-стартап и гибрид одновременно. Тенант = магазин или бренд (свой логотип, домен, цены, ассортимент), при этом операционная команда сети видит всё в одной админке.
Слоты, ASAP и экспресс — три модели в одной
Окна 15 мин / 1 ч / 3 ч с динамическим открытием по мощности.
Slot engine считает фактическую мощность пикеров и курьеров на 3 часа вперёд по throughput последних 60 минут. При 90% загрузки окно закрывается, при простое — открываются экспресс-слоты.
ASAP для квик-коммерса (15–30 мин из dark store), стандартные слоты для большой корзины, гибкое расписание для премиум-сегмента.
Синхронизация с кассой каждые 3–5 минут
Остатки и прайсы — единый источник правды.
Готовые коннекторы к 1С:Розница, МойСклад, Set Retail, Frontol тянут остатки, цены, акции, скидки. Заказы возвращаются обратно как чеки с привязкой к сборщику.
Клиент не платит за товар, которого уже нет: холд резерва на оформлении, авто-снятие при отмене за 30 минут.
Замены SKU через чат с сборщиком
Сборщик и клиент договариваются без участия оператора.
Если товара нет — пикер в один тап получает 2–3 альтернативы из той же категории и тира цены (подбор по category_id + price_tier + brand_similarity на эмбеддингах).
Клиент подтверждает в чате или отказывается с частичным возвратом. Оператор подключается только при споре.
Пикер и курьер — две роли, два приложения
Раздельные KPI, бонусы, экраны.
Пикер видит карту магазина с топологией стеллажей и оптимальным маршрутом сборки. Курьер видит точки выдачи и оптимальный маршрут доставки.
Бонусы пикера: скорость сборки, процент замен, аккуратность. Бонусы курьера: точность по слоту, рейтинг доставки. Настраиваются в админке без правки кода.
Весовой товар без споров
Оценка → холд +15% → точная сумма после кассы.
При оформлении заказа клиент видит оценочную цену и холд +15%. После взвешивания на кассе магазина — webhook в нашу систему, точная сумма списывается, излишек холда возвращается клиенту.
Разбивка «оценка → факт» в чеке клиента: никаких скрытых сумм, никаких звонков «доплатите 137 рублей».
Dark store и розничный магазин в одной модели
Магазин может работать в любом из трёх режимов.
Розница с доставкой (пикер ходит по торговому залу), чистый dark store (топология стеллажей + только онлайн-витрина), гибрид (часть SKU в зале, часть в dark zone).
Топология стеллажей, ставки бонусов, SLA и слоты настраиваются на точку. Сеть может комбинировать форматы.
Что мы держим в голове, проектируя продукт
- 01
Касса — источник правды
Остатки и цены не дублируются в нашу базу. Мы тянем их из 1С/Set Retail/Frontol и кешируем на 3–5 минут. Магазин продолжает работать со своей привычной системой, мы — поверх.
- 02
Сборщик ≠ курьер
Это разные роли, разные KPI, разные приложения. Мы видели слишком много проектов, где их слили в одну сущность — и оба недовольны. У нас сразу два приложения и два потока бонусов.
- 03
Замена без оператора
Сборщик и клиент договариваются в чате. Оператор подключается только при споре или возврате — он не диспетчер замен, у него своя работа.
- 04
Слот честный или слота нет
Если мощности пикеров и курьеров не хватает — слот закрывается. Не «продаём окно и разбираемся». Это убивает доверие и репутацию быстрее, чем что-либо ещё в q-commerce.
Полный набор сценариев — без покупки модулей и плагинов
Каталог и заказы
Слой, через который клиент взаимодействует с ассортиментом. Здесь решается, останется ли клиент после первого заказа или уйдёт к Самокату.
Авто-обогащение из GS1 Russia и Brand Analytics для новых SKU. Поиск с учётом синонимов и опечаток. Фильтры по бренду, диете, цене.
Картинки — через Cloudinary с responsive-обрезкой и WebP/AVIF. Карточка грузится за < 800 мс на 4G.
- · Новый SKU автоматически получает фото и описание
- · Конверсия поиск → корзина выше на 15–22% за счёт релевантности
Slot engine считает фактический throughput пикеров и курьеров за последние 60 минут и прогнозирует на 3 часа вперёд. Экспресс-слоты автоматически открываются при простое.
Каждая зона города имеет свои слоты — близкие к dark store плотнее, дальние — реже.
- · Нет переполненных окон и отмен
- · Гибкая монетизация: экспресс-слот стоит дороже
Подбор альтернатив по category_id + price_tier + brand_similarity на эмбеддингах. Клиент подтверждает в чате или отказывается с частичным возвратом — без участия оператора.
История замен записывается, аналитика показывает топ-проблемных SKU для закупок.
- · Снижение отказов на сборке с 18% до 5–7%
- · Меньше нагрузка на операторов поддержки
Клиент видит оценочную цену с пометкой «вес примерный». Платёжный холд резервирует сумму +15%. Webhook на 1С после взвешивания на кассе корректирует сумму, разница возвращается клиенту до выдачи заказа.
Поддерживаются Stripe, ЮKassa, Tinkoff — все умеют capture с меньшей суммой.
- · Прозрачность для клиента
- · Никаких «доплатите наличными»
До начала сборки клиент свободно редактирует корзину в приложении. Во время сборки — через чат с пикером. После выдачи — частичный возврат с фото-актом.
Возврат уходит на карту через PSP с типизированным reason-кодом для аналитики.
- · Снижение отмен заказов целиком
- · Меньше работы оператору по разбору жалоб
Полевая команда
Сборщики и курьеры — два разных мира с разными приложениями, KPI и бонусами.
Сканер штрихкодов, кнопка «нет в наличии» с авто-предложением замены, чат с клиентом. Оффлайн-сборка с синхронизацией при возврате связи.
Маршрут сборки строится по топологии стеллажей: минимальный путь по торговому залу или dark zone.
- · Скорость сборки выше на 25–30% против бумажных списков
- · Меньше ошибок в составе заказа
Маршрут на Mapbox Directions с кластеризацией близких заказов. Фото-акт передачи, рейтинг получателя.
Поддержка термо-сумок с IoT-датчиками для замороженных и охлаждённых SKU.
- · Заказов на курьер-час +20–35%
Алгоритм объединяет корзины с учётом стеллажной топологии и окон выдачи. Дельта пути ≤ 18% относительно одиночной сборки — иначе пакет не формируется.
Каждый заказ в пакете — со своей корзинкой/тарой; передача курьеру с подтверждением комплектности.
- · Экономия ФОТ пикеров до 30%
- · Больше заказов в час пик
Гибкие правила в админке: за заказ, за час, за SLA, за рейтинг. Можно настраивать на смену, точку, тип ТС.
Бонусы считаются раздельно — никаких «общая премия команде».
- · Прозрачная мотивация
- · Меньше текучка
Интеграции с магазином
Магазин уже работает на своей системе. Мы не вытесняем её — мы подключаемся.
REST-обмен через Web-расширение 1С (один файл, документация на 2 страницы). Webhooks по событиям изменения остатков для быстрой реакции.
Никаких правок в типовой конфигурации 1С — расширение работает поверх.
- · Подключение за 2 часа на точку
- · Никакого ручного импорта прайсов
Адаптер-паттерн позволяет добавить новую POS за один спринт. Можно использовать одновременно разные системы на разных точках сети.
При смене API провайдера обновляется только адаптер — клиент не видит ничего.
- · Гибкость для сетей с разными системами на точках
B2B-кабинет с лимитами, ролями (закупщик / одобряющий), отгрузочными документами. Авто-генерация УПД и счетов при выдаче заказа.
Готовые SDK Контур.Диадок и СБИС — никаких самопальных интеграций с ЭДО-операторами.
- · B2B-канал работает с первого дня
BLE-сканирование датчика при выдаче курьеру, загрузка лога после доставки. Авто-уведомление оператору при выходе за порог.
Опционально: можно не использовать, если в ассортименте нет термолабильных позиций.
- · Защита от претензий и штрафов Роспотребнадзора
Аналитика и операционка
Магазин получает данные, которых у него никогда не было: онлайн-канал отдельно от офлайна, в реальном времени.
ClickHouse-пайплайн с материализованными view по часам. Отдельные топы для онлайн и офлайн — закупки оптимизируются раздельно.
Экспорт в Excel и Google Sheets для бухгалтерии и менеджеров категорий.
- · Снижение out-of-stock
- · Более точные закупки
WebSocket-подписки на изменения, latency < 1 сек. Можно вмешаться в любую точку процесса: переназначить пикера, открыть слот, отменить заказ.
Alert-лента по проблемным заказам с типизированными причинами.
- · Оператор видит всё на одном экране
Шаблоны отчётов настраиваются в админке без правки кода. Экспорт в Excel.
Регулярные email-отчёты владельцу сети.
- · Меньше ручной работы у бэк-офиса
Правила в админке + webhook на 1С для синхронизации с офлайн-ценами. Можно ограничить по дням и категориям.
Защита от агрессии: лимит surge ≤ 1.5x по умолчанию.
- · Экономика канала улучшается на 5–12%
Архитектура: q-commerce без бутылочных горлышек
Платформа собрана как набор слабосвязанных сервисов с чёткими границами. Каждый сервис независимо масштабируется под свою нагрузку: каталог и POS-синхронизация — под объёмы магазина, slot-engine — под пиковые часы заказов, picker-app — под одновременных сборщиков.
Один магазин на VPS 2 vCPU / 4 GB держит до 800 заказов в день. Сеть 50+ магазинов — кластер с горизонтальным скейлом и отдельным ClickHouse-узлом.
Каталог, корзина, слоты, оплата, история. Stateless, кеш каталога в Redis на 60 сек.
Задачи на сборку, чат с клиентом, сканер, маршрут по стеллажам. WebSocket-сессии с sticky-routing по магазину.
Маршрут доставки, точки выдачи, фото-акт, термо-логи. Push-уведомления через FCM/APNs.
In-memory state в Redis, пересчёт каждые 30 сек. Балансировка нагрузки по зонам.
Очередь на Redis Streams, retry с backoff, dead letter в Sentry. Адаптер-паттерн для новых POS.
GS1-обогащение, полнотекст по trigram, материализация в Redis.
Event-sourced состояния в Postgres, аудит в ClickHouse. Замены, частичные возвраты, статусы.
Идемпотентные операции, webhook от PSP с retry. Частичный возврат и эскроу.
ReplacingMergeTree, материализованные view, шардирование по магазину.
Карта, слоты, очередь сборки, alert-лента, отчёты. Next.js SSR + WebSocket подписки.
Поток данных
Клиент открывает каталог → Customer API спрашивает Catalog Service (кеш Redis) → выбирает слот через Slot Engine → создаёт заказ в Order Service → платежный холд через Payment Service.
Order Service ставит задачу в Picker Service → POS Gateway резервирует остатки в 1С → пикер собирает с чатом и заменами → передача в Courier Service.
Курьер доставляет → фото-акт → capture платежа через Payment Service → событие в Analytics Pipeline → дашборд оператора обновляется в реал-тайме.
Масштабирование
Один магазин на VPS 2 vCPU / 4 GB держит до 800 заказов в день. Сеть 50+ магазинов — кластер с горизонтальным скейлом фронтов, отдельным ClickHouse-узлом и шардированной Postgres-репликой.
Slot Engine — единая точка для региона, скейлится через Redis Cluster. POS Gateway — отдельные worker-ы на каждый тип POS.
Что ломается и как восстанавливаем
1С недоступна → переходим в read-only режим каталога, заказы продолжают приниматься с буферизацией. После восстановления — синхронизация задним числом.
Пикер потерял связь → оффлайн-сборка с синхронизацией при возврате связи. Курьер не вышел в смену → авто-переназначение через 5 минут.
PSP отвалился → заказ сохраняется со статусом «ожидает оплату», ретрай через 60 сек. Mapbox недоступен → fallback на OSM Routing.
Безопасность
TLS 1.3 везде. Платежи токенизируются через PSP — карты не хранятся в нашей базе. PCI DSS-ready контур для платёжного шлюза.
Сессии пикеров и курьеров — JWT с коротким TTL. Аудит всех изменений корзины и замен — в ClickHouse с retention 2 года. Доступ к B2B-кабинету — двухфакторный обязательно.
Готовые коннекторы
Что готово из коробки. Каждая интеграция — это форма в админке и тестовый прогон. Вы работаете с провайдером напрямую, мы даём готовый коннектор.
Кейсы, которые мы регулярно разворачиваем
Свой канал доставки вместо 25% комиссии Самокату
Сеть супермаркетов в Краснодаре хочет запустить доставку без зависимости от Самоката и Лавки. Уже работает 1С:Розница, две точки тестировали Delivery Club — забирает 25% комиссии.
Цель — собственный канал с подпиской на постоянных клиентов и средним чеком в 1.5 раза выше агрегаторов.
Аренда платформы за 1 день. Брендирование под их марку (логотип, цвета, домен) — параллельно.
Подключение 1С через коннектор за 2 часа на точку. Пилот на 3 точках первый месяц, затем масштабирование на остальные 9.
Через 3 месяца — запуск подписки «бесплатная доставка от 2000 ₽» с переводом 60% активных клиентов на recurring.
- · POS-коннектор 1С:Розница
- · Slot engine с динамической мощностью
- · Подписочная модель
- · B2B-кабинет (для офисов в перспективе)
- · Доля собственного канала растёт с 0 до 35% за квартал
- · Средний чек выше агрегаторного на 40%
- · Комиссия 0% вместо 25%
Запуск четырёх dark store с SLA 15 минут
Команда планирует запустить 4 dark store по Москве с гарантией доставки за 15 минут. Конкурируют с Самокатом и Лавкой в нишевом ассортименте (натуральные продукты, эко).
Покупка платформы с исходниками. Кастомизация UX под бренд за неделю.
Конфигурация dark store-режима с топологией стеллажей. Запуск первого dark store через 10 дней от старта.
Четвёртый dark store — через 6 недель. Маркетинг через таргет в районе обслуживания каждого dark store.
- · Dark store-режим с топологией стеллажей
- · Пакетная сборка
- · Slot engine с ASAP 15 мин
- · ClickHouse-аналитика по dark store
- · SLA 15 минут в 92% случаев на первом dark store
- · Средний чек 1800 ₽
- · Маржинальность канала +18 п.п. к benchmark
Доставка из премиум-супермаркета без помех офлайну
Премиальный супермаркет в Питере хочет одновременно обслуживать офлайн-покупателей и онлайн-заказы из того же зала.
Аренда платформы. Конфигурация двух типов слотов: «обычные» 3 ч (сборка в зале) и «экспресс» 45 мин (онлайн-витрина с резервированием товара).
Пикер собирает в зале с расписанием по часам пик — не мешает офлайн-покупателям.
B2B-кабинет для местных офисов и отелей.
- · Гибридный режим магазина
- · Слоты по типам
- · B2B-кабинет с ЭДО
- · Онлайн-канал не давит на офлайн-выручку: 80% сборок вне пиков
- · ROI канала за 4 месяца с учётом ФОТ пикеров
B2B-подписка на еженедельные коробки
Локальная сеть здорового питания хочет добавить B2B-канал для офисов: подписка на еженедельные коробки фруктов, орехов, снеков.
Аренда + кастомизация B2B-кабинета. Лимиты на компанию, роли «закупщик / одобряющий», авто-генерация счетов и УПД через Диадок.
Подписка с фиксированным днём доставки и возможностью пропустить неделю.
Продажи через холодные звонки в HR-отделы и партнёрства с коворкингами.
- · B2B-кабинет
- · ЭДО через Диадок
- · Подписочная модель
- · Фиксированные слоты по дням недели
- · 40 офисов за 3 месяца
- · Recurring revenue $24k/мес
- · Отток < 4%
От оплаты до первого боевого заказа — 5–14 дней
Типовой план для команды без своей разработки. С нашей стороны: проджект-менеджер + DevOps + дизайнер брендинга на онбординге.
- День 1–2Развёртывание и брендинг
- · Заполнить бриф: бренд, домен, цвета, e-mail оператора
- · Получить доступ в админ-панель
- · Сдать дизайн-кит (логотип, иконки) либо заказать дизайн
- · Прописать домен → Let's Encrypt автоматически
Готово, когда:- ✓ Тестовое приложение доступно под брендом
- ✓ Админ-панель работает на admin.вашдомен.com
- День 3–7Подключение магазинов и платежей
- · Подключить POS-коннектор (1С/МойСклад/Set Retail/Frontol) для пилотных магазинов
- · Импорт каталога и остатков (полный + инкрементальный)
- · Настроить тарифные зоны доставки и тарифы курьеров/пикеров
- · Подключить эквайринг (ЮKassa/Stripe/Tinkoff)
- · Тестовый заказ от оформления до выдачи
Готово, когда:- ✓ Тестовый заказ проходит весь цикл
- ✓ Возврат за тестовый заказ возвращается за 5 минут
- День 8–12Полевая команда и репетиция
- · Обучение пикеров (приложение, сканер, чат, замены)
- · Обучение курьеров (маршрут, термо-сумки, фото-акт)
- · Тестовая смена с 10–20 заказами от сотрудников
- · Настройка KPI и правил бонусов
Готово, когда:- ✓ Минимум 5 пикеров и 5 курьеров прошли тестовую смену
- ✓ Приложения одобрены в App Store / Google Play
- День 13–14Запуск на ограниченную аудиторию
- · Открытие приёма заказов в одном районе
- · Промокод на первый заказ
- · Мониторинг slot-engine и очереди сборки
- · Сбор обратной связи от первых 50 клиентов
Готово, когда:- ✓ Первые 100 заказов без критичных инцидентов
- ✓ NPS первой когорты ≥ 50
Как перенести данные из текущей системы
Парсинг существующего каталога и пользовательской базы. Импорт через CSV / прямое подключение к Bitrix-БД.
POS-коннектор подключается параллельно к существующей 1С — без замены кассы.
Старая система может работать ещё несколько недель параллельно для контроля.
| Источник | У нас | Заметка |
|---|---|---|
| Bitrix каталог | Catalog Service | Через CSV или прямой импорт |
| Пользователи Bitrix | Customer DB | С перевыпуском паролей |
| Ручная диспетчеризация | Slot Engine + Picker Service | |
| 1С:Розница (уже есть) | POS Gateway | Подключение без замены |
Не выключаем агрегатор сразу. Запускаем собственный канал параллельно, переводим клиентов через бонусы и подписку.
Через 3 месяца — анализ доли каналов и решение по агрегатору (выключить или оставить как fallback).
| Источник | У нас | Заметка |
|---|---|---|
| Заказы из агрегатора | Order Service | Только новые, без миграции истории |
| База клиентов агрегатора | Customer DB | Нельзя — принадлежит агрегатору |
Когда наш продукт — не лучший выбор (и когда лучший)
Собрать с нуля своей разработкой
build-from-scratchНанять команду 8–12 человек и потратить 10–18 месяцев на разработку платформы с нуля.
- + Полный контроль над архитектурой
- + Кастом под специфические требования
- − $250k–$520k капитальных вложений до первого заказа
- − 10–18 месяцев без выручки
- − POS-интеграции переписываются на каждом обновлении 1С
- − Slot engine и dark store-режим — отдельные сложные модули
Наш вердикт:Имеет смысл, только если строите принципиально новый формат, который не вписывается в существующие модели. В 95% случаев — нет.
Альтернатива выигрывает, когда: Уникальная бизнес-модель + деньги на 2 года разработки без выручки.
Open-source (Grocy, Spree)
open-sourceИспользовать готовое open-source-решение для электронной коммерции и дописать недостающее.
- + Бесплатная лицензия
- + Можно увидеть код и изменить
- − Нет коннекторов к 1С/Set Retail — придётся писать с нуля
- − Нет разделения пикер/курьер
- − Слоты без динамической мощности
- − Замены SKU через чат отсутствуют
Наш вердикт:Подходит для пет-проекта или прототипа. Для прода с реальной выручкой — нет.
Альтернатива выигрывает, когда: Один dark store, команда разработчиков-энтузиастов, готовых дописывать всю специфику.
Только агрегаторы (Самокат, Лавка, Купер)
no-opНе запускать свой канал, остаться партнёром агрегаторов.
- + Быстрый старт без инфраструктуры
- + Трафик из готовой аудитории агрегатора
- − Комиссия 25–30% от каждого заказа
- − Клиент принадлежит агрегатору — нет своей базы
- − Нет B2B-канала
- − Нет данных для лояльности и retention
Наш вердикт:Хороший канал для дополнительной выручки, но не должен быть единственным.
Альтернатива выигрывает, когда: Один магазин, нет бренда и маркетингового бюджета на свой канал.
Кастомный подряд (студия на заказ)
build-from-scratchЗаказать разработку у внешней студии.
- + Не нужна in-house команда
- + Можно зафиксировать бюджет
- − $80k–$220k и 6–10 месяцев против $8 400 и 1–5 дней
- − Зависимость от подрядчика на поддержку
- − Качество кода — лотерея
- − Готовые коннекторы к 1С придётся писать заново
Наш вердикт:Дольше и дороже готового стека, без явных преимуществ.
За что вы платите — и за что не платите
Покупка — что внутри
Покупка $8 400 — единовременно. Получаете полные исходники, коммерческую лицензию без роялти, бесплатное брендирование и 6 месяцев обновлений.
Хостинг разворачиваете на своих VPS (Hetzner/OVH/Vultr) — это $50–120/мес в зависимости от объёма заказов.
Аренда — что внутри
Аренда $420/мес — развёртывание за 5 минут от оплаты. Инфраструктура, мониторинг, обновления продукта — на нашей стороне.
Подходит для быстрого старта и проверки рынка. В любой момент можно перейти на покупку с зачётом части арендной платы.
TCO за первый год
Аренда платформы (12 мес) Инфра и обновления включены | $5 040 |
Покупка платформы с исходниками Бессрочно, без роялти | $8 400 единовременно |
Хостинг (только при покупке) Hetzner / OVH / Vultr | $50–120/мес |
Брендирование Базовое бесплатно | $0–2 400 |
Публикация в App Store / Google Play $99 Apple + $25 Google | $124 единовременно |
Платёжный шлюз ЮKassa/Stripe стандарт | процент с оборота |
Что вы НЕ платите дополнительно
- Своя разработка POS-интеграций$30k+ только на 1С отдельно — у нас 4 коннектора в коробке.
- Доработка под dark storeТопология стеллажей и пакетная сборка — это 2 месяца команды с нуля.
- Аналитика SKU в ClickHouseПайплайн с материализованными view — 1.5 месяца bi-команды.
- Постоянные обновления POS1С и Set Retail обновляются — коннекторы ломаются. Мы держим их актуальными.
Честный список ограничений
Лучше сказать сейчас, чем выяснить через месяц после оплаты. Если ваш кейс упирается во что-то из списка ниже — напишите, предложим обходной путь или честно скажем «не наш».
- Заменить вашу 1С или Set RetailЭто рискованно для офлайн-выручки. Мы синхронизируемся с вашей кассой, а не вытесняем её.
- Делать собственный POS для фронта кассыЭто другой продукт. У вас уже работает Frontol/Set Retail — мы с ним дружим, а не конкурируем.
- Гарантировать SLA 15 минут на любой геозонеSLA — функция плотности dark store и курьеров, а не софта. Мы даём инструменты, чтобы вы выдерживали свой SLA.
- Управлять закупками и приёмкой товараЭто зона WMS/ERP вашего магазина. Мы только обслуживаем онлайн-канал поверх их данных.
- Подменять Роспотребнадзор по холодовой цепиОпциональные IoT-датчики дают логи и алерты, но контроль качества — на стороне магазина и регулятора.
Термины, чтобы говорить с нами на одном языке
- Dark store
- Магазин-склад без витрины для покупателей, обслуживающий только онлайн-заказы.
- Топология оптимизирована под сборку, не под розничное хождение. Обычно — 200–600 м² в спальном районе с плотной аудиторией.
- Slot engine
- Движок, рассчитывающий доступные окна доставки по фактической мощности пикеров и курьеров.
- Пикер (picker)
- Сотрудник магазина, собирающий заказ по корзине клиента. Отдельная роль от курьера.
- Замена SKU
- Подбор альтернативного товара, когда оригинал отсутствует. В нашей системе — через чат сборщика с клиентом.
- Весовой товар
- Товар с переменным весом (мясо, овощи, фрукты), точная цена которого известна после взвешивания. Требует холда платежа +15%.
- Q-commerce / Квик-коммерс
- Модель доставки за 15–30 минут из dark store или магазина.
- Отличается от обычной доставки сжатым SLA и плотностью точек обслуживания.
- Пакетная сборка
- Сборка нескольких близких заказов одним пикером за один проход по магазину.
- Топология стеллажей
- Карта расположения товаров в магазине, по которой строится оптимальный маршрут сборки.
- Холодовая цепь
- Контроль температуры товара от витрины до доставки. Требует термо-сумок и опциональных IoT-датчиков.
- GS1
- Международная система штрихкодов EAN/UPC. GS1 Russia — каталог обогащения карточек по штрихкоду.
- ЭДО (Диадок/СБИС)
- Электронный документооборот для B2B: счета-фактуры, УПД, акты без бумаги.
- Channel manager
- Модуль синхронизации заказов между собственным каналом и агрегаторами (Самокат, Лавка, Купер).
- Surge-наценка
- Динамическая надбавка к стоимости доставки в пиковые часы или плохую погоду.
- B2B-кабинет
- Раздел для корпоративных клиентов: лимиты, роли, ЭДО, отгрузочные документы.
Кому подходит «Доставка продуктов Express» — и как его обычно разворачивают.
Свой канал доставки вместо 25% комиссии Самокату
Сеть супермаркетов в Краснодаре хочет запустить доставку без зависимости от Самоката и Лавки. Уже работает 1С:Розница, две точки тестировали Delivery Club — забирает 25% комиссии.
Запуск четырёх dark store с SLA 15 минут
Команда планирует запустить 4 dark store по Москве с гарантией доставки за 15 минут. Конкурируют с Самокатом и Лавкой в нишевом ассортименте (натуральные продукты, эко).
Доставка из премиум-супермаркета без помех офлайну
Премиальный супермаркет в Питере хочет одновременно обслуживать офлайн-покупателей и онлайн-заказы из того же зала.
B2B-подписка на еженедельные коробки
Локальная сеть здорового питания хочет добавить B2B-канал для офисов: подписка на еженедельные коробки фруктов, орехов, снеков.
Готовые сценарии — не надо собирать из частей.
- Веб-кабинет клиента + админка оператора
- iOS-приложение (Swift / React Native)
- Android-приложение (Kotlin / React Native)
- Полнофункциональная админ-панель оператора
- Маршрутизация курьеров + live-tracking
- Тарификация по зонам и весу
- Брендирование (логотип, цвета, шрифты, домен) — без правок исходников
- Локализация под русский + английский, легко добавить другие
Что спрашивают операторы перед запуском «Доставка продуктов Express»
За сколько реально запустить с нашим магазином и кассой?
Что с весовым товаром — реально работает?
Сможем ли мы отказаться от Самоката и Лавки?
Как замены SKU работают на практике?
Можно ли подключить нашу действующую программу лояльности?
Что если 1С упала на час?
Поддерживаются ли подписки на регулярные заказы?
Можно ли использовать как dark store без розничного магазина?
Нужно ли что-то менять в нашей 1С?
Как считаются бонусы пикеров и курьеров?
Сколько одновременных заказов держит один dark store?
Есть ли API для интеграции в наш сайт?
Поддержка СБП по QR на двери магазина?
Работает ли с малой розницей (1–3 точки)?
Что с App Store / Google Play публикацией?
Поддерживается ли франшизная модель сети?
Возвраты — как клиент получает деньги назад?
Можно ли продавать алкоголь через эту платформу?
Что я получаю при покупке: исходники или только бинарник?
Где физически работает мой деплой при аренде?
Сколько времени от заказа до боевого URL?
Можно подключить собственный домен и сертификат?
Как работают обновления продукта?
Что если мне нужны кастомные доработки?
Похожие в нише «Доставки»
Доставка готовой еды: рестораны, курьеры, клиент. Маршрутизация, оплата, чаевые, рейтинги.
Аптеки + рецептурный контроль, верификация фармацевта, холодовая цепь, расписание.
C2C-доставка посылок, тарификация по весу/расстоянию, мультимодальные маршруты.
Курьерская доставка документов: подпись на месте, фото-подтверждение, юр-логирование.
Доставка алкоголя 18+ с верификацией возраста, гео-ограничения, time-windows.
Букеты и подарки, анонимность отправителя, открытки, фото-отчёт получателю.
Готовы запустить «Доставка продуктов Express» под своим брендом?
Аренда: 5 минут от заказа до боевого URL. Покупка: 1–5 рабочих дней.