07 thg 3, 2025·8 phút đọc

Ứng dụng đăng ký khách với thẻ QR: mô hình dữ liệu và quy trình

Lên kế hoạch mô hình dữ liệu và luồng cho ứng dụng check-in khách bằng thẻ QR: cảnh báo host, câu hỏi an toàn, nhật ký khẩn cấp và lịch sử khách có thể xuất.

Ứng dụng đăng ký khách với thẻ QR: mô hình dữ liệu và quy trình

Vấn đề mà luồng check-in cần giải quyết

Một luồng check-in không chỉ là sổ khách điện tử. Nó quyết định ai đang ở trong tòa nhà, họ gặp ai và điều gì cần xảy ra tiếp theo. Khi làm tốt, quầy lễ tân giữ sự bình tĩnh và bạn có hồ sơ đáng tin cậy để dùng sau này.

Bảng đăng ký giấy thất bại theo những cách dễ đoán: tên viết sai hoặc khó đọc, thời gian bị thiếu, và người ta quên đăng xuất. Một tờ giấy trên quầy cũng có thể làm lộ thông tin riêng tư vì ai cũng nhìn thấy các mục trước đó. Và khi mọi thứ thay đổi nhanh (host đang mắc cuộc họp, khách trả lời câu hỏi an toàn với cờ đỏ), nhân viên phải gọi chồng chất.

Một kết quả tốt thì đơn giản: check-in dưới một phút, thẻ rõ ràng và có thể quét, và host nhận cảnh báo đúng mà không bị spam. Mỗi lượt ghé trở thành một bản ghi sạch về ai, khi nào, ở đâu, vì lý do gì và đã trả lời gì, để bạn có thể xuất để kiểm toán hoặc điều tra.

Trước khi thiết kế, cố định phạm vi. Hầu hết đội bắt đầu với vài loại visit: khách onsite, nhà thầu (thường có bước an toàn thêm), giao hàng (đôi khi không cần thẻ nhưng vẫn cần dấu thời gian), và phỏng vấn (cần quyền riêng tư nhiều hơn).

Cũng quyết định nơi trải nghiệm diễn ra. Tablet kiosk tốt nhất cho tốc độ và nhất quán. Ứng dụng web cho receptionist phù hợp cho ngoại lệ, sửa lỗi và in lại. Tùy chọn di động có thể giúp host hoặc bảo vệ xác minh check-in QR khi rời khỏi quầy.

Vai trò, quyền hạn và các sự kiện bạn phải theo dõi

Một ứng dụng check-in sống hoặc chết dựa trên hai điều: vai trò rõ ràng và một đường dẫn sự kiện sạch. Nếu một trong hai mơ hồ, bạn sẽ có cảnh báo bị bỏ sót, file xuất lộn xộn và nhật ký không ai tin tưởng.

Các vai trò cần lên kế hoạch

Giữ vai trò đơn giản lúc đầu:

  • Visitor: nhập thông tin và trả lời câu hỏi, nhưng không thấy các visit khác.
  • Host: thấy các visit được gán cho họ, xác nhận đến nơi và có thể yêu cầu hành động như hộ tống.
  • Receptionist (front desk): tạo visit, sửa lỗi rõ ràng khi check-in, in lại thẻ, và làm thủ tục trả phòng.
  • Security: xem ai đang onsite, hỗ trợ điểm danh khẩn cấp và xem lại ghi chú sự cố.
  • Admin: quản lý site, chính sách và xuất dữ liệu, bao gồm quy tắc lưu trữ.

Ranh giới quyền rất quan trọng quanh dữ liệu cá nhân và báo cáo. Quyết định sớm ai có thể xem số điện thoại, thông tin ID hoặc ảnh khách, và ai có thể xuất lịch sử. Quy tắc phổ biến: quầy lễ tân điều hành luồng, security thấy sự hiện diện hiện tại, và chỉ admin được xuất toàn bộ lịch sử.

Các sự kiện bạn luôn nên ghi lại

