Backend per l'app di noleggio di toiletta portatile per Sito, Ordine, Servizio e GPS
Routing del Sito, Visite di Servizio e Tracciamento delle Unità
Un backend per il noleggio di toiletta portatile pronto per la produzione su Back4app costruito attorno a User, Sito, InventoryUnit, RentalOrder, ServiceInterval e LocationPing. Traccia le spedizioni, le visite di servizio e i ping GPS senza dover assemblare un backend personalizzato.
Punti chiave del noleggio
Questo modello ti fornisce un backend per il noleggio di bagni portatili incentrato su Utente, Sito, UnitàInventario, OrdineDiNoleggio, IntervalloDiServizio e PingDiPosizione in modo che i dispatcher, i proprietari e i clienti possano rimanere allineati.
- Gli ordini di noleggio rimangono collegati ai siti — Usa RentalOrder.site e RentalOrder.assignedUnits per mantenere ogni prenotazione legata al sito di lavoro giusto e alle unità di bagno portatile.
- Le visite di servizio sono tracciabili — Modella ogni IntervalloDiServizio con serviceCode, scheduledAt, completedAt, unit, performedBy e serviceNotes.
- Lo stato dell'inventario è esplicito — InventoryUnit.status e InventoryUnit.lastServicedAt mostrano se un'unità è disponibile, spedita, in pulizia o in manutenzione.
- Il supporto dei GPS pings per il lavoro sul campo — LocationPing memorizza gpsLat, gpsLng, source, unit e link d'ordine opzionali per aggiornamenti dell'app autista, tracker o dispatch.
Panoramica: App per il noleggio di toilettes portatili
Restituzioni e ispezioni chiudono il cerchio nel noleggio di toilettes portatili — il sistema dovrebbe catturare le condizioni e le responsabilità prima che inizi il prossimo noleggio. Il costo appare nei callback e nei crediti. Usa le entità principali su Back4app per codificare la disponibilità di noleggio di toilettes portatili, i ganci di prezzo e i record di adempimento in un unico backend coeso. Lo schema copre User, Site, InventoryUnit, RentalOrder, ServiceInterval e LocationPing con funzionalità integrate di autenticazione e flusso di lavoro del noleggio. Collega il tuo frontend preferito e spedire più velocemente.
Ideale per:
Come è organizzato questo backend per il noleggio di bagni portatili
Se l'inserimento di un nuovo assunto nel noleggio di bagni portatili richiede conoscenze specifiche, sei a un allontanamento da un singolo punto di fallimento.
L'hub mantiene i registri degli utenti basati su ruolo, l'assegnazione delle unità e il monitoraggio dello stato, i registri sugli intervalli di servizio con una terminologia coerente affinché prodotto, operazioni e ingegneria significhino la stessa cosa quando dicono “registro.”
Caratteristiche principali del noleggio di servizi igienici portatili
Ogni scheda tecnologica in questo hub utilizza lo stesso schema di noleggio di toilette portatili con User, Site, InventoryUnit, RentalOrder, ServiceInterval e LocationPing.
Registri utenti basati sul ruolo
L'utente memorizza nome utente, email, password e ruolo per l'accesso a dispatcher, proprietario o cliente.
Assegnazione dell'unità e tracciamento dello stato
InventoryUnit collega unitTag, unitType, status, currentSite e owner.
Registri degli intervalli di servizio
ServiceInterval memorizza serviceCode, scheduledAt, completedAt, status, unit e performedBy.
ping di posizione GPS
LocationPing conserva pingedAt, gpsLat, gpsLng, source, unit e order.
Coordinazione del sito e del noleggio
Il sito e il RentalOrder preservano il luogo di lavoro, il contatto e le unità di toilette portatili assegnate.
Perché costruire il tuo backend per il noleggio di bagni portatili con Back4app?
Back4app ti offre le primitive di noleggio, percorso e servizio così il tuo team può concentrarsi su distribuzione e lavori sul campo anziché su infrastruttura.
- •I registri del sito e degli ordini rimangono collegati: Sito, RentalOrder e InventoryUnit mantengono ogni posizione di lavoro, prenotazione e assegnazione degli asset in una sola traccia.
- •I registri dei servizi sono strutturati: ServiceInterval cattura serviceCode, scheduledAt, completedAt, serviceNotes, performedBy e l'unità che ha toccato.
- •L'inventario rimane aggiornato: InventoryUnit mostra se un'unità è disponibile, dispatchata, in pulizia o in manutenzione mentre Live Queries mantiene informati i desk.
Costruisci e iterare rapidamente sulle operazioni di noleggio con un contratto backend su tutte le piattaforme.
Vantaggi del noleggio di bagni portatili
Un backend di noleggio che ti aiuta a mantenere allineati percorsi, lavoro di servizio e inventario.
Decisioni di spedizione più rapide
Usa Site, RentalOrder e InventoryUnit invece di ricomporre i dati del percorso da zero.
Chiarezza nella responsabilità del servizio
Usa ServiceInterval, serviceCode e performedBy per mostrare chi ha completato ogni intervallo e quando è accaduto.
Aggiornamenti dei clienti rimangono coerenti
Mantieni User, Site.contactName e Site.contactPhone collegati al giusto ordine di noleggio.
Il controllo dell'inventario è esplicito
InventoryUnit.status e lastServicedAt rendono più facile contrassegnare le unità che sono disponibili, spedite, in fase di pulizia o in manutenzione.
Operazioni consapevoli della posizione
LocationPing.gpsLat e gpsLng aiutano le squadre a verificare dove un'unità è stata consegnata o servita.
Flusso di avvio dell'IA
Genera rapidamente strutture di backend e linee guida per l'integrazione con un'unica richiesta strutturata.
Pronto per lanciare la tua app di noleggio di bagni portatili?
Lascia che l'agente IA di Back4app crei la struttura del tuo backend per il noleggio di bagni portatili e generi flussi di Site, InventoryUnit, RentalOrder, ServiceInterval e LocationPing da un'unica richiesta.
Gratis per iniziare — 50 richieste di agente IA/mese, senza carta di credito richiesta
Stack tecnologico per noleggio portatile
Tutto incluso in questo modello di backend per il noleggio di bagni portatili.
Mappa dello schema di noleggio
Modello di relazione tra entità per lo schema di backend di noleggio delle toilette portatili.
Schema che copre utenti, siti, unità di inventario, ordini di affitto, intervalli di servizio e ping di posizione.
Visualizza sorgente del diagramma
erDiagram
User ||--o{ Site : "customer"
User ||--o{ InventoryUnit : "owner"
User ||--o{ RentalOrder : "customer"
User ||--o{ ServiceInterval : "performedBy"
User ||--o{ LocationPing : "capturedBy"
Site ||--o{ InventoryUnit : "currentSite"
Site ||--o{ RentalOrder : "site"
InventoryUnit ||--o{ RentalOrder : "assignedUnits"
InventoryUnit ||--o{ ServiceInterval : "unit"
InventoryUnit ||--o{ LocationPing : "unit"
RentalOrder ||--o{ ServiceInterval : "order"
RentalOrder ||--o{ LocationPing : "order"
User {
String objectId PK
String username
String email
String password
String role
Date createdAt
Date updatedAt
}
Site {
String objectId PK
String siteCode
String name
String address
Number gpsLat
Number gpsLng
String contactName
String contactPhone
String customerId FK
Date createdAt
Date updatedAt
}
InventoryUnit {
String objectId PK
String unitTag
String unitType
String status
Date lastServicedAt
String currentSiteId FK
String ownerId FK
Date createdAt
Date updatedAt
}
RentalOrder {
String objectId PK
String orderNumber
String status
Date startDate
Date endDate
String siteId FK
Array assignedUnits
String customerId FK
Number serviceIntervalDays
String notes
Date createdAt
Date updatedAt
}
ServiceInterval {
String objectId PK
String serviceCode
Date scheduledAt
Date completedAt
String status
String orderId FK
String unitId FK
String serviceNotes
String performedById FK
Date createdAt
Date updatedAt
}
LocationPing {
String objectId PK
Date pingedAt
Number gpsLat
Number gpsLng
String source
String unitId FK
String orderId FK
String capturedById FK
Date createdAt
Date updatedAt
}
Flusso di integrazione dispatch
Flusso tipico di esecuzione per accesso, ricerca OrdineAffitto, assegnazione UnitàInventario, registrazione IntervalloServizio e cattura PingPosizione.
Visualizza sorgente del diagramma
sequenceDiagram
participant User
participant App as Portable Toilet Rental App
participant Back4app as Back4app Cloud
User->>App: Sign in as dispatcher, owner, or customer
App->>Back4app: POST /login
Back4app-->>App: Session token
User->>App: Open rental dashboard
App->>Back4app: GET /classes/RentalOrder?include=site,assignedUnits
Back4app-->>App: RentalOrder list
User->>App: Add or assign a portable toilet unit
App->>Back4app: POST /classes/InventoryUnit or PUT /classes/RentalOrder
Back4app-->>App: InventoryUnit saved
User->>App: Record a service interval or GPS ping
App->>Back4app: POST /classes/ServiceInterval or POST /classes/LocationPing
Back4app-->>App: Visit and location tracked
App->>Back4app: Live query updates for status changes
Back4app-->>App: Updated order, service, and inventory statusGuida del campo di affitto
Riferimento completo a livello di campo per ogni classe nello schema di affitto dei bagni portatili.
| Campo | Tipo | Descrizione | Obbligatorio |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | Auto |
| username | String | User login name | |
| String | User email address | ||
| password | String | Hashed password (write-only) | |
| role | String | Role of the user (e.g., dispatcher, owner, customer) | |
| createdAt | Date | Auto-generated creation timestamp | Auto |
| updatedAt | Date | Auto-generated last-update timestamp | Auto |
7 campi in User
Controllo accesso per dati di noleggio
Come la strategia ACL e CLP protegge utenti, siti, ordini, visite di servizio e localizzazioni.
Controlli dell'account cliente
Solo il cliente può aggiornare i propri campi utente e visualizzare i propri dati Site, RentalOrder, ServiceInterval e LocationPing come assegnato.
Servizio e integrità dell'inventario
Solo il personale autorizzato può creare record ServiceInterval e LocationPing, e solo i proprietari degli asset possono gestire lo stato di InventoryUnit.
Accesso a percorso limitato
Limita le letture alle righe Site, RentalOrder e InventoryUnit collegate al piano di invio attuale, specialmente per le squadre di campo e le viste rivolte ai clienti.
Schema JSON
Definizione dello schema JSON grezzo pronta da copiare in Back4app o da utilizzare come riferimento di implementazione.
{
"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
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "Site",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"siteCode": {
"type": "String",
"required": true
},
"name": {
"type": "String",
"required": true
},
"address": {
"type": "String",
"required": true
},
"gpsLat": {
"type": "Number",
"required": true
},
"gpsLng": {
"type": "Number",
"required": true
},
"contactName": {
"type": "String",
"required": false
},
"contactPhone": {
"type": "String",
"required": false
},
"customer": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "InventoryUnit",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"unitTag": {
"type": "String",
"required": true
},
"unitType": {
"type": "String",
"required": true
},
"status": {
"type": "String",
"required": true
},
"lastServicedAt": {
"type": "Date",
"required": false
},
"currentSite": {
"type": "Pointer",
"required": false,
"targetClass": "Site"
},
"owner": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "RentalOrder",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"orderNumber": {
"type": "String",
"required": true
},
"status": {
"type": "String",
"required": true
},
"startDate": {
"type": "Date",
"required": true
},
"endDate": {
"type": "Date",
"required": false
},
"site": {
"type": "Pointer",
"required": true,
"targetClass": "Site"
},
"assignedUnits": {
"type": "Array",
"required": true,
"targetClass": "InventoryUnit"
},
"customer": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"serviceIntervalDays": {
"type": "Number",
"required": true
},
"notes": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "ServiceInterval",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"serviceCode": {
"type": "String",
"required": true
},
"scheduledAt": {
"type": "Date",
"required": true
},
"completedAt": {
"type": "Date",
"required": false
},
"status": {
"type": "String",
"required": true
},
"order": {
"type": "Pointer",
"required": true,
"targetClass": "RentalOrder"
},
"unit": {
"type": "Pointer",
"required": true,
"targetClass": "InventoryUnit"
},
"serviceNotes": {
"type": "String",
"required": false
},
"performedBy": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "LocationPing",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"pingedAt": {
"type": "Date",
"required": true
},
"gpsLat": {
"type": "Number",
"required": true
},
"gpsLng": {
"type": "Number",
"required": true
},
"source": {
"type": "String",
"required": true
},
"unit": {
"type": "Pointer",
"required": true,
"targetClass": "InventoryUnit"
},
"order": {
"type": "Pointer",
"required": false,
"targetClass": "RentalOrder"
},
"capturedBy": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
}
]
}Costruisci con AI Agent
Usa l'AI Agent di Back4app per generare una vera app per il noleggio di bagni portatili da questo modello, inclusi frontend, backend, autenticazione e flussi di Site, InventoryUnit, RentalOrder, ServiceInterval e LocationPing.
Crea un backend sicuro per un'App di Noleggio Toilette Portatile su Back4app con esattamente questo schema e comportamento. Schema: 1. Utente (usa il built-in di Back4app): nome utente, email, password, ruolo; objectId, createdAt, updatedAt (sistema). 2. Sito: codiceSito, nome, indirizzo, gpsLat, gpsLng, nomeContatto, telefonoContatto, cliente (Puntatore a Utente); objectId, createdAt, updatedAt (sistema). 3. UnitaInventario: etichettaUnità, tipoUnità, stato, ultimaManutenzione, sitoCorrente (Puntatore a Sito), proprietario (Puntatore a Utente); objectId, createdAt, updatedAt (sistema). 4. OrdineNoleggio: numeroOrdine, stato, dataInizio, dataFine, sito (Puntatore a Sito), unitàAssegnate (Array di Puntatore<UnitaInventario>), cliente (Puntatore a Utente), intervalloServizioGiorni, note; objectId, createdAt, updatedAt (sistema). 5. IntervalloServizio: codiceServizio, programmatoAt, completatoAt, stato, ordine (Puntatore a OrdineNoleggio), unità (Puntatore a UnitaInventario), noteServizio, eseguitoDa (Puntatore a Utente); objectId, createdAt, updatedAt (sistema). 6. LocalizzazionePing: pingatoAt, gpsLat, gpsLng, sorgente, unità (Puntatore a UnitaInventario), ordine (Puntatore a OrdineNoleggio, facoltativo), catturatoDa (Puntatore a Utente); objectId, createdAt, updatedAt (sistema). Sicurezza: - I clienti possono visualizzare solo i propri Siti, Ordini di Noleggio, Intervalli di Servizio e voci di LocalizzazionePing. - I dispatcher possono creare e aggiornare i record degli Intervalli di Servizio e catturare dati di LocalizzazionePing. - I proprietari di beni possono gestire lo stato delle UnitaInventario e visualizzare le assegnazioni degli ordini. - Mantieni privati i campi di localizzazione e contatto cliente a meno che il ruolo non sia autorizzato. Autenticazione: - Registrazione, accesso, disconnessione. Comportamento: - Elenca gli ordini di noleggio, crea siti, assegna unità di inventario, pianifica intervalli di servizio e registra i ping GPS. - Mantieni lo stato dell'inventario e la storia dei servizi accurati per la visibilità del dispatcher e dei clienti. Consegna: - App di Back4app con schema, CLP, ACL e flussi frontend per il personale dell'ufficio noleggi, proprietari di beni e clienti che prenotano il servizio di toilette portatile.
Premi il pulsante qui sotto per aprire l'Agente con questo prompt del modello pre-compilato.
Questo è il prompt di base senza un suffisso tecnologico. Puoi adattare successivamente il stack frontend generato.
API Sandbox
Prova gli endpoint REST e GraphQL contro lo schema di noleggio di bagni portatili. Le risposte utilizzano dati di esempio e non richiedono un account Back4app.
Utilizza lo stesso schema di questo modello.
Scegli il tuo Stack
Espandi ogni scheda per vedere come integrare Site, InventoryUnit e RentalOrder con il tuo stack scelto.
Flutter Noleggio di Bagni Portatili Backend
React Noleggio di Bagni Portatili Backend
React Nativo Noleggio di Bagni Portatili Backend
Next.js Noleggio di Bagni Portatili Backend
JavaScript Noleggio di Bagni Portatili Backend
Android Noleggio di Bagni Portatili Backend
iOS Noleggio di Bagni Portatili Backend
Vue Noleggio di Bagni Portatili Backend
Angular Noleggio di Bagni Portatili Backend
GraphQL Noleggio di Bagni Portatili Backend
REST API Noleggio di Bagni Portatili Backend
PHP Noleggio di Bagni Portatili Backend
.NET Noleggio di Bagni Portatili Backend
Cosa ottieni con ogni tecnologia
Ogni stack utilizza lo stesso schema e contratti API per il noleggio di servizi igienici portatili.
Struttura dati di noleggio unificata
Gestisci User, Site, InventoryUnit, RentalOrder, ServiceInterval e LocationPing con uno schema coerente.
Registri degli intervalli di servizio per i noleggi
Registrare ogni pulizia, rifornimento e ispezione con lo stesso modello ServiceInterval.
Tracciamento della posizione GPS consapevole
Mantieni la latitudine e la longitudine di LocationPing collegate alla giusta InventoryUnit e RentalOrder.
Controllo dell'inventario per unità portatili
Definire i campi stato e lastServicedAt per stock, manutenzione e spedizione.
REST/GraphQL API per noleggi
Integrare client mobili e web con endpoint flessibili per flussi di ordinazione e servizi.
Architettura operativa estensibile
Aggiungi avvisi di spedizione, foto di ispezione o classi di fatturazione in seguito senza compromettere il modello di base.
Confronto Stack Noleggio Portatile
Confronta la velocità di configurazione, lo stile SDK e il supporto AI tra tutte le tecnologie supportate.
| Framework | Tempo di configurazione | Vantaggio di noleggio | Tipo di SDK | Supporto AI |
|---|---|---|---|---|
| Circa 5 min | Codice base unico per gli schermi del desk di noleggio e della squadra sul campo. | SDK tipizzato | Completo | |
| Meno di 5 minuti | Dashboard web veloce per disponibilità dell'unità e registri di servizio. | SDK digitato | Completo | |
| ~3–7 min | App mobile multipiattaforma per visite e ispezioni. | SDK digitato | Completo | |
| Impostazione rapida (5 min) | Portale di invio renderizzato dal server per operazioni di noleggio. | SDK digitato | Completo | |
| ~3–5 min | Integrazione web leggera per schermate di prenotazione e servizi. | SDK digitato | Completo | |
| Circa 5 min | App nativa Android per conducenti e aggiornamenti del percorso. | SDK digitato | Completo | |
| Meno di 5 minuti | App nativa iOS per visite sul campo e controlli delle consegne. | SDK digitato | Completo | |
| ~3–7 min | Interfaccia web Reactiva per bacheche di servizio e inventario. | SDK digitato | Completo | |
| Impostazione rapida (5 min) | Applicazione web enterprise per gestione dei trasporti e noleggi. | SDK digitato | Completo | |
| Meno di 2 min | API flessibile GraphQL per query su siti e servizi annidati. | API GraphQL | Completo | |
| Impostazione veloce (2 min) | Integrazione REST API per aggiornamenti su prenotazioni e itinerari. | REST API | Completo | |
| ~3 min | Backend PHP lato server per flussi di lavoro dei servizi di noleggio. | REST API | Completo | |
| ~3–7 min | Backend .NET per operazioni di spedizione e inventario. | SDK tipizzato | Completo |
Il tempo di configurazione riflette la durata prevista dal bootstrap del progetto alla prima query InventoryUnit, RentalOrder, ServiceInterval o LocationPing utilizzando questo schema modello.
Domande sul noleggio portatile
Domande comuni sulla creazione di un backend per il noleggio di toilette portatili con questo modello.
Pronto per costruire la tua app di noleggio bagni portatili?
Inizia il tuo progetto di noleggio bagni portatili in pochi minuti. Nessuna carta di credito richiesta.