Возможности
Всё, что нужно вашему кафе и ресторану
От генерации QR-кодов до отслеживания заказов в реальном времени, контента с ИИ до многоязычных меню — Thmenu является полным цифровым решением для вашего растущего бизнеса.
- 01
QR-меню для каждого столика
У каждого столика свой QR-код, который открывает ваше меню в браузере. Гостям не нужны ни приложение, ни аккаунт.
- 02
31 язык
Меню открывается на языке телефона гостя, если это один из 31 поддерживаемого языка. Названия и описания блюд автоматически переводятся в фоновом режиме, и любой перевод вы можете исправить.
- 03
Заказ со стола
Гости делают заказ со своего столика, и он в реальном времени появляется в вашей панели, а ваш персонал получает звуковой сигнал и push-уведомление.
- 04
Аналитика меню
Смотрите, сколько раз каждое блюдо открывали, добавляли в корзину и заказывали, свои заказы и выручку по дням, а также тепловую карту самых загруженных часов.
- 05
Информация о блюдах с ИИ
Введите название блюда, и ИИ предложит описание, ингредиенты и аллергены, чтобы вы проверили их перед сохранением. Затем всё меню можно перевести на каждый язык, который вы предлагаете.
- 06
Ваши цвета и макет
Выберите свои цвета или готовый набор и показывайте меню сеткой, списком или компактным списком с выбранным стилем карточек.
- 07
Безопасность по умолчанию
Заказы проверяются на использование Tor или VPN, признаки подмены местоположения и внезапные всплески, а рискованные помечаются для вашего персонала. Частота заказов ограничена, а повторная отправка не создаёт второй заказ.
- 08
Кампании и промокоды
Показывайте баннеры акций в меню на выбранный период или в еженедельный промежуток времени, например в счастливые часы, и предлагайте скидочные коды с датами начала и окончания.
- 09
На главном экране
Гости могут добавить ваше меню на главный экран на iOS и Android. Меню, открытое на телефоне за последние сутки, остаётся доступным для чтения без подключения, а заказы, сделанные офлайн, отправляются, когда подключение восстановится.
- 10
Глобальная скорость — Cloudflare CDN
Отдаётся из глобальной сети Cloudflare — с узла рядом с вашим гостем. Фактическая скорость зависит от его соединения.
- 11
Оценки гостей
Когда счёт за столиком закрыт, гости могут оценить визит, и каждая оценка появляется в вашей панели.
- 12
Вызов официанта и запрос счёта
Гости могут со своего столика вызвать официанта или попросить счёт, а ваш персонал видит и закрывает каждый вызов в панели.
- 13
Роли персонала
Готовые роли для официантов, кассиров, сотрудников кухни и менеджеров, у каждой свои права. Сотрудники входят по PIN на кухонном экране и в приложении для смарт-часов персонала, а важные изменения записываются в журнал.
- 14
Ручной ввод заказов
Вводите в своей панели заказы для столиков, навынос и по телефону; после каждого открывается чек для печати.
- 15
Поддержка доступности
Встроенные элементы управления размером шрифта и режим высокого контраста в каждом меню. Клиенты с нарушениями зрения могут настроить отображение под свои нужды — без дополнительной настройки.
- 16
Без бумаги
Меняйте цену или блюдо в любой момент, и меню обновляется; напечатанные QR-коды остаются прежними, поэтому перепечатывать ничего не нужно.
- 17
Оплата любым способом
Гости оплачивают картой со своего телефона через Stripe, а на поддерживаемых устройствах также через Apple Pay и Google Pay, в странах, где доступен Stripe.
- 18
Терминал самообслуживания
Превратите планшет в полноэкранное меню самообслуживания у вашей стойки: гости просматривают меню и оформляют заказы навынос, а экран сбрасывается между клиентами.
- 19
Баллы лояльности
Участники получают баллы за каждый заказ и переходят на уровни, где баллы начисляются быстрее, а баланс каждого участника вы можете просматривать и корректировать в своей панели.
- 20
Бронирование и лист ожидания
Принимайте брони — гости, оставившие адрес электронной почты, получают подтверждение и обновления по почте — и ведите в своей панели лист ожидания для гостей без брони.
Полный список
Все функции225
Полные сквозные возможности Thmenu — каждая категория, ничего не скрыто.
Устанавливаемое приложение (PWA)4
- Установка на главный экран (iOS и Android) — Панель администратора и гостевое меню устанавливаются как приложение прямо из браузера — без магазина приложений и без скачивания.
- Работает офлайн — Уже открытое меню продолжает работать без подключения.
- Push-уведомления — Новые заказы, вызовы официанта и запросы счёта приходят в установленное приложение в виде push-уведомлений.
- Автономный полноэкранный режим — После установки работает без интерфейса браузера, как нативное приложение.
Уведомления и Push10
- Web Push (VAPID, RFC 8291) — Web Push с подписью ES256 VAPID в браузеры администраторов и клиентам (заказ готов); urgency:high, TTL ~10 мин
- Заказ получен → владельцу — Срабатывает при успешном POST заказа клиента ("новый заказ со стола N, на сумму $X") в нативных приложениях + web
- Заказ готов → владельцу — Срабатывает при переходе заказа в статус 'готов'; автоматически объединяет обновления одного заказа
- Заказ готов → клиенту (Web Push) — Push VAPID на стороне клиента, когда его заказ готов; подписка на странице деталей заказа
- Заказ отменён → владельцу — Срабатывает при отмене заказа клиентом в течение 90-секундного окна
- Вызов официанта → владельцу/персоналу — Кнопка клиента "Вызвать официанта" отправляет push по конкретному столу на смарт-часы + телефон персонала + админ-веб со словарём вибраций
- Запрос счёта → владельцу/персоналу — Кнопка клиента "Запросить счёт" отправляет push по конкретному столу на смарт-часы, телефон и web
- Прогноз дефицита склада → владельцу — Прогнозируемое AI уведомление о дефиците на 3 дня, раз в день на ресторан при уверенности ≥ 50%
- Бронирование создано → владельцу — Push по конкретному ресторану на смарт-часы/телефон/web владельца при новом бронировании
- Уведомления SSE в реальном времени → админ-веб — Опрос D1 каждые 5 секунд отправляет количество ожидающих заказов, вызовы официанта, запросы счетов и готовые заказы в админ
Заказы, KDS и кухня23
- QR-меню (основное клиентское меню) — Публичное цифровое меню через QR или прямую ссылку с категориями, товарами и изображениями
- Корзина и оформление заказа — Корзина для выбора товаров с модификаторами и количеством перед оплатой
- Заказ клиентом (жизненный цикл из 5 шагов) — Размещён → в ожидании → подтверждён → готовится → готов → подан с обновлениями статуса в реальном времени; серверный канонический
- Модификаторы и кастомизация заказа — Группы модификаторов на товар (размер, начинки, добавки) с дельтой цены на опцию, сохраняемой как JSON-снимок
- Заметки к товару (особые пожелания) — Свободный текст по каждой позиции ("без лука"), отображаемый на чеке KDS
- ETA / обратный отсчёт заказа — Видимый клиенту таймер приготовления 25 мин от 'готовится' до 'готов' (target_ready_at), опрос 30 с, зелёная пульсация при
- Корректировка чаевых заказа (после оплаты) — Клиент добавляет/изменяет чаевые после размещения, с серверным ограничением tip_max_percent (по умолчанию 50%)
- Отмена заказа (окно 90 с) — Клиент отменяет ожидающие заказы в течение 90 с с атомарной проверкой гонки, отменой начисления лояльности и shadowban
- Возвраты по заказам (накопительный учёт) — Частичные/полные возвраты администратором, отслеживаемые накопительно в refunded_amount_cents с защитой от гонки OCC (409)
- Мультивалютность и разбивка налогов — Сумма заказа с JSON-разбивкой налогов по ставкам, налог включён/исключён, снимок валюты
- Шеринг заказа (Web Share API) — Клиент делится актуальным статусом заказа с другими телефонами через нативное системное меню шеринга или буфер обмена
- KDS (система отображения для кухни) — Очередь заказов в реальном времени через SSE/опрос с переходами статусов (в ожидании → подтверждён → готовится → готов → подан)
- Станции KDS и вход по PIN — Несколько станций KDS на ресторан, каждая с PIN из 4–6 цифр и фильтрацией по категориям на станцию
- Рабочий процесс статусов заказа KDS (OCC) — Атомарные кухонные переходы с проверкой гонки `AND status=<prev>` и опциональными подписями кнопок по статусам
- Список и детали заказов — Все заказы, сгруппированные по статусу; переход к позициям/суммам/клиенту; ручные частичные возвраты, корректор чаевых
- Ввод заказа (ручной POS) — Персонал создаёт заказы стол → категория → товар → кол-во → подтверждение; POST с ключом идемпотентности; обрабатывает телефон/наличные
- Барные счета (учёт счёта по сессиям) — Постоянный счёт по клиенту через несколько заказов с текущим балансом и учётом по позициям
- Поддержка термопринтеров ESC/POS — Сборщик сырых байтов ESC/POS (ширина 32/42/48/56 симв.) с турецкой кодировкой CP857 для чеков
- Мост для термопринтера (Web Serial/USB/Bluetooth) — Транспортный слой браузера для связи ESC/POS через Web Serial, USB и Bluetooth
- Интерфейс настройки и сопряжения принтера — Обнаружение, сопряжение и тестирование принтеров с выбором модели/ширины/кодировки
- Кухонный чек-тикет — Специализированная кухонная распечатка ESC/POS: ресторан, стол, позиции, кол-во, заметки, модификаторы, прошедшее время
- Клиентский чек / тикет счёта — Термочек для клиента: ресторан, стол, позиции, цена за единицу, итог, способ оплаты, метка времени
- Авто-86 при отсутствии остатка — Атомарное уменьшение склада при размещении заказа снимает товары с публикации при остатке ≤ 0 и отправляет оповещение владельцу
Киоск2
- Режим киоска (самообслуживание) — Полноэкранный киоск на любом планшете: стартовый экран «нажмите, чтобы начать», живое меню и корзина, сброс после 60 секунд бездействия; заказы оформляются как заказы на самовывоз
- Регистрация устройства-киоска — Регистрация и управление устройствами-киосками из раздела для разработчиков/интеграций
Платежи2
- Stripe Checkout и Payment Intents — Сессии оформления для клиентов + платёжные намерения для заказов агентов; SCA/3D-Secure, атрибуция через метаданные, возврат
- Stripe Connect — Выплаты ресторанам и разделение комиссии (ресторан получает долю подытога, платформа — комиссию); на основе webhook
AI-набор29
- AI-генератор описаний товаров — LLaMA 3.1 8B генерирует описание меню из 2 предложений по названию/категории/цене с очисткой ввода
- AI-автозаполнение деталей товара — Заполняет питательную ценность (ккал/жиры/углеводы/белки/соль), ингредиенты и белый список аллергенов EU-14 с 7-дневным KV
- AI-генератор меню (массово) — Полная структура меню по одному запросу (категории, товары, описания, рекомендуемые цены, аллергены, порции)
- AI-очистка меню — Обнаруживает дублирующиеся/неактивные товары, несогласованные названия, опечатки и слабые позиции как кандидатов на удаление
- AI-рекомендации по ценам — Анализирует продажи/выручку за 30 дней против анонимизированных медиан по категориям между ресторанами; возвращает рекомендуемые
- AI-предложения рецептов — Предлагает сезонные/тематические рецепты на основе доступных ингредиентов, кухни и диетических трендов с тегами аллергенов
- AI-генератор блюд дня — Генерирует блюда дня/недели + маркетинговый текст на основе ингредиентов, сезонности и трендов, с рекомендуемыми
- AI-оптимизатор графика смен — Предлагает паттерны смен персонала на основе исторического объёма, пиковых часов, бронирований, доступности и затрат на труд
- AI-перевод меню — Контекстный перевод названий + описаний блюд/напитков на 31 язык с сохранением HTML-разметки
- AI-генератор ответов на отзывы — Составляет черновики ответов владельца на отзывы гостей с выбором тона, включая извиняющийся; владелец редактирует и отправляет
- AI-генератор био — Генерирует SEO-оптимизированное био ресторана в 200 слов на основе кухни, локации, специализации и истории основания
- AI-аналитика (ежедневно/еженедельно/ежемесячно) — Сгенерированные cron нарративные отчёты (3–5 абзацев), сравнивающие выручку/AOV/топ-товары/воронки год-к-году/неделя-к-неделе с 3–5
- AI-чат по меню (для клиента) — Поиск по меню на естественном языке ("вегетарианская паста?", "что без глютена?") с возвратом 3–5 подходящих товаров с
- AI-рекомендации товаров — 3–5 предложений товаров с учётом корзины на основе контекста меню + содержимого корзины + списка исключений, привязанных к основному
- AI-умные допродажи — 2–4 дополняющих позиции (сочетания, добавки, десерты, напитки, закуски), классифицированных по upsell_type из
- AI-голосовой заказ (речь в корзину) — Web Speech API → LLaMA разбирает намерение → сопоставляет товары → возвращает позиции корзины с флагами неоднозначности; локализованный
- AI-подбор вина/напитков — Предложения сочетаний к заказанным блюдам по вкусовому профилю, кухне и винной карте, с ценовым уровнем и
- AI-предложения блюд (форма клиента) — Клиенты предлагают идеи блюд (название, описание, подсказка о кухне); администратор сортирует по статусу
- AI-очистка контента (массовая модерация) — Пакетная проверка отзывов клиентов на нецензурную брань/спам с массовым удалением + пометкой
- Анализ тональности (отзывы/рецензии) — Cron классифицирует отзывы гостей как позитивные/нейтральные/негативные/критические с темами
- MCP: start_order_session — Создаёт agent_session_id + customer_confirm_url (TTL 30 мин); проверяет флаг agent_enabled ресторана
- MCP: place_order — Атомарно вставляет заказ + позиции, проверяет товары, делает снимок валюты, уменьшает остаток, авто-86 при нуле;
- MCP: cancel_order — Атомарно отменяет с проверкой владения + TTL сессии, защитой от гонки OCC и отменой начисления лояльности
- MCP: get_order_status — Опрашивает статус + ETA + позиции; кэш 30 с; область orders:read
- MCP: request_bill — Вставляет bill_request, запускает push администратору, может предзаполнить итог для интерфейса разделения счёта
- MCP: waiter_call — Вставляет waiter_call, запускает push администратору + смарт-часам со словарём вибраций; опциональная заметка
- MCP: get_restaurant_menu — Публичная схема меню (без области) с возвратом категорий + товаров + цен + аллергенов
- MCP: check_loyalty — Возвращает баланс лояльности + уровень + порог следующего уровня; область loyalty:read
- MCP: apply_promo — Атомарно резервирует/применяет промо-скидку, проверяет max-uses + лимит на клиента; область orders:write
Маркетинг и лояльность22
- Email-кампании — HTML-рассылки по спискам подписчиков с отслеживанием статуса (черновик/в очереди/отправляется/отправлено/ошибка) и доставкой
- Email-шаблоны — Переиспользуемые брендированные HTML-шаблоны с настраиваемым именем отправителя и адресом для ответа
- Подписчики email — Список подписчиков со статусом (подписан/отписан/отклонён/жалоба), отслеживанием источника и по каждому подписчику
- Email drip-последовательности — Многошаговые письма жизненного цикла на основе триггеров (регистрация/первый_заказ/день_рождения/бронирование_завершено, День-1/7/30
- Подписка на рассылку + отписка — Сбор email при оформлении с настраиваемым администратором списком и отпиской в один клик
- Кампании рекламных баннеров — Рекомендуемые баннеры меню с настраиваемыми цветами, текстом значка, изображениями, окнами дат и порядком сортировки
- Объявления (баннеры в меню) — Закреплённые баннеры в меню ("Happy Hour 17:00-19:00") с настраиваемым цветом/иконкой/текстом и запланированными диапазонами дат /
- Промокоды — Создаваемые администратором коды с процентными/фиксированными скидками, минимальной суммой заказа, лимитами использования, погашением на клиента
- Применение промокода клиентом — Применение при оформлении с серверной проверкой, контролем лимита использования, проверкой минимальной суммы и по каждому IP
- Программа лояльности (начисление + погашение) — Баллы за заказ с погашением на скидки/награды; атомарные защиты проверки баланса, склад наград
- Регистрация в лояльности — Создание учётной записи клиента по email/телефону с уровневыми ставками начисления и историей визитов
- Уровни лояльности — Классификация Bronze/Silver/Gold/Platinum по порогам трат/визитов с уровневыми ставками начисления и погашения
- Автоматизация уровней лояльности — Ежедневный cron автоматически повышает уровни на основе совокупных трат за 90 дней; применяет бонусы и скидки лояльности
- Сгорание баллов лояльности — 12-месячное сгорание с ежедневной очисткой в 11:00 UTC, которая записывает контр-записи, уменьшает баланс и уведомляет
- Корректировка лояльности администратором — Ручная дельта баллов (положительная/отрицательная) с опциональными заметками администратора для журнала аудита
- Список участников лояльности — Просмотр администратором всех участников: email/телефон/имя, баланс баллов, баллы/траты за всё время, число визитов, последний визит
- Статистика кошелька лояльности — Кошелёк клиента с показом баллов за всё время, баланса, уровня, начислено-за-период и склада погашаемых наград
- Маркетинговый AI (контент + сегментация) — AI-генерация постов в соцсети, email-шаблонов и текстов акций плюс сегментация клиентов/кампаний
- Авто-спотлайт — Cron по понедельникам автоматически продвигает товары с низким остатком в рекомендуемые для сокращения отходов и распродажи склада
- Блюда дня — Предложенные AI или ручные ограниченные по времени спецпредложения со значком "Блюдо дня" и авторотацией
- Флаг рекомендуемого товара — Ручной флаг для выделения/продвижения позиций меню, визуально подчёркнутых в клиентском меню
- Лайки / вишлист товаров — Клиент добавляет любимые блюда в закладки через localStorage с межресторанным разрешением через профиль по email;
Бронирования / лист ожидания10
- Бронирования + календарь записи — Запись клиента на дату/временной слот с размером компании, именем/email/телефоном гостя и заметками; календарь дня для администратора
- Очередь бронирований администратора — Переходы статусов (в ожидании → подтверждено → посажено/неявка/завершено) с сортируемыми видами предстоящих/истории
- Отмена бронирования (клиентом) — Отмена по ссылке с кодом подтверждения с атомарной проверкой гонки (status='pending')
- Код подтверждения бронирования — Уникальный код на бронирование для справки, проверки статуса и отмены
- Экспорт бронирования в iCalendar — Экспорт .ics для клиента с деталями бронирования для импорта в календарь
- Учёт неявок по бронированиям — Администратор отмечает неявку для применения политики
- Лимит размера компании в бронировании — Максимальный размер компании на ресторан, применяемый при записи (по умолчанию 50)
- Индекс дедупликации активных слотов — Частичный UNIQUE-индекс, обеспечивающий одно ожидающее/подтверждённое бронирование на (ресторан, стол, временное окно)
- Сессии стола (присоединение по QR, TTL 1 час) — Несколько клиентов сканируют один QR стола для формирования сессии (session_token, join_code, host_device_id); хост
- Управление листом ожидания — Самостоятельное присоединение к очереди (размер компании, телефон, заметки) с переходами статусов администратором (ожидает → уведомлён →
Аналитика и BI11
- Панель аналитики — KPI-карточки в реальном времени (выручка за 24 ч, число заказов, AOV, доля завершения), 30-дневный тренд выручки, почасовая тепловая карта
- Аналитика заказов — Объём заказов, выручка, AOV, разбивка по способам оплаты, учёт возвратов, накопительный реестр возвратов, отмены
- ABC-анализ меню (Парето) — Классифицирует товары A (топ ~80% выручки) / B / C по истории за 30 дней с накопительной долей выручки, рангом
- Оценка здоровья меню — Валидатор настройки: наличие изображения, полнота описания, охват аллергенов, согласованность цен, рекомендуемые
- Тепловая карта заказов — Визуализация объёма заказов по времени суток × дню недели для выявления пиков и спокойных периодов
- AI-инсайты о клиентах — Ежедневный нарратив (метрики день-к-дню/неделя-к-неделе, клиенты в группе риска, топ-участник лояльности, 3 призыва к действию) + еженедельный глубокий анализ
- Цели по выручке / целевые KPI — Задаваемые администратором ежедневные/еженедельные/ежемесячные цели по выручке/заказам/клиентам с визуализацией прогресса и анализом отклонений
- Тепловая карта популярных часов (публичный API) — Публичный эндпоинт, раскрывающий популярность ресторана по часам для принятия решения клиентом
- Z-report (сверка конца дня) — Итоги по наличным и картам на конец смены с обнаружением отклонений, сводкой возвратов, ожидающими позициями, колонкой чаевых и
- Экспорт налогового отчёта — Месячный/квартальный P&L: выручка, собранный налог, возвраты, чистый налогооблагаемый доход; CSV для скачивания для бухгалтеров
- Учёт COGS — Себестоимость на уровне товара с автоматическим расчётом маржи и ежемесячной отчётностью P&L; связь с рецептами
Персонал и операции14
- Управление персоналом (роли + права) — Роли владелец/администратор/менеджер/кухня/официант/кассир/KDS с гранулярными правами (view_orders
- Аутентификация персонала по PIN — Вход по PIN из 4–6 цифр для персонала KDS/зала с хешированием PBKDF2 200k итер., 16-байтной солью на учётную запись, атомарным D1
- Учёт рабочего времени (приход/уход) — Приход/уход по PIN с длительностью смены, перерывами, расчётом затрат на труд, авто-флагом переработки и токеном KDS
- Планирование смен — Календарь повторяющихся/разовых смен с назначением персонала, планированием по диапазону дат, часовым поясом на ресторан
- Передача смен — Структурированные заметки при передаче смены (открытые заказы, проблемы, инциденты, заметки по складу) с подтверждением и
- Пулы чаевых / сервисный сбор — Ежедневная агрегация чаевых с правилами распределения по сотрудникам, долями по роли/смене, ручным переопределением
- Журналы аудита персонала — Скользящее хранение 24 месяца действий персонала (входы, смены PIN/пароля, изменения прав, возвраты
- Inbox (единая лента оповещений) — Опрос каждые 5 секунд вызовов официанта, запросов счетов, низких остатков, отзывов, бронирований, инцидентов с аллергенами и смен
- Вызов официанта (система звонка) — Кнопка клиента "Вызвать официанта" создаёт запись waiter_calls и отправляет push на часы персонала + админ-веб;
- Подтверждение вызова официанта — Персонал просматривает/приоритизирует/подтверждает вызовы с панели или смарт-часов с отслеживанием времени отклика
- Запрос счёта (adisyon) — Кнопка клиента "Запросить счёт" создаёт запись bill_requests с конечным автоматом закрытия; заморозка счёта блокирует новые
- Подтверждение запроса счёта — Персонал подтверждает получение и завершение с панели или смарт-часов
- Лента активности — Лента всех действий в реальном времени (создание заказа, возврат, вход персонала, правка меню), с поиском и фильтрами
- Часы работы + режим праздника — Часы работы по дням недели (с перерывами), отключающие заказ вне часов, плюс переключатель режима праздника
Меню, склад и цены15
- Редактор меню (товары/категории/модификаторы) — Полный CRUD меню: создание/правка/удаление позиций, массовое пополнение CSV, теги аллергенов, переопределение ставки налога, питательность AI
- Категории меню (иерархические) — Группировки товаров (закуски/основные/десерты/напитки) с перетаскиванием для упорядочивания и опциональной вложенностью
- Управление товарами (CRUD) — Полный жизненный цикл товара: название, описание, цена, изображение, доступность, время приготовления, аллергены, ингредиенты
- Редактор рецепта товара + COGS — Список ингредиентов рецепта с COGS на единицу и расчётом маржи %
- Массовый импорт/экспорт товаров
- Массовое обновление цен товаров — Применение процентной наценки/снижения к нескольким товарам с предпросмотром перед фиксацией
- Учёт пополнения товаров — Лог ручных пополнений с количеством и меткой времени для сверки склада
- Галерея товара (мультиизображение) — Загрузка нескольких фото товара (ракурсы, ингредиенты, кадры приготовления) с просмотрщиком галереи; на устройстве
- Информация о питательности (AI + вручную) — Калории, макронутриенты, аллергены, заполняемые AI или вручную, со ставками налога по позиции
- Учёт аллергенов + предупреждения клиента — Список аллергенов EU-14 на товарах; ввод аллергии клиентом выводит предупреждения в корзине; лог инцидентов
- Управление складом — Учёт остатка по товару с авто-86 при ≤ 0, уведомлениями владельца и статусом доступности
- Реестр движений склада — Подробный лог всех корректировок остатка (сверка, выполнение, отходы, порча, перемещения) с кодами причин
- Предиктивная аналитика склада и дозаказ — AI-прогноз дефицита на 14 дней (скорость истощения + уверенность) с оповещением, когда дней-до-дефицита < 3, с
- Ночное обновление COGS — Перерасчёт COGS товаров из рецептов в 02:30 UTC с обнаружением падений маржи > 10% и выводом оповещений администратору
- Настройки и ставки налога — Конфигурация с несколькими ставками налога, переопределениями по товару и значением ресторана по умолчанию, переключатель налог включён/добавлен
Клиентский опыт / PWA / i18n14
- PWA (устанавливаемое, офлайн-first) — Устанавливаемое клиентское меню + панель администратора с офлайн-поддержкой Service Worker, мутации network-first
- Фоновая синхронизация (офлайн-очередь) — Заказы/отзывы ставятся в офлайн-очередь и воспроизводятся Service Worker при восстановлении связи, с офлайн-индикатором и
- Локализация (31 язык + RTL) — TR/EN/DE/FR/ES/IT/PT/RU/AR/HE/FA/ZH/JA/KO/NL/PL/RO/EL и другие, с зеркалированием RTL для арабского/иврита
- Конвертация валют в реальном времени — Живой переключатель валют (EUR/USD/GBP/SAR/AED) — туристы видят цены в своей валюте
- Тёмная тема — Определение системной темы + ручной переключатель, сохраняемый в localStorage
- Доступность (WCAG 2.1 AA) — Aria-метки, семантический HTML, навигация с клавиатуры, focus-visible и сенсорные цели 44×44
- Редактор темы меню — Выбор цвета, выбор шрифта, логотип/обложка и переключатель макета (сетка vs список), применяемые ко всему меню и веб
- Галерея / изображения ресторана — Загрузка фото интерьера/блюд с подписями для шапки меню и лендинга
- Управление ссылками на соцсети — Настраиваемые ссылки Instagram/TikTok/Facebook/LinkedIn в подвале меню с валидацией safeHref
- Отображение информации Wi-Fi — SSID гостевого Wi-Fi + пароль, показываемые в подвале меню
- Отзыв / NPS (после заказа) — 5★ + категория + сообщение до 280 симв. после подачи, с дедупликацией раз-на-заказ, кодированием сущностей и по каждому IP
- Панель отзывов администратора — Все отзывы с чипами тональности, фильтрацией по диапазону дат и источнику и push критических оповещений
- Сортировка предложений блюд — Идеи блюд от клиентов, поставленные в очередь на сортировку администратором со статусом и заметками администратора
- Подписки клиента на Web Push — Уведомления заказ-готов/отменён с deep-ссылкой обратно к деталям заказа; сохранение подписки с
Клиентский CRM4
- Список клиентов / CRM — Панель, агрегирующая участников лояльности + бронирования + отзывы в список контактов с поиском и детализацией
- Контактные данные CRM (дедупликация) — Единое хранение контактов email/телефон с дедупликацией по заказам, бронированиям, лояльности и отзывам
- Кандидаты на возврат CRM — Отмечает клиентов без визита 60+ дней как риск оттока для повторного вовлечения
- Теги CRM — Произвольные теги (VIP/постоянный/разовый) для сегментации
Автоматизация5
- Email сводки дневных операций — Ежедневный email по часовому поясу ресторана по подписке: выручка, заказы, чаевые, топ-товары, сводка отзывов, новые
- Email дневной сводки низких остатков — HTML-email через Resend со списком товаров с stock_qty ≤ порога; 09:00 UTC, защита идемпотентностью
- Оповещения о дозаказе ингредиентов — Ежедневный email с товарами, требующими дозаказа, с количеством на основе скорости расхода и ссылками на поставщиков; 09:30 UTC
- Резервное копирование (еженедельно) + проверка (ежедневно) — Снимок AES-256-GCM всех БД D1 в R2 по воскресеньям в 02:00 UTC (таблицы с PII пропускаются), с ежедневной 05:00 UTC
- Обработка удаления GDPR/KVKK — Ежедневное жёсткое удаление в 14:00 UTC учётных записей по истечении 30-дневного льготного периода через белый список таблиц стирания с
Партнёрская программа30
- Партнёрская программа (Фазы 1–3) — Реферальная система: регистрация, учёт комиссий, выплаты, 1099, обнаружение аномалий в web-affiliate +
- Регистрация партнёра (OTP + Turnstile) — Регистрация по email/паролю с анти-ботом Turnstile, лимитом на IP 24 ч (3/день) через ежедневно-солёный хеш и
- Аутентификация OTP — Управляемый worker'ом эфемерный OTP (TTL 5 мин, привязка к области: payout_request/balance_check/kyc_approve) через cookie или
- Панель партнёра (KPI-карточки) — Балансы всего заработано / в ожидании / доступно / выплачено, ставка комиссии, уровень + реферальный код (копия), активные
- История и разбивка доходов — Столбчатая диаграмма доходов по месяцам, анонимизированный список референых ресторанов и доходы с фильтром по статусу/диапазону дат
- Поток запроса выплаты — Запрос с OTP (мин $50), проверяющий 15-дневный кулдаун И месячный лимит (по умолчанию 2/мес) атомарно, с фиксацией
- Расчёт выплат через Wise — Одобрение супер-админом создаёт котировку/получателя/перевод Wise; webhook отслеживают в ожидании →
- Журнал движения денег (реестр аудита) — Неизменяемый реестр каждой мутации баланса (commission_released, payout_requested/settled, dormancy_forfeit
- KYC платёжных данных (зашифровано) — Страна, флаг US-person, налоговая форма, email получателя Wise, юридический адрес, имя бенефициара, зашифрованные в покое
- Загрузка документов KYC — Загрузка W-9/W-8BEN/налоговый-серт/удостоверение/подтверждение-IBAN (5 МБ, JPEG/PNG/HEIC/PDF), base64 + шифрование pgcrypto; iOS/Android
- Платёжные каналы (Wise/SEPA/ACH/SWIFT) — Четыре платёжных канала со сбором IBAN + SWIFT/BIC + маршрутизации ACH + налогового ID
- Оповещение о пороге 1099-NEC (IRS $600) — Ежедневное сканирование в 13:00 UTC с пометкой US-партнёров ≥ $600 с начала года для выпуска 1099-NEC, идемпотентно по (партнёр
- Конечный автомат подачи 1099 — Отслеживает жизненный цикл 1099 (выпущено/подано/отправлено_в_irs) с завершением супер-админом и копией email для аудита
- Обнаружение аномалий (эвристическая оценка) — Сканирует 6 типов сигналов (купон-без-клика, регистрация-с-дубль-IP, быстрый возврат, самопокупка, кластер с одного IP
- Авто-приостановка по аномалиям (критические) — Ежедневная авто-приостановка по подписке партнёров с неразрешёнными критическими аномалиями (серьёзность ≥ 80)
- Апелляция по неактивности — Приостановленный партнёр подаёт апелляцию; супер-админ рассматривает; RPC сбрасывает 12-месячный таймер при одобрении; 60-дневный
- S2S postback webhook (HMAC) — Подписанный POST на URL партнёра при создании/возврате/выпуске комиссии с X-thMenu-Signature, 5 с
- Ротация секрета postback (двойная подпись) — 7-дневное перекрытие подписи и текущим, и предыдущим секретом (X-thMenu-Signature + -Previous), затем cron обнуляет
- Повтор postback + очередь недоставленных — Почасовой повтор (5× эксп. задержка) с пометкой недоступных эндпоинтов как dead_letter для проверки операторами
- Суточный счётчик купонов (анти-спам шлюз) — Суточный лимит получения купонов на партнёра (по умолчанию 100/день) через атомарный UPSERT…WHERE used<cap для предотвращения перепродажи;
- Отслеживание кликов по купонам — Регистрирует шеринги в affiliate_clicks (affiliate_id, coupon_code, метка времени, ip_hash), питая конверсию
- Статистика / аналитика купонов — Клики vs конверсии по купону (активные клиенты за 90 дней), коэффициент клик-в-конверсию, атрибутированная выручка и
- Лента журнала (нативно + web) — Постраничные строки движения денег от новых к старым с тоном с учётом операции и локализованным текстом
- Clawback при возврате (пропорциональный) — При возврате инвойса откатывает (возврат/исходная × комиссия), отменяя будущие drip-доли первыми; баланс
- Clawback при чарджбэке (спор проигран) — Полный clawback при charge.dispute.closed outcome=lost (только закрытые споры), журналируется отдельно от возвратов
- Реверс выплаты/clawback (возврат Wise) — При возврате/чарджбэке/отмене перевода Wise RPC reverse_affiliate_payout повторно зачисляет реестр
- Маркетинговые материалы партнёра (прокси R2) — Брендированные баннеры, email-шаблоны, QR-коды и playbook продаж + гайд по работе с возражениями, хранимые в R2
- Маркетинговый playbook (гайд по онбордингу) — Факты о программе, обязательное правило раскрытия комиссии и раздел панели для готовых материалов по мере их публикации
- Календарь выплат партнёра (прогноз) — Прогнозирует ожидаемые доходы по месяцам из графика drip + ожидающих удержаний (статический прогноз)
- Аутентификация партнёра (мобильная) — Вход по magic-link OTP + паролю с автозаполнением, сбросом забытого пароля и регистрацией с Turnstile
Интеграции / API9
- Публичные API-ключи и REST API — Генерируемые оператором API-ключи для сторонних интеграций, с лимитом частоты (60 запр/мин), с областями чтения/записи
- Подписки на webhook и диспетчер — Определяемые оператором webhook для клиентских событий (заказы, отзывы, рецензии) с подписью HMAC-SHA256
- Аутентификация OAuth-клиента (RFC 7009/6749) — Приложения OAuth отзывают собственные токены; валидация client-credentials (basic auth + body); ротация refresh-токенов
- Кастомный домен + верификация CNAME (показ меню с домена пока недоступен) — Подключение кастомного домена (menu.myrestaurant.com) и верификация его CNAME-записи; показ меню с этого домена пока недоступен
- Генерация QR-кодов + экспорт PDF — Генерация печатных QR-кодов меню/стола/номера как отдельных или пакетных PDF с наложением брендинга и SRI
- Email-сервис (Resend) — Транзакционные email оператору и клиенту (сводки, оповещения, статус выплат, сброс пароля, биллинг, OTP
- Ссылка на отзывы Google и импорт из Maps — Ссылка ресторана на отзывы в Google для перенаправления оценок и импорт ссылки Google Maps, который заполняет название заведения и координаты
- Спецификация OpenAPI — Автоматически генерируемая, обнаруживаемая схема REST API по адресу /openapi.json
- llms.txt (файл инструкций для AI) — Машиночитаемый обзор платформы (продукт, функции, цены, авторизация) для LLM/AI-поисковиков
Безопасность и соответствие19
- Аутентификация email/пароль + magic-link — Вход владельца по email/паролю или беспарольной magic-ссылке
- Supabase Auth — Аутентификация на основе JWT для операторов, партнёров и супер-админов с восстановлением magic-link, сбросом пароля и RLS
- Аутентификация по JWT bearer-токену — JWT с подписью HMAC-SHA256 для доступа к API и middleware Cloudflare worker
- Supabase RLS (защита на уровне строк) — Операторы видят только свои рестораны, партнёры — только свои комиссии/выплаты, клиенты — только свои
- TOTP 2FA (супер-админ) — 2FA через приложение-аутентификатор RFC 6238, обязательное для входа супер-админа
- Защита CSRF double-submit cookie — Эндпоинты, меняющие состояние, требуют заголовок X-CSRF-Token, проверяемый против защищённой cookie
- Content Security Policy (nonce + strict-dynamic) — script-src 'self' 'nonce-…' 'strict-dynamic' для предотвращения инъекции инлайн-скриптов
- Ограничение частоты (обработчик маршрутов Next.js) — Скользящие окна на изолят по хешу IP SHA-256 с ежедневной солью на 14 эндпоинтах меню
- Обнаружение shadowban — Обнаруживает повторные отмены и подозрительные паттерны IP, молча блокируя заказы без ошибки
- Обнаружение фальшивого GPS — Отмечает невозможные смены локации между метками времени заказов
- Валидатор URL-схемы (safeHref) — Белый список http(s)/mailto/tel для предотвращения сохранённого XSS через social_links, logo_url, cover_url и ссылки на отзывы
- Усиление хеша PIN/пароля — PBKDF2 200k итераций, 16-байтная соль на учётную запись, прозрачное перехеширование legacy при следующем входе
- Счётчик блокировки PIN (на базе D1) — Атомарный UPSERT в pin_failures с 30-минутным ротируемым окном
- Права субъекта данных GDPR (DSR) — 30-дневное окно удаления с момента запроса, экспорт данных в JSON и 90-дневный льготный период анонимизации заказов; персональные данные
- Соответствие KVKK (Türkiye) — Эквивалентные GDPR 30-дневное удаление, DSR и журналы согласий с многоюрисдикционной логикой cron
- Рабочий процесс удаления учётной записи — Удаление по запросу владельца с 30-дневным льготным периодом и каскадным стиранием PII через белый список
- Журнал согласий (баннер cookie) — Отслеживает согласие/отказ для аналитики/email, сохраняемое на сессию
- Учёт инцидентов с аллергенами и безопасностью — Персонал логирует отчёты о перекрёстном контакте аллергенов/травме/нарушении с фото/меткой времени/локацией; обнуление PII через 12 мес /
- Политики (конфиденциальность/условия/правила заведения) — Настраиваемая политика конфиденциальности, условия и внутренние правила, отображаемые в подвале меню
Администратор2
- Настройки / конфигурация ресторана — Метаданные, валюта, часовой пояс, настройки чаевых и операционные флаги
- Inbox уведомлений администратора — Централизованный inbox для заказов, возвратов, оповещений персонала и сообщений администратора с состоянием прочтения
ПУТЬ ГОСТЯ
От сканирования до оплаты — всё с телефона гостя
Не нужно ставить приложение и покупать оборудование. Гость сканирует код — и эти шесть шагов работают сами.
Язык гостя автоматически
Меню открывается на языке телефона гостя — 31 язык, выбирать не нужно.
Валюта страны гостя
Цены показываются в валюте гостя рядом с местной — калькулятор не нужен.
Заказ со столика
Гость добавляет в корзину и отправляет заказ — он сразу попадает на кухонный экран.
Вызов официанта
Одна кнопка на столе уведомляет персонал с номером столика — не нужно поднимать руку и ловить взгляд.
Запрос счёта
Гость запрашивает счёт с телефона, и запрос доходит до персонала со столиком и текущей суммой.
Оплата за столом
Гость платит картой с телефона в защищённой форме провайдера. По умолчанию оплата вперёд: заказ не попадает на кухню до оплаты.
Нужно ли моим клиентам скачивать приложение?
Нет. Клиенты просто сканируют QR-код камерой телефона. Меню мгновенно открывается в браузере — без скачивания приложения, без аккаунта, без регистрации.
Сколько языков поддерживает Thmenu?
Thmenu поддерживает 31 язык, включая арабский (RTL), японский, китайский, корейский и все основные европейские языки. Язык устройства посетителя определяется автоматически.
Thmenu действительно бесплатен?
Да. Нет ни тарифов, ни подписки, ни функций, доступных только после апгрейда. Единственный доход Thmenu — платформенный сбор 1 % с онлайн-платежей, которые вы получаете от гостей через Thmenu; наличные и ваш собственный карточный терминал ничего не стоят.
Могу ли я использовать собственный домен?
Пока нет. В панели можно добавить свой домен и проверить его DNS, но показывать меню на вашем собственном домене пока нельзя. У вашего меню есть собственная ссылка на menu.thmenu.com — именно её открывают ваши QR-коды.
Как работают заказы в реальном времени?
Клиенты добавляют позиции в корзину и оформляют заказ прямо со стола. Заказ мгновенно появляется в вашей панели администратора, где вы обновляете его статус по шагам.
Мои данные в безопасности?
Thmenu построен на глобальной инфраструктуре безопасности Cloudflare и шифрует данные при передаче (TLS) и при хранении. Наша платформа разработана с учётом требований GDPR, KVKK и CCPA/CPRA — полная информация на наших страницах о соответствии требованиям, конфиденциальности и условиях использования.
Могу ли я импортировать существующее меню?
Да. ИИ-импорт принимает меню тремя способами: вставить текст, сфотографировать печатное меню или загрузить таблицу. Он предлагает категории, товары и цены; ничего не применяется, пока вы не проверите и не подтвердите предложение.
Работает ли меню без интернета?
Да. Thmenu использует технологию Progressive Web App (PWA). Кэшированное меню на устройстве клиента можно просматривать без подключения к интернету. Для заказа необходимо подключение.
Нужен ли аккаунт Stripe?
Только если вы хотите, чтобы гости платили вам онлайн через Thmenu. Вы подключаете аккаунт Stripe в панели, а выплаты поступают на ваш банковский счёт через Stripe. Меню, заказы и бронирование работают и без него.
Работает ли Thmenu за пределами Турции?
Да. Thmenu работает в глобальной сети Cloudflare, поэтому меню отдаётся с узла рядом с каждым гостем. Мы поддерживаем 31 язык, включая арабский, японский, корейский, китайский и все основные европейские.
Что если ресторан уже использует Menulux или Adisyo?
Thmenu может работать параллельно с существующим POS: POS обрабатывает платежи, а Thmenu — QR-меню и заказы гостей. Thmenu не подключается к POS — две системы работают бок о бок.
Нужно ли специальное оборудование?
Нет. Thmenu работает в любом браузере — на телефонах, планшетах и ноутбуках. Для кухонного экрана подойдёт любой планшет, который у вас уже есть; мы не продаём, не рекомендуем и не требуем конкретного оборудования. Печать необязательна и работает с чековыми принтерами ESC/POS, подключёнными по USB, через последовательный порт или по Bluetooth, из Chrome или Edge.
Готовы начать?
Оцифруйте своё меню сегодня.
Настройка за 2 минуты, кредитная карта не требуется.