Theo dõi đặt cọc và thanh toán chia nhỏ cho đặt lịch — vẫn đơn giản
Thiết lập bộ theo dõi đặt cọc và thanh toán chia nhỏ cho đặt lịch: thu đặt cọc, theo dõi số dư và gửi nhắc tự động trước cuộc hẹn.

Tại sao thanh toán đặt lịch nhanh chóng trở nên rối rắm
Đặt cọc làm cho đặt lịch an toàn hơn. Khách hàng ít khả năng không đến, và những người không nghiêm túc thường rút lui sớm.
Vấn đề thường bắt đầu ngay sau khi bạn nhận khoản thanh toán đầu tiên. Nếu bạn không có một chỗ đáng tin cậy để theo dõi số dư còn lại, mỗi đặt lịch biến thành một câu chuyện thám tử nhỏ.
Khi số dư nằm trong ghi chú, tin nhắn riêng, hay một bảng tính, ba thứ nhanh chóng hỏng: con số bị lệch, tin nhắn bị bỏ lỡ, và các nhân viên khác nhau làm việc theo các phiên bản thông tin khác nhau. Người này cập nhật sheet, người kia nhận tiền mặt khi đến, và không ai chắc chắn còn nợ bao nhiêu.
Cuộc sống thực còn thêm ma sát nữa. Khách dời lịch, thêm dịch vụ, trả nốt bằng hai lần, hoặc yêu cầu biên lai. Tự nhiên bạn phải xử lý thanh toán một phần, hoàn tiền, và tổng mới, trong khi lịch đặt chẳng hiển thị gì.
Các điểm đau thường giống nhau:
- Đặt cọc được ghi nhận, nhưng số còn lại không được liên kết với cuộc hẹn.
- Giá tổng thay đổi, nhưng số dư chưa được tính lại.
- Nhắc tiền gửi bằng tay, nên trễ (hoặc quên).
- Nhân viên không thể trả lời “Còn bao nhiêu và khi nào đến hạn?” mà không phải tìm kiếm.
Phần lớn đội muốn điều đơn giản: thu đặt cọc cho cuộc hẹn, giữ một con số số dư chính xác cho mỗi đặt lịch, và gửi nhắc số dư tự động vào đúng lúc (ví dụ 48 giờ trước). Nếu ai đó trả tại chỗ, hệ thống cũng phải ghi nhận và dừng nhắc.
Quyết định quy tắc đặt cọc và số dư trước
Điều này chỉ cảm thấy đơn giản nếu quy tắc của bạn đơn giản. Trước khi xây, hãy ghi lại các quyết định bạn muốn hệ thống thực hiện để bạn không phải thương lượng cho từng đặt lịch.
Bắt đầu với đặt cọc. Nó là một số cố định (ví dụ $30) hay một phần trăm (ví dụ 20%)? Số cố định dễ giải thích hơn. Phần trăm có thể cảm thấy công bằng khi giá khác nhau. Rồi quyết định khi nào thu: lúc đặt lịch, sau khi bạn xác nhận, hay sau khi báo giá. Thu ngay giảm không đến, nhưng đồng nghĩa bạn cần quy tắc hoàn tiền rõ ràng.
Tiếp theo, đặt mặc định cho thời điểm số dư đến hạn. “Khi đến” là dễ nhất. “48 giờ trước” giảm hủy phút chót. Một số doanh nghiệp cho phép “sau dịch vụ” cho khách tin cậy, nhưng đó nên là ngoại lệ, không phải quy tắc.
Quy định về hoàn tiền và dời lịch nên giải thích gọn trong một hoặc hai câu. Ví dụ: “Đặt cọc hoàn trả được đến 24 giờ trước cuộc hẹn. Sau đó giữ đặt cọc, nhưng bạn có thể dời lịch một lần trong vòng 7 ngày.” Quy tắc đơn giản tránh tranh cãi.
Cũng quyết định “đã thanh toán” nghĩa là gì trong doanh nghiệp của bạn. Nếu bạn nhận thẻ, tiền mặt và chuyển khoản, cần theo dõi rõ từng phương thức. Biên lai quan trọng cho khách và hồ sơ của bạn, nên đừng để mơ hồ.
Khóa các mục này trước khi xây:
- Loại đặt cọc (cố định hay phần trăm) và mọi mức tối thiểu
- Khi nào đặt cọc được thu (đặt lịch, xác nhận, hay sau báo giá)
- Khi nào số dư đến hạn (khi đến, X ngày trước, hoặc sau dịch vụ)
- Chính sách dời lịch và hoàn tiền bằng ngôn ngữ đơn giản
- Phương thức thanh toán chấp nhận và biên lai cung cấp
Khi quy tắc đã được ghi lại, việc xây chủ yếu là cấu hình.
Dữ liệu đơn giản bạn cần theo dõi
Mục tiêu không phải lưu trữ mọi thứ. Là lưu vài dữ liệu bạn có thể tin cậy khi ai đó hỏi: “Còn nợ bao nhiêu, khi nào, và chúng ta đã nhắc chưa?”
Bắt đầu với đặt lịch. Mỗi đặt lịch nên có:
- Tên dịch vụ (hoặc loại dịch vụ)
- Ngày và giờ cuộc hẹn
- Thông tin khách hàng (tên, email, điện thoại)
- Trạng thái đặt lịch (đã yêu cầu, đã xác nhận, hoàn tất, đã hủy)
Tiếp đến là lịch thanh toán. Nếu mô hình của bạn là đặt cọc + số dư, giữ nó thành hai dòng. Mỗi dòng cần một số tiền và ngày đến hạn. Giữ đơn giản.
Ghi các khoản thanh toán như các giao dịch riêng, không phải một tổng cộng chạy. Với mỗi thanh toán, lưu số tiền, thời gian, phương thức (thẻ, tiền mặt, chuyển khoản) và ID nhà cung cấp (ví dụ một Stripe payment intent hoặc charge ID). Nếu bạn xử lý hoàn tiền, theo dõi số tiền hoàn, thời gian và ID hoàn tiền của nhà cung cấp.
Nhắc nên được theo dõi như tin nhắn có kết quả: mẫu nào được dùng, thời gian dự kiến gửi, thời gian thực tế gửi, và trạng thái giao hàng (đã gửi, thất bại, trả lại). Điều này giúp trả lời “Chúng ta đã thông báo chưa?” mà không phải đoán.
Cuối cùng, giữ một nhật ký kiểm tra: ai đã thay đổi đặt lịch, lịch, hay trạng thái, và khi nào. Điều này cứu bạn khi khách tranh chấp điều đã thỏa thuận.
Nếu bạn xây trong AppMaster, các mục này vừa vặn trong vài bảng ở Data Designer, với logic xử lý trong Business Process Editor để số dư và nhắc tuân theo cùng quy tắc mỗi lần.
Thiết lập trạng thái đặt lịch và thanh toán rõ ràng
Thanh toán dễ quản lý khi ai cũng trả lời được một câu hỏi nhanh: bước tiếp theo là gì?
Dùng hai khái niệm tách biệt:
- Trạng thái đặt lịch (vòng đời của cuộc hẹn)
- Trạng thái thanh toán (vòng đời của tiền)
Điều đó tránh lẫn lộn như trộn “Hoàn tất” với “Đã trả”.
Một bộ trạng thái thanh toán thực tế trông như sau:
- Chưa thanh toán: chưa nhận tiền.
- Đặt cọc đã trả: đã nhận đặt cọc, còn số dư.
- Trả một phần: đã trả vượt mức đặt cọc nhưng chưa đủ.
- Đã trả đủ: tổng đến hạn đã được thanh toán.
- Đã hoàn/Hoàn một phần: tiền đã được trả lại (nếu bạn hỗ trợ hoàn tiền).
Giữ Hoàn tất và Đã hủy làm kết quả đặt lịch, không phải kết quả thanh toán. Một đặt lịch có thể là Hoàn tất + Đã trả, hoặc Hủy + Đã hoàn tiền, tùy quy tắc.
Định nghĩa các kích hoạt chuyển trạng thái để nhân viên không phải “nhớ” click. Ví dụ: thanh toán thành công tự cập nhật trạng thái thanh toán; dời lịch tính lại ngày đến hạn và nhắc.
Nếu bạn cho phép hơn hai lần thanh toán, đừng tạo “Thanh toán thứ hai”, “Thanh toán thứ ba”… Lưu mỗi khoản thanh toán là một bản ghi riêng và tính số dư còn lại từ tổng. Trạng thái trở thành tóm tắt.
Trên màn hình và trong tin nhắn, ghép trạng thái với một con số rõ ràng: “$120 đã trả, $80 còn đến hạn vào ngày 12/05.” Đó là thứ ngăn trao đổi qua lại.
Từng bước: xây luồng đặt cọc và thanh toán chia nhỏ
Luồng thanh toán đặt lịch tốt nhất là buồn tẻ. Đó là mục đích. Số rõ ràng, trạng thái rõ ràng, và vài tin nhắn theo thời gian làm phần còn lại.
Xử lý mỗi đặt lịch như một timeline đơn giản: tạo, đặt cọc đến hạn/đã trả, số dư đến hạn/đã trả, hoàn tất (hoặc hủy). Mỗi bước cần timestamp và cách thức (trực tuyến, tiền mặt, thẻ, chuyển khoản).
Luồng đơn giản:
- Tạo đặt lịch, rồi tính đặt cọc và số dư ngay lập tức. Lưu quy tắc đặt cọc đã áp dụng (cố định hay phần trăm).
- Thu đặt cọc, lưu giao dịch và xác nhận đặt lịch. Nếu đặt cọc thất bại, giữ trạng thái chưa xác nhận để không chặn lịch.
- Đặt ngày đến hạn số dư dựa trên ngày cuộc hẹn, rồi lên lịch nhắc tương đối với ngày đó (ví dụ 7 ngày trước và 24 giờ trước).
- Khi khách trả nốt, ghi nhận thanh toán, đặt số dư bằng 0 và đánh dấu đặt lịch là đã trả (và chuyển thành hoàn tất sau khi dịch vụ xong).
- Nếu đặt lịch dời hoặc hủy, cập nhật giờ cuộc hẹn trước, rồi dịch chuyển ngày đến hạn và nhắc tự động. Xử lý hoàn tiền theo chính sách đã viết.
Ví dụ: khách đặt cho ngày 20/03. Đặt cọc $20, số dư $40. Khi $20 nhận được, đặt lịch được xác nhận. Hệ thống lên lịch nhắc vào 13/03 và 19/03. Khi $40 vào, đặt lịch được đánh dấu đã trả và nhắc dừng.
Nếu bạn dùng AppMaster, Data Designer có thể chứa bookings, payment schedules, và transactions, còn Business Process Editor xử lý tính toán, thay đổi trạng thái và tác vụ nhắc lên lịch mà không cần viết code.
Tự động nhắc mà không làm phiền khách
Thông báo thanh toán tự động không có nghĩa là gửi nhiều tin hơn. Là gửi đúng tin vào đúng lúc, và dừng ngay khi khách trả.
Thời điểm thường hiệu quả:
- 7 ngày trước: nhắc nhẹ (hữu ích cho đặt lịch làm trước)
- 48 giờ trước: nhắc thực tế (phù hợp cho hầu hết cuộc hẹn)
- Sáng ngày hôm đó: chỉ khi tỷ lệ không đến cao hoặc hay quên chi tiết
Giữ nhắc ngắn, nhưng luôn bao gồm:
- Số tiền còn nợ và dịch vụ liên quan (số dư còn lại, không phải đặt cọc)
- Ngày/giờ đến hạn và hậu quả nếu bỏ lỡ
- Chi tiết đặt lịch (ngày, giờ, địa điểm hoặc thông tin trực tuyến)
- Một cách thanh toán rõ ràng
Cách dễ khiến khách bực là gửi nhắc sau khi họ đã trả hoặc hủy. Điều này không thể thương lượng: chỉ gửi nhắc khi đặt lịch đang hoạt động và số dư > 0. Ngay khi ghi nhận thanh toán, mọi nhắc trong tương lai phải bị hủy.
Nếu cần leo thang, giữ phần con người. Tin nhắn đầu giả định họ quên. Tin nhắn cuối cùng là nghiêm túc, cụ thể và có thời hạn.
Sai lầm phổ biến và cách tránh
Hầu hết vấn đề không phải do thanh toán mà từ quy tắc mơ hồ, cập nhật trạng thái lộn xộn, và nhắc không đúng thực tế.
Bẫy thường gặp
- Ghi nhận trùng hoặc thanh toán kép: Khách bấm hai lần, chuyển khoản sau khi đã trả thẻ, hoặc một đối tác trả thêm. Lưu mỗi khoản thanh toán như giao dịch riêng và tính số dư từ các khoản đã xác nhận. Nếu nhà cung cấp hỗ trợ, dùng idempotency keys.
- Điều khoản đặt cọc mơ hồ: “Không hoàn lại” thường dẫn tới tranh cãi. Viết quy tắc rõ ràng và hiện trong xác nhận và biên lai.
- Chỉ có trạng thái thủ công làm nguồn sự thật: Nếu nhân viên phải nhớ đổi trạng thái sau mỗi thanh toán, mọi thứ sẽ trôi. Dẫn xuất “Đặt cọc đã trả” và “Số dư phải trả” từ bản ghi thanh toán và ngày đến hạn.
- Lỗi múi giờ và tiết kiệm ánh sáng ngày: “24 giờ trước” có thể xảy ra sai thời điểm nếu bạn chỉ lưu ngày/giờ địa phương. Lưu thời gian cuộc hẹn kèm múi giờ rõ ràng (hoặc lưu UTC cộng với múi giờ khách) và tính nhắc từ đó.
- Hỗn loạn khi dời lịch: Khi cuộc hẹn đổi, các nhắc cũ phải bị hủy hoặc bỏ qua. Gắn nhắc với timestamp hiện tại của cuộc hẹn để chỉ thời gian mới nhất kích hoạt thông báo.
Kiểm tra thực tế: nếu ai đó dời từ 10:00 sang 15:00, bạn muốn một nhắc 24 giờ trước 15:00, không phải hai nhắc và một khách bối rối.
Danh kiểm nhanh trước khi hoạt động
Trước khi khách thật dùng hệ thống, chạy thử “đặt, trả, nhắc” với 3–5 đặt lịch giả. Dùng các ngày khác nhau (ngày mai, tuần tới, tháng tới) để lộ lỗi thời gian.
Mỗi đặt lịch nên hiện rõ số tiền đặt cọc, ngày đến hạn đặt cọc (nếu có), và ngày đến hạn số dư. Nếu bất kỳ thứ gì mơ hồ, nhân viên sẽ phỏng đoán và khách sẽ nhận thông tin trái chiều.
Kiểm tra trước khi ra mắt bắt được hầu hết lỗi:
- Trạng thái đặt cọc khớp với thanh toán thực tế (và đảo lại nếu hoàn)
- Số dư còn đúng (tổng giá trừ tổng khoản đã nhận)
- Lịch nhắc dựa trên thời gian cuộc hẹn, không phải lúc tạo đặt lịch
- Hủy dừng mọi thứ (không nhắc, không vào hàng “chưa trả”)
- Các trường hợp ngoài lề hoạt động (đặt cùng ngày, dời lịch, trả đủ ngay)
Một kịch bản để kiểm chứng: tạo đặt lịch $200 với đặt cọc $50 đến hạn hôm nay và $150 đến hạn hai ngày trước cuộc hẹn. Ghi đặt cọc là đã trả, rồi thêm khoản $30 extra. Số dư phải hiển thị $120, và nhắc tiếp theo vẫn tính theo ngày cuộc hẹn.
Ví dụ minh hoạ: một đặt lịch từ đặt cọc đến thanh toán cuối
Một salon có gói nhuộm 90 phút giá $200. Quy tắc: đặt cọc 30% khi đặt ($60), số dư còn lại đến hạn 48 giờ trước.
Khi khách đặt vào thứ Sáu 15:00, hệ thống tạo đặt lịch và kế hoạch thanh toán hai phần: Đặt cọc (đến hạn ngay) và Số dư (đến hạn Thứ Tư 15:00). Đặt cọc được trả ngay nên đặt lịch xác nhận. Số dư vẫn còn.
Sáng thứ Ba, khách dời sang Thứ Bảy 13:00. Đặt cọc vẫn được tính là đã trả, nhưng ngày đến hạn số dư chuyển sang Thứ Năm 13:00 (48 giờ trước). Nhân viên không cần tính lại gì.
Nhắc tự điều chỉnh sau khi dời lịch. Thay vì gửi “số dư đến hạn ngày mai” theo lịch cũ, lịch được dựng lại quanh thời gian mới. Đến sáng Thứ Bảy, nhân viên thấy sự thật hiện tại, không phải lịch sử gây rối.
Làm cho việc quản lý hằng ngày trở nên dễ dàng
Điều này chỉ hoạt động nếu nhân viên kiểm tra trong vài giây. Mục tiêu hàng ngày: biết hôm nay có gì, gì đã trả, và ai cần một nhắc.
Bắt đầu với một giao diện quản trị gọn tập trung vào công việc sắp tới. Nó nên hiển thị đặt lịch sắp tới (hôm nay và 7–14 ngày kế), khách hàng và dịch vụ, giờ cuộc hẹn, trạng thái thanh toán và số dư với ngày đến hạn.
Việc cập nhật phải nhanh. Nhân viên nên ghi một khoản thanh toán, thêm ghi chú, và xuất biên lai mà không phải mò qua menu.
Khách cũng cần rõ ràng. Sau khi họ trả đặt cọc, hiện tóm tắt đơn giản: đã trả gì, còn nợ bao nhiêu, và hạn chót. Nếu cho phép thanh toán chia, hiển thị mỗi khoản thanh toán như một dòng riêng để tránh tranh cãi “tôi đã trả rồi”.
Báo cáo cơ bản nên trả lời hai câu: “Chúng tôi đã thu bao nhiêu tiền đặt cọc?” và “Còn bao nhiêu tiền chưa thu?” Giữ nhẹ nhàng và có thể lọc theo khoảng thời gian, nhân viên, và loại dịch vụ.
Quyền hạn nên đơn giản:
- Nhân viên có thể xem đặt lịch, ghi thanh toán và phát biên lai
- Quản lý có thể hoàn tiền, sửa quy tắc đặt cọc, ghi đè ngày đến hạn và sửa lỗi
Bước tiếp theo: biến quy trình thành app thực tế
Khi quy tắc đặt cọc và nhắc hoạt động trên giấy, đưa chúng vào một app nhỏ giúp duy trì khi bạn mở rộng.
Bắt đầu với phiên bản nhỏ nhất vẫn thật. Chọn một dịch vụ, một quy tắc đặt cọc, và một lịch nhắc. Tập trung làm đúng luồng trước khi bao phủ mọi trường hợp.
Một bản dựng đầu thường có danh sách đặt lịch, chế độ xem thanh toán hiển thị đặt cọc và số dư, một hành động để ghi đặt cọc, một hành động để ghi thanh toán cuối, và một mẫu nhắc có thể tái sử dụng.
Trước khi khách thấy, viết chính sách bằng ngôn ngữ đơn giản và thử với vài người thật. Yêu cầu họ giải lại điều gì xảy ra nếu hủy và khi nào số dư đến hạn. Nếu họ ngập ngừng, viết lại.
Nếu bạn muốn xây đầy đủ không cần code, AppMaster (appmaster.io) là lựa chọn thực tế để biến luồng này thành backend, web app và mobile app sẵn sàng sản xuất, với mô hình dữ liệu và logic nhắc giữ cùng một nơi.
Khi phần cơ bản ổn định, thêm cải tiến từng cái một: các mức đặt cọc khác nhau theo dịch vụ, danh sách chờ, link thanh toán cho số dư, hoặc một nhắc thêm chỉ cho các khoản quá hạn.
Câu hỏi thường gặp
Bắt đầu với một mặc định đơn giản: đặt cọc cố định cho dịch vụ giá thấp, hoặc phần trăm cho dịch vụ có giá dao động lớn. Đặt cọc cố định dễ giải thích và giảm nhầm lẫn khi thanh toán, trong khi phần trăm cảm thấy công bằng khi giá khác nhau. Dù chọn gì, hãy viết quy tắc một lần và áp dụng tự động cho mọi đặt lịch.
Thu tiền đặt cọc ngay khi đặt lịch thường giảm tỷ lệ không đến nhiều nhất vì tạo cam kết ngay lập tức. Nếu dịch vụ của bạn thường cần báo giá thủ công hoặc xác nhận, hãy thu đặt cọc sau khi bạn xác nhận để khách không bị bất ngờ. Điều quan trọng là duy trì sự nhất quán về thời điểm để nhân viên không phải quyết định từng trường hợp.
Một cách đáng tin cậy là “số dư đến hạn 48 giờ trước cuộc hẹn” vì giảm hủy phút chót và cho bạn thời gian theo dõi. Nếu bạn muốn đơn giản nhất, “trả khi đến” vẫn ổn, nhưng bạn sẽ phải xử lý nhiều khoản chưa thanh toán ngay trước dịch vụ. Chọn một mặc định và chỉ thay đổi cho khách tin cậy.
Gắn mọi giao dịch thanh toán với một đặt lịch cụ thể và luôn tính số dư còn lại từ tổng các khoản thanh toán đã xác nhận. Điều này ngăn nhân viên đoán dựa trên ghi chú hay tin nhắn và giữ con số nhất quán kể cả khi ai đó trả nhiều lần. Tránh sửa một trường “số tiền đã trả” bằng tay.
Ghi từng khoản thanh toán như một giao dịch riêng với số tiền, thời gian, phương thức và bất kỳ ID tham chiếu của nhà cung cấp nếu bạn dùng thanh toán trực tuyến. Khi đó trạng thái thanh toán là tóm tắt những gì đã ghi, chứ không phải điều nhân viên phải nhớ cập nhật. Cách này cũng giúp xử lý thanh toán trùng lặp và hoàn tiền rõ ràng.
Tạo hai khái niệm tách biệt: trạng thái đặt lịch và trạng thái thanh toán để chúng không bị lẫn. Ví dụ, một đặt lịch có thể được xác nhận hoặc hoàn tất trong khi thanh toán có thể là đã đặt cọc, trả một phần hoặc đã trả đủ. Điều này giúp nhân viên rõ “bước tiếp theo là gì” và tránh trường hợp nhầm lẫn như “hoàn tất nhưng chưa trả”.
Chỉ gửi nhắc khi đặt lịch còn hoạt động và số dư > 0, và dừng mọi nhắc trong tương lai ngay khi ghi nhận thanh toán. Hầu hết đội ngũ làm tốt với một thông báo nhắc nhẹ một tuần trước và một nhắc thực tế 48 giờ trước, điều chỉnh theo giờ cuộc hẹn. Cách nhanh nhất để làm khách khó chịu là nhắc họ sau khi họ đã thanh toán hoặc đã hủy.
Cập nhật thời gian cuộc hẹn trước, sau đó tính lại ngày đến hạn và dựng lại lịch nhắc từ dấu thời gian mới. Các nhắc cũ phải bị hủy hoặc bỏ qua để khách chỉ nhận tin theo lần đặt lịch mới nhất. Nhật ký kiểm tra ở đây có ích vì bạn có thể thấy ai đã thay đổi gì và khi nào.
Viết một quy tắc ngắn mà khách có thể hiểu, rồi áp dụng nhất quán và hiển thị trong xác nhận và biên nhận. Một mặc định thực tế là hoàn tiền đến trước một mốc rõ ràng như 24 giờ trước, sau đó giữ đặt cọc, và cho phép dời lịch một lần trong khoảng thời gian cố định. Nếu phải giải thích quy tắc bằng cả đoạn văn, nó sẽ gây tranh cãi sau này.
Thử một vài kịch bản thực tế đầu‑cuối bằng các đặt lịch giả, bao gồm đặt cùng ngày, dời lịch, thêm dịch vụ, và thanh toán tại chỗ. Xác nhận số dư cập nhật đúng, nhắc được kích hoạt dựa trên thời gian cuộc hẹn, và nhắc dừng ngay khi thanh toán. Nếu bạn xây dựng trong AppMaster, có thể mô hình hóa bảng trong Data Designer và bắt buộc logic tính toán cùng nhắc trong Business Process Editor để hành vi nhất quán.


