========================================================================
Мастер-класс студии «Кадр» — 20 сентября 2026.
Прогон на вымышленных участниках. К Telegram не подключаемся.
========================================================================

------------------------------------------------------------------------
A. Заполнение мест: 6 на 12:00, затем 6 на 16:00
------------------------------------------------------------------------

  [Участник 12:00 №1 → бот] /start
      Мастер-класс студии «Кадр»
      20 сентября 2026, два сеанса — 12:00 и 16:00.
      Всего 12 мест, по 6 на сеанс.
      Свободно мест: 12 из 12 (12:00 — 6, 16:00 — 6).
      Телефон и почту не спрашиваю.
      
      Как вас зовут?

  [Участник 12:00 №1 → бот] Участник 12:00 №1
      Приятно познакомиться, Участник 12:00 №1! Выберите сеанс:
      12:00 — свободно 6 мест
      16:00 — свободно 6 мест
      кнопки: 12:00 · свободно 6 | 16:00 · свободно 6

  [Участник 12:00 №1 → бот] 12:00
      Готово, вы записаны!
      Участник 12:00 №1 — сеанс 12:00, номер в списке 1
      20 сентября 2026, студия «Кадр».
      Свободно мест: 11 из 12 (12:00 — 5, 16:00 — 6).
      
      Один участник — одна запись: место закреплено за вами. Если планы поменяются — /cancel, и место освободится.
      кнопки: Сменить сеанс | Отменить запись

  [Участник 12:00 №2 → бот] /start
      Мастер-класс студии «Кадр»
      20 сентября 2026, два сеанса — 12:00 и 16:00.
      Всего 12 мест, по 6 на сеанс.
      Свободно мест: 11 из 12 (12:00 — 5, 16:00 — 6).
      Телефон и почту не спрашиваю.
      
      Как вас зовут?

  [Участник 12:00 №2 → бот] Участник 12:00 №2
      Приятно познакомиться, Участник 12:00 №2! Выберите сеанс:
      12:00 — свободно 5 мест
      16:00 — свободно 6 мест
      кнопки: 12:00 · свободно 5 | 16:00 · свободно 6

  [Участник 12:00 №2 → бот] 12:00
      Готово, вы записаны!
      Участник 12:00 №2 — сеанс 12:00, номер в списке 2
      20 сентября 2026, студия «Кадр».
      Свободно мест: 10 из 12 (12:00 — 4, 16:00 — 6).
      
      Один участник — одна запись: место закреплено за вами. Если планы поменяются — /cancel, и место освободится.
      кнопки: Сменить сеанс | Отменить запись

  [Участник 12:00 №3 → бот] /start
      Мастер-класс студии «Кадр»
      20 сентября 2026, два сеанса — 12:00 и 16:00.
      Всего 12 мест, по 6 на сеанс.
      Свободно мест: 10 из 12 (12:00 — 4, 16:00 — 6).
      Телефон и почту не спрашиваю.
      
      Как вас зовут?

  [Участник 12:00 №3 → бот] Участник 12:00 №3
      Приятно познакомиться, Участник 12:00 №3! Выберите сеанс:
      12:00 — свободно 4 места
      16:00 — свободно 6 мест
      кнопки: 12:00 · свободно 4 | 16:00 · свободно 6

  [Участник 12:00 №3 → бот] 12:00
      Готово, вы записаны!
      Участник 12:00 №3 — сеанс 12:00, номер в списке 3
      20 сентября 2026, студия «Кадр».
      Свободно мест: 9 из 12 (12:00 — 3, 16:00 — 6).
      
      Один участник — одна запись: место закреплено за вами. Если планы поменяются — /cancel, и место освободится.
      кнопки: Сменить сеанс | Отменить запись

  [Участник 12:00 №4 → бот] /start
      Мастер-класс студии «Кадр»
      20 сентября 2026, два сеанса — 12:00 и 16:00.
      Всего 12 мест, по 6 на сеанс.
      Свободно мест: 9 из 12 (12:00 — 3, 16:00 — 6).
      Телефон и почту не спрашиваю.
      
      Как вас зовут?

  [Участник 12:00 №4 → бот] Участник 12:00 №4
      Приятно познакомиться, Участник 12:00 №4! Выберите сеанс:
      12:00 — свободно 3 места
      16:00 — свободно 6 мест
      кнопки: 12:00 · свободно 3 | 16:00 · свободно 6

  [Участник 12:00 №4 → бот] 12:00
      Готово, вы записаны!
      Участник 12:00 №4 — сеанс 12:00, номер в списке 4
      20 сентября 2026, студия «Кадр».
      Свободно мест: 8 из 12 (12:00 — 2, 16:00 — 6).
      
      Один участник — одна запись: место закреплено за вами. Если планы поменяются — /cancel, и место освободится.
      кнопки: Сменить сеанс | Отменить запись

  [Участник 12:00 №5 → бот] /start
      Мастер-класс студии «Кадр»
      20 сентября 2026, два сеанса — 12:00 и 16:00.
      Всего 12 мест, по 6 на сеанс.
      Свободно мест: 8 из 12 (12:00 — 2, 16:00 — 6).
      Телефон и почту не спрашиваю.
      
      Как вас зовут?

  [Участник 12:00 №5 → бот] Участник 12:00 №5
      Приятно познакомиться, Участник 12:00 №5! Выберите сеанс:
      12:00 — свободно 2 места
      16:00 — свободно 6 мест
      кнопки: 12:00 · свободно 2 | 16:00 · свободно 6

  [Участник 12:00 №5 → бот] 12:00
      Готово, вы записаны!
      Участник 12:00 №5 — сеанс 12:00, номер в списке 5
      20 сентября 2026, студия «Кадр».
      Свободно мест: 7 из 12 (12:00 — 1, 16:00 — 6).
      
      Один участник — одна запись: место закреплено за вами. Если планы поменяются — /cancel, и место освободится.
      кнопки: Сменить сеанс | Отменить запись

  [Участник 12:00 №6 → бот] /start
      Мастер-класс студии «Кадр»
      20 сентября 2026, два сеанса — 12:00 и 16:00.
      Всего 12 мест, по 6 на сеанс.
      Свободно мест: 7 из 12 (12:00 — 1, 16:00 — 6).
      Телефон и почту не спрашиваю.
      
      Как вас зовут?

  [Участник 12:00 №6 → бот] Участник 12:00 №6
      Приятно познакомиться, Участник 12:00 №6! Выберите сеанс:
      12:00 — свободно 1 место
      16:00 — свободно 6 мест
      кнопки: 12:00 · свободно 1 | 16:00 · свободно 6

  [Участник 12:00 №6 → бот] 12:00
      Готово, вы записаны!
      Участник 12:00 №6 — сеанс 12:00, номер в списке 6
      20 сентября 2026, студия «Кадр».
      Свободно мест: 6 из 12 (12:00 — 0, 16:00 — 6).
      
      Один участник — одна запись: место закреплено за вами. Если планы поменяются — /cancel, и место освободится.
      кнопки: Сменить сеанс | Отменить запись