Nghĩ theo dạng sự kiện, không chỉ một hàng “visit” bị chỉnh sửa theo thời gian. Đây là những khoảnh khắc bạn sẽ cần sau này cho kiểm toán và xử lý sự cố:

  • Check-in completed (timestamp, thiết bị, site)
  • Badge issued (badge ID, giá trị QR, in bởi ai)
  • Host notified (kênh dùng, trạng thái giao hàng)
  • Safety answers submitted (bộ câu hỏi hoặc phiên bản đã hiển thị)
  • Check-out (ai đã checkout, bằng cách nào, khi nào)

Làm cho các sự kiện quan trọng có thể kiểm toán và append-only (check-in, thông báo, checkout). Cho phép chỉnh sửa giới hạn chỉ với những trường thường sai (chính tả tên, công ty), và ghi lại ai đã thay đổi và thay đổi gì.

Mô hình dữ liệu cốt lõi: visitors, visits, badges và sites

Một hệ thống đáng tin cậy bắt đầu với mô hình rõ ràng. Ý tưởng chính là tách người ra khỏi sự kiện họ tới onsite. Một visitor lặp lại giữ một bản ghi, trong khi mỗi lần đến là một visit mới.

Bắt đầu với hai bảng cốt lõi: VisitorsVisits.

  • Một Visitor là cá nhân (tên, điện thoại, email, công ty, ảnh tùy chọn hoặc ghi chú ID).
  • Một Visit là một lần xuất hiện duy nhất (ngày, mục đích, người họ gặp, nơi họ đi).

Một Visitor có thể có nhiều Visits.

Thêm HostsSites để nhật ký khớp với cách doanh nghiệp vận hành. Hosts là nhân viên hoặc người thuê nhận cảnh báo. Sites đại diện cho địa điểm vật lý (HQ, Warehouse A). Nếu cần chi tiết hơn sau này, bạn có thể thêm zones (lobby, floor, khu vực an toàn) mà không phá vỡ những điều cơ bản.

Các bảng bạn thực sự cần

Giữ nhỏ:

  • Visitors
  • Visits
  • Hosts
  • Sites
  • Badges
  • Devices (kiosk/tablet/printer)

Badges nên được gán cho một Visit, không gán cố định cho một Visitor. Điều đó tránh nhầm lẫn khi tồn kho thẻ được tái sử dụng, mất hoặc in lại.

Trạng thái và timestamp nói sự thật

Visits cần timestamp và một trạng thái khớp với cách nhân viên nói to. Lưu ít nhất created_at, checked_in_at, checked_out_at, và canceled_at (hoặc một cờ hủy). Kết hợp với trạng thái rõ ràng như scheduled, arrived, checked_in, checked_out, no_show, canceled.

Ví dụ: ai đó được đặt lịch 10:00, đến lúc 9:55 (trạng thái: arrived), rồi hoàn tất câu hỏi và nhận thẻ QR (trạng thái: checked_in). Nếu họ rời đi mà quên checkout, bạn vẫn có checked_in_at và có thể dọn dẹp sau với quy tắc rõ ràng.

Câu hỏi an toàn: mô hình câu hỏi và câu trả lời

Câu hỏi an toàn chỉ có ích nếu bạn tin được lịch sử sau này. Lỗi phổ biến là lưu câu trả lời trên hồ sơ visitor, điều đó ghi đè những gì họ đã nói lần trước. Xử lý câu hỏi như template, và câu trả lời như bản ghi theo từng visit, để mỗi check-in giữ snapshot riêng.

Cấu trúc đơn giản hoạt động tốt:

  • Một Question Template định nghĩa những gì bạn hỏi.
  • Một Visit Answer lưu câu trả lời trong một visit cụ thể.

Question templates vs câu trả lời theo visit

Giữ template ổn định, và lưu văn bản chính xác đã hiển thị (hoặc phiên bản template) cùng với câu trả lời. Nếu bạn thay đổi cách diễn đạt sau này, các visit cũ vẫn phải hiển thị những gì người đó thấy.

Bộ câu hỏi cho phép bạn hiển thị câu hỏi khác nhau dựa trên ngữ cảnh, như site, loại visitor, khung giờ (quy tắc tạm thời), đội của host hoặc ngôn ngữ.

Loại câu trả lời và cờ hành động

