Начать бесплатно

Интернет-магазин

Витрина: варианты и свотчи, фасетный и ИИ-поиск, корзина, чекаут и доставка

17 мин чтения Открыть этот экран в демо
На этой странице 15

Интернет-магазин: витрина и продажи

Cenaly — это не только меню ресторана, но и полноценный интернет-магазин: товарный каталог с вариантами, витрина с фильтрами и поиском, карточка товара, корзина и оформление заказа, доставка/самовывоз и приём оплаты. Этот раздел — обзор всего пути от включения розничной вертикали до продажи; за деталями каждого шага следуйте по ссылкам в тексте.


Включение вертикали «Магазин»#

Тип бизнеса локации переключается в общих настройках локации либо прямо в WEB-настройках сайта (раздел Сайты → «Настройки сайта»). Как только тип выставлен на «Магазин» (retail), витрина переключается в режим интернет-магазина:

  • вместо разговорного меню ресторана — каталог, страницы подборок и товарные страницы вида /product/название (шаблон адреса товара настраивается: можно название, можно категория/название, можно свой); категории при этом не отдельные страницы, а раздел каталога — на них ведут прямые ссылки-фильтры;
  • в кассе (POS) вместо привязки к столу и залу — сканирование штрихкодов и продажа весового товара;
  • в SEO-пререндере для поисковиков и ИИ-агентов — карточки товаров вместо карточек блюд, товарная разметка Product/Offer вместо меню ресторана (подробнее — SEO и продвижение витрины).

Каталог#

Каталог — это набор товаров и категорий, из которых строится витрина.

  • Категории — структура, в которой «живёт» товар (не путать с подборками — витринными группами для маркетинга).
  • Товары и варианты — товар может иметь несколько вариантов (SKU) по осям вроде «Цвет»/«Размер»/«Материал»: каждая комбинация — отдельная строка склада со своей ценой, штрихкодом и остатком.
  • Свотчи расцветок-сиблингов — если один и тот же товар выпускается в разных материалах/цветах как отдельные товарные карточки, на витрине они показываются как маленькие цветные кружки прямо в списке категории: клик по свотчу подменяет фото, название и цену карточки на выбранную расцветку — не нужно заходить в карточку, чтобы посмотреть другой цвет.
  • Доп. характеристики — размер, цвет, материал, объём, бренд и любые другие атрибуты; подробно — Доп. характеристики товаров.
  • Мультифото — у товара может быть галерея из нескольких фото и видео (не только одна обложка), с описанием у каждого кадра; одно из фото можно назначить «фото при наведении» — на витрине оно всплывает кроссфейдом, когда покупатель наводит курсор на карточку в каталоге.

Наполнить каталог быстрее всего — через AI-импорт каталога: загружаете прайс-лист (Excel/Word/PDF/фото) или даёте ссылку на сайт, ИИ распознаёт товары и цены и показывает план на проверку. Есть и обычный импорт CSV по Shopify-совместимой схеме — и экспорт каталога в тот же формат.


Добавить товар со штрихкодом#

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

  1. Откройте раздел «Каталог» и нажмите «+ Товар» под нужной категорией (такая же кнопка над списком создаёт товар без категории). Откроется окно «Новый товар».
  2. На вкладке «Основное» заполните «Название товара» — без названия кнопка «Сохранить» неактивна. Флажок «Товар виден в витрине (опубликован)» у нового товара уже включён.
  3. На вкладке «Цена» укажите цену и заполните поля «SKU» (ваш артикул) и «Штрихкод» (код с упаковки). Если этих полей не видно, нажмите шестерёнку в шапке окна («Настройка отображения карточки товара») и включите «SKU и штрихкод».
  4. Нажмите «Сохранить». Штрихкод записывается в карточку товара и в индекс сканера кассы.
  5. Проверьте: на кассе отсканируйте код — в чек должен попасть этот товар с указанной ценой.

