El módulo de Residencia centraliza la administración física de la residencia universitaria en Pensión a la Medida. Desde aquí se gestiona el inventario completo de habitaciones (número, tipo, capacidad, piso y mobiliario asignado), se consultan en tiempo real los alumnos actualmente hospedados con sus fechas de entrada y salida, y se mantiene el catálogo de mobiliario disponible para asignar a cada habitación.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/amarcano568/pensionalamedida/llms.txt
Use this file to discover all available pages before exploring further.
Acceso al módulo
El acceso a la vista principal requiere que el usuario autenticado tenga el permisogestion_residencia.
| Método | Ruta | Controlador → Método |
|---|---|---|
GET | /gestion-residencia | ResidenciaController@gestionResidencia |
Mobiliarios::get()) para poblar el selector de mobiliario del formulario de habitaciones.
Habitaciones
Listar habitaciones
habitaciones en formato jQuery DataTables. Cada fila incluye una columna action con los botones para editar y eliminar la habitación, identificados con data-accion="editar-habitacion" y data-accion="eliminar-habitacion" respectivamente.
Obtener datos de una habitación
ID de la habitación en la tabla
habitaciones.Crear o actualizar una habitación
Habitaciones::updateOrCreate(['id' => $request->id_hab], [...]). Si id_hab no corresponde a ningún registro existente, se crea una nueva habitación.
ID de la habitación a actualizar. Enviar
null o un ID inexistente para crear una nueva habitación.Número o código identificador de la habitación (p. ej.
"101", "B-02"). Se almacena en habitaciones.num_habitacion.Tipo de habitación (p. ej.
"Individual", "Doble", "Suite"). Se almacena en habitaciones.tipo.Capacidad máxima de personas de la habitación. Se almacena en
habitaciones.capacidad.Número de piso en el que se encuentra la habitación. Se almacena en
habitaciones.piso.Array de IDs de mobiliarios seleccionados (del catálogo
mobiliarios). Los IDs se unen con implode('|', $request->mobiliario_hab) y el resultado se almacena en habitaciones.mobiliario.Observaciones o notas sobre la habitación. Se almacena en
habitaciones.observaciones.Habitaciones declara los siguientes campos fillable:
Eliminar una habitación
ID de la habitación a eliminar. Usa
Habitaciones::find($request->id_hab)->delete().Huéspedes activos
uuid_habitacion en la tabla alumnos no es NULL.
La consulta realiza un JOIN entre alumnos y hospedajes usando hospedajes.uuid = alumnos.uuid_habitacion:
Columnas devueltas
| Columna | Origen | Descripción |
|---|---|---|
strNombre | alumnos | Nombre(s) del alumno huésped |
strApellidos | alumnos | Apellidos del alumno huésped |
num_habitacion | hospedajes | Número de la habitación asignada |
desde | hospedajes | Fecha de inicio del hospedaje |
hasta | hospedajes | Fecha de fin del hospedaje |
detalle (computed) | — | Tarjeta HTML con el mobiliario de la habitación (ver DetalleHabitacion) |
DetalleHabitacion($num_habitacion) localiza la habitación por número, expande la cadena mobiliario (separada por |), resuelve cada ID en el catálogo Mobiliarios y devuelve una lista <ul class="list-group"> con la descripción de cada pieza de mobiliario.
El mobiliario se almacena como una lista delimitada por
| de IDs en la columna habitaciones.mobiliario (p. ej. "2|4|7"). El método DetalleHabitacion resuelve estos IDs consultando la tabla mobiliarios en tiempo de renderizado para obtener la descripción legible de cada elemento. Esto significa que si se elimina un registro de mobiliario del catálogo, las habitaciones que lo referencien mostrarán un elemento vacío hasta que se actualice su configuración.Mobiliario
El catálogo de mobiliario define los elementos disponibles para asignar a las habitaciones. Cada pieza tiene tipo, descripción y estado.Listar mobiliarios
mobiliarios en formato DataTables. Cada fila incluye botones de acción para editar (data-accion="editar-mobiliario") y eliminar (data-accion="eliminar-mobiliario").
Obtener datos de un mobiliario
ID del mobiliario a consultar. Usa
Mobiliarios::find($request->id_mobiliario).Crear o actualizar un mobiliario
Mobiliarios::updateOrCreate(['id' => $request->id_mobiliario], [...]). Si el ID no existe, se crea un nuevo registro.
ID del mobiliario a actualizar. Enviar
null o un ID inexistente para crear un nuevo registro.Categoría o tipo del mobiliario (p. ej.
"Dormitorio", "Baño", "Estudio"). Se almacena en mobiliarios.tipo.Descripción detallada del elemento de mobiliario. Se almacena en
mobiliarios.descripcion.Estado del mobiliario.
1 = activo / disponible, 0 = inactivo / fuera de servicio. Se almacena en mobiliarios.status.Eliminar un mobiliario
ID del mobiliario a eliminar. Usa
Mobiliarios::find($request->id_mobiliario)->delete().