Hướng dẫn

Cách tạo app đặt lịch: khung giờ, lịch trống, nhắc hẹn và tiền cọc

Để tạo app đặt lịch, bạn cần bốn thứ hoạt động cùng nhau: danh sách những gì có thể đặt (dịch vụ, phòng, nhân viên), quy tắc về thời gian mỗi thứ rảnh, luồng đặt lịch chỉ đề xuất các khung giờ thật sự còn trống, và một màn hình riêng để doanh nghiệp quản lý các lịch đã nhận. Công cụ tạo app AI có thể làm ra phiên bản đầu tiên chạy được chỉ trong vài phút từ một mô tả ngắn; phần việc thực sự là quyết định các quy tắc — độ dài khung giờ, khoảng đệm, hủy lịch, múi giờ — và kiểm tra rằng việc đặt trùng là không thể xảy ra.

Bắt đầu bằng việc xác định “một lịch hẹn” nghĩa là gì với bạn

Các app đặt lịch trông giống nhau bề ngoài nhưng khác nhau nhiều ở bên trong. Hãy trả lời những câu này trước:

  • Cái gì được đặt? Một dịch vụ (cắt tóc), một người (gia sư), một nguồn lực (phòng họp, sân, xe tải), hay một chỗ trong một buổi (lớp yoga có 12 chỗ)?
  • Mất bao lâu? Cố định theo từng dịch vụ, hay do khách hàng chọn?
  • Ai cung cấp? Một người, nhiều nhân viên với giờ làm riêng, hay không ai (một căn phòng)?
  • Sau khi đặt thì sao? Xác nhận ngay, hay là yêu cầu để chủ doanh nghiệp duyệt?
  • Có liên quan đến tiền không? Miễn phí, trả khi đến nơi, đặt cọc trước, hay thanh toán toàn bộ trước?

“Yêu cầu một giờ, chủ doanh nghiệp xác nhận qua email” dễ xây dựng hơn nhiều so với “đặt ngay dựa trên lịch của ba nhân viên kèm tiền cọc”. Cả hai đều hợp lệ — hãy chọn cái bạn thực sự cần cho phiên bản đầu tiên.

App cần những gì

Dữ liệu

BảngTrường chính
Dịch vụTên, thời lượng, giá, khoảng đệm sau, đang hoạt động có/không
Nhân viên hoặc nguồn lựcTên, các dịch vụ họ cung cấp
Lịch rảnhGiờ làm việc hằng tuần của từng nhân viên, cộng các ngoại lệ (ngày lễ, đóng cửa đột xuất)
Lịch hẹnDịch vụ, nhân viên, giờ bắt đầu, giờ kết thúc, thông tin khách, trạng thái (chờ, đã xác nhận, đã hủy), trạng thái thanh toán
Khách hàngTên, email, số điện thoại, ghi chú — không bắt buộc lúc đầu; có thể nằm ngay trong lịch hẹn

Lưu giờ kết thúc trên mọi lịch hẹn, không chỉ giờ bắt đầu, giúp việc kiểm tra chồng lấn đơn giản hơn nhiều.

Các trang

  • Công khai: danh sách dịch vụ, bộ chọn khung giờ, biểu mẫu đặt lịch, trang xác nhận, và liên kết hủy hoặc đổi lịch.
  • Riêng tư (chủ doanh nghiệp hoặc nhân viên): lịch hôm nay, các lịch sắp tới, cách chặn thời gian nghỉ, và cài đặt dịch vụ cùng giờ làm việc.

Quyền

Khách hàng chỉ nên thấy các khung giờ trống hoặc đã bận — không bao giờ thấy tên khách hàng khác. Nhân viên có thể chỉ thấy lịch của chính họ; chủ doanh nghiệp thấy tất cả. Hãy ghi lại điều này, vì nó quyết định bạn có cần đăng nhập và vai trò hay không. Hướng dẫn thêm đăng nhập vào app của chúng tôi trình bày các lựa chọn.

Những phần khó, và cách xử lý

Đặt trùng

Lỗi kinh điển: hai người cùng tải trang, cả hai đều thấy 10:00 còn trống, và cả hai đều đặt. Cách sửa là kiểm tra lại trên máy chủ khi lưu lịch hẹn và từ chối nếu bây giờ có gì đó chồng lấn. Hãy yêu cầu rõ ràng:

Khi lưu lịch hẹn, kiểm tra lại trên máy chủ rằng không có lịch nào đang chờ hoặc đã xác nhận của cùng nhân viên bị chồng lấn với thời điểm được yêu cầu (bao gồm khoảng đệm). Nếu có, hãy từ chối và hiển thị “Khung giờ này vừa có người đặt — vui lòng chọn giờ khác.”

Sau đó kiểm thử bằng hai cửa sổ trình duyệt.

Múi giờ

Lưu mọi thời điểm dưới dạng UTC và chuyển đổi khi hiển thị. Quyết định múi giờ nào trang đặt lịch sẽ hiển thị — thường là của doanh nghiệp với dịch vụ tại chỗ, và của khách với cuộc gọi trực tuyến — và ghi nhãn rõ trên trang. Kiểm thử một lịch hẹn qua thời điểm chuyển giờ tiết kiệm ánh sáng ban ngày.

