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.
| 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"
}
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 |
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 |
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"
}
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"
}
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 |
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"
}