Generate Appointment


Introduction


Generate Appointment là tính năng dạng command (có thể chạy tự động bằng câu lênh url hoặc chạy ngầm từ server)

Tính năng này đọc các mẩu tin Visitor Booking tìm ra danh sách các booking chưa có cuộc hẹn và tiến hành sắp xếp các cuộc hẹn cho mỗi booking.

Khi chạy tính năng pbs.BO.CRM.WaitingList, user có thể lựa chọn các booking rồi bấm nút Create Appointment, chương trình sẽ chạy lệnh này cho các booking được chọn.

Thuật toán sắp xếp các cuộc hẹn


Chương trình tự động sắp xếp nhờ vào những thành phần sau :

image0

  1. Danh mục các vị trí có thể bố trí cuộc hẹn. pbs.BO.CRM.Location

  2. Danh mục tài nguyên dùng cho cuộc hẹn (con người hoặc máy móc) pbs.BO.CRM.Resource

  3. Bảng thời gian biểu của các vị trí cũng như tài nguyên. pbs.BO.CRM.TIMETBL

Các bước xác định thời gian cho cuộc hẹn:


  1. Xem trong nội dung booking xem khách muốn đặt hẹn vào những ngày nào trong tuần (days of week) . Để trống là đặt ngày nào cũng ok.

  2. Xác định ngày bắt đầu cuộc hẹn dựa vào ngày preferred date. Nếu preferred đate để trống thì lấy ngày đăng ký (Reg date). Tuy nhiên ngày bắt đầu không thể xảy ra trước ngày hiện tại nên nếu nó nhỏ hơn ngày hiện tại , chương trình sẽ xắp xếp lịch từ ngày hiện tại trở đi.

  3. Chương trình bắt đầu tìm kiếm các slot còn trống từ ngày bắt đầu trở đi, nếu tìm không thấy trong ngày T, chương trình sẽ tìm tiếp trong ngày T+1 để tìm slot phù hợp, cứ như vậy cho đến khi tìm ra hoặc đến khi đã tìm quá 30 ngày mà vẫn không thấy slot nào còn trống.

  4. Để tìm kiếm slot còn trống, chương trình liệt kê toàn bộ các location mà booking yêu cầu . Ví dụ phụ huynh học sinh muốn họp ở cơ sở 3/2 thì chương trình sẽ loại các cơ sở khác ra khỏi phạm vi tìm kiếm. Nếu booking không nêu rõ location nào, chương trình sẽ tìm ở tất cả các location.

  5. Đối với mỗi location, chương trình sẽ xem các khoảng thời gian còn trống phù hợp với thời gian cuộc họp. Thời gian cuộc họp xác định từ Estimated Visit Time của booking

  6. Khi tìm ra 1 slot còn trống của phòng họp, chương trình sẽ xác định tiếp trong slot đó thời gian biểu của nhân sự tiếp khách ( Resource ) có phù hợp không. Nếu chọn được nhân sự còn rảnh vào khoảng thời gian đó. Chương trình sẽ tạo appointment dựa vào :

    1. Location (vị trí)

    2. Resource (Nhân sự)

    3. Thời gian bắt đầu (thời gian sớm nhất có thể trong slot phù hợp) và bản thân mẩu tin booking.

  7. Nếu không tìm thấy slot phù hợp hoặc có vị trí mà không có nhân sự , thì chương trình sẽ tìm kiếm tiếp trong ngày hôm sau, cứ thế cho tới khi tìm ra hoặc tiến tới giới hạn T+30

Khi mấu tin appointment được lưu lại, chương trình sẽ cập nhật trạng thái của booking liên quan thành appointment, đồng thời set Line No của appointment vào mẩu tin booking.

Usage


Cú pháp :

pbs.BO.CRM.GenerateAppointment?...filters for extracting the booking ....

$background : ghi vào CSDL các cuộc hẹn được tạo ra mà không cần hỏi lại user

Module


… CRM


Updated on : 2020-03-12 17:33:57. by : tung@spc-technology.com at T470-01.

Topic : Generate Appointment (CRM). pbs.bo.crm.generateappointment