MenuCategory


Una sección de un Menu que agrupa productos (MenuItem). in_order fija su posición dentro del menú (1 en adelante); el endpoint order la reordena. Se crea deshabilitada (is_enabled = false). No se puede eliminar la última categoría activa mientras el menú está activo.

Estructura de Datos

Atributo Tipo Descripción
id int
menu_id int {@link Menu} al que pertenece la categoría
name string Nombre de la categoría
is_enabled bool Si la categoría está activa
in_order int Posición de la categoría dentro del menú (1 en adelante)
created_at datetime\|null
updated_at datetime\|null
items MenuItem> Productos de la categoría, ordenados por in_order
menu Menu {@link Menu} al que pertenece la categoría
{
    "id": 1,
    "menu_id": 1,
    "name": "Delicias",
    "is_enabled": false,
    "in_order": 1,
    "created_at": "2026-04-13T17:37:11.000000Z",
    "updated_at": "2026-04-13T17:37:11.000000Z"
}

Endpoints

Acciones de MenuCategory

Listar categorías de un menú

Devuelve las MenuCategory del Menu indicado (ordenadas por in_order), con sus ítems.

Método URI Cabeceras
GET /companies/{companyId}/menus/{menu}/categories N/A

Mostrar categoría de menú

Devuelve la MenuCategory por su id, con sus ítems y el BranchGood de cada uno.

Método URI Cabeceras
GET /companies/{companyId}/menu-categories/{menuCategory} N/A

Crear categoría de menú

Crea una MenuCategory al final del Menu. Nace deshabilitada (is_enabled = false) y con el in_order siguiente.

Método URI Cabeceras
POST /companies/{companyId}/menus/{menu}/categories Authorization
{
    "name": "required|string|max:255",
    "is_enabled": "boolean"
}

Actualizar categoría de menú

Modifica name e is_enabled de la MenuCategory. El orden se cambia con el endpoint order.

Método URI Cabeceras
PATCH /companies/{companyId}/menu-categories/{menuCategory} Authorization
{
    "name": "string|max:255",
    "is_enabled": "boolean"
}

Eliminar categoría de menú

Borra la MenuCategory y reordena las siguientes. No se permite si es la última categoría activa de un menú activo.

Método URI Cabeceras
DELETE /companies/{companyId}/menu-categories/{menuCategory} Authorization

Reordenar categoría de menú

Mueve la MenuCategory a la posición new_order (1 en adelante) y recoloca las demás categorías del menú. Si new_order excede el máximo, se ajusta al final.

Método URI Cabeceras
PATCH /companies/{companyId}/menu-categories/{menuCategory}/order Authorization
{
    "new_order": "required|integer|min:1"
}

Relaciones