# Учёт абонементов в детском центре 2026: своя система на вайб-кодинге

> Владелица небольшого детского центра собрала систему для посещений, оплат и напоминаний родителям. Ниже - понятная схема и промпты для повторения.

Источник: https://vibeceh.ru/cases/uchyot-abonementov-v-detskom-centre
Автор: Сергей Мазур · опубликовано 2026-08-05

У меня небольшой детский центр, и я собрала систему, которая показывает посещения и оплаты, считает остаток занятий и сама готовит напоминания родителям. Небольшая вещь, а администратор уже выдохнула. Ниже покажу, как устроить учет абонементов без тетради и дорогой CRM-системы, чтобы эту идею можно было перенести в салон, студию, клинику или автосервис.

Делюсь с удовольствием. Ниже пошаговая инструкция из семи шагов, к каждому готовый промпт. Копируй его, описывай свою работу и собирай себе нужную связку. Не обязательно повторять детский центр целиком: можно начать с учета оплат клиентов, посещений или напоминаний.

А началось всё с практикума.

После него я увидела, что возможностей вокруг больше, чем я обычно замечала. Через пару лет такой навык, думаю, станет для предпринимателя таким же обычным, как сейчас Google Таблицы.

## Что изменилось в учёте абонементов и посещений?

В небольшом детском центре учет абонементов можно связать с оплатами, посещениями и напоминаниями. Система показывает, сколько занятий оплачено и сколько осталось, а администратор отмечает посещение флажком. Отдельный список помогает подготовить сообщения родителям.

Раньше каждая часть учета живёт отдельно. Оплата записана в одном месте, посещение отмечено в другом, а про напоминание приходится помнить отдельно. Ошибка возникает из-за того, что между действиями нет связи, а не потому, что кто-то плохо работает.

Я собрала связку, где эти данные смотрят друг на друга:

- абонемент показывает оплаченные занятия;
- посещение уменьшает остаток;
- остаток попадает в список для напоминаний;
- дата последнего сообщения не даёт отправлять его повторно.

Администратор не разбирается в формулах. Ей достаточно открыть лист посещений и поставить флажок напротив нужной строки. Это и есть тот уровень простоты, который нужен в ежедневной работе.

Я не стала превращать систему в большую программу. Мне было важно видеть посещения и оплаты, а родителям вовремя готовить напоминания. Получился рабочий инструмент под конкретную рутину.

Чувство после практикума странное. Вдохновлена, потому что маленький бизнес впервые может делать для себя инструменты, которые раньше были доступны только компаниям с IT-отделом. Напугана, потому что всё меняется быстрее, чем я привыкла.

## Почему своя система удобнее готового сервиса?

Готовый сервис даёт готовый набор функций, а своя система собирается под конкретные правила центра. Если понадобится новое поле, другой порог остатка или отдельный статус напоминания, это можно описать помощнику словами. В готовом продукте для такого изменения может понадобиться искать настройку или обращаться в поддержку.

У готового сервиса есть сильная сторона: основные функции уже собраны. Можно сразу вести детей, оплаты и посещения, если именно такой сценарий предусмотрен.

Но у малого бизнеса почти всегда есть свои мелочи. Например:

- абонемент считается действующим до определённой даты;
- пропуск нужно отмечать отдельно;
- напоминание отправляется только при малом остатке;
- администратору нельзя показывать все финансовые данные;
- родителям нужны разные каналы связи.

В своей системе эти правила можно добавлять постепенно. Сначала оставить только таблицу. Потом добавить остаток. Затем подготовить список напоминаний. Не нужно строить всё сразу.

Готовый сервис удобнее, если не хочется ничего проверять, если нужны сложные роли, филиалы или большой объём данных. Своя система удобнее там, где важны простота и возможность быстро поменять правило.

Мне особенно близка мысль, что маленькая вещь может закрыть задачу, ради которой большая компания покупает отдельный продукт. Маленький бизнес теперь может делать инструменты, которые раньше были доступны только компаниям с IT-отделом, и сам задавать скорость.

## Из чего состоит учёт абонементов?

Простая таблица учета абонемента состоит из трёх связанных листов: «Абонементы», «Посещения» и «Напоминания». В первом хранятся условия оплаты, во втором отмечаются занятия, в третьем появляются родители, которым нужно написать. Остаток занятий считается автоматически по количеству оплаченных занятий и установленных флажков, без ручного пересчёта.

