CRM per le Pulizie
Crea con AI Agent
Backend CRM per la pulizia

Modello Backend CRM per la pulizia
Siti client, orari di pulizia, inventario forniture e registri delle ispezioni

Un backend CRM per la pulizia pronto per la produzione su Back4app con registri ClientSite, assegnazioni CleaningSchedule, SupplyInventory e voci SiteInspectionLog. Include diagramma ER, dizionario dei dati, schema JSON, playground API, e un prompt AI Agent per una rapida configurazione.

Conclusioni sul CRM per la pulizia

Questo template ti offre un backend CRM per la pulizia con ClientSite, CleaningSchedule, SupplyInventory e SiteInspectionLog in modo che i coordinatori e il personale sul campo possano rimanere sulla stessa flusso di lavoro.

  1. Controllo del sito clienteTraccia ciascun ClientSite con siteName, siteCode, indirizzo, clientName, serviceLevel, primaryContact e attivo.
  2. Flusso di assegnazione programmaUsa CleaningSchedule per connettere sito, assignedTo, serviceDate, startTime, endTime, frequency, status e note.
  3. Visibilità delle fornitureMemorizza SupplyInventory per sito con itemName, sku, categoria, quantityOnHand, reorderLevel, unit e lastRestockedAt.
  4. Registrazione ispezioniRegistra le voci del SiteInspectionLog con sito, programma, ispettore, dataIspezione, punteggio, risultati, azioniCorrettive e fotoUrl.
  5. Operazioni a conoscenza del ruoloApplica regole ACL e CLP in modo che coordinatori, tecnici, ispettori e clienti vedano le righe corrette di User, ClientSite, CleaningSchedule e SiteInspectionLog.

Panoramica: Janitorial CRM

La reportistica nel janitorial CRM dovrebbe rispondere alle domande della leadership senza una ricerca manuale tra cartelle e thread di messaggi. La soluzione è operativa, non motivazionale. Con ClientSite, CleaningSchedule, SupplyInventory e SiteInspectionLog su Back4app, i team del janitorial CRM possono imporre la separazione dei compiti garantendo comunque la collaborazione sulla stessa registrazione del caso. Lo schema copre User, ClientSite (siteName, siteCode, address, clientName, serviceLevel, primaryContact, active), CleaningSchedule (site, assignedTo, serviceDate, startTime, endTime, frequency, status, notes), SupplyInventory (site, itemName, sku, category, quantityOnHand, reorderLevel, unit, lastRestockedAt), e SiteInspectionLog (site, schedule, inspector, inspectionDate, score, findings, correctiveActions, photoUrl) con controlli di accesso autenticati e operativi integrati. Collega il tuo frontend preferito e spedisci più rapidamente.

Migliore per:

Operazioni di pulizia commercialeApp per la programmazione della puliziaStrumenti per il tracciamento dell'inventarioSistemi di registrazione per ispezioni del sitoLanci MVPTeam che scelgono BaaS per le operazioni di servizio

Panoramica del backend CRM per la pulizia

Le fluttuazioni stagionali colpiscono il CRM per la pulizia più forte quando il personale cambia, ma il modello di dati non si adatta a nuovi SKU, siti o politiche.

Se stai valutando Back4app, ClientSite, CleaningSchedule e SupplyInventory dimostrano quanto struttura ottieni prima di scrivere SQL personalizzato.

Caratteristiche del CRM per le pulizie

Ogni scheda tecnologica in questo hub utilizza lo stesso schema backend CRM per le pulizie con User, ClientSite, CleaningSchedule, SupplyInventory e SiteInspectionLog.

Gestione dei ruoli utente

L'utente memorizza username, email, ruolo e nome completo per coordinatori, tecnici, ispettori e clienti.

Profili dei siti clienti

ClientSite collega ogni posizione a un nome del sito, codice del sito, indirizzo, nome del cliente, livello di servizio, contatto principale e flag attivo.

Tracciamento del programma di pulizia

CleaningSchedule memorizza sito, assegnatoA, dataServizio, oraInizio, oraFine, frequenza, stato e note.

Controlli dell'inventario di fornitura