Что важно знать:

  • Штрихкод — это не количество. Сохранение карточки остатка не создаёт. Для товара без вариантов это окно складскую позицию не заводит; поштучный учёт по SKU ведётся у вариантов (следующий раздел), а количество на складе меняют складские документы — приход, инвентаризация и другие, см. Склад.
  • Повтор кода окно не проверяет. Если такой же штрихкод уже есть у другого товара, предупреждения не будет — проверьте код сканом на кассе до начала продаж.
  • Коды, привязанные к товару на кассе, сохраняются. В поле показан один основной код; дополнительные коды, привязанные с кассы (см. Касса), при сохранении карточки не стираются.
  • С вариантами код задаётся каждому варианту. Как только у товара появились варианты, поля SKU и штрихкода на вкладке «Цена» скрываются, а общий код товара при сохранении снимается.
  • Для сырья и расходников, которые продаются не карточкой каталога, штрихкоды задают в карточке товара на странице «Склад» — там при совпадении кода с другой карточкой появится вопрос, создавать ли вторую.

Завести варианты товара и продать нужный SKU#

  1. Откройте товар в «Каталоге» и перейдите на вкладку «Варианты». Если её нет, включите «Варианты» в настройке карточки (шестерёнка в шапке окна).
  2. Нажмите «+ Добавить ось» и введите её название, например «Размер». Кнопкой «+ значение» добавьте значения: S, M, L. Так же добавьте вторую ось, например «Цвет». Если для категории задан шаблон товаров, над осями появится строка «Категория ожидает оси:» — нажмите на ось, чтобы добавить её одним касанием.
  3. Нажмите «Сгенерировать матрицу» (кнопка активна, когда у каждой оси есть хотя бы одно значение). Появится таблица: каждая строка — одна комбинация, например «M / Красный», то есть отдельный вариант (SKU).
  4. По строкам заполните SKU, Штрихкод, Цена, при необходимости До скидки, Себест. и вес. Цена на вкладке «Цена» у товара с вариантами — базовая: витрина показывает её как «от …», пока покупатель не выбрал вариант.
  5. Проверьте два столбца справа. «Остаток» — галочка «учёт» (у новых строк включена): остаток этого SKU ведётся на складе. «Наличие» — галочка «нет» помечает вариант распроданным: строка остаётся с пометкой «Sold out», на витрине вариант виден, но заказать его нельзя. Кнопка «Удалить» убирает строку из матрицы совсем.
  6. Нажмите «Сохранить». Для каждого активного варианта на странице «Склад» появляется своя позиция с названием вида «Футболка / M / Красный» — с тем же штрихкодом и ценой. Её название и опции на складе не редактируются: в складской карточке есть ссылка «Это вариант товара (SKU) — название и опции задаются в карточке товара». Количество этого SKU пополняют складские документы.
  7. Поменяли оси или значения — нажмите «Пересобрать матрицу» (окно подскажет: «Оси изменились — нажмите «Пересобрать матрицу», чтобы обновить строки»). Строки уцелевших комбинаций сохраняют заполненные поля, новые появляются пустыми. Варианты, убранные из матрицы, при сохранении уходят на складе в архив, а их история движений остаётся.
  8. На кассе конкретный вариант попадает в чек сканом его штрихкода. Касание плитки такого товара по умолчанию кладёт в чек товар без варианта, и остаток SKU при такой продаже не списывается. Чтобы касание открывало окно «Выберите вариант» с ценой и остатком каждого SKU, включите в ⚙ → «Внешний вид POS» опцию «Выбор варианта касанием». Сменить вариант у строки чека можно командой «Размер / цвет». Перед оплатой проверьте в строке чека название варианта и цену.

Варианты товара (SKU) отличаются от добавок к блюду. Смена штрихкода сама по себе не создаёт нового остатка и не исправляет ранее проведённые продажи.


Собрать набор (комплект) со списанием компонентов#