Khoảng đệm, thời gian báo trước và giới hạn

Các quy tắc phổ biến nên quyết định sớm: khoảng đệm giữa các cuộc hẹn, thời gian báo trước tối thiểu (“không nhận lịch trước dưới 2 giờ”), khách có thể đặt xa đến mức nào, và giới hạn số lịch mỗi ngày. Mỗi quy tắc chỉ cần một câu trong prompt; bỏ qua chúng nghĩa là AI sẽ tự chọn mặc định cho bạn.

Hủy lịch và vắng mặt

Mỗi xác nhận nên có một liên kết hủy với mã token duy nhất để khách không cần tài khoản. Hãy quyết định khoảng thời gian được hủy và tiền cọc có được hoàn lại không, rồi hiển thị chính sách đó trước khi thanh toán.

Nhắc hẹn

Email hoặc tin nhắn nhắc hẹn cần thứ gì đó chạy theo lịch (“cứ 15 phút, gửi nhắc cho các lịch bắt đầu trong 24 giờ”). Hãy kiểm tra công cụ tạo app và hosting của bạn xử lý tác vụ theo lịch như thế nào. Nếu không hỗ trợ, hãy dùng bộ lập lịch bên ngoài gọi một endpoint trong app của bạn, hoặc gửi email xác nhận kèm lời mời lịch để lịch cá nhân của khách tự nhắc họ. Xem cách gửi email từ app về phía nhà cung cấp dịch vụ.

Tiền cọc và thanh toán

Mô hình thường dùng với Stripe:

  1. Khách chọn một khung giờ; app tạo một lịch chờ để giữ chỗ trong một khoảng thời gian ngắn (ví dụ 15 phút).
  2. App chuyển khách đến Stripe Checkout để đặt cọc.
  3. Stripe thông báo cho app qua webhook khi thanh toán thành công; lịch chuyển thành đã xác nhận.
  4. Nếu không thanh toán kịp thời, lịch chờ hết hạn và khung giờ được trả lại.

Biểu phí tiêu chuẩn của Stripe là một phần trăm cộng một khoản phí cố định cho mỗi lần thanh toán thẻ thành công, không có phí hàng tháng (tính đến tháng 9 năm 2026); mức phí khác nhau theo quốc gia, nên hãy kiểm tra trang giá của Stripe cho khu vực của bạn. Dùng chế độ thử nghiệm và thẻ thử cho đến khi mọi thứ hoạt động. Hướng dẫn thêm thanh toán của chúng tôi đi qua từng bước.

Một prompt đầu tiên hiệu quả

Xây dựng app đặt lịch cho Northside Barbers. Dịch vụ: Cắt tóc (30 phút, $25), Tỉa râu (15 phút, $12), Cắt tóc + tỉa râu (45 phút, $32). Hai thợ, Sam và Ali, mỗi người làm việc thứ Ba đến thứ Bảy, 9:00–18:00. Khách chọn dịch vụ, rồi chọn một thợ hoặc “thợ bất kỳ”, sau đó chỉ thấy các giờ bắt đầu 15 phút còn trống trong 14 ngày tới, và nhập họ tên, số điện thoại và email. Lưu lịch hẹn vào cơ sở dữ liệu, với khoảng đệm 10 phút sau mỗi cuộc hẹn, và kiểm tra lại tình trạng trống khi lưu để tránh đặt trùng. Hiển thị trang xác nhận có liên kết hủy. Chủ tiệm có một trang riêng liệt kê lịch hôm nay và sắp tới, có thể hủy lịch và chặn thời gian nghỉ. Giờ hiển thị theo múi giờ địa phương của tiệm. Thiết kế sạch, ưu tiên điện thoại.

Prompt này nêu tên dịch vụ, nhân viên, giờ làm, quy tắc và màn hình của chủ — tất cả những gì AI nếu không sẽ phải đoán.

Các bước xây dựng

  1. Luồng đặt lịch cốt lõi trước. Dịch vụ → khung giờ → biểu mẫu → lịch đã lưu → xác nhận. Chưa làm gì khác cho đến khi phần này chạy tốt trên điện thoại.
  2. Màn hình của chủ. Danh sách hôm nay, danh sách sắp tới, hủy lịch, chặn thời gian.
  3. Bảo vệ các trang của chủ. Thêm đăng nhập trước khi đưa dữ liệu thật vào.
  4. Quy tắc. Khoảng đệm, thời gian báo trước, thời hạn đặt trước, ngày nghỉ lễ.
  5. Email. Xác nhận kèm lời mời lịch và liên kết hủy.
  6. Tiền cọc nếu bạn cần, thử trước trong chế độ thử nghiệm của Stripe.
  7. Kiểm tra các trường hợp biên. Hai cửa sổ cùng đặt một khung giờ, lịch qua nửa đêm, ngày chuyển giờ tiết kiệm ánh sáng ban ngày, và một lịch đã hủy giải phóng khung giờ của nó.
  8. Xuất bản, rồi tự đặt một lịch thật trước khi chia sẻ liên kết.