[ОК] на 12:00 занято 6 из 6 — занято 6, свободно 0
  [Опоздавший на 12:00 → бот] /start
      Мастер-класс студии «Кадр»
      20 сентября 2026, два сеанса — 12:00 и 16:00.
      Всего 12 мест, по 6 на сеанс.
      Свободно мест: 6 из 12 (12:00 — 0, 16:00 — 6).
      Телефон и почту не спрашиваю.
      
      Как вас зовут?

  [Опоздавший на 12:00 → бот] Опоздавший на 12:00
      Приятно познакомиться, Опоздавший на 12:00! Выберите сеанс:
      12:00 — мест нет
      16:00 — свободно 6 мест
      кнопки: 12:00 · мест нет | 16:00 · свободно 6

  [Опоздавший на 12:00 → бот] 12:00
      На сеанс 12:00 мест больше нет (6 из 6 занято). Свободен сеанс 16:00 — 6 мест.
      кнопки: 12:00 · мест нет | 16:00 · свободно 6

[ОК] 7-й на 12:00 получает отказ по местам
[ОК] в отказе предложен свободный сеанс 16:00
[ОК] отказ не создал запись
  [Участник 16:00 №1 → бот] /start
      Мастер-класс студии «Кадр»
      20 сентября 2026, два сеанса — 12:00 и 16:00.
      Всего 12 мест, по 6 на сеанс.
      Свободно мест: 6 из 12 (12:00 — 0, 16:00 — 6).
      Телефон и почту не спрашиваю.
      
      Как вас зовут?

  [Участник 16:00 №1 → бот] Участник 16:00 №1
      Приятно познакомиться, Участник 16:00 №1! Выберите сеанс:
      12:00 — мест нет
      16:00 — свободно 6 мест
      кнопки: 12:00 · мест нет | 16:00 · свободно 6

  [Участник 16:00 №1 → бот] 16:00
      Готово, вы записаны!
      Участник 16:00 №1 — сеанс 16:00, номер в списке 7
      20 сентября 2026, студия «Кадр».
      Свободно мест: 5 из 12 (12:00 — 0, 16:00 — 5).
      
      Один участник — одна запись: место закреплено за вами. Если планы поменяются — /cancel, и место освободится.
      кнопки: Сменить сеанс | Отменить запись

  [Участник 16:00 №2 → бот] /start
      Мастер-класс студии «Кадр»
      20 сентября 2026, два сеанса — 12:00 и 16:00.
      Всего 12 мест, по 6 на сеанс.
      Свободно мест: 5 из 12 (12:00 — 0, 16:00 — 5).
      Телефон и почту не спрашиваю.
      
      Как вас зовут?

  [Участник 16:00 №2 → бот] Участник 16:00 №2
      Приятно познакомиться, Участник 16:00 №2! Выберите сеанс:
      12:00 — мест нет
      16:00 — свободно 5 мест
      кнопки: 12:00 · мест нет | 16:00 · свободно 5

  [Участник 16:00 №2 → бот] 16:00
      Готово, вы записаны!
      Участник 16:00 №2 — сеанс 16:00, номер в списке 8
      20 сентября 2026, студия «Кадр».
      Свободно мест: 4 из 12 (12:00 — 0, 16:00 — 4).
      
      Один участник — одна запись: место закреплено за вами. Если планы поменяются — /cancel, и место освободится.
      кнопки: Сменить сеанс | Отменить запись

  [Участник 16:00 №3 → бот] /start
      Мастер-класс студии «Кадр»
      20 сентября 2026, два сеанса — 12:00 и 16:00.
      Всего 12 мест, по 6 на сеанс.
      Свободно мест: 4 из 12 (12:00 — 0, 16:00 — 4).
      Телефон и почту не спрашиваю.
      
      Как вас зовут?

  [Участник 16:00 №3 → бот] Участник 16:00 №3
      Приятно познакомиться, Участник 16:00 №3! Выберите сеанс:
      12:00 — мест нет
      16:00 — свободно 4 места
      кнопки: 12:00 · мест нет | 16:00 · свободно 4

  [Участник 16:00 №3 → бот] 16:00
      Готово, вы записаны!
      Участник 16:00 №3 — сеанс 16:00, номер в списке 9
      20 сентября 2026, студия «Кадр».
      Свободно мест: 3 из 12 (12:00 — 0, 16:00 — 3).
      
      Один участник — одна запись: место закреплено за вами. Если планы поменяются — /cancel, и место освободится.
      кнопки: Сменить сеанс | Отменить запись

  [Участник 16:00 №4 → бот] /start
      Мастер-класс студии «Кадр»
      20 сентября 2026, два сеанса — 12:00 и 16:00.
      Всего 12 мест, по 6 на сеанс.
      Свободно мест: 3 из 12 (12:00 — 0, 16:00 — 3).
      Телефон и почту не спрашиваю.
      
      Как вас зовут?

  [Участник 16:00 №4 → бот] Участник 16:00 №4
      Приятно познакомиться, Участник 16:00 №4! Выберите сеанс:
      12:00 — мест нет
      16:00 — свободно 3 места
      кнопки: 12:00 · мест нет | 16:00 · свободно 3

  [Участник 16:00 №4 → бот] 16:00
      Готово, вы записаны!
      Участник 16:00 №4 — сеанс 16:00, номер в списке 10
      20 сентября 2026, студия «Кадр».
      Свободно мест: 2 из 12 (12:00 — 0, 16:00 — 2).
      
      Один участник — одна запись: место закреплено за вами. Если планы поменяются — /cancel, и место освободится.
      кнопки: Сменить сеанс | Отменить запись

  [Участник 16:00 №5 → бот] /start
      Мастер-класс студии «Кадр»
      20 сентября 2026, два сеанса — 12:00 и 16:00.
      Всего 12 мест, по 6 на сеанс.
      Свободно мест: 2 из 12 (12:00 — 0, 16:00 — 2).
      Телефон и почту не спрашиваю.
      
      Как вас зовут?

  [Участник 16:00 №5 → бот] Участник 16:00 №5
      Приятно познакомиться, Участник 16:00 №5! Выберите сеанс:
      12:00 — мест нет
      16:00 — свободно 2 места
      кнопки: 12:00 · мест нет | 16:00 · свободно 2

  [Участник 16:00 №5 → бот] 16:00
      Готово, вы записаны!
      Участник 16:00 №5 — сеанс 16:00, номер в списке 11
      20 сентября 2026, студия «Кадр».
      Свободно мест: 1 из 12 (12:00 — 0, 16:00 — 1).
      
      Один участник — одна запись: место закреплено за вами. Если планы поменяются — /cancel, и место освободится.
      кнопки: Сменить сеанс | Отменить запись

  [Участник 16:00 №6 → бот] /start
      Мастер-класс студии «Кадр»
      20 сентября 2026, два сеанса — 12:00 и 16:00.
      Всего 12 мест, по 6 на сеанс.
      Свободно мест: 1 из 12 (12:00 — 0, 16:00 — 1).
      Телефон и почту не спрашиваю.
      
      Как вас зовут?

  [Участник 16:00 №6 → бот] Участник 16:00 №6
      Приятно познакомиться, Участник 16:00 №6! Выберите сеанс:
      12:00 — мест нет
      16:00 — свободно 1 место
      кнопки: 12:00 · мест нет | 16:00 · свободно 1

  [Участник 16:00 №6 → бот] 16:00
      Готово, вы записаны!
      Участник 16:00 №6 — сеанс 16:00, номер в списке 12
      20 сентября 2026, студия «Кадр».
      Свободно мест: 0 из 12 (12:00 — 0, 16:00 — 0).
      
      Один участник — одна запись: место закреплено за вами. Если планы поменяются — /cancel, и место освободится.
      кнопки: Сменить сеанс | Отменить запись