Набор — товар, при продаже которого склад должен уменьшиться на его части: «чай + кружка», подарочная коробка. Части набора — это товары склада, в том числе варианты других товаров (например, «Кружка / Белая»).

  1. Проверьте, что компоненты есть на странице «Склад». Если справочник склада пуст, вкладка так и скажет: «Справочник склада пуст — сначала заведите товары на странице «Склад»».
  2. Откройте товар-набор в «Каталоге» и перейдите на вкладку «Состав».
  3. В блоке «Как набор связан со складом» выберите режим:
    • «Списывать состав при продаже» — своего остатка у набора нет, каждая продажа списывает со склада его компоненты. При сохранении у вариантов набора выключается «учёт» остатка: он был бы виртуальным;
    • «Собирать заранее» — продажа списывает сам набор (его вариант с включённым «учётом»), а компоненты при продаже не трогает;
    • «Не набор» — обычный товар, режим по умолчанию.
  4. В блоке «Состав на одну проданную единицу» нажмите «+ Добавить компонент», выберите товар в списке и укажите «Расход» — сколько этого товара уходит на один проданный набор. Единица (шт, г, мл…) берётся из складской карточки компонента.
  5. Если у набора есть варианты, появится поле «Состав для» со значением «Всех SKU (по умолчанию)». Чтобы у одного варианта был свой состав (например, подарочная упаковка только у большого набора), выберите этот вариант и нажмите «Задать свой состав» — список скопируется из общего, его можно поправить. Такие варианты в списке помечены «свой состав»; «Вернуть общий состав» отменяет отличие.
  6. Нажмите «Сохранить» в окне товара.
  7. Проверьте: продайте набор и, когда заказ будет завершён, откройте историю движений компонента на странице «Склад» — там появится списание на расход из состава.

Ограничения:

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

Витрина: фильтры и поиск#

На страницах каталога и подборок покупатель может:

  • Фильтровать по характеристикам — фасетная панель (боковая на десктопе, выезжающая шторка на мобильном) строится автоматически по характеристикам товаров в категории: цвет, размер, материал и любые другие, плюс цена и наличие. Отмеченные значения внутри одной характеристики работают по ИЛИ, между разными характеристиками — по И (стандартная логика фасетов).
  • Искать текстом — строка поиска ищет по названию и описанию товара. Характеристики ищутся не строкой, а фасетами (и ИИ-помощником, см. ниже).
  • Спросить ИИ-помощника покупателя (поиск по смыслу) — встроенный чат отвечает на вопросы о товарах на языке покупателя: подберёт товар по описанию, сравнит варианты, подскажет наличие и характеристики. Он понимает смысл запроса, а не только точные слова: «что-то тёплое на зиму» найдёт куртки и свитеры, даже если этих слов нет в названии. Работает поверх векторного индекса товаров, куда попадает вся информация о товаре — характеристики, бренд, артикул, штрихкод, вложенные документы. Поэтому помощник умеет найти товар по штрихкоду, даже если сам штрихкод нигде не показан на витрине. В магазине смысловой поиск включён независимо от размера каталога.

Карточка товара (PDP)#

Страница товара показывает:

  • Галерею — все фото и видео товара, с подписями и зумом;
  • Характеристики — таблицу «свойство → значение» (размер, материал, вес и т.п.);
  • Editorial-блоки — дополнительные контентные секции «фото + заголовок + текст» в нескольких раскладках (полноширинный блок, фото слева/справа, оверлей на фото) — удобно для истории бренда, материалов, ухода за товаром;
  • Похожие товары, «с этим товаром часто покупают» и «вы недавно смотрели» — блоки перекрёстных продаж под описанием;
  • Вишлист — сердечко «в избранное», доступное в личном кабинете покупателя;
  • «Сообщить о поступлении» — если товара нет в наличии, покупатель оставляет контакт и получает уведомление, когда товар снова появится на складе.

Корзина и оформление заказа#

  • Корзина собирается с любой страницы каталога/товара, поддерживает несколько вариантов одного товара как отдельные строки.
  • Промокоды и купоны проверяются и применяются на сервере — сумма скидки не может быть подделана на стороне покупателя.
  • Цена в корзине не отстаёт от каталога — корзина переживает перезагрузку страницы вместе с ценой на момент добавления, поэтому при следующей загрузке меню цены обычных строк пересчитываются по свежему каталогу. Если расхождение всё-таки дошло до оплаты, сервер её не начнёт и вернёт покупателя в корзину с новым итогом.
  • Налог считается по налоговой группе товара (задаётся прямо в карточке) и по правилам налоговой таблицы вашей локации — ставка может зависеть ещё и от канала продажи (в зале, навынос, доставка). Подробнее — Коммерция.
  • Оплата не начнётся, если товара уже не хватает — перед созданием платёжной сессии сервер сверяет корзину с остатком склада и показывает покупателю, каких именно строк не хватило. Проверка идёт до списания подарочных карт и до похода в платёжный шлюз, поэтому такой отказ ничего не тратит. Исключения — блюда с тех-картой (у них списываются компоненты, а не сама позиция), позиции без складского учёта и режим предзаказа.
  • Цены в разных валютах — витрина может показывать цену в валюте покупателя (пересчёт курса) при том, что сама локация ведёт учёт в одной валюте.
  • Аккаунт покупателя — отдельный вход для покупателей (не общий с сотрудниками заведения): история заказов, сохранённые адреса, вишлист.

