Skip to content

feat: implement booking engine technical challenge#256

Open
juaneml wants to merge 1 commit intooscarchapp:mainfrom
juaneml:prueba_tecnica
Open

feat: implement booking engine technical challenge#256
juaneml wants to merge 1 commit intooscarchapp:mainfrom
juaneml:prueba_tecnica

Conversation

@juaneml
Copy link
Copy Markdown

@juaneml juaneml commented Apr 23, 2026

📌 Resumen

Este pull request implementa los 3 requisitos solicitados en la prueba técnica del sistema de reservas:

  1. Filtro de habitaciones por nombre en el panel de Rooms
  2. Widget de porcentaje de ocupación en el Dashboard
  3. Edición de fechas en reservas con validación de disponibilidad

🧠 Contexto técnico

La solución se ha implementado respetando la arquitectura existente del proyecto Django, manteniendo separación de responsabilidades entre views, forms y templates, sin introducir cambios en el diseño visual.


🧩 Cambios realizados

1. Filtro de habitaciones

  • Búsqueda por nombre (case-insensitive)
  • Filtrado por coincidencia parcial

2. % de ocupación

  • Nuevo widget en dashboard
  • Cálculo: reservas confirmadas / total de habitaciones
  • Manejo de casos sin habitaciones

3. Edición de fechas

  • Nueva vista para edición de check-in/check-out
  • Validación de disponibilidad
  • Reutilización de lógica de precios

🧪 Tests

Se han añadido tests para validar la lógica de negocio:

  • Filtrado de habitaciones
  • Cálculo de ocupación
  • Validación de disponibilidad en edición de fechas

Todos los tests han sido ejecutados y están pasando correctamente en el entorno local.


✅ Estado

Prueba técnica completada correctamente, cumpliendo todos los requisitos solicitados.

- room search filter functionality
- occupation percentage widget in dashboard
- booking dates editing with validation
- unit tests added
- documentation added
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant