Skip to content

Feature/dashboard occupancy#193

Open
asmulever wants to merge 2 commits intooscarchapp:mainfrom
asmulever:feature/dashboard-occupancy
Open

Feature/dashboard occupancy#193
asmulever wants to merge 2 commits intooscarchapp:mainfrom
asmulever:feature/dashboard-occupancy

Conversation

@asmulever
Copy link

Resumen

Este PR incorpora en Dashboard un indicador de % de ocupación para exponer rápidamente el estado operativo de habitaciones y facilitar decisiones diarias de revenue y disponibilidad.

Qué cambia

  • Se agrega el cálculo de ocupación en backend tomando habitaciones con reservas activas sobre el total de habitaciones.
  • Se incorpora un nuevo widget en Dashboard con el porcentaje formateado.
  • Se contempla el caso de borde sin habitaciones configuradas (ocupación = 0%) para evitar divisiones por cero.
  • Se mantiene el comportamiento existente del resto de widgets.

Valor funcional

  • Visibilidad inmediata del nivel de ocupación del establecimiento.
  • Mejor soporte para decisiones operativas (ventas, pricing, disponibilidad).
  • Métrica simple y accionable para seguimiento diario.

Archivos relevantes

  • pms/views.py
  • pms/templates/dashboard.html
  • pms/statics/css/style.css
  • pms/tests.py
  • docs/pr-2-dashboard-occupancy.md

Validación / pruebas

  • Pruebas automáticas cubriendo:
    • cálculo correcto del porcentaje con habitaciones y reservas mixtas,
    • comportamiento cuando no existen habitaciones (retorno 0),
    • renderización del widget en Dashboard.
  • Resultado esperado: cálculo consistente y visualización estable.

Información para Deploy

  • No requiere migraciones de base de datos.
  • No agrega variables de entorno nuevas.
  • No introduce dependencias externas.
  • Riesgo bajo de despliegue (cambio acotado a cálculo + render de dashboard).

Consideraciones operativas

  • La métrica depende de la calidad de datos de reservas/estados en la base actual.
  • Recomendado validar en staging con dataset representativo para confirmar lectura esperada por operación.

Documentación

Existe documentación detallada para PM/Arquitectura y Deploy en:

  • docs/pr-2-dashboard-occupancy.md

…nte y pruebas

Contexto de negocio:

- Se implementa el requerimiento PR 2 del challenge: agregar el KPI % ocupacion en Dashboard.

- El objetivo es exponer una metrica operativa accionable sin romper la experiencia visual existente.

Implementacion funcional:

- DashboardView ahora calcula occupancy_percentage usando la formula: reservas confirmadas (state=NEW) / total de habitaciones * 100.

- Se contempla el caso borde sin habitaciones para evitar division por cero, devolviendo 0.

Mejoras de interfaz (reutilizando el diseño actual):

- Se mantiene el lenguaje visual del proyecto y se refuerza con un layout en grid responsivo para widgets.

- Se agrega una nueva tarjeta para % ocupacion alineada al resto de indicadores.

- Se mejora legibilidad con jerarquia visual consistente, colores diferenciados por KPI y estructura adaptativa para desktop/mobile.

Calidad y verificacion:

- Se añadieron tests para validar el KPI en escenario normal y sin habitaciones.

- Suite ejecutada: python manage.py test pms.tests.RoomsFilterTests pms.tests.DashboardOccupancyTests pms.tests.DashboardOccupancyWithoutRoomsTests.

- Resultado: OK (5 tests).
- Detalla objetivo, alcance y criterio de cálculo

- Enumera archivos impactados y pruebas ejecutadas

- Resume impacto operativo y analítico esperado
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