Заказы
Содержание раздела
Раздел «Заказы» — журнал всех покупок, проведённых через программу лояльности. Сюда автоматически попадают заказы из подключённых систем: кассы, интернет-магазина, мобильного приложения. Вручную в админ-панели заказы не создаются и не изменяются — это «окно» в реальный поток покупок, открытое для просмотра и разбора ситуаций.
Зачем это бизнесу#
- Полная картина продаж по программе. Видно, сколько клиент заплатил, какую скидку получил и сколько бонусов потратил.
- Прозрачный расчёт цены. В карточке заказа указано, какая именно акция дала какую скидку, сколько бонусов и какие подарки — это готовый ответ на вопрос клиента «почему такая цена?».
- Разбор спорных ситуаций. Оператор поддержки находит заказ и за минуту объясняет, что произошло с бонусами и промокодом.
- Данные для аналитики. Каждый заказ — вклад в отчёты по выручке, среднему чеку и эффективности акций.
Как заказ появляется в системе#
Заказ проходит несколько шагов, и админ-панель показывает результат этого пути.
Шаг 1. Расчёт. Касса или сайт спрашивает у платформы: «вот корзина покупателя — сколько будет с учётом акций и бонусов?» Платформа отвечает: итоговая цена, разбивка скидок по каждой акции, сколько бонусов спишется и сколько начислится, а если сработала акция «Подарок к покупке» — какой товар и в каком количестве добавить в чек бесплатно (цену подарка касса берёт из своего прайса, в каталоге платформы цен нет). Цены позиций всегда приходят от кассы. Этот предварительный расчёт нигде не сохраняется, поэтому запрашивать его можно сколько угодно раз — например, пока кассир добавляет товары в чек.
Шаг 2. Подтверждение. Когда покупатель оплатил, внешняя система подтверждает заказ. Только в этот момент он записывается в базу: списываются и начисляются бонусы, отмечается использование промокода, а вместе с заказом сохраняются сработавшие акции (что дала каждая: скидку, бонусы, бесплатные единицы, подарки) и выданные подарки. Заодно чек обновляет «Каталог»: новый артикул заводится товаром с названием и категорией из чека, у существующего товара обновляются название и (если касса её передала) категория, недостающая категория создаётся автоматически. Ручные правки названия в каталоге следующий чек перезапишет, бренд, теги и картинку — нет. Именно подтверждённые заказы вы видите в списке.
Шаг 3. Возврат. Если покупку возвращают, внешняя система оформляет возврат. Заказ получает статус «Возврат», начисленные за него бонусы снимаются, списанные — возвращаются на счёт клиента, а использование промокода отменяется.
Что защищает от ошибок#
- Защита от дублей. Если касса из-за сбоя связи отправит подтверждение дважды — даже одновременно, не дождавшись первого ответа, — заказ всё равно будет создан только один раз, и оба запроса получат этот заказ. Бонусы не задвоятся, промокод не «сгорит» повторно.
- Всё или ничего. Подтверждение записывается целиком: заказ, его позиции, применённые акции и подарки, бонусы, промокод, новый профиль гостя, привязка карты, новые и обновлённые товары и категории каталога сохраняются вместе. Если на любом шаге произошла ошибка, не сохраняется ничего — в журнале не бывает заказа без позиций или нового клиента без покупки, и касса может просто повторить подтверждение.
- Проверка точки продаж. Касса указывает точку продаж своим кодом — он должен совпадать с полем «Внешний ID» точки в разделе «Филиалы». Если точки с таким кодом нет и касса прислала вместе с кодом название точки, точка создаётся автоматически и помечается в разделе «Филиалы» как «Создан кассой» (см. «Филиалы»). Без названия расчёт и подтверждение с неизвестным кодом отклоняются с ошибкой «точка продаж не найдена». Неактивная точка ошибкой не считается: заказ проходит и записывается на неё.
- Проверка длины полей позиции. Артикул — не длиннее 100 символов, название, категория и бренд — не длиннее 255. Чек с более длинным значением отклоняется уже на расчёте с указанием поля, а не падает при подтверждении. Идентификатор строки чека (
positionId) — не длиннее 64 символов и не повторяется внутри одного чека. - Защита от устаревшей цены (drift-контроль). Между расчётом и оплатой условия могли измениться — например, закончилась акция. При подтверждении платформа всегда пересчитывает заказ. Если касса передала суммы из расчёта, платформа заметит расхождение и не даст провести заказ по неактуальной цене: касса получит новые суммы и покажет их покупателю. Если касса суммы не передала, заказ подтверждается с новыми суммами без предупреждения — подробнее в разделе «Интеграции».
- Ошибка в одной акции не останавливает кассу. Если акцию не удаётся применить (например, удалён товар, назначенный подарком), платформа пропускает только её, остальные акции срабатывают, и покупка проходит. Такую акцию стоит открыть в разделе «Промо-акции» и исправить.
- Анонимные покупки. Заказ можно провести и без карты лояльности. Он попадёт в общую статистику продаж, но бонусы по нему не начислятся. В карточке такого заказа блок «Клиент» просто отсутствует.
- Клиент по телефону или карте. Кассе не обязательно знать внутренний идентификатор клиента: достаточно передать телефон гостя (в любом формате — платформа сама приведёт номер к единому виду) или номер карты лояльности (как платформа реагирует на заблокированную, свободную или незнакомую карту — см. «Карты лояльности» → «Как карта работает на кассе»). Если по телефону найдено несколько профилей, заказ не проведётся, пока оператор не объединит дубли в разделе «Клиенты».
- Регистрация нового гостя прямо на кассе. Если гостя с таким телефоном или картой платформа ещё не знает, касса может завести его профиль в момент подтверждения заказа — достаточно телефона (или номера карты) и, желательно, имени. Отдельно регистрировать гостя не нужно: покупка сразу привязывается к новому профилю, бонусы начисляются, акции «для новых клиентов» срабатывают уже на первом чеке. Такой клиент появляется в разделе «Клиенты» с источником регистрации по названию интеграции (например, «Касса — Кофейня на Тверской») и каналом привлечения по каналу продаж. Если гость уже есть в базе, касса может дополнить его профиль — заполнятся только пустые поля, введённое ранее не перезапишется. Согласия на рассылки при этом не выдаются — их клиент даёт отдельно. Право заводить клиентов включается для ключа интеграции в разделе «Интеграции» (права на запись клиентов); без него касса получит отказ.
Статусы заказа#
| Статус | Цвет тега | Что означает |
|---|---|---|
| Подтверждён | зелёный | Покупка проведена и оплачена — основной статус в журнале |
| Возврат | жёлтый | По заказу оформлен возврат, бонусы пересчитаны обратно |
| Рассчитан | синий | Технический промежуточный статус, в списке практически не встречается |
Список заказов#

