Descripción General
Los endpoints de Gestión de Tramos Horarios proporcionan las operaciones fundamentales para administrar los diferentes períodos de tiempo en los que el restaurante ofrece sus servicios. Estos endpoints permiten configurar horarios de apertura, cierre y períodos de servicio especiales que se utilizan en todo el sistema para validar reservas, pedidos y gestión de personal.
🎯 Características de los Tramos Horarios
- Identificación única: Cada tramo horario tiene un ID único en el sistema
- Horarios precisos: Hora de inicio y finalización con precisión de DateTime
- Flexibilidad: Permite configurar cualquier período de tiempo
- Integración: Se utiliza en reservas, pedidos y gestión de personal
- Validación: Verificación de que la hora final sea posterior a la inicial
Endpoints Disponibles
GET
/Master/TramosHorario/GetTramosHorarios
Obtiene todos los tramos horarios configurados en el sistema. Este endpoint devuelve una lista completa de todos los períodos de servicio registrados 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 tramos horarios devuelta exitosamente
[
{
"tramoHorario": "DESAYUNO",
"horaInicio": "2024-01-15T07:00:00",
"horaFinal": "2024-01-15T11:00:00"
},
{
"tramoHorario": "ALMUERZO",
"horaInicio": "2024-01-15T12:00:00",
"horaFinal": "2024-01-15T16:00:00"
},
{
"tramoHorario": "CENA",
"horaInicio": "2024-01-15T19:00:00",
"horaFinal": "2024-01-15T23:00:00"
}
]
500 Internal Server Error
Error interno del servidor
Casos de Uso:
- Configuración inicial de horarios del restaurante
- Consulta de tramos disponibles para reservas
- Validación de horarios de servicio
- Configuración de turnos de personal
- Análisis de disponibilidad por horarios
GET
/Master/TramosHorario/GetTramoHorario/{tramoHorario}
Obtiene un tramo horario específico por su ID. Este endpoint permite recuperar la información detallada de un período de servicio en particular.
Parámetros de ruta:
- tramoHorario (string, requerido): ID único del tramo horario
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
Tramo horario encontrado y devuelto
{
"tramoHorario": "ALMUERZO",
"horaInicio": "2024-01-15T12:00:00",
"horaFinal": "2024-01-15T16:00:00"
}
404 Not Found
Tramo horario no encontrado
500 Internal Server Error
Error interno del servidor
Casos de Uso:
- Verificación de horarios específicos
- Validación de disponibilidad para reservas
- Configuración de turnos específicos
- Análisis de horarios por período
- Validación de pedidos por horario
POST
/Master/TramosHorario/AddTramoHorario
Crea un nuevo tramo horario en el sistema. Este endpoint permite agregar un nuevo período de servicio al restaurante.
Body (JSON):
{
"tramoHorario": "SERVICIO_CONTINUO",
"horaInicio": "2024-01-15T12:00:00",
"horaFinal": "2024-01-15T00:00:00"
}
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
Tramo horario creado exitosamente
{
"tramoHorario": "SERVICIO_CONTINUO",
"horaInicio": "2024-01-15T12:00:00",
"horaFinal": "2024-01-15T00:00:00"
}
500 Internal Server Error
Error interno del servidor
Casos de Uso:
- Configuración de nuevos horarios de servicio
- Creación de horarios para eventos especiales
- Configuración de horarios de temporada
- Adaptación de horarios por demanda
- Configuración de horarios de fin de semana
PUT
/Master/TramosHorario/UpdateTramoHorario/{tramoHorario}
Actualiza un tramo horario existente en el sistema. Este endpoint permite modificar los horarios de un período de servicio ya configurado.
Parámetros de ruta:
- tramoHorario (string, requerido): ID del tramo horario a actualizar
Body (JSON):
{
"tramoHorario": "ALMUERZO",
"horaInicio": "2024-01-15T12:30:00",
"horaFinal": "2024-01-15T16:30:00"
}
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
Tramo horario actualizado exitosamente
404 Not Found
Tramo horario no encontrado
500 Internal Server Error
Error interno del servidor
Casos de Uso:
- Ajuste de horarios por temporada
- Modificación de horarios por demanda
- Adaptación de horarios por eventos
- Corrección de horarios mal configurados
- Optimización de horarios de servicio
DELETE
/Master/TramosHorario/DeleteTramoHorario/{tramoHorario}
Elimina un tramo horario del sistema. Este endpoint permite remover un período de servicio del restaurante.
Parámetros de ruta:
- tramoHorario (string, requerido): ID del tramo horario 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
Tramo horario eliminado exitosamente
{
"message": "Tramo horario deleted successfully",
"tramoHorarioEntity": {
"tramoHorario": "HORARIO_ESPECIAL",
"horaInicio": "2024-01-15T18:00:00",
"horaFinal": "2024-01-15T22:00:00"
}
}
404 Not Found
Tramo horario no encontrado
500 Internal Server Error
Error interno del servidor
Casos de Uso:
- Eliminación de horarios temporales
- Limpieza de horarios obsoletos
- Reorganización de horarios de servicio
- Eliminación de horarios de eventos pasados
- Optimización de configuración de horarios
Servicio Utilizado
ITramosHorarioService - Servicio principal para la gestión de tramos horarios
- GetTramosHorarios(): Obtiene todos los tramos horarios
- GetTramoHorario(): Obtiene un tramo horario por ID
- AddTramoHorario(): Crea un nuevo tramo horario
- UpdateTramoHorario(): Actualiza un tramo horario existente
- DeleteTramoHorario(): Elimina un tramo horario
🕐 Ejemplos de Configuración
🎯 Configuraciones Típicas de Restaurantes
Restaurante Tradicional:
[
{
"tramoHorario": "DESAYUNO",
"horaInicio": "2024-01-15T07:00:00",
"horaFinal": "2024-01-15T11:00:00"
},
{
"tramoHorario": "ALMUERZO",
"horaInicio": "2024-01-15T12:00:00",
"horaFinal": "2024-01-15T16:00:00"
},
{
"tramoHorario": "CENA",
"horaInicio": "2024-01-15T19:00:00",
"horaFinal": "2024-01-15T23:00:00"
}
]
Restaurante de Servicio Continuo:
[
{
"tramoHorario": "SERVICIO_CONTINUO",
"horaInicio": "2024-01-15T12:00:00",
"horaFinal": "2024-01-15T00:00:00"
}
]
Restaurante Nocturno:
[
{
"tramoHorario": "CENA_NOCTURNA",
"horaInicio": "2024-01-15T20:00:00",
"horaFinal": "2024-01-15T02:00:00"
}
]