Restofy Docs

Resumen previo al cierre de la sesión

POST /api/cash-closures/get-close-summary

Descripción

Devuelve el resumen de la sesión y el estado de los pasos obligatorios antes de confirmar el cierre.

Detalles

Retorna los totales operativos de la sesión (base, gastos, propinas, domicilios, total declarado) junto con el estado del checklist de cierre: conteo de efectivo, conteo de otros medios, base de caja registrada, mesas libres, pedidos pendientes y pagos al cierre del turno. Indica para cada paso si es obligatorio según la configuración del negocio y si ya fue completado. Falla si la sesión no existe o no está abierta para el usuario.

Permisos requeridos

cash.session.close

Request

Nombre Tipo Requerido Reglas
cashRegisterSessionId int
min_value:1

Ejemplo de request

curl -X POST https://app.restofy.co/api/cash-closures/get-close-summary \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <accessToken>" \
  -d '{
    "cashRegisterSessionId": 1
}'

Los valores son demo: reemplázalos por datos reales del negocio.

Ejemplo de respuesta

Actualizado: 2026-07-15T13:20:48Z
HTTP 200

Request

{
    "cashRegisterSessionId": 2
}

Response

{
    "success": true,
    "message": "Operación realizada correctamente",
    "data": {
        "session": {
            "cashRegisterSessionId": 2,
            "cashRegisterName": "Caja Principal",
            "openedAt": "2026-07-15 13:18:40.630",
            "openingAmountCents": 0,
            "cashDeclarationStatus": "pending",
            "methodsDeclarationStatus": "pending"
        },
        "summary": {
            "baseCents": 0,
            "expensesCents": "0",
            "expenseCount": 0,
            "tipsCents": "0",
            "deliveriesCents": "0",
            "deliveryCount": "0",
            "cashDeclaredCents": "0",
            "methodsDeclaredCents": "0",
            "methodsDeclaredCount": 0,
            "totalDeclaredCents": 0
        },
        "payouts": {
            "tip": {
                "registeredCents": "5000",
                "suggestedCents": "0",
                "registered": true
            },
            "delivery": {
                "registeredCents": "0",
                "suggestedCents": "0",
                "registered": true
            },
            "base": {
                "registeredCents": "6500",
                "suggestedCents": 0,
                "registered": true
            }
        },
        "steps": [
            {
                "id": "count-cash",
                "icon": "fa-money-bill-1-wave",
                "color": "emerald",
                "title": "Conteo de efectivo",
                "description": "Detalla la cantidad de billetes y monedas presentes en la caja.",
                "required": true,
                "completed": false,
                "completedHint": null,
                "actionLabel": "Contar dinero",
                "actionPath": "../cash-declaration/"
            },
            {
                "id": "count-methods",
                "icon": "fa-credit-card",
                "color": "blue",
                "title": "Conteo de otros medios",
                "description": "Declara los montos cobrados por tarjetas, transferencias y otros medios.",
                "required": true,
                "completed": false,
                "completedHint": null,
                "actionLabel": "Contar otros medios",
                "actionPath": "../methods-declaration/"
            },
            {
                "id": "cash-base",
                "icon": "fa-coins",
                "color": "amber",
                "title": "Base de caja",
                "description": "La base con la que abriste la caja debe estar registrada.",
                "required": false,
                "completed": false,
                "completedHint": null,
                "actionLabel": "Ir a caja",
                "actionPath": "../cashier/"
            },
            {
                "id": "free-tables",
                "icon": "fa-utensils",
                "color": "blue",
                "title": "Mesas libres",
                "description": "Verifica que no queden mesas ocupadas con cuentas abiertas.",
                "required": true,
                "completed": true,
                "completedHint": null,
                "actionLabel": "Ir a mesas",
                "actionPath": "../../pos/zones/"
            },
            {
                "id": "pending-orders",
                "icon": "fa-receipt",
                "color": "rose",
                "title": "Sin ordenes pendientes de pago",
                "description": "No deben quedar pedidos abiertos sin cobrar.",
                "required": false,
                "completed": false,
                "completedHint": "1 pedidos pendientes",
                "actionLabel": "Ver pedidos",
                "actionPath": "../../pos/zones/"
            },
            {
                "id": "tips-payout",
                "icon": "fa-hand-holding-heart",
                "color": "amber",
                "title": "Pagar propinas a personal",
                "description": "Registra el monto de propinas entregado al personal desde la gaveta.",
                "required": true,
                "completed": true,
                "completedHint": null,
                "actionLabel": "Modificar",
                "actionPath": "modal:tip-payout"
            },
            {
                "id": "delivery-payout",
                "icon": "fa-motorcycle",
                "color": "orange",
                "title": "Pagar domicilios",
                "description": "Registra el monto pagado al motorizado desde la gaveta.",
                "required": false,
                "completed": true,
                "completedHint": null,
                "actionLabel": "Modificar",
                "actionPath": "modal:delivery-payout"
            },
            {
                "id": "base-payout",
                "icon": "fa-box-open",
                "color": "slate",
                "title": "Sacar base de caja",
                "description": "Registra el monto que sacas de la gaveta para depositar/entregar.",
                "required": true,
                "completed": true,
                "completedHint": null,
                "actionLabel": "Modificar",
                "actionPath": "modal:base-payout"
            }
        ]
    }
}