Bỏ qua nội dung

Contacts - xem danh sách và chi tiết contact

Feature URL
Module
contacts
Status
draft
Priority
P1
Platforms
fe · be
AC progress
0 / 6
Last reviewed
2026-05-29

Mục tiêu

Cho phép broker xem, tìm kiếm và mở chi tiết các contact thuộc phạm vi CRM của mình. Feature này giúp broker nhanh chóng tra cứu người liên hệ và các listing liên quan.

Phạm vi

Trong phạm vi (In scope):

  • Xem danh sách contact theo phạm vi được phép.
  • Tìm kiếm contact theo tên, số điện thoại hoặc thông tin nhận diện chính.
  • Xem chi tiết một contact.
  • Hiển thị các listing đang gắn với contact nếu có dữ liệu liên quan.
  • Phân biệt contact thủ công và contact đến từ crawl khi thông tin nguồn có sẵn.

Ngoài phạm vi (Out of scope):

  • Tạo, cập nhật hoặc xoá contact.
  • Pipeline chăm sóc khách hàng, reminder hoặc lịch sử tương tác nâng cao.
  • Phân quyền chi tiết giữa nhiều broker trong cùng tổ chức.

User Stories

  • broker, tôi muốn xem danh sách contact của mình, để quản lý nguồn liên hệ trong CRM.
  • broker, tôi muốn tìm contact theo tên hoặc số điện thoại, để truy cập nhanh đúng người cần xử lý.
  • broker, tôi muốn mở chi tiết contact, để xem thông tin liên hệ và các listing liên quan.

Luồng chức năng

sequenceDiagram
    actor Broker
    participant App
    participant BE
    participant Contacts
    participant Listings

    Broker->>App: Mở danh sách contacts
    App->>BE: Yêu cầu danh sách theo filter
    BE->>Contacts: Lấy contacts trong phạm vi cho phép
    Contacts-->>BE: Danh sách contacts
    BE-->>App: Hiển thị danh sách
    Broker->>App: Mở chi tiết contact
    App->>BE: Yêu cầu chi tiết contact
    BE->>Listings: Lấy listings liên quan nếu có
    BE-->>App: Hiển thị chi tiết contact

Acceptance Criteria

  • AC-1: Broker chỉ nhìn thấy contact thuộc phạm vi được phép.
  • AC-2: Danh sách contact hiển thị các thông tin nhận diện chính để phân biệt nhanh.
  • AC-3: Broker có thể tìm kiếm contact theo tên hoặc số điện thoại nếu dữ liệu tồn tại.
  • AC-4: Broker có thể mở trang chi tiết contact từ danh sách.
  • AC-5: Chi tiết contact hiển thị được các listing liên quan khi contact đang được gắn với listings.
  • AC-6: Trường hợp không có contact phải hiển thị trạng thái rỗng rõ ràng.

Quy tắc nghiệp vụ

  • Danh sách contact phải tôn trọng phạm vi owner/broker hoặc rule visibility của hệ thống.
  • Số điện thoại hiển thị lấy qua phone_registries khi contact có phone_registry_id.
  • Contact bị xoá/lưu trữ không xuất hiện trong danh sách mặc định nếu hệ thống có trạng thái archive.
  • Contact từ crawl có thể hiển thị nguồn tạo để broker phân biệt với dữ liệu nhập thủ công.

Dữ liệu & Trạng thái

Entity nghiệp vụ:

  • Contact: bản ghi contact được liệt kê và xem chi tiết.
  • Listing: listing liên quan đến contact thông qua contact_id.

Trạng thái user-facing:

  • empty - chưa có contact nào trong phạm vi xem.
  • has_results - có contact khớp danh sách hoặc tìm kiếm.
  • not_found - contact không tồn tại hoặc broker không có quyền xem.

Liên quan