![Кот удивлённо смотрит на три связанных листа таблицы учёта.](https://s3.regru.cloud/crossmark/statejnik/images/guides/uchyot-abonementov-v-detskom-centre/kadr-1.webp)

Начни с листа **«Абонементы»**. В нём нужны:

- номер абонемента;
- имя ребёнка;
- имя родителя;
- контакт;
- количество оплаченных занятий;
- дата начала;
- дата окончания;
- статус.

В листе **«Посещения»** одна строка означает одно занятие. Там достаточно таких полей:

```text
Дата | Группа | Ребёнок | Абонемент | Посещение
```

В последней колонке ставится флажок. Google Таблицы позволяют добавить его через меню `Insert` и пункт `Checkbox`. Документация Google прямо указывает, что флажки подходят для отметки посещаемости:

> «Use checkboxes for many purposes, like to track a project, take attendance, and check off your to-do list (Флажки можно использовать для разных задач: отслеживание проекта, отметка посещаемости, списки дел)».
> - Google Docs Editors Help, [Add & use checkboxes](https://support.google.com/docs/answer/7684717), перевод автора

В листе **«Напоминания»** нужны:

- ребёнок;
- родитель;
- контакт или Telegram ID;
- остаток занятий;
- дата последнего сообщения;
- статус отправки;
- согласие на уведомления.

Остаток не стоит менять руками. Его можно считать условным подсчётом. Если оплачено десять занятий, а флажок установлен пять раз, остаток равен пяти. В Google Sheets для такой логики используется `COUNTIF` или `COUNTIFS`.

Пример формулы:

```text
=ОплаченоЗанятий-COUNTIFS(Посещения!C:C;A2;Посещения!E:E;TRUE)
```

Формула считает только отмеченные посещения по конкретному номеру абонемента. Если администратор поставил флажок ошибочно, его можно снять, и остаток пересчитается.

Разделение на листы помогает видеть, где оплата, где факт посещения, а где подготовлено сообщение. Не смешивай все сведения в одной длинной таблице. Так проще проверять ошибки и ограничивать доступ.

## Что поставить перед сборкой и сколько это стоит?

Для сборки нужны редактор VS Code и помощник Claude Code, который работает внутри этого редактора. Их ставят один раз: скачать, запустить установку и войти в аккаунт. На установку закладывай около пятнадцати минут. Claude Code работает по платной подписке: $20 в месяц. Сумма в рублях зависит от курса на день оплаты и от способа оплаты, официального рублёвого тарифа Anthropic не заявляет.

VS Code нужен как место, где лежит папка проекта. Самостоятельно писать код в нём не придётся. Помощник Claude Code открывается внутри редактора, видит файлы и меняет их по твоему описанию.

Схема простая:

1. Установи VS Code.
2. Установи Claude Code по инструкции помощника.
3. Войди в аккаунт.
4. Создай отдельную папку для системы.
5. Описывай задачу обычными словами.

Одна установка не привязывает тебя к одной автоматизации. Сегодня можно собрать учет абонементов, позже - расписание, список заявок или контроль оплат. Инструменты останутся теми же, изменится только задача.

Подписка Claude Pro стоит **$20 в месяц**. Официального рублёвого тарифа Anthropic не заявляет, сумма в рублях зависит от курса на день оплаты и от способа оплаты. Комиссии банка, конвертация и возможная комиссия посредника в сумму не входят.

Не считай подписку безлимитной. Лимит зависит от длины запроса, файлов, модели и нагрузки. Claude и Claude Code используют общий запас. Официальная справка отдельно указывает, что фиксированного числа сообщений нет, а сессионный лимит сбрасывается каждые пять часов.

## Как собрать учёт посещений и оплат по шагам

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

![Сиба-ину одобрительно смотрит на схему сборки системы по шагам.](https://s3.regru.cloud/crossmark/statejnik/images/guides/uchyot-abonementov-v-detskom-centre/kadr-2.webp)

Создай папку проекта, открой её в VS Code и начни с обычного описания работы. Не проси программу целиком. Сначала зафиксируй, что считается оплатой, посещением и поводом для напоминания.

   

Помощник должен выдать план и список вопросов. Проверь, что в нём есть абонемент, оплата, посещение, остаток и напоминание. Если он сразу предлагает сложную CRM, попроси вернуться к таблице.

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

   

В ответе появится структура и тестовые строки. Замени тестовые значения на реальные только после проверки полей. Данные ребёнка и родителя не клади в лишние колонки.

В листе «Посещения» флажок должен быть отдельным полем. Администратор не вводит каждый раз слова «был» или «пропуск».

   

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

> [!warning] Не смешивай пропуск и отсутствие данных
> Снятый флажок не всегда означает пропуск. Иногда администратор просто ещё не проверила занятие. Добавь отдельный статус, если для работы нужно различать «не отмечено» и «пропуск».

Теперь свяжи оплаченные занятия с установленными флажками. Остаток должен уменьшаться только после подтверждённого посещения.

   

Помощник выдаст формулу и изменит таблицу. Проверь три ситуации: посещений нет, отмечено одно посещение, все оплаченные занятия использованы. Отдельно проверь, что строка другого ребёнка не уменьшает чужой остаток.

Напоминание сначала лучше не отправлять автоматически. Попроси помощника только находить подходящие строки и показывать их администратору.

   

В результате появится список кандидатов на сообщение. Проверь его глазами. Сервисное напоминание об остатке и рекламное предложение нового курса не смешивай в один текст.

Для [Телеграм-бота](/concepts/telegram-bot) нужен не только номер телефона, но и идентификатор чата `chat_id`. Родитель должен сначала взаимодействовать с ботом. Поэтому канал подключай после того, как таблица и список напоминаний уже проверены.

   

Telegram Bot API требует параметр `chat_id`, то есть идентификатор чата получателя. Одного телефона недостаточно. Сначала проверь, как родитель запускает бота и как этот идентификатор попадает в таблицу.

Для автоматической подготовки списка можно использовать [планировщик задач](/concepts/planirovshchik-zadach) (time-driven trigger). Он запускает проверку через заданный интервал, но не обещает отправку ровно в конкретную минуту.

   

Такой запуск подходит для напоминаний в течение дня. Не ставь обещание «ровно в 09:00»: время срабатывания может немного смещаться.

Так собирают программы без программиста, и называется это вайб-кодинг. На практикуме этому учат руками на своей задаче: не копируют чужой код, а учатся описывать собственную рутину и проверять результат. Если хочешь пройти такой путь с поддержкой, вот ссылка:

## Какие файлы появятся после сборки и что проверять?

После сборки появятся листы «Абонементы», «Посещения» и «Напоминания», а также формулы, журнал статусов и копии проекта. Не нужно разбираться в каждом файле. Глазами проверь поля, флажки, остаток занятий, дату последнего сообщения и доступ администратора к Google Drive. Главное: убедиться, что всё работает на тестовых строках.

Главное, что должно быть видно в работе:

- на листе «Абонементы» есть оплаченные занятия и остаток;
- на листе «Посещения» есть дата, ребёнок, абонемент и флажок;
- на листе «Напоминания» есть причина сообщения и дата последней отправки;
- журнал статусов отличает «ожидает», «отправлено» и «ошибка»;
- копия проекта создаётся до изменений.

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

Доступ администратора проверь отдельно в Google Drive. Наличие флажка не создаёт полноценную ролевую модель. Сначала оставь администратору только необходимое действие, а потом проверь, какие листы она видит и может менять.

## Что делать, если напоминание не пришло или задублировалось?

Сбой ищется по симптому и журналу статусов. Дубль возникает после повторной отправки, дата сдвигается из-за разных часовых поясов, массовая рассылка упирается в ограничение Telegram, а долгий webhook вызывает новые запросы. Последняя проблема особенная: бот не может начать разговор с родителем, который сам его ещё не запустил.

![Безымянная женщина закрывает лицо ладонью рядом с журналом сбоев напоминаний.](https://s3.regru.cloud/crossmark/statejnik/images/guides/uchyot-abonementov-v-detskom-centre/kadr-3.webp)

1. **Убери дубль после тайм-аута.** Telegram мог получить сообщение, а система не дождалась ответа и отправила его повторно. Каждому напоминанию нужен собственный `notification_id`.

   В документации разработчиков Telegram описан такой сценарий: сообщение может дойти до сервера, хотя клиент не получил ответ. [Обсуждение python-telegram-bot](https://github.com/python-telegram-bot/python-telegram-bot/discussions/4630).

2. **Проверь сдвиг даты.** Если таблица, скрипт и компьютер используют разные часовые пояса, оплата вечером может попасть на следующий день, а напоминание уйти раньше или позже.

   Часовой пояс Google Таблиц меняется в настройках таблицы. Проверь это до подключения автоматического расписания.

3. **Разнеси массовую отправку.** При большом количестве сообщений Telegram может вернуть ошибку `429`. Не отправляй все напоминания одним циклом.

   В FAQ Telegram указано, что массовые уведомления ограничены примерно 30 сообщениями в секунду; при превышении возможна ошибка `429`. [Telegram Bot FAQ](https://core.telegram.org/bots/faq).

4. **Сократи webhook.** Если обработчик долго читает таблицу или ждёт внешний сервис, Telegram может повторить один и тот же запрос.

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

5. **Проверь запуск бота родителем.** Бот не может сам начать разговор с родителем. Если родитель не нажал кнопку запуска и не отправил сообщение боту, у системы может не быть нужного чата.

   Telegram прямо пишет:

> «Bots can't start conversations with users. A user must either add them to a group or send them a message first (Боты не могут сами начинать разговор с пользователями. Пользователь должен сначала добавить бота в группу или отправить ему сообщение)».
> - Telegram, [Bots: An introduction for developers](https://core.telegram.org/bots), перевод автора

   Статус «напоминание создано» не равен статусу «родитель получил сообщение». Храни причину недоставки и запасной канал: SMS, email, звонок или задачу администратору.

## Сколько стоит своё решение и когда лучше готовый сервис?

Своя схема стоит $20 в месяц за Claude Pro. Готовый сервис, внедрение CRM или заказная разработка стоят заметно дороже, но выбор зависит не только от цены, а от готовности проверять данные и настраивать систему под себя.

| Вариант | Ориентир | Что получаешь |
|---|---:|---|
| Своя система | $20 в месяц | Свои поля, формулы, напоминания и изменения под работу |
| Готовый сервис | от 9 504 до 30 000 ₽ в год* | Готовый учёт, но набор функций задаёт продукт |
| Внедрение CRM | от 75 000 ₽* | Настройка готовой системы под центр |
| Заказная разработка | от 350 000-400 000 ₽* | Первая версия под индивидуальные требования |
| Простые таблицы | без заявленного платного тарифа | Посещения, оплаты и ручные напоминания |

*Рыночная вилка по наблюдениям автора на основе открытых прайс-листов и опроса коллег.

Своя схема не подходит, если нужны сложные роли, филиалы, большой объём данных или нет готовности регулярно проверять таблицу. Она также не отменяет обязанности защищать данные.

Для детского центра отдельно проверь четыре вещи.

**Согласие на обработку данных.** Телефон родителя нельзя просто внести в таблицу и считать, что разрешены любые сообщения. Согласие должно быть конкретным, информированным и отдельным. Для ребёнка его даёт законный представитель. Храни подтверждение, когда и на что согласие получено.

**Сервисные и рекламные сообщения.** Напоминание об остатке занятий и предложение купить новый абонемент могут иметь разный правовой статус. Рекламные сообщения требуют предварительного согласия. Если родитель просит больше не писать рекламу, рассылку нужно прекратить.

**Минимум данных.** Храни только то, что нужно для работы: имя ребёнка, имя родителя, контакт, абонемент, оплаты, посещения и остаток. Для облачного сервиса отдельно проверь место хранения основных данных и условия обработки данных.

**Доступы.** Администратору, педагогам и владельцу не обязательно видеть одно и то же. Сделай отдельные доступы, резервную копию и порядок удаления ненужных данных. При увольнении сотрудника закрой доступ к таблице и мессенджеру.

## Что сделать сегодня, если не хочется разбираться в технологиях?

Начни с таблицы посещений, а не с сообщений. Добавь строки с реальными записями, поставь флажок и проверь автоматический остаток занятий. После этого добавь лист напоминаний. Администратору оставь одно действие в один клик, а отправку родителям подключай только после проверки согласий и канала.

Порядок такой:

1. Создай лист «Посещения».
2. Добавь дату, группу, ребёнка, номер абонемента и флажок.
3. Внеси несколько реальных записей.
4. Проверь, что остаток меняется только после флажка.
5. Добавь список напоминаний.
6. Проверь дату последнего сообщения.
7. Только потом подключай автоматическую отправку.

Первая версия должна закрыть одну рутину. Личные кабинеты, оплату на сайте и несколько ролей оставь на потом. Если администратору достаточно поставить флажок в нужной ячейке, это уже рабочий результат.

## Вопросы и ответы

Создай лист с колонками «Дата», «Группа», «Ребёнок», «Абонемент» и «Посещение». В последней колонке добавь флажок. Установленный флажок означает подтверждённое посещение. Если нужно различать пропуск и ещё не проверенную запись, добавь отдельный статус.

Журнал можно заменить электронной таблицей с флажками. В ней проще искать ребёнка, связывать посещение с абонементом и считать остаток занятий. Бумажную копию можно оставить как резервный вариант, но основной учёт лучше вести в одном месте.

Для детского центра достаточно отдельного листа посещений. Добавь дату, группу, имя ребёнка, абонемент и отметку. Для мониторинга смотри не только факт посещения, но и остаток занятий, дату последнего сообщения и записи без подтверждённого статуса.

Да, если задача ограничивается отметкой занятий, оплатами и остатком. Для небольшого центра не обязательно начинать с большой системы. Сначала проверь, хватает ли таблицы с флажками и формулой. Сложные роли и филиалы потребуют другого решения.

Раздели данные по группам или добавь поле «Группа» в один лист. Не создавай отдельную копию на каждого ребёнка. Так проще искать записи и считать посещения по номеру абонемента. Доступ к данным проверь отдельно.

Формат зависит от задач и требований к документообороту. Если у вас уже есть журнал посещаемости детей в детском саду 2025, его можно взять за основу и дополнить автоматическим расчётом остатка. Для внутреннего контроля можно использовать электронную таблицу, но она не отменяет правила обработки персональных данных и внутренние документы центра. Если журнал нужен для официальной отчётности, проверь требования отдельно.

Можно взять простой Excel-файл или Google Sheets-шаблон как основу. В готовом шаблоне проверь названия колонок, формулы и отсутствие лишних персональных данных. Автоматические сообщения родителям в обычном журнале обычно не заявлены, их придётся добавлять отдельно.

Покупка имеет смысл, если нужен бумажный формат или готовая форма без настройки. Если нужны остаток занятий, связь с оплатами и напоминания, одного купленного журнала будет мало. Сравни не только цену, но и то, какие действия остаются ручными.

Простая программа нужна, когда таблица уже не справляется с оплатами, посещениями и остатками. Для небольшого центра можно начать с таблицы и добавить автоматические проверки. Если появились филиалы, сложные роли или большой объём данных, готовый сервис будет безопаснее самостоятельной сборки.

Система нужна, когда данные должны быть доступны нескольким ролям, требуется история действий, разные филиалы, сложные правила оплаты или устойчивые уведомления. Таблица подходит для узкого сценария, если владелец готов проверять данные и поддерживать резервные копии.

- [Google Docs Editors Help: работа с флажками](https://support.google.com/docs/answer/7684717)
- [Google Docs Editors Help: функция COUNTIF](https://support.google.com/docs/answer/3093480)
- [Google Apps Script: устанавливаемые триггеры](https://developers.google.com/apps-script/guides/triggers/installable)
- [Google Apps Script: Web Apps](https://developers.google.com/apps-script/guides/web)
- [Telegram Bot API](https://core.telegram.org/bots/api)
- [Telegram: Bots](https://core.telegram.org/bots)
- [Telegram Bot FAQ](https://core.telegram.org/bots/faq)
- [Обсуждение повторной отправки сообщений в python-telegram-bot](https://github.com/python-telegram-bot/python-telegram-bot/discussions/4630)
- [Федеральный закон № 152-ФЗ, статья 9](https://www.consultant.ru/document/cons_doc_LAW_61801/6c94959bc017ac80140621762d2ac59f6006b08c/)
- [Федеральный закон № 38-ФЗ, статья 18](https://www.consultant.ru/document/cons_doc_LAW_58968/f892dec1383709792452f18d36e7043306e2be0a/)
- [Федеральный закон № 152-ФЗ, статья 18](https://www.consultant.ru/document/cons_doc_LAW_61801/cbf4e15b7c330f9372e876cdf2bc928bad7950ef/)
- [Anthropic: Plans and Pricing](https://www.anthropic.com/pricing?subjects=claude&type=product)
- [Anthropic Help Center: план Pro](https://support.claude.com/ru/articles/8325606-%D1%87%D1%82%D0%BE-%D1%82%D0%B0%D0%BA%D0%BE%D0%B5-%D0%BF%D0%BB%D0%B0%D0%BD-pro)
- [Банк России: официальные курсы валют](https://www.cbr.ru/currency_base/daily/)
