Demo hàng đợi hỗ trợ với đồng hồ SLA

Một hàng đợi hỗ trợ mà chính những chiếc đồng hồ mới là sản phẩm. Hạn chót được suy ra từ các mốc thời gian đã lưu chứ không phải từ một bộ đếm không ai chạy, nên đóng máy nửa tiếng rồi quay lại vẫn cho ra đúng thời gian quá hạn và đúng lịch sử leo thang.

Mở bản demo

Mở helpdesk.taiphamsolutions.com trong tab mới. Không cần tài khoản, không cần đăng ký, và mọi thao tác của bạn đều không rời khỏi trình duyệt. Ứng dụng demo chỉ có bản tiếng Anh.

Bản demo này làm gì

Hàng đợi lọc theo mức ưu tiên, trạng thái, người được giao và trạng thái SLA, và một phiếu mở ra thành cuộc hội thoại nằm cạnh bảng SLA của nó. Phản hồi của nhân viên là công khai và hoàn thành phản hồi đầu tiên; ghi chú nội bộ chỉ hiện trong giao diện quản trị và không tính là phản hồi. Các mẫu trả lời soạn sẵn là những mẫu song ngữ, chèn vào rồi vẫn sửa được trước khi gửi.

Việc xử lý là một chu kỳ chứ không phải một trạng thái. Gửi và chờ người dùng sẽ tạm dừng nó, người yêu cầu trả lời sẽ chạy tiếp, và gửi và đóng phiếu sẽ kết thúc nó. Mở lại một phiếu vẫn giữ các kết quả trước đó và bắt đầu một chu kỳ mới, nên một phiếu được mở lại không âm thầm xóa đi mức SLA nó đã từng đạt.

Cơ sở dữ liệu lưu các mốc bắt đầu chu kỳ, thời lượng ngân sách, tổng thời gian đã tạm dừng, thời điểm hoàn thành và cấp độ leo thang, còn đồng hồ đếm ngược trên màn hình được suy ra từ những thứ đó cộng với đồng hồ thiết bị. Một tín hiệu dùng chung vẽ lại phần chữ nhìn thấy được mỗi giây, và một nhịp thông thường thì không đọc cũng không ghi gì cả. Hạn chót được đối chiếu lại lúc khởi động, khi cửa sổ được chọn, khi tab hiện lại và sau mọi hành động liên quan, và một lần leo thang bị bỏ lỡ sẽ ghi lại cả thời điểm ngưỡng bị vượt qua lẫn thời điểm nó được xử lý.

Trong phần Thiết lập, tạo một phiếu có hẹn giờ. Hạn phản hồi đầu tiên của nó cách hai phút. Đóng tab lại, quay lại sau khoảng đó, rồi kiểm tra cả thời gian quá hạn lẫn lịch sử leo thang.

Tính năng

Một hàng đợi có sẵn dữ liệu bằng tiếng Anh và tiếng Việt, với hồ sơ Người dùng và Quản trị chuyển đổi được từ thanh bên.

Hàng đợi và hội thoại

Bộ lọc theo mức ưu tiên, trạng thái, người được giao và trạng thái SLA, với cuộc hội thoại và bảng SLA trên cùng một màn hình thay vì hai.

Phản hồi và ghi chú

Phản hồi công khai của nhân viên hoàn thành phản hồi đầu tiên, ghi chú nội bộ ở lại trong giao diện quản trị, và các mẫu song ngữ soạn sẵn có thể chèn vào rồi sửa trước khi gửi.

Tạm dừng, xử lý xong, mở lại

Chờ người yêu cầu sẽ tạm dừng đồng hồ xử lý và câu trả lời của họ sẽ chạy tiếp. Mở lại phiếu bắt đầu một chu kỳ mới và giữ nguyên kết quả của chu kỳ trước.

Quản trị

Chính sách SLA và mẫu song ngữ sửa được, tạo hồ sơ, một bản xem trước có kiểm tra khi nhập từ sao lưu, và một nút đặt lại bản demo.

Quy trình khép kín, từ đầu đến cuối

