保潔 CRM
使用 AI Agent 構建
清潔 CRM 後端

清潔 CRM 後端模板
客戶網站、清潔排程、供應庫存和檢查日誌

一個生產就緒的清潔 CRM 後端在 Back4app上,擁有客戶網站記錄、清潔排程分配、供應庫存和網站檢查日誌條目。包括 ER 圖、數據字典、JSON 架構、API 遊樂園,和一個AI 代理人提示,以快速啟動。

清潔 CRM 精華

此範本提供您一個包含 ClientSite、CleaningSchedule、SupplyInventory 和 SiteInspectionLog 的清潔 CRM 後端,讓協調員和現場人員可以保持在相同的工作流程中。

  1. 客戶現場控制追蹤每個 ClientSite,包括 siteName、siteCode、地址、clientName、服務級別、主要聯繫人和是否有效。
  2. 排程指派流程使用 CleaningSchedule 來連接 site、assignedTo、serviceDate、startTime、endTime、frequency、status 和 notes。
  3. 供應可見性按現場儲存 SupplyInventory,包括 itemName、sku、類別、庫存數量、再訂購水平、單位和 lastRestockedAt。
  4. 檢查日誌記錄 SiteInspectionLog 條目,包括網站、日程、檢查員、檢查日期、分數、發現、整改措施以及照片網址。
  5. 角色感知操作應用 ACL 和 CLP 規則,以便協調員、技術人員、檢查員和客戶能看到正確的用戶、客戶網站、清潔日程和 SiteInspectionLog 條目。

概述: 清潔 CRM

清潔 CRM 的報告應該能回答領導問題,而無需手動查找資料夾和消息線程。解決方案是運營性的,而不是激勵性的。借助 ClientSite、CleaningSchedule、SupplyInventory 和 SiteInspectionLog 在 Back4app,清潔 CRM 團隊可以強調職責分離,同時在同一案例記錄上協作。架構涵蓋用戶、ClientSite (siteName、siteCode、地址、clientName、serviceLevel、primaryContact、active)、CleaningSchedule (site、assignedTo、serviceDate、startTime、endTime、frequency、status、notes)、SupplyInventory (site、itemName、sku、category、quantityOnHand、reorderLevel、單位、lastRestockedAt) 和 SiteInspectionLog (site、schedule、檢查員、檢查日期、分數、發現、整改措施、照片網址),並內建身份驗證和運營訪問控制。連接您首選的前端,快速發貨。

最佳使用於:

商業清潔操作清潔管理排程應用程式供應庫存追蹤工具現場檢查記錄系統MVP 上線團隊選擇 BaaS 進行服務操作

清潔管理 CRM 後端概覽

季節性波動對清潔管理 CRM 影響最大,當人員變動但數據模型不隨新 SKU、場地或政策而調整時。

如果您在評估 Back4app,ClientSite、CleaningSchedule 和 SupplyInventory 演示了在編寫自定義 SQL 之前您獲得了多少結構。

清潔 CRM 功能

這個中心中的每個技術卡片都使用相同的清潔服務 CRM 後端架構,包括用戶、客戶網站、清潔計劃、物資庫存和現場檢查日誌。

用戶角色管理

用戶存儲協調員、技術員、檢查員和客戶的用戶名、電子郵件、角色和全名。

客戶網站檔案

ClientSite 將每個位置鏈接到 siteName、siteCode、地址、clientName、serviceLevel、primaryContact 和活動標誌。

清潔計畫追蹤

CleaningSchedule 儲存 site, assignedTo, serviceDate, startTime, endTime, frequency, status 和 notes。

供應庫存檢查

SupplyInventory 捕捉 itemName, sku, category, quantityOnHand, reorderLevel, unit 和 lastRestockedAt。

現場檢查日誌

SiteInspectionLog 記錄 site, schedule, inspector, inspectionDate, score, findings, correctiveActions 和 photoUrl。

為什麼要用 Back4app 構建您的清潔 CRM 後端?

Back4app 提供場地、排程、庫存和檢查的基本功能,讓您的團隊專注於服務交付,而不是後端的繁瑣工作。

  • ClientSite 和 CleaningSchedule 保持一致: 將每個 CleaningSchedule 與 ClientSite 聯繫起來,讓工作人員知道在哪裡工作,並且監督者可以在不需要重複電子表格的情況下更新服務頻率。
  • SupplyInventory 支持補貨檢查: 為每個場地儲存 SupplyInventory 條目,以便員工在儲藏室物品快用完之前,比較 onHand 數量與重新訂購水平。
  • 實時檢查可見性: 在 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 後端模板中包含的一切。

前端
13+ 技術
後端
Back4app
資料庫
MongoDB
身份驗證
內建身份驗證 + 會話
API
REST 和 GraphQL
即時
Live Queries

清理關係圖

清潔客服端後端架構的實體關係模型。

查看圖表來源
Mermaid
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
    }

清潔應用流程

身份驗證、客戶網站加載、清潔計畫、供應庫存和檢查日誌的典型運行流程。

查看圖表來源
Mermaid
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 架構中的完整現場級別參考。

欄位類型描述必填
objectIdStringAuto-generated unique identifier自動
usernameStringLogin name for the account
emailStringContact email address
passwordStringHashed password stored by Parse
roleStringWork role such as admin, coordinator, technician, inspector, or client
fullNameStringDisplay name for dispatch and client communication
createdAtDateAuto-generated creation timestamp自動
updatedAtDateAuto-generated last-update timestamp自動

8 欄位在 User

訪問和權限

ACL 和 CLP 策略如何保護用戶、網站、日程、庫存和檢查記錄。

角色意識的用戶控制

只有帳戶擁有者或管理角色應該更新用戶記錄和操作首選項。

網站和時間表的完整性

將 ClientSite 和 CleaningSchedule 的寫入限制為協調者或主管,然後在 Cloud Code 中驗證變更。

庫存和檢查範圍

將 SupplyInventory 和 SiteInspectionLog 的讀取限制於指定員工、現場主管和授權的面向客戶用戶。

JSON Schema

準備好複製到 Back4app 或作為實施參考的原始 JSON schema 定義。

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 AI 代理
準備建立
在 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 和用於排程、庫存警報、檢查登錄的前端。

按下以下按鈕以使用此模板提示預填開啟代理。

這是沒有技術後綴的基本提示。您可以在後面調整生成的前端堆疊。

幾分鐘內部署每月 50 次免費提示無需信用卡

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 網頁用戶界面,用於用戶和網站規劃。輸入式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 後端的常見問題。

除了“忙碌”之外,哪些指標對清潔 CRM 的交付實際重要?
清潔 CRM 事項如何將文件、截止日期和通信與數據連接起來?
訪問模型對清潔 CRM 夥伴和承包商是否足夠細緻?
我如何使用 Flutter 查詢網站和清潔排程?
我如何使用 Next.js 和 Server Actions 管理清潔 CRM 存取權限?
React Native 是否可以離線檢查快取日誌?
我如何防止未經授權的檢查編輯?
在 Android 上顯示物資數量的最佳方法是什麼?
清潔計劃的工作流程是如何運作的?
這個清潔 CRM 模板是由哪些類別驅動的?

全球開發人員信賴的解決方案

使用 Back4app 模板加入更快交付清潔 CRM 產品的團隊

G2 Users Love Us Badge

準備好建置您的清潔 CRM 應用程式了嗎?

在幾分鐘內開始您的清潔 CRM 項目。無需信用卡。

選擇技術