Назад к кейсам

Омниканальная корзина со сложной логикой складов, доставок и программ лояльности

Разработали омниканальную корзину со сложной логикой взаимодействия складов, доставок и программ лояльности.
Определились с разбивкой на подзаказы, рассчитали стоимость и сроки доставки, проработали механику взаимодействие с внешними системами учета заказов.
Сделали гибкое и удобное решение
Пользователь может комбинировать товары из розничных магазинов и интернет-склада, оплачивать разными способами и при этом использовать все промо-механики
1. Определились с задачей и проанализировали существующие схемы Задача Как эту проблему решают на других проектах 2. Определились с логикой разбивки заказа Сделали акцент на курьерскую доставку со склада и розничного магазина Рассчитали стоимость доставки 3. Доработали программы лояльности Добавили поддержку промо-механик Что в итоге

1. Определились с задачей и проанализировали существующие схемы

Наш клиент — ДжамильКо, одна из ведущих российских компаний в сфере маркетинга и дистрибуции одежды, обуви и аксессуаров от ведущих мировых производителей. Одним из самых известных брендов был NewBalance — обувь продавали и оффлайн, и в интернете. Компания хотела дать клиентам возможность бронировать товар в магазине, поэтому мы взялись за настройку омниканальной корзины со сложной логикой взаимодействия складов, доставок и программ лояльности. 

  • Омниканальная корзина — это объединение разных каналов доставки и оплаты в единую систему.

Задача

Если бренд продает товары только со своего склада — проблем нет. Пользователь добавляет их в корзину, стандартно оформляет заказ — заполняет данные о себе, указывает адрес для доставки, выбирает способ оплаты. Но если, например, в заказе есть товары, часть из которых находится на складе интернет-магазина, а часть — в торговых залах, откуда пока нельзя оформить доставку, стандартный способ перестает работать: не получится заказать часть товаров курьером, а часть — в ближайший магазин. Это неудобно для пользователей: приходится либо оформлять два разных заказа, либо искать другой магазин.

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

Как эту проблему решают на других проектах

Некоторые магазины дают оформить заказ на самовывоз по механике «купить в 1 клик», но оплатить и использовать программу лояльности получится только в розничном магазине.

Например, в магазине Motherbear некоторые размеры можно забронировать и купить только в магазине.

Можно сформировать заказ с разными товарами в корзине, но там будет указано, что часть товаров можно доставить в пункт выдачи или курьером, а часть доступна только для самовывоза.

В магазине Mark Formelle можно оформить разные способы доставки для товаров в одной корзине: например, если некоторые позиции доступны только для самовывоза из магазина.

Еще распространена схема с оформлением двух отдельных заказов: одного — для доставки, другого — для самовывоза. Но лишние действия нагружают пользователя, и он может уйти с сайта, чтобы найти более удобную площадку.

Текущая проблема — если есть товары с разным типом отгрузки, в корзине появляется сообщение с просьбой оформить отдельный заказ с товаром, недоступным для доставки в одном заказе.

Еще один метод, который мы пробуем на другом проекте — если в корзине есть товары, что доступны онлайн, и те, что продаются только в розницу, то клиент видит оповещение «увеличенный срок доставки» и может заказать курьера для всех позиций. Но есть и минусы: не получится оформить самовывоз, и срок доставки больше ожидаемого.

На маркетплейсах можно оформить раздельную корзину в одном окне: например, когда клиент выбирает товары, которые доставляют внутри РФ, и те, что привозят из-за рубежа. Но доставка иностранных заказов обычно занимает месяц и больше.

На Ozon после оформления заказа предложат выбрать не только ближайший пункт выдачи, но и адрес для доставки службой-партнером — например, Почтой России.

2. Определились с логикой разбивки заказа

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

Клиент может использовать следующие способы доставки:

  • Доставка курьером со склада;
  • Доставка в пункт выдачи;
  • Доставка в выбранную розничную точку.

Для каждого способа доставки действуют свои ограничения. Например, в розничных магазинах может быть отключена курьерская доставка по техническим или иным причинам. Некоторые товары в целом невозможно отправить курьером, поскольку это запрещено законом (например, взрывоопасные аэрозоли). Это нужно учитывать: например, на этапе корзины оповещать клиента о том, что товар доступен только в розничном магазине.

По умолчанию все товары добавляются в группу «Курьерская доставка»; если доставка невозможна, товар располагается в другой группе (самовывоз или получение в ПВЗ).

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

