# CHANGELOG — Coaster World v1.61.0

## Programme / Roadbook de sortie
- Nouveau bloc `Programme de la journée` directement dans la fiche d'une sortie de groupe.
- Création d'étapes ordonnées pour préparer le déroulé de la journée.
- Cinq types d'étapes : attraction, repas, pause, rendez-vous et autre.
- Heure indicative facultative, contrôlée pour rester comprise dans les dates de la sortie.
- Titre libre ou automatiquement repris depuis l'attraction sélectionnée.
- Note facultative jusqu'à 500 caractères.
- Jusqu'à 100 étapes par sortie.

## Attractions et Live
- Une étape peut être reliée à une attraction publiée du parc de la sortie.
- Le nom traduit de l'attraction est utilisé dans le roadbook.
- Le temps d'attente Live connu est affiché directement sur l'étape.
- À défaut de temps connu, le statut Live de l'attraction est affiché lorsque disponible.

## Équipes
- Une étape peut concerner tout le groupe ou une équipe créée dans la sortie.
- Une équipe d'une autre sortie ne peut jamais être affectée à une étape.
- Si une équipe est supprimée, ses étapes restent dans le programme et repassent automatiquement sur `Tout le groupe`.

## Organisation
- Le propriétaire du groupe et les administrateurs peuvent créer, modifier, supprimer et réordonner les étapes.
- Boutons pour monter ou descendre une étape dans le roadbook.
- Quatre statuts partagés : `À faire`, `En cours`, `Fait`, `Ignoré`.
- Le passage à `Fait` mémorise l'utilisateur et la date de validation.
- Les participants consultent le programme sans pouvoir modifier le planning global.
- Le programme devient en lecture seule lorsque la sortie est annulée ou terminée.

## Sécurité et cohérence
- Vérification stricte que le programme appartient au groupe et à la sortie demandés.
- Vérification des droits propriétaire / administrateur avant toute modification.
- Les attractions sont limitées aux attractions publiées du parc concerné.
- Les équipes sont limitées aux équipes appartenant à la même sortie.
- Protection CSRF via les formulaires Laravel existants.

## Interface
- Présentation en roadbook vertical avec numéro d'étape, horaire, type, statut, équipe et informations Live.
- Formulaire de création repliable.
- Formulaire de modification repliable par étape.
- Responsive ordinateur / tablette / smartphone.
- Thèmes clair/sombre conservés.
- Traductions FR / EN / DE / ES / IT.

## Base de données
- Nouvelle table `group_visit_program_items`.
- Migration Laravel : `database/migrations/2026_08_13_001200_create_group_visit_program_items_table.php`.
- Alternative phpMyAdmin : `database/migrations/sql/coaster_world_v1.61.0_group_visit_program.sql`.
