Cách xây dựng ứng dụng quản lý thẻ thành viên phòng gym: gói dịch vụ, thanh toán, đặt lớp và check-in
Ứng dụng thẻ thành viên gym cho phép người ta đăng ký, thanh toán hằng tháng, đặt lớp và check-in, trong khi nhân viên thấy ai đang hoạt động, ai đã thanh toán và ai đã đến. Để xây một ứng dụng như vậy, bạn cần tài khoản thành viên, các gói thẻ gắn với gói đăng ký của nhà cung cấp thanh toán, thời khóa biểu lớp có sức chứa và danh sách chờ, một cách check-in tại cửa, và bảng điều khiển cho nhân viên. Trình tạo app bằng AI có thể dựng phần lõi rất nhanh. Phần khó là các quy tắc tiền bạc (tạm dừng, thanh toán thất bại, hủy, tính phí theo ngày) và đảm bảo quyền ra vào cửa khớp với những gì thành viên thực sự đã trả.
Bắt đầu từ mô hình thành viên của bạn
Phòng gym và studio khác nhau rất nhiều. Hãy ghi lại:
- Loại gói. Không giới hạn hằng tháng, giờ thấp điểm, gói buổi tập (10 buổi), buổi thử lẻ, trả trước theo năm, gói gia đình hoặc sinh viên.
- Điều khoản hợp đồng. Theo tháng liên tục, thời hạn tối thiểu, thời gian báo trước khi hủy. Hãy kiểm tra quy định địa phương về hợp đồng và hủy dịch vụ dành cho người tiêu dùng.
- Gói bao gồm gì. Chỉ phòng tập mở, chỉ lớp, cả hai, hay chỉ ở những cơ sở cụ thể.
- Tạm dừng. Thành viên có được tạm ngưng khi đi công tác hoặc chấn thương không? Trong bao lâu, và có phí không?
- Phí gia nhập, nếu có.
- Lớp học. Thời khóa biểu cố định, sức chứa mỗi lớp, danh sách chờ, quy định hủy muộn và không đến.
Một studio yoga hoặc boxing nhỏ bán gói buổi tập cần một ứng dụng rất khác với phòng gym 24 giờ có cửa kiểm soát ra vào. Hãy xây cho đúng mô hình của bạn.
Ứng dụng cần những gì
Dữ liệu
| Bảng | Trường chính |
|---|---|
| Thành viên | Tên, email, số điện thoại, người liên hệ khẩn cấp, thời điểm ký cam kết, mã QR, trạng thái |
| Gói | Tên, giá, chu kỳ thanh toán, số lớp bao gồm (không giới hạn hoặc một con số), giờ được vào, đang hoạt động có/không |
| Thẻ thành viên | Thành viên, gói, trạng thái (đang hoạt động, tạm dừng, quá hạn, đã hủy), ngày bắt đầu, ngày kết thúc hoặc gia hạn, mã đăng ký của nhà cung cấp thanh toán |
| Loại lớp và buổi học | Tên, huấn luyện viên, phòng, giờ bắt đầu, thời lượng, sức chứa |
| Đặt chỗ | Buổi học, thành viên, trạng thái (đã đặt, trong danh sách chờ, đã hủy, đã tham gia, không đến), thời điểm tạo |
| Check-in | Thành viên, thời gian, địa điểm, phương thức |
| Thanh toán | Thành viên, số tiền, trạng thái, ngày, mã tham chiếu của nhà cung cấp, được đồng bộ từ nhà cung cấp thanh toán |
Giữ trạng thái thẻ thành viên đồng bộ với nhà cung cấp thanh toán. Nhà cung cấp là nguồn đúng về việc một khoản thanh toán có thành công hay không; ứng dụng của bạn cập nhật trạng thái riêng khi nhà cung cấp gửi thông báo.
Các trang
- Công khai: gói và giá, thời khóa biểu, luồng đăng ký (chọn gói, tạo tài khoản, ký cam kết, thanh toán).
- Khu vực thành viên: thẻ của tôi, lịch đặt sắp tới, đặt hoặc hủy lớp, mã QR check-in, lịch sử thanh toán, yêu cầu tạm dừng hoặc hủy.
- Quầy lễ tân: máy quét check-in, tra cứu thành viên, các lớp hôm nay kèm danh sách điểm danh.
- Quản trị viên: thành viên, gói, thời khóa biểu, thanh toán thất bại, báo cáo về thành viên đang hoạt động, điểm danh và tỷ lệ lấp đầy lớp.
Phân quyền
Thành viên chỉ thấy dữ liệu của chính mình. Huấn luyện viên thấy danh sách lớp của họ. Lễ tân có thể check-in và tra cứu thành viên. Quản lý phụ trách gói, hoàn tiền và báo cáo. Ghi chú về sức khỏe và chấn thương thu thập trong biểu mẫu đăng ký là thông tin nhạy cảm; chỉ thu thập những gì bạn cần và hạn chế người được xem.
Những phần khó
Thanh toán định kỳ
Hãy dùng tính năng đăng ký của nhà cung cấp thanh toán thay vì tự xây hệ thống tính phí. Thành viên nhập thông tin thẻ trên trang được lưu trữ của nhà cung cấp; nhà cung cấp trừ tiền mỗi kỳ, thử lại các khoản thất bại và gửi sự kiện đến ứng dụng của bạn qua webhook (thanh toán thành công, thanh toán thất bại, đăng ký bị hủy). Ứng dụng của bạn thay đổi trạng thái thẻ thành viên theo đó. Hướng dẫn thêm đăng ký với Stripe của chúng tôi giải thích kỹ việc này, còn thêm thanh toán trình bày các kiến thức cơ bản.
Hãy quyết định điều gì xảy ra khi thanh toán thất bại: một thời gian ân hạn vài ngày, rồi chuyển sang “quá hạn” và không cho check-in cho đến khi được sửa, là quy tắc thường gặp.
Tạm dừng, nâng cấp và hủy
Tạm dừng thường tạm ngừng thu phí và quyền vào cửa trong một khoảng thời gian nhất định. Đổi gói giữa tháng đặt ra câu hỏi về tính phí theo ngày (proration), tức là tính tiền cho một phần của kỳ. Hầu hết nhà cung cấp thanh toán có thể tự tính proration cho bạn. Hủy có thời gian báo trước nghĩa là thẻ thành viên vẫn hoạt động đến một ngày trong tương lai. Hãy viết từng quy tắc ra và kiểm thử.
Sức chứa lớp và danh sách chờ
Bài toán đặt trùng giống như ở mọi ứng dụng đặt lịch khác: kiểm tra sức chứa trên máy chủ khi lưu đặt chỗ, không chỉ khi trang được tải. Khi có người hủy, hãy mời người đầu tiên trong danh sách chờ nhận chỗ. Hãy quyết định khung thời gian hủy muộn và liệu không đến có mất một buổi tập hay không.
Check-in và kiểm soát ra vào
Mã QR trong khu vực thành viên quét tại quầy lễ tân hoạt động tốt với phòng gym có nhân viên trực. Phòng gym không có người hoặc hoạt động 24 giờ thường cần phần cứng cửa, và phần cứng này do hệ thống riêng của nó điều khiển; một ứng dụng tự xây chỉ có thể điều khiển nó nếu phần cứng có API. Đây thường là yếu tố quyết định giữa tự xây và mua.
Cam kết miễn trách nhiệm
Nhiều phòng gym yêu cầu thành viên mới chấp nhận cam kết miễn trách nhiệm hoặc bảng câu hỏi sức khỏe. Hãy lưu ai đã chấp nhận phiên bản nào và vào lúc nào. Nội dung văn bản là một tài liệu pháp lý; hãy nhờ chuyên gia soạn, đừng nhờ AI.
Một prompt đầu tiên hiệu quả
Xây dựng ứng dụng thẻ thành viên cho Ironside, một phòng gym sức mạnh chỉ có một cơ sở. Các gói: Không giới hạn hằng tháng ($60/tháng), Giờ thấp điểm ($40/tháng, các ngày trong tuần từ 9:00 đến 16:00), và Gói 10 buổi ($120, thanh toán một lần). Trang công khai: gói và giá, thời khóa biểu lớp hằng tuần, và luồng đăng ký nơi người ta chọn gói, tạo tài khoản, ký cam kết và thanh toán qua Stripe (đăng ký định kỳ cho gói theo tháng). Thành viên có khu vực riêng với trạng thái thẻ, mã QR để check-in, đặt lớp với giới hạn sức chứa và danh sách chờ, và nút yêu cầu tạm dừng. Nhân viên lễ tân đăng nhập vào trang quét mã, kiểm tra mã QR, hiển thị thẻ còn hiệu lực hay không (và có trong giờ thấp điểm với gói Giờ thấp điểm), rồi ghi nhận lượt check-in. Quản lý xem thành viên, thanh toán thất bại, điểm danh và tỷ lệ lấp đầy lớp. Trạng thái thẻ cập nhật từ webhook của Stripe. Lưu mọi thứ trong cơ sở dữ liệu. Thiết kế đơn giản, rõ ràng; ưu tiên điện thoại cho thành viên, thân thiện với máy tính bảng cho lễ tân.
Các bước xây dựng
- Gói, thời khóa biểu và tài khoản thành viên.
- Đặt lớp với kiểm tra sức chứa trên máy chủ và danh sách chờ.
- Thanh toán ở chế độ thử nghiệm: gói buổi tập một lần trước, sau đó đến đăng ký định kỳ và webhook.
- Quy tắc trạng thái thẻ: đang hoạt động, quá hạn, tạm dừng, đã hủy, và mỗi trạng thái cho phép điều gì.
- Máy quét check-in thực thi các quy tắc đó.
- Màn hình cho nhân viên và quản lý với phân quyền.
- Ghi nhận cam kết kèm phiên bản và thời điểm.
- Kiểm thử các luồng tiền bạc: thanh toán thất bại, cập nhật thẻ, tạm dừng, đổi gói, hủy có báo trước, hoàn tiền.
- Nhập thành viên hiện có cẩn thận; các đăng ký thẻ hiện có thường phải được chuyển bởi quy trình di chuyển của nhà cung cấp thanh toán, không phải do ứng dụng của bạn.
Những lỗi thường gặp
- Tin vào cờ “đã thanh toán” của chính ứng dụng thay vì sự kiện từ nhà cung cấp thanh toán.
- Chỉ kiểm tra sức chứa lớp trên trình duyệt.
- Không có thời gian ân hạn cho thanh toán thất bại; thành viên bị từ chối ở cửa chỉ vì thẻ hết hạn hôm qua.
- Lưu thông tin thẻ. Hãy để nhà cung cấp thanh toán giữ chúng.
- Thu thập thông tin sức khỏe chi tiết mà bạn không cần và để mọi nhân viên đều xem được.
- Hứa quyền vào cửa trước khi xác nhận phần cứng của bạn có thể được ứng dụng điều khiển.
Khi phần mềm quản lý gym là lựa chọn tốt hơn
Phần mềm chuyên dụng cho gym và studio đã lo sẵn thanh toán, tạm dừng, đặt lớp, check-in, tích hợp kiểm soát cửa, ứng dụng thành viên có thương hiệu và báo cáo. Với đa số phòng gym, đặc biệt là những nơi có phần cứng cửa hoặc nhiều cơ sở, đó là lựa chọn tốt hơn. Hãy so sánh một vài sản phẩm theo những tính năng bạn cần và cách chúng xử lý khi bạn rời đi (xuất danh sách thành viên và các đăng ký thanh toán).
Hãy tự xây khi bạn điều hành một studio nhỏ với quy tắc đơn giản và phần mềm đắt hơn giá trị đối với bạn, khi mô hình của bạn không khớp với các sản phẩm có sẵn (chẳng hạn kết hợp huấn luyện, chương trình và lớp học), hoặc khi bạn muốn xây phần mềm cho các phòng gym như một mô hình kinh doanh. Nếu bạn huấn luyện khách hàng thay vì điều hành cơ sở, hãy xem cách bắt đầu kinh doanh huấn luyện cá nhân, còn với nội dung trực tuyến trả phí, xem cách xây trang thành viên.
Xây dựng với Mythex
Trên Mythex, bạn mô tả ứng dụng gym trong khung chat và kiểm tra trong bản xem trước trực tiếp ở kích cỡ điện thoại và máy tính bảng. Agent thêm một cơ sở dữ liệu Postgres riêng khi thành viên và đặt lớp cần được lưu (hoặc gõ /database). Mythex không có sẵn đăng nhập hay thanh toán tích hợp cho ứng dụng của bạn: bạn kết nối tài khoản và khóa Stripe của riêng mình, được lưu dưới dạng bí mật của dự án (công thức Stripe), và thêm đăng nhập thành viên bằng cách tiếp cận xác thực của riêng bạn. Webhook của Stripe cần URL đã xuất bản, nên hãy xuất bản trước khi kiểm thử đầu cuối. Với gói Pro, Mythex còn có thể đóng gói ứng dụng thành app Android và iPhone để thử nghiệm nội bộ trên Google Play và TestFlight.
Để có điểm khởi đầu về thiết kế, mẫu website studio yoga có hồ sơ huấn luyện viên và bố cục mang tính biên tập.
Câu hỏi thường gặp
Một ứng dụng thẻ thành viên gym cần những gì?
Tài khoản thành viên, các gói thẻ có thanh toán định kỳ, lịch lớp mà thành viên có thể đặt với giới hạn sức chứa, check-in tại cửa, và màn hình cho nhân viên xem thành viên, thanh toán và lượt đến. Tạm dừng, gói buổi tập và cam kết thường đi kèm sau đó.
Gym nên thu thanh toán định kỳ như thế nào?
Qua tính năng đăng ký (subscription) của nhà cung cấp thanh toán, như Stripe Billing: thành viên lưu thẻ, nhà cung cấp tự trừ tiền mỗi kỳ, thử lại các khoản thanh toán thất bại và thông báo cho ứng dụng của bạn. Đừng bao giờ tự lưu số thẻ.
Thành viên check-in bằng cách nào?
Thông thường là đưa mã QR từ tài khoản của họ để nhân viên hoặc máy tính bảng ở cửa quét. Ứng dụng kiểm tra thẻ còn hiệu lực và ghi lại lượt đến.
Nên tự xây phần mềm gym hay mua?
Đa số phòng gym phù hợp hơn với phần mềm quản lý gym có sẵn, vì nó đã lo thanh toán, phần cứng kiểm soát ra vào và ứng dụng. Tự xây có ý nghĩa với mô hình kinh doanh đặc thù, studio nhỏ có nhu cầu đơn giản, hoặc là một sản phẩm bạn định bán cho các phòng gym khác.