Как стать автором
Обновить

Комментарии 37

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

Я думаю, что это просто малореально.
Ocado, например, дает заранее за несколько месяцев забронировать слот доставки в неделю перед Рождеством. Думаю, это не спроста сделано, видимо повышенный спрос, а держать ресурсы в несколько раз больше ради одной недели никто не будет.
Очень интересно было бы почитать про мобильное приложение, его возможности, необходимость содержания двух кодовых баз для разных платформ и способы одновременного релиза, где размещаются приложения (в общем маркете или в корпоративном), принципы обмена данными с сервером, способы борьбы с повышенным расходом аккумулятора в режиме постоянной телеметрии. Как спрятали телефон клиента от курьера: сделали звонок через sip или обычный gsm-звонок на шлюз c программным донабором добавочного? Кстати, а как это сделать правильно? Решение добавлять в номер символы паузы перед тональным набором добавочного номера мне кажутся прошлым веком, в истории звонков некрасиво смотрятся, но изящного решения я не нашел (а вот ЯТакси нашли).

Отдельно хочется узнать, как решалась проблема с фоновой телеметрией (когда приложение свернуто) — я как начинающий разработчик так и не смог побороть это ограничение в ios.
Для курьеров используется парк промышленных устройств на Android, потому приложение выдачи заказов написано под Android,
проблему с выключением фонового отслеживания GPS не требовалось решать для этой платформы.
Вопрос потребления энергии решается повышенной емкостью батарей устройств и доступности зарядки в автомобиле :)
Что же касается нашего приложения для клиентов, где можно заказать товары, то оно написано под две платформы.
Приложения для внутреннего использования обновляются через собственный сервис, есть идеи посмотреть в сторону Android Enterprise для этого.

Номер телефона прячется посредством вызова через дополнительный сервис.
Сначала был обычный телефонный вызов на общий номер КЦ в котором через DTMF передавался айди, и дальше станция набирала номер клиента,
затем перешли к схеме с вызовом через дополнительный сервис, т.е. после нажатия кнопки связи с клиентом в приложении, отправляется REST запрос на сервис,
затем этот сервис совершает два исходящих звонка на номер курьера и клиента.
А почему используются именно промышленные устройства? Я правильно понимаю, что это Zebra? Всегда удивлял дикий ценник на них. Разве не проще набрать обычных Android-смартфонов и планшетов и в два раза сэкономить на железе?
Увидел ниже, что речь об Urovo. Но пока все так же непонятно, почему курьерам не подходит устройство B2C сегмента =(
Потому что надежность и отказоустойчивость девайсов В2С ниже. Когда у курьера на маршруте ломается терминал — это очень неприятно и эти риски проще устранить более надежным оборудованием.
Отличная статья, спасибо, очень интересно про склады!

Очень интересно, на какой нагрузке и какого размера базе postgre стал узким местом?

Как переживаете ситуации, в которой датацентр, где всё это работает, вдруг перестал быть доступен?
Про нашу WMS систему мы обязательно напишем отдельный пост! Спасибо за ваш интерес.
Как вы понимаете, размер базы данных не всегда единственный параметр, вызывающий проблемы с производительностью. Появление новых бизнес-требований заставляет задумывать об оптимизации. Например, когда необходимо сократить время ответа базы в несколько раз при формировании каких-то отчетов и выгрузок.
Исторически WMS система работала на территории склада, но со временем это стало создавать проблемы с поддержкой, когда количество складов стало увеличиваться. Поэтому все переехало в единый ЦОД и сейчас идет процесс построения геораспределенной серверной площадки, которая позволит перестать бояться неработающего ЦОДа.
Отличный сервис, перестали ходить в оффлайн ретейл благодаря вам.

Но у меня, как у продакта, просто глаз дёргается и руки чесаться начинают, когда вижу ваш раздел с рецептами — такое непаханное поле для коллабов с кулинарными блогерами и не только!

Прям хоть нанимайся к вам и реализуй)
И то верно. Тут и развитие идеи предложили.
Я вам больше скажу, что эту идею услышали и уже внутри X5 пилят =)
Интересная статья, спасибо.
Расскажете, как интегрировали сканеры складских сборщиков заказов?
По сканеру все просто.
Он подключен по Bluetooth к ТСД на Android, который воспринимает его как устройство ввода.

