指南

如何搭建健身房会员应用:套餐、计费、课程预约与签到

健身房会员应用让人们办理会员、每月付费、预约课程并签到,同时让员工能看到哪些会员有效、谁已付款、谁到店了。搭建这样的应用需要会员账户、与支付服务商订阅相连的会员套餐、带人数上限和候补名单的课程表、门口的签到方式,以及员工后台。AI应用构建工具可以快速生成核心功能。真正的难点在于收费规则(冻结、扣款失败、取消、按比例计费),以及确保门口的入场权限与会员实际已付费的内容一致。

从你的会员模式开始

健身房和工作室差异很大。请先写下:

  • 套餐类型。 月度无限次、非高峰时段、次卡(10次课程)、单次体验、年付预付、家庭或学生套餐。
  • 合同条款。 滚动月付、最短期限、取消所需的提前通知期。请查阅当地关于合同和取消的消费者规定。
  • 每个套餐包含什么。 仅开放健身区、仅课程、两者都包含,或仅限特定门店。
  • 冻结。 会员能否因出差或受伤而暂停?可以暂停多久,是否收费?
  • 入会费(如有)。
  • 课程。 固定课表、每节课的人数上限、候补名单、临时取消和未到场的规则。

以次卡为主的小型瑜伽或拳击工作室,与拥有门禁系统的24小时健身房所需的应用截然不同。请按照你的实际情况来搭建。

应用需要什么

数据

数据表关键字段
会员姓名、邮箱、电话、紧急联系人、签署免责声明的时间、二维码令牌、状态
套餐名称、价格、计费周期、包含的课程次数(不限或具体数字)、可进入时段、是否启用
会员资格会员、套餐、状态(有效、冻结、逾期、已取消)、开始日期、到期或续费日期、支付服务商的订阅ID
课程类型与场次名称、教练、教室、开始时间、时长、人数上限
预约场次、会员、状态(已预约、候补、已取消、已到场、未到场)、创建时间
签到记录会员、时间、地点、方式
付款会员、金额、状态、日期、支付服务商参考号——从支付服务商同步过来

请让会员状态与支付服务商保持同步。服务商是判断付款是否成功的依据;当服务商通知你的应用时,应用再更新自己的状态。

页面

  • 公开页面: 套餐与价格、课表、入会流程(选择套餐、创建账户、签署免责声明、付款)。
  • 会员专区: 我的会员资格、即将到来的预约、预约或取消课程、签到二维码、付款记录、冻结或取消申请。
  • 前台: 签到扫描、会员查询、当天课程及出勤名单。
  • 员工后台: 会员、套餐、课表、扣款失败记录、有效会员、出勤和课程上座率报表。

权限

会员只能看到自己的数据。教练可以看到自己的课程名单。前台可以签到和查询会员。经理负责套餐、退款和报表。入会表单中收集的健康和伤病信息属于敏感信息;只收集必需的内容,并限制谁能查看。

难点部分

定期计费

请使用支付服务商的订阅功能,而不是自己搭建计费系统。会员在服务商的托管页面上输入银行卡信息;服务商按周期扣款,失败时自动重试,并通过Webhook向你的应用发送事件(扣款成功、扣款失败、订阅已取消)。你的应用随之更新会员状态。我们的Stripe订阅指南介绍了相关内容,支付指南介绍了基础知识。

请决定扣款失败时怎么处理:常见规则是设置几天的宽限期,之后标记为“逾期”,在问题解决前不能签到。

冻结、升级和取消

冻结通常会在设定的期限内暂停计费和入场权限。月中更换套餐会引出按比例计费(为一个周期的一部分收费)的问题。大多数支付服务商可以替你计算按比例费用。带有提前通知期的取消,意味着会员资格会一直有效到未来的某个日期。把每条规则写下来,并逐一测试。

课程人数与候补名单

这与任何预约应用面临的重复预约问题相同:在保存预约时就要在服务器端检查人数上限,而不仅仅在加载页面时检查。有人取消时,将名额提供给候补名单中的第一个人。请决定临时取消的截止时间,以及未到场是否会扣除课程次数。

签到与门禁

在会员专区生成二维码、由前台扫描,对于有人值守的健身房效果很好。无人值守或24小时开放通常需要门禁硬件,而硬件由其自身的系统控制;只有当硬件提供API时,自定义应用才能驱动它。这往往是决定自建还是购买的关键因素。

免责声明

许多健身房要求新会员接受责任豁免声明或健康问卷。请记录谁在什么时间接受了哪个版本。这些条款属于法律文件,请交由专业人士拟定,而不是由AI生成。

一个有效的首次提示词

