Backend de Aplicativo de Aluguel de Banheiro Portátil para Site, Ordem, Serviço e GPS
Roteamento de Site, Visitas de Serviço e Rastreamento de Unidade
Um backend de aluguel de banheiro portátil pronto para produção na Back4app construído em torno de User, Site, InventoryUnit, RentalOrder, ServiceInterval e LocationPing. Rastreie despachos, visitas de serviço e pings de GPS sem precisar montar um backend personalizado.
Principais Conclusões sobre Aluguel
Este modelo fornece um backend de aluguel de banheiro portátil centrado em Usuário, Local, Unidade de Estoque, Pedido de Aluguel, Intervalo de Serviço e Ping de Localização, permitindo que despachantes, proprietários e clientes permaneçam alinhados.
- Os pedidos de aluguel permanecem vinculados aos locais — Use RentalOrder.site e RentalOrder.assignedUnits para manter cada reserva ligada ao local de trabalho correto e às unidades de banheiro portátil.
- As visitas de serviço são rastreáveis — Modele cada ServiceInterval com serviceCode, scheduledAt, completedAt, unit, performedBy e serviceNotes.
- O status do inventário é explícito — InventoryUnit.status e InventoryUnit.lastServicedAt mostram se uma unidade está disponível, despachada, em limpeza ou em manutenção.
- O suporte a pings de GPS para trabalho de campo — LocationPing armazena gpsLat, gpsLng, source, unit e links de pedido opcionais para driver-app, rastreador ou atualizações de despacho.
Visão geral: Aplicativo de locação de banheiros portáteis
Devoluções e inspeções fecham o ciclo na locação de banheiros portáteis — o sistema deve capturar a condição e a responsabilidade antes que a próxima locação comece. O custo aparece em callbacks e créditos. Use as entidades centrais do Back4app para codificar a disponibilidade de locação de banheiros portáteis, ganchos de precificação e registros de atendimento em um backend coeso. O esquema abrange Usuário, Local, Unidade de Estoque, Ordem de Locação, Intervalo de Serviço e LocationPing com recursos de autenticação e fluxo de trabalho de locação integrados. Conecte seu frontend preferido e envie mais rápido.
Melhor para:
Como este backend de Locação de Banheiro Portátil é organizado
Se a integração de um novo colaborador na locação de banheiros portáteis requer conhecimento tribal, você está a uma saída de um único ponto de falha.
O hub mantém registros de usuários baseados em funções, atribuição de unidades e rastreamento de status, logs de intervalos de serviço consistentes em linguagem para que produto, operações e engenharia signifiquem a mesma coisa quando dizem “registro.”
Recursos principais do aluguel de banheiros portáteis
Cada cartão de tecnologia neste hub usa o mesmo esquema de aluguel de toalete portátil com User, Site, InventoryUnit, RentalOrder, ServiceInterval e LocationPing.
Registros de usuário baseados em função
O usuário armazena nome de usuário, e-mail, senha e função para acesso de despachante, proprietário ou cliente.
Atribuição de unidade e rastreamento de status
InventoryUnit vincula unitTag, unitType, status, currentSite e owner.
Registros de intervalo de serviço
ServiceInterval armazena serviceCode, scheduledAt, completedAt, status, unit e performedBy.
pings de localização GPS
LocationPing mantém pingedAt, gpsLat, gpsLng, source, unit e order.
Coordenação de site e aluguel
Site e RentalOrder preservam o local de trabalho, contato e unidades de toalete portátil atribuídas.
Por que construir seu backend de Locação de Banheiro Portátil com Back4app?
Back4app oferece a você os elementos de locação, rota e serviço para que sua equipe possa se concentrar em despacho e trabalho no local em vez de infraestrutura.
- •O site e os registros de pedidos permanecem vinculados: Site, RentalOrder e InventoryUnit mantêm cada local de trabalho, reserva e atribuição de ativos em um só registro.
- •Os registros de serviço são estruturados: ServiceInterval captura serviceCode, scheduledAt, completedAt, serviceNotes, performedBy e a unidade que foi tocada.
- •O inventário permanece atualizado: InventoryUnit mostra se uma unidade está disponível, despachada, em limpeza ou manutenção enquanto Live Queries mantém as mesas informadas.
Construa e itere rapidamente nas operações de aluguel com um contrato de backend em todas as plataformas.
Benefícios do Aluguel de Banheiros Portáteis
Um backend de aluguel que ajuda você a manter as rotas, trabalhos de serviço e o estoque alinhados.
Decisões de despacho mais rápidas
Use Site, RentalOrder e InventoryUnit em vez de montar os dados da rota do zero.
Responsabilidade clara de serviço
Use ServiceInterval, serviceCode e performedBy para mostrar quem completou cada intervalo e quando aconteceu.
Atualizações de clientes permanecem consistentes
Mantenha User, Site.contactName e Site.contactPhone ligados ao pedido de aluguel correto.
O controle de estoque é explícito
InventoryUnit.status e lastServicedAt facilitam a identificação de unidades que estão disponíveis, despachadas, em limpeza ou em manutenção.
Operações geolocalizadas
LocationPing.gpsLat e gpsLng ajudam as equipes a verificar onde uma unidade foi entregue ou atendida.
Fluxo de trabalho bootstrap de IA
Gere rapidamente a estrutura de backend e orientações de integração com um prompt estruturado.
Pronto para lançar seu aplicativo de aluguel de banheiro portátil?
Deixe o Agente de IA da Back4app estruturar seu backend de aluguel de banheiro portátil e gerar os fluxos de Site, InventoryUnit, RentalOrder, ServiceInterval e LocationPing a partir de um prompt.
Gratuito para começar — 50 prompts de Agente de IA/mês, sem necessidade de cartão de crédito
Stack de tecnologia de aluguel portátil
Tudo incluído neste template de backend para aluguel de banheiros portáteis.
Mapa do esquema de aluguel
Modelo de relacionamento de entidades para o esquema de backend de aluguel de banheiros portáteis.
Esquema abrangendo usuários, sites, unidades de inventário, ordens de aluguel, intervalos de serviço e pings de localização.
Ver fonte do diagrama
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
}
Fluxo de Integração de Despacho
Fluxo típico de execução para login, busca de OrdemDeAluguel, atribuição de UnidadeDeInventário, registro de IntervaloDeServiço e captura de LocalizaçãoPing.
Ver fonte do diagrama
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 statusGuia de Campo de Aluguel
Referência completa em nível de campo para cada classe no esquema de aluguel de banheiros portáteis.
| Campo | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | Automático |
| 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 | Automático |
| updatedAt | Date | Auto-generated last-update timestamp | Automático |
7 campos em User
Controle de Acesso para Dados de Locação
Como a estratégia ACL e CLP protege usuários, sites, pedidos, visitas de serviço e pings de localização.
Controles da conta do cliente
Somente o cliente pode atualizar seus próprios campos de Usuário e visualizar seus dados de Site, RentalOrder, ServiceInterval e LocationPing conforme designado.
Integridade de serviço e inventário
Apenas pessoal autorizado pode criar registros de ServiceInterval e LocationPing, e apenas proprietários de ativos podem gerenciar o status de InventoryUnit.
Acesso a rota com escopo
Limitar leituras às linhas Site, RentalOrder e InventoryUnit ligadas ao plano de despacho atual, especialmente para equipes de campo e visualizações voltadas para o cliente.
Esquema JSON
Definição de esquema JSON bruto pronta para copiar para Back4app ou usar como referência de implementação.
{
"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
}
}
}
]
}Construir com Agente de IA
Use o Agente de IA Back4app para gerar um aplicativo real de aluguel de banheiro portátil a partir deste modelo, incluindo front-end, back-end, autenticação e os fluxos de Site, InventoryUnit, RentalOrder, ServiceInterval e LocationPing.
Crie um backend seguro para o aplicativo de Aluguel de Banheiro Portátil na Back4app com este esquema e comportamento exatos. Esquema: 1. Usuário (usar Back4app embutido): nome de usuário, e-mail, senha, cargo; objectId, createdAt, updatedAt (sistema). 2. Site: códigoDoSite, nome, endereço, gpsLat, gpsLng, nomeDeContato, telefoneDeContato, cliente (Ponteiro para Usuário); objectId, createdAt, updatedAt (sistema). 3. UnidadeDeInventário: etiquetaDeUnidade, tipoDeUnidade, status, últimoServiçoEm, siteAtual (Ponteiro para Site), proprietário (Ponteiro para Usuário); objectId, createdAt, updatedAt (sistema). 4. OrdemDeAluguel: númeroDaOrdem, status, dataDeInício, dataDeFim, site (Ponteiro para Site), unidadesAtribuídas (Array de Ponteiro<UnidadeDeInventário>), cliente (Ponteiro para Usuário), intervaloDeServiçoEmDias, notas; objectId, createdAt, updatedAt (sistema). 5. IntervaloDeServiço: códigoDeServiço, agendadoEm, concluídoEm, status, ordem (Ponteiro para OrdemDeAluguel), unidade (Ponteiro para UnidadeDeInventário), notasDeServiço, realizadoPor (Ponteiro para Usuário); objectId, createdAt, updatedAt (sistema). 6. LocalizaçãoPing: pingadoEm, gpsLat, gpsLng, fonte, unidade (Ponteiro para UnidadeDeInventário), ordem (Ponteiro para OrdemDeAluguel, opcional), capturadoPor (Ponteiro para Usuário); objectId, createdAt, updatedAt (sistema). Segurança: - Os clientes podem visualizar apenas seu próprio Site, OrdemDeAluguel, IntervaloDeServiço e entradas de LocalizaçãoPing. - Os despachantes podem criar e atualizar registros de IntervaloDeServiço e capturar dados de LocalizaçãoPing. - Os proprietários de ativos podem gerenciar o status da UnidadeDeInventário e visualizar atribuições de ordem. - Mantenha os campos de localização e contato do cliente privados, a menos que o cargo esteja autorizado. Autenticação: - Cadastro, login, logout. Comportamento: - Listar ordens de aluguel, criar sites, atribuir unidades de inventário, agendar intervalos de serviço e registrar pings de GPS. - Mantenha o status do inventário e o histórico de serviço precisos para visibilidade de despacho e cliente. Entrega: - Aplicativo Back4app com esquema, CLPs, ACLs e fluxos de frontend para a equipe da mesa de aluguel, proprietários de ativos e clientes reservando serviço de banheiro portátil.
Pressione o botão abaixo para abrir o Agente com este prompt de modelo pré-preenchido.
Este é o prompt base sem um sufixo de tecnologia. Você pode adaptar a pilha de frontend gerada depois.
API Sandbox
Experimente os endpoints REST e GraphQL contra o esquema de aluguel de banheiros portáteis. As respostas usam dados simulados e não requerem uma conta Back4app.
Usa o mesmo esquema que este modelo.
Escolha seu stack
Expanda cada cartão para ver como integrar Site, InventoryUnit e RentalOrder com sua pilha escolhida.
Backend de Locação de Banheiro Móvel Flutter
Backend de Locação de Banheiro Móvel React
Backend de Locação de Banheiro Móvel React Nativo
Backend de Locação de Banheiro Móvel Next.js
Backend de Locação de Banheiro Móvel JavaScript
Backend de Locação de Banheiro Móvel Android
Backend de Locação de Banheiro Móvel iOS
Backend de Locação de Banheiro Móvel Vue
Backend de Locação de Banheiro Móvel Angular
Backend de Locação de Banheiro Móvel GraphQL
Backend de Locação de Banheiro Móvel REST API
Backend de Locação de Banheiro Móvel PHP
Backend de Locação de Banheiro Móvel .NET
O que você recebe com cada tecnologia
Cada pilha utiliza o mesmo esquema de backend de aluguel de banheiros portáteis e contratos de API.
Estrutura de dados de aluguel unificada
Gerencie Usuário, Site, InventoryUnit, RentalOrder, ServiceInterval e LocationPing com um esquema consistente.
Registros de intervalos de serviço para aluguéis
Registre cada limpeza, reabastecimento e inspeção com o mesmo modelo ServiceInterval.
Rastreamento de localização ciente de GPS
Mantenha a latitude e longitude do LocationPing vinculadas ao InventoryUnit e RentalOrder corretos.
Controle de estoque para unidades portáteis
Defina os campos de status e lastServicedAt para estoque, manutenção e despacho.
APIs REST/GraphQL para locações
Integre clientes móveis e web com pontos finais flexíveis para fluxos de pedidos e serviços.
Arquitetura de operações extensível
Adicione alertas de despacho, fotos de inspeção ou classes de faturamento mais tarde sem quebrar o modelo base.
Comparação de Pilhas de Locação Portáteis
Compare a velocidade de configuração, estilo de SDK e suporte a IA entre todas as tecnologias suportadas.
| Framework | Tempo de Configuração | Benefício de Aluguel | Tipo de SDK | Suporte a IA |
|---|---|---|---|---|
| Cerca de 5 min | Código único para as telas do balcão de aluguel e da equipe de campo. | SDK Tipado | Completo | |
| Menos de 5 minutos | Painel web rápido para disponibilidade de unidades e registros de serviço. | SDK Digitado | Completo | |
| ~3–7 min | Aplicativo móvel multiplataforma para visitas a locais e inspeções. | SDK Digitado | Completo | |
| Configuração rápida (5 min) | Portal de despacho renderizado no servidor para operações de aluguel. | SDK Digitado | Completo | |
| ~3–5 min | Integração leve na web para telas de reserva e serviços. | SDK Digitado | Completo | |
| Cerca de 5 min | Aplicativo nativo Android para motoristas e atualizações de rotas. | SDK Tipado | Completo | |
| Menos de 5 minutos | Aplicativo nativo iOS para visitas ao local e verificações de entrega. | SDK Tipado | Completo | |
| ~3–7 min | Interface web Reactive para painéis de serviços e inventário. | SDK Tipado | Completo | |
| Configuração rápida (5 min) | Aplicativo web corporativo para gerenciamento de despacho e locação. | SDK digitado | Completo | |
| Menos de 2 min | API flexível GraphQL para consultas de site e serviço aninhadas. | API GraphQL | Completo | |
| Configuração rápida (2 min) | Integração REST API para reservas e atualizações de rotas. | REST API | Completo | |
| ~3 min | Backend PHP do lado do servidor para fluxos de trabalho de locação. | REST API | Completo | |
| ~3–7 min | Backend .NET para operações de despacho e inventário. | SDK Tipado | Completo |
O tempo de configuração reflete a duração esperada desde a inicialização do projeto até a primeira consulta de InventoryUnit, RentalOrder, ServiceInterval ou LocationPing usando este esquema de template.
Perguntas sobre Aluguel Portátil
Perguntas comuns sobre como construir um backend de aluguel de banheiro portátil com este modelo.
Pronto para construir seu aplicativo de locação de banheiros portáteis?
Comece seu projeto de locação de banheiros portáteis em minutos. Nenhum cartão de crédito necessário.