School branches scheduling app

2020-08-02_05-21-19
subject area complexity
User roles / Levels of access: 4
Basic entities / Database tables: 67
Total fields: 989
Sections (grids, calendars, charts): 128
Relationships / Foreign-key fields: 314
Localized fields: 175
File upload fields: 33
Languages: 2

School branches scheduling app

Designed to control a multibranch-structured language school
Request a demo

App for a language-school with a number of branches. Has 4 different access levels: Administrator, Branch administrator, Teacher and Corporate client. Holds data about students and their account balances, groups, schedules, attendance, teachers, salaries, incomes, expenses. Due to COVID-19, features the additional ability to make lessons to be fully/partially held via Zoom.

The app, among other things, controls the two main money flows, the first of which comes from contract payments made by students or their parents to pay for the student to attend a group as per outlined in the Student in group / Pupil / Contract entry. Another flow consists of payments from corporate clients, which are mostly made via bank transfers directly to any of the school’s bank accounts, so the app offers the ability to upload and import bank statements.

How it works

You fill in info about teachers, their salary settings (fixed part, min. hours, etc), and the courses that will be learnt in your school in the Training » Teachers and Training » Courses and coursebooks app sections respectively.  If you need to have the ability to switch Lessons into Zoom mode, you must create at least one Zoom-account entry in the Training » Zoom accounts app section, specify the Zoom JWT-token and map the teachers you need for that Zoom-account, by inputting their Zoom emails

If it’s a new student, you create a Student entry in the Training » Students app section prior to creating a Contract entry to be nested under that student. If the student wants to be assigned to an already existing group, you should specify that group among the Contract entry’s properties so that app includes the group’s schedule in the printable Contract document.

Each time someone makes a payment for your school – an Income payment entry must be created in the Finance » Income payments app section. If you’re logged in as a Branch administrator, payments will be auto-linked to your Branch by default. Otherwise, if you’re logged in as an Administrator, you should specify the Payment entry’s Branch on your own. If it is a student’s payment, you must set Purpose to Payment under the contract and select Contract from this student’s contracts combobox. 

When it’s time to create groups, for example due to the new academic year drawing quite close, you must do that in the Training » Groups of students app section. For each group you must specify the teacher and his per lesson salary for the group, start date, weekdays and the start time for each, total planned quantity of lessons.

You may use two ways to add students into groups, either by going to Training » Groups of students » Some group » Pupils in group » Create new, or by going to Training » Students » Some student » Contracts » Create new. Don’t be scared, it’s just two clicks from the root of the system, and illustrates one example of various navigation scenarios feature.

Once you’re sure the draft groups are ready to go live, select any one of them and press Activate / Renew button in Training » Groups of students app section. As a part of the activation procedure, the group’s schedule will be checked as to whether it will have conflicts with lessons that are already created in the schedule, including lessons for other groups that have been activated earlier. If no conflicts are detected, then this group’s Lesson entries will be created in the schedule according to the group’s plan settings.

You can navigate student attendance in 8 different ways to keep it up to date –  the quickest (1 click) is by going to Reports » Attendance, the other ways are a little bit farther out of your way, and may be used depending on where you are currently located within the app sections hierarchy. For example if you’re in Training » Groups of students, you may navigate deeper either to … » Some group » Lessons schedule » Some lesson » Attendance, or … » Some group » Monthly reports » Some monthly report » Attendance. Keeping attendance up to date is important as this data are used to calculate the teacher’s final salary and the student’s balance

Each row in the Training » Students app section represents a Student entry and summary info about a student’s contracts, balance, charges, and payments. Branch administrators have an Only mine checkbox filter and a Debtor filter within the Options toolbar in that app section. So it facilitates finding debtors and create a reminder for a certain date to, for example, make a call to that student

You can do it in the Reports » By teachers app section, as each row represents a certain teacher’s monthly result, which includes statistics, salary components, taxes, current revenue, total to be paid, and the profit for your company. You can also control your incomes, expenses and cashbox state for each branch in the Finances » Branches monthly app section

The app has the ability to deliver income payments data to the government tax authorities using special API endpoints, so legal receipts are accessible for printing and given to be given out to students and, in addition to another printable document containing info about how much was paid for a certain year – this allows helping student apply for 13% Income Tax deduction.

To adapt to COVID-19 restrictions, Zoom integration was implemented, so any lessons that were initially planned to given offline (e.g each in a place where a certain offline branch was physically located) – can now be switched to Zoom mode by clicking the Another place button and choosing Zoom as the other place so that the Zoom meeting’s link can be sent to the teacher and students.