为Ironside搭建一个会员应用,它是一家单店力量健身房。套餐:月度无限次(每月60美元)、非高峰时段(每月40美元,工作日9:00至16:00)、10次课程次卡(一次性120美元)。公开页面:套餐、每周课表,以及入会流程——选择套餐、创建账户、接受免责声明,并通过Stripe付款(月度套餐使用订阅)。会员可以进入专区,查看会员状态、签到二维码、带人数上限和候补名单的课程预约,以及申请冻结的按钮。前台员工登录签到页面,系统检查二维码,显示会员是否有效(非高峰套餐还要检查是否在非高峰时段内),并记录签到。经理可以查看会员、扣款失败记录、出勤和课程上座率。会员状态由Stripe Webhook更新。所有数据存储在数据库中。设计醒目、简洁;会员端移动优先,前台平板友好。

搭建步骤

  1. 套餐、课表和会员账户。
  2. 课程预约,在服务器端检查人数,并提供候补名单。
  3. 测试模式下的付款:先做次卡的一次性付款,再做订阅和Webhook。
  4. 会员状态规则:有效、逾期、冻结、已取消,以及每种状态允许的操作。
  5. 签到扫描器,并执行上述规则。
  6. 员工和经理视图,并设置角色。
  7. 免责声明接受记录,包含版本和时间戳。
  8. 测试资金相关流程:扣款失败、更新银行卡、冻结、更换套餐、提前通知取消、退款。
  9. 谨慎导入现有会员;现有的银行卡订阅通常需要通过支付服务商的迁移流程来转移,而不是由你的应用完成。

常见错误

  • 相信应用自己的“已付款”标记,而不是支付服务商的事件。
  • 只在浏览器中检查课程人数。
  • 扣款失败没有宽限期;会员仅仅因为银行卡昨天过期,就在门口被拒绝入场。
  • 存储银行卡信息。 应让支付服务商保管。
  • 收集你并不需要的详细健康信息,并让所有员工都能看到。
  • 在确认硬件可由你的应用控制之前,就承诺提供门禁功能。

何时健身房管理软件更合适

专门的健身房和工作室软件已经处理了计费、冻结、课程预约、签到、门禁集成、品牌化的会员应用和报表。对大多数健身房来说,尤其是有门禁硬件或多家门店的健身房,它是更好的选择。比较几款产品时,请关注你需要的功能,以及离开时它如何处理数据(导出会员和支付订阅)。

当你经营一家规则简单的小型工作室,而软件的成本相对于你的收益过高时,当你的模式不适合现成软件(例如教练、训练计划和课程的混合)时,或者当你希望把为健身房开发的软件作为一项业务时,建议自己搭建。如果你是为客户提供服务而非经营场馆,参见如何开展私人教练业务;如果你要销售付费在线内容,参见如何搭建会员网站。

用Mythex搭建

在Mythex中,你可以在聊天中描述健身房应用,并在手机和平板尺寸的实时预览中检查。当会员和预约需要保存时,代理会添加专用的Postgres数据库(或输入/database)。Mythex不为你的应用提供内置登录或支付功能:你需要接入自己的Stripe账户和密钥,并将其保存为项目机密(参见Stripe配方),并用你自己的认证方案添加会员登录。Stripe Webhook需要你发布后的公共URL,因此要端到端测试它们,必须先发布。在Pro套餐下,Mythex还可以把应用打包为Android和iPhone应用,发送到Google Play内部测试和TestFlight。

如需设计起点,可以参考瑜伽工作室网站模板,它包含教练简介和编辑风格的布局。

常见问题

健身房会员应用需要哪些功能?

会员账户、带定期扣费的会员套餐、有人数上限的课程表预约、门口签到,以及供员工查看会员、付款和出勤情况的后台。冻结会员、次卡和免责声明通常会随后加入。

健身房应如何收取定期费用?

通过支付服务商的订阅功能,例如Stripe Billing:会员保存银行卡,服务商按周期扣款,失败时自动重试,并通知你的应用。切勿自己存储银行卡号。

会员如何签到?

常见做法是会员在账户中出示二维码,由门口的员工或平板扫描。应用会检查会员资格是否有效,并记录本次到店。

我应该自己开发健身房软件,还是购买现成的?

大多数健身房更适合使用现有的健身房管理软件,它已包含计费、门禁硬件和应用等功能。只有在经营模式特殊、小型工作室需求简单,或者计划把软件作为产品卖给其他健身房时,自己开发才有意义。

Mythex · Pricing · 用 AI 构建任何东西 · 网站和应用模板 · Mythex 对比 · AI 应用构建术语表 · 免费的 AI 应用构建工具 · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 繁體中文(香港) 繁體中文(台灣)