Plantilla de Administrador de Mantenimiento de Cajeros Automáticos Backend
Seguimiento de Cassette, Monitoreo de Efectivo y Preparación para Auditorías
Un backend de mantenimiento de cajeros automáticos listo para producción en Back4app con registros de cassette, niveles de efectivo y auditorías de seguridad. Incluye diagrama ER, diccionario de datos, esquema JSON, área de pruebas de API, y un aviso de Agente de IA para una configuración rápida.
Conclusiones Clave para las Operaciones de Cajeros Automáticos
Esta plantilla proporciona a tu equipo un backend de mantenimiento de cajeros automáticos para registros de casetes, niveles de efectivo y auditorías de seguridad para que los coordinadores y el personal de campo puedan trabajar desde una única fuente de verdad.
- Registros de casetes en un solo lugar — Rastrea cada entrada de CassetteLog contra un cajero automático y sus ranuras de casete.
- Visibilidad del nivel de efectivo — Mantén actualizadas las instantáneas de CashLevel para cada denominación de cajero automático y visita de servicio.
- Rastro de auditoría de seguridad — Registra los hallazgos de SecurityAudit cuando se abre, inspecciona o sella un cajero automático.
Descripción General: Gestor de Mantenimiento de ATM
Las tenencias de mantenimiento de ATM nunca son estáticas: los elementos se mueven entre contenedores, sitios, reparaciones y cuarentena, y cada movimiento necesita una historia con marca de tiempo. La solución es operativa, no motivacional. Con ATM, CassetteLog, CashLevel y SecurityAudit modelados limpiamente en Back4app, los interesados en el mantenimiento de ATM obtienen informes consistentes sin exportar cinco hojas de cálculo diferentes. El esquema cubre ATM (atmId, ubicación, estado), CassetteLog (atm, cassetteSlot, cashAdded, cashRemoved, técnico), CashLevel (atm, denominación, cantidadContada, cantidadEsperada) y SecurityAudit (atm, tipoDeAuditoría, estadoDeListaDeChequeo, hallazgos, realizadoPor) con reglas de autenticación y acceso incorporadas. Conecta tu frontend preferido y comienza a rastrear el trabajo de servicio más rápido.
Mejor para:
Cómo está organizado este backend de Mantenimiento de ATM
En el mantenimiento de ATM, pequeñas inconsistencias se acumulan: un estado incorrecto se convierte en un envío incorrecto, luego en una factura incorrecta y, finalmente, en un cliente perdido.
Las partes interesadas pueden verificar la cobertura de ATM, CassetteLog y CashLevel aquí: nombres, relaciones y los flujos de trabajo que habilitan.
Características básicas de mantenimiento de cajeros automáticos
Cada tarjeta tecnológica en este hub utiliza el mismo esquema de backend de cajero automático con ATM, CassetteLog, CashLevel y SecurityAudit.
Registro de activos de cajero automático
La clase de cajero automático almacena atmId, ubicación, estado y branchCode.
Registro de seguimiento de casetes
La clase CassetteLog registra cassetteSlot, cashAdded, cashRemoved y technician.
Instantáneas de niveles de efectivo
La clase CashLevel almacena denomination, countedAmount, expectedAmount y variance.
Chequeos de auditoría de seguridad
La clase SecurityAudit captura auditType, checklistStatus, findings y performedBy.
¿Por qué construir tu backend de Gestor de Mantenimiento de ATM con Back4app?
Back4app le da a tu equipo de operaciones un modelo de datos limpio de ATM, casete y auditoría, para que puedas centrarte en el trabajo de servicio en lugar de en la infraestructura de cableado.
- •Los registros de ATM y casete permanecen vinculados: La clase de ATM y la clase de CassetteLog mantienen las acciones de servicio vinculadas a la máquina correcta y al slot de casete.
- •Las consultas de CashLevel y SecurityAudit son simples: Utiliza instantáneas de CashLevel y entradas de SecurityAudit para revisar discrepancias de efectivo y resultados de listas de verificación sin necesidad de plomería de base de datos personalizada.
- •Actualizaciones en tiempo real para operaciones de campo: Live Queries puede notificar a los coordinadores cuando una fila de CassetteLog o SecurityAudit cambia durante una ruta de servicio.
Ejecuta flujos de trabajo de mantenimiento de cajeros automáticos desde un contrato de backend único a través de móvil y web.
Beneficios principales para los equipos de cajeros automáticos
Un backend de mantenimiento de cajeros automáticos que mantiene los datos de servicio y las notas de auditoría organizados sin tuberías adicionales.
Coordinación de servicio más rápida
Comience con las clases ATM y CassetteLog en lugar de construir un esquema de mantenimiento desde cero.
Reconciliación de efectivo más limpia
Utilice CashLevel.countedAmount y CashLevel.expectedAmount para comparar lo que los técnicos encontraron en el sitio.
Registros compatibles con auditorías
Almacenar SecurityAudit.checklistStatus y SecurityAudit.findings para cada evento de servicio.
Acceso a campos consciente del rol
Usar ACL y CLP para que coordinadores, técnicos y revisores solo accedan a los datos del ATM que necesitan.
Visibilidad de máquinas multiplataforma
Consultar ATM, CassetteLog y CashLevel desde herramientas móviles, tableros de despacho o consolas de sucursales.
Despliegue asistido por IA
Generar la estructura del backend y el flujo del servicio en un solo aviso, y luego adaptarlo a sus operaciones de ruta.
¿Listo para lanzar su aplicación de mantenimiento de ATM?
Deja que el agente de IA de Back4app estructure tu backend de mantenimiento de cajeros automáticos y genere registros de cintas, seguimiento de niveles de efectivo y auditorías de seguridad a partir de un solo aviso.
Gratis para comenzar: 50 avisos de Agente de IA/mes, sin necesidad de tarjeta de crédito
Pila Técnica
Todo incluido en esta plantilla de backend de mantenimiento de cajeros automáticos.
Diagrama ER para operaciones de cajeros automáticos
Modelo de relación de entidades para el esquema de mantenimiento de cajeros automáticos.
Esquema que cubre activos de cajeros automáticos, registros de casetes, niveles de efectivo y auditorías de seguridad.
Ver fuente del diagrama
erDiagram
User ||--o{ ATM : "assignedManager"
User ||--o{ CassetteLog : "sealedBy"
User ||--o{ CashLevel : "checkedBy"
User ||--o{ SecurityAudit : "auditor"
User ||--o{ MaintenanceTicket : "assignedTo"
ATM ||--o{ CassetteLog : "atm"
ATM ||--o{ CashLevel : "atm"
ATM ||--o{ SecurityAudit : "atm"
ATM ||--o{ MaintenanceTicket : "atm"
User {
String objectId PK
String username
String email
String password
String role
Date createdAt
Date updatedAt
}
ATM {
String objectId PK
String atmId
String locationName
String status
String assignedManagerId FK
Date createdAt
Date updatedAt
}
CassetteLog {
String objectId PK
String atmId FK
String cassetteNumber
Number cashDenomination
Number countBefore
Number countAfter
String sealedById FK
Date loggedAt
Date createdAt
Date updatedAt
}
CashLevel {
String objectId PK
String atmId FK
Number currentAmount
Number fillThreshold
Number forecastAmount
String checkedById FK
Date checkedAt
Date createdAt
Date updatedAt
}
SecurityAudit {
String objectId PK
String atmId FK
String auditType
String result
String notes
String auditorId FK
Date auditedAt
Date createdAt
Date updatedAt
}
MaintenanceTicket {
String objectId PK
String atmId FK
String ticketNumber
String priority
String issueSummary
String assignedToId FK
String resolutionStatus
Date reportedAt
Date createdAt
Date updatedAt
}
Flujo de integración de cajeros automáticos
Flujo típico de ejecución para inicio de sesión, búsqueda de cajeros automáticos, registro de casetes, actualizaciones de niveles de efectivo y auditorías de seguridad.
Ver fuente del diagrama
sequenceDiagram
participant User
participant App as ATM Maintenance Manager App
participant Back4app as Back4app Cloud
User->>App: Sign in to review ATM worklists
App->>Back4app: POST /login
Back4app-->>App: Session token
User->>App: Load ATM roster
App->>Back4app: GET /classes/ATM?include=assignedManager&order=locationName
Back4app-->>App: ATM rows with status and assignedManager
User->>App: Record cassette log and cash level
App->>Back4app: POST /classes/CassetteLog
App->>Back4app: POST /classes/CashLevel
Back4app-->>App: New objectIds
User->>App: Submit security audit
App->>Back4app: POST /classes/SecurityAudit
Back4app-->>App: Audit saved
App->>Back4app: Subscribe to live updates for MaintenanceTicket
Back4app-->>App: MaintenanceTicket changesDiccionario de datos para el mantenimiento de cajeros automáticos
Referencia completa a nivel de campo para cada clase en el esquema de mantenimiento de cajeros automáticos.
| Campo | Tipo | Descripción | Requerido |
|---|---|---|---|
| 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 | User role such as manager, coordinator, or fieldTech | |
| createdAt | Date | Auto-generated creation timestamp | Automático |
| updatedAt | Date | Auto-generated last-update timestamp | Automático |
campos 7 en User
Seguridad y Permisos para Datos de ATM
Cómo la estrategia ACL y CLP asegura los activos de ATM, los registros de casete, los niveles de efectivo y las entradas de auditoría.
Acceso al servicio con alcance de rol
Los técnicos pueden crear entradas de CassetteLog para los ATMs asignados, mientras que los revisores pueden inspeccionar los registros de SecurityAudit.
Integridad del nivel de efectivo
Solo los usuarios autorizados pueden cambiar los valores de CashLevel, y Cloud Code puede rechazar actualizaciones de countedAmount que no coincidan.
Protección de la pista de auditoría
Los registros de SecurityAudit preservan el checklistStatus y los hallazgos para que el historial de servicio permanezca trazable a lo largo de los turnos.
Esquema (JSON)
Definición de esquema JSON en bruto lista para copiar en Back4app o usar como referencia de implementación.
{
"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": "ATM",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"atmId": {
"type": "String",
"required": true
},
"locationName": {
"type": "String",
"required": true
},
"status": {
"type": "String",
"required": true
},
"assignedManager": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "CassetteLog",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"atm": {
"type": "Pointer",
"required": true,
"targetClass": "ATM"
},
"cassetteNumber": {
"type": "String",
"required": true
},
"cashDenomination": {
"type": "Number",
"required": true
},
"countBefore": {
"type": "Number",
"required": true
},
"countAfter": {
"type": "Number",
"required": true
},
"sealedBy": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"loggedAt": {
"type": "Date",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "CashLevel",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"atm": {
"type": "Pointer",
"required": true,
"targetClass": "ATM"
},
"currentAmount": {
"type": "Number",
"required": true
},
"fillThreshold": {
"type": "Number",
"required": true
},
"forecastAmount": {
"type": "Number",
"required": true
},
"checkedBy": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"checkedAt": {
"type": "Date",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "SecurityAudit",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"atm": {
"type": "Pointer",
"required": true,
"targetClass": "ATM"
},
"auditType": {
"type": "String",
"required": true
},
"result": {
"type": "String",
"required": true
},
"notes": {
"type": "String",
"required": true
},
"auditor": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"auditedAt": {
"type": "Date",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "MaintenanceTicket",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"atm": {
"type": "Pointer",
"required": true,
"targetClass": "ATM"
},
"ticketNumber": {
"type": "String",
"required": true
},
"priority": {
"type": "String",
"required": true
},
"issueSummary": {
"type": "String",
"required": true
},
"assignedTo": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"resolutionStatus": {
"type": "String",
"required": true
},
"reportedAt": {
"type": "Date",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
}
]
}Construir con el agente de IA
Utiliza el agente de IA de Back4app para generar una aplicación de mantenimiento de cajeros automáticos real a partir de esta plantilla, incluyendo frontend, backend, autenticación y flujos de cassette, efectivo y auditoría.
Crea un backend de aplicación de administrador de mantenimiento de cajeros automáticos en Back4app con este esquema y comportamiento exactos. Esquema: 1. Usuario (usar Back4app incorporado): nombre de usuario, correo electrónico, contraseña; objectId, createdAt, updatedAt (sistema). 2. Cajero automático: atmId (Cadena, requerido), ubicación (Cadena, requerido), estado (Cadena, requerido), branchCode (Cadena, opcional); objectId, createdAt, updatedAt (sistema). 3. Registro de Cassette: atm (Puntero a ATM, requerido), cassetteSlot (Cadena, requerido), cashAdded (Número, requerido), cashRemoved (Número, requerido), technician (Puntero a Usuario, requerido), note (Cadena, opcional); objectId, createdAt, updatedAt (sistema). 4. Nivel de Efectivo: atm (Puntero a ATM, requerido), denominación (Cadena, requerido), countedAmount (Número, requerido), expectedAmount (Número, requerido), variance (Número, requerido); objectId, createdAt, updatedAt (sistema). 5. Auditoría de Seguridad: atm (Puntero a ATM, requerido), auditType (Cadena, requerido), checklistStatus (Cadena, requerido), findings (Cadena, opcional), performedBy (Puntero a Usuario, requerido); objectId, createdAt, updatedAt (sistema). Seguridad: - Los técnicos crean entradas de Registro de Cassette para los cajeros automáticos asignados. Solo los usuarios autorizados pueden editar los datos de Nivel de Efectivo. Preservar el historial de Auditoría de Seguridad con validación de Cloud Code. Autenticación: - Registro, inicio de sesión, cierre de sesión. Comportamiento: - Listar cajeros automáticos, crear registros de cassette, actualizar niveles de efectivo y registrar auditorías de seguridad. Entregar: - Aplicación Back4app con esquema, ACLs, CLPs; frontend para listas de cajeros automáticos, registros de cassette, niveles de efectivo y auditorías de seguridad.
Presiona el botón a continuación para abrir el agente con este mensaje de plantilla prellenado.
Este es el mensaje base sin un sufijo tecnológico. Puedes adaptar la pila de frontend generada después.
API Playground para el Mantenimiento de Cajeros Automáticos
Prueba los puntos finales REST y GraphQL contra el esquema de mantenimiento de cajeros automáticos. Las respuestas utilizan datos simulados y no requieren una cuenta de Back4app.
Usa el mismo esquema que esta plantilla.
Elige tu tecnología
Expande cada tarjeta para ver cómo integrar ATM, CassetteLog y CashLevel con tu pila elegida.
Flutter Mantenimiento de ATM Backend
React Mantenimiento de ATM Backend
React Nativo Mantenimiento de ATM Backend
Next.js Mantenimiento de ATM Backend
JavaScript Mantenimiento de ATM Backend
Android Mantenimiento de ATM Backend
iOS Mantenimiento de ATM Backend
Vue Mantenimiento de ATM Backend
Angular Mantenimiento de ATM Backend
GraphQL Mantenimiento de ATM Backend
REST API Mantenimiento de ATM Backend
PHP Mantenimiento de ATM Backend
.NET Mantenimiento de ATM Backend
Lo que obtienes con cada tecnología
Cada pila utiliza el mismo esquema de mantenimiento de ATM y contratos de API.
Estructura de datos unificada para operaciones de ATM
Rastree los activos de ATM, registros de cintas, niveles de efectivo y auditorías de seguridad en un solo esquema.
Seguimiento de registros de cintas para equipos de campo
Capture los cambios de cassetteSlot, cashAdded y cashRemoved durante las visitas de servicio.
Monitoreo del nivel de efectivo para operaciones
Compare countedAmount y expectedAmount antes de marcar una máquina como completa.
Flujos de trabajo de auditoría de seguridad para cumplimiento
Registre checklistStatus, findings y performedBy para cada inspección.
REST/GraphQL APIs para herramientas de despacho
Integra aplicaciones móviles, paneles de coordinador y portales de servicio con el mismo backend.
Comparación del Marco de Mantenimiento de ATM
Compara la velocidad de configuración, el estilo del SDK y el soporte de IA entre todas las tecnologías compatibles.
| Framework | Tiempo de Configuración | Beneficio de Mantenimiento de ATM | Tipo de SDK | Soporte de IA |
|---|---|---|---|---|
| Aproximadamente 5 min | Código único para el mantenimiento de ATM en móvil y web. | SDK Tipado | Completo | |
| Menos de 5 minutos | Panel web rápido para operaciones de ATM. | SDK tipado | Completo | |
| ~3–7 min | Aplicación móvil multiplataforma para técnicos. | SDK tipado | Completo | |
| Configuración rápida (5 min) | Portal de despacho renderizado por servidor para equipos de ATM. | SDK tipado | Completo | |
| ~3–5 min | Integración ligera del navegador para el mantenimiento de ATM. | SDK escrito | Completo | |
| Acerca de 5 min | Aplicación nativa de Android para técnicos de rutas. | SDK escrito | Completo | |
| Menos de 5 minutos | Aplicación nativa de iPhone para chequeo de efectivo y auditoría. | SDK escrito | Completo | |
| ~3–7 min | Interfaz web React para coordinadores de servicio. | SDK escrito | Completo | |
| Configuración rápida (5 min) | Aplicación web empresarial para operaciones de mantenimiento. | SDK escrito | Completo | |
| Menos de 2 minutos | API flexible GraphQL para mantenimiento de cajeros automáticos. | API GraphQL | Completo | |
| Configuración rápida (2 min) | Integración de REST API para sistemas de campo de cajeros automáticos. | REST API | Completo | |
| ~3 min | Integración de PHP del lado del servidor para herramientas de mantenimiento. | REST API | Completo | |
| ~3–7 min | Backend de .NET para operaciones de cajeros automáticos. | SDK tipado | Completo |
El tiempo de configuración refleja la duración esperada desde el inicio del proyecto hasta la primera consulta de ATM, CassetteLog o CashLevel utilizando este esquema de plantilla.
Preguntas Frecuentes
Preguntas comunes sobre la construcción de un backend de Administrator de Mantenimiento de ATM con esta plantilla.
¿Listo para construir tu administrador de mantenimiento de cajeros automáticos?
Comienza tu proyecto de mantenimiento de cajeros automáticos en minutos. No se requiere tarjeta de crédito.