Lên kế hoạch cho nhiều hơn yes/no. Các loại phổ biến gồm yes/no, văn bản ngắn, chữ ký, ảnh và tải lên tài liệu (ví dụ chứng chỉ bảo hiểm). Lưu metadata file (tên, loại, timestamp) và ai đã thu thập.

Thêm một cờ “action required” trên template, cộng với quy tắc như “nếu câu trả lời là YES, tạo cảnh báo an toàn.” Ví dụ: “Bạn có mang vật cấm không?” Nếu khách trả lời có, visit có thể chuyển sang trạng thái review và yêu cầu phê duyệt trước khi in thẻ.

Cảnh báo cho host: trigger, kênh và theo dõi thông báo

Thông báo host qua kênh nhắn tin
Gửi thông báo host qua email, SMS hoặc Telegram bằng các module tích hợp sẵn.
Thêm nhắn tin

Cảnh báo cho host nên trả lời nhanh một câu hỏi: “Tôi có cần hành động ngay bây giờ không?” Thông thường là một tin nhắn ngắn bao gồm ai đến, họ đang ở đâu, vì sao họ đến và liệu cần phê duyệt.

Điều gì nên kích hoạt cảnh báo

Giữ trigger dự đoán được để host tin tưởng:

  • Khách check-in tại quầy
  • Khách có lịch đến muộn theo một ngưỡng (ví dụ 10 phút)
  • Một câu trả lời an toàn tạo cờ security
  • Khách VIP (thường có độ ưu tiên khác)

Kết nối trigger với dữ liệu: gắn chúng vào site, loại visit và sở thích của host để bạn không phải hardcode các ngoại lệ.

Kênh, dedupe và theo dõi

Dùng nhiều kênh, nhưng đừng bắn tất cả mỗi lần. Mặc định tốt là một kênh chính, cộng một gợi ý trên màn hình receptionist nếu giao hàng thất bại.

Giữ quy tắc đơn giản:

  • Dedupe key: (visit_id + trigger_type + host_id) trong một cửa sổ thời gian ngắn
  • Priority: normal vs urgent (urgent có thể thử kênh thứ hai)
  • Quiet hours: tôn trọng giờ làm theo host hoặc site

Theo dõi mỗi thông báo như một bản ghi riêng để bạn có thể kiểm toán. Lưu trạng thái (sent, delivered, failed), chi tiết lỗi, số lần thử và thời gian retry. Nếu tin nhắn thất bại, fallback về hành động quầy lễ tân đơn giản như “Gọi host.”

Nhật ký khẩn cấp: ghi nhận sự hiện diện onsite bạn có thể tin cậy

Thiết lập vai trò và quyền
Định nghĩa quyền truy cập receptionist, host, security và admin mà không cần viết code.
Tạo vai trò

Emergency log không giống như bản ghi visitor bình thường. Đó là một snapshot theo thời gian bạn có thể tin cậy trong khi diễn tập, sơ tán hoặc sự cố thực sự, ngay cả khi ai đó quên checkout sau đó.

Xác định loại entry và quy tắc từ trước. Một drill có thể được lên kế hoạch và bắt đầu bởi nhân viên. Một incident có thể được tạo bởi người dùng được phép, sau đó được xác nhận bởi leader an toàn. Gắn mọi sự kiện khẩn cấp với site (và tùy chọn zone) để bạn trả lời được: “Ai được cho là ở đây ngay bây giờ?”

Với mỗi mục trong nhật ký khẩn cấp, lưu những trường tối thiểu để nó đáng tin:

  • Loại sự kiện, site, và zone tuỳ chọn
  • Thời gian bắt đầu, thời gian kết thúc và trạng thái (open, closed)
  • Ai có mặt tại thời điểm bắt đầu (visitor, contractor, nhân viên)
  • Xác nhận (ai xác nhận số, khi nào và từ thiết bị nào)
  • Danh tính actor cho mọi thay đổi (tạo bởi, đóng bởi, chỉnh sửa bởi)

Giữ các bản ghi này append-only. Nếu ai đó sửa tên hoặc đánh dấu một người an toàn, ghi một hành động có timestamp mới thay vì ghi đè giá trị cũ.

