跳到主要内容

客户、联系人、站点与服务

我们有一个简单的客户模型,在这个客户下,可以有多个联系人和多个站点服务等。

客户是与我们有关系的公司或个人,我们向其发送发票/账单。

联系人是与客户合作的人,对于个人来说,可能与客户本人是同一个人,但我们可能有家庭成员或其他联系人,每个联系人都有一个类型,例如账单联系人、技术联系人等,这会影响我们如何处理该联系人。

站点是我们提供服务的物理位置,可以是家庭、办公室或其他地点。这使我们能够为单个客户拥有多个站点,例如,一个拥有多个办公室的客户,并知道哪些服务与哪个站点相关联。

服务是我们向客户收费的内容,可以是家庭互联网服务、移动服务,甚至是抽象服务,如租赁子网或向机架提供计量电力。每项服务都与一个客户和一个站点相关联,并可以有多个相关费用。

客户还拥有一个活动日志,这是所有更改的记录, 标签属性用于存储自定义元数据, 库存项目和财务信息,如 交易发票支付方式

一旦我们创建了一个客户,我们就可以为该客户添加服务,这是我们向他们收费的内容。

有关创建客户的信息,请参见 创建客户

OmniCharge - 关系模型

客户列表

客户列表提供了一个可搜索、可过滤的所有客户的表格。

客户列表视图{.align-center width="800px"}

功能:

  • 搜索 - 按名称或ID过滤客户
  • 批量操作 - 选择多个客户进行批量操作
  • 分页 - 浏览大型客户列表
  • 快速操作 - 直接从列表中查看或删除客户

客户 - 详细信息

客户对象本身不包含太多信息,它只是一个名称和对联系人和站点的引用。

您的特定部署可能包括额外的字段或自定义,但基本的客户对象非常简单。

在概述页面上还有一个图表,显示客户的每用户平均收入(ARPU),这是总收入除以服务数量,并与系统中所有客户的平均ARPU进行比较。

客户状态选项根据您业务的具体需求量身定制,但通常包括活动、非活动、待处理等选项,每个选项都有不同的规则,控制客户在该状态下在系统中的行为。

只有在客户没有活动服务、未支付发票或未开票交易的情况下,才能删除客户。如果客户有这些,您需要关闭活动服务并确保付款完成,然后才能删除客户,这将归档客户及所有相关数据,日后如有需要可以恢复。

客户 - 详细信息

站点 - 详细信息

站点是提供服务的物理位置,可以与多个服务相关联。

它们主要用于商业客户,其中单个客户可能有多个站点,例如,一个拥有多个办公室的客户。

拥有多个站点使我们能够跟踪哪些服务与哪个站点相关联,例如,如果客户为新办公室订购新服务,我们需要确保将正确的服务交付到正确的位置。这使我们能够按站点跟踪服务,并在需要时单独计费。

Google Maps 集成与地理编码

每个站点都与Google Maps集成,以确保准确的地址数据和地理位置。用户界面会自动对地址进行地理编码��生成位置信息。

地址地理编码工作原理:

在添加或编辑站点时,界面提供两种设置位置的方法:

  1. 地址搜索(推荐)
    • 使用表单顶部的搜索栏
    • 输入地址,Google Maps 自动完成建议匹配
    • 从下拉列表中选择正确的地址
    • 系统会自动填充:
      • 站点名称 - 来自 Google Maps 的地点名称
      • 地址行 1 - 街道号码和名称
      • 地址行 2 - 子地址(单元/套房号码)
      • 城市 - 地区
      • 州/地区 - 行政区域
      • 邮政编码 - 邮政编码
      • 国家 - 国家名称
      • 纬度和经度 - 精确坐标
      • Plus Code - 11 字符的开放位置代码(例如,8C3MFJV8+2F
      • Google Maps 地点 ID - 唯一地点标识符
  2. 可拖动地图标记(手动)
    • 将图钉拖动到确切位置
    • 系统执行反向地理编码以从坐标获取地址
    • 根据图钉位置自动填充相同字段
    • 对于乡村地区或地址不准确时很有用

Plus Code 生成:

Plus Codes 是使用开放位置代码库从纬度/经度自动生成的。Plus Code 是一个短代码(11 个字符),表示世界上任何地方的精确位置。

示例:

自动填充字段:✓ 站点名称:"123 Main Street" ✓ 地址行 1:"123 Main Street" ✓ 城市:"London" ✓ 州:"Greater London" ✓ 国家:"United Kingdom" ✓ 邮政编码:"SW1A 1AA" ✓ 纬度:51.5074 ✓ 经度:-0.1278 ✓ Plus Code:"9C3XGPHC+3Q" ✓ Google 地点 ID:"ChIJdd4hrwug2EcRmSrV3Vo6llI"

验证要求:

在保存站点之前,系统会验证:

  • 纬度和经度必须设置(通过搜索或拖动标记)
  • 国家必须填充(如果未设置,默认为REACT_APP_DEFAULT_COUNTRY
  • Plus Code必须为 12 个字符(11 + 1 用于填充)

如果验证失败,您将看到错误:

视觉反馈:

界面显示实时反馈:

位置数据的使用

地理编码的位置信息(纬度、经度、Plus Code)在 OmniCRM 中用于:

1. 服务交付和安装

  • 现场技术人员 - 访问 Plus Code 导航到确切的站点位置
  • 安装调度 - 根据地理位置分配技术人员
  • 设备部署 - 确保正确的设备交付到正确的站点

2. 故障通知

  • 地理围栏警报 - 如果特定区域网络故障,按纬度/经度半径查询站点
  • 定向通信 - 仅向受影响的客户发送故障通知,通过 Mailjet
  • 状态页面 - 显示受影响站点的故障地图

示例:

查询:SELECT * FROM Customer_Site

: WHERE distance(latitude, longitude, 51.5074, -0.1278) < 5

结果:47 个受影响的站点 操作:向 47 个客户发送故障通知

3. 报告和分析

  • 地理收入 - 按城市、州、地区的收入
  • 服务密度图 - 服务位置的热图
  • 扩展规划 - 确定服务不足的区域

4. 多站点商业客户

  • 站点管理 - 跟踪哪些服务在何处
  • 单独计费 - 如有需要按站点开具发票
  • 服务分配 - 在配置期间将服务链接到特定站点

乡村和偏远站点

对于位于乡村地区的客户,街道地址可能不存在或不准确:

  1. 使用地图拖动
    • 放大到大致区域
    • 将图钉拖动到确切的物业/建筑
    • 系统为该精确位置生成 Plus Code
  2. Plus Code 共享
    • 与客户共享 Plus Code(例如,8C3MFJV8+2F
    • 客户可以在 Google Maps 中输入此代码以查看确切位置
    • 现场技术人员使用 Plus Code 导航
  3. 地址备注
    • 使用“地址备注”字段提供额外方向
    • 示例:“在红色谷仓左转,过牛栏 500 米”
    • 备注对安装团队可见

::: tip ::: title 提示 :::

如果地址不准确,您可以将图钉拖动到正确的位置。系统将反向地理编码该位置并自动填充所有地址字段。 :::

站点 - 详细视图

联系人 - 详细信息

联系人是与客户相关的人。他们可以是账单联系人、技术联系人或其他类型,每个联系人都有一个类型,影响我们如何处理该联系人。

客户联系人列表

我们可以为单个客户拥有多个联系人,例如,一个拥有多个账单联系人的客户,或一个拥有多个技术联系人的客户。

一个好的例子是一个拥有托管服务提供商的公司,负责技术方面的事务,和一个单独的账单联系人,负责财务方面的事务,或者一个家庭,每个成员都有自己的联系人,但并非所有人都被授权进行更改。

同样,我们可能只想将故障通知发送给技术联系人,或仅将发票发送给账单联系人,联系人类型使我们能够控制这一点。

联系人类型的具体逻辑取决于您的业务,但基本思路是每个联系人都有一个类型,影响我们如何处理他们,并且与客户相关的每个人都是一个联系人。

联系人与 Mailjet 集成同步,使我们能够根据联系人类型、位置、每月支出或购买的服务发送定向电子邮件活动,并管理所有用于事务通信的电子邮件模板。

联系人 - 概述

联系人 - 编辑表单

联系人 - 详细信息