[ОК] на 16:00 занято 6 из 6 — занято 6
[ОК] всего записано ровно 12 человек — активных записей: 12
[ОК] свободных мест не осталось — свободно: 0
  [Тринадцатый → бот] /start
      Мастер-класс студии «Кадр»
      20 сентября 2026, два сеанса — 12:00 и 16:00.
      Всего 12 мест, по 6 на сеанс.
      Свободно мест: 0 из 12 (12:00 — 0, 16:00 — 0).
      Телефон и почту не спрашиваю.
      
      Как вас зовут?

  [Тринадцатый → бот] Тринадцатый
      Приятно познакомиться, Тринадцатый! Выберите сеанс:
      12:00 — мест нет
      16:00 — мест нет
      кнопки: 12:00 · мест нет | 16:00 · мест нет

  [Тринадцатый → бот] 12:00
      Все 12 мест заняты — записать не могу. Напишите /start позже: если кто-то отменит, место освободится.
      кнопки: Проверить места

[ОК] 13-й участник получает отказ: мест нет нигде
[ОК] после отказа записей по-прежнему 12 — активных записей: 12

------------------------------------------------------------------------
B. Повторное сообщение не занимает второе место
------------------------------------------------------------------------

  [Участник 12:00 №1 → бот] /start
      Вы уже записаны: Участник 12:00 №1 — сеанс 12:00, номер в списке 1.
      Повторная заявка второе место не занимает — место закреплено за вами.
      Свободно мест: 0 из 12 (12:00 — 0, 16:00 — 0).
      кнопки: Сменить сеанс | Отменить запись