Главный экран раздела — таблица всех заказов организации, от новых к старым.
Колонки таблицы:
- № заказа — номер с чека кассы (например, «674» или «web-49803»). Если касса номер не передала — первые восемь символов ID заказа. Кликабельно: открывает карточку заказа.
- Клиент — имя и фамилия покупателя, под ними — телефон. У анонимных заказов — прочерк.
- Статус — цветной тег из таблицы выше.
- Сумма — стоимость покупки; под ней мелким шрифтом — общая скидка со знаком минус. Если скидки не было, второй строки нет.
- Локация — торговая точка, где совершена покупка. Если точка не передана — прочерк.
- Касса — номер или имя кассы, если касса его передала; иначе прочерк.
- Бонусы — сколько бонусов клиент заработал на этой покупке (зелёным, со знаком «+») и сколько потратил (красным, со знаком «−»).
- Создан — дата и время создания заказа.
Имя и телефон клиента теперь видны прямо в списке — открывать карточку заказа, чтобы понять, чья это покупка, больше не нужно.
Пагинация. По умолчанию 20 записей на страницу, размер страницы можно изменить. Внизу всегда виден счётчик «Всего: N» — количество заказов, подходящих под текущие фильтры.
Валюта. Все суммы отображаются в валюте организации, которая задаётся в разделе «Настройки».
Если заказов ещё нет, вместо таблицы показывается заглушка «Заказов пока нет».
Фильтры#

Над таблицей пять фильтров. Текстовый фильтр применяется по клавише Enter или кнопке с лупой.
| Фильтр | Что ищет |
|---|---|
| Номер заказа | Заказ по номеру с чека — точное совпадение, пробелы по краям не учитываются. Номера на кассе повторяются между сменами и точками, поэтому по одному номеру может найтись несколько заказов — уточните филиалом |
| Телефон клиента | Покупки клиента по телефону в любом формате: +7 (900) 123-45-67, 8 900 1234567 и 79001234567 находят одно и то же. Нужен полный номер — по части номера заказы не ищутся |
| Имя клиента | Покупки клиентов, у которых имя или фамилия содержат введённый текст, без учёта регистра: «иван» найдёт и Ивана, и Иванову |
| Филиал | Выпадающий список точек продаж из раздела «Филиалы», с поиском по названию |
| Статус | Выпадающий список статусов. На скриншоте выше выбран «Возврат», и в таблице остались только возвращённые покупки |
Поиск по телефону и имени идёт только среди действующих клиентов: удалённые профили и профили, объединённые с другими, не учитываются.
Фильтры комбинируются: заданные одновременно, они сужают список вместе — например, «Филиал» + «Статус: Возврат» покажут возвраты одной точки. Каждый фильтр снимается крестиком в его поле, все сразу — кнопкой «Сбросить фильтры», которая появляется, когда задан хотя бы один фильтр. При смене фильтра список открывается с первой страницы.
Карточка заказа#
Клик по номеру заказа открывает карточку — полную расшифровку покупки. Стрелка ← слева от заголовка возвращает к списку заказов. Пустые блоки автоматически скрываются, поэтому у разных заказов набор блоков отличается.