SupplyInventory cattura nomeArticolo, sku, categoria, quantitàDisponibile, livelloRiordino, unità e ultimoRipristinatoIl.

Registri delle ispezioni del sito

SiteInspectionLog registra sito, programma, ispettore, dataIspezione, punteggio, riscontri, azioniCorrettive e photoUrl.

Perché costruire il tuo backend CRM per le pulizie con Back4app?

Back4app ti offre primitive per sito, programma, inventario e ispezione in modo che il tuo team possa concentrarsi sulla fornitura del servizio invece che sulla parte backend.

  • ClientSite e CleaningSchedule rimangono allineati: Collega ciascun CleaningSchedule a un ClientSite in modo che le squadre sappiano dove lavorare e i supervisori possano aggiornare la frequenza del servizio senza fogli di calcolo duplicati.
  • SupplyInventory supporta i controlli di riassortimento: Memorizza le righe di SupplyInventory per ogni sito in modo che il personale possa confrontare quantityOnHand con reorderLevel prima che un armadio si esaurisca.
  • Visibilità in tempo reale delle ispezioni: Usa Live Queries su SiteInspectionLog in modo che i risultati di un'ispezione del sito compaiano rapidamente per i coordinatori e il personale a contatto con il cliente.

Costruisci e aggiorna rapidamente i flussi di lavoro per le pulizie con un contratto backend su tutte le piattaforme.

Vantaggi del CRM per le pulizie

Un backend CRM per le pulizie che aiuta le operazioni a rimanere accurate senza aggiungere lavoro amministrativo extra.

Pianificazione più rapida di itinerari e turni

Inizia da uno schema completo di ClientSite e CleaningSchedule invece di ricostruire i calendari dei servizi da zero.

Controlli dell'inventario che corrispondono allo scaffale

Utilizza i campi SupplyInventory come quantityOnHand, reorderLevel e unit affinché le scorte insufficienti siano visibili prima del prossimo servizio in loco.

Follow-up dell'ispezione

Memorizza i risultati del SiteInspectionLog, punteggio, azioni correttive e photoUrl in modo che i supervisori possano risolvere le problematiche sul sito.

Cancella i confini di accesso

Applica le regole ACL e CLP in modo che solo i ruoli utente appropriati possano modificare i record di ClientSite, CleaningSchedule o SiteInspectionLog.

Un backend per strumenti da campo e da ufficio

Esporre gli stessi dati del CRM di pulizia attraverso REST e GraphQL per l'invio, le squadre mobili e i cruscotti d'ufficio.

Bootstrap assistito da AI

Genera rapidamente l'impalcatura backend e la guida all'integrazione con un prompt strutturato.

Pronto per lanciare il tuo CRM di pulizia?

Lascia che l'agente AI di Back4app impalcature il tuo backend del CRM di pulizia e generi record di ClientSite, assegnazioni di CleaningSchedule, tracciamento di SupplyInventory e voci di SiteInspectionLog da un prompt.

Gratuito per iniziare — 50 richieste di agenti AI/mese, senza carta di credito richiesta

Stack tecnologico CRM per pulizie

Tutto incluso in questo template backend CRM commerciale per pulizie.

Frontend
13+ tecnologie
Backend
Back4app
Database
MongoDB
Autenticazione
Autenticazione integrata + sessioni
API
REST e GraphQL
In tempo reale
Live Queries

Mappa delle relazioni di pulizia

Modello di relazione tra entità per lo schema del backend CRM di pulizie.

Visualizza sorgente del diagramma
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
    }

Flusso dell'app di pulizie

Flusso di runtime tipico per autenticazione, caricamento del sito cliente, pianificazioni di pulizia, inventario forniture e log di ispezione.

Visualizza sorgente del diagramma
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

Guida di Campo

Riferimento completo a livello di campo per ogni classe nello schema CRM delle pulizie.

CampoTipoDescrizioneRichiesto
objectIdStringAuto-generated unique identifierAuto
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 timestampAuto
updatedAtDateAuto-generated last-update timestampAuto

8 campi in User

Accesso e Permessi

Come la strategia ACL e CLP protegge utenti, siti, programmi, inventario e registri di ispezione.

Controlli utente consapevoli del ruolo

