Première étape de la construction de Rezyo : poser les fondations techniques d'un channel manager capable de synchroniser des dizaines de plateformes de réservation en temps réel.
Le défi technique
Un channel manager sportif doit gérer un problème complexe : le même créneau horaire peut exister simultanément sur AnyBuddy, Playtomic, TouTerrain et d'autres plateformes. Chaque plateforme a son propre format de données, ses propres API, et ses propres contraintes.
Event Sourcing
Plutôt qu'un simple CRUD, nous avons choisi l'event sourcing. Chaque action (réservation créée, créneau bloqué, conflit détecté) est enregistrée comme un événement immuable. Cela nous permet de :
- Rejouer l'historique pour comprendre exactement ce qui s'est passé
- Détecter les incohérences entre plateformes par réconciliation
- Garantir la traçabilité complète de chaque modification
Domain Model
Notre modèle de données s'articule autour de cinq entités clés :
- Venue : le club physique (localisation, fuseau horaire)
- Court : un terrain au sein du club (type de surface, sport)
- Slot : un créneau horaire avec prix et disponibilité
- Reservation : une réservation client avec sa plateforme d'origine
- Mapping : la correspondance d'un terrain entre deux plateformes
Prochaine étape
L'architecture est en place. Prochaine priorité : sécuriser le stockage des identifiants des plateformes partenaires.