Пользуюсь постоянно, и могу сказать что 4 пункта "для стороннего наблюдателя" в 90% случаев можно дополнить еще двумя:
1.5) во время оформления заказа получил оповещение что три-четыре товара уже недоступны, пошел менять, возврат в п.1
2.5) в ночь после заказа магазин снимает еще пару позиций потому что их нет и, скорее всего, никогда и не было (например полумифический хлеб артикул 447392, который я уже точно с десяток раз добавлял в корзину но не получил ни разу, так как он отваливался либо до оформления либо до выезда :)
Раньше практиковали замены, теперь что-то перестали.


Хотелось бы видеть доп возможности, такие как оповещение о низком количестве товара в каталоге и "типовые" сборки которые можно быстро наполнять (например заранее создается список товаров, к каждому по желанию можно добавить несколько аналогов — потом при создании нового заказа по шаблону позиции заполняются максимально полно из доступного)

Спасибо за ваше постоянство!
Мы постоянно работаем над улучшением нашей механики замен. Но мы бы хотели добиться такого, чтобы замены вообще не требовались при комплектации заказов.
Спасибо за точное указание артикула товара, который вызывает постоянные проблемы. Мы уже передали эту информацию коллегам для исправления и проработки.
Отличный пост, сейчас как раз организую подобное на нашем предприятии, появилась пара вопросов:
1. Что за девайс у товарища на руке (картинка №2)?
2. на 1-й картинке на стеллаже №26 (Справа), на 4-й полке снизу, справа 2 ячейки на адресном складе. И коробка чая стоит ровно посередине между ними. Когда товарищ будет её брать он отсканит ячейку №1 или №2 (справа)? и как решается проблема с остатками в ячейках на этом примере?
1. ТСД на Android от Urovo, модели разные, постоянно ищем и тестируем новые аппараты
2. При отборе сотрудник не сканирует ячейку, т.к. мы резервируем товар в конкретной ячейке и формируем задание на отбор из этой ячейки. Сотрудник выполняющий задание может отобрать товар из той ячейки где он зарезервирован либо отправить его в брак или утерю. В этом случае проблемы с остатками нет. Т.к. у ячеек нет физических границ товар может оказаться в соседней ячейке, но это не вызывает проблем у склада.
Спасибо за ответ! по п.1 предлагал подобный девайс руководству, было отклонено под предлогом что он недостаточно «Антивандальный». Можете сказать из вашего опыта? насколько часто в среднем они выходят из строя по причине что «Его уронили», а потом «На него уронили ящик»?
по п.2: не совсем понял, «у ячеек нет физических границ», у вас довольно большой ассортимент. Сотрудники, которые занимаются сборкой заказов, не могут помнить все наименования наизусть… т.е., насколько я понимаю, сотруднику «Сборщику» на тсд должно прийти задание типа «Иди на такой-то ряд, и с того -то стеллажа, с такой-то ячейки собери 3 пачки»… а если вы говорите что товар может оказаться на соседней ячейке, тогда появляется высокая вероятность ошибки. или я ошибаюсь? он же соберет не тот товар?
Сотрудник видит на ТСД номер стелажа, полки и ячейки откуда необходимо взять товар, а так же наименование и фотографию товара. Задание отбора можно выполнить только сосканировав штрихкод товара, поэтому отобрать не тот товар не получится.
Спасибо, за информацию.
Очень интересно узнать так же о WMS — как внедряли, с какими сложностями столкнулись, как синхронизируются остатки в WMS с учетной системой, как происходит инвентаризация, останавливаете ли склад и т.д., о приложениях для водителя и о приложении для складских рабочих.
Всегда интересно узнать как «это работает» во «взрослых» компаниях.
Поддерживаю. Всю статью говорят о WMS, но даже непонятно, что за WMS. X5RetailGroup, или до сих пор EXCEED + NQ?
Синхронизация остатков: WMS получает из учетной системы документы поставки, на основании этих документов создаются партии товара, после чего товар размещается в ячейки. Товар из ячеек отбирается для заказов и уезжает клиентам. После продажи заказа WMS получает чеки из приложения курьера и отправляет их в учётную систему, там товар списывается на основании чеков. В WMS товар списывается после изменения статуса заказа на «выкуплен» или «выкуплен частично»

