Подписки на обеды (meal plans)
План питания — это не разовый заказ, а подписка: гость платит за период (неделю или месяц) и получает готовые обеды по расписанию, без повторного оформления каждый день. Формат рассчитан на столовые, тёмные кухни (dark kitchen), корпоративную доставку обедов в офис и фитнес-питание — везде, где гость ест по графику, а не эпизодически.
Открыть: Админ-панель → Подписка на обеды (admin.cenaly.ru/meal-plans) — так подписан и пункт сайдбара, и заголовок страницы.
Раздел работает на международном контуре. На российском (
cenaly.ru) подписки на обеды пока не поддерживаются: пункт в меню виден, но любое действие в нём завершится ошибкой.
Что такое план питания#
План — это шаблон, который настраивает заведение:
- название, описание и вариант — свободная метка вроде «стандарт», «вег», «лайт» для разных вкусовых линеек одного расписания;
- блюда или комбо дня и их количество;
- дни недели доставки (например, только будни);
- длительность подписки — неделя или несколько недель (месяц ≈ 4 недели);
- цена всего периода — обычно дешевле, чем сумма разовых заказов за те же дни;
- окно доставки (например, «12:00–13:00»);
- активен/выключен — неактивные планы не показываются гостю.
Админ-раздел#
На странице «Подписка на обеды» — выбор локации и две секции:
Планы — список с созданием, редактированием и удалением: форма собирает название, описание, вариант, валюту (по умолчанию — валюта локации) и цену периода, длительность в неделях, дни недели (переключатели по дням), блюда с количеством и окно доставки. Кнопка «⚙️ Сгенерировать заказы сейчас» вручную прогоняет генерацию заказов на сегодня и показывает сводку «Сгенерировано: N» — удобно для проверки, не дожидаясь автоматического крона.
Подписки — таблица оформленных подписок по локации: гость, план, период (даты начала/конца), статус (активна/на паузе/отменена/завершена), оплата (не оплачено/оплачено) и число доставленных заказов; из таблицы можно отметить период оплаченным («Отметить оплаченным»), снять отметку оплаты («Снять оплату») или отменить подписку.
Раздел нишевый и по умолчанию выключен: он появляется в меню админки после включения тумблера «Подписка на обеды» в магазине приложений.
Витрина и оформление подписки#
Если у локации есть активные планы, на странице меню (в режиме еды/столовой) над списком блюд появляется блок «Подписка на обеды»: карточки планов с ценой за период и днями доставки, кнопка «Оформить».
Гость выбирает план, вводит имя, телефон и адрес доставки, подтверждает — подписка создаётся сразу. Онлайн-оплата за период пока не автоматизирована: после оформления гость видит статус «Ожидает оплаты» — период оплачивается на месте или по договорённости с заведением, а сотрудник отмечает оплату в админке.
Календарь подписчика#
Если гость уже оформлял подписку на этом устройстве (браузер запоминает её), при следующем визите на странице меню он видит свою подписку и календарь ближайших доставок. Для конкретного дня доступна кнопка «Пропустить» — доставка этого дня не генерируется, без отмены всей подписки.
Ежедневная генерация заказов#
Каждое утро автоматический процесс проходит по всем активным подпискам локации и для каждой, у которой сегодня день доставки (и день не пропущен и подписка не на паузе), создаёт обычный заказ на доставку — с пометкой источника «план питания». Дальше заказ идёт по тому же конвейеру, что и любой другой: кухня (KDS), монитор заказов, экран своей доставки — отдельной очереди для заказов по подписке нет.
Повторный прогон за уже обработанный день не создаёт вторую доставку — генерация идемпотентна. Подписки, у которых закончился оплаченный период, тем же прогоном помечаются завершёнными и больше не участвуют в генерации.
Состав и цена, зафиксированные в подписке в момент оформления, не меняются, даже если позже отредактировать сам шаблон плана в админке — у каждой активной подписки собственный «снимок» условий.
Оплата периода#
На сегодня оплата подписки — ручная: заведение получает деньги за период на месте (наличные/карта) или любым другим удобным способом и отмечает подписку оплаченной в таблице подписок. Автоматическое списание за следующий период при продлении подписки не подключено.
Что нужно для запуска#
- Включённый тумблер «Подписка на обеды» в магазине приложений — раздел нишевый и по умолчанию выключен.
- Позиции меню, из которых собираются обеды — план строится по вашему каталогу.
- Расписание выдачи или доставки — дни недели и время, по которым генерируются заказы.
- Способ оплаты периода — оплату администратор отмечает вручную.
Ограничения#
- На российском бренде (
cenaly.ru) подписки на обеды не поддерживаются — пункт меню виден, работы раздела там нет. - Автосписания за период нет. Регулярный биллинг осознанно не делали: оплату периода отмечает администратор.
- Раздел выключен по умолчанию и включается тумблером.
- Это подписка, а не разовый предзаказ — для разовых заказов на время есть слоты предзаказа в обычном чекауте.
Устранение неполадок#
Пункта «Подписка на обеды» нет в меню. Раздел не включён — включите его в магазине приложений.
Заказы на день не сгенерировались. Проверьте расписание подписки и пропуски дней в календаре подписчика: пропущенный день заказа не создаёт.
Гость оплатил, а период отмечен неоплаченным. Отметку оплаты ставит администратор вручную — автоматического списания за период нет.
На российском бренде раздел не работает. Так и есть — контур пока не поддерживается.
Связанные разделы#
- Заказы — куда попадают сгенерированные по расписанию заказы
- Кухня (KDS) — обработка заказов подписки наравне с обычными
- Своя доставка — экран курьера, который развозит обеды по подписке
Частые вопросы#
Что если гость забыл пропустить день и не будет дома?#
Заказ на этот день всё равно сгенерируется по расписанию — пропустить доставку заранее можно в календаре подписчика, либо связаться с заведением напрямую.
Изменение плана в админке повлияет на уже оформленные подписки?#
Нет — у каждой подписки свой набор блюд, цена и дни, зафиксированные при оформлении; правки шаблона в «Планах» действуют только на новые подписки.
Оплата подписки списывается автоматически каждый период?#
Пока нет — оплата вручную: заведение получает деньги за период и отмечает подписку оплаченной в админке.