Table des matières

Sprint 17 — Revenue Management & Optimisation Tarifaire

Objectif du Sprint

Mettre en œuvre un moteur avancé de Revenue Management permettant d'optimiser automatiquement les revenus locatifs tout en conservant un contrôle total par les gestionnaires.

À l'issue du Sprint 17 :

Ce sprint apporte une couche d'intelligence économique directement reliée au catalogue, aux réservations et au reporting.


Principes Métier

Objectif

Le système ne remplace pas le gestionnaire.

Il fournit :

La décision finale reste configurable :

MANUEL

ASSISTÉ

AUTOMATIQUE

Périmètre

Modules concernés

RevenueManagementModule

DynamicPricingModule

YieldManagementModule

CompetitorAnalysisModule

PricingRulesModule

ForecastRevenueModule

Architecture Fonctionnelle

Historique Réservations

+

Occupation

+

Saisonnalité

+

Événements

+

Concurrence

↓

Revenue Engine

↓

Recommandation Tarifaire

↓

Validation

↓

Publication

User Stories

US-1701 : Consulter les recommandations tarifaires

En tant que gestionnaire

Je souhaite obtenir une recommandation de prix

Afin d'optimiser mes revenus.


Endpoint

GET /revenue-management/recommendations

Réponse

Tarif actuel

Tarif recommandé

Variation

Justification

US-1702 : Calculer un tarif dynamique

Endpoint

POST /dynamic-pricing/calculate

Facteurs

Occupation

Saison

Demande

Historique

Anticipation

Événements

Exemple

Prix base

100 €

Occupation élevée

+20 %

↓

120 €

US-1703 : Appliquer une recommandation

Endpoint

POST /dynamic-pricing/apply

Modes

Validation manuelle

Validation automatique

US-1704 : Configurer des règles tarifaires

Endpoint

POST /pricing-rules

Exemples

Occupation > 80%

↓

+15%

-------------------

Réservation J-2

↓

-20%

-------------------

Août

↓

+30%

US-1705 : Prioriser les règles

Objectif

Résoudre les conflits.


Exemple

Règle 1

Priorité 100

Règle 2

Priorité 50

Yield Management

US-1706 : Optimiser le taux d'occupation

Objectif

Équilibrer :

Prix

Occupation

Revenus

Indicateurs

ADR

RevPAR

Occupation

CA

ADR

Average Daily Rate :

:contentReference[oaicite:0]{index=0}


RevPAR

Revenue Per Available Room :

:contentReference[oaicite:1]{index=1}


US-1707 : Identifier les périodes creuses

Sources

Historique

Prévisions

Calendrier

Résultat

Liste périodes

Actions recommandées

Impact estimé

Simulation

US-1708 : Simuler un scénario

Endpoint

POST /revenue-management/simulations

Exemple

Prix +10%

↓

Occupation -3%

↓

CA +7%

Résultat

Revenus

Occupation

Bénéfices

Comparaison

US-1709 : Comparer plusieurs scénarios

Types

Conservateur

Standard

Agressif

Analyse concurrentielle

US-1710 : Analyser les concurrents

Sources

Données importées

OTA

Études marché

Critères

Prix

Occupation

Capacité

Localisation

US-1711 : Positionnement tarifaire

Résultat

Moins cher

Aligné

Plus cher

Score

Indice compétitivité

Prévisions

US-1712 : Prévoir les revenus

Endpoint

GET /forecast/revenue

Horizon

30 jours

90 jours

12 mois

US-1713 : Prévoir l'occupation

Endpoint

GET /forecast/occupancy

Résultat

Courbe prévisionnelle

Intervalle confiance

Scénarios

Alertes

US-1714 : Détecter une anomalie tarifaire

Exemples

Prix trop bas

Prix trop élevé

Occupation anormale

Écart concurrence

US-1715 : Alerte opportunité

Exemple

Festival local

↓

Demande forte

↓

Hausse recommandée

Modèle Prisma

PricingRule

model PricingRule {
 
  id                String @id @default(uuid())
 
  propertyId        String?
 
  name              String
 
  priority          Int
 
  active            Boolean
 
  conditions        Json
 
  actions           Json
}

DynamicPrice

model DynamicPrice {
 
  id                String @id @default(uuid())
 
  propertyId        String
 
  date              DateTime
 
  basePrice         Decimal
 
  calculatedPrice   Decimal
 
  source            String
}

RevenueSimulation

model RevenueSimulation {
 
  id                String @id @default(uuid())
 
  name              String
 
  assumptions       Json
 
  result            Json
}

CompetitorSnapshot

model CompetitorSnapshot {
 
  id                String @id @default(uuid())
 
  propertyId        String
 
  competitorName    String
 
  observedPrice     Decimal
 
  observedAt        DateTime
}

Architecture Backend

src/modules/revenue-management

├── pricing
│
├── rules
│
├── simulations
│
├── competitors
│
├── forecasting
│
└── recommendations

Domain Services

DynamicPricingService

RevenueSimulationService

CompetitorAnalysisService

ForecastRevenueService

RecommendationService

Événements métier

DynamicPriceCalculated

DynamicPriceCalculated

RecommendationPublished

RecommendationPublished

RevenueForecastGenerated

RevenueForecastGenerated

Swagger

Tags

RevenueManagement

DynamicPricing

PricingRules

CompetitorAnalysis

Forecasting

Volume API

Environ :

30 endpoints

Frontend

Pages

/revenue-management

/revenue-management/pricing

/revenue-management/rules

/revenue-management/simulations

/revenue-management/competitors

/revenue-management/forecasts

Composants

RevenueDashboard

DynamicPriceCalendar

PricingRuleBuilder

RevenueSimulator

CompetitorTable

ForecastGraph

Dashboard Revenue

KPI

ADR

RevPAR

Occupation

Prix moyen

CA prévisionnel

CA réalisé

Tests

Unitaires

DynamicPricingService

ForecastRevenueService

RecommendationService

CompetitorAnalysisService

Intégration

Occupation

↓

Calcul tarif

↓

Recommandation

↓

Validation

↓

Publication

E2E

Création règle

↓

Simulation

↓

Calcul dynamique

↓

Validation gestionnaire

↓

Publication tarif

Définition de terminé

Le Sprint 17 est terminé lorsque :


Livrables


Bilan Release 3.3

À l'issue du Sprint 17 :

La plateforme atteint un niveau comparable aux solutions professionnelles de gestion locative et d'hôtellerie en matière d'optimisation des revenus.


Sprint suivant

Sprint 18 — Distribution, OTA & Channel Manager

Objectif :

Diffuser automatiquement les biens sur les plateformes partenaires et synchroniser les réservations.

Modules concernés :

ChannelManagerModule

OTAModule

DistributionModule

AvailabilitySyncModule

RateSyncModule

Fonctionnalités :

À l'issue du Sprint 18, la plateforme deviendra un véritable Channel Manager.

DokuWiki Appliance - Powered by TurnKey Linux