你负责的补习班、家教班采精致的小班教学,甚至主打“一对一”或“一对二”教学,原本以打印件或 Excel 处理所有学员、帐务与课务信息,现在想更系统化管理,最好有个针对自家缴费方式、开课、排课模式客制的系统,但不希望太贵太耗时?你可以从这篇文章提供的方法入手,试试用 Ragic 来打造自己的系统。
如果你还不知道 Ragic 是什么,Ragic 是个自助设计信息系统的工具,我们提供类似 Excel 的简易编辑接口,但能做到数据库的功能,让不会写程序的人也能为自己量身打造企业应用,只要在主页或本篇文章最下方登记帐号就能使用(有提供免费版可试用)。
由于 Ragic 的高弹性模式,和补教机构、新兴的各种课程机构的数据管理需求相合,近年来常有补习班、家教班、才艺班、游泳班、健身房等客户来信询问如何设计系统,以管理自家数据、排课、订购缴费、点名扣堂数等。在累积许多针对不同课程机构的不同设计建议后,我们将相关的教学集结成系列文章,希望协助有兴趣的新订户,更快针对自己适合的模式快速上手。
如果你也是正在查找客制化信息系统的课程机构,你可以先从本系列的总论开始,总论中将课程机构分成四个类别,可以在辨认自家属于哪一种类型后,直接点到对应文章来阅读。
本文主要解说总论中课程管理模块之外的第 ② 种模式:一对一教学、固定上课时段的开课模式。这种模式例如补习班的一对一资优数学课程、一对一或一对二游泳班,是先帮老师跟学生配好一个上课时段,然后跟团体班的规矩一样,固定单击特定周期上课。以下会完全针对这样的模式,根据最常见的“数据管理”、“订购缴费”、“点名(扣堂数)”三大流程,提供设计建议。
注:“一对一固定上课时段”的模式其实可以看作是课程管理模块(同样固定上课时段)的简化版本。和课程管理模块相比,两者差别只在于一班学生是只有一个人,还是一堆人(团体班)。
当一班学生只有一个人的时候,某些原本需要子表格、新开一张表单、或是动作单击钮等功能达到的事情,可以简化处理,实际使用起来会更方便。但如果你不介意表单比较多张、体系结构比较麻烦的话,“一对一固定时段开课模式”的需求,是可以直接透过安装课程管理模块来达成的。
反过来说,如果你的开课模式是固定上课时段,但不是“一班只有一个学生”,而是“一对二”的情形的话,因为只要多一个学生状况就变复杂,我们还是比较建议你直接参阅或修改课程管理模块。
另外,假设你是一对一课程,但上课时段不是那么“固定”,可能会临时约定或修改,但仍属于“具有连贯性,约好要单击部就班上完一整组”的课程,你倒是可以考虑采用本文建议的表单体系结构略加修改来使用,相关的修改建议请点这里。或者,你就可以直接参阅四种模式里的③ 一对一、可随时预约模式,最具有弹性。
你可以点选以下链接查看演示表单(后面的教学都可以对照演示表单查看,也可以在演示表单上新增数据测试效果):
我们建议你除了演示表单之外,最好也先直接登记一个 Ragic 帐号来实际搭配教学玩玩看,你会发现很多表单建置或流程操作实际做起来并不难。接下来会将此模式的数据 / 流程管理需求,拆成前面所说的“数据管理”、“订购缴费”、“点名(扣堂数)”三个阶段来解说,概要制表如下:
(一)管数据 | (二)订购缴费 | (三)排课、纪录 | ||||
基本数据 | 课表 | 订购 | 缴费 | 排课 / 预约课程 | 生成点名单 / 上课纪录 | 扣堂数 |
老师、学生、上课站点、开课清单各开一张表单纪录,说明见此 |
基础版:在老师、学生、上课场地等表单添加包含上课时间的参照子表格即可当课表参阅。 进阶版:在开课清单创建子表格,记载每次上课日期,再根据子表格(生成新表单的)信息生成行事历报表或行事历同步。这两部分的说明见此 |
一对一的课比较“因人设事”,因此课程订购 = 开课清单(多加字段“上课学生”) 即可,说明见此 | 视缴费与订购的关系而定,说明见此 | 周期开课,因此开课时即排好课了。若需调整时间可在开课清单子表格修改。 | 因为只有一位学生,在开课清单创建记载每次上课日期的子表格(就是前面提到的“进阶版课表”)在此子表格新增出缺席以及扣堂数字段即可。说明见此。 | 由于订购单和点名单(子表格)在同一张表单上,可套公式,订购单上的剩余堂数 =“原本的总堂数”减去“点名子表格上‘扣堂数’字段值的总和”,说明见此 |
接下来,我们就直接拆解需求,让你一步步 100% 根据自家需求,做出最符合心中理想的系统!
管好整个“流程”之前,最基本的,就是要先能把名单、清单、列表这模拟较固定的“数据”整理好、分门别类放好,方便查找和调用。在这里,我们要管理的基本数据主要包括老师名单、学生名单、上课站点,这些部分表单的建置逻辑和其他开课模式类似,可以直接参阅团班开课模式这个区块(直到“另外创建“付费方案”表单”之前)的说明。
“课程”相关的部分,包括开课清单、付费方案、课表的创建方式,则会因为模式差异,有点不同,以下就另外说明。
“课程”相关的数据,单击理也要开一个类似“开课清单”的表单,把开的课列出来。不过,跟团体班课程相比,一对一课程比较属于“量身打造”类型,不会像团班课那样先开好制式规格说明,等愿意接受的人报名,也不会像一堂团体课会有多个学生报名(会生成多笔订购数据),会需要另外创建“课程订购表”来管理订购数据。
一对一课程的每个课程只会对应一笔订购数据、一个上课的学生,没有学生要上课,一对一课程就不会开,因此,在纪录课程信息时,就可以直接包含这位学生的“课程订购”信息。
也就是说,可以直接在常见的课程表单里,增加一个“订购信息”的区块,注记是哪个学生订了课程即可,等于将“课程订购单”的信息直接归并在“开课清单”表单中,不用另外创建一张“课程订购表”。
我们可以创建像下图的开课/课程订购单,范例表单链接在这里:
因为这张表单实际上就是“课程订购+课程信息”两张表单的合体,基本上跟课程管理模块的课程订购单长得很像,
可以参照课程订购单的方法,利用链接与加载工具将学生名单,老师名单,上课站点的信息链接进来。
和课程管理模块课程订购单的差别只在于,在我们现在解说的这张“开课 / 课程订购单 / 上课纪录”表单中,课程信息的部分是直接输入的,不需要另外创建一张课程表单链接加载了(因为在一对一课程里订课 = 开课,每个开课数据里只会有一个订购的学生,不需要分成两张表单纪录了。)
至于课表的制作方式,原则上可以直接参阅 ① 团体班、任选时段上课模式的课表这个区块的说明,就可以设计出来,可以用表单的方式呈现、也可以用行事历的方式呈现,只是要注意的是,在本文所描述的模式中,开课清单、课程订购单都是属于同一张表单。
如果学生每次订购的单元不是一组课程,而是多组课程,或是课程加上商品的组合,那么就可能也要另外创建付费方案表单,此时可以另外创建付费方案表单,设计原则可以参阅 ① 团体班、任选时段上课模式的付费方案表单的说明。
在 Ragic ,如果想管理一组数据,最简单的方式就是把数据整理成一张或多张表单,而要是想管理 / 跟踪 / 纪录根据这些数据生成的流程,最简单的方式则是创建一张专门管理此流程的表单,以链接与加载将其他表单数据带入,一般卖卖业的“订单管理”、“出货”、“入库”流程,行政总务需要的“设备租借”,人资需要的“加班申请”等,在 Ragic 都是用这种方法做的。
“课程订购”这类流程的管理需求就和“订单管理”类似,只是在本篇文章“一对一课程”的情况下,“订单”跟“开课清单”的意思是一样的,因此请参照前面“开课清单”的设计即可。
而缴费流程的部分,这里的演示表单也是采取“一笔订购 = 一笔缴费数据”的逻辑来设计的,如果一笔订购不等于一笔缴费数据(集结多张订单一次缴费,或一次订购分期缴费),有需要的话,可以参阅总论文章中的说明来做。
在本篇文章的模式中,学生每堂课都固定应该出勤,没有选择什么时候要不要上课的问题,因此不需要处理“课程预约”问题,主要要管理的流程就是纪录出缺席以及扣堂数。
这部分会比团班上课单纯得多。
如果是团班的话,一堂课有多个学生,代表每次上课时,每张点名单都会需要多个出缺勤纪录的字段,也就是点名单上的学生出缺勤纪录通常需要用到 Ragic 的子表格。而一对一课程每次上课时只有一个学生,也就是一笔点名单数据只要对映一个出缺勤状态的字段即可,此时,就可以用简化一点的方式来制作点名单,例如下面的做法。
我们可以在开课清单 / 订购单这张表单上,新开一个“课程纪录”(点名.上课纪录一览表)子表格,用“一行子表格 = 一次上课”的方式来注记每次上课的状态。像这样:
这个“点名.上课纪录一览表”子表格,其实就是前面解说到以日历方式制作课表时,制作行事历报表的方法(开课清单子表格,可再参阅这里),只是不一定需要“子表格生成新表单”,可以在子表格纪录就好,省一张表单。
能够“自动计算剩余堂数”会有很多好处,例如,学生如果中途退费,你可以知道他已经上过几堂课,以便处理后续。如果学生是固定买糖树的话,也需要在每次上课前,确认这个学生是否还有剩堂可供上课,以便提醒学生/家长是否需要购买新的点数/堂数。
通常,纪录出缺勤、以便知道该怎么扣堂数的信息来源,会在点名表 / 出席纪录这类表单上,而“目前剩余堂数”的信息,放在纪录订购信息的表单上最合理。
在团班上课的模式里,“点名表”和纪录“订购信息”的表单,会是不一样的两张表单,因此我们通常会用更新别张表单字段值的功能,单击单击钮来将点名单上的“扣堂数”信息(设置只要上过该堂课,就将该堂课扣堂数字段值改为1),更新到订购表单的剩余堂数字段上(剩余堂数字段自动减一)。
而本篇教学的例子里,订购表单和点名单是放在同一张表单上(点名信息是开课清单/订购单的子表格),因此不需要使用到动作单击钮,需要使用另一个功能。由于我们希望的是,以子表格“扣堂数”字段值的总和为依据,让“剩余堂数”字段可以实时扣减掉所有已经有上过课的堂数,因此,可以利用 Ragic 的公式来做。
以这笔数据为例,公式可以这样设:
这样,当你帮学生在“出席状态”上选择好状态(使该字段不是空值)之后,“扣堂数”字段会自动填上“1”,而“目前剩余堂数”字段会等于原本的总堂数减掉所有已上课的堂数:
每次新上一堂课、注记出缺勤纪录时,就会触发“扣堂数”以及“目前剩余堂数”字段的公式,达到自动更新的效果。这里的公式也可以根据实际的课堂规则来调整(例如如果请假缺席的话不扣堂数,那么“扣堂数”字段的公式就要修改,甚至出席状态的字段值选项也要修改。)
从管理基本数据、课程订购管理、排课预约管理、上课纪录管理到扣堂数,基本的课程管理需求大致就解说到这里。如果你需要复习一下每个流程可以用怎样的设计方法达成需求,可以点此跳转到最前面的表格。
如果你的课程模式是“一对一”,但不是标准的“固定上课时段”模式,比较像是学生跟老师谈定了某段时间要上十堂课,但因为只有两方要约时间,所以用比较弹性的方式处理,可以临时决定上课时间或改时间,此时虽然也可以适用四种模式里的③ 一对一、可随时预约模式,但因为预约模式比较偏向“弹性预约”,对于一系列连贯课程的纪录可能显得比较零碎,因此可以略加修改本篇文章的建议体系结构来适用。
例如,只要在开课/课程订购单/上课纪录表单中,将课程信息中的周期信息等字段拿掉,谈定的上课时间填在子表格中,就可以了。
由于这种谈定的模式,不一定需要请假与补课,因此原本建议设计的表单体系结构中的请假、补课两张表单就可以省下来。
“谈好固定时间上课”的模式多少会有管理请假或加补课的需求,这部分一样可以参阅同样是“固定上课时段”的课程管理模块设计请假单、加补课单的体系结构。
原则上,加补课单的设计逻辑跟课程管理模块一样,可直接参阅课程管理模块的说明。不过,在请假单的部分,因为一对一课程一堂课只会有一个学生,设计上可以再简化一点,可参阅这张表单的设计。这张表单的基本体系结构和课程管理模块的表单类似,一样设置链接与加载自学生表单、课程(开课)表单,并且设计像这样的动态筛选(让学生或工作人员填写请假单时不会看到一堆不相关的信息):
而在“将学生请假的信息传递到点名单上”的部分,团班上课的表单必须在老师点名时,手动透过链接与加载或单击钮来查看有没有请假信息,一对一课程的表单则可以直接利用更新别张表单字段值的功能,做得比团班简单。
只要设置如下的更新别张表单字段值动作单击钮:
在请假程序完成后,单击下此动作单击钮,就会直接更新课程相关表单的信息了。
如果你的机构混合了不只一种的模式,希望比较不同模式怎么管理流程、或希望知道怎么在一个数据库管理不同模式的流程,可以看总论的比较表以及混合模式的建议;如果你有进阶的设计需求需要我们提供建议,也可以先参阅总论,或直接来信 support@ragic.com 询问我们。祝你建置数据库顺利!