Chiến thắng nhanh nhất là một nút chạm “Danh sách hiện đang onsite” kéo tất cả visit active cho một site và đóng băng danh sách đó vào event khẩn cấp. Làm cho nó dễ dùng khi có áp lực: chế độ in lớn, xuất CSV/PDF và bộ lọc cho zones và “chưa xác nhận.”

Từng bước: luồng check-in và checkout đầu cuối

Luồng nên hoạt động cho cả walk-in và khách đã đăng ký trước, và phải để lại một dấu vết sạch: ai đến, ai phê duyệt, ai đang onsite và khi nào họ rời.

Luồng check-in (từ lời mời đến thẻ)

Nếu có thể, bắt đầu trước khi khách tới. Pre-registration tạo một Visit gắn với người, site, host và khung giờ. Sau đó gửi mã QR gắn với visit cụ thể để quầy không phải đoán mò.

Tại kiosk, khách quét mã QR hoặc receptionist tìm theo tên, công ty hoặc điện thoại. Hiển thị xác nhận danh tính nhanh (ví dụ họ tên đầy đủ và công ty) trước khi tiếp tục, để không check-in nhầm “John S.”

Tiếp theo, thu các câu hỏi an toàn và xác nhận. Lưu mỗi câu trả lời như một bản ghi riêng kèm timestamp và văn bản chính xác đã hiển thị.

Sau khi kiểm tra bắt buộc vượt qua, phát thẻ và thông báo host. Thẻ nên mang token QR duy nhất ánh xạ tới Visit đang hoạt động, không phải người. Sau đó gửi cảnh báo host và lưu trạng thái giao hàng, số lần thử và (nếu hỗ trợ) trạng thái đọc hoặc xác nhận.

Luồng checkout (bao gồm auto check-out)

Checkout cũng nên nhanh: quét mã QR trên thẻ, xác nhận visit và đặt check_out_time.

Với các checkout bị bỏ sót, dùng quy tắc kết thúc ngày theo site để đánh dấu visit là auto checked-out và ghi lý do. Điều đó giữ số liệu khẩn cấp đáng tin hơn.

Kịch bản minh họa: visit nhà thầu với cờ an toàn

Ra mắt kiosk và dashboard
Phát hành kiosk trên tablet và web app cho receptionist từ cùng một mô hình dữ liệu.
Xây dựng ứng dụng

Một nhà thầu tên Jordan đến sớm 20 phút để bảo trì hệ thống HVAC. Ở quầy, Jordan dùng kiosk quét QR (hoặc được cấp QR nếu đây là lần đầu). Hệ thống tạo một Visit mới gắn với site, host dự kiến và badge ID.

Trong quá trình check-in, Jordan trả lời một bộ câu hỏi an toàn ngắn. Một câu hỏi: “Bạn có làm hot work trong 24 giờ qua không?” Jordan chọn “Có.” Câu trả lời này bị gắn cờ, nên trạng thái visit trở thành “Pending approval” thay vì “Checked in.” Timestamp và câu hỏi cùng câu trả lời chính xác được lưu trên visit.

Receptionist thấy ba lựa chọn rõ ràng:

  • Cho vào (override với lý do)
  • Từ chối (ghi lý do)
  • Yêu cầu phê duyệt host (khuyến nghị cho các câu trả lời bị gắn cờ)

Nếu yêu cầu phê duyệt, host được thông báo ngay với thông tin ai đang chờ, lý do bị gắn cờ, họ đang ở đâu và các nút quyết định (approve hoặc deny). Host cũng có thể xem tóm tắt lịch sử visit ngắn, như lần đến gần nhất và có cờ trước đó không.

Khi được phê duyệt, visit chuyển sang “Checked in” và thẻ trở nên active. Khi Jordan rời, receptionist (hoặc Jordan tại kiosk) thực hiện checkout. Ứng dụng ghi thời gian checkout, trạng thái trả thẻ và một ghi chú ngắn như “Hoàn tất thay lọc HVAC. Không có vấn đề.” Nếu thẻ không trả, điều đó cũng được ghi nhận.

Sai lầm phổ biến gây ra nhật ký xấu và cảnh báo bị bỏ sót

