Descripción General
Los endpoints de Gestión de Camareros proporcionan las operaciones fundamentales para administrar el personal de servicio del restaurante. Estos endpoints permiten registrar, consultar, actualizar y eliminar la información de los camareros que atienden las mesas, toman pedidos y gestionan el servicio al cliente.
🎯 Características de los Camareros
- Identificación única: Cada camarero tiene un ID único en el sistema
- Información básica: Nombre completo del empleado
- Asignación a mesas: Los camareros se asignan a mesas específicas
- Gestión de comandas: Registro de pedidos por camarero
- Control de propinas: Seguimiento de propinas y comisiones
- Validación de datos: Verificación de integridad de la información
Endpoints Disponibles
GET
/Master/Waiters/GetWaiters
Obtiene todos los camareros registrados en el sistema. Este endpoint devuelve una lista completa de todo el personal de servicio disponible en la base de datos.
Parámetros de consulta:
- initialCatalog (string, requerido): Nombre de la base de datos
- userID (string, opcional): ID de usuario de la base de datos
- password (string, opcional): Contraseña de la base de datos
200 OK
Lista de camareros devuelta exitosamente
[
{
"camareroId": 1,
"nombre": "Juan Pérez"
},
{
"camareroId": 2,
"nombre": "María García"
},
{
"camareroId": 3,
"nombre": "Carlos López"
}
]
500 Internal Server Error
Error interno del servidor
Casos de Uso:
- Consulta del personal de servicio disponible
- Asignación de camareros a mesas
- Gestión de turnos y horarios
- Reportes de personal activo
- Validación de camareros para apertura de mesas
GET
/Master/Waiters/GetWaiter/{id}
Obtiene un camarero específico por su ID. Este endpoint permite recuperar la información detallada de un empleado de servicio en particular.
Parámetros de ruta:
- id (double, requerido): ID único del camarero
Parámetros de consulta:
- initialCatalog (string, requerido): Nombre de la base de datos
- userID (string, opcional): ID de usuario de la base de datos
- password (string, opcional): Contraseña de la base de datos
200 OK
Camarero encontrado y devuelto
{
"camareroId": 1,
"nombre": "Juan Pérez"
}
404 Not Found
Camarero no encontrado
500 Internal Server Error
Error interno del servidor
Casos de Uso:
- Verificación de datos de un camarero específico
- Validación antes de asignar a una mesa
- Consulta de información para reportes
- Verificación de existencia antes de operaciones
- Gestión de perfiles de empleados
POST
/Master/Waiters/AddWaiter
Crea un nuevo camarero en el sistema. Este endpoint permite agregar un nuevo empleado de servicio al restaurante.
Body (JSON):
{
"camareroId": 4,
"nombre": "Ana Rodríguez"
}
Parámetros de consulta:
- initialCatalog (string, requerido): Nombre de la base de datos
- userID (string, opcional): ID de usuario de la base de datos
- password (string, opcional): Contraseña de la base de datos
201 Created
Camarero creado exitosamente
{
"camareroId": 4,
"nombre": "Ana Rodríguez"
}
500 Internal Server Error
Error interno del servidor
Casos de Uso:
- Contratación de nuevo personal
- Registro de empleados temporales
- Expansión del equipo de servicio
- Configuración inicial del personal
- Registro de personal de eventos especiales
PUT
/Master/Waiters/UpdateWaiter/{id}
Actualiza un camarero existente en el sistema. Este endpoint permite modificar la información de un empleado de servicio ya registrado.
Parámetros de ruta:
- id (double, requerido): ID del camarero a actualizar
Body (JSON):
{
"camareroId": 1,
"nombre": "Juan Carlos Pérez"
}
Parámetros de consulta:
- initialCatalog (string, requerido): Nombre de la base de datos
- userID (string, opcional): ID de usuario de la base de datos
- password (string, opcional): Contraseña de la base de datos
200 OK
Camarero actualizado exitosamente
404 Not Found
Camarero no encontrado
500 Internal Server Error
Error interno del servidor
Casos de Uso:
- Actualización de datos personales
- Corrección de nombres mal escritos
- Cambio de información por matrimonio
- Actualización de datos por cambio de identidad
- Corrección de errores de registro
DELETE
/Master/Waiters/DeleteWaiter/{id}
Elimina un camarero del sistema. Este endpoint permite remover un empleado de servicio del restaurante.
Parámetros de ruta:
- id (double, requerido): ID del camarero a eliminar
Parámetros de consulta:
- initialCatalog (string, requerido): Nombre de la base de datos
- userID (string, opcional): ID de usuario de la base de datos
- password (string, opcional): Contraseña de la base de datos
200 OK
Camarero eliminado exitosamente
{
"message": "Waiter deleted successfully",
"waiter": {
"camareroId": 3,
"nombre": "Carlos López"
}
}
404 Not Found
Camarero no encontrado
500 Internal Server Error
Error interno del servidor
Casos de Uso:
- Baja de empleados
- Eliminación de registros duplicados
- Limpieza de datos obsoletos
- Eliminación de personal temporal
- Corrección de registros erróneos
Servicio Utilizado
IWaitersService - Servicio principal para la gestión de camareros
- GetWaiters(): Obtiene todos los camareros
- GetWaiter(): Obtiene un camarero por ID
- AddWaiter(): Crea un nuevo camarero
- UpdateWaiter(): Actualiza un camarero existente
- DeleteWaiter(): Elimina un camarero
👨💼 Ejemplos de Gestión de Personal
🎯 Configuraciones Típicas de Restaurantes
Restaurante Pequeño (5-10 mesas):
[
{
"camareroId": 1,
"nombre": "Juan Pérez"
},
{
"camareroId": 2,
"nombre": "María García"
}
]
Restaurante Mediano (15-25 mesas):
[
{
"camareroId": 1,
"nombre": "Juan Pérez"
},
{
"camareroId": 2,
"nombre": "María García"
},
{
"camareroId": 3,
"nombre": "Carlos López"
},
{
"camareroId": 4,
"nombre": "Ana Rodríguez"
}
]
Restaurante Grande (30+ mesas):
[
{
"camareroId": 1,
"nombre": "Juan Pérez"
},
{
"camareroId": 2,
"nombre": "María García"
},
{
"camareroId": 3,
"nombre": "Carlos López"
},
{
"camareroId": 4,
"nombre": "Ana Rodríguez"
},
{
"camareroId": 5,
"nombre": "Luis Martínez"
},
{
"camareroId": 6,
"nombre": "Carmen Sánchez"
},
{
"camareroId": 7,
"nombre": "Roberto Jiménez"
}
]