Mọi bước dưới đây đều diễn ra bên trong bản demo. Không có điểm nào mà công việc rời khỏi trình duyệt rồi quay lại.

  1. Một yêu cầu đến

    Được gửi từ giao diện Người dùng, kèm một mức ưu tiên quyết định chính sách SLA nào áp dụng cho nó.

  2. Nó vào hàng đợi

    Được lọc theo mức ưu tiên, trạng thái, người được giao hoặc trạng thái SLA, với đồng hồ đếm ngược phản hồi đầu tiên đã chạy sẵn.

  3. Phản hồi đầu tiên

    Một phản hồi công khai của nhân viên hoàn thành nó. Một ghi chú nội bộ thì không, và đó là điểm phân biệt mà phần lớn hàng đợi làm sai.

  4. Đang chờ người yêu cầu

    Gửi và chờ sẽ tạm dừng đồng hồ xử lý. Thời gian dừng được cộng dồn vào phiếu, và câu trả lời của người yêu cầu sẽ chạy tiếp.

  5. Ngưỡng bị vượt qua

    Việc leo thang được ghi lại đúng một lần, kèm cả thời điểm ngưỡng bị vượt qua lẫn thời điểm ứng dụng kịp xử lý nó, kể cả khi mọi tab đều đã đóng ở giữa.

  6. Đã xử lý xong, và mở lại nếu quay lại

    Gửi và đóng phiếu sẽ khép chu kỳ. Mở lại sẽ bắt đầu một chu kỳ mới và giữ nguyên các kết quả trước đó.

Cái gì là thật, cái gì thì không

Không có máy chủ nào phía sau, và chính điều đó quyết định cả hai cột. Cột trái là những phần mà ràng buộc ấy khiến chúng đáng được làm cho tử tế. Cột phải là những phần nó loại trừ.

Được xử lý thật

  • Một cú nhảy đồng hồ 35 phút với mọi tab đã đóng, cho ra một hạn chót và cả hai cấp leo thang, mỗi cấp ghi đúng một lần
  • Một lần tải lại giữa chừng khi đang soạn phản hồi vẫn giữ được phiếu đã lưu và cả bản nháp
  • Hai tab tranh nhau, với giao dịch và mã sự kiện duy nhất ngăn một lần leo thang hay phân công lại bị trùng
  • 1.000 phiếu đã lưu và 50 dòng hiển thị tạo ra 100 lần cập nhật chữ và không lần đọc cơ sở dữ liệu nào trong một mẫu đo 2,2 giây

Cố ý không làm thật

  • Các vai trò chỉ là mô phỏng giao diện, không phải xác thực
  • Không có email nào đến và không có email nào được gửi. Một phiếu được tạo ngay trong ứng dụng
  • Không có thông báo nền. Khi mọi tab đã đóng thì không có mã nào chạy, và việc bắt kịp diễn ra khi ứng dụng chạy lại
  • Đồng hồ thiết bị là nguồn thời gian. Một chiếc đồng hồ bị chỉnh tay thì không thể sửa lại nếu không có một nguồn thời gian bên ngoài

Được xây dựng thế nào

Phần mô tả này thuyết phục hơn cả bản thân ứng dụng, nên nó nằm ngay trên trang thay vì trong một kho mã không ai mở được.

Công nghệ
Preact, Signals, TypeScript và Vite, với IndexedDB là cơ sở dữ liệu ứng dụng duy nhất và các chu kỳ được nhúng ngay trong bản ghi phiếu.
Tính thời gian
Các hàm thuần chạy trên những mốc thời gian đã lưu tính ra mọi hạn chót và mọi lần leo thang. Đồng hồ đếm ngược nhìn thấy được là thứ suy ra, nên không có gì phụ thuộc vào việc một bộ đếm có được để chạy hay không.
Ngân sách
100 KiB gzip cho JavaScript ban đầu và 150 KiB gzip cho tổng JavaScript và CSS, được kiểm bằng một cổng chặn kích thước chứ không bằng hy vọng.
Kiểm thử
27 test nghiệp vụ và trạng thái trên phần tính thời gian, tạm dừng và tiếp tục, các mốc biên, thay đổi mức ưu tiên, xử lý đồng thời, phân quyền, chính sách trong quá khứ, kiểm tra sao lưu và hoàn tác, cộng thêm 9 kịch bản quy trình trên trình duyệt và 7 test hồi quy trên trình duyệt.

Bản demo này là bằng chứng cho dịch vụ nào

Một bản demo tồn tại để chứng minh điều gì đó trong danh sách dịch vụ, chứ không phải để tự nó gây ấn tượng. Đây là những dịch vụ mà bản demo này chứng minh.

Các bản demo khác

Mỗi bản là một loại bài toán khác nhau, và tất cả đều nằm trong menu Bản demo ở đầu trang.

Muốn một bản như thế này nhưng chạy theo quy tắc của bạn?

Bản này được làm dưới một ràng buộc mà không ai tự chọn. Bản của bạn sẽ có máy chủ, tài khoản thật, và cả những phần thực sự khó trong nghiệp vụ. Hãy cho chúng tôi biết phần mềm cần làm được gì, chúng tôi sẽ nói cần những gì để làm ra nó.

Cứ mang tới bài toán còn ngổn ngang. Đó là kiểu trao đổi chúng tôi thích nhất.