Dữ liệu xấu thường bắt đầu từ một lối tắt trong luồng. Hệ thống chỉ hữu ích như đường dẫn audit nó có thể tạo khi ai đó hỏi, “Ai đã ở đây, khi nào và ai phê duyệt?”

Lỗi thường gặp là trộn lẫn định danh visitor với lịch sử visit. Người nên giữ ổn định theo thời gian, trong khi mỗi lần đến là một bản ghi riêng. Nếu bạn ghi đè trường “current visit” trên hồ sơ visitor, bạn mất khả năng kiểm toán các lượt lặp lại, host, câu trả lời an toàn và in lại thẻ.

QR là một cái bẫy khác. Nếu mã QR không bao giờ hết hạn, nó trở thành một thẻ có thể tái sử dụng và có thể bị sao chép từ ảnh chụp màn hình. Xử lý QR như token ngắn hạn gắn với lần phát thẻ và visit cụ thể, và vô hiệu hóa nó khi checkout.

Chỉnh sửa không có dấu vết phá hủy lòng tin. Nếu nhân viên có thể thay đổi câu trả lời an toàn trong quá khứ, bạn cần lưu ai thay đổi gì và khi nào, cộng với giá trị trước đó.

Một sự cố kiosk không nên biến thành “cho vào luôn” mà không có ghi nhận. Lên phương án dự phòng, như luồng qua điện thoại của nhân viên, bản sao giấy sau đó được nhập, hoặc chế độ offline đồng bộ khi thiết bị hồi phục.

Cảnh báo bị bỏ sót thường đến từ phức tạp thực tế:

  • Nhiều site chia sẻ một database mà không có trường Site rõ ràng trên visits và badges
  • Nhiều host cho một visit (host chính, host dự phòng, hộp thư đội)
  • Thay đổi host giữa chừng mà không ghi nhật ký tái gán

Kiểm tra nhanh trước khi triển khai

Thiết kế câu hỏi an toàn đúng cách
Dùng mẫu và câu trả lời theo từng visit để không bao giờ ghi đè lịch sử.
Mô hình câu hỏi

Điều này chỉ hoạt động nếu dữ liệu giữ nhất quán vào những ngày bận. Trước khi cài lên tablet quầy, chạy một bài kiểm tra “ngày lộn xộn”: nhiều lượt đến cùng lúc, một thẻ mất, và một host không phản hồi.

Bắt đầu với bản ghi visit. Mỗi visit nên có một trạng thái rõ ràng (pre-registered, checked-in, checked-out, denied, canceled) và các timestamp khớp với thực tế. Nếu ai đó bắt đầu check-in rồi bỏ đi, quyết định chuyện gì xảy ra sau 5–10 phút: tự hết hạn nỗ lực, hay giữ là “started” nhưng không onsite.

Xác thực lifecycle của thẻ end-to-end. Một thẻ QR nên dễ kiểm toán: khi nó được phát, khi nó trở nên active và khi nó được trả hoặc hết hạn. Nếu in lại thẻ, vô hiệu hóa QR cũ ngay để không có hai thẻ “active” cho một visit.

Một checklist ngắn là đủ:

  • File xuất trùng với những gì nhân viên thấy trên màn hình (số lượng, khoảng ngày, bộ lọc site và host).
  • Gửi lại cảnh báo không tạo trùng lặp.
  • Nội dung cảnh báo hữu dụng (tên khách, site, host, cờ an toàn).
  • Thất bại giao hàng hiển thị rõ (sent, delivered, failed) và retry an toàn.
  • Diễn tập khẩn cấp có thể tạo danh sách onsite trong dưới hai phút.

Lịch sử khách có thể xuất: báo cáo, lưu trữ và audit trail

Nguyên mẫu luồng thẻ QR
Tạo token QR ngắn hạn, in lại thẻ và quy tắc checkout trong một workflow.
Thử AppMaster

Xuất dữ liệu là nơi một hệ thống check-in trở nên hữu dụng cho công việc thực: tuân thủ, xem xét sự cố và câu hỏi đơn giản như “Ai đã ở đây thứ Ba tuần trước lúc 3 giờ chiều?” Quyết định sớm “sự thật” trông như thế nào, vì file xuất sẽ được coi là bản ghi.