Những lỗi thường gặp

  • Chỉ kiểm tra tình trạng trống trong trình duyệt. Nhìn có vẻ đúng nhưng vẫn đặt trùng.
  • Lưu giờ địa phương mà không có múi giờ. Chạy được cho đến khi đồng hồ đổi giờ.
  • Hiển thị tên khách trên lịch công khai. Chỉ hiển thị trống hoặc bận.
  • Xây dựng lịch nhân viên, điểm thưởng và SMS ngay từ ngày đầu. Hãy ra mắt luồng cốt lõi, rồi thêm những gì khách thực sự yêu cầu.
  • Không có cách để chủ doanh nghiệp chặn thời gian. Ngày nghỉ ốm đầu tiên sẽ tạo ra những khách không đến.

Khi Calendly (hoặc tương tự) là lựa chọn tốt hơn

Nếu bạn là một người chia sẻ lịch rảnh để nhận cuộc gọi, một công cụ đặt lịch khó có thể bị đánh bại. Tính đến tháng 9 năm 2026, gói miễn phí của Calendly bao gồm một loại sự kiện, một kết nối lịch và đặt lịch một-một với trang đặt lịch có thể tùy chỉnh; các gói trả phí thêm nhiều loại sự kiện và tính năng nhóm. Những công cụ như vậy kết nối với lịch hiện có của bạn ngay lập tức, điều mà một app tự xây phải được làm để thực hiện.

Hãy tự xây dựng khi bạn cần các quy tắc mà những công cụ đó không hỗ trợ, nhiều nguồn lực có thể đặt, thương hiệu riêng xuyên suốt, các lịch hẹn kết nối với dữ liệu khác (khách hàng, đơn hàng, thành viên), hoặc bạn đang xây sản phẩm đặt lịch để bán cho người khác.

Xây dựng với Mythex

Trên Mythex, bạn mô tả app đặt lịch trong khung chat, nó được xây dựng trong bản xem trước trực tiếp, và nó thêm cơ sở dữ liệu Postgres khi các lịch hẹn cần được lưu. Use case đặt lịch trong tài liệu gợi ý bắt đầu với biểu mẫu yêu cầu và danh sách quản trị, rồi thêm phần còn lại. Hãy rõ ràng về những gì có sẵn và những gì bạn tự kết nối: Mythex không có đồng bộ lịch tích hợp, nhắc hẹn qua SMS hay sản phẩm đặt cọc. Email đi qua nhà cung cấp riêng của bạn, tiền cọc đi qua khóa Stripe riêng lưu làm bí mật dự án (công thức Stripe), và các quy tắc về đặt trùng và múi giờ là những thứ bạn xác định và kiểm thử, như đã nói ở trên.

Lệnh /test yêu cầu tác nhân bấm qua luồng đặt lịch trong bản xem trước và báo cáo những gì bị lỗi. Để có prompt khởi đầu, hãy thử các mẫu website đặt lịch tiệm cắt tóc hoặc công cụ hẹn gặp, hoặc xem toàn bộ mẫu app.

Câu hỏi thường gặp

App đặt lịch cần những tính năng gì?

Tối thiểu: danh sách dịch vụ kèm thời lượng, cách hiển thị chỉ các khung giờ còn trống, một biểu mẫu đặt lịch, xác nhận, và một trang riêng để doanh nghiệp xem và quản lý các lịch hẹn. Nhắc hẹn, tiền cọc và lịch nhân viên là những thứ đến sau.

Làm sao để tránh đặt trùng lịch?

Kiểm tra lại tình trạng trống trên máy chủ ngay tại thời điểm lưu lịch hẹn, không chỉ khi trang được tải, và từ chối lịch nếu khung giờ đã bị người khác đặt trong lúc đó. Hãy kiểm thử bằng cách thử đặt cùng một khung giờ từ hai cửa sổ trình duyệt.

App đặt lịch tự tạo có thu tiền cọc được không?

Có. Cách thường dùng là chuyển khách đến trang Stripe Checkout để đặt cọc và chỉ xác nhận lịch khi thanh toán thành công. Bạn cần tài khoản Stripe và khóa API của riêng mình.

Nên tự tạo app đặt lịch hay dùng Calendly?

Nếu một người chỉ cần chia sẻ lịch rảnh của mình và quy trình không có gì đặc biệt, một công cụ đặt lịch như Calendly sẽ nhanh hơn và rẻ hơn để vận hành. Hãy tự xây dựng khi bạn cần các quy tắc riêng, nhiều nguồn lực đặt lịch, thương hiệu riêng xuyên suốt, hoặc các lịch hẹn gắn với dữ liệu khác bạn đang giữ.

Mythex · Pricing · Xây dựng mọi thứ với AI · Mẫu website và ứng dụng · So sánh Mythex · Thuật ngữ xây dựng ứng dụng bằng AI · Công cụ miễn phí để xây dựng ứng dụng bằng 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 Українська اردو 简体中文 繁體中文(香港) 繁體中文(台灣)