Solo il proprietario dell'account o un ruolo admin dovrebbe aggiornare i record utente e le preferenze operative.

Integrità del sito e del programma

Limitare le scritture di ClientSite e CleaningSchedule ai coordinatori o ai supervisori, quindi convalidare le modifiche nel Cloud Code.

Ambito di inventario e ispezione

Limitare le letture di SupplyInventory e SiteInspectionLog al personale assegnato, ai supervisori del sito e agli utenti autorizzati a contatto con i clienti.

Schema JSON

Definizione dello schema JSON grezzo pronta per essere copiata in Back4app o utilizzata come riferimento per l'implementazione.

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
        }
      }
    }
  ]
}

Suggerimento per la build AI

Utilizza l'agente AI di Back4app per generare un'app CRM per il servizio di pulizia da questo modello, inclusi frontend, backend, autenticazione e flussi di programmazione delle pulizie, inventario e ispezione.

Back4app Agente AI
Pronto per costruire
Crea un backend per un'app CRM per il servizio di pulizia su Back4app con questo schema e comportamento esatti.

Schema:
1. Utente (usa l'autenticazione integrata di Back4app): nome utente, email, password, ruolo, nomeCompleto; objectId, createdAt, updatedAt (sistema).
2. ClientSite: nomeSito, codiceSito, indirizzo, nomeCliente, livelloServizio, contattoPrimario (Pointer a Utente), attivo; objectId, createdAt, updatedAt (sistema).
3. CleaningSchedule: sito (Pointer a ClientSite), assegnatoA (Pointer a Utente), dataServizio, oraInizio, oraFine, frequenza, stato, note; objectId, createdAt, updatedAt (sistema).
4. SupplyInventory: sito (Pointer a ClientSite), nomeArticolo, sku, categoria, quantitàDisponibile, livelloRiordino, unità, ultimaRifornitaIl; objectId, createdAt, updatedAt (sistema).
5. SiteInspectionLog: sito (Pointer a ClientSite), programma (Pointer a CleaningSchedule), ispettore (Pointer a Utente), dataIspezione, punteggio, risultati, azioniCorrettive, photoUrl; objectId, createdAt, updatedAt (sistema).

Sicurezza:
- I coordinatori gestiscono le righe ClientSite e assegnano gli elementi di CleaningSchedule. I tecnici possono aggiornare solo il proprio stato di CleaningSchedule e aggiungere voci SiteInspectionLog per i siti assegnati. Gli ispettori possono creare e modificare le righe SiteInspectionLog per i siti a cui sono assegnati. Gli aggiornamenti dell'inventario dovrebbero essere limitati ai ruoli di coordinatori o supervisori. I clienti possono leggere i riassunti ClientSite e i risultati delle ispezioni solo quando esplicitamente autorizzati.

Autenticazione:
- Registrazione, accesso, disconnessione.

Comportamento:
- Elenca i siti, crea programmi, monitora il magazzino delle forniture e registra i risultati delle ispezioni con foto.

Consegna:
- App Back4app con schema, CLP, ACL e un frontend per programmi, avvisi di inventario e registrazione delle ispezioni.

Premi il pulsante qui sotto per aprire l'agente con questo prompt del modello precompilato.

Questo è il prompt base senza un suffisso tecnologico. Puoi adattare successivamente lo stack frontend generato.

Distribuisci in pochi minuti50 prompt gratuiti / meseNessuna carta di credito richiesta

Tester API

Prova gli endpoint REST e GraphQL contro lo schema del CRM per le pulizie. Le risposte utilizzano dati di esempio e non richiedono un account Back4app.

Caricamento playground…

Utilizza lo stesso schema di questo modello.

Scegli uno stack

Espandi ogni scheda per vedere come integrare ClientSite, CleaningSchedule e SupplyInventory con il tuo stack scelto.

Flutter Gestione CRM per la pulizia

React Gestione CRM per la pulizia

React Nativo Gestione CRM per la pulizia

Next.js Gestione CRM per la pulizia

JavaScript Gestione CRM per la pulizia

Android Gestione CRM per la pulizia

iOS Gestione CRM per la pulizia

Vue Gestione CRM per la pulizia

Angular Gestione CRM per la pulizia

GraphQL Gestione CRM per la pulizia

REST API Gestione CRM per la pulizia

PHP Gestione CRM per la pulizia

.NET Gestione CRM per la pulizia

Cosa ottieni con ogni tecnologia

Ogni stack utilizza lo stesso schema backend CRM per la pulizia e contratti API.

Struttura dei dati delle operazioni di pulizia unificata

Gestisci facilmente i record di User, ClientSite, CleaningSchedule, SupplyInventory e SiteInspectionLog con uno schema coerente.

Visibilità dell'inventario delle forniture per i team di pulizia

Tieni traccia dei record di SupplyInventory in modo che i rifornimenti avvengano prima che le squadre terminino i materiali.

Tracciamento delle ispezioni per ogni sito

Archivia i risultati di SiteInspectionLog con punteggio, risultati, azioni correttive e photoUrl.

Flussi di lavoro consapevoli del ruolo per il personale di pulizia

Definisci l'accesso per coordinatori, tecnici, ispettori e clienti senza ulteriore cablaggio nel backend.

Confronto Tecnologico CRM per Pulizie

Confronta la velocità di configurazione, lo stile SDK e il supporto AI tra tutte le tecnologie supportate.

FrameworkTempo di configurazioneVantaggio CRM per PulizieTipo di SDKSupporto AI
Circa 5 minUn'unica base di codice per le app di equipaggio e coordinatore.SDK DigitatoCompleto
Meno di 5 minutiDashboard web veloce per i programmi di pulizia.SDK tipizzatoCompleto
~3–7 minApp mobile multipiattaforma per ispezioni.SDK tipizzatoCompleto
Configurazione rapida (5 min)Portale di amministrazione renderizzato sul server per le operazioni.SDK tipizzatoCompleto
~3–5 minIntegrazione web leggera per strumenti di invio.SDK digitatoCompleto
Circa 5 minApp nativa Android per le squadre di campo.SDK digitatoCompleto
Meno di 5 minutiApp nativa iOS per i supervisori.SDK digitatoCompleto
~3–7 minInterfaccia web React per la pianificazione degli utenti e del sito.SDK DigitatoCompleto
Installazione rapida (5 min)App web aziendale per operazioni di pulizia.SDK DigitatoCompleto
Meno di 2 minAPI GraphQL flessibile per query di siti annidati e ispezioni.API GraphQLCompleto
Installazione rapida (2 min)Integrazione di REST API per operazioni di pulizia.REST APICompleto
~3 minBackend PHP lato server per la coordinazione dei servizi.REST APICompleto
~3–7 minBackend .NET per operazioni di pulizia.SDK con tipizzazioneCompleto

Il tempo di configurazione riflette la durata prevista dal bootstrap del progetto fino alla prima query ClientSite, CleaningSchedule o SiteInspectionLog utilizzando questo schema di template.

Domande frequenti sul CRM per le pulizie

Domande comuni sul modo di costruire un backend CRM per le pulizie con questo template.

Quali metriche contano realmente per la consegna del CRM di pulizia oltre a “occupato”?
Come dovrebbero connettersi i temi del CRM di pulizia a documenti, scadenze e comunicazioni nei dati?
Il modello di accesso è sufficientemente dettagliato per i partner e i contrattisti del CRM di pulizia?
Come eseguo query per siti e programmi di pulizia con Flutter?
Come gestisco l'accesso al CRM di pulizia con Next.js Server Actions?
Può React ispezionare i log di cache offline?
Come posso prevenire modifiche non autorizzate alle ispezioni?
Qual è il modo migliore per mostrare i conteggi delle forniture su Android?
Come funziona il flusso del programma di pulizia end-to-end?
Quali classi alimentano questo modello di CRM per le pulizie?

Affidato a sviluppatori in tutto il mondo

Unisciti ai team che lanciano prodotti CRM per la pulizia più velocemente con i modelli di Back4app

G2 Users Love Us Badge

Pronto a costruire la tua app CRM per la pulizia?

Inizia il tuo progetto di CRM per la pulizia in pochi minuti. Nessuna carta di credito richiesta.

Scegli tecnologia