Магазин мебели: конфигуратор вместо обычного каталога
Конфигуратор мебели отличается от каталога тем, что товара до заказа не существует. Есть изделие, набор параметров и правило, по которому из параметров получается цена и спецификация. Ниже — как эта конструкция устроена внутри и где она обычно даёт трещину.
Почему обычная карточка товара здесь не работает
В классическом магазине цена — это поле у товара. У мебели на заказ цены нет до момента, когда клиент ввёл размеры и выбрал материал. Товар превращается из записи в функцию.
Из этого следует несколько вещей сразу. Корзина хранит не ссылку на товар, а слепок конфигурации. Остатки считаются не в штуках изделий, а в листах материала и погонных метрах кромки. Скидка применяется не к цене, а к результату расчёта.
Готовые магазинные движки построены вокруг противоположной модели: товар, цена, склад, корзина. Подогнать их можно, но каждое расхождение обходится в надстройку.
Модель данных: четыре сущности
Первая сущность — изделие. Это шаблон: шкаф, стол, кухонный модуль. У него описаны допустимые параметры и их границы, например ширина от 400 до 2400 мм с шагом 10.
Вторая — ресурс. Лист ЛДСП, погонный метр кромки, петля, направляющая, час работы. У ресурса есть единица измерения, закупочная цена и коэффициент отхода.
Третья — правило расхода. Оно связывает параметры изделия с количеством ресурса: сколько квадратных метров плиты уходит на корпус шириной X и высотой Y, сколько кромки на периметр, сколько петель на количество дверей.
Четвёртая — конфигурация. Это конкретный набор значений, который выбрал клиент, вместе с зафиксированным результатом расчёта и датой прайса.
Как считается смета
Расчёт идёт в три прохода, и порядок здесь важен.
Первый проход — геометрия. Из введённых габаритов система получает список деталей с размерами: боковины, дно, крышка, полки, фасады. Это чистая арифметика, но именно здесь живут поправки на толщину материала и на тип соединения.
Второй проход — раскрой и расход. Детали превращаются в потребность в ресурсах. Площадь деталей умножается на коэффициент отхода, периметр даёт метраж кромки, конструкция даёт количество фурнитуры.
Третий проход — деньги. Потребность в ресурсах умножается на цены из справочника, добавляются работа, доставка и наценка. Результат округляется по правилу, которое лучше задать явно, иначе цена будет выглядеть как 47 318 ₽.
Что показывать клиенту, а что прятать
Клиенту не нужна спецификация из сорока строк. Ему нужны итоговая сумма, срок и понимание, от чего сумма меняется.
Рабочий приём — показывать дельту, а не абсолют. Не «фасад МДФ — 12 400 ₽», а «фасад МДФ: +4 200 ₽ к текущей конфигурации». Человек принимает решение о разнице, а не о полной цене.
Полная спецификация при этом сохраняется и уходит в производство. В ToYou Wood сайт считает смету по размерам, принимает оплату с онлайн-чеком, создаёт отправление и печатает этикетку — человеку остаётся приклеить её и отдать курьеру. Спецификация в этой цепочке — то, что связывает клиентский выбор с заказом на распил.
Три места, где конфигуратор ломается
Первое — округление и шаг. Если разрешить ввод любого числа миллиметров, клиент введёт 1237, и на производстве это превратится в отдельную наладку. Шаг размера — не ограничение интерфейса, а производственное решение.
Второе — несовместимые сочетания. Не любая фурнитура ставится на любую толщину, не любой фасад бывает нужной ширины. Правила совместимости приходится описывать явно, и их всегда больше, чем кажется на старте.
Третье — изменение прайса задним числом. Заказ, оформленный вчера по вчерашним ценам, не должен пересчитаться после загрузки нового прайса. Конфигурация хранит зафиксированные цены, а не ссылки на актуальные.
Что делать с доставкой негабарита
Мебель нельзя отправить обычной посылкой, и стоимость доставки зависит от объёма и веса, которые известны только после расчёта. Значит, доставка — это ещё одно правило поверх спецификации, а не строка в настройках.
Практично считать объём упаковки из габаритов деталей с запасом на упаковочный материал, а дальше передавать это в службу доставки. В ToYou Wood доставка идёт через агрегатор с 1 240 пунктами выдачи, и выбор пункта происходит уже после того, как известны размеры коробок.
Отдельный случай — самовывоз и сборка. Для них правила расчёта другие, и лучше сразу заложить три сценария, чем потом вписывать третий в двухвариантную логику.
Что происходит после нажатия «купить»
Конфигуратор заканчивается там, где начинается производство, и стык между ними — самое хрупкое место всей системы.
Оплаченная конфигурация превращается в три разных документа. Для клиента — счёт и подтверждение с итоговыми размерами. Для цеха — карта раскроя и список фурнитуры. Для склада — задание на упаковку с габаритами коробок.
Все три собираются из одной конфигурации автоматически. Если карту раскроя технолог перебивает руками, конфигуратор экономит время клиенту и добавляет его производству.
Отдельно закладывается запрет на правку заказа после запуска в работу. Раскроенный лист не вернуть, поэтому граница «до распила можно менять, после — нет» должна быть в системе, а не в договорённостях.
Как показать изделие, которого ещё нет
Клиент вводит размеры и хочет увидеть результат. Здесь есть три уровня, и выбирать стоит осознанно.
Первый — схематичный чертёж с проставленными размерами. Дёшево, понятно, достаточно для большинства случаев.
Второй — предпросмотр с текстурами материалов на плоской картинке. Дороже, продаёт лучше, но требует подготовленных изображений каждого декора.
Третий — объёмная модель, которую можно повернуть. Впечатляет, стоит заметно дороже остального конфигуратора вместе взятого и почти никогда не окупается на старте.
Когда конфигуратор не нужен
Если у вас готовая мебель фиксированных размеров, конфигуратор — лишняя сложность. Обычный каталог с вариантами цвета закроет задачу и обойдётся дешевле.
Если каждый заказ всё равно проходит через замерщика и цена определяется на объекте, сайту достаточно показать примеры работ и вилку. Точный расчёт, который потом меняется после замера, работает против вас.
И если ассортимент материалов меняется быстрее, чем вы успеваете обновлять справочник, конфигуратор начнёт считать по несуществующим позициям. Тогда сначала нужен порядок в закупках, а потом расчёт на сайте.
Сколько это стоит по срокам и деньгам
Конфигуратор с расчётом, спецификацией и приёмом оплаты — это не лендинг. Это сайт с админкой от 100 000 ₽ и 7–14 дней для одного типа изделия с простыми правилами, и работа от 150 000 ₽ и от 14 дней, когда изделий несколько, а расход считается по раскрою.
Разумный порядок запуска: сначала одно изделие с честным расчётом до рубля, потом второе. Пять изделий с приблизительной ценой хуже одного точного, потому что приблизительная цена не превращается в оплату.
Коротко
Конфигуратор — это модель изделия, справочник ресурсов и правила расхода, а не форма с полями. Расчёт идёт в три прохода: геометрия, расход, деньги. Клиенту показывают итог и разницу между вариантами, производству уходит полная спецификация, а зафиксированные цены хранятся вместе с заказом. Ломается всё обычно на шаге размера, на несовместимых сочетаниях и на прайсе, обновлённом задним числом.
Первый разговор — разбор задачи: нужна ли вам система или хватит одной страницы. Без обязательств и без счёта.
Частые вопросы
Можно ли обойтись калькулятором в виде формы с тремя полями?
Можно, если у вас одно изделие и цена линейно зависит от площади. Как только появляются варианты материала, фурнитуры и распила, форма перестаёт сходиться с реальной сметой. Тогда нужен не калькулятор, а модель изделия.
Что делать, если цены поставщика меняются каждый месяц?
Цены хранятся не в формуле, а в отдельном справочнике ресурсов, и формула к ним обращается. Обновление прайса — это загрузка нового файла, а не переписывание расчёта. Старые заказы при этом держат цену, зафиксированную на момент оформления.
Клиент насчитал у себя сумму, а по факту вышло дороже. Кто виноват?
Конфигуратор. Расчёт на сайте должен быть либо точным, либо явно помеченным как предварительный с указанием, что уточняется после замера. Смешивать эти два режима нельзя — это прямой путь к спору и возврату.
Те, что не помогают, мы переписываем — по этой кнопке и решаем, какие именно.
Ещё по теме
Справка о составе чека, разграничении зон ответственности между сайтом, кассой и бухгалтерией и порядке проверки перед запуском.
тем, кто заказывает «Жук и Плут»: детский бренд ушёл с маркетплейсов на свой сайтИстория магазина детских товаров — что мы построили, что пошло не так и почему бренд встал первым в Яндексе на третий день.
тем, кто заказывает «С этим покупают»: где ставить блоки допродажКарта мест на сайте, где допродажа работает, и что показывать в каждом — от карточки товара до письма после доставки.
тем, кто заказывает