feat(plugins): seasonality + min-stay #30

Merged
tarzzan merged 1 commit from feat/seasonality-and-min-stay into main 2026-05-31 08:50:29 +00:00
Owner

Phase 3.2 saisons Guyane (DRY/LOW_WATER/WET) + bandeau dynamique. Phase 3.4 contraintes séjour (min/max nuits + capa min).

Phase 3.2 saisons Guyane (DRY/LOW_WATER/WET) + bandeau dynamique. Phase 3.4 contraintes séjour (min/max nuits + capa min).
tarzzan added 1 commit 2026-05-31 08:50:28 +00:00
Plugin seasonality :
- Migration : Carbet.seasonalConstraints JSONB nullable
- lib/seasonality.ts : enum Season (DRY|LOW_WATER|WET), currentSeason() helper
  Guyane (juil-sept sèche, oct-nov étiage, déc-juin pluies), parseSeasonalConstraints,
  isCurrentlyOpen, SEASON_META (label/emoji/tone)
- Composant <SeasonBanner /> server, gated par plugin, ajouté dans layout
  au-dessus de tout le contenu — bandeau couleur+emoji+message contextuel

Plugin min-stay :
- Migration : Carbet.minStayNights, maxStayNights, minCapacity nullable
- Composant <StayConstraints /> client, gated par plugin — pill text
  '2 nuits minimum', '2-7 nuits', 'groupe 4+ recommandé'
- Carbet card et fiche enrichies avec les contraintes

Tous deux désactivables : sans le toggle, comportement legacy inchangé.
tarzzan merged commit 32410c95c7 into main 2026-05-31 08:50:29 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: tarzzan/karbe#30
No description provided.