-- Le moment d'une prestation dans le sejour.
--
-- C'est ce qui permet de DEDUIRE les interventions d'une demande, au lieu de les faire
-- saisir. Demander « les draps » pour une reservation ne veut pas dire une
-- intervention : cela veut dire la mise en place a l'arrivee ET le retrait au depart.
-- Demander « le menage » veut dire une intervention, en fin de sejour.
--
-- Porte par le TYPE et non par le tarif : « les draps se posent a l'arrivee et se
-- retirent au depart » est une propriete du metier, la meme dans un studio et dans un
-- chalet. Le tarif, lui, porte ce qui varie d'un logement a l'autre — le prix et la
-- duree. Mettre le moment sur le tarif obligerait a le repeter sur chaque bien, avec le
-- risque de le contredire d'un logement au suivant.
--
-- « libre » est le defaut, et il est volontairement le moins engageant : une prestation
-- dont on n'a rien dit ne doit pas se voir attribuer une date par surprise. Le
-- demandeur choisit alors lui-meme sa date dans le sejour.

ALTER TABLE types_prestation
    ADD COLUMN moment ENUM('arrivee','depart','arrivee_et_depart','libre')
        NOT NULL DEFAULT 'libre' AFTER libelle;

-- Les catalogues deja amorces portent les libelles du metier : on leur donne le moment
-- qui va de soi, pour ne pas obliger chaque concierge a reprendre six lignes a la main.
--
-- C'est une SUPPOSITION, pas une regle : le rapprochement se fait sur un libelle, et un
-- concierge a pu renommer ou detourner une ligne. Chacun peut corriger depuis son
-- catalogue, et un mauvais moment n'a pas de consequence silencieuse — il se voit a la
-- date proposee lors de la demande.
UPDATE types_prestation SET moment = 'depart'            WHERE libelle = 'Menage';
UPDATE types_prestation SET moment = 'arrivee_et_depart' WHERE libelle = 'Location de draps';
UPDATE types_prestation SET moment = 'arrivee'           WHERE libelle = 'Check-in';
UPDATE types_prestation SET moment = 'depart'            WHERE libelle = 'Check-out';
