-- Module Prospection : génération de leads par métier + zone géographique
-- (Google Places pour les fiches, API gouv pour le SIRET, scraping maison
-- pour les photos de réalisations — jamais l'API Google pour les photos).

CREATE TABLE IF NOT EXISTS prospection_recherches (
  id            INT           NOT NULL AUTO_INCREMENT PRIMARY KEY,
  metier        VARCHAR(150)  NOT NULL,
  ville         VARCHAR(150)  NOT NULL,
  code_postal   VARCHAR(10)   NULL,
  lat           DECIMAL(10,7) NULL,
  lng           DECIMAL(10,7) NULL,
  rayon_km      INT           NOT NULL DEFAULT 20,
  nb_resultats  INT           NOT NULL DEFAULT 20,
  statut        ENUM('en_cours','terminee','erreur') NOT NULL DEFAULT 'en_cours',
  erreur_message VARCHAR(500) NULL,
  cree_par      VARCHAR(64)   NULL,
  created_at    TIMESTAMP     NOT NULL DEFAULT CURRENT_TIMESTAMP,
  UNIQUE KEY uniq_metier_ville (metier, ville)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE IF NOT EXISTS prospection_professionnels (
  id                INT           NOT NULL AUTO_INCREMENT PRIMARY KEY,
  recherche_id      INT           NOT NULL,
  google_place_id   VARCHAR(150)  NULL,
  nom               VARCHAR(255)  NOT NULL,
  adresse           VARCHAR(500)  NULL,
  telephone         VARCHAR(50)   NULL,
  email             VARCHAR(255)  NULL,
  site_web          VARCHAR(500)  NULL,
  lien_fiche_google VARCHAR(500)  NULL,
  siret             VARCHAR(20)   NULL,
  siret_confiance   ENUM('haute','moyenne','faible','aucune') NOT NULL DEFAULT 'aucune',
  photos_json       MEDIUMTEXT    NULL,
  statut_contact    ENUM('non_contacte','contacte','relance','refuse','converti') NOT NULL DEFAULT 'non_contacte',
  dernier_contact_at TIMESTAMP    NULL,
  notes             TEXT          NULL,
  created_at        TIMESTAMP     NOT NULL DEFAULT CURRENT_TIMESTAMP,
  FOREIGN KEY (recherche_id) REFERENCES prospection_recherches(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