Hỗ trợ ít nhất CSV và XLSX. CSV tốt cho kiểm toán và import. XLSX dễ dùng hơn với nhiều đội không chuyên.

Định nghĩa một tập trường ổn định và giữ ý nghĩa của chúng nhất quán theo thời gian. Tối thiểu thực tế bao gồm:

  • Visit ID (duy nhất và không tái sử dụng)
  • Định danh visitor (tên cộng với khóa visitor ổn định)
  • Site và host
  • Timestamps check-in và check-out (có timezone)
  • Định danh badge (giá trị QR hoặc số thẻ)

Giữ quy tắc “ai có thể xuất” chặt. Thông thường, receptionist chỉ xem danh sách hôm nay, security có thể xuất theo khoảng ngày, và admin có thể xuất mọi thứ. Xử lý xuất như một quyền riêng biệt, không chỉ là “có thể xem visits.”

Quy tắc lưu trữ sống sót trong đời thực

Viết quy tắc lưu trữ bằng ngôn ngữ dễ hiểu để được thực hiện nhất quán. Quy tắc phổ biến gồm lưu đầy đủ logs visit 12–24 tháng, ẩn danh chi tiết cá nhân sau thời hạn lưu (nhưng giữ tổng và timestamp), giữ nhật ký khẩn cấp lâu hơn nếu chính sách yêu cầu, và không bao giờ xóa audit trail ngay cả khi bạn ẩn danh một visitor.

Audit trail và yêu cầu xóa dữ liệu

Thêm trường audit cho mỗi bản ghi visit (created_by/at, edited_by/at) và cho hành động xuất (exported_by/at, export_scope, file format, row count).

Với yêu cầu xóa, tránh xóa cứng làm vỡ báo cáo. Cách an toàn hơn là “xóa vì quyền riêng tư”: làm trống hoặc băm các trường cá nhân (tên, email, điện thoại), trong khi giữ Visit ID, timestamps, site, host và mã lý do để báo cáo vẫn có ý nghĩa.

Bước tiếp theo: biến kế hoạch thành ứng dụng hoạt động

Chuyển mô hình thành ba màn hình tập trung: kiosk check-in (nhanh, nút to), dashboard receptionist (danh sách hôm nay, override, in lại) và giao diện host (ai đến, ai onsite, ai cần chú ý). Khi mỗi màn hình chỉ có một nhiệm vụ, người dùng ít có xu hướng phá quy trình.

Sau đó gắn tự động hoá vào các sự kiện, không phải nút bấm. Mỗi thay đổi trạng thái nên là thứ bạn có thể tin tưởng: created, checked in, badge issued, host notified, checked out và marked as left during an emergency sweep. Bằng cách đó cảnh báo vẫn sẽ bật ngay cả khi nhân viên dùng các thiết bị khác nhau.

Phiên bản đầu tiên thường đủ để ra mắt bao gồm một site, một kiosk, một dashboard receptionist, tạo và in lại thẻ QR, cảnh báo host cơ bản với theo dõi giao hàng, câu hỏi an toàn với một quy tắc duyệt và xuất lịch sử khách cho khoảng ngày đã chọn.

Nếu bạn muốn xây mà không code, nền tảng như AppMaster (appmaster.io) có thể giúp bạn thiết lập mô hình cơ sở dữ liệu, workflows và nhiều front-end (kiosk, web, mobile) quanh một nguồn dữ liệu chung. Bắt đầu nhỏ, thử nghiệm ở một sảnh, rồi mở rộng khi nhật ký và cảnh báo giữ ổn định dưới áp lực quầy lễ tân thực tế.

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

Một lượt check-in nên mất bao lâu trong hệ thống tốt?

Mục tiêu là dưới một phút cho đa số khách. Giữ luồng chính ở ba bước: xác định visit (quét QR hoặc tìm nhanh), trả lời các câu hỏi bắt buộc, sau đó in thẻ và thông báo cho host. Đẩy các ngoại lệ (sửa lỗi chính tả, phê duyệt, in lại) về màn hình receptionist để kiosk luôn nhanh.

Tôi nên lưu thông tin khách trên visit hay giữ hồ sơ khách riêng?