Сделали акцент на курьерскую доставку со склада и розничного магазина

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

Разберем, как выглядит процесс доставки курьером из розничного магазина с омниканальной корзиной:

1. Ищем магазин, где все товары есть в наличии. Если получилось найти такую точку, то оформляем заказ без разбивки на подзаказы.

2. Составляем комбинации магазинов. Это список розничных магазинов, где есть минимум одна единица товара с анализом общего вхождения всех товаров корзины по пути меньших логистических цепочек. Так заказ разделяется на подзаказы: например, из одного магазина доставят кроссовки и футболку, и второго — спортивные штаны. 

Если какой-то из товаров нельзя доставить курьером в указанном городе, то он автоматически переходит в другую группу доставки.

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

В таком случае мы списываем максимально возможное количество товара из первой точки, а остаток — из второго магазина. Если количество товаров одинаковое, то списываем максимум из магазина с самым высоким приоритетом (наименьшее число). Если полный состав товаров в комбинации двух магазинов не найден, то перебираем комбинации 1+1+1 и повторяем весь цикл описанный во втором пункте. 

Рассчитали стоимость доставки

Цена может меняться в зависимости от общей суммы товаров в заказе (товаров из всех подзаказов).

Разберем, как варьируется стоимость доставки: 

  • Курьерская доставка и доставка в пункт выдачи: при заказе товаров на сумму до 10 тысяч рублей стоимость рассчитывается по внутренним тарифам курьерской службы. Если сумма заказа выше 10 000 рублей, и оплату провели онлайн, то доставка бесплатная;
  • Самовывоз из магазина: бесплатно при любой сумме заказа. 

Для каждого способа доставки доступны свои способы оплаты: 

  • Самовывоз из розницы: действует только оплата наличными или картой при получении;
  • Доставка в пункт выдачи и курьерская доставка: можно оплатить как при получении, так и онлайн. 
При доставке в ПВЗ или курьером дается скидка при онлайн-оплате.

Способы оплаты являются взаимоисключающими. В рамках одного подзаказа должен быть доступен только один способ оплаты.

3. Доработали программы лояльности

С омниканальной корзиной при покупке в интернет-магазине действуют различные механики программы лояльности — промокод, АэрофлотБонус, бонусная система. Все они зависят от тех способов доставки, которые выбраны пользователем. Разберем подробнее: 

Самовывоз из магазина и курьерская доставка: можно списать или начислить бонусы на карту, использовать карту «Аэрофлот Бонус», но применить промокод не получится. 

Доставка в пункт выдачи и курьером: можно как использовать бонусные карты, так и применить промокод. 

Пользователю доступны любые двойные или тройные комбинации механик программы лояльности. Исключений два: бонусная карта не мэтчится с картой «Аэрофлот бонус» и промокодами.

Добавили поддержку промо-механик

Промо-механики поддерживаются на уровне всех подзаказов пользователя. Объясним на примере. Допустим, клиент заказал постельное белье от магазина Х за 10 000 рублей и других товаров на 35 000 рублей. Если магазин Х дает 1000 бонусов за покупку от 40 000 рублей, то пользователь их получит, так как оценивается полная стоимость заказа, а не конкретных позиций. 

Какие бывают промо-механики: 

  1. Статичные — например, для онлайн-оплаты применяется скидка 5%;
  2. В зависимости от акций — например, скидка 20% на изделия из выделенного ассортимента при покупке двух любых единиц; прогрессивная скидка за товары от 10 000 рублей; подарок за покупку на сайте при определенной стоимости заказа. 
Уведомление об акции обычно появляется в корзине с подробным описанием сроков и условий предложения.

Что в итоге

В результате мы собрали действительно гибкую и удобную омниканальную корзину — пользователь видит все доступные способы доставки, может комбинировать товары из розничных магазинов и интернет-склада, оплачивать разными способами и при этом использовать все промо-механики.

Мы детально проработали логику разбивки заказов, определили приоритеты складов, оптимизировали маршруты доставки и учли нюансы, вроде невозможности курьерской доставки некоторых категорий товаров. Всё это — в одном интерфейсе, без необходимости оформлять два и более заказа вручную.

Изначально эта корзина создавалась для New Balance — она должна была соединить онлайн и офлайн-продажи и позволить пользователю бронировать товар в магазине и заказывать его с доставкой. Но после того как New Balance ушёл с российского рынка, наработки не пропали: корзина начала внедряться на других проектах ДжамильКо — например, в Wolford, Bootwood и других брендах из их портфеля.