[ОК] повторный /start показывает существующую запись
[ОК] после повторного /start записей всё ещё 12 — активных записей: 12
  [Участник 12:00 №1 → бот] Участник 12:00 №1
      Участник 12:00 №1, вы уже записаны: Участник 12:00 №1 — сеанс 12:00, номер в списке 1. Второе место повторное сообщение не занимает — вы в списке один раз.
      кнопки: Сменить сеанс | Отменить запись

[ОК] повторный ввод имени не создаёт новую запись
[ОК] записей всё ещё 12 — активных: 12
[ОК] строка участника в базе одна
  [Участник 12:00 №1 → бот] 16:00
      Все 12 мест заняты — перевести не могу. Вы по-прежнему на сеансе 12:00, номер 1 — место за вами.
      кнопки: Сменить сеанс | Отменить запись

[ОК] попытка встать на занятый сеанс не даёт второй записи — активных: 12
[ОК] бот оставляет участника на прежнем сеансе — место не потеряно
[ОК] номер участника не изменился — №1
  [Участник 12:00 №1 → бот] 16:00
      Сеанс изменён — 16:00. Номер в списке прежний: 1.
      Участник 12:00 №1 — сеанс 16:00, номер в списке 1
      20 сентября 2026, студия «Кадр».
      Свободно мест: 1 из 12 (12:00 — 1, 16:00 — 0).
      
      Один участник — одна запись: место закреплено за вами. Если планы поменяются — /cancel, и место освободится.
      кнопки: Сменить сеанс | Отменить запись

[ОК] перенос на свободный сеанс прошёл — сеанс: 16:00
[ОК] перенос не добавил новую строку — активных: 11
[ОК] номер в списке сохранён при переносе — №1
  [Участник 12:00 №1 → бот] 12:00
      Сеанс изменён — 12:00. Номер в списке прежний: 1.
      Участник 12:00 №1 — сеанс 12:00, номер в списке 1
      20 сентября 2026, студия «Кадр».
      Свободно мест: 1 из 12 (12:00 — 0, 16:00 — 1).
      
      Один участник — одна запись: место закреплено за вами. Если планы поменяются — /cancel, и место освободится.
      кнопки: Сменить сеанс | Отменить запись