Купоны, автоскидки и методы расчёта доставки настраиваются в отдельном разделе — Коммерция.


Правила заказа и покупатели#

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

  • Персонализация товара — поля ввода на карточке товара: гравировка, надпись на торте, размер по индивидуальной мерке. Значения едут в заказ и видны на кухне, на кассе, в KDS и в чеке.
  • Количество в заказе — минимум, шаг и максимум по товару. Степперы на витрине, подсказки и чекаут уважают правила, а сервер проверяет их повторно.
  • Система единиц — метрическая или имперская: вес и габариты вводятся в фунтах, унциях и дюймах, а хранятся в едином каноне. Полезно для США.
  • Группы покупателей и модерация регистрации — новый покупатель может попадать «на проверку»: до одобрения витрина показывает ему гейт вместо оформления. Группы задают, кто что видит.
  • Блок-лист и анти-фрод — запрет заказов по телефону, email или IP-адресу и лимит на число неоплаченных заказов за окно времени (по телефону или по IP) — как раз от «накидал корзин и пропал». Отклонённый заказ показывает гостю понятный тост, а в списке заказов видна причина отклонения. Добавить контакты в блок-лист можно прямо из карточки заказа.
  • Режим обслуживания витрины — временно закрыть приём заказов: полноэкранная заглушка с вашим текстом, переведённая на все языки витрины, и серверный запрет оформления (закрыть можно всю витрину или только оформление, оставив просмотр).
  • Свои названия строк витрины — можно переименовать типовые надписи («В корзину», «Оформить заказ» и др.) под свой тон.

Попросить покупателя заполнить обязательное поле к товару#

Так товар, который делают под заказ, не уйдёт в корзину без нужных данных: текста гравировки, надписи, размера по мерке. Поле относится к конкретному товару — это не общий комментарий ко всему заказу.

  1. Откройте товар в «Каталоге» и перейдите на вкладку «Цена», блок «Поля ввода покупателя». Если блока нет, включите «Поля ввода покупателя (гравировка, надпись)» в настройке карточки (шестерёнка в шапке окна).
  2. Нажмите «+ Добавить поле». В «Подпись» напишите, что нужно указать, например «Текст гравировки» — подпись можно перевести на языки витрины. Поле без подписи не сохранится.
  3. В «Тип» выберите «Короткий текст» или «Длинный текст».
  4. Отметьте «Обязательное».
  5. По желанию заполните «Подсказка» (серый текст внутри поля на витрине), «Макс. длина» (если пусто — 120 символов, для длинного текста 1000) и «Надбавка» — доплата за единицу товара, когда поле заполнено. Порядок полей меняют кнопки «Выше» и «Ниже»; на товар — не больше 10 полей.
  6. Нажмите «Сохранить» в окне товара.
  7. Проверьте на витрине: на странице товара появился блок «Персонализация», у обязательного поля — звёздочка. Пока поле пустое, кнопка добавления в корзину неактивна, а если покупатель ушёл из пустого поля, под ним появится «Заполните обязательные поля персонализации». Быстрое добавление такого товара из списка каталога открывает его страницу, чтобы покупатель заполнил поле.
  8. Оформите пробный заказ: введённый текст едет в строке заказа и виден в карточке заказа.

Обязательность проверяет витрина, когда покупатель кладёт товар в корзину. Поля настраиваются в окне товара — в карточке блюда ресторана такого блока нет.


Способы получения#