Tách riêng thông tin người và thông tin lượt đến. Lưu một bản ghi ổn định Visitor (danh tính và liên hệ) và tạo một bản ghi Visit mới cho mỗi lần tới để bạn có thể kiểm tra được timestamp, host, câu trả lời và in thẻ mà không ghi đè lịch sử trước đó.

Làm thế nào để ngăn thẻ QR bị tái sử dụng hoặc sao chép?

Xử lý mã QR như các token thời hạn ngắn liên kết với một lần phát thẻ cụ thể và một visit cụ thể. Vô hiệu hóa token khi checkout và khi in lại thẻ, để không bao giờ có hai thẻ đang hoạt động cho cùng một visit.

Tôi cần ghi lại những sự kiện nào để kiểm toán và điều tra đáng tin cậy?

Dùng các sự kiện append-only cho những khoảnh khắc bạn sẽ cần sau này: hoàn tất check-in, phát thẻ, đã thông báo host, lưu câu trả lời an toàn và checkout. Khi ai đó sửa lỗi phổ biến như đánh vần tên, ghi lại ai đã thay đổi, khi nào và giá trị cũ là gì.

Ai nên được phép xem và xuất lịch sử khách?

Bắt đầu với vai trò đơn giản: visitor, host, receptionist, security và admin. Giữ quyền xuất dữ liệu chặt; mặc định hợp lý là receptionist vận hành luồng hôm nay, security thấy ai đang onsite ngay bây giờ, và chỉ admin mới có quyền xuất toàn bộ lịch sử.

Tôi nên mô hình hóa các câu hỏi an toàn thế nào để lịch sử không bị hỏng?

Lưu câu hỏi như mẫu và lưu câu trả lời theo từng visit, bao gồm cả văn bản chính xác được hiển thị hoặc phiên bản mẫu. Bằng cách đó, nếu bạn thay đổi câu hỏi sau này, các visit cũ vẫn hiển thị những gì khách đã thực sự thấy và trả lời.

Làm sao để tránh spam host mà vẫn đảm bảo cảnh báo được chuyển?

Theo dõi thông báo như các bản ghi riêng với trạng thái như sent, delivered hoặc failed, kèm chi tiết retry. Dùng quy tắc dedupe như một alert cho mỗi host theo trigger theo visit trong một cửa sổ ngắn, và có fallback rõ ràng khi giao hàng thất bại (ví dụ lời nhắc receptionist gọi host).

Cách đơn giản nhất để tạo danh sách onsite khẩn cấp tin cậy là gì?

Một emergency log nên đóng băng một snapshot theo thời gian của những người đang onsite, ngay cả khi ai đó quên checkout sau đó. Tạo một event khẩn cấp cho site, sao chép tất cả các visit đang hoạt động vào thời điểm đó, và ghi nhận các xác nhận và thay đổi như các hành động có timestamp mới thay vì sửa giá trị cũ.

Xử lý thế nào với khách quên checkout?

Dùng quy tắc kết thúc ngày theo site để đánh dấu các visit vẫn đang hoạt động là auto checked-out và ghi lý do. Giữ nguyên thời gian check-in ban đầu, và làm cho hành động auto-checkout hiển thị trong nhật ký để không hiểu nhầm là người đó rời đi sớm hơn thực tế.

Những gì nên có trong phiên bản phát hành đầu tiên của ứng dụng check-in?

Bắt đầu với một site, một kiosk và một dashboard receptionist. Bao gồm in thẻ QR và in lại, cảnh báo host cơ bản với theo dõi giao hàng, một bộ câu hỏi an toàn nhỏ với một quy tắc kiểm duyệt, và xuất CSV/XLSX rõ ràng theo khoảng ngày — rồi mở rộng khi nhật ký và cảnh báo ổn định trong những ngày bận rộn.

Dễ dàng bắt đầu
Tạo thứ gì đó tuyệt vời

Thử nghiệm với AppMaster với gói miễn phí.
Khi bạn sẵn sàng, bạn có thể chọn đăng ký phù hợp.

Bắt đầu
Ứng dụng đăng ký khách với thẻ QR: mô hình dữ liệu và quy trình | AppMaster