Restofy Docs
Motivos de anulación POST

Listar motivos de anulación

POST /api/cancellation-reasons/list-cancellation-reasons

Descripción

Lista paginada de motivos por los que anulas una orden o ítem.

Detalles

Devuelve el catálogo de motivos con su nombre y la parte responsable asociada. Soporta búsqueda por nombre y filtro por responsable. Incluye motivos pausados para permitir su reactivación.

Permisos requeridos

admin.module

Request

Nombre Tipo Requerido Reglas
search string No
max:100
responsibleParty string No
enum:personal_kitchen,personal_service,customer,system,external,other

Paginación

defaultLimit 50
maxLimit 100
allowedSorts name, responsibleParty
defaultSort name
defaultDir asc
withTotal true

Ejemplo de request

curl -X POST https://restofy.pro/api/cancellation-reasons/list-cancellation-reasons \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <accessToken>" \
  -H "X-Tenant-Key: <tenantKey>"

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

Ejemplo de respuesta

Actualizado: 2026-09-08T16:35:34Z
HTTP 200

Request

[]

Response

{
    "success": true,
    "message": "Operación realizada correctamente",
    "data": {
        "cancellationReasons": [
            {
                "cancellationReasonId": 12,
                "name": "Caida de red",
                "responsibleParty": "system",
                "description": "Perdida de conexion",
                "isActive": 1,
                "isAvailable": 1
            },
            {
                "cancellationReasonId": 9,
                "name": "Cliente cambio de opinion",
                "responsibleParty": "customer",
                "description": "Cliente decidio no consumir",
                "isActive": 1,
                "isAvailable": 1
            },
            {
                "cancellationReasonId": 10,
                "name": "Cliente se retiro",
                "responsibleParty": "customer",
                "description": "Cliente se fue antes del servicio",
                "isActive": 1,
                "isAvailable": 1
            },
            {
                "cancellationReasonId": 15,
                "name": "Cliente solicito cancelar",
                "responsibleParty": "customer",
                "description": "Cliente pidio anular el pedido",
                "isActive": 1,
                "isAvailable": 1
            },
            {
                "cancellationReasonId": 13,
                "name": "Corte de luz",
                "responsibleParty": "external",
                "description": "Corte electrico en la zona",
                "isActive": 1,
                "isAvailable": 1
            },
            {
                "cancellationReasonId": 8,
                "name": "Devolucion por demora del servicio",
                "responsibleParty": "personal_service",
                "description": "Demora atribuible al servicio",
                "isActive": 1,
                "isAvailable": 1
            },
            {
                "cancellationReasonId": 11,
                "name": "Falla impresora",
                "responsibleParty": "system",
                "description": "No imprimio comanda",
                "isActive": 1,
                "isAvailable": 1
            },
            {
                "cancellationReasonId": 16,
                "name": "Item duplicado por error",
                "responsibleParty": "personal_service",
                "description": "Mesero registro el mismo item dos veces",
                "isActive": 1,
                "isAvailable": 1
            },
            {
                "cancellationReasonId": 6,
                "name": "Item mal digitado",
                "responsibleParty": "personal_service",
                "description": "Mesero registro item incorrecto",
                "isActive": 1,
                "isAvailable": 1
            },
            {
                "cancellationReasonId": 3,
                "name": "Mal cocinado",
                "responsibleParty": "personal_kitchen",
                "description": "Punto de coccion incorrecto",
                "isActive": 1,
                "isAvailable": 1
            },
            {
                "cancellationReasonId": 7,
                "name": "Mesa equivocada",
                "responsibleParty": "personal_service",
                "description": "Entregado en mesa incorrecta",
                "isActive": 1,
                "isAvailable": 1
            },
            {
                "cancellationReasonId": 14,
                "name": "Otro motivo",
                "responsibleParty": "other",
                "description": "No tipificado",
                "isActive": 1,
                "isAvailable": 1
            },
            {
                "cancellationReasonId": 5,
                "name": "Plato caido o regado",
                "responsibleParty": "personal_service",
                "description": "Se cayo o regado al servir",
                "isActive": 1,
                "isAvailable": 1
            },
            {
                "cancellationReasonId": 4,
                "name": "Plato equivocado",
                "responsibleParty": "personal_kitchen",
                "description": "Cocina preparo otro plato",
                "isActive": 1,
                "isAvailable": 1
            },
            {
                "cancellationReasonId": 1,
                "name": "Plato frio",
                "responsibleParty": "personal_kitchen",
                "description": "Servido bajo temperatura",
                "isActive": 1,
                "isAvailable": 1
            },
            {
                "cancellationReasonId": 2,
                "name": "Plato quemado",
                "responsibleParty": "personal_kitchen",
                "description": "Salio quemado de cocina",
                "isActive": 1,
                "isAvailable": 1
            },
            {
                "cancellationReasonId": 17,
                "name": "Problema de calidad",
                "responsibleParty": "personal_kitchen",
                "description": "Plato no cumple estandares de calidad",
                "isActive": 1,
                "isAvailable": 1
            },
            {
                "cancellationReasonId": 18,
                "name": "Sabor incorrecto",
                "responsibleParty": "personal_kitchen",
                "description": "Cliente reporto sabor no esperado",
                "isActive": 1,
                "isAvailable": 1
            }
        ],
        "pagination": {
            "page": 1,
            "limit": 50,
            "total": 18,
            "totalPages": 1,
            "hasNext": false,
            "hasPrev": false
        }
    }
}