Способ Что это Подробнее
Самовывоз Покупатель забирает заказ сам, к указанному времени Заказы
Своя доставка Свои курьеры: экран курьера, карта с маршрутом, живой GPS-трекинг, фото-подтверждение вручения Своя доставка
Агрегаторы Доставка силами Wolt/Glovo без своих курьеров Wolt, Glovo
Транспортные компании Расчёт и сравнение тарифов нескольких служб на чекауте см. ниже

Транспортные компании и сравнение тарифов#

На чекауте можно показать сравнение тарифов нескольких транспортных служб сразу и дать покупателю выбрать самый дешёвый или самый быстрый вариант (оба варианта помечаются бейджами). Список служб подбирается по стране вашей локации:

Страна локации Службы
Россия СДЭК, Почта России, Яндекс Доставка, 5Post, ApiShip (агрегатор российских служб)
Казахстан СДЭК, Яндекс Доставка, Exline, Казпочта
Грузия Trackings.GE, Яндекс Доставка
Узбекистан Яндекс Доставка
Беларусь СДЭК
Украина Нова Пошта

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

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

Адреса ПВЗ синхронизируются автоматически, а итоговая стоимость доставки уходит в заказ и попадает в чек.

Два важных ограничения, о которых лучше знать заранее:

  • Цена без договора не показывается. Пока у службы не подключены ваши боевые реквизиты (СДЭК — по договору и ИНН, часть служб — по номеру телефона), её тариф покупателю не покажется вовсе: мы принципиально не показываем гостю «примерную» цену, за которую потом не сможем отвечать. Исключение — службы с открытым калькулятором, которым договор для расчёта не нужен: Почта России, Казпочта и базовый тариф Exline.
  • Печать этикеток есть не у всех. Создание отправления и печать этикетки работают для СДЭК, Trackings.GE и Exline; у остальных служб пока только расчёт тарифа и выбор ПВЗ.

Прикинуть стоимость, не создавая заказ#

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


Оплата#

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


Витрина для ИИ-агентов#

Каталог магазина «читаем» не только людьми, но и ИИ-агентами (голосовыми ассистентами, поисковыми и шоппинг-агентами):

  • страница llms.txt на вашем домене — машиночитаемая карта сайта для ИИ;
  • страницы товаров и каталога отдаются ботам в обогащённом виде: хлебные крошки, бренд, наличие, таблица характеристик, варианты с ценами, товарная разметка (структурированные данные Product/Offer, а для товаров с несколькими вариантами — сгруппированная разметка со всеми вариантами);
  • инструмент поиска товаров доступен внешним ИИ-агентам через публичный Guest API / MCP — тот же протокол, что используют голосовые ассистенты для заказа в ресторане. Подробности — в разделе Guest API для AI-агентов.

Связанные разделы#


Частые вопросы#

Можно ли совмещать ресторан и магазин в одном аккаунте?#

Тип бизнеса задаётся на уровне локации, поэтому у сети с несколькими точками одни локации могут быть ресторанами, а другие — магазинами, каждая со своим режимом витрины.

Семантический поиск работает на любом каталоге?#

В вертикали «Магазин» — да, на каталоге любого размера, и работает он через ИИ-помощника покупателя. У ресторанного меню смысловой поиск включается только на больших каталогах (примерно от 120 позиций) — на меньших ИИ и так видит меню целиком. Обычный текстовый поиск и фасетные фильтры работают везде и всегда.

Показывается ли точный остаток товара на складе?#

Решаете вы. Есть три режима показа остатка: ничего не показывать, «осталось мало» без числа и «осталось N штук» — причём число появляется, только когда остаток опустился ниже заданного порога. Это не косметика: в первых двух режимах точное число вообще не уезжает в публичные данные витрины, так что прочитать ваш склад со стороны нельзя. Отдельно настраивается, что делать с распроданным товаром: показывать с пометкой «нет в наличии», прятать из списков или принимать предзаказ.

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

Свотчи расцветок — это варианты одного товара или разные товары?#

Технически это разные товарные карточки (у каждой свой slug, фото, возможно и своя цена), но на витрине они визуально объединены свотчами в одну карточку — покупатель переключает расцветку прямо в списке, не теряя контекст просмотра.