不写程序自建补习班信息系统(三):“一对一实时预约系统”设计秘诀(单击摩、做脸服务也适用)
前言
你是补习班、才艺班老板或员工,所属的补习班提供弹性的“一对一预约教学”课程,学生可以实时查看空堂并预约(购买)单堂课程,但没有有效的信息管理系统,或是原本的系统太僵化不好使用,希望做个针对自家缴费方式、开课、排课模式客制的系统,但不希望太贵太耗时?你可以从这篇文章提供的方法入手,试试用 Ragic 来打造自己的系统。
如果你还不知道 Ragic 是什么,Ragic 是个自助设计信息系统的工具,我们提供类似 Excel 的简易编辑接口,但能做到数据库的功能,让不会写程序的人也能为自己量身打造企业应用,只要在主页或本篇文章最下方登记帐号就能使用(有提供免费版可试用)。
由于 Ragic 的高弹性模式,和补教机构、新兴的各种课程机构的数据管理需求相合,近年来常有补习班、家教班、才艺班、游泳班、健身房等客户来信询问如何设计系统,以管理自家数据、排课、订购缴费、点名扣堂数等。在累积许多针对不同课程机构的不同设计建议后,我们将相关的教学集结成系列文章,希望协助有兴趣的新订户,更快针对自己适合的模式快速上手。
如果你也是正在查找客制化信息系统的课程机构,你可以先从本系列的总论开始,总论中将课程机构分成四个类别,可以在辨认自家属于哪一种类型后,直接点到对应文章来阅读。
本文主要解说总论中课程管理模块之外的第 ③ 种模式: 一对一预约课,典型的例子像是一对一预约制的英语课,学生有空时可随时到现场或透过网络查询可预约的时段、老师、课程,实时将时段预约起来。
这种模式比预先说定每周上课时间,或已经预订好要上某一系列课程的一对一教学还要再有弹性一些,跟预约餐厅、旅馆、约做脸、做指甲、预约单击摩等一对一服务更像,制作课表、“管理上课时段(预约时段)”的重要性更高,因此我们特别开一篇文章来说明。如果你不是课程机构,但也有管理预约时段需求的话,也可以参阅本文的表单设计逻辑,利用 Ragic 的现成工具来打造自己的预约系统。
以下会完全针对这样的模式,根据最常见的“数据管理”、“订购缴费”、“点名(扣堂数)”三大流程,提供设计建议。
注:本系列文介绍的四种开课模式,其中两种为“一对一教学”的模式,两者差别只在于,定期一对一的模式是已经谈定上课时段,或至少是已经规划好的一系列课程,而本文的“一对一预约”模式可以容许更灵活弹性的课程订购方式。
实际上,本文要介绍的“一对一预约模式”表单设计体系结构,可以看成“一对一定期上课”模式的“弹性版”,两者的逻辑大致类似,只是“一对一定期上课”把不同次的上课数据“绑”在同一张表单中,让固定周期的预约与排课比较方便;“一对一预约模式”则比较分开看待每一次预约,每次预约都更有弹性,但就不特别适合批处理。
因此,假如你的一对一预约制教学模式不贩售“单堂课程”,也就是都要以一组十堂课的买堂数方式购买,那么你其实不只可以参阅本文,也可以参阅“定期一对一”的模式(相关建议请参阅教学文章特别是这个部分)。以这个情况来说,条条大路通罗马,两种设计方式都可行。
流程概要说明
你可以点选以下链接查看演示表单(后面的教学都可以对照演示表单查看,也可以在演示表单上新增数据测试效果):
点此进入 ③ 一对一预约模式 演示表单链接
我们建议你除了演示表单之外,最好也先直接登记一个 Ragic 帐号来实际搭配教学玩玩看,你会发现很多表单建置或流程操作实际做起来并不难。接下来会将此模式的数据 / 流程管理需求,拆成前面所说的“数据管理”、“订购缴费”、“点名(扣堂数)”三个阶段来解说,概要制表如下:
(一)管数据 | (二)订购缴费 | (三)排课、纪录 | ||||
基本数据 | 课表 | 订购 | 缴费 | 排课 / 预约课程 | 生成点名单 / 上课纪录 | 扣堂数 |
老师、学生、上课站点、上课预约单各开一张表单纪录,说明见此 | 直接利用“上课预约单”同步行事历报表,该报表即为课表。 |
若是买一组堂数的模式,则创建“订购单”。
若是买单堂课程的模式,则在上课预约单上新增订购信息的字段即可。 |
视缴费与订购的关系而定,说明见此 | 根据“上课预约单”创建“预约系统”报表 | 上课预约单 = 点名单 = 上课纪录表,直接在预约单上新增出缺勤纪录字段即可。 |
若是买一组堂数的模式,可创建扣堂数单击钮更新“订购单”信息。
若是单堂课程的模式,则不需要处理扣堂数问题。 |
接下来,我们就直接拆解需求,让你一步步 100% 根据自家需求,做出最符合心中理想的系统!
(一)需求拆解:管老师学员/站点/课程/方案数据
管好整个“流程”之前,最基本的,就是要先能把名单、清单、列表这模拟较固定的“数据”整理好、分门别类放好,方便查找和调用。在这里,我们要管理的基本数据主要包括老师名单、学生名单、上课站点,这些部分表单的建置逻辑和其他开课模式类似,可以直接参阅团班开课模式这个区块(直到“另外创建“付费方案”表单”之前)的说明。
课程、课表
“课程”相关的部分,以开课清单来说,有需要的话,我们也可以跟前面类似的设计方式,创建一张“开课清单”表单,只是这张表单里的“课程”信息会偏抽象,不会包含大多数“时间”相关的信息(课程开始、结束日期;上课、下课时间等等),顶多标明此课程的有效期间,因为课程都采预约制,没有人预约的话就不会上课。
这里有个需要说明的地方:因为“一对一预约”模式是“确认哪些老师在哪些时段有哪些类型的课程可以预约”,很多时候重点在于“特定时段可用、可预约的资源”,而不是“开了哪些课程”。
举例来说,假设Ragic 补习班有 Phil、Amy 两位老师, Phil 老师每个礼拜一下午两点到三点可以预约专业咨询课程, Amy 老师每个礼拜二早上十点到十一点可以预约专业咨询课程,课程内容以预约者的需求为主,那么我们要管理的数据重点,多半会是“Phil 这礼拜还有空上课吗”“Amy 固定上课的小会议室那个时段还有没有空”,重点在于管理可预约的资源,而不会是创建一张只有一笔“专业咨询课程”数据的开课清单。
另外,即使可预约的课程有几个固定的主题如“基础表单设计”“签核设计”“进销存管理”或“生产管理模块运用”课程,如果没有特别需要根据统计上课数量、从课程角度检视数据的话,也不一定要特别创建开课清单,可以将这些信息直接纪录在接下来会说明的“上课预约单”中即可。
课表
一对一预约模式不会像周期上课的模式一样有一个很固定的课表,但可以有一个“注记已预约时间”的日历,方便查看。
直觉来说,我们可以像管私人进程这样,每天接到预约课程的信息,就直接把它注记在在线日历上,但组织机构要处理的预约进程太多,这样手动注记非常累,预约数据也无法转化成非日历的信息留底。因此,可以多一个流程,先创建一张‘预约上课单”,用来记录预约信息(实际让人预约的流程设计部分,会在后面这个部分说明),再利用报表功能,将该张表单的数据引出成行事历报表。
“预约上课单”可以像下图这样:
“预约编号”可设为自动生成字段,自动生成流水号;“报名学员数据”的部分,可以利用链接与加载的功能,链接与加载学生表单的信息。另外,有需要的话还可以进一步链接授课老师、上课站点等信息。
这边比较重要需要特别讲解的是红圈圈起来的“预约信息”区块和“预约摘要”字段。“预约信息”区块有两个字段:“开始日期时间”和“结束日期时间”。这两个字段属于 Ragic 的日期字段,要注意的是格式需要包含“日期”与“时间”,之后才能将整个时段显示在行事历报表上。填写完开始与结束时间后,预约信息就创建好了。
而“预约摘要”字段是透过字符串公式把预约学生、老师姓名等信息依需求自动串起来带入,创建行事历时会需要用到。
接着,在预约上课单右上角的“报表”单击钮上点一下,点选“行事历报表”,就可以将预约信息变成行事历了(一笔预约数据 = 一个行事历事件):
在左上角选择开始时间、结束时间和事件标题来自哪一个字段,此时就可以选择我刚刚以字符串公式串成的“预约摘要”字段当标题,比较一目瞭然;画面上显示的行事历事件,点一下右上角会出现对应数据的预览画面(预览画面指的是这个),也能直接点到数据源头去观看和修改。
付费方案
即使同样是一对一预约制的课程,不同的开课机构可能会设计出不同的订购方式,最简单的,像是每次都是单堂订购,每次预约就要付一次课程的钱,银货两讫;其他常见方式例如买堂数,例如一次买 10 堂课,每次预约或上课时扣减;吃到饱,例如付一次钱当月就可以无限次数预约。
如果你不是单堂单堂的贩售课程,而是贩售例如买堂数、或是定期吃到饱的方案,那么你的基本数据表单里可能还要包含“付费方案”这样的表单,比较方便管理流程,此部分请直接参阅下一个区块的说明。
需求拆解(二):管理课程订购、缴费流程
订购
如果课程都是单堂贩售的,那么“购买一堂课”跟“预约一堂课”是一样的行为,可以在“上课预约单”中(相关说明跳转这里)增加订购信息的字段(例如单堂售价、付费日期等)即可。
而如果不是单堂模式,会需要另外处理订购流程的话,代表一笔订单不等于一次预约上课,那就要另外创建“付费方案”表单,以及另外创建管理订购流程的课程订购表,此部分设计原则一样可以直接参阅 ① 团体班、任选时段上课模式的付费方案表单,以及创建课程订购表的说明。
缴费
而缴费流程的部分,这里的演示表单也是采取“一笔订购 = 一笔缴费数据”的逻辑来设计的,如果一笔订购不等于一笔缴费数据(集结多张订单一次缴费,或一次订购分期缴费),有需要的话,可以参阅总论文章中的说明来做。
(三)管流程:预约、出缺席、扣堂数
利用“预约系统”报表管理预约事项
在“一对一预约上课模式”中,“预约”是此流程中相当重要的一环。前面提到,可以创建“上课预约单”来管理此流程。
最简单的模式,是每次学生需要预约课程时,直接到“上课预约单”这张表单上创建一笔数据,自己填写预约的老师、时段等信息,必要时对照行事历与机构规定,确认预约的时段是否可行(学生自行检查、或教育机构自行复查)。
但这样的模式多数时候并不方便:反覆查看耗时又容易看错,要比对确认也不容易。因此,我们建议你利用 Ragic 新的报表:“预约系统”报表功能,直接生成一个方便点选、不让人预约“已预订时段”、依据来源表单字段做客制化的系统。
只要在类似这张上课预约单的演示表单上,点“生成报表”并选择“预约系统”,就可以根据“上课预约单”这张表单的字段来设置预约系统。
进入预约系统时,上半部会是只有系统管理员(SYSAdmin)才看得到的设置画面:
你会看到设置画面上有五个地方都有红色星星的必填标记,这是预约系统一定要做的基本设置:要决定之后大家填写这个预约系统时,“预约物”(被预约的标的/资源)、“预约人”、“预约开始时间”、“预约结束时间”、“备注”这几个区块的信息,会回填到来源表单的哪些字段上。
以我们的范例来说,“预约物”应该是授课老师(就像借器材一样,同一个时段同一个老师不能重复被预约)、“预约人”应该是学生,开始时间/结束时间/备注都选择表单上的对应字段即可。其他设置区块字段可依照课程长度、可预约时段自行设置,上方画面中的例子是“每堂课 30 分钟、周一到五每天特定时间段可预约”的情况。
设置完成后将报表保存后就可以使用,可参阅这张范例报表,用户会看到的画面如下:
“T-00001 - Amy”“T-00002 - Angie”等选项是我们之前设置的“预约物”选项(授课教师编号姓名),预约者只要选日历、点选特定授课教师开放的特定时段就可以完成预约。
完成预约后,预约系统报表的来源表单 -- 上课预约单上,会创建一笔相应的数据,和直接手动在上课预约单创建数据一样,但透过预约系统不但画面比较人性化,也可以达到“预约特定时段后加锁该时段、防止他人重复预约”的效果。
注:过去 Ragic 没有“预约系统”报表功能时,常见的建议做法是先在“上课预约单”上创建大量的空堂(可预约)数据,让预约者找到对应的空堂数据来填写,达到防止他人重复预约的效果。
如果你有特殊原因,希望用这种方式来做预约系统的设计,可参阅这两种方式:
1. 利用 Ragic 大量生成、大量拷贝这两项功能来大量为空堂建檔。
2. 以 Excel 大量建檔后,定期汇入 Ragic
不过,如果没有特别考量,仍然建议用最简单也方便的方式 -- 直接使用预约报表。
纪录出缺席
由于每笔预约单只会对应一次、一个学生的上课纪录,“出缺勤纪录”的部分可以在“上课预约单”上放一个字段来纪录,以范例表单来说,就是“实际出席状态”这个区块。
扣堂数(掌握剩余堂数)
如果不是购买单堂课程的话,你可能需要随时确认某个学生剩余堂数的信息,这部分跟其他模式类似,可以在“方案订购单”上放一个“目前剩余堂数”的字段,透过在上课纪录的表单(上课预约单)上运行更新别张表单字段值动作来更新“目前剩余堂数”的信息。这部分如果需要比较详细的教学,可以直接参阅这里。(记得要在上课预约单上放一个“订购编号”的字段,好让扣堂数时能对应到正确的订购单上。)
从管理基本数据、课程订购管理、排课预约管理、上课纪录管理到扣堂数,基本的课程管理需求大致就解说到这里。如果你需要复习一下每个流程可以用怎样的设计方法达成需求,可以点此跳转到最前面的表格。
特定情境修改建议
混合模式
如果你的机构混合了不只一种的模式,希望比较不同模式怎么管理流程、或希望知道怎么在一个数据库管理不同模式的流程,可以看总论的比较表以及混合模式的建议;如果你有进阶的设计需求需要我们提供建议,也可以先参阅总论这个部分,或直接来信 support@ragic.com 询问我们。祝你建置数据库顺利!