Пошаговая инструкция
Сначала пройдите walkthrough со скриншотами. Точки показывают, куда нажимать, а видео показывают ввод текста, раскрытие списков, календарей, выбор локаций, результата акции и сохранение в реальном сервисе.
Поля на этом экране
Список Promotions
Как заполнить: Откройте список и проверьте существующие акции перед добавлением новой.
Зачем: Так менеджер не создаёт дубли и видит, какие скидки уже активны.
Add
Как заполнить: Нажмите Add, чтобы создать новую акцию в текущей компании.
Зачем: Новая запись получает ID, привязку к компании и открывается в форме Promotion.
Available
Как заполнить: Включайте только после проверки всех условий акции.
Зачем: Этот switch включает само правило скидки для заказов.
Available in the customer interface
Как заполнить: Оставьте включённым, если акцию должны видеть клиенты в приложении или клиентском интерфейсе.
Зачем: Правило может работать внутри POS, но не показываться клиентам, если этот switch выключен.
Name
Как заполнить: Введите короткое название акции на активном языке интерфейса.
Зачем: Название видно в списках, карточках, выборе акции, поддержке и будущих AI-объяснениях.
Photos
Как заполнить: Загрузите квадратное изображение 1:1, рекомендовано 300 x 300 или больше.
Зачем: Это основное изображение акции в карточках и клиентских экранах.
Background photo
Как заполнить: Загрузите широкую обложку 7:2, например 1400 x 400.
Зачем: Фон используется как визуальная шапка акции и должен быстро объяснять оффер.
Background color
Как заполнить: Выберите цвет, который не конфликтует с фото и текстом.
Зачем: Цвет помогает карточке выглядеть понятно, даже если фон не загрузился.
Description
Как заполнить: Напишите описание на активном языке: что получает клиент и при каких условиях.
Зачем: Описание объясняет клиенту и сотруднику, почему скидка применяется.
Start date
Как заполнить: Откройте календарь и выберите дату старта акции.
Зачем: Акция не должна применяться раньше запуска.
End date
Как заполнить: Откройте календарь и выберите дату окончания.
Зачем: Старые офферы должны выключаться автоматически.
Select locations
Как заполнить: Выберите только заведения, где акция реально действует.
Зачем: Клиент не должен видеть акцию филиала, который её не выполняет.
Promo code
Как заполнить: Введите код без пробелов, например LUNCH15.
Зачем: Промокод связывает маркетинг, заказ, чек и отчётность.
Accumulate bonuses on promotional items
Как заполнить: Включайте только если товары по акции всё равно должны начислять бонусы.
Зачем: Это влияет на маржу и лояльность.
Apply promotion automatically
Как заполнить: Включите, если скидка должна срабатывать сама при выполнении условий.
Зачем: Сотруднику не придётся вручную искать промокод или акцию.
Apply with other promotions
Как заполнить: Включайте только для совместимых акций.
Зачем: Если выключено, заказ не сможет получить несколько конфликтующих скидок.
Promotion hours
Как заполнить: Задайте время начала и окончания, если акция действует только часть дня.
Зачем: Ланч, happy hour и вечерние предложения должны работать по расписанию.
Promotion days
Как заполнить: Выберите дни недели, когда акция действует.
Зачем: Это защищает от применения будничной акции в выходные или наоборот.
Number of uses per order
Как заполнить: Раскройте список и выберите лимит применений в одном заказе.
Зачем: Ограничение защищает маржу и не даёт повторно применить одну скидку.
Order conditions for products
Как заполнить: Выберите логику условия: по товару, количеству, сумме или составу заказа.
Зачем: Система должна понимать, что клиент обязан купить для получения скидки.
Promotion participants
Как заполнить: Выберите аудиторию: все, гости, авторизованные клиенты или группа.
Зачем: Это определяет, кому акция доступна.
Client group
Как заполнить: Заполняйте только если акция доступна конкретной группе клиентов.
Зачем: Групповые акции нужны для VIP, новых клиентов, опта или loyalty-сегментов.
What needs to be ordered
Как заполнить: Откройте выбор товара, если условие зависит от конкретного продукта.
Зачем: Так правило связывается с реальным товаром или блюдом.
Condition
Как заполнить: Выберите сравнение условия: равно, больше, меньше или другой вариант из списка.
Зачем: Сравнение превращает условие в проверяемую бизнес-логику.
How many / For how much
Как заполнить: Введите количество или сумму, если акция зависит от объёма заказа.
Зачем: Числа делают правило точным и проверяемым в заказе.
Promotion result
Как заполнить: Выберите результат: процент, фиксированная цена, фиксированная сумма, бонусы или скидка на весь заказ.
Зачем: Результат определяет, как именно изменится сумма или бонусный баланс.
Promotion applies
Как заполнить: Для бонусных результатов выберите, применяются они сразу или на будущие покупки.
Зачем: Это влияет на ожидания клиента и расчёт бонусов.
Save
Как заполнить: Сохраняйте только после проверки медиа, текста, дат, локаций, кода, условий, аудитории, результата, дней и часов.
Зачем: Несохранённая акция не станет надёжным источником для заказов, отчётов и AI-агентов.
Частые ошибки
- Включать Available до заполнения условий, дат и результата.
- Создавать публичную акцию без понятного фото и описания.
- Оставлять End date пустой у временного предложения.
- Выбирать все заведения, хотя акция работает только в одном филиале.
- Смешивать промокод, авто-применение и совместимость с другими акциями без проверки маржи.
- Не указывать дни и часы для ланчей, happy hour и сезонных предложений.
- Выбирать группу клиентов, но не проверять, что клиенты действительно входят в эту группу.
- Не проверять строку в списке после сохранения.
Техническая таблица для AI-агентов
Этот блок расположен ниже пользовательской инструкции. Он нужен поддержке, автоматизациям и будущим AI-агентам, которые будут объяснять поведение акций из таблицы Supabase discounts.
| Поле | Хранится как | Назначение | Почему важно |
|---|---|---|---|
| ID | discounts.id | Уникальный ID акции. | Нужен для списка, редактирования, промокодов, заказов, логов и поддержки. |
| Компания | discounts.company_id | Компания-владелец акции. | Не даёт скидкам смешиваться между компаниями. |
| Доступность | discounts.available | Активна ли акция как правило скидки. | Заказы проверяют это поле перед применением акции. |
| Название | discounts.name[] | Мультиязычное название акции. | Используется в интерфейсе, клиентских экранах, поиске и AI-объяснениях. |
| Тип результата | discounts.type | Тип скидки или бонуса. | Определяет, как меняется сумма заказа или бонусный баланс. |
| Заведения | discounts.establishment[] | ID заведений, где акция доступна. | Локационная фильтрация защищает от неверного применения скидки. |
| Флаг скидки | discounts.discount_bool | Дополнительный признак скидочного поведения. | Помогает старой и новой логике отличать типы правил. |
| Фото | discounts.photos[] | Квадратные медиа акции. | Карточки акции и клиентские экраны нуждаются в понятном визуале. |
| Фоновое фото | discounts.background_photo | Широкий фон акции. | Используется для обложки и промо-экрана. |
| Цвет | discounts.color | Цвет фона или акцента. | Сохраняет читаемость карточки и брендовый вид. |
| Промокод | discounts.promocode | Код для ручного или клиентского применения. | Связывает маркетинг, заказ, чек и отчётность. |
| Дата старта | discounts.date_start | Начало периода действия. | До этой даты акция не должна применяться. |
| Дата окончания | discounts.date_finish | Конец периода действия. | После этой даты акция должна перестать работать. |
| Авто-применение | discounts.auto | Применять ли акцию автоматически. | POS и заказ могут сами добавить скидку при выполнении условий. |
| Описание | discounts.description[] | Мультиязычное описание акции. | Объясняет условия и пользу для клиента и сотрудника. |
| Видимость клиентам | discounts.available_in_app | Показывать ли акцию клиентскому интерфейсу. | Можно оставить внутреннюю скидку без публичного показа. |
| Группы клиентов | discounts.group_clients[] | ID групп клиентов. | Позволяет ограничить акцию VIP, новым клиентам или другим сегментам. |
| Условия заказа | discounts.usloviya_zakaza | Включены ли условия по составу заказа. | Без условий акция может применяться слишком широко. |
| Часы действия | discounts.time_start_finish[] | Время начала и окончания в течение дня. | Ланч и happy hour должны работать только в нужные часы. |
| Дни недели | discounts.days[] | Дни, когда акция действует. | Управляет расписанием акции по неделе. |
| Участники | discounts.who_give | Кому доступна акция. | Определяет аудиторию: все, гости, авторизованные или группа. |
| Зависимости | discounts.dependencies[] | Правила по товарам, количеству и сумме. | Это машинно-проверяемая часть условий акции. |
| Фиксированные цены | discounts.price_fiks[] | Товары с фиксированной ценой в результате акции. | Нужны для сценариев, где акция меняет цену конкретного продукта. |
| Количество результата | discounts.quantity_result | Количество товара или бонусного результата. | Используется в результатах типа подарок, бонус или фиксированное правило. |
| Цена результата | discounts.result_price | Фиксированная цена результата. | Позволяет продавать товар по заданной цене. |
| Фиксированная сумма | discounts.fiks_amount | Сумма скидки в деньгах. | Нужна для скидок типа минус 5 долларов. |
| Процент скидки | discounts.discount | Процент скидки. | Используется для процентных акций и скидки на весь заказ. |
| Применение бонуса | discounts.immediately | Сразу или на будущую покупку. | Клиент должен понимать, когда сможет использовать бонус. |
| Тип бонуса | discounts.type_bonus | Тип бонусного результата. | Позволяет различать бонус суммой, процентом или количеством. |
| Один раз в заказе | discounts.timeinorderone | Ограничивает повторное применение в одном заказе. | Защищает от многократной скидки по одному правилу. |
| Совместимость | discounts.withotherpromotions | Можно ли применять вместе с другими акциями. | Предотвращает конфликтующие скидки и неконтролируемую потерю маржи. |
| Создано | discounts.created_at | Когда запись создана. | Нужно для аудита и диагностики. |
| Обновлено | discounts.updated_at | Когда запись изменена. | Поддержка и агенты видят актуальность данных. |
| Маркер перезагрузки | company.loadpromotion | Timestamp для обновления промо-данных компании. | После нативных изменений приложение должно перезагрузить скидки. |
Связанные инструкции
После Promotions проверьте кампании, баннеры, группы клиентов, клиентов, продукты, заказы и отчёты.