Приложение для складских рабочих: приложение на Android. В котором в webView крутится одностраничное веб-приложение на knockout.js и jQuery, которое по api стучится в WMS.
Можно подробнее о проблемах с Postgres и как планируете решать?
Обязательно напишем отдельный пост про это. Нам есть о чем рассказать и, возможно, помочь кому-то избежать множества грабель!
Отличная статья!!! Жду продолжения про работу складов, как всё устроено!!! Давно не читал что-либо с таким интересом! Молодцы!!!

Сделайте книгу рецептов (где все ингредиенты есть в вашем магазине), и возможность прямо из книги рецептов добавления всех продуктов в корзину нажатием 2 кнопок — количество порций и добавить (список продуктов с чекбоксами с возможностью исключить имеющийся продукт из подборки)

Я так понимаю, что пока все простое, потому что объемы маленькие. А так вручную будет не очень дешево собирать заказы на большом объеме. `
Вот последняя платформа Ocado: www.youtube.com/watch?v=4DKrcpa8Z_E
Возможно, у Перекрестка дойдет когда-нибудь до этого уровня. Хотя у Окадо эта итерация заняла несколько лет даже имея многолетний опыт.
Да, мы уже начинаем готовится к тому, чтобы автоматизировать максимально все ручные операции и, конечно же, сборку на складе. Сейчас на рынке есть несколько интересных решений, которые мы рассматриваем и готовимся к постепенной роботизации склада.
Очень неполохой и даже полезной была бы опция заказа с самовывозом. Делаешь заказ, указываешь в каком магазине забирать и не паришься успеть домой к приезду курьера. Случаи ведь разные бывают: задержался на работе, пробки, мама просила заехать «никаких отговорок» и т. п. Мне вот очень не хватает, все равно магазин прямо по дороге домой — зашел, забрал и не ходишь по магазину и не стоишь в очереди на кассу. Я так в Мяснове и Отдохни (сеть магазинов такая) делаю.
А у нас есть такая функция и она так и называется: самовывоз. При оформлении заказа вы можете выбрать, что вам удобнее: получить заказ курьером (этот вариант выбран по умолчанию) или забрать заказ в магазине. Правда, далеко не все магазины доступны к выбору, но их количество постоянно увеличивается.
Это здорово, проверю на ближайшем магазине, но мне кажется, что там нет такой функции.

Полтора года не работает. Заказ в данном магазине недоступен. К магазину вообще есть претензии.

"… С витриной всё по классике — покупатель заходит на сайт, проводит какое-то время, выбирая товары и наполняя корзину, изучает карточки товаров..."
В поисковой части ведь целый мир. Что за движок используете?

Вопрос от коллег:
а какой состав команды (роли, количество), которая занимается этим продуктом?
Софт пишется внутри (приложение для курьеров) или заказная разработка?
А в сторону конвейерных систем pick-to-light не смотрели? Думаю будет куда как дешевле окадо )). Плюс практически не требуются сканеры. Плюс сборщиков учить не надо. Правда есть другие подводные камни: пластиковые кнопки световых модулей быстро протирались от нажатий пальцами в тряпичных перчатках. )))
Зарегистрируйтесь на Хабре, чтобы оставить комментарий