清洁 CRM 后端模板
客户网站、清洁时间表、供应库存和检查日志
一个适用于清洁 CRM 后端 的生产就绪版本在 Back4app,包含客户网站记录、清洁时间表分配、供应库存和现场检查日志条目。包括 ER 图、数据字典、JSON 架构、API 游乐场,以及用以快速引导的AI 代理提示。
清洁CRM要点
该模板为您提供了一个清洁CRM后端,包含ClientSite、CleaningSchedule、SupplyInventory和SiteInspectionLog,以便协调员和现场工作人员可以保持相同的工作流程。
- 客户现场控制 — 跟踪每个ClientSite,包括siteName、siteCode、address、clientName、serviceLevel、primaryContact和active。
- 安排分配流程 — 使用CleaningSchedule连接site、assignedTo、serviceDate、startTime、endTime、frequency、status和notes。
- 供应可视性 — 按站点存储SupplyInventory,包括itemName、sku、category、quantityOnHand、reorderLevel、unit和lastRestockedAt。
- 检查日志记录 — 记录现场检查日志条目,包括现场、计划、检查员、检查日期、得分、发现、纠正措施和照片 URL。
- 角色识别操作 — 应用 ACL 和 CLP 规则,以便协调员、技术人员、检查员和客户看到正确的用户、客户站点、清洁时间表和现场检查日志行。
概述: 清洁 CRM
清洁 CRM 的报告应能够回答领导的问题,而无需手动在文件夹和消息线程中查找。解决方案是在操作上,而不是在激励上。通过在 Back4app 上使用客户站点、清洁时间表、供应库存和现场检查日志,清洁 CRM 团队可以在继续协作的同时强制分离职责。该架构涵盖用户、客户站点(站点名称、站点代码、地址、客户名称、服务级别、主要联系人、状态)、清洁时间表(站点、分配给、服务日期、开始时间、结束时间、频率、状态、备注)、供应库存(站点、项目名称、SKU、类别、库存数量、重新订购水平、单位、最后补货时间)以及现场检查日志(站点、计划、检查员、检查日期、得分、发现、纠正措施、照片 URL),并内置了身份验证和操作访问控制。连接您喜欢的前端,并加快交付速度。
最佳适合于:
清洁CRM后端概述
当员工变化时,季节性波动对清洁CRM的影响最大,但数据模型无法随着新的SKU、站点或政策而灵活调整。
如果您正在评估Back4app,ClientSite、CleaningSchedule和SupplyInventory展示了在编写自定义SQL之前您可以获得多少结构。
清洁CRM功能
此中心中的每个技术卡片均使用相同的保洁 CRM 后端架构,包括用户、客户站点、清洁计划、库存和现场检查日志。
用户角色管理
用户存储coordinators、technicians、inspectors和clients的用户名、电子邮件、角色和全名。
客户站点配置文件
ClientSite将每个位置链接到siteName、siteCode、地址、clientName、服务水平、主要联系方式和活动标志。
清洁日程跟踪
CleaningSchedule 存储站点、分配给、服务日期、开始时间、结束时间、频率、状态和备注。
供应库存检查
SupplyInventory 捕获 itemName、sku、类别、在手数量、重新订购水平、单位和 lastRestockedAt。
现场检查日志
SiteInspectionLog 记录站点、日程、检查员、检查日期、分数、发现、纠正措施和 photoUrl。
为什么选择使用 Back4app 来构建您的清洁CRM后台?
Back4app 为您提供站点、日程、库存和检查的基础功能,以便您的团队可以专注于服务交付,而不是后台管理。
- •ClientSite 和 CleaningSchedule 保持一致: 将每个 CleaningSchedule 绑定到 ClientSite,以便团队知道在哪里工作,主管可以在不使用重复电子表格的情况下更新服务频率。
- •SupplyInventory 支持补货检查: 为每个站点存储 SupplyInventory 行,以便员工可以在储藏室干涸之前比较手头数量和再订购水平。
- •实时检查可视性: 在 SiteInspectionLog 上使用 Live Queries,以便现场检查的发现能够快速显示给协调员和面对客户的员工。
通过跨所有平台的一个后台合同快速构建和更新清洁工作流程。
保洁 CRM 的好处
一个保洁 CRM 后端,帮助运营保持准确,而无需增加额外的管理工作。
更快速的路线和班次规划
从完整的客户站点和清洁计划架构开始,而不是从零重建服务日历。
库存检查与货架相匹配
使用库存字段,如在手数量、重新订货水平和单位,以便在下一次地面服务之前可见短缺。
检查跟进
存储现场检查日志的发现、评分、纠正措施和照片网址,以便主管能够解决现场问题。
清除访问边界
应用ACL和CLP规则,使得只有正确的用户角色能够编辑ClientSite、CleaningSchedule或SiteInspectionLog记录。
一个用于现场和办公工具的后端
通过REST和GraphQL公开相同的清洁CRM数据,以供调度、移动团队和办公仪表板使用。
AI辅助引导
快速生成后端框架和集成指导,使用结构化提示。
准备好推出您的清洁CRM了吗?
让Back4app AI代理为您的清洁CRM后端搭建框架,并从一个提示生成ClientSite记录、CleaningSchedule分配、SupplyInventory跟踪和SiteInspectionLog条目。
免费开始 — 每月 50 个 AI 代理提示,无需信用卡
清洁 CRM 技术栈
此商业清洁 CRM 后端模板包含所有内容。
清理关系图
清洁CRM后端架构的实体关系模型。
涵盖用户、客户端网站、日程安排、供应和检查日志的架构。
查看图表源
erDiagram
User ||--o{ ClientSite : "primaryContact"
User ||--o{ CleaningSchedule : "assignedTo"
User ||--o{ SiteInspectionLog : "inspector"
ClientSite ||--o{ CleaningSchedule : "site"
ClientSite ||--o{ SupplyInventory : "site"
ClientSite ||--o{ SiteInspectionLog : "site"
CleaningSchedule ||--o{ SiteInspectionLog : "schedule"
User {
String objectId PK
String username
String email
String password
String role
String fullName
Date createdAt
Date updatedAt
}
ClientSite {
String objectId PK
String siteName
String siteCode
String address
String clientName
String serviceLevel
String primaryContactId FK
Boolean active
Date createdAt
Date updatedAt
}
CleaningSchedule {
String objectId PK
String siteId FK
String assignedToId FK
Date serviceDate
String startTime
String endTime
String frequency
String status
String notes
Date createdAt
Date updatedAt
}
SupplyInventory {
String objectId PK
String siteId FK
String itemName
String sku
String category
Number quantityOnHand
Number reorderLevel
String unit
Date lastRestockedAt
Date createdAt
Date updatedAt
}
SiteInspectionLog {
String objectId PK
String siteId FK
String scheduleId FK
String inspectorId FK
Date inspectionDate
Number score
String findings
String correctiveActions
String photoUrl
Date createdAt
Date updatedAt
}
清洁应用流程
身份验证、客户端网站加载、清洁安排、供应库存和检查日志的典型运行流程。
查看图表源
sequenceDiagram
participant User
participant App as Commercial Janitorial CRM App
participant Back4app as Back4app Cloud
User->>App: Sign in to the janitorial dashboard
App->>Back4app: POST /login
Back4app-->>App: Session token
User->>App: Load cleaning schedules for assigned sites
App->>Back4app: GET /classes/CleaningSchedule?include=site,assignedTo
Back4app-->>App: CleaningSchedule rows
User->>App: Create a site inspection log
App->>Back4app: POST /classes/SiteInspectionLog
Back4app-->>App: SiteInspectionLog objectId
User->>App: Check supply inventory by site and reorder level
App->>Back4app: GET /classes/SupplyInventory?include=site&order=quantityOnHand
Back4app-->>App: SupplyInventory rows
App->>Back4app: Listen for schedule and inventory updates
Back4app-->>App: LiveQuery change events字段指南
针对清洁行业 CRM 模式中每个类的完整字段级参考。
| 字段 | 类型 | 描述 | 必需 |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | 自动 |
| username | String | Login name for the account | |
| String | Contact email address | ||
| password | String | Hashed password stored by Parse | |
| role | String | Work role such as admin, coordinator, technician, inspector, or client | |
| fullName | String | Display name for dispatch and client communication | — |
| createdAt | Date | Auto-generated creation timestamp | 自动 |
| updatedAt | Date | Auto-generated last-update timestamp | 自动 |
8 字段在 User 中
访问和权限
ACL 和 CLP 策略如何保护用户、站点、日程、库存和检查日志。
角色意识用户控制
只有账户所有者或管理员角色可以更新用户记录和操作偏好。
网站和日程的完整性
将 ClientSite 和 CleaningSchedule 的写入限制为协调员或主管,然后在 Cloud Code 中验证更改。
库存和检查范围
将 SupplyInventory 和 SiteInspectionLog 的读取限制为指定员工、现场主管和授权的客户相关用户。
JSON 架构
准备好复制到 Back4app 或用作实现参考的原始 JSON 架构定义。
{
"classes": [
{
"className": "User",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"username": {
"type": "String",
"required": true
},
"email": {
"type": "String",
"required": true
},
"password": {
"type": "String",
"required": true
},
"role": {
"type": "String",
"required": true
},
"fullName": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "ClientSite",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"siteName": {
"type": "String",
"required": true
},
"siteCode": {
"type": "String",
"required": true
},
"address": {
"type": "String",
"required": true
},
"clientName": {
"type": "String",
"required": true
},
"serviceLevel": {
"type": "String",
"required": true
},
"primaryContact": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"active": {
"type": "Boolean",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "CleaningSchedule",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"site": {
"type": "Pointer",
"required": true,
"targetClass": "ClientSite"
},
"assignedTo": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"serviceDate": {
"type": "Date",
"required": true
},
"startTime": {
"type": "String",
"required": true
},
"endTime": {
"type": "String",
"required": true
},
"frequency": {
"type": "String",
"required": true
},
"status": {
"type": "String",
"required": true
},
"notes": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "SupplyInventory",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"site": {
"type": "Pointer",
"required": true,
"targetClass": "ClientSite"
},
"itemName": {
"type": "String",
"required": true
},
"sku": {
"type": "String",
"required": true
},
"category": {
"type": "String",
"required": true
},
"quantityOnHand": {
"type": "Number",
"required": true
},
"reorderLevel": {
"type": "Number",
"required": true
},
"unit": {
"type": "String",
"required": true
},
"lastRestockedAt": {
"type": "Date",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "SiteInspectionLog",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"site": {
"type": "Pointer",
"required": true,
"targetClass": "ClientSite"
},
"schedule": {
"type": "Pointer",
"required": false,
"targetClass": "CleaningSchedule"
},
"inspector": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"inspectionDate": {
"type": "Date",
"required": true
},
"score": {
"type": "Number",
"required": true
},
"findings": {
"type": "String",
"required": true
},
"correctiveActions": {
"type": "String",
"required": false
},
"photoUrl": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
}
]
}AI 构建提示
使用Back4app AI代理生成一个真实的清洁CRM应用程序,该应用程序基于此模板,包括前端、后端、认证、清洁时间表、库存和检查流程。
在Back4app上使用这个确切的架构和行为创建一个清洁CRM应用后端。 架构: 1. 用户(使用Back4app内置认证):用户名、电子邮件、密码、角色、全名;objectId,createdAt,updatedAt(系统)。 2. 客户站点:站点名称,站点代码,地址,客户名称,服务级别,主要联系人(指向用户),活跃;objectId,createdAt,updatedAt(系统)。 3. 清洁时间表:站点(指向客户站点),分配给(指向用户),服务日期,开始时间,结束时间,频率,状态,备注;objectId,createdAt,updatedAt(系统)。 4. 供应库存:站点(指向客户站点),项目名称,SKU,类别,手头数量,补货水平,单位,上次补货时间;objectId,createdAt,updatedAt(系统)。 5. 站点检查日志:站点(指向客户站点),时间表(指向清洁时间表),检查员(指向用户),检查日期,评分,发现,纠正措施,照片网址;objectId,createdAt,updatedAt(系统)。 安全性: - 协调员管理客户站点行并分配清洁时间表条目。技术人员只能更新自己的清洁时间表状态,并为分配的站点添加站点检查日志条目。检查员可以为他们被分配的站点创建和编辑站点检查日志行。库存更新应限制为协调员或监督角色。客户只有在明确授权的情况下,才能读取自己的客户站点摘要和检查结果。 认证: - 注册、登录、注销。 行为: - 列出站点,创建时间表,跟踪供应库存并记录检查发现及照片。 交付: - Back4app应用程序,包含架构、CLP、ACL以及用于时间表、库存警报和检查日志的前端。
按下面的按钮打开代理,使用此模板提示预填充。
这是没有技术后缀的基础提示。您可以之后调整生成的前端堆栈。
API 测试工具
尝试 REST 和 GraphQL 端点与清洁 CRM 模式进行比较。响应使用模拟数据,并且不需要 Back4app 账户。
使用与此模板相同的模式。
选择一堆
展开每个卡片以查看如何将 ClientSite、CleaningSchedule 和 SupplyInventory 与您选择的技术栈集成。
Flutter 清洁 CRM 后端
React 清洁 CRM 后端
React 本地 清洁 CRM 后端
Next.js 清洁 CRM 后端
JavaScript 清洁 CRM 后端
Android 清洁 CRM 后端
iOS 清洁 CRM 后端
Vue 清洁 CRM 后端
Angular 清洁 CRM 后端
GraphQL 清洁 CRM 后端
REST API 清洁 CRM 后端
PHP 清洁 CRM 后端
.NET 清洁 CRM 后端
每项技术的收益
每个技术栈使用相同的清洁 CRM 后端架构和 API 合同。
统一的清洁操作数据结构
轻松管理用户、客户网站、清洁计划、供应库存和现场检查日志记录,确保模式一致。
为清洁团队提供供应库存可见性
跟踪供应库存记录,以便在工作人员物料用尽之前进行补货。
每个站点的检查跟踪
存储现场检查日志的结果,包括分数、发现、纠正措施和照片网址。
面向角色的清洁人员工作流程
为协调员、技术人员、检查员和客户定义访问权限,而无需额外的后端配置。
清洁 CRM 技术比较
比较所有支持的技术的设置速度、SDK风格和AI支持。
| 框架 | 设置时间 | 清洁管理CRM的好处 | SDK类型 | AI支持 |
|---|---|---|---|---|
| 大约 5 分钟 | 单一代码库用于团队和协调员应用程序。 | 类型化SDK | 完整 | |
| 少于5分钟 | 用于清洁计划的快速网页版仪表板。 | 类型化SDK | 完整 | |
| ~3–7分钟 | 用于检查的跨平台移动应用。 | 类型化SDK | 完整 | |
| 快速(5分钟)设置 | 用于运营的服务器渲染管理门户。 | 类型化SDK | 完整 | |
| ~3–5分钟 | 用于调度工具的轻量级网页集成。 | 类型化SDK | 完整 | |
| 大约5分钟 | 用于现场团队的原生Android应用程序。 | 类型化SDK | 完整 | |
| 少于5分钟 | 用于主管的原生iOS应用程序。 | 类型化SDK | 完整 | |
| ~3–7分钟 | React 适用于用户和站点规划的网络 UI。 | 输入的 SDK | 完整 | |
| 快速 (5 分钟) 设置 | 用于清洁操作的企业网络应用程序。 | 输入的 SDK | 完整 | |
| 不到 2 分钟 | 灵活的 GraphQL API 用于嵌套站点和检查查询。 | GraphQL API | 完整 | |
| 快速 (2 分钟) 设置 | REST API 集成用于清洁操作。 | REST API | 完整 | |
| ~3 分钟 | 服务器端 PHP 后端用于服务协调。 | REST API | 完整 | |
| ~3–7 分钟 | .NET 后端用于保洁操作。 | 类型化 SDK | 完整 |
设置时间反映从项目引导到使用此模板架构的第一个ClientSite、CleaningSchedule或SiteInspectionLog查询的预期持续时间。
清洁管理 CRM 常见问题
关于使用该模板构建清洁管理 CRM 后端的常见问题。