-- ============================================================
-- 33 — Vitrine piscine : demandes, devis et images gérables
-- ============================================================

CREATE TABLE IF NOT EXISTS piscine_demandes (
    id           INT AUTO_INCREMENT PRIMARY KEY,
    type_presta  ENUM('construction','renovation','entretien','hivernage','materiel','autre') NOT NULL DEFAULT 'autre',
    nom          VARCHAR(160) NOT NULL,
    email        VARCHAR(190) NULL,
    telephone    VARCHAR(40) NULL,
    code_postal  VARCHAR(12) NULL,
    localite     VARCHAR(120) NULL,
    message      TEXT NULL,
    budget       VARCHAR(60) NULL,
    statut       ENUM('nouvelle','contacte','devis','gagne','perdu') NOT NULL DEFAULT 'nouvelle',
    note_interne TEXT NULL,
    source       VARCHAR(60) NOT NULL DEFAULT 'vitrine',
    created_at   DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
    updated_at   DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    KEY idx_statut (statut),
    KEY idx_type (type_presta)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE IF NOT EXISTS piscine_devis (
    id           INT AUTO_INCREMENT PRIMARY KEY,
    numero       VARCHAR(40) NOT NULL,
    demande_id   INT NULL,
    client_nom   VARCHAR(160) NOT NULL,
    client_email VARCHAR(190) NULL,
    client_tel   VARCHAR(40) NULL,
    client_adresse VARCHAR(255) NULL,
    type_presta  ENUM('construction','renovation','entretien','hivernage','materiel','autre') NOT NULL DEFAULT 'autre',
    objet        VARCHAR(255) NULL,
    date_devis   DATE NOT NULL,
    validite_jours INT NOT NULL DEFAULT 30,
    conditions   TEXT NULL,
    statut       ENUM('brouillon','envoye','accepte','refuse') NOT NULL DEFAULT 'brouillon',
    envoye_le    DATETIME NULL,
    created_at   DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
    KEY idx_statut (statut),
    KEY idx_demande (demande_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE IF NOT EXISTS piscine_devis_lignes (
    id           INT AUTO_INCREMENT PRIMARY KEY,
    devis_id     INT NOT NULL,
    intitule     VARCHAR(255) NOT NULL,
    quantite     DECIMAL(10,2) NOT NULL DEFAULT 1,
    prix_unitaire_htva DECIMAL(12,2) NOT NULL DEFAULT 0,
    taux_tva     DECIMAL(5,2) NOT NULL DEFAULT 21,
    ordre        INT NOT NULL DEFAULT 0,
    KEY idx_devis (devis_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE IF NOT EXISTS piscine_vitrine (
    id           INT AUTO_INCREMENT PRIMARY KEY,
    cle          VARCHAR(60) NOT NULL,
    fichier      VARCHAR(255) NULL,
    titre        VARCHAR(160) NULL,
    texte        TEXT NULL,
    ordre        INT NOT NULL DEFAULT 0,
    UNIQUE KEY uq_cle (cle)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

INSERT INTO parametres (cle, valeur) VALUES
  ('piscine_conditions_devis', 'Devis gratuit et sans engagement.\nValidité : 30 jours à compter de la date d''émission.\nLes prix s''entendent TVA comprise.\nUn acompte de 30% est demandé à la commande.\nLes délais d''exécution sont communiqués à la signature.')
  ON DUPLICATE KEY UPDATE valeur = valeur;
INSERT INTO parametres (cle, valeur) VALUES
  ('piscine_poolstore_url', 'https://www.lolirinepoolstore.be')
  ON DUPLICATE KEY UPDATE valeur = valeur;
INSERT INTO parametres (cle, valeur) VALUES
  ('piscine_intro', 'Lolirine, c''est aussi la piscine. De la construction à l''entretien, nous vous accompagnons pour votre projet aquatique.')
  ON DUPLICATE KEY UPDATE valeur = valeur;