[ОК] перенос обратно на 12:00 прошёл

------------------------------------------------------------------------
C. Отмена: участник и организатор
------------------------------------------------------------------------

  [Участник 12:00 №3 → бот] /cancel
      Запись отменена: Участник 12:00 №3, сеанс 12:00. Место освободилось.
      Свободно мест: 2 из 12 (12:00 — 1, 16:00 — 1).
      
      Записаться заново можно в любой момент — /start.
      кнопки: Записаться

[ОК] участник отменил свою запись
[ОК] место освободилось (12:00 +1) — свободно: 0 → 1
[ОК] после отмены активных записей 10 — активных: 10
  [Участник 12:00 №3 → бот] /cancel
      Активной записи на вас нет — отменять нечего.
      Хотите записаться — напишите /start.
      кнопки: Записаться

[ОК] повторная отмена отвечает спокойно
  [Опоздавший на 12:00 → бот] 12:00
      Готово, вы записаны!
      Опоздавший на 12:00 — сеанс 12:00, номер в списке 13
      20 сентября 2026, студия «Кадр».
      Свободно мест: 1 из 12 (12:00 — 0, 16:00 — 1).
      
      Один участник — одна запись: место закреплено за вами. Если планы поменяются — /cancel, и место освободится.
      кнопки: Сменить сеанс | Отменить запись

[ОК] освободившееся место занял следующий — сеанс 12:00
[ОК] на 12:00 снова 6 из 6
  [Тринадцатый → бот] /start
      Мастер-класс студии «Кадр»
      20 сентября 2026, два сеанса — 12:00 и 16:00.
      Всего 12 мест, по 6 на сеанс.
      Свободно мест: 1 из 12 (12:00 — 0, 16:00 — 1).
      Телефон и почту не спрашиваю.
      
      Как вас зовут?

  [Тринадцатый → бот] Тринадцатый
      Приятно познакомиться, Тринадцатый! Выберите сеанс:
      12:00 — мест нет
      16:00 — свободно 1 место
      кнопки: 12:00 · мест нет | 16:00 · свободно 1

  [Тринадцатый → бот] 12:00
      На сеанс 12:00 мест больше нет (6 из 6 занято). Свободен сеанс 16:00 — 1 место.
      кнопки: 12:00 · мест нет | 16:00 · свободно 1

[ОК] на 12:00 по-прежнему отказ (новая заявка отклонена)
  [Тринадцатый → бот] 16:00
      Готово, вы записаны!
      Тринадцатый — сеанс 16:00, номер в списке 14
      20 сентября 2026, студия «Кадр».
      Свободно мест: 0 из 12 (12:00 — 0, 16:00 — 0).
      
      Один участник — одна запись: место закреплено за вами. Если планы поменяются — /cancel, и место освободится.
      кнопки: Сменить сеанс | Отменить запись

[ОК] участник записался на оставшееся место
[ОК] все 12 мест заняты — свободно: 0
[ОК] организатор видит оба сеанса
[ОК] в отчёте 12 активных записей
[ОК] в отчёте видны две отмены — одна — участник, одна — прогон освобождения места
[ОК] организатор снял участника по номеру — снят №2 (Участник 12:00 №2)
[ОК] после снятия активных 11 — активных: 11
[ОК] отменённых стало 3 — отменено: 3
[ОК] снятое место освободилось — свободно: 1
[ОК] несуществующий номер не ломает бота

========================================================================
СПИСОК ОРГАНИЗАТОРА В КОНЦЕ ПРОГОНА
========================================================================
Список участников — Мастер-класс студии «Кадр»
20 сентября 2026

Сеанс 12:00 — 5 из 6
  №1. Участник 12:00 №1
  №4. Участник 12:00 №4
  №5. Участник 12:00 №5
  №6. Участник 12:00 №6
  №13. Опоздавший на 12:00

Сеанс 16:00 — 6 из 6
  №7. Участник 16:00 №1
  №8. Участник 16:00 №2
  №9. Участник 16:00 №3
  №10. Участник 16:00 №4
  №11. Участник 16:00 №5
  №14. Тринадцатый

Всего записано: 11 человек, свободно 1 место.
Отменили запись: 3.
------------------------------------------------------------------------
Проверок: 38. Пройдено: 38. Провалено: 0.
ИТОГ: ПРОВЕРКА ПРОЙДЕНА