Шапка и ключевые цифры#
В заголовке — номер заказа с чека (если касса его не передала — первые символы ID), под ним — дата подтверждения и торговая точка, справа — статус заказа. Ниже — четыре карточки:
| Карточка | Что показывает |
|---|---|
| Сумма | Стоимость покупки до скидок |
| Скидка | Общая сумма скидки и её доля от суммы в процентах |
| Итого | Сколько клиент заплатил фактически |
| Начислено бонусов | Сколько бонусов клиент заработал на этой покупке. Если он потратил бонусы, под цифрой указано, сколько списано; у анонимного заказа — пометка «клиент не идентифицирован» |
Сведения о заказе#
Блок справа собирает реквизиты покупки:
| Поле | Что показывает |
|---|---|
| Номер заказа | Номер с чека кассы — тот, что видит гость. Не уникален: на разных сменах и точках номера повторяются. Если касса номер не передала — прочерк |
| Клиент | Имя (ссылка на карточку клиента) и телефон. У анонимного заказа — «Без идентификации» |
| Локация | Торговая точка, где совершена покупка: название (ссылка на все заказы этой точки), город и адрес |
| Касса | Номер или имя кассы (терминала), если касса его передала. Значение приходит из кассовой программы как есть, справочника касс в платформе нет. Фильтра списка заказов по кассе пока нет |
| Интеграция | Через какую подключённую систему пришёл заказ (ссылка на интеграцию) и её статус. Помогает понять, откуда приехали данные — с кассы или с сайта |
| Промокод | Появляется, только если при покупке применялся промокод: код и его статус. Откуда берутся коды и как настраиваются их лимиты — в разделе «Промокоды» |
| Подтверждён | Дата и время подтверждения заказа |
| Создан | Дата и время создания записи |
| ID заказа | Идентификатор заказа в платформе; значок рядом копирует его |
| Внешний ID заказа | Внутренний идентификатор заказа во внешней системе (в кассе, на сайте). Его передаёт касса при подтверждении покупки; по нему же она находит заказ и оформляет возврат. В пределах организации уникален. Если касса его не передала — прочерк |

Позиции заказа#
Состав корзины: артикул, товар, количество, цена, сумма, скидка по позиции и итого. Внизу таблицы — итоговая строка по всему заказу. Под названием товара — артикул, а если касса передала идентификатор строки чека (positionId), — он третьей строкой, мелким моноширинным шрифтом. По нему позицию легко найти в чеке кассы, особенно когда в заказе несколько строк с одним артикулом. Если колонки не помещаются по ширине, таблица прокручивается вбок — на скриншоте она прокручена к итогам.
Скидка распределяется по позициям пропорционально их стоимости. Поэтому сумма скидок по строкам всегда равна общей скидке заказа, и клиенту можно показать, сколько он сэкономил на каждом товаре.
Подарки#
Появляется, только если в заказе были подарки по акциям «Подарок к покупке». Таблица: артикул, название и количество подарочного товара и акция, которая его выдала. Здесь видно, что именно платформа выдала покупателю по акциям.
Применённые акции#
Ключевой блок для разбора ситуаций: что дала покупателю каждая сработавшая акция. На скриншоте их четыре: «Базовый кешбэк 5%» и «Второй визит» начислили бонусы, а скидка на десерты и промокод WELCOME10 уменьшили цену. Если акции не применялись, блок скрыт.
| Колонка | Что показывает |
|---|---|
| Акция | Название акции сохраняется в заказе как снимок на момент подтверждения и не меняется при переименовании или удалении акции |
| Скидка | Скидка этой акции на позициях заказа со знаком минус; если скидки не было — прочерк |
| Бонусы | Бонусы, начисленные этой акцией, со знаком плюс; если не начислялись — прочерк |
| Подарок/бесплатно | Подарки акции в виде «Название × количество» и бесплатные единицы («2 шт. бесплатно»); если ничего — прочерк |
В блок попадают только акции, которые что-то дали покупателю. Акция без денежной награды (например, только с отправкой вебхука) тоже показывается — с прочерками в колонках.
Именно здесь видно, из чего сложилась итоговая цена и откуда взялись бонусы, — не нужно ничего пересчитывать вручную. Сумма скидок по акциям может отличаться от общей скидки заказа на копейки; итог — в карточке «Скидка» вверху страницы.
Связь с карточкой клиента#
В профиле клиента есть вкладка «Заказы» — это те же данные, отфильтрованные по конкретному человеку. Клик по строке там открывает эту же карточку заказа. Подробнее — в разделе «Клиенты».
Кто что может#
| Роль | Доступ к разделу |
|---|---|
| Администратор платформы, Администратор организации, Оператор, Поддержка, Наблюдатель | Только просмотр |
| Маркетолог (MANAGER) | Раздел не виден |
Изменение заказов недоступно никому — это журнал операций. Единственный источник данных здесь — кассы, сайты и приложения, подключённые через раздел «Интеграции». Такой подход гарантирует, что цифры в отчётах всегда совпадают с реальными продажами.