Описание логики операций с учителями.
Оплата идет на общий баланс, списание тоже с общего баланса. Для подсчета суммы пополнения по учителям в калькулятор на профиле школы добавляется новая вкладка – По числу учителей.
Основой подсчета количества доступных бесплатных учителей является общее количество оплаченных аккаунтов учеников в школе (ученик, который числится на нескольких курсах сразу, считается отдельно по каждому курсу).
Общая формула: для каждых 5 учеников доступен 1 бесплатный учитель (т.е. для 1-5 учеников – 1 учитель, 6-10 учеников – 2 учителя и т.д.).
1. Создание.
Если финансовый статус у школы – Активный:
Вариант 1 - у школы отсутствует активный абонемент на текущий месяц.
При создании профиля учителя система считает общее кол-во активных учеников в школе, делит на 5, округляет в большую сторону и сравнивает полученное число с кол-вом имеющихся на данный момент в школе уникальных учителей (учитель, у которого есть активные классы по нескольким курсам, считается за 1). Возможны 3 варианта:
Кол-во имеющихся в школе учителей меньше кол-ва доступных бесплатных учителей.
Учитель создается за 0 р., операция отражена в Биллинг-Операции в формате: Создание (с примечанием “учитель”) +Фамилия и Имя + стоимость = 0р.Кол-во имеющихся в школе учителей больше или равно кол-ву доступных бесплатных учителей, но есть свободные места для учителей. Учитель создается за 0 р., операция отражена в Биллинг-Операции в формате: Создание (с примечанием “учитель”) +Фамилия и Имя + стоимость = 0р.
Кол-во имеющихся в школе учителей больше или равно кол-ву доступных бесплатных учителей, свободных мест для учителей нет.
Стоимость добавления учителя = 500 рублей делим на кол-во дней в месяце и умножаем на остаток дней.
Вариант 2 - у школы есть активный абонемент на текущий месяц.
Для подсчета общего количества доступных бесплатных учителей система складывает кол-ва учеников по всем имеющимся в школе курсам, на которых абонемента нет, и прибавляет к полученной сумме либо кол-во учеников, на которое куплен абонемент (если фактически учеников на абонементном курсе меньше, чем куплено в абонементе), либо фактическое кол-во учеников на абонементном курсе (если оно больше, чем кол-во, на которое куплен абонемент). Полученное число делится на 5 и получается общее кол-во доступных бесплатных учителей в школе в текущем месяце. Далее логика – аналогична созданию учителя без абонемента.
Пример 1: у школы подключено 2 курса – Скорочтение и Матемагия. На каждом из них 5 активных учеников, абонементов нет. Общее кол-во бесплатных учителей, доступных школе в текущем месяце = (5+5)/5=2.
Пример 2: у школы подключено 2 курса – Скорочтение и Матемагия. На каждом из них 5 активных учеников, но на Скорочтении есть еще абонемент на 20 человек на текущий месяц. Общее кол-во бесплатных учителей, доступных школе в текущем месяце = (20+5)/5=5.
Пример 3: у школы подключено 2 курса – Скорочтение и Матемагия. На каждом из них 10 активных учеников, но на Скорочтении есть еще абонемент на 5 человек на текущий месяц. Общее кол-во бесплатных учителей, доступных школе в текущем месяце = (10+10)/5=4.
Если после создания учителя за оплату в школе добавились еще ученики и, соответственно, стал доступен еще 1 бесплатный аккаунт учителя, этот бесплатный аккаунт может быть в дальнейшем использован для создания/восстановления учителей. На учителей, созданных/восстановленных до того, как в школе добавились ученики, это никак не влияет (т.е., например, в школе было 5 учеников и 1 бесплатный учитель, клиент за оплату активировал еще 1 аккаунт учителя, а потом добавил еще 1 ученика. В школе разблокировался еще 1 бесплатный учитель, но возврата за уже купленного учителя система не производит).
Финансовый статус у школы – В блокировке: Создание учителя невозможно.
2.Архивация (администратором школы, в ручном режиме).
Финансовый статус у школы – Активный:
Вариант 1 – архивируется бесплатный учитель.
Сумма операции = 0 р., в профиле школы уменьшается на 1 общее кол-во учителей и кол-во бесплатных учителей, кол-во доступных бесплатных учителей и кол-во свободных мест для учителей не меняются.
Вариант 2 – архивируется платный учитель.
Сумма операции = 0 р., в профиле школы уменьшается на 1 общее кол-во учителей, кол-во бесплатных учителей и кол-во доступных бесплатных учителей не меняются, кол-во свободных мест для учителей увеличивается на 1.
Финансовый статус у школы – В блокировке:
Сумма операции = 0 р., в профиле школы уменьшается на 1 общее кол-во учителей. Если заархивированный учитель был бесплатным, на 1 уменьшается кол-во бесплатных учителей. Кол-во свободных мест для учителей и кол-во доступных бесплатных учителей в любом случае не меняются.
3.Восстановление.
Финансовый статус у школы – Активный:
При восстановлении учителя система считает общее кол-во активных учеников в школе и делит на 5, округляет в большую сторону и сравнивает полученное число с кол-вом имеющихся на данный момент в школе уникальных учителей (учитель, у которого есть активные классы по нескольким курсам, считается за 1). Возможны 3 варианта:
Кол-во имеющихся в школе учителей меньше кол-ва доступных бесплатных учителей.
Учитель восстанавливается за 0 р., операция отражена в Биллинг-Операции в формате: Активация (с примечанием “учитель”) +Фамилия и Имя + стоимость = 0р.Кол-во имеющихся в школе учителей больше или равно кол-ву доступных бесплатных учителей, но есть свободные места для учителей. Учитель восстанавливается за 0 р., операция отражена в Биллинг-Операции в формате: Активация (с примечанием “учитель”) +Фамилия и Имя + стоимость = 0р.
Кол-во имеющихся в школе учителей больше или равно кол-ву доступных бесплатных учителей, свободных мест для учителей нет.
Стоимость добавления учителя = 500 рублей делим на кол-во дней в месяцеи умножаем на остаток дней.
Финансовый статус у школы – В блокировке:
Сумма операции в любом случае = 0 р. Если учитель восстановлен как бесплатный, на 1 увеличивается кол-во бесплатных учителей и общее кол-во учителей. Если учитель восстановлен как платный, увеличивается общее кол-во учителей, кол-во свободных мест не меняется.
В обоих случаях сумма активации пересчитывается с учетом восстановленного учителя.
4. Удаление.
Удаление учителя из класса.
Вне зависимости от финансового статуса школы данная операция не проходит в отчете Биллинг – Операции как отдельная, баланс школы и кол-во учителей (активных, бесплатных), а также свободных мест для учителей не меняется. Причина – учитель привязан к школе и любые перемещения учителя внутри школы транзакциями не являются.
5.Добавление учителя в класс (учитель уже активирован в школе, но в другом классе).
Вне зависимости от финансового статуса школы данная операция не проходит в отчете Биллинг – Операции как отдельная, баланс школы и кол-во учителей (активных, бесплатных), а также свободных мест для учителей не меняется. Причина – учитель привязан к школе и любые перемещения учителя внутри школы транзакциями не являются.
6. Автоматическая архивация учителя платформой.
Если после добавления бесплатного второго учителя количество учеников стало 5 или меньше, бесплатный учитель с более поздним id архивируется (сумма возврата =0). Если нужно, чтобы активным остался учитель с более поздним id, архивируем оставшегося активным учителя (за 0 р.), восстанавливаем нужного нам (за 0 р.). Если нужно, чтобы остались оба, восстанавливаем (=активируем) учителя с более поздним id за оплату. Система участвует только в архивации бесплатного “лишнего” учителя, все остальные действия – на стороне пользователя.
Если после покупки платного учителя количество учеников стало 5 или меньше, платный учитель не должен архивироваться (т.к. он куплен был за деньги).
Обращаем внимание, что критерием выбора, какой из бесплатных учителей будет заархивирован, является его id. Т.е. возможна ситуация, когда при удалении ученика (соответственно, уменьшении кол-ва доступных бесплатных учителей) в архив попадет учитель, который у удаленного ученика не преподавал. Обходным путем является возможность администратора вручную заархивировать ненужного учителя и на его место восстановить за 0 р. учителя, которого автоматически заархивировала система.
7. Стоимость активации.
Финансовый статус у школы – Активный:
Стоимость активации за учителей считается как сумма стоимостей активации по каждому учителю на 1 число следующего месяца. Если общее кол-во учителей в школе меньше или равно кол-ву доступных бесплатных учителей на 1 число следующего месяца, то за учителей выставляется 0 р., если нет – за каждого учителя сверх кол-ва доступных бесплатных учителей на 1-е число выставляется по 500 р.
Списание за каждого учителя (вне зависимости от того, платный он или бесплатный) отражается отдельной строкой (0 р. либо 500 р.).
В случае, если у школы есть абонемент на следующий месяц, он учитывается при расчете кол-ва доступных бесплатных учителей на 1 число следующего месяца (например, если у школы 3 учителя, из них 1 бесплатный, и есть абонемент на 100 учеников на следующий месяц, стоимость активации учителей 1 числа следующего месяца составит 0 р., т.к. 1 числа вступит в силу абонемент, который даст школе 20 бесплатных учителей).
Финансовый статус у школы – В блокировке:
Стоимость активации за учителей считается как сумма стоимостей активации по каждому учителю по формуле на оставшееся кол-во дней в месяце. Если общее кол-во учителей в школе меньше или равно кол-ву доступных бесплатных учителей на текущий момент, то за учителей выставляется 0 р., если нет – за каждого учителя сверх кол-ва доступных бесплатных учителей выставляется по 500 р/кол-во дней в месяце*остаток дней.
В случае, если у школы есть абонемент на текущий месяц, он учитывается при расчете кол-ва доступных бесплатных учителей на текущий момент (например, если у школы 3 учителя и есть абонемент на 100 учеников на текущий месяц, стоимость активации учителей составит 0 р., т.к. абонемент дает школе 20 бесплатных учителей).