HandOver Status query

Giới thiệu


Chức năng này dùng để khởi tạo các biên bản bàn giao và theo dõi tình trạng bàn giao của toàn bộ BĐS trong hệ thống.

Biên bản bàn giao là mẩu tin chứa các thông tin:

Xem thêm chức năng Mẫu biên bản bàn giao để biết thêm về cách thiết lập danh mục bàn giao cho 1 BĐS hoặc 1 nhóm BĐS.

89da3762-7096-4ca4-95dc-72b92ca92847.pbs_bo_re_handoverstatus_md

Ý nghĩa các cột:


Cột Ý nghĩa
Appointment Status - Có cuộc hẹn :Appointment.

- Hủy cuộc hẹn :Cancel.

- Xác nhận cuộc hẹn :Confirmed.

- Cuộc hẹn đã thực hiện:Done
Units Thông tin BĐS và profile tạo CheckList
Date Ngày theo kế hoạch bàn giao, Ngày, thời gian hẹn và ngày bàn giao xong (lấy ở ngày Actual Date trong checklist).
HandOver Số biên bản bàn giao, số hiệu cuộc hẹn
People Các bên liên quan trong quá trình bàn giao
Person In Charge Nếu đã có appoinment, lấy ở EmplCode của Appointment. Bằng không lấy từ trường Person In Charge của biên bản bàn giao.

Khi chạy chức năng, chương trình sẽ liệt kê toàn bộ các BĐS cần theo dõi. Ta có thể thêm các tham số để giới hạn danh mục BĐS cần theo dõi.

Tham số


Khi chạy tính năng ta dùng các tham số tương ứng với Mấu tin BĐS. Chương trình sẽ lọc các mẩu tin và biên bản bàn giao của nó nếu có.

Update 4.7.6.831

Chương trình thực hiện ban quyền truy cập đối với nhân viên thông qua mã thao tác viên Operator Definition và mà nhóm thao tác viên Operator Group

Quy tắc ban quyền được quy định ở tính năng Real Estate Settings

Handover Status - Tình trạng bàn giao


3bb6e989-672e-4657-89b3-3d6e5e8dbd45.pbs_bo_re_handoverstatus_md

Tình trạng bàn giao được thể hiện ở cột Status, ngoài ra ta còn có thể theo dõi status của appointment và tình trạng thanh toán.

Các bước xử lý bàn giao


Bàn giao nội bộ

SVG_32#ItemTypeChecked Bước 1. Generate HandOvers - Tạo biên bản bàn giao

Chỉ các mẩu tin đã có mã HandOverProfile mới cóa thể tạo handover record. HandOver Profile xác định dựa vào mẩu tin Property Definition (RE) hoặc/và Property Type (RE)

Ta cần chọn các BĐS và dùng lệnh này để khởi tạo biên bản bàn giao nếu nó chưa tồn tại. Chương trình sẽ hỏi ngày muốn bàn giao. Ngày này sẽ được dùng làm cơ sở để lên lịch hẹn tự động.

Sau khi tạo thành công danh mục HandOver Status sẽ được cập nhật với thông tin của các biên bản mới thêm vào.

💡 Ghi chú

Biên bản bàn giao mới tạo sẽ có mã trạng thái R1

SVG_32#GroupByDate Bước 2: Assign Internal HO

Nút lệnh Assign Internal Handover lên lịch bàn giao nội bộ bằng cách tạo 1 cuộc hẹn với nhân viên phụ trách bàn giao và cập nhật trạng thái Unit từ R1 sang S1.

💡 Ghi chú

Biên bản bàn giao đã lên lịch bàn giao nội bộ sẽ có mã trạng thái S1

SVG_32#BO_Audit_ChangeHistory Bước 2.1 Cancel Internal HO

Nếu nhân viên đột xuất không sắp xếp được bàn giao nội bộ. Ta dùng lệnh này để hủy cuộc hẹn bàn giao nội bộ và chuyển trạng thái của Handover từ S1R1.

SVG_32#DataValidation Bước 3: Finalize Internal HO

Kết thúc việc bàn giao nội bộ, nếu tất cả các mục đều đạt, Handover sẽ chuyển sang trạng thái R2 : Sẵn sàng bàn giao cho khách hàng.

Nếu có 1 mục không đạt, Handover sẽ chuyển sang trạng thái D1 : có defect cần sửa chữa.

Khi nhà thầu hoàn tất sửa chữa. Người phụ trách sẽ kiểm tra lần nữa và chuyển trạng thái D1 về lại R1 để thực hiện bàn giao nội bộ lại từ đầu.

Bàn giao với khách hàng

SVG_32#Meeting Bước 4: Generate Appointments - Đặt lịch hẹn

Khi trạng thái Handover là R2: sẵn sàng bàn giao cho khách hàng. Người phụ trách sẽ dùng chức năng này để tạo cuộc hẹn với khách hàng và chuyển trạng thái thành S2. Ngoài ra khách hàng cũng có thể dùng web app để tạo cuộc hẹn này.

HandOverStatus luôn thể hiện cuộc hẹn mới nhất liên quan đến bàn giao, vì cuộc hẹn mới nhất luôn thay thế cho những cuộc hẹn cũ bị hủy hoặc hoàn tất mà chưa bàn giao xong.

Ngày xếp lịch hẹn. Chương trình sẽ hiện danh mục các slot trong vòng 30 ngày kể từ ngày hiện tại để khách hàng chọn 1 trong các slot.

Ứng với mỗi slot, ta biết số nhân viên bàn giao được phân công và sẵn sàng tại ngày/giờ mà khách chọn.

Nhân viên phân bổ các cuộc hẹn có thể chọn nhiều handover để đặt hẹn vào 1 slot, nhưng số handover không được vượt quá số lượng nhân viên sẵn sàng tại slot đang chọn. Các handover vượt quá số lượng này sẽ bị bỏ qua.

Danh sách nhân viên bàn giao sẽ được assign vào cuộc hẹn lần lượt theo thứ tự. Chú ý là cuộc hẹn sẽ không để mã nhân viên trống vì điều này không hợp lý, dễ sai sót và không thuận tiện cho các bước sau.

Nếu cần thay đổi mã nhân viên theo yêu cầu, user có thể dùng lệnh drilldown có sẵn để thay đổi.

b8f26faf-9662-4eea-8cff-d992ddd0a6b9.pbs_bo_re_handoverstatus_md

✔️ Ví dụ

Slot 10:00->11:00 ngày 23-04-2023 có 5 nhân viên còn ở trạng thái sẵn sàng. Nếu user chọn 6 handovers, handover thứ 6 sẽ không được tạo lịch hẹn.

Duration hay thời gian bàn giao ước tính được quy định ở tính năng HandOver Profile. Nếu không quy định, thời gian bàn giao ngầm định là 60 phút.

Kết quả sẽ được người sử dụng xem xét và thay dổi thời gian hẹn nếu cần thiết rồi lưu vào hệ thống. Để hiểu thêm về quy tắc xếp lịch cuộc hẹn, xem thêm chức năng Resource Time Table của module CRM.

Thuật toán xếp lịch được dùng chung với cụm tính năng Visitor Booking của module CRM

Khi có 1 cuộc hẹn chưa hoàn tất. Ta không thể tạo cuộc hẹn mới. Để tạo cuộc hẹn khác. Ta có thể hủy cuộc hẹn cũ bằng lệnh SVG_16#HandTool Decline HO

Gửi thông báo cuộc hẹn

Khi lưu cuộc hẹn vào CSDL. Chương trình sẽ tự động gửi notification đến user nếu thỏa 2 điều kiện:

Template mail gửi đi được định nghĩa ở tính năng Formated Text với mã APTM_NOTICE

Nếu template không được định nghĩa. Template ngầm định bên dưới sẽ được sử dụng

Dear **<%= Ret.Email %>**,  
  
We have just created an appointment with You at **<%= Ret.FromTime %>**
    **Date :** <%= Ret.ApDate %>. 
    **Location :** <%= Ret.PropertyId %>
    **Notes:** <%= Ret.Description %>
                                             
We are looking forward to seeing you soon. Thank you for your business.
SVG_32#ThankYouNote

Bước 5.1 Khách hàng xác nhận hẹn bàn giao

Nút lệnh này được dùng bởi admin trong trường hợp người phụ trách nhận được xác nhận của khách hàng.

Nếu vì lý do nào đó, mã nhân viên phụ trách còn để trống, chương trình sẽ yêu cầu Assign nhân viên bàn giao trước khi bấm nút xác nhận.

SVG_32#HandTool

Bước 5.2 Hủy cuộc hẹn

Nút lệnh này được dùng bởi admin trong trường hợp người phụ trách nhận được thông tin hủy hẹn bàn giao từ khách hàng.

SVG_32#Actions_Flag

Bước 6 - Kết thúc bàn giao

Nút lệnh này được sử dụng để kết thúc buổi bàn giao với khách hàng. Nếu có phát hiện lỗi trong buổi bàn giao. Status bàn giao sẽ chuyển thành D2. Ngược lại bàn giao hoàn tất và có trạng thái CL = Complete

Ứng dụng di động


Tính năng HandOverStatus phiên bản di động có mục đích khác với phiên bản Desktop. Mobile dùng để xử lý các cuộc hẹn, xử lý các handover ĐÃ LÊN LỊCH. Còn phiên bản Destop dùng để tạo Handover, lên lịch cuộc hẹn cho tất cả các unit. Nên câu hỏi tại sao phiên bản di động trích xuất dữ liệu khác với phiên bản desktop là vô nghĩa. Câu hỏi cũng chính là câu trả lời.

Danh mục handoverstatus cho nhân viên


Lệnh HandoverStatus cho nhân viên có tiêu chí trích xuất như sau :

  1. Chỉ lấy các property đã có người mua. Trường PRO.Purchaser không để trống.

  2. Chỉ lấy các Property đã có cuộc hẹn không bị cancel. A.K.A tồn tại ít nhất 1 mẩu tin Appointment Có LOCATION_ID = mã Property, và mẩu tin này có Status <> Cancel

  3. Giới hạn ngày trích xuất. Nếu muốn thể hiện các handover nằm trong đoạn thời gian cho trước, set giá trị filter ngày vào trường RE.Settings.DefaultHandOverDatesCriteria. Ví dụ :

    • <ALL> lấy toàn bộ - tương đương với để trống

    • +nn : Chỉ lấy từ ngày hiện tại đến ngày hiện tại + nn ngày.

    • 1..LM : lấy từ ngày 1..ngày cuối tháng hiện tại

    • T..+7 tương đương +7 : lấy trong vòng 1 tuần kể từ ngày hiện tại.

  4. Sau khi có danh sách Property từ những bước trên. Chương trình sẽ thực hiện phân quyền dữ liệu như sau :

    • User nhóm Admin có thể thấy toàn bộ danh sách trên. Admin được khai báo ở ô RE.Settings.HandOverAdmin

    • Staff User chỉ có thể thấy các Handover có mã PersonInCharge trùng với mã nhân viên của mình.

    • Để có phân quyền phức tạp hơn. Ta cần khai báo công thức phân quyền tại ô RE.Settings.HandoverAccessCriteria. Nếu ô này có giá trị -. Nhân viên nào cũng thấy tất cả các property. Ngoài ra nếu nhập công thức vào ô này, kết quả công thức True/False hoặc 'Y'/'N' sẽ quyết định user có quyền truy cập vào handover hay không.

Sau khi trích xuất nếu user chỉ thấy 1 phần của danh sách, chương trình sẽ thông báo:

Employee E0001 can access x/y units

Danh mục handoverstatus cho khách hàng


Khi chạy tính năng này trên ứng dụng di động. Chương trình ngầm định sẽ chỉ trích xuất ra các unit liên quan tới tài khoản khách hàng đang đăng nhập.

Các xác định các unit này như sau :

  1. Chương trình căn cứ vào subscribed users id để xác định mẩu tin Customer. Customer có email = SubscriberId sẽ là mẩu tin khách hàng của user đăng nhập.

  2. Từ mẩu tin khách hàng, chương trình sẽ căn cứ vào trường dữ liệu Purchaser của mẩu tin Property Definition (RE) để xác định Unit nào thuộc về Customer nào.

Khi cập nhật hợp đồng cho Unit ta phải chú ý cập nhật cả trường purchaser tương ứng.

Consultant có thể gọi tính năng này cùng tham số Purchaser = ABCD để liệt kê các unit của khác hàng ABCD. khi cung cấp tham số này, chương trình sẽ bỏ qua không quan tâm tới subscriberid nữa.

⚠️ Caption cho các unit v 4.7.6.945

Các unit có thể có nhiều cách thể hiện Caption theo mã của nhà nước và theo mã của công ty.

Tên unit (Caption) có thể được customize theo yêu cầu dựa vào thiết lập tại ô HandoverUnitCaption của chức năng Real Estate Settings

Giá trị ô này có thể là 1 field của mẩu tin Property Definition (RE) hoặc là công thức tính toán nếu bắt đầu bằng dấu =

⚠️ Management Fee. v 4.7.7.534

Ticket#13980

Cột management fee được thêm vào nhóm Unit Info. Nội dung của cột này sẽ được lấy từ nguồn dữ liệu dược định nghĩa ở trường Management Fee Url của chức năng Real Estate Settings

Url này phải trả về bảng dữ liệu có ít nhất 2 cột chứa unit id và fee amount.

Cột chứa Unit Id phải có tên UnitId, UNIT_ID, PropertyId, PROPERTY_ID, nếu không có cột nào như vậy, cột đầu tiên của bảng dữ liệu sẽ được chọn.

Cột chứa Fee Amount phải có tên Fee , FEE , FeeAmount, FEE_AMOUNT nếu không có cột nào như vậy, cột thứ 2 của bảng dữ liệu sẽ được chọn.

Dữ liệu này sẽ được sử dụng để điền giá trị vào cột Management Fee

Xem thêm



Updated on : 2023-05-24 13:22:18. by : . at X1-EXTREME.

Topic : Handover Status (RE). pbs.bo.re.handoverstatus