====== Sprint 10 — Reporting & Business Intelligence ======
===== Objectif du Sprint =====
Mettre en œuvre une couche décisionnelle complète permettant aux dirigeants, responsables d'agence, gestionnaires et commerciaux de piloter l'activité en temps réel.
À l'issue du Sprint 10 :
* Les indicateurs clés sont consolidés
* Les tableaux de bord sont personnalisables
* Les performances commerciales sont mesurées
* Les performances locatives sont analysées
* Les revenus sont prévisionnels
* Les exports décisionnels sont disponibles
* Les propriétaires disposent de statistiques avancées
Ce sprint clôture la première phase de maturité fonctionnelle de la plateforme.
----
====== Périmètre ======
===== Modules concernés =====
ReportingModule
DashboardModule
AnalyticsModule
ExportsModule
ForecastModule
KpiModule
----
====== Architecture décisionnelle ======
PostgreSQL
↓
Reporting Views
↓
Analytics Engine
↓
Dashboards
↓
Exports
----
====== Workflow métier ======
Collecte données
↓
Agrégation
↓
Calcul KPI
↓
Visualisation
↓
Export
----
====== User Stories ======
===== US-1001 : Consulter le tableau de bord général =====
**En tant que directeur d'agence**
Je souhaite disposer d'une vue synthétique
Afin de piloter mon activité.
----
===== Endpoint =====
GET /reporting/dashboard
----
===== KPI affichés =====
CA du mois
CA annuel
Réservations
Occupation
Contrats signés
Paiements encaissés
----
====== US-1002 : Consulter les revenus ======
===== Endpoint =====
GET /reporting/revenues
----
===== Analyses =====
Mensuelle
Trimestrielle
Annuelle
Comparative N-1
----
====== US-1003 : Consulter les performances commerciales ======
===== Endpoint =====
GET /reporting/sales
----
===== KPI =====
Prospects
Conversions
Taux conversion
CA commercial
Réservations générées
----
====== US-1004 : Consulter les performances des biens ======
===== Endpoint =====
GET /reporting/properties
----
===== Statistiques =====
Occupation
CA
Nombre réservations
Prix moyen
Durée moyenne séjour
----
====== US-1005 : Consulter les performances propriétaires ======
===== Endpoint =====
GET /reporting/owners
----
===== KPI =====
Revenus
Occupation
Nombre biens
Réservations
----
====== US-1006 : Consulter les statistiques clients ======
===== Endpoint =====
GET /reporting/customers
----
===== KPI =====
Nouveaux clients
Clients actifs
Clients récurrents
Panier moyen
----
====== Occupation ======
===== US-1007 : Calcul du taux d'occupation =====
===== Formule =====
:contentReference[oaicite:0]{index=0}
----
===== Endpoint =====
GET /reporting/occupancy
----
====== Prévisions ======
===== US-1008 : Prévisions de revenus =====
===== Endpoint =====
GET /reporting/forecast
----
===== Horizon =====
30 jours
90 jours
12 mois
----
===== Données utilisées =====
Réservations confirmées
Saisonnalité
Historique
Occupation
----
====== US-1009 : Prévisions d'occupation =====
===== Objectif =====
Estimer les périodes de forte et faible activité.
----
====== Exports ======
===== US-1010 : Export Excel =====
===== Endpoint =====
GET /reporting/export/excel
----
===== Contenu =====
KPI
Réservations
Paiements
Factures
Propriétaires
----
====== US-1011 : Export PDF =====
===== Endpoint =====
GET /reporting/export/pdf
----
===== Utilisation =====
Direction
Comptabilité
Propriétaires
----
====== Tableaux de bord ======
===== US-1012 : Dashboard Direction =====
===== Widgets =====
CA
Occupation
Top Biens
Top Propriétaires
Top Clients
Prévisions
----
===== US-1013 : Dashboard Commercial =====
===== Widgets =====
Prospects
Conversions
Pipeline
Tâches
Activités
----
===== US-1014 : Dashboard Gestionnaire =====
===== Widgets =====
Réservations
Contrats
Paiements
Check-in
Check-out
----
====== Statistiques avancées ======
===== US-1015 : Top biens =====
===== Classement =====
CA
Occupation
Réservations
----
===== US-1016 : Top clients =====
===== Critères =====
Montant dépensé
Nombre séjours
Ancienneté
----
===== US-1017 : Top propriétaires =====
===== Critères =====
Revenus
Occupation
Nombre biens
----
====== Modèle Prisma ======
===== ReportingSnapshot =====
model ReportingSnapshot {
id String @id @default(uuid())
snapshotDate DateTime
revenue Decimal
occupancyRate Decimal
reservationCount Int
}
----
===== KpiSnapshot =====
model KpiSnapshot {
id String @id @default(uuid())
metric String
value Decimal
period String
calculatedAt DateTime
}
----
====== Vues SQL ======
===== Revenue View =====
CREATE VIEW reporting_revenue_summary
AS
SELECT
year,
month,
SUM(total_amount)
FROM reservations
GROUP BY year, month;
----
===== Occupancy View =====
CREATE VIEW reporting_occupancy_summary
AS
SELECT
property_id,
occupancy_rate
FROM ...
----
====== Architecture Backend ======
src/modules/reporting
├── dashboard
│
├── analytics
│
├── revenues
│
├── occupancy
│
├── forecasts
│
├── exports
│
└── kpis
----
====== Domain Services ======
DashboardService
AnalyticsService
RevenueService
OccupancyService
ForecastService
ExportService
----
====== Événements métier ======
===== KpiCalculated =====
KpiCalculated
----
===== ReportGenerated =====
ReportGenerated
----
====== Swagger ======
===== Tags =====
Reporting
Analytics
Forecasts
Exports
Dashboards
----
===== Volume API =====
Environ :
25 endpoints
----
====== Frontend ======
===== Pages =====
/reports
/reports/revenues
/reports/occupancy
/reports/properties
/reports/owners
/reports/customers
/reports/forecast
----
===== Composants =====
RevenueChart
OccupancyChart
KpiCard
ForecastChart
PropertyRanking
OwnerRanking
CustomerRanking
----
====== Dashboard Direction ======
===== KPI =====
CA
Occupation
Réservations
Paiements
Top Biens
Prévisions
----
====== Dashboard Commercial ======
===== KPI =====
Prospects
Conversions
Pipeline
Activités
Objectifs
----
====== Dashboard Gestion ======
===== KPI =====
Réservations
Contrats
Paiements
Arrivées
Départs
----
====== Tests ======
===== Unitaires =====
RevenueService
ForecastService
OccupancyService
AnalyticsService
----
===== Intégration =====
Paiement
↓
Facture
↓
Agrégation
↓
Reporting
----
===== E2E =====
Connexion
↓
Dashboard
↓
Analyse revenus
↓
Export Excel
↓
Export PDF
----
====== Définition de terminé ======
Le Sprint 10 est terminé lorsque :
* Dashboards opérationnels
* KPI opérationnels
* Reporting financier opérationnel
* Reporting commercial opérationnel
* Reporting occupation opérationnel
* Prévisions opérationnelles
* Exports opérationnels
* Swagger à jour
* Tests verts
* CI verte
----
====== Livrables ======
* ReportingModule
* DashboardModule
* AnalyticsModule
* ForecastModule
* ExportsModule
* KpiModule
* DTO
* Swagger
* Tests
* Migrations Prisma
----
====== Démonstration Sprint ======
Scénario métier :
1. Consultation dashboard direction
2. Analyse revenus
3. Analyse occupation
4. Analyse performances biens
5. Analyse performances propriétaires
6. Prévisions
7. Export Excel
8. Export PDF
----
====== Bilan Release 2.0 ======
À l'issue du Sprint 10, la plateforme dispose de :
* Gestion utilisateurs
* Catalogue immobilier
* Réservations
* Contrats électroniques
* Paiements
* Facturation
* Extranet propriétaire
* CRM
* Communications
* Reporting décisionnel
La plateforme couvre désormais l'intégralité du cycle métier d'une agence de location professionnelle.
----
====== Phase suivante ======
La roadmap entre maintenant dans la phase d'industrialisation avancée.
===== Sprint 11 — Administration & Paramétrage =====
Objectif :
Permettre à chaque agence de configurer entièrement son environnement.
Modules concernés :
AdministrationModule
AgencySettingsModule
WorkflowModule
CustomFieldsModule
AuditModule
FeatureFlagsModule
Fonctionnalités :
* Paramétrage agence
* Paramétrage métier
* Champs personnalisés
* Audit complet
* Journaux système
* Feature Flags
* Multi-agence avancé
À l'issue du Sprint 11, la plateforme deviendra entièrement configurable sans intervention technique.