Table des matières
Sprint 18 — Distribution, OTA & Channel Manager
Objectif du Sprint
Transformer la plateforme en véritable Channel Manager capable de diffuser automatiquement les biens sur les principaux canaux de réservation et de synchroniser les disponibilités, les tarifs et les réservations en temps réel.
À l'issue du Sprint 18 :
- Les biens sont publiés sur plusieurs plateformes
- Les calendriers sont synchronisés
- Les tarifs sont synchronisés
- Les réservations sont synchronisées
- Les surréservations sont évitées
- Les gestionnaires pilotent tous les canaux depuis une seule interface
Ce sprint constitue une étape stratégique majeure pour la commercialisation des biens.
Vision Architecture
Architecture cible
Plateforme ↓ Channel Manager ├── Airbnb ├── Booking.com ├── Vrbo / Abritel ├── Google Vacation Rentals ├── Expedia └── iCal ↓ Synchronisation ↓ Catalogue Central
Source de vérité
La plateforme reste la source principale :
Biens Tarifs Disponibilités Réservations
Les OTA reçoivent les données synchronisées.
Périmètre
Modules concernés
ChannelManagerModule OTAModule DistributionModule AvailabilitySyncModule RateSyncModule ReservationSyncModule ICalModule
User Stories
US-1801 : Connecter un canal
En tant qu'administrateur
Je souhaite connecter une plateforme OTA
Afin de diffuser mes biens.
Endpoint
POST /channels/connect
Plateformes
Airbnb Booking.com Vrbo Expedia Google VR
Données
Compte Clé API Identifiant OTA Configuration
US-1802 : Consulter les canaux connectés
Endpoint
GET /channels
Informations
Canal Statut Dernière synchronisation Nombre biens publiés
Distribution
US-1803 : Publier un bien
Endpoint
POST /distribution/properties/{id}/publish
Étapes
Bien ↓ Transformation ↓ Mapping OTA ↓ Publication
US-1804 : Dépublier un bien
Endpoint
POST /distribution/properties/{id}/unpublish
US-1805 : Gérer le mapping
Exemple
Property.title ↓ Airbnb.name ↓ Booking.property_name
Synchronisation Disponibilités
US-1806 : Synchroniser les calendriers
Endpoint
POST /sync/availability
Déclencheurs
Nouvelle réservation Annulation Blocage calendrier Modification disponibilité
US-1807 : Importer les réservations OTA
Workflow
OTA ↓ Réservation ↓ Webhook ↓ Import ↓ Réservation locale
Résultat
Réservation unique Blocage calendrier
Synchronisation Tarifs
US-1808 : Synchroniser les prix
Endpoint
POST /sync/rates
Sources
Tarif standard Revenue Management Tarifs saisonniers
US-1809 : Appliquer des majorations OTA
Exemple
Prix plateforme 100 € Booking +10 % ↓ 110 €
Paramétrage
Par OTA Par bien Par période
Gestion des réservations
US-1810 : Import automatique
Sources
Airbnb Booking Vrbo
Contrôles
Doublons Disponibilités Paiements
US-1811 : Synchronisation des annulations
Workflow
OTA ↓ Annulation ↓ Mise à jour locale ↓ Libération calendrier
Prévention des surréservations
US-1812 : Verrouillage calendrier
Objectif
Empêcher :
Double réservation Conflits OTA Conflits manuels
Stratégie
Lock pessimiste + Synchronisation immédiate
iCal
US-1813 : Export iCal
Endpoint
GET /ical/properties/{id}
Compatibilité
Google Calendar Apple Calendar Outlook Airbnb Booking
US-1814 : Import iCal
Endpoint
POST /ical/import
Tableau de bord OTA
US-1815 : Consulter les performances
KPI
Réservations CA Occupation Canal Commission OTA
Répartition
Airbnb Booking Vrbo Direct
Gestion des commissions
US-1816 : Calculer les commissions
Exemple
Réservation 1 000 € Commission OTA 15 % ↓ 150 €
Calcul
:contentReference[oaicite:0]{index=0}
Modèle Prisma
Channel
model Channel {
id String @id @default(uuid())
code String @unique
name String
active Boolean
}
ChannelConnection
model ChannelConnection {
id String @id @default(uuid())
tenantId String
channelId String
status String
credentials Json
}
PropertyDistribution
model PropertyDistribution {
id String @id @default(uuid())
propertyId String
channelId String
externalId String
published Boolean
}
SyncExecution
model SyncExecution {
id String @id @default(uuid())
channelId String
syncType String
status String
startedAt DateTime
completedAt DateTime?
}
ChannelReservation
model ChannelReservation {
id String @id @default(uuid())
reservationId String
channelId String
externalReference String
}
Architecture Backend
src/modules/channel-manager ├── channels │ ├── distribution │ ├── availability-sync │ ├── rate-sync │ ├── reservation-sync │ ├── mappings │ └── ical
Domain Services
ChannelService DistributionService AvailabilitySyncService RateSyncService ReservationSyncService IcalService
Connecteurs OTA
Airbnb
Airbnb Connector
Booking.com
Booking Connector
Vrbo
Vrbo Connector
Expedia
Expedia Connector
Événements métier
PropertyPublished
PropertyPublished
AvailabilitySynced
AvailabilitySynced
ReservationImported
ReservationImported
RateUpdated
RateUpdated
Swagger
Tags
Channels Distribution AvailabilitySync RateSync ReservationSync ICal
Volume API
Environ :
40 endpoints
Frontend
Pages
/channel-manager /channel-manager/channels /channel-manager/distribution /channel-manager/sync /channel-manager/performance /channel-manager/mappings
Composants
ChannelConnectionWizard DistributionManager SyncMonitor ChannelPerformanceDashboard MappingEditor
Dashboard Channel Manager
KPI
Biens publiés Réservations OTA CA OTA Commissions Synchronisations Erreurs
Tests
Unitaires
DistributionService AvailabilitySyncService RateSyncService ReservationSyncService
Intégration
Réservation OTA ↓ Webhook ↓ Import ↓ Blocage calendrier ↓ Synchronisation
E2E
Connexion Booking ↓ Publication bien ↓ Réservation OTA ↓ Import local ↓ Mise à jour disponibilité ↓ Synchronisation Airbnb
Définition de terminé
Le Sprint 18 est terminé lorsque :
- Airbnb connecté
- Booking.com connecté
- Vrbo connecté
- iCal opérationnel
- Synchronisation calendriers opérationnelle
- Synchronisation tarifs opérationnelle
- Synchronisation réservations opérationnelle
- Prévention des surréservations opérationnelle
- Swagger à jour
- Tests verts
- CI verte
Livrables
- ChannelManagerModule
- OTAModule
- DistributionModule
- AvailabilitySyncModule
- RateSyncModule
- ReservationSyncModule
- ICalModule
- DTO
- Swagger
- Tests
- Migrations Prisma
Bilan Release 3.4
À l'issue du Sprint 18 :
- Distribution multi-canaux
- Synchronisation OTA
- Gestion centralisée des disponibilités
- Revenue Management connecté à la distribution
- Réduction du risque de surréservation
La plateforme devient un véritable PMS (Property Management System) couplé à un Channel Manager professionnel.
Sprint suivant
Sprint 19 — Gouvernance, Sécurité Avancée & Conformité
Objectif :
Atteindre un niveau de sécurité, conformité et gouvernance compatible avec les exigences des grands comptes et des réseaux internationaux.
Modules concernés :
SecurityModule ComplianceModule DataGovernanceModule IdentityModule RiskManagementModule
Fonctionnalités :
- MFA
- SSO SAML/OIDC
- Gestion des consentements
- RGPD avancé
- Journalisation légale
- Classification des données
- Gestion des risques
- Politiques de sécurité
À l'issue du Sprint 19, la plateforme sera prête pour des déploiements entreprise (Enterprise).