-- 1. Table des Salons de Coiffure
CREATE TABLE IF NOT EXISTS `salons` (
  `id` INT AUTO_INCREMENT PRIMARY KEY,
  `nom` VARCHAR(150) NOT NULL,
  `nom_proprietaire` VARCHAR(100) NOT NULL,
  `photo_couverture` VARCHAR(255) DEFAULT NULL,
  `photo_proprietaire` VARCHAR(255) DEFAULT NULL,
  `adresse` VARCHAR(255) NOT NULL,
  `ville` VARCHAR(100) DEFAULT 'Abidjan',
  `telephone` VARCHAR(20) NOT NULL,
  `note` DECIMAL(2, 1) DEFAULT 5.0,
  `nombre_avis` INT DEFAULT 0,
  `est_vedette` TINYINT(1) DEFAULT 0,      -- 1 = Affiché en grand (Niveau 2 "En Vedette")
  `est_disponible` TINYINT(1) DEFAULT 1,   -- 1 = Affiché dans le scroll horizontal (Niveau 1)
  `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  `updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  
  -- Index pour accélérer les filtres de recherche
  INDEX `idx_est_vedette` (`est_vedette`),
  INDEX `idx_est_disponible` (`est_disponible`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- 2. Table des Services proposés par les Salons
CREATE TABLE IF NOT EXISTS `services` (
  `id` INT AUTO_INCREMENT PRIMARY KEY,
  `salon_id` INT NOT NULL,
  `nom` VARCHAR(100) NOT NULL,            -- ex: "Tresses", "Brushing", "Soin Kératine"
  `description` TEXT DEFAULT NULL,
  `prix` DECIMAL(10, 0) NOT NULL,         -- Prix en FCFA
  `duree_minutes` INT DEFAULT 30,         -- Durée estimée en minutes (ex: 60)
  `est_actif` TINYINT(1) DEFAULT 1,
  `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  `updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

  -- Clé étrangère liant le service au salon
  CONSTRAINT `fk_services_salons` 
    FOREIGN KEY (`salon_id`) 
    REFERENCES `salons` (`id`) 
    ON DELETE CASCADE ON UPDATE CASCADE,
    
  INDEX `idx_salon_id` (`salon_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;