Cahier des charges : Gestion des séjours de vacances
Contexte
Une agence de voyages propose à ses clients des séjours dans des villages de vacances. Les clients peuvent créer un compte, consulter l’offre, et acheter des séjours. Les employés de l’agence administrent les villages et assurent la maintenance des réservations.
Modèle de données
Client(idc, nom, age)
Village(idv, ville, activite, prix, capacite)
Sejour(ids, idc, idv, debut, fin)
ArchiveSejour(ids, idc, idv, debut, fin, date_archivage)
- Client : identifiant unique, nom, âge.
- Village : identifiant unique, ville, activité, prix journalier (euros), capacité (nb de lits).
- Séjour : identifiant unique, client, village, date de début et date de fin.
- ArchiveSejour : conserve les séjours supprimés pour historique/audit.
Règles métier
- Les identifiants (
idc,idv,ids) sont uniques. - Plusieurs clients peuvent avoir le même nom.
- Plusieurs villages peuvent être situés dans la même ville.
- Chaque village propose une seule activité.
- Un client ne peut pas réserver deux séjours qui se chevauchent.
- La capacité d’un village ne peut pas être dépassée : pour chaque jour, le nombre de séjours actifs ≤ capacité.
- Les séjours sont limités à une année calendaire (non bissextile).
Fonctionnalités côté Client
Inscription
- Objectif : permettre à un nouvel utilisateur de s’enregistrer.
- Entrées : nom, âge.
- Sortie : identifiant client.
Consulter l’offre d’une ville
- Objectif : visualiser la liste des villages disponibles dans une ville donnée.
- Entrées : ville.
- Sortie : liste {idv, ville, activité, prix}.
Consulter les disponibilités
- Objectif : connaître les villages qui disposent encore de places sur une période donnée.
- Entrées : ville, date début, date fin.
- Sortie : liste {idv, activité, prix} (sans capacité exacte).
Réserver un séjour
- Objectif : acheter un séjour dans une ville sur une période donnée.
- Règle : parmi les villages disponibles, on sélectionne le plus cher (si plusieurs, choix arbitraire).
- Entrées : idc, ville, date début, date fin.
- Sortie : {ids, idv, activité}.
- Erreurs possibles : pas de village, capacité insuffisante.
Consulter mes séjours
- Objectif : accéder à son historique et ses réservations en cours.
- Entrées : idc.
- Sortie : liste {ids, idv, ville, activité, début, fin}.
Fonctionnalités côté Employé
Créer un village
- Objectif : ajouter une nouvelle offre dans le catalogue.
- Entrées : ville, activité, prix, capacité.
- Sortie : idv.
Modifier un village
- Objectif : mettre à jour les informations d’un village.
- Règles : identifiant, ville et prix non modifiables.
- Entrées : idv, champs modifiables.
- Sortie : confirmation.
Consulter les séjours
- Objectif : obtenir la liste des réservations selon des filtres (ville, période, client).
- Entrées : filtres.
- Sortie : liste détaillée des séjours.
Supprimer les séjours obsolètes
- Objectif : supprimer tous les séjours terminés avant une date donnée.
- Entrée : date.
- Sortie : nombre de séjours supprimés.
Annuler un séjour (administratif)
- Objectif : permettre à l’agence d’annuler une réservation exceptionnelle.
- Entrées : ids, motif.
- Sortie : confirmation.
Fonctionnalités automatiques (système)
- Archivage des séjours supprimés
- Objectif : conserver un historique des séjours supprimés (par suppression ou annulation).
- Déclenchement : suppression d’un séjour.
- Sortie : insertion dans
ArchiveSejour.