Сложное в простой упаковке: сделали крутой кастомный конфигуратор

Сложное в простой упаковке: сделали крутой кастомный конфигуратор

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

Главной задачей проекта стало развитие потоковых продаж: нам предстояло доработать сайт заказчика, сделав его более похожим на традиционный интернет-магазин. И, поскольку серверы это «сборный» товар, важным элементом доработки стал новый конфигуратор, интуитивно-понятный и удобный для вышеупомянутого менеджера, то есть неподготовленного конечного клиента. Спойлер: с задачей мы блестяще справились. О разработке расскажет главный автор проекта, Антон Ивченко.

Вводные данные: что было до

Сложное в простой упаковке: сделали крутой кастомный конфигуратор

Прежний конфигуратор представлял собой конструктор с очень жёстко заданными правилами: «у нас есть сервер, он собирается по определенным правилам и ему подходит определенный набор компонентов для разных ячеек».

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

Пример: у тебя есть дисковые корзины — по сути это просто железка, в которую вставляются диски. Прежний конфигуратор не позволял просто выбрать дисковую корзину и уже в неё вставлять нужные диски, поскольку диски в базе «расположены» отдельно и совместимы только с отдельной «ячейкой для дисков».

Идем в сторону гибкости

Новый конфигуратор сделан по другому принципу: мы сделали ставку на максимальную гибкость.

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

Теперь вы сначала настраиваете правила, по которым конфигуратор «смотрит» на каталог и автоматически подбирает компоненты, удовлетворяющие вашим параметрам.

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

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

Изначальная гибкость в формировании правил позволяет выставлять ограничения («ты обязательно должен добавить компонент в ячейку или необязательно», количество и т. д.), дополнительные скидочные коэффициенты и многое другое.

Пример: в одной корзинке у тебя есть зелёное яблоко и красное яблоко, а в другой — огурец и помидор. Мы можем задать правила взаимосвязи между компонентами, что, когда достаёшь красное яблоко, ты можешь взять только помидор, а когда зелёное — и помидор, и огурец. Сами правила прописываются как дополнительные скрипты на интерпретаторе Java, доработанном нашими разработчиками.

Добавляем скрипты

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

Скрипты работают по той же схеме: «смотрят» все возможные свойства тех объектов, которые вставляются в ячейки, их количество и как-то их сравнивают. Это позволяет очень гибко настроить, либо в принципе ограничить выбор пользователю.

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

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

Приводим в порядок логику

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

Что получилось

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

Новый конфигуратор приносит много пользы:

  • Экономит время менеджеров заказчика. Теперь они могут переключиться на другие важные задачи.
  • Ставит продажи на поток. Прежний алгоритм по сути ручной обработки заказов сменился на автоматизированный.
  • Работает на конверсионность сайта. Простота оформления заказа становится сильным аргументом «за» в выборе поставщика.
  • Повышает лояльность. Конечные клиенты, сравнивая конфигуратор с другими решениями на рынке, понимают, что заказчик заботится об их комфорте.
  • Позволяет обрабатывать незавершенные заказы. Если в процессе что-то пошло не так, мы видим что именно — и можем обратиться к несостоявшемуся клиенту с конкретными полезными предложениями.

Цифровой швейцарский нож

Сложное в простой упаковке: сделали крутой кастомный конфигуратор

Созданный нами конструктор универсален. Он отлично подходит не только для формирования высокотехнологичных сборок, по типу серверов, но и для любого процесса, где есть компоновка одного заказа из разных элементов, которые могут подходить или не подходить друг к другу и заказу в целом.

Более того, пользователю не обязательно выкупать весь заказ: он может просто проверить совместимость, отложить часть товара, внести позиции в избранное.

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

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

При регистрации покупатель передает вам данные контактов, что-то покупает и отмечает остальное — это готовый горячий (как минимум, теплый) лид для ретаргета, акционных предложений, рассылок и прочих догоняющих механик. Кроме того, ссылкой на конфигурацию можно поделиться — и перешедший по ней становится новым потенциальным клиентом.

77
4 комментария

Интересно. Где можно посмотреть результат?

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