Задача
Заказ на печать до этого жил в переписке: клиент описывал, что хочет, менеджер уточнял тираж и размеры, дизайнер смотрел присланный логотип, смета собиралась вручную. Обычная товарная карточка такой процесс не выдерживает. Количество здесь не одно число, а распределение по S, M, L и XL. Цена зависит от того, печатаем мы в одну зону или в три, и сколько цветов в каждой. Часть методов нанесения недоступна для конкретного материала, а часть требует подготовки, которая оплачивается отдельно от самих изделий.
Нужно было провести заказчика по всей цепочке самостоятельно: подобрать изделие, собрать тираж по цветам и размерам, зафиксировать зоны и параметры нанесения, увидеть предварительный расчёт, создать или загрузить макет, согласовать proof, оплатить — и передать всё это в производство, не пересобирая требования заново. Сотрудникам при этом требовалась одна административная система на каталог, ценовые матрицы, заявки, макеты, согласования, заказы и производственные статусы.
Решение
Тираж вместо количества. В карточке заказчик не вводит «50 штук», а раскладывает тираж по размерам. Система суммирует значения, проверяет минимальные производственные ограничения и сохраняет breakdown как часть позиции заказа — тот же разбор потом уходит на склад и в цех.
Instant quote на правилах. Расчёт не читает цену из SKU, а собирает её: стоимость базового изделия, ценовой tier по общему тиражу, различие между вариантами основы, число print locations, количество красок в каждой зоне, setup charge, доплата за дополнительные зоны, персональные имена и номера, выбранный способ нанесения, налоги и доставка. Пользователь видит не только итог, но и состав расчёта. Изменение цвета, количества или зоны пересчитывает смету, а не порождает новую несвязанную конфигурацию. Отдельно проверялись границы ценовых диапазонов: последний экземпляр одного tier и первый экземпляр следующего не должны получать случайную цену.
Разные технологии — разные правила. Screen printing, embroidery, DTF и другие transfer-based методы, full-colour digital printing, sublimation, персональные names and numbers для спортивной формы. Один калькулятор не применяет ко всем одинаковую формулу: screen printing считает подготовку на каждый цвет и каждое размещение, embroidery оценивает сложность вышивки, sublimation рассматривает дизайн как часть всей поверхности изделия.
Конструктор, который знает изделие. Рабочая область открывается для выбранной модели: подгружаются её ракурсы и допустимые зоны, чтобы макет нельзя было разместить на стороне, которую производство не печатает. Документ дизайна хранит не растровый preview, а редактируемую сцену — типы объектов, координаты, размеры, поворот, цвета, шрифты, ссылки на исходные файлы и выбранные зоны. Дизайн сохраняется, получает shareable link для показа коллегам и возвращается в редактирование.
Artwork отдельно от превью. Загруженный файл, рабочие версии дизайнера и финальный production asset живут как разные сущности с версиями и статусами. До печати проверяются разрешение, масштаб, прозрачность, цветовая модель, качество контуров, тонкие линии и мелкий текст; при необходимости графика векторизуется, цвета приводятся к палитре, выполняется colour separation. Так превью низкого качества не может случайно уехать в печать вместо оригинала.
Proof как точка невозврата. Согласование собирает размещение, размеры нанесения, цвета, орфографию текста, список сторон, метод производства и версию artwork. Производство разрешено только для статуса Approved, а изменение товара, цвета, текста, зоны или файла после одобрения сбрасывает approval и требует повторной проверки.
Командные заказы. К заказу формы прикрепляется roster: имя, номер, размер, модель и цвет для каждого игрока. Система проверяет обязательные поля, повторяющиеся номера и совпадение числа строк с размерным тиражом. Шаблон команды позволяет повторить заказ в следующем сезоне, поменяв только состав.
Одна связка идентификаторов. Магазин и конструктор работают на общих ключах: продукт, вариант, конфигурация тиража, пользователь, сохранённый дизайн, заказ. Позиция корзины несёт цвет, количества по размерам, зоны, число красок, метод, ссылку на дизайн и утверждённый proof. Без этой связки красивый preview не превращается в воспроизводимое производственное задание.
Результат
Клиент проходит путь сам: находит изделие, собирает тираж, задаёт нанесение, видит цену до корзины и делает макет в браузере. Если он всё же идёт к менеджеру, тот получает не письмо без контекста, а структурированную конфигурацию с товаром, размерами, зонами, artwork и сохранённым дизайном.
Те же данные без перебивки переходят в preflight, proof и production job, где к ним добавляются рабочие инструкции, ответственные и приоритет. Расхождение между тем, что клиент видел на экране, и тем, что вышло из-под пресса, перестало быть вопросом внимательности менеджера.