Module — Paramétrages globaux (Settings)
Synchronisé avec le code. Mettre à jour à chaque changement structurel.
Rôle
Paramètres globaux applicables à l'ensemble du système : taux de TVA datés, devises, types et conditions d'assurances, paramètres généraux.
Emplacement
- Pages :
src/Web/Pages/SettingVatRates/,SettingCurrencies/,SettingInsurances/,SettingGenerals/ - Services :
SettingVatRateService,SettingCurrencyService,SettingInsuranceService,SettingGeneralService
Entités principales
Setting— base abstraite (champs communs : nom, valeur).SettingGeneral— paramètres généraux (par-application). Peut aussi être référencé parOccurrence.SettingGeneralIdpour overrider au niveau d'un départ.SettingCurrency— devises supportées et taux de change.SettingVatRate— taux de TVA daté. Toujours résolu par date viaSettingVatRateService.GetByDate(date).SettingInsurance— type d'assurance (annulation, multirisque…). ChampsValue,IsExternal(assurance externe ne facturée que pour le report client).SettingInsuranceCondition— conditions par assurance (rules de prise en charge).SettingInsuranceType— typologie (linkée par voyage :Travel.SettingInsuranceTypes).SettingType: enum classifiant les Settings.
Règles métier spécifiques
- TVA datée : à chaque facture, lire le taux applicable à la date du voyage (pas
DateTime.Now). Patch fréquent en cas de changement de TVA suisse. SettingInsurance.Value = 0⇒ "aucune assurance souscrite" (cas affiché dansConfirmation.liquid).- Devise : par défaut CHF. Multi-devises pas activement utilisé (à confirmer).
SettingGeneralsurOccurrence: override au niveau du départ (override des paramètres généraux pour ce voyage spécifique).- Export des primes d'assurance à payer (Paramètres > Finances > Assurances > Exporter,
PassengerInsuranceService.GetByPeriod) : une ligne = une assurance souscrite sur SA réservation, dont la date de départ (Occurrence.Start, pas la date de réservation) tombe dans la période. Filtres : assurance non externe, booking non supprimé, nonLegacy, statut dansValidatingBookingStatus.IsActive. Bornes inclusives : le front envoie les deux dates à 00:00, le service élargit la borne de fin à la fin du dernier jour. Un onglet Excel par palier de prix (GroupBy(Price)).
Points d'attention / pièges
- Format de la date TVA :
SettingVatRatedoit avoir des plages contigües. Vérifier qu'aucune date ne tombe dans un trou. - Modification d'une assurance : impacte les factures futures uniquement. Les factures déjà émises gardent l'ancienne valeur.
- Insurance externe :
SettingInsurance.SettingInsuranceType.Value == 0(?) ouIsExternal: à vérifier la sémantique exacte dans le code.
Conventions locales
- Les
Setting*sont rarement édités en run — souvent configurés à l'installation puis stables.
Dépendances
- ← Tous les modules consomment indirectement (TVA, devises, assurances).
- ↔
billing-payment(taux TVA appliqué). - ↔
booking(assurances par passager).
Contributors
No contributors
Changelog
No recent changes

