Интернет-магазин: витрина и продажи
Cenaly — это не только меню ресторана, но и полноценный интернет-магазин: товарный каталог с вариантами, витрина с фильтрами и поиском, карточка товара, корзина и оформление заказа, доставка/самовывоз и приём оплаты. Этот раздел — обзор всего пути от включения розничной вертикали до продажи; за деталями каждого шага следуйте по ссылкам в тексте.
Включение вертикали «Магазин»#
Тип бизнеса локации переключается в общих настройках локации либо прямо в WEB-настройках сайта (раздел Сайты → «Настройки сайта»). Как только тип выставлен на «Магазин» (retail), витрина переключается в режим интернет-магазина:
- вместо разговорного меню ресторана — каталог, страницы подборок и товарные страницы вида
/product/название(шаблон адреса товара настраивается: можноназвание, можнокатегория/название, можно свой); категории при этом не отдельные страницы, а раздел каталога — на них ведут прямые ссылки-фильтры; - в кассе (POS) вместо привязки к столу и залу — сканирование штрихкодов и продажа весового товара;
- в SEO-пререндере для поисковиков и ИИ-агентов — карточки товаров вместо карточек блюд, товарная разметка Product/Offer вместо меню ресторана (подробнее — SEO и продвижение витрины).
Каталог#
Каталог — это набор товаров и категорий, из которых строится витрина.
- Категории — структура, в которой «живёт» товар (не путать с подборками — витринными группами для маркетинга).
- Товары и варианты — товар может иметь несколько вариантов (SKU) по осям вроде «Цвет»/«Размер»/«Материал»: каждая комбинация — отдельная строка склада со своей ценой, штрихкодом и остатком.
- Свотчи расцветок-сиблингов — если один и тот же товар выпускается в разных материалах/цветах как отдельные товарные карточки, на витрине они показываются как маленькие цветные кружки прямо в списке категории: клик по свотчу подменяет фото, название и цену карточки на выбранную расцветку — не нужно заходить в карточку, чтобы посмотреть другой цвет.
- Доп. характеристики — размер, цвет, материал, объём, бренд и любые другие атрибуты; подробно — Доп. характеристики товаров.
- Мультифото — у товара может быть галерея из нескольких фото и видео (не только одна обложка), с описанием у каждого кадра; одно из фото можно назначить «фото при наведении» — на витрине оно всплывает кроссфейдом, когда покупатель наводит курсор на карточку в каталоге.
Наполнить каталог быстрее всего — через AI-импорт каталога: загружаете прайс-лист (Excel/Word/PDF/фото) или даёте ссылку на сайт, ИИ распознаёт товары и цены и показывает план на проверку. Есть и обычный импорт CSV по Shopify-совместимой схеме — и экспорт каталога в тот же формат.
Добавить товар со штрихкодом#
Окно товара с вкладками открывается у точек с типом бизнеса «Магазин» и «Интернет-магазин» (и у пункта выдачи заказов). Чтобы добавлять и менять товары, нужно право «Изменение» в разделе «Каталог»; если кнопка добавления неактивна — этого права нет или каталог упёрся в лимит позиций тарифа.
- Откройте раздел «Каталог» и нажмите «+ Товар» под нужной категорией (такая же кнопка над списком создаёт товар без категории). Откроется окно «Новый товар».
- На вкладке «Основное» заполните «Название товара» — без названия кнопка «Сохранить» неактивна. Флажок «Товар виден в витрине (опубликован)» у нового товара уже включён.
- На вкладке «Цена» укажите цену и заполните поля «SKU» (ваш артикул) и «Штрихкод» (код с упаковки). Если этих полей не видно, нажмите шестерёнку в шапке окна («Настройка отображения карточки товара») и включите «SKU и штрихкод».
- Нажмите «Сохранить». Штрихкод записывается в карточку товара и в индекс сканера кассы.
- Проверьте: на кассе отсканируйте код — в чек должен попасть этот товар с указанной ценой.
Что важно знать:
- Штрихкод — это не количество. Сохранение карточки остатка не создаёт. Для товара без вариантов это окно складскую позицию не заводит; поштучный учёт по SKU ведётся у вариантов (следующий раздел), а количество на складе меняют складские документы — приход, инвентаризация и другие, см. Склад.
- Повтор кода окно не проверяет. Если такой же штрихкод уже есть у другого товара, предупреждения не будет — проверьте код сканом на кассе до начала продаж.
- Коды, привязанные к товару на кассе, сохраняются. В поле показан один основной код; дополнительные коды, привязанные с кассы (см. Касса), при сохранении карточки не стираются.
- С вариантами код задаётся каждому варианту. Как только у товара появились варианты, поля SKU и штрихкода на вкладке «Цена» скрываются, а общий код товара при сохранении снимается.
- Для сырья и расходников, которые продаются не карточкой каталога, штрихкоды задают в карточке товара на странице «Склад» — там при совпадении кода с другой карточкой появится вопрос, создавать ли вторую.
Завести варианты товара и продать нужный SKU#
- Откройте товар в «Каталоге» и перейдите на вкладку «Варианты». Если её нет, включите «Варианты» в настройке карточки (шестерёнка в шапке окна).
- Нажмите «+ Добавить ось» и введите её название, например «Размер». Кнопкой «+ значение» добавьте значения: S, M, L. Так же добавьте вторую ось, например «Цвет». Если для категории задан шаблон товаров, над осями появится строка «Категория ожидает оси:» — нажмите на ось, чтобы добавить её одним касанием.
- Нажмите «Сгенерировать матрицу» (кнопка активна, когда у каждой оси есть хотя бы одно значение). Появится таблица: каждая строка — одна комбинация, например «M / Красный», то есть отдельный вариант (SKU).
- По строкам заполните SKU, Штрихкод, Цена, при необходимости До скидки, Себест. и вес. Цена на вкладке «Цена» у товара с вариантами — базовая: витрина показывает её как «от …», пока покупатель не выбрал вариант.
- Проверьте два столбца справа. «Остаток» — галочка «учёт» (у новых строк включена): остаток этого SKU ведётся на складе. «Наличие» — галочка «нет» помечает вариант распроданным: строка остаётся с пометкой «Sold out», на витрине вариант виден, но заказать его нельзя. Кнопка «Удалить» убирает строку из матрицы совсем.
- Нажмите «Сохранить». Для каждого активного варианта на странице «Склад» появляется своя позиция с названием вида «Футболка / M / Красный» — с тем же штрихкодом и ценой. Её название и опции на складе не редактируются: в складской карточке есть ссылка «Это вариант товара (SKU) — название и опции задаются в карточке товара». Количество этого SKU пополняют складские документы.
- Поменяли оси или значения — нажмите «Пересобрать матрицу» (окно подскажет: «Оси изменились — нажмите «Пересобрать матрицу», чтобы обновить строки»). Строки уцелевших комбинаций сохраняют заполненные поля, новые появляются пустыми. Варианты, убранные из матрицы, при сохранении уходят на складе в архив, а их история движений остаётся.
- На кассе конкретный вариант попадает в чек сканом его штрихкода. Касание плитки такого товара по умолчанию кладёт в чек товар без варианта, и остаток SKU при такой продаже не списывается. Чтобы касание открывало окно «Выберите вариант» с ценой и остатком каждого SKU, включите в ⚙ → «Внешний вид POS» опцию «Выбор варианта касанием». Сменить вариант у строки чека можно командой «Размер / цвет». Перед оплатой проверьте в строке чека название варианта и цену.
Варианты товара (SKU) отличаются от добавок к блюду. Смена штрихкода сама по себе не создаёт нового остатка и не исправляет ранее проведённые продажи.
Собрать набор (комплект) со списанием компонентов#
Набор — товар, при продаже которого склад должен уменьшиться на его части: «чай + кружка», подарочная коробка. Части набора — это товары склада, в том числе варианты других товаров (например, «Кружка / Белая»).
- Проверьте, что компоненты есть на странице «Склад». Если справочник склада пуст, вкладка так и скажет: «Справочник склада пуст — сначала заведите товары на странице «Склад»».
- Откройте товар-набор в «Каталоге» и перейдите на вкладку «Состав».
- В блоке «Как набор связан со складом» выберите режим:
- «Списывать состав при продаже» — своего остатка у набора нет, каждая продажа списывает со склада его компоненты. При сохранении у вариантов набора выключается «учёт» остатка: он был бы виртуальным;
- «Собирать заранее» — продажа списывает сам набор (его вариант с включённым «учётом»), а компоненты при продаже не трогает;
- «Не набор» — обычный товар, режим по умолчанию.
- В блоке «Состав на одну проданную единицу» нажмите «+ Добавить компонент», выберите товар в списке и укажите «Расход» — сколько этого товара уходит на один проданный набор. Единица (шт, г, мл…) берётся из складской карточки компонента.
- Если у набора есть варианты, появится поле «Состав для» со значением «Всех SKU (по умолчанию)». Чтобы у одного варианта был свой состав (например, подарочная упаковка только у большого набора), выберите этот вариант и нажмите «Задать свой состав» — список скопируется из общего, его можно поправить. Такие варианты в списке помечены «свой состав»; «Вернуть общий состав» отменяет отличие.
- Нажмите «Сохранить» в окне товара.
- Проверьте: продайте набор и, когда заказ будет завершён, откройте историю движений компонента на странице «Склад» — там появится списание на расход из состава.
Ограничения:
- Если режим выбран, а состав пуст, при продаже не спишется ничего — окно предупредит: «Режим выбран, но состав пуст — при продаже не спишется ничего».
- В режиме «Собирать заранее» состав с этой вкладки при продаже не используется, а документ «Выпуск» на странице «Склад» его тоже не берёт: «Выпуск» работает с полуфабрикатами, у которых тех-карта задана в складской карточке. Количество готовых наборов вносите на склад сами — приходом или инвентаризацией по позиции варианта набора. У набора без вариантов складской позиции нет, и в этом режиме его продажа ничего не списывает.
- Набор из товаров — не то же, что комбо из блюд в ресторане: у комбо свой механизм, см. Тех-карты.
Витрина: фильтры и поиск#
На страницах каталога и подборок покупатель может:
- Фильтровать по характеристикам — фасетная панель (боковая на десктопе, выезжающая шторка на мобильном) строится автоматически по характеристикам товаров в категории: цвет, размер, материал и любые другие, плюс цена и наличие. Отмеченные значения внутри одной характеристики работают по ИЛИ, между разными характеристиками — по И (стандартная логика фасетов).
- Искать текстом — строка поиска ищет по названию и описанию товара. Характеристики ищутся не строкой, а фасетами (и ИИ-помощником, см. ниже).
- Спросить ИИ-помощника покупателя (поиск по смыслу) — встроенный чат отвечает на вопросы о товарах на языке покупателя: подберёт товар по описанию, сравнит варианты, подскажет наличие и характеристики. Он понимает смысл запроса, а не только точные слова: «что-то тёплое на зиму» найдёт куртки и свитеры, даже если этих слов нет в названии. Работает поверх векторного индекса товаров, куда попадает вся информация о товаре — характеристики, бренд, артикул, штрихкод, вложенные документы. Поэтому помощник умеет найти товар по штрихкоду, даже если сам штрихкод нигде не показан на витрине. В магазине смысловой поиск включён независимо от размера каталога.
Карточка товара (PDP)#
Страница товара показывает:
- Галерею — все фото и видео товара, с подписями и зумом;
- Характеристики — таблицу «свойство → значение» (размер, материал, вес и т.п.);
- Editorial-блоки — дополнительные контентные секции «фото + заголовок + текст» в нескольких раскладках (полноширинный блок, фото слева/справа, оверлей на фото) — удобно для истории бренда, материалов, ухода за товаром;
- Похожие товары, «с этим товаром часто покупают» и «вы недавно смотрели» — блоки перекрёстных продаж под описанием;
- Вишлист — сердечко «в избранное», доступное в личном кабинете покупателя;
- «Сообщить о поступлении» — если товара нет в наличии, покупатель оставляет контакт и получает уведомление, когда товар снова появится на складе.
Корзина и оформление заказа#
- Корзина собирается с любой страницы каталога/товара, поддерживает несколько вариантов одного товара как отдельные строки.
- Промокоды и купоны проверяются и применяются на сервере — сумма скидки не может быть подделана на стороне покупателя.
- Цена в корзине не отстаёт от каталога — корзина переживает перезагрузку страницы вместе с ценой на момент добавления, поэтому при следующей загрузке меню цены обычных строк пересчитываются по свежему каталогу. Если расхождение всё-таки дошло до оплаты, сервер её не начнёт и вернёт покупателя в корзину с новым итогом.
- Налог считается по налоговой группе товара (задаётся прямо в карточке) и по правилам налоговой таблицы вашей локации — ставка может зависеть ещё и от канала продажи (в зале, навынос, доставка). Подробнее — Коммерция.
- Оплата не начнётся, если товара уже не хватает — перед созданием платёжной сессии сервер сверяет корзину с остатком склада и показывает покупателю, каких именно строк не хватило. Проверка идёт до списания подарочных карт и до похода в платёжный шлюз, поэтому такой отказ ничего не тратит. Исключения — блюда с тех-картой (у них списываются компоненты, а не сама позиция), позиции без складского учёта и режим предзаказа.
- Цены в разных валютах — витрина может показывать цену в валюте покупателя (пересчёт курса) при том, что сама локация ведёт учёт в одной валюте.
- Аккаунт покупателя — отдельный вход для покупателей (не общий с сотрудниками заведения): история заказов, сохранённые адреса, вишлист.
Купоны, автоскидки и методы расчёта доставки настраиваются в отдельном разделе — Коммерция.
Правила заказа и покупатели#
Блок настроек, которые определяют, что покупатель может положить в корзину и кто вообще может у вас купить.
- Персонализация товара — поля ввода на карточке товара: гравировка, надпись на торте, размер по индивидуальной мерке. Значения едут в заказ и видны на кухне, на кассе, в KDS и в чеке.
- Количество в заказе — минимум, шаг и максимум по товару. Степперы на витрине, подсказки и чекаут уважают правила, а сервер проверяет их повторно.
- Система единиц — метрическая или имперская: вес и габариты вводятся в фунтах, унциях и дюймах, а хранятся в едином каноне. Полезно для США.
- Группы покупателей и модерация регистрации — новый покупатель может попадать «на проверку»: до одобрения витрина показывает ему гейт вместо оформления. Группы задают, кто что видит.
- Блок-лист и анти-фрод — запрет заказов по телефону, email или IP-адресу и лимит на число неоплаченных заказов за окно времени (по телефону или по IP) — как раз от «накидал корзин и пропал». Отклонённый заказ показывает гостю понятный тост, а в списке заказов видна причина отклонения. Добавить контакты в блок-лист можно прямо из карточки заказа.
- Режим обслуживания витрины — временно закрыть приём заказов: полноэкранная заглушка с вашим текстом, переведённая на все языки витрины, и серверный запрет оформления (закрыть можно всю витрину или только оформление, оставив просмотр).
- Свои названия строк витрины — можно переименовать типовые надписи («В корзину», «Оформить заказ» и др.) под свой тон.
Попросить покупателя заполнить обязательное поле к товару#
Так товар, который делают под заказ, не уйдёт в корзину без нужных данных: текста гравировки, надписи, размера по мерке. Поле относится к конкретному товару — это не общий комментарий ко всему заказу.
- Откройте товар в «Каталоге» и перейдите на вкладку «Цена», блок «Поля ввода покупателя». Если блока нет, включите «Поля ввода покупателя (гравировка, надпись)» в настройке карточки (шестерёнка в шапке окна).
- Нажмите «+ Добавить поле». В «Подпись» напишите, что нужно указать, например «Текст гравировки» — подпись можно перевести на языки витрины. Поле без подписи не сохранится.
- В «Тип» выберите «Короткий текст» или «Длинный текст».
- Отметьте «Обязательное».
- По желанию заполните «Подсказка» (серый текст внутри поля на витрине), «Макс. длина» (если пусто — 120 символов, для длинного текста 1000) и «Надбавка» — доплата за единицу товара, когда поле заполнено. Порядок полей меняют кнопки «Выше» и «Ниже»; на товар — не больше 10 полей.
- Нажмите «Сохранить» в окне товара.
- Проверьте на витрине: на странице товара появился блок «Персонализация», у обязательного поля — звёздочка. Пока поле пустое, кнопка добавления в корзину неактивна, а если покупатель ушёл из пустого поля, под ним появится «Заполните обязательные поля персонализации». Быстрое добавление такого товара из списка каталога открывает его страницу, чтобы покупатель заполнил поле.
- Оформите пробный заказ: введённый текст едет в строке заказа и виден в карточке заказа.
Обязательность проверяет витрина, когда покупатель кладёт товар в корзину. Поля настраиваются в окне товара — в карточке блюда ресторана такого блока нет.
Способы получения#
| Способ | Что это | Подробнее |
|---|---|---|
| Самовывоз | Покупатель забирает заказ сам, к указанному времени | Заказы |
| Своя доставка | Свои курьеры: экран курьера, карта с маршрутом, живой GPS-трекинг, фото-подтверждение вручения | Своя доставка |
| Агрегаторы | Доставка силами Wolt/Glovo без своих курьеров | Wolt, Glovo |
| Транспортные компании | Расчёт и сравнение тарифов нескольких служб на чекауте | см. ниже |
Транспортные компании и сравнение тарифов#
На чекауте можно показать сравнение тарифов нескольких транспортных служб сразу и дать покупателю выбрать самый дешёвый или самый быстрый вариант (оба варианта помечаются бейджами). Список служб подбирается по стране вашей локации:
| Страна локации | Службы |
|---|---|
| Россия | СДЭК, Почта России, Яндекс Доставка, 5Post, ApiShip (агрегатор российских служб) |
| Казахстан | СДЭК, Яндекс Доставка, Exline, Казпочта |
| Грузия | Trackings.GE, Яндекс Доставка |
| Узбекистан | Яндекс Доставка |
| Беларусь | СДЭК |
| Украина | Нова Пошта |
Это подсказка, а не запрет: остальные службы всегда доступны в разделе «прочие» — для магазинов, которые возят трансгранично.
Для служб с сетью пунктов выдачи (ПВЗ) на чекауте показывается карта ближайших пунктов — покупатель выбирает удобный ПВЗ прямо при оформлении заказа, без перехода на сторонний сайт.
Адреса ПВЗ синхронизируются автоматически, а итоговая стоимость доставки уходит в заказ и попадает в чек.
Два важных ограничения, о которых лучше знать заранее:
- Цена без договора не показывается. Пока у службы не подключены ваши боевые реквизиты (СДЭК — по договору и ИНН, часть служб — по номеру телефона), её тариф покупателю не покажется вовсе: мы принципиально не показываем гостю «примерную» цену, за которую потом не сможем отвечать. Исключение — службы с открытым калькулятором, которым договор для расчёта не нужен: Почта России, Казпочта и базовый тариф Exline.
- Печать этикеток есть не у всех. Создание отправления и печать этикетки работают для СДЭК, Trackings.GE и Exline; у остальных служб пока только расчёт тарифа и выбор ПВЗ.
Прикинуть стоимость, не создавая заказ#
Кнопка «Рассчитать стоимость» в настройках служб доставки (и в очереди отправлений, где адрес, вес и сумма уже подставлены из заказа) сразу котирует посылку по всем службам вашей страны: укажите адрес или индекс получателя, вес и объявленную ценность — и увидите тарифы в одной таблице. Службы, которые вы ещё не подключили, тоже считаются — по нашим тестовым реквизитам, и такие строки честно помечены, чтобы вы не приняли их за боевую цену. Каждая служба отвечает в своей валюте: мы не пересчитываем тарифы по выдуманному курсу.
Оплата#
Магазин принимает оплату так же, как ресторанное меню: онлайн картой/кошельком через подключённый платёжный провайдер (набор провайдеров зависит от страны локации), оплату при получении курьеру и оплату на кассе при самовывозе/очной продаже. Подробности, список провайдеров и подключение — в разделе Оплата.
Витрина для ИИ-агентов#
Каталог магазина «читаем» не только людьми, но и ИИ-агентами (голосовыми ассистентами, поисковыми и шоппинг-агентами):
- страница
llms.txtна вашем домене — машиночитаемая карта сайта для ИИ; - страницы товаров и каталога отдаются ботам в обогащённом виде: хлебные крошки, бренд, наличие, таблица характеристик, варианты с ценами, товарная разметка (структурированные данные Product/Offer, а для товаров с несколькими вариантами — сгруппированная разметка со всеми вариантами);
- инструмент поиска товаров доступен внешним ИИ-агентам через публичный Guest API / MCP — тот же протокол, что используют голосовые ассистенты для заказа в ресторане. Подробности — в разделе Guest API для AI-агентов.
Связанные разделы#
- Коммерция — купоны и автоскидки, методы доставки, партнёрская программа
- Клиенты (CRM) — карточки покупателей-организаций, документы и взаиморасчёты
- Онлайн-заказ на своём сайте — продажи на вашем существующем сайте без витрины
- Подборки товаров — витринные группы «Новинки», «Хиты продаж» и автоматические подборки по правилам
- Доп. характеристики товаров — атрибуты каталога и AI-мастер характеристик
- Возвраты и обмены (RMA) — как покупатель возвращает товар и как это обрабатывается
- AI-импорт каталога — быстрое наполнение каталога из прайса
- Конструктор сайта — оформление витрины: шаблоны, цвета, раскладка карточек
- SEO и продвижение витрины — товарные фиды, разметка, редиректы
- Статьи и страницы (CMS) — контент витрины помимо каталога
Частые вопросы#
Можно ли совмещать ресторан и магазин в одном аккаунте?#
Тип бизнеса задаётся на уровне локации, поэтому у сети с несколькими точками одни локации могут быть ресторанами, а другие — магазинами, каждая со своим режимом витрины.
Семантический поиск работает на любом каталоге?#
В вертикали «Магазин» — да, на каталоге любого размера, и работает он через ИИ-помощника покупателя. У ресторанного меню смысловой поиск включается только на больших каталогах (примерно от 120 позиций) — на меньших ИИ и так видит меню целиком. Обычный текстовый поиск и фасетные фильтры работают везде и всегда.
Показывается ли точный остаток товара на складе?#
Решаете вы. Есть три режима показа остатка: ничего не показывать, «осталось мало» без числа и «осталось N штук» — причём число появляется, только когда остаток опустился ниже заданного порога. Это не косметика: в первых двух режимах точное число вообще не уезжает в публичные данные витрины, так что прочитать ваш склад со стороны нельзя. Отдельно настраивается, что делать с распроданным товаром: показывать с пометкой «нет в наличии», прятать из списков или принимать предзаказ.
Показанное на витрине обновляется вслед за складом — приход, списание или инвентаризация освежают бейдж, причём витрина перестраивается только тогда, когда покупатель увидел бы другое (остаток упал с 8 до 7 при пороге 5 — на витрине ничего не меняется). Это касается и больших каталогов, где список товаров подгружается страницами: бейдж есть и на десятой странице, а не только на первой.
Свотчи расцветок — это варианты одного товара или разные товары?#
Технически это разные товарные карточки (у каждой свой slug, фото, возможно и своя цена), но на витрине они визуально объединены свотчами в одну карточку — покупатель переключает расцветку прямо в списке, не теряя контекст просмотра.