INSERT INTO companies (slug, market, name, industry, tags, services, pricing_model, budget_level, price_indication, devis_gratuit, city, postal_code, country, address, website, facebook, instagram, linkedin, tiktok, contact_email, contact_name, contact_phone, public_phone, founder_name, founder_role, founder_photo_url, ideal_zone, languages, availability, opening_hours, google_rating, google_reviews_count, google_reviews, company_faq, description, seo_title, seo_description, og_title, og_description, seo_jsonld, seo_generated_at, seo_ai_used, seo_version, seo_last_inputs_hash, why_company, why_entrepreneur, emotional_need_label, rituals, ras_score, logo_url, cover_image_url, gallery_urls, video_urls, video_embed_url, tier, verification_status, verification_checks, content_status, is_claimed, opt_out_status, bce_number, bce_status, bce_source, bce_verified_at, bce_last_checked_at, bce_legal_name, founded_on, bce_type_of_enterprise, bce_juridical_form, bce_juridical_situation, bce_source_update_date, created_at)
SELECT 'entretien-exterieur-liege-sun-garden', 'BE-WAL', 'Sun Garden', 'Jardinage', ARRAY['jardin thematique', 'abattage d''arbres dangereux', 'terrasse en bois', 'contrat entretien annuel', 'province de liege', 'emotional need label', 'why company', 'sun garden se distingue par son approche personnalisée et la réalisation directe des travaux par le patron, garantissant un savoir-faire horticole certifié.', 'rituals', 'verification de la stabilite avant abattage d''arbre', 'nettoyage complet apres creation de jardin', 'test de drainage pour les terrasses']::text[], ARRAY['Création de jardin', 'Entretien de jardin', 'Aménagements extérieurs']::text[], 'sur_devis', NULL, NULL, TRUE, 'Awans', '4340', 'BE', 'Rue Francisco Ferrer 33 boite a', 'https://www.sun-garden-jardin.be/', NULL, 'https://www.instagram.com/sun.garden_jardin/?hl=fr', NULL, NULL, 'info@sun-garden-jardin.be', NULL, '+32499228098', '+32499228098', NULL, NULL, NULL, 'Awans', ARRAY['français', 'anglais']::text[], NULL, NULL, NULL, NULL, NULL, '[{"question":"Proposez-vous des services de création de jardin?","answer":"Oui, cette prestation fait partie des interventions proposées, avec vérification sur place avant réalisation."},{"question":"Intervenez-vous au-delà de la zone principale?","answer":"La zone principale est Awans. Les interventions peuvent s''étendre aux communes limitrophes selon le besoin."},{"question":"Comment contrôlez-vous la qualité de votre travail?","answer":"Des vérifications sont effectuées à chaque étape de l''intervention, avec un contrôle final avant la clôture du chantier."},{"question":"Qu''est-ce qui vous distingue sur votre marche local?","answer":"Sun Garden se distingue par son approche personnalisée et la réalisation directe des travaux par le patron, garantissant un savoir-faire horticole certifié."}]'::jsonb, 'Sun Garden est une entreprise spécialisée dans les parcs et jardins à Awans, réalisant des créations sur mesure et un entretien complet. Passionnés par les espaces verts, ils interviennent aussi pour les aménagements extérieurs comme terrasses ou clôtures.', 'Entretien extérieur à Awans | Sun Garden', 'Approche personnalisée avec réalisation directe par le patron. Savoir-faire horticole certifié pour jardins durables en province de Liège.', 'Sun Garden - Entretien extérieur à Awans', 'Création et entretien de jardins, terrasses en bois et abattage d''arbres dangereux dans la région liégeoise. Approche personnalisée par le patron.', '{"@context":"https://schema.org","@type":"LocalBusiness","name":"Sun Garden","description":"Entretien extérieur et création de jardins à Awans, province de Liège.","url":"https://revelys.be/entreprises/entretien-exterieur-liege-sun-garden","sameAs":["https://www.sun-garden-jardin.be/"],"address":{"@type":"PostalAddress","streetAddress":"Rue Francisco Ferrer 33 boite a","postalCode":"4340","addressLocality":"Awans","addressCountry":"BE"},"areaServed":{"@type":"Place","name":"Province de Liège"},"keywords":["jardin thematique","abattage d''arbres dangereux","terrasse en bois","contrat entretien annuel","province de liege","sun garden se distingue par son approche personnalisée et la réalisation directe des travaux par le patron, garantissant un savoir-faire horticole certifié.","verification de la stabilite avant abattage d''arbre","nettoyage complet apres creation de jardin","test de drainage pour les terrasses"],"image":["https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/entretien-exterieur-liege-sun-garden/logo.webp","https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/entretien-exterieur-liege-sun-garden/cover.webp"],"logo":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/entretien-exterieur-liege-sun-garden/logo.webp","hasOfferCatalog":{"@type":"OfferCatalog","name":"Services d''entretien extérieur","itemListElement":[{"@type":"Offer","name":"Création de jardin"},{"@type":"Offer","name":"Entretien de jardin"},{"@type":"Offer","name":"Aménagements extérieurs"}]}}'::jsonb, '2026-02-20T22:56:36.512Z', TRUE, 5, '0d3ef0f2e9798fd5482dad2bb2a7c5d09814e30f781236513ea80086916844cf', 'Sun Garden se distingue par son approche personnalisée et la réalisation directe des travaux par le patron, garantissant un savoir-faire horticole certifié.', NULL, 'Durabilité', '[{"name":"Verification de la stabilite avant abattage d''arbre","description":"Inspection minutieuse du tronc et des racines pour évaluer les risques avant toute coupe.","frequency":"tous chantiers","impact":"securite client","proof":null},{"name":"Nettoyage complet apres creation de jardin","description":"Ramassage des debris vegetaux et mise en place definitive des plantations pour un rendu impeccable.","frequency":"tous chantiers","impact":"satisfaction client","proof":null},{"name":"Test de drainage pour les terrasses","description":"Vérification du bon écoulement des eaux après pose pour éviter les infiltrations.","frequency":"tous chantiers","impact":"durabilite","proof":null}]'::jsonb, 98, 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/entretien-exterieur-liege-sun-garden/logo.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/entretien-exterieur-liege-sun-garden/cover.webp', ARRAY['https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/entretien-exterieur-liege-sun-garden/g1.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/entretien-exterieur-liege-sun-garden/g2.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/entretien-exterieur-liege-sun-garden/g3.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/entretien-exterieur-liege-sun-garden/g4.webp']::text[], ARRAY[]::text[], NULL, 'listed', 'pending', '[{"label":"Seed: site crawl","date":"2026-02-20T22:57:39.694Z","proof":"https://www.sun-garden-jardin.be/"},{"label":"Seed: city hint","date":"2026-02-20T22:57:39.694Z","proof":"Liège"},{"label":"Seed: industry category","date":"2026-02-20T22:57:39.694Z","proof":"Jardinage"},{"label":"Seed: search keyword","date":"2026-02-20T22:57:39.694Z","proof":"entretien extérieur"},{"label":"Extracted: city","date":"2026-02-20T22:57:39.694Z","proof":"Awans Liège"},{"label":"BCE: mod97 valid","date":"2026-02-20T22:57:39.694Z","proof":"0786270320"},{"label":"Email extracted","date":"2026-02-20T22:57:39.694Z","proof":"info@sun-garden-jardin.be"},{"label":"LLM structured (mistral-small3.2:24b-instruct-q5_k_m)","date":"2026-02-20T22:57:39.694Z","proof":"confidence=80/100"},{"label":"Phone extracted","date":"2026-02-20T22:57:39.694Z","proof":"source=tel_link"},{"label":"Images uploaded (Supabase Storage)","date":"2026-02-20T22:57:39.694Z","proof":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/entretien-exterieur-liege-sun-garden/cover.webp"}]'::jsonb, 'published', FALSE, 'none', 'BE0786270320', 'Actif', 'BCE_CSV', '2026-02-20T22:53:54.676Z', '2026-02-20T22:53:54.676Z', 'SUN GARDEN', '2022-05-16', 'Personne morale', 'Société à responsabilité limitée', 'Situation normale', '2026-02-11', '2026-02-20T22:57:39.694Z'
WHERE NOT EXISTS (
  SELECT 1
  FROM companies c_existing
  WHERE c_existing.bce_number = 'BE0786270320'
    AND c_existing.slug <> 'entretien-exterieur-liege-sun-garden'
)
ON CONFLICT (slug) DO UPDATE SET market = EXCLUDED.market, name = EXCLUDED.name, industry = EXCLUDED.industry, tags = EXCLUDED.tags, services = EXCLUDED.services, pricing_model = EXCLUDED.pricing_model, budget_level = EXCLUDED.budget_level, price_indication = EXCLUDED.price_indication, devis_gratuit = EXCLUDED.devis_gratuit, city = EXCLUDED.city, postal_code = EXCLUDED.postal_code, country = EXCLUDED.country, address = EXCLUDED.address, website = EXCLUDED.website, facebook = EXCLUDED.facebook, instagram = EXCLUDED.instagram, linkedin = EXCLUDED.linkedin, tiktok = EXCLUDED.tiktok, contact_email = EXCLUDED.contact_email, contact_name = EXCLUDED.contact_name, contact_phone = EXCLUDED.contact_phone, public_phone = EXCLUDED.public_phone, founder_name = EXCLUDED.founder_name, founder_role = EXCLUDED.founder_role, founder_photo_url = EXCLUDED.founder_photo_url, ideal_zone = EXCLUDED.ideal_zone, languages = EXCLUDED.languages, availability = EXCLUDED.availability, opening_hours = EXCLUDED.opening_hours, google_rating = EXCLUDED.google_rating, google_reviews_count = EXCLUDED.google_reviews_count, google_reviews = EXCLUDED.google_reviews, company_faq = EXCLUDED.company_faq, description = EXCLUDED.description, seo_title = EXCLUDED.seo_title, seo_description = EXCLUDED.seo_description, og_title = EXCLUDED.og_title, og_description = EXCLUDED.og_description, seo_jsonld = EXCLUDED.seo_jsonld, seo_generated_at = EXCLUDED.seo_generated_at, seo_ai_used = EXCLUDED.seo_ai_used, seo_version = EXCLUDED.seo_version, seo_last_inputs_hash = EXCLUDED.seo_last_inputs_hash, why_company = EXCLUDED.why_company, why_entrepreneur = EXCLUDED.why_entrepreneur, emotional_need_label = EXCLUDED.emotional_need_label, rituals = EXCLUDED.rituals, ras_score = EXCLUDED.ras_score, logo_url = EXCLUDED.logo_url, cover_image_url = EXCLUDED.cover_image_url, gallery_urls = EXCLUDED.gallery_urls, video_urls = EXCLUDED.video_urls, video_embed_url = EXCLUDED.video_embed_url, tier = EXCLUDED.tier, verification_status = EXCLUDED.verification_status, verification_checks = EXCLUDED.verification_checks, content_status = EXCLUDED.content_status, is_claimed = EXCLUDED.is_claimed, opt_out_status = EXCLUDED.opt_out_status, bce_number = EXCLUDED.bce_number, bce_status = EXCLUDED.bce_status, bce_source = EXCLUDED.bce_source, bce_verified_at = EXCLUDED.bce_verified_at, bce_last_checked_at = EXCLUDED.bce_last_checked_at, bce_legal_name = EXCLUDED.bce_legal_name, founded_on = EXCLUDED.founded_on, bce_type_of_enterprise = EXCLUDED.bce_type_of_enterprise, bce_juridical_form = EXCLUDED.bce_juridical_form, bce_juridical_situation = EXCLUDED.bce_juridical_situation, bce_source_update_date = EXCLUDED.bce_source_update_date
WHERE companies.is_claimed IS NOT TRUE;

INSERT INTO companies (slug, market, name, industry, tags, services, pricing_model, budget_level, price_indication, devis_gratuit, city, postal_code, country, address, website, facebook, instagram, linkedin, tiktok, contact_email, contact_name, contact_phone, public_phone, founder_name, founder_role, founder_photo_url, ideal_zone, languages, availability, opening_hours, google_rating, google_reviews_count, google_reviews, company_faq, description, seo_title, seo_description, og_title, og_description, seo_jsonld, seo_generated_at, seo_ai_used, seo_version, seo_last_inputs_hash, why_company, why_entrepreneur, emotional_need_label, rituals, ras_score, logo_url, cover_image_url, gallery_urls, video_urls, video_embed_url, tier, verification_status, verification_checks, content_status, is_claimed, opt_out_status, bce_number, bce_status, bce_source, bce_verified_at, bce_last_checked_at, bce_legal_name, founded_on, bce_type_of_enterprise, bce_juridical_form, bce_juridical_situation, bce_source_update_date, created_at)
SELECT 'jardinage-entretien-exterieur-liege-soliverdi', 'BE-WAL', 'Soliverdi', 'Jardinage', ARRAY['jardin sur mesure', 'entretien saisonnier', 'élagage sécurisé', 'clôtures personnalisées', 'paysagisme écologique', 'contrat annuel jardin', 'terrassement extérieur', 'parc canin aménagé', 'solutions arrosage automatique', 'entretien de jardin', 'création de pelouse', 'plantation et soins des végétaux']::text[], ARRAY['Entretien de jardin', 'Création de pelouse', 'Plantation et soins des végétaux', 'Élagage et abattage d’arbres', 'Aménagement extérieur']::text[], 'sur_devis', NULL, NULL, TRUE, 'Seraing', '4100', 'BE', 'Rue Ferrer 142', 'https://espace-vert.net/', NULL, NULL, NULL, NULL, 'dc@soliverdi.be', NULL, '+3243366509', '+3243366509', NULL, NULL, NULL, 'Seraing', ARRAY['français']::text[], NULL, NULL, NULL, NULL, NULL, '[{"question":"Proposez-vous des services d''entretien de jardin?","answer":"Oui, cette prestation fait partie des interventions proposées, avec vérification sur place avant réalisation."},{"question":"Quelles communes sont couvertes en priorité?","answer":"Les interventions se déroulent à Seraing et dans les communes avoisinantes, selon la nature de la demande."},{"question":"Quelles garanties offrez-vous sur vos interventions?","answer":"La qualité repose sur une méthode structurée, des vérifications en cours d''intervention et un contrôle final avant la remise au client."},{"question":"Quelle est votre valeur ajoutee locale?","answer":"Soliverdi se distingue par son approche sur mesure et son expertise locale, combinant savoir-faire traditionnel et techniques modernes pour des jardins harmonieux et durables."}]'::jsonb, 'Soliverdi, entreprise spécialisée en aménagement et entretien de jardins à Seraing depuis plus de 25 ans, transforme vos espaces extérieurs avec expertise. Des créations sur mesure aux interventions régulières, l''équipe s''engage pour des résultats durables et esthétiques.', 'Jardinage à Seraing | Soliverdi', 'Entretien saisonnier et création de jardins sur mesure. Approche locale avec analyse préalable du terrain pour des solutions adaptées au climat de Seraing.', 'Soliverdi - Jardinage et entretien extérieur à Seraing', 'Services d''entretien, élagage et aménagement paysager écologique. Conseils personnalisés et matériel désinfecté après chaque intervention pour préserver la santé des végétaux.', '{"@context":"https://schema.org","@type":"LocalBusiness","name":"Soliverdi","description":"Entreprise de jardinage spécialisée dans l''entretien, l''élagage et les aménagements extérieurs à Seraing.","url":"https://revelys.be/entreprises/jardinage-entretien-exterieur-liege-soliverdi","sameAs":["https://espace-vert.net/"],"address":{"@type":"PostalAddress","streetAddress":"Rue Ferrer 142","postalCode":"4100","addressLocality":"Seraing","addressCountry":"BE"},"areaServed":"Seraing","keywords":["jardin sur mesure","entretien saisonnier","élagage sécurisé","clôtures personnalisées","paysagisme écologique","contrat annuel jardin","terrassement extérieur","parc canin aménagé","solutions arrosage automatique","entretien de jardin","création de pelouse","plantation et soins des végétaux"],"image":["https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/jardinage-entretien-exterieur-liege-soliverdi/logo.webp","https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/jardinage-entretien-exterieur-liege-soliverdi/cover.webp"]}'::jsonb, '2026-02-20T23:05:03.629Z', TRUE, 5, 'f9b860ad25a3829bc3bef8db7fe5414b53e9d606320cb222abc6363e1ade111a', 'Soliverdi se distingue par son approche sur mesure et son expertise locale, combinant savoir-faire traditionnel et techniques modernes pour des jardins harmonieux et durables.', NULL, 'Durabilité', '[{"name":"Analyse préalable du terrain","description":"Évaluation complète des contraintes et potentiels du terrain avant toute intervention, avec prise en compte des spécificités climatiques locales.","frequency":"100%","impact":"Garantit un projet adapté aux conditions réelles","proof":null},{"name":"Tonte avec réglage de hauteur saisonnier","description":"Ajustement précis de la hauteur de coupe selon les saisons pour favoriser la santé du gazon et limiter les mauvaises herbes.","frequency":"100%","impact":"Préserve la densité naturelle de la pelouse","proof":null},{"name":"Nettoyage des outils après chaque intervention","description":"Désinfection systématique du matériel entre les chantiers pour éviter toute contamination végétale.","frequency":"100%","impact":"Prévention des maladies et parasites","proof":null},{"name":"Conseils personnalisés en entretien","description":"Remise d''un guide écrit avec les gestes à reproduire entre les interventions, adapté au type de végétation.","frequency":"100%","impact":"Autonomisation du client dans la maintenance","proof":null}]'::jsonb, 98, 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/jardinage-entretien-exterieur-liege-soliverdi/logo.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/jardinage-entretien-exterieur-liege-soliverdi/cover.webp', ARRAY['https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/jardinage-entretien-exterieur-liege-soliverdi/g1.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/jardinage-entretien-exterieur-liege-soliverdi/g2.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/jardinage-entretien-exterieur-liege-soliverdi/g3.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/jardinage-entretien-exterieur-liege-soliverdi/g4.webp']::text[], ARRAY[]::text[], NULL, 'listed', 'pending', '[{"label":"Seed: site crawl","date":"2026-02-20T23:05:52.755Z","proof":"https://espace-vert.net/"},{"label":"Seed: city hint","date":"2026-02-20T23:05:52.755Z","proof":"Liège"},{"label":"Seed: industry category","date":"2026-02-20T23:05:52.755Z","proof":"Jardinage"},{"label":"Seed: search keyword","date":"2026-02-20T23:05:52.755Z","proof":"Jardinage entretien extérieur"},{"label":"Extracted: city","date":"2026-02-20T23:05:52.755Z","proof":""},{"label":"BCE: mod97 valid","date":"2026-02-20T23:05:52.755Z","proof":"0679693351"},{"label":"Email extracted","date":"2026-02-20T23:05:52.755Z","proof":"dc@soliverdi.be"},{"label":"LLM structured (mistral-small3.2:24b-instruct-q5_k_m)","date":"2026-02-20T23:05:52.755Z","proof":"confidence=92/100"},{"label":"Phone extracted","date":"2026-02-20T23:05:52.755Z","proof":"source=tel_link"},{"label":"Images uploaded (Supabase Storage)","date":"2026-02-20T23:05:52.755Z","proof":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/jardinage-entretien-exterieur-liege-soliverdi/cover.webp"}]'::jsonb, 'published', FALSE, 'none', 'BE0679693351', 'Actif', 'BCE_CSV', '2026-02-20T23:01:49.350Z', '2026-02-20T23:01:49.350Z', 'SOLIVERDI', '2017-08-09', 'Personne morale', 'Société à responsabilité limitée', 'Situation normale', '2026-02-11', '2026-02-20T23:05:52.755Z'
WHERE NOT EXISTS (
  SELECT 1
  FROM companies c_existing
  WHERE c_existing.bce_number = 'BE0679693351'
    AND c_existing.slug <> 'jardinage-entretien-exterieur-liege-soliverdi'
)
ON CONFLICT (slug) DO UPDATE SET market = EXCLUDED.market, name = EXCLUDED.name, industry = EXCLUDED.industry, tags = EXCLUDED.tags, services = EXCLUDED.services, pricing_model = EXCLUDED.pricing_model, budget_level = EXCLUDED.budget_level, price_indication = EXCLUDED.price_indication, devis_gratuit = EXCLUDED.devis_gratuit, city = EXCLUDED.city, postal_code = EXCLUDED.postal_code, country = EXCLUDED.country, address = EXCLUDED.address, website = EXCLUDED.website, facebook = EXCLUDED.facebook, instagram = EXCLUDED.instagram, linkedin = EXCLUDED.linkedin, tiktok = EXCLUDED.tiktok, contact_email = EXCLUDED.contact_email, contact_name = EXCLUDED.contact_name, contact_phone = EXCLUDED.contact_phone, public_phone = EXCLUDED.public_phone, founder_name = EXCLUDED.founder_name, founder_role = EXCLUDED.founder_role, founder_photo_url = EXCLUDED.founder_photo_url, ideal_zone = EXCLUDED.ideal_zone, languages = EXCLUDED.languages, availability = EXCLUDED.availability, opening_hours = EXCLUDED.opening_hours, google_rating = EXCLUDED.google_rating, google_reviews_count = EXCLUDED.google_reviews_count, google_reviews = EXCLUDED.google_reviews, company_faq = EXCLUDED.company_faq, description = EXCLUDED.description, seo_title = EXCLUDED.seo_title, seo_description = EXCLUDED.seo_description, og_title = EXCLUDED.og_title, og_description = EXCLUDED.og_description, seo_jsonld = EXCLUDED.seo_jsonld, seo_generated_at = EXCLUDED.seo_generated_at, seo_ai_used = EXCLUDED.seo_ai_used, seo_version = EXCLUDED.seo_version, seo_last_inputs_hash = EXCLUDED.seo_last_inputs_hash, why_company = EXCLUDED.why_company, why_entrepreneur = EXCLUDED.why_entrepreneur, emotional_need_label = EXCLUDED.emotional_need_label, rituals = EXCLUDED.rituals, ras_score = EXCLUDED.ras_score, logo_url = EXCLUDED.logo_url, cover_image_url = EXCLUDED.cover_image_url, gallery_urls = EXCLUDED.gallery_urls, video_urls = EXCLUDED.video_urls, video_embed_url = EXCLUDED.video_embed_url, tier = EXCLUDED.tier, verification_status = EXCLUDED.verification_status, verification_checks = EXCLUDED.verification_checks, content_status = EXCLUDED.content_status, is_claimed = EXCLUDED.is_claimed, opt_out_status = EXCLUDED.opt_out_status, bce_number = EXCLUDED.bce_number, bce_status = EXCLUDED.bce_status, bce_source = EXCLUDED.bce_source, bce_verified_at = EXCLUDED.bce_verified_at, bce_last_checked_at = EXCLUDED.bce_last_checked_at, bce_legal_name = EXCLUDED.bce_legal_name, founded_on = EXCLUDED.founded_on, bce_type_of_enterprise = EXCLUDED.bce_type_of_enterprise, bce_juridical_form = EXCLUDED.bce_juridical_form, bce_juridical_situation = EXCLUDED.bce_juridical_situation, bce_source_update_date = EXCLUDED.bce_source_update_date
WHERE companies.is_claimed IS NOT TRUE;

INSERT INTO companies (slug, market, name, industry, tags, services, pricing_model, budget_level, price_indication, devis_gratuit, city, postal_code, country, address, website, facebook, instagram, linkedin, tiktok, contact_email, contact_name, contact_phone, public_phone, founder_name, founder_role, founder_photo_url, ideal_zone, languages, availability, opening_hours, google_rating, google_reviews_count, google_reviews, company_faq, description, seo_title, seo_description, og_title, og_description, seo_jsonld, seo_generated_at, seo_ai_used, seo_version, seo_last_inputs_hash, why_company, why_entrepreneur, emotional_need_label, rituals, ras_score, logo_url, cover_image_url, gallery_urls, video_urls, video_embed_url, tier, verification_status, verification_checks, content_status, is_claimed, opt_out_status, bce_number, bce_status, bce_source, bce_verified_at, bce_last_checked_at, bce_legal_name, founded_on, bce_type_of_enterprise, bce_juridical_form, bce_juridical_situation, bce_source_update_date, created_at)
SELECT 'jardinage-entretien-exterieur-liege-jehasse-jardin', 'BE-WAL', 'Jehasse-Jardin', 'Jardinage', ARRAY['jardin privé', 'espace vert public', 'plantation d''arbres', 'terrasse en bois', 'déchets verts', 'containers location', 'taille de haie', 'gazon naturel', 'aménagement de jardins', 'entretien de jardins', 'terrassement', 'transformation du sol']::text[], ARRAY['Aménagement de jardins', 'Entretien de jardins', 'Terrassement', 'Transformation du sol', 'Location de containers']::text[], 'sur_devis', NULL, NULL, TRUE, 'Grâce-hollogne', '4460', 'BE', 'Rue Busquet 59', 'https://jehasse-jardin.be/', NULL, NULL, NULL, NULL, 'ce-hollogneinfo@jehasse-jardin.be', NULL, '+32476826556', '+32476826556', NULL, NULL, NULL, 'Grâce-hollogne', ARRAY['français']::text[], NULL, NULL, NULL, NULL, NULL, '[{"question":"Proposez-vous des services d''aménagement de jardins?","answer":"Oui, cette prestation fait partie des interventions proposées, avec vérification sur place avant réalisation."},{"question":"Intervenez-vous au-delà de la zone principale?","answer":"La zone principale est Grâce-hollogne. Les interventions peuvent s''étendre aux communes limitrophes selon le besoin."}]'::jsonb, 'Jehasse-Jardin, entreprise spécialisée en aménagement et entretien de jardins à Grâce-Hollogne depuis plus de 20 ans, propose des solutions sur mesure pour les espaces verts privés et publics. De la plantation d''arbres aux terrasses en bois, chaque projet est réalisé avec précision et passion.', 'Jardinage à Grâce-Hollogne | Jehasse-Jardin', 'Aménagement et entretien de jardins sur mesure. Préparation du sol garantie pour une croissance optimale des végétaux. Interventions locales en Belgique.', 'Jehasse-Jardin - Jardinage à Grâce-Hollogne', 'Entreprise spécialisée dans l''aménagement et l''entretien d''espaces verts privés et publics. Services de terrassement, plantation et location de containers.', '{"@context":"https://schema.org","@type":"LocalBusiness","name":"Jehasse-Jardin","description":"Aménagement et entretien d''espaces verts à Grâce-Hollogne","url":"https://revelys.be/entreprises/jardinage-entretien-exterieur-liege-jehasse-jardin","sameAs":["https://jehasse-jardin.be/"],"address":{"@type":"PostalAddress","streetAddress":"Rue Busquet 59","postalCode":"4460","addressLocality":"Grâce-hollogne","addressCountry":"BE"},"areaServed":{"@type":"Place","name":"Grâce-Hollogne"},"keywords":["jardin privé","espace vert public","plantation d''arbres","terrasse en bois","déchets verts","containers location","taille de haie","gazon naturel","aménagement de jardins","entretien de jardins","terrassement","transformation du sol"],"image":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/jardinage-entretien-exterieur-liege-jehasse-jardin/logo.webp"}'::jsonb, '2026-02-20T23:08:12.140Z', TRUE, 5, '1727dca8411430ec7985abe6323e6be1a51a2f27da165baffb7570fb35c5b01e', 'Chez Jehasse-Jardin, chaque projet est unique. Nous combinons expertise technique et créativité pour transformer vos espaces extérieurs en lieux de vie agréables.', NULL, 'Joie', '[{"name":"Préparation du sol avant plantation","description":"Analyse de la composition du terrain et ajustement avec des amendements naturels si nécessaire, garantissant une croissance optimale des végétaux.","frequency":"toujours","impact":"qualite","proof":null},{"name":"Nettoyage minutieux après intervention","description":"Élimination systématique des déchets verts et des résidus de chantier, laissant le site impeccable.","frequency":"toujours","impact":"qualite","proof":null},{"name":"Conseils personnalisés en entretien","description":"Explications détaillées sur les soins à apporter aux nouvelles plantations pour assurer leur pérennité.","frequency":"toujours","impact":"qualite","proof":null}]'::jsonb, 98, 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/jardinage-entretien-exterieur-liege-jehasse-jardin/logo.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/jardinage-entretien-exterieur-liege-jehasse-jardin/cover.webp', ARRAY['https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/jardinage-entretien-exterieur-liege-jehasse-jardin/g1.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/jardinage-entretien-exterieur-liege-jehasse-jardin/g2.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/jardinage-entretien-exterieur-liege-jehasse-jardin/g3.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/jardinage-entretien-exterieur-liege-jehasse-jardin/g4.webp']::text[], ARRAY[]::text[], NULL, 'listed', 'pending', '[{"label":"Seed: site crawl","date":"2026-02-20T23:08:56.773Z","proof":"https://jehasse-jardin.be/"},{"label":"Seed: city hint","date":"2026-02-20T23:08:56.773Z","proof":"Liège"},{"label":"Seed: industry category","date":"2026-02-20T23:08:56.773Z","proof":"Jardinage"},{"label":"Seed: search keyword","date":"2026-02-20T23:08:56.773Z","proof":"Jardinage entretien extérieur"},{"label":"Extracted: city","date":"2026-02-20T23:08:56.773Z","proof":""},{"label":"BCE: mod97 valid","date":"2026-02-20T23:08:56.773Z","proof":"0833039661"},{"label":"Email extracted","date":"2026-02-20T23:08:56.773Z","proof":"ce-hollogneinfo@jehasse-jardin.be"},{"label":"LLM structured (mistral-small3.2:24b-instruct-q5_k_m)","date":"2026-02-20T23:08:56.773Z","proof":"confidence=90/100"},{"label":"Phone extracted","date":"2026-02-20T23:08:56.773Z","proof":"source=text"},{"label":"Images uploaded (Supabase Storage)","date":"2026-02-20T23:08:56.773Z","proof":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/jardinage-entretien-exterieur-liege-jehasse-jardin/cover.webp"}]'::jsonb, 'published', FALSE, 'none', 'BE0833039661', 'Actif', 'BCE_CSV', '2026-02-20T23:05:55.072Z', '2026-02-20T23:05:55.072Z', 'JEHASSE-JARDIN', '2011-01-21', 'Personne morale', 'Société à responsabilité limitée', 'Situation normale', '2026-02-11', '2026-02-20T23:08:56.773Z'
WHERE NOT EXISTS (
  SELECT 1
  FROM companies c_existing
  WHERE c_existing.bce_number = 'BE0833039661'
    AND c_existing.slug <> 'jardinage-entretien-exterieur-liege-jehasse-jardin'
)
ON CONFLICT (slug) DO UPDATE SET market = EXCLUDED.market, name = EXCLUDED.name, industry = EXCLUDED.industry, tags = EXCLUDED.tags, services = EXCLUDED.services, pricing_model = EXCLUDED.pricing_model, budget_level = EXCLUDED.budget_level, price_indication = EXCLUDED.price_indication, devis_gratuit = EXCLUDED.devis_gratuit, city = EXCLUDED.city, postal_code = EXCLUDED.postal_code, country = EXCLUDED.country, address = EXCLUDED.address, website = EXCLUDED.website, facebook = EXCLUDED.facebook, instagram = EXCLUDED.instagram, linkedin = EXCLUDED.linkedin, tiktok = EXCLUDED.tiktok, contact_email = EXCLUDED.contact_email, contact_name = EXCLUDED.contact_name, contact_phone = EXCLUDED.contact_phone, public_phone = EXCLUDED.public_phone, founder_name = EXCLUDED.founder_name, founder_role = EXCLUDED.founder_role, founder_photo_url = EXCLUDED.founder_photo_url, ideal_zone = EXCLUDED.ideal_zone, languages = EXCLUDED.languages, availability = EXCLUDED.availability, opening_hours = EXCLUDED.opening_hours, google_rating = EXCLUDED.google_rating, google_reviews_count = EXCLUDED.google_reviews_count, google_reviews = EXCLUDED.google_reviews, company_faq = EXCLUDED.company_faq, description = EXCLUDED.description, seo_title = EXCLUDED.seo_title, seo_description = EXCLUDED.seo_description, og_title = EXCLUDED.og_title, og_description = EXCLUDED.og_description, seo_jsonld = EXCLUDED.seo_jsonld, seo_generated_at = EXCLUDED.seo_generated_at, seo_ai_used = EXCLUDED.seo_ai_used, seo_version = EXCLUDED.seo_version, seo_last_inputs_hash = EXCLUDED.seo_last_inputs_hash, why_company = EXCLUDED.why_company, why_entrepreneur = EXCLUDED.why_entrepreneur, emotional_need_label = EXCLUDED.emotional_need_label, rituals = EXCLUDED.rituals, ras_score = EXCLUDED.ras_score, logo_url = EXCLUDED.logo_url, cover_image_url = EXCLUDED.cover_image_url, gallery_urls = EXCLUDED.gallery_urls, video_urls = EXCLUDED.video_urls, video_embed_url = EXCLUDED.video_embed_url, tier = EXCLUDED.tier, verification_status = EXCLUDED.verification_status, verification_checks = EXCLUDED.verification_checks, content_status = EXCLUDED.content_status, is_claimed = EXCLUDED.is_claimed, opt_out_status = EXCLUDED.opt_out_status, bce_number = EXCLUDED.bce_number, bce_status = EXCLUDED.bce_status, bce_source = EXCLUDED.bce_source, bce_verified_at = EXCLUDED.bce_verified_at, bce_last_checked_at = EXCLUDED.bce_last_checked_at, bce_legal_name = EXCLUDED.bce_legal_name, founded_on = EXCLUDED.founded_on, bce_type_of_enterprise = EXCLUDED.bce_type_of_enterprise, bce_juridical_form = EXCLUDED.bce_juridical_form, bce_juridical_situation = EXCLUDED.bce_juridical_situation, bce_source_update_date = EXCLUDED.bce_source_update_date
WHERE companies.is_claimed IS NOT TRUE;

INSERT INTO companies (slug, market, name, industry, tags, services, pricing_model, budget_level, price_indication, devis_gratuit, city, postal_code, country, address, website, facebook, instagram, linkedin, tiktok, contact_email, contact_name, contact_phone, public_phone, founder_name, founder_role, founder_photo_url, ideal_zone, languages, availability, opening_hours, google_rating, google_reviews_count, google_reviews, company_faq, description, seo_title, seo_description, og_title, og_description, seo_jsonld, seo_generated_at, seo_ai_used, seo_version, seo_last_inputs_hash, why_company, why_entrepreneur, emotional_need_label, rituals, ras_score, logo_url, cover_image_url, gallery_urls, video_urls, video_embed_url, tier, verification_status, verification_checks, content_status, is_claimed, opt_out_status, bce_number, bce_status, bce_source, bce_verified_at, bce_last_checked_at, bce_legal_name, founded_on, bce_type_of_enterprise, bce_juridical_form, bce_juridical_situation, bce_source_update_date, created_at)
SELECT 'jardinage-liege-wally-gazon', 'BE-WAL', 'Wally Gazon', 'Jardinage', ARRAY['gazon local', 'jardin sur mesure', 'entretien pelouse', 'conseil personnalisé', 'sol nutritif', 'devis gratuit', 'pose de rouleaux de gazon', 'vente de gazon naturel', 'entretien de jardins', 'conception d''espaces verts', 'conseils en aménagement extérieur']::text[], ARRAY['Pose de rouleaux de gazon', 'Vente de gazon naturel', 'Entretien de jardins', 'Conception d''espaces verts', 'Conseils en aménagement extérieur']::text[], 'sur_devis', NULL, NULL, NULL, 'Seraing', '4102', 'BE', 'Rue des Cotillages 84', 'https://www.wallygazon.be/', NULL, NULL, NULL, NULL, 'wallygazon@gmail.com', NULL, '+3243783344', '+3243783344', NULL, NULL, NULL, 'Seraing', ARRAY['français']::text[], NULL, NULL, NULL, NULL, NULL, '[{"question":"Proposez-vous des services de pose de rouleaux de gazon?","answer":"Oui, cette prestation fait partie des interventions proposées, avec vérification sur place avant réalisation."},{"question":"Sur quelle zone géographique intervenez-vous?","answer":"Les interventions se déroulent à Seraing et dans les communes avoisinantes, selon la nature de la demande."},{"question":"Comment la qualité des interventions est-elle assurée?","answer":"La qualité repose sur une méthode structurée, des vérifications en cours d''intervention et un contrôle final avant la remise au client."},{"question":"Qu''est-ce qui vous distingue sur votre marche local?","answer":"Wally Gazon se distingue par son accompagnement complet, des conseils produits à l''installation, avec une gamme de gazons locaux adaptés à chaque besoin."}]'::jsonb, 'Wally Gazon, spécialiste en jardinerie à Seraing, excelle dans la pose et la vente de rouleaux de gazon cultivés localement. L''entreprise accompagne ses clients de la conception à l''installation, avec des conseils personnalisés pour un jardin harmonieux. Son expertise s''étend aussi à l''entretien des pelouses et espaces verts.', 'Jardinage à Seraing | Wally Gazon', 'Pose de gazon naturel avec préparation minutieuse du sol pour une croissance optimale. Spécialiste local à Seraing, utilisant des rouleaux alignés précisément.', 'Wally Gazon - Jardinage et entretien de pelouse à Seraing', 'Entreprise spécialisée dans la pose de gazon naturel et l''entretien de jardins à Seraing. Conseils personnalisés pour un aménagement extérieur adapté.', '{"@context":"https://schema.org","@type":"LocalBusiness","name":"Wally Gazon","description":"Spécialiste en jardinage et pose de gazon naturel à Seraing.","url":"https://revelys.be/entreprises/jardinage-liege-wally-gazon","sameAs":["https://www.wallygazon.be/"],"address":{"@type":"PostalAddress","streetAddress":"Rue des Cotillages 84","postalCode":"4102","addressLocality":"Seraing","addressCountry":"BE"},"areaServed":{"@type":"City","name":"Seraing"},"keywords":["gazon local","jardin sur mesure","entretien pelouse","conseil personnalisé","sol nutritif","devis gratuit","pose de rouleaux de gazon","vente de gazon naturel","entretien de jardins","conception d''espaces verts","conseils en aménagement extérieur"],"image":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/jardinage-liege-wally-gazon/logo.webp","logo":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/jardinage-liege-wally-gazon/logo.webp"}'::jsonb, '2026-02-20T23:23:03.560Z', TRUE, 5, '574cb19867560cd8a40ca128b9450049ce718e2541db1be094f377174ef26db1', 'Wally Gazon se distingue par son accompagnement complet, des conseils produits à l''installation, avec une gamme de gazons locaux adaptés à chaque besoin.', NULL, 'Joie', '[{"name":"Préparation minutieuse du sol","description":"Avant la pose, le sol est nivelé et enrichi pour garantir une croissance optimale du gazon. Cette étape clé assure un résultat durable.","frequency":"toujours","impact":"qualite","proof":null},{"name":"Conseil personnalisé en produits","description":"Chaque client bénéficie d''une analyse de ses besoins pour choisir le type de gazon adapté à son terrain et usage.","frequency":"toujours","impact":"satisfaction","proof":null},{"name":"Pose avec alignement précis","description":"Les rouleaux sont posés bord à bord sans chevauchement, pour éviter les zones fragiles et assurer un rendu uniforme.","frequency":"toujours","impact":"qualite","proof":null}]'::jsonb, 98, 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/jardinage-liege-wally-gazon/logo.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/jardinage-liege-wally-gazon/cover.webp', ARRAY['https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/jardinage-liege-wally-gazon/g1.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/jardinage-liege-wally-gazon/g2.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/jardinage-liege-wally-gazon/g3.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/jardinage-liege-wally-gazon/g4.webp']::text[], ARRAY[]::text[], NULL, 'listed', 'pending', '[{"label":"Seed: site crawl","date":"2026-02-20T23:23:50.761Z","proof":"https://www.wallygazon.be/"},{"label":"Seed: city hint","date":"2026-02-20T23:23:50.761Z","proof":"Liège"},{"label":"Seed: industry category","date":"2026-02-20T23:23:50.761Z","proof":"Jardinage"},{"label":"Seed: search keyword","date":"2026-02-20T23:23:50.761Z","proof":"Jardinage"},{"label":"Extracted: city","date":"2026-02-20T23:23:50.761Z","proof":"Seraing"},{"label":"BCE: mod97 valid","date":"2026-02-20T23:23:50.761Z","proof":"0797098092"},{"label":"Email extracted","date":"2026-02-20T23:23:50.761Z","proof":"wallygazon@gmail.com"},{"label":"LLM structured (mistral-small3.2:24b-instruct-q5_k_m)","date":"2026-02-20T23:23:50.761Z","proof":"confidence=80/100"},{"label":"Phone extracted","date":"2026-02-20T23:23:50.761Z","proof":"source=tel_link"},{"label":"Images uploaded (Supabase Storage)","date":"2026-02-20T23:23:50.761Z","proof":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/jardinage-liege-wally-gazon/cover.webp"}]'::jsonb, 'published', FALSE, 'none', 'BE0797098092', 'Actif', 'BCE_CSV', '2026-02-20T23:20:23.323Z', '2026-02-20T23:20:23.323Z', 'Brissart, Walthère', '2023-01-12', 'Personne physique', NULL, 'Situation normale', '2026-02-11', '2026-02-20T23:23:50.761Z'
WHERE NOT EXISTS (
  SELECT 1
  FROM companies c_existing
  WHERE c_existing.bce_number = 'BE0797098092'
    AND c_existing.slug <> 'jardinage-liege-wally-gazon'
)
ON CONFLICT (slug) DO UPDATE SET market = EXCLUDED.market, name = EXCLUDED.name, industry = EXCLUDED.industry, tags = EXCLUDED.tags, services = EXCLUDED.services, pricing_model = EXCLUDED.pricing_model, budget_level = EXCLUDED.budget_level, price_indication = EXCLUDED.price_indication, devis_gratuit = EXCLUDED.devis_gratuit, city = EXCLUDED.city, postal_code = EXCLUDED.postal_code, country = EXCLUDED.country, address = EXCLUDED.address, website = EXCLUDED.website, facebook = EXCLUDED.facebook, instagram = EXCLUDED.instagram, linkedin = EXCLUDED.linkedin, tiktok = EXCLUDED.tiktok, contact_email = EXCLUDED.contact_email, contact_name = EXCLUDED.contact_name, contact_phone = EXCLUDED.contact_phone, public_phone = EXCLUDED.public_phone, founder_name = EXCLUDED.founder_name, founder_role = EXCLUDED.founder_role, founder_photo_url = EXCLUDED.founder_photo_url, ideal_zone = EXCLUDED.ideal_zone, languages = EXCLUDED.languages, availability = EXCLUDED.availability, opening_hours = EXCLUDED.opening_hours, google_rating = EXCLUDED.google_rating, google_reviews_count = EXCLUDED.google_reviews_count, google_reviews = EXCLUDED.google_reviews, company_faq = EXCLUDED.company_faq, description = EXCLUDED.description, seo_title = EXCLUDED.seo_title, seo_description = EXCLUDED.seo_description, og_title = EXCLUDED.og_title, og_description = EXCLUDED.og_description, seo_jsonld = EXCLUDED.seo_jsonld, seo_generated_at = EXCLUDED.seo_generated_at, seo_ai_used = EXCLUDED.seo_ai_used, seo_version = EXCLUDED.seo_version, seo_last_inputs_hash = EXCLUDED.seo_last_inputs_hash, why_company = EXCLUDED.why_company, why_entrepreneur = EXCLUDED.why_entrepreneur, emotional_need_label = EXCLUDED.emotional_need_label, rituals = EXCLUDED.rituals, ras_score = EXCLUDED.ras_score, logo_url = EXCLUDED.logo_url, cover_image_url = EXCLUDED.cover_image_url, gallery_urls = EXCLUDED.gallery_urls, video_urls = EXCLUDED.video_urls, video_embed_url = EXCLUDED.video_embed_url, tier = EXCLUDED.tier, verification_status = EXCLUDED.verification_status, verification_checks = EXCLUDED.verification_checks, content_status = EXCLUDED.content_status, is_claimed = EXCLUDED.is_claimed, opt_out_status = EXCLUDED.opt_out_status, bce_number = EXCLUDED.bce_number, bce_status = EXCLUDED.bce_status, bce_source = EXCLUDED.bce_source, bce_verified_at = EXCLUDED.bce_verified_at, bce_last_checked_at = EXCLUDED.bce_last_checked_at, bce_legal_name = EXCLUDED.bce_legal_name, founded_on = EXCLUDED.founded_on, bce_type_of_enterprise = EXCLUDED.bce_type_of_enterprise, bce_juridical_form = EXCLUDED.bce_juridical_form, bce_juridical_situation = EXCLUDED.bce_juridical_situation, bce_source_update_date = EXCLUDED.bce_source_update_date
WHERE companies.is_claimed IS NOT TRUE;

INSERT INTO companies (slug, market, name, industry, tags, services, pricing_model, budget_level, price_indication, devis_gratuit, city, postal_code, country, address, website, facebook, instagram, linkedin, tiktok, contact_email, contact_name, contact_phone, public_phone, founder_name, founder_role, founder_photo_url, ideal_zone, languages, availability, opening_hours, google_rating, google_reviews_count, google_reviews, company_faq, description, seo_title, seo_description, og_title, og_description, seo_jsonld, seo_generated_at, seo_ai_used, seo_version, seo_last_inputs_hash, why_company, why_entrepreneur, emotional_need_label, rituals, ras_score, logo_url, cover_image_url, gallery_urls, video_urls, video_embed_url, tier, verification_status, verification_checks, content_status, is_claimed, opt_out_status, bce_number, bce_status, bce_source, bce_verified_at, bce_last_checked_at, bce_legal_name, founded_on, bce_type_of_enterprise, bce_juridical_form, bce_juridical_situation, bce_source_update_date, created_at)
SELECT 'entretien-exterieur-liege-au-coeur-du-vegetal', 'BE-WAL', 'Au coeur du végétal', 'Jardinage', ARRAY['jardin sur mesure', 'plan d''eau naturel', 'élagage sécurisé', 'terrasse en bois', 'clôture personnalisée', 'déneigement urgent', 'arboriste grimpeur', 'entretien saisonnier', 'entretien de et création de jardin', 'abattage et élagage', 'aménagement extérieur', 'pose de clôtures']::text[], ARRAY['Entretien de et création de jardin', 'Abattage et élagage', 'Aménagement extérieur', 'Pose de clôtures', 'Services d’hiver (déneigement', 'Épandage de sel)']::text[], 'sur_devis', NULL, NULL, NULL, 'Ans', '4430', 'BE', 'Rue Branche Planchard 36 , , BE', 'https://www.aucoeurduvegetal.be/', NULL, 'https://www.instagram.com/au_coeur_du_vegetal/', NULL, NULL, 'remy.hamoir@hotmail.com', NULL, '+32485736463', '+32485736463', NULL, NULL, NULL, 'Ans', ARRAY['français']::text[], '24h/24 - 7j/7', NULL, NULL, NULL, NULL, '[{"question":"Proposez-vous des services d''entretien de et création de jardin?","answer":"Oui, cette prestation fait partie des interventions proposées, avec vérification sur place avant réalisation."},{"question":"Intervenez-vous au-delà de la zone principale?","answer":"La zone principale est Ans. Les interventions peuvent s''étendre aux communes limitrophes selon le besoin."},{"question":"Comment contrôlez-vous la qualité de votre travail?","answer":"Des vérifications sont effectuées à chaque étape de l''intervention, avec un contrôle final avant la clôture du chantier."},{"question":"Gérez-vous les interventions urgentes?","answer":"Oui, l''organisation permet de répondre aux demandes urgentes (24h/24 - 7j/7)."}]'::jsonb, 'Au cœur du végétal, entrepreneur en parcs et jardins à Ans (Liège), réalise la création et l’entretien de jardins sur mesure. Spécialiste des plans d’eau et des travaux d’abattage/élagage, il intervient avec précision pour sublimer vos espaces extérieurs.', 'Entretien extérieur à Ans | Au coeur du végétal', 'Arboriste grimpeur réalisant lui-même vos travaux avec écoute et précision. Interventions sur mesure pour jardins, clôtures et déneigement en région liégeoise.', 'Au coeur du végétal - Entretien extérieur à Ans', 'Création de jardins sur mesure, élagage sécurisé et services d''hiver par un professionnel local. Travaux artisanaux avec écoute des besoins clients.', '{"@context":"https://schema.org","@type":"LocalBusiness","name":"Au coeur du végétal","description":"Arboriste grimpeur réalisant création et entretien de jardins, élagage sécurisé et services d''hiver.","url":"https://revelys.be/entreprises/entretien-exterieur-liege-au-coeur-du-vegetal","sameAs":["https://www.aucoeurduvegetal.be/"],"address":{"@type":"PostalAddress","streetAddress":"Rue Branche Planchard 36","postalCode":"4430","addressLocality":"Ans","addressCountry":"BE"},"areaServed":"Ans, Liège","keywords":["jardin sur mesure","plan d''eau naturel","élagage sécurisé","terrasse en bois","clôture personnalisée","déneigement urgent","arboriste grimpeur","entretien saisonnier","abattage et élagage","aménagement extérieur","pose de clôtures"],"image":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/entretien-exterieur-liege-au-coeur-du-vegetal/logo.webp"}'::jsonb, '2026-02-20T23:27:41.980Z', TRUE, 5, '79a4521568af4206b8d5d6011fe4c7678afff21fd2371a61607840b0a18f76a7', 'Arboriste grimpeur de formation, je réalise moi-même tous vos travaux avec un soin artisanal et une écoute attentive à vos envies.', NULL, 'Joie', '[{"name":"Taille sécurisée des arbres dangereux","description":"Utilisation d’équipements professionnels pour élaguer les branches menaçantes, avec évacuation systématique des déchets verts.","frequency":"Selon le besoin","impact":"Améliore la fiabilité et la qualité d''exécution.","proof":null},{"name":"Création de plans d’eau sur mesure","description":"Étude du terrain et choix des matériaux naturels pour intégrer harmonieusement le bassin dans votre jardin.","frequency":"Selon le besoin","impact":"Améliore la fiabilité et la qualité d''exécution.","proof":null},{"name":"Déneigement préventif","description":"Surveillance météo continue et intervention rapide pour dégager les accès avec épandage de sel adapté.","frequency":"Selon le besoin","impact":"Améliore la fiabilité et la qualité d''exécution.","proof":null}]'::jsonb, 98, 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/entretien-exterieur-liege-au-coeur-du-vegetal/logo.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/entretien-exterieur-liege-au-coeur-du-vegetal/cover.webp', ARRAY['https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/entretien-exterieur-liege-au-coeur-du-vegetal/g1.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/entretien-exterieur-liege-au-coeur-du-vegetal/g2.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/entretien-exterieur-liege-au-coeur-du-vegetal/g3.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/entretien-exterieur-liege-au-coeur-du-vegetal/g4.webp']::text[], ARRAY[]::text[], NULL, 'listed', 'pending', '[{"label":"Seed: site crawl","date":"2026-02-20T23:28:26.621Z","proof":"https://www.aucoeurduvegetal.be/"},{"label":"Seed: city hint","date":"2026-02-20T23:28:26.621Z","proof":"Liège"},{"label":"Seed: industry category","date":"2026-02-20T23:28:26.621Z","proof":"Jardinage"},{"label":"Seed: search keyword","date":"2026-02-20T23:28:26.621Z","proof":"entretien extérieur"},{"label":"Extracted: city","date":"2026-02-20T23:28:26.621Z","proof":"Ans"},{"label":"BCE: mod97 valid","date":"2026-02-20T23:28:26.621Z","proof":"0753867073"},{"label":"Email extracted","date":"2026-02-20T23:28:26.621Z","proof":"remy.hamoir@hotmail.com"},{"label":"LLM structured (mistral-small3.2:24b-instruct-q5_k_m)","date":"2026-02-20T23:28:26.621Z","proof":"confidence=80/100"},{"label":"Phone extracted","date":"2026-02-20T23:28:26.621Z","proof":"source=tel_link"},{"label":"Images uploaded (Supabase Storage)","date":"2026-02-20T23:28:26.621Z","proof":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/entretien-exterieur-liege-au-coeur-du-vegetal/cover.webp"}]'::jsonb, 'published', FALSE, 'none', 'BE0753867073', 'Actif', 'BCE_CSV', '2026-02-20T23:24:20.298Z', '2026-02-20T23:24:20.298Z', 'Hamoir, Rémy', '2020-09-09', 'Personne physique', NULL, 'Situation normale', '2026-02-11', '2026-02-20T23:28:26.621Z'
WHERE NOT EXISTS (
  SELECT 1
  FROM companies c_existing
  WHERE c_existing.bce_number = 'BE0753867073'
    AND c_existing.slug <> 'entretien-exterieur-liege-au-coeur-du-vegetal'
)
ON CONFLICT (slug) DO UPDATE SET market = EXCLUDED.market, name = EXCLUDED.name, industry = EXCLUDED.industry, tags = EXCLUDED.tags, services = EXCLUDED.services, pricing_model = EXCLUDED.pricing_model, budget_level = EXCLUDED.budget_level, price_indication = EXCLUDED.price_indication, devis_gratuit = EXCLUDED.devis_gratuit, city = EXCLUDED.city, postal_code = EXCLUDED.postal_code, country = EXCLUDED.country, address = EXCLUDED.address, website = EXCLUDED.website, facebook = EXCLUDED.facebook, instagram = EXCLUDED.instagram, linkedin = EXCLUDED.linkedin, tiktok = EXCLUDED.tiktok, contact_email = EXCLUDED.contact_email, contact_name = EXCLUDED.contact_name, contact_phone = EXCLUDED.contact_phone, public_phone = EXCLUDED.public_phone, founder_name = EXCLUDED.founder_name, founder_role = EXCLUDED.founder_role, founder_photo_url = EXCLUDED.founder_photo_url, ideal_zone = EXCLUDED.ideal_zone, languages = EXCLUDED.languages, availability = EXCLUDED.availability, opening_hours = EXCLUDED.opening_hours, google_rating = EXCLUDED.google_rating, google_reviews_count = EXCLUDED.google_reviews_count, google_reviews = EXCLUDED.google_reviews, company_faq = EXCLUDED.company_faq, description = EXCLUDED.description, seo_title = EXCLUDED.seo_title, seo_description = EXCLUDED.seo_description, og_title = EXCLUDED.og_title, og_description = EXCLUDED.og_description, seo_jsonld = EXCLUDED.seo_jsonld, seo_generated_at = EXCLUDED.seo_generated_at, seo_ai_used = EXCLUDED.seo_ai_used, seo_version = EXCLUDED.seo_version, seo_last_inputs_hash = EXCLUDED.seo_last_inputs_hash, why_company = EXCLUDED.why_company, why_entrepreneur = EXCLUDED.why_entrepreneur, emotional_need_label = EXCLUDED.emotional_need_label, rituals = EXCLUDED.rituals, ras_score = EXCLUDED.ras_score, logo_url = EXCLUDED.logo_url, cover_image_url = EXCLUDED.cover_image_url, gallery_urls = EXCLUDED.gallery_urls, video_urls = EXCLUDED.video_urls, video_embed_url = EXCLUDED.video_embed_url, tier = EXCLUDED.tier, verification_status = EXCLUDED.verification_status, verification_checks = EXCLUDED.verification_checks, content_status = EXCLUDED.content_status, is_claimed = EXCLUDED.is_claimed, opt_out_status = EXCLUDED.opt_out_status, bce_number = EXCLUDED.bce_number, bce_status = EXCLUDED.bce_status, bce_source = EXCLUDED.bce_source, bce_verified_at = EXCLUDED.bce_verified_at, bce_last_checked_at = EXCLUDED.bce_last_checked_at, bce_legal_name = EXCLUDED.bce_legal_name, founded_on = EXCLUDED.founded_on, bce_type_of_enterprise = EXCLUDED.bce_type_of_enterprise, bce_juridical_form = EXCLUDED.bce_juridical_form, bce_juridical_situation = EXCLUDED.bce_juridical_situation, bce_source_update_date = EXCLUDED.bce_source_update_date
WHERE companies.is_claimed IS NOT TRUE;

INSERT INTO companies (slug, market, name, industry, tags, services, pricing_model, budget_level, price_indication, devis_gratuit, city, postal_code, country, address, website, facebook, instagram, linkedin, tiktok, contact_email, contact_name, contact_phone, public_phone, founder_name, founder_role, founder_photo_url, ideal_zone, languages, availability, opening_hours, google_rating, google_reviews_count, google_reviews, company_faq, description, seo_title, seo_description, og_title, og_description, seo_jsonld, seo_generated_at, seo_ai_used, seo_version, seo_last_inputs_hash, why_company, why_entrepreneur, emotional_need_label, rituals, ras_score, logo_url, cover_image_url, gallery_urls, video_urls, video_embed_url, tier, verification_status, verification_checks, content_status, is_claimed, opt_out_status, bce_number, bce_status, bce_source, bce_verified_at, bce_last_checked_at, bce_legal_name, founded_on, bce_type_of_enterprise, bce_juridical_form, bce_juridical_situation, bce_source_update_date, created_at)
SELECT 'jardinage-entretien-exterieur-liege-cortigroupe', 'BE-WAL', 'Cortigroupe', 'Jardinage', ARRAY['jardinage durable', 'espaces verts', 'taille de haie', 'aménagement exterieur', 'insertion professionnelle', 'entretien saisonnier', 'désherbage naturel', 'entretien des espaces verts', 'création de jardins', 'taille des haies', 'aménagement paysager', 'désherbage écologique']::text[], ARRAY['Entretien des espaces verts', 'Création de jardins', 'Taille des haies', 'Aménagement paysager', 'Désherbage écologique']::text[], 'sur_devis', NULL, NULL, NULL, 'Neupré', '4120', 'BE', 'Rue Bellaire(RR) 13', 'https://www.cortigroupe.be/', 'https://www.facebook.com/CORTIGROUPE-160737320659353/', NULL, NULL, NULL, 'info.lamaison@cortigroupe.be', NULL, '+3243715530', '+3243715530', NULL, NULL, NULL, 'Neupré', ARRAY['français']::text[], 'Du lundi au vendredi', NULL, NULL, NULL, NULL, '[{"question":"Proposez-vous des services d''entretien des espaces verts?","answer":"Oui, cette prestation fait partie des interventions proposées, avec vérification sur place avant réalisation."},{"question":"Sur quelle zone géographique intervenez-vous?","answer":"Les interventions se déroulent à Neupré et dans les communes avoisinantes, selon la nature de la demande."},{"question":"Comment la qualité des interventions est-elle assurée?","answer":"La qualité repose sur une méthode structurée, des vérifications en cours d''intervention et un contrôle final avant la remise au client."},{"question":"Qu''est-ce qui vous distingue sur votre marche local?","answer":"Chez Cortigroupe, nous croyons que le jardinage doit allier qualité technique et impact social. Nos interventions sont réalisées par des équipes formées dans nos centres d''insertion, garantissant un savoir-faire professionnel tout en offrant une seconde chance à ceux qui en ont besoin."}]'::jsonb, 'Cortigroupe est un spécialiste du jardinage à Neupré, alliant expertise technique et engagement social. L''entreprise propose des services d''entretien paysager et de création d''espaces verts, en s''appuyant sur une équipe formée et encadrée pour offrir des prestations durables. Chaque intervention respecte les normes environnementales tout en contribuant à l''insertion professionnelle.', 'Jardinage à Neupré | Cortigroupe', 'Entretien écologique des espaces verts par des équipes en insertion. Taille de haies respectueuse des cycles naturels pour une végétation saine et durable.', 'Cortigroupe - Jardinage et aménagement extérieur à Neupré', 'Entreprise spécialisée dans l''entretien des espaces verts, la création de jardins et le désherbage écologique. Interventions adaptées aux saisons et réalisées par des équipes formées en insertion professionnelle.', '{"@context":"https://schema.org","@type":"LocalBusiness","name":"Cortigroupe","description":"Entreprise de jardinage durable à Neupré, spécialisée dans l''entretien écologique des espaces verts et la création de jardins.","url":"https://revelys.be/entreprises/jardinage-entretien-exterieur-liege-cortigroupe","sameAs":["https://www.cortigroupe.be/"],"address":{"@type":"PostalAddress","streetAddress":"Rue Bellaire(RR) 13","postalCode":"4120","addressLocality":"Neupré","addressCountry":"BE"},"areaServed":{"@type":"Place","name":"Neupré"},"keywords":["jardinage durable","espaces verts","taille de haie","aménagement exterieur","insertion professionnelle","entretien saisonnier","désherbage naturel","entretien des espaces verts","création de jardins","taille des haies","aménagement paysager","désherbage écologique"],"image":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/jardinage-entretien-exterieur-liege-cortigroupe/logo.webp"}'::jsonb, '2026-02-20T23:35:32.518Z', TRUE, 5, '25e41303d72d783d15ef11771d973dc811a4f28a855e414ec99e99ba59b918d8', 'Chez Cortigroupe, nous croyons que le jardinage doit allier qualité technique et impact social. Nos interventions sont réalisées par des équipes formées dans nos centres d''insertion, garantissant un savoir-faire professionnel tout en offrant une seconde chance à ceux qui en ont besoin.', NULL, 'Durabilité', '[{"name":"Diagnostic écologique","description":"Avant toute intervention, nous analysons l''état du jardin et proposons des solutions adaptées aux besoins spécifiques de la végétation locale. Cette approche permet d''éviter les traitements inutiles et de préserver la","frequency":"toujours","impact":"durabilite","proof":null},{"name":"Taille respectueuse des cycles naturels","description":"Nous adaptons nos interventions aux saisons et au développement naturel des plantes, en évitant les coupes brutales qui pourraient fragiliser la végétation. Cette méthode favorise une croissance saine et durable.","frequency":"toujours","impact":"durabilite","proof":null},{"name":"Utilisation d''outils manuels","description":"Pour les petites surfaces, nous privilégions les outils manuels comme les sécateurs et les débroussailleuses thermiques, qui limitent l''impact environnemental tout en permettant un travail précis.","frequency":"souvent","impact":"durabilite","proof":null}]'::jsonb, 98, 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/jardinage-entretien-exterieur-liege-cortigroupe/logo.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/jardinage-entretien-exterieur-liege-cortigroupe/cover.webp', ARRAY['https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/jardinage-entretien-exterieur-liege-cortigroupe/g1.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/jardinage-entretien-exterieur-liege-cortigroupe/g2.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/jardinage-entretien-exterieur-liege-cortigroupe/g3.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/jardinage-entretien-exterieur-liege-cortigroupe/g4.webp']::text[], ARRAY[]::text[], NULL, 'listed', 'pending', '[{"label":"Seed: site crawl","date":"2026-02-20T23:36:17.980Z","proof":"https://www.cortigroupe.be/espaces-verts/"},{"label":"Seed: city hint","date":"2026-02-20T23:36:17.980Z","proof":"Liège"},{"label":"Seed: industry category","date":"2026-02-20T23:36:17.980Z","proof":"Jardinage"},{"label":"Seed: search keyword","date":"2026-02-20T23:36:17.980Z","proof":"Jardinage entretien extérieur"},{"label":"Extracted: city","date":"2026-02-20T23:36:17.980Z","proof":"Neupré"},{"label":"BCE: mod97 valid","date":"2026-02-20T23:36:17.980Z","proof":"0426603327"},{"label":"Email extracted","date":"2026-02-20T23:36:17.980Z","proof":"info.lamaison@cortigroupe.be"},{"label":"LLM structured (mistral-small3.2:24b-instruct-q5_k_m)","date":"2026-02-20T23:36:17.980Z","proof":"confidence=80/100"},{"label":"Phone extracted","date":"2026-02-20T23:36:17.980Z","proof":"source=tel_link"},{"label":"Images uploaded (Supabase Storage)","date":"2026-02-20T23:36:17.980Z","proof":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/jardinage-entretien-exterieur-liege-cortigroupe/cover.webp"}]'::jsonb, 'published', FALSE, 'none', 'BE0426603327', 'Actif', 'BCE_CSV', '2026-02-20T23:32:37.218Z', '2026-02-20T23:32:37.218Z', 'LE CORTIL', '1984-10-20', 'Personne morale', 'Association sans but lucratif', 'Situation normale', '2026-02-11', '2026-02-20T23:36:17.980Z'
WHERE NOT EXISTS (
  SELECT 1
  FROM companies c_existing
  WHERE c_existing.bce_number = 'BE0426603327'
    AND c_existing.slug <> 'jardinage-entretien-exterieur-liege-cortigroupe'
)
ON CONFLICT (slug) DO UPDATE SET market = EXCLUDED.market, name = EXCLUDED.name, industry = EXCLUDED.industry, tags = EXCLUDED.tags, services = EXCLUDED.services, pricing_model = EXCLUDED.pricing_model, budget_level = EXCLUDED.budget_level, price_indication = EXCLUDED.price_indication, devis_gratuit = EXCLUDED.devis_gratuit, city = EXCLUDED.city, postal_code = EXCLUDED.postal_code, country = EXCLUDED.country, address = EXCLUDED.address, website = EXCLUDED.website, facebook = EXCLUDED.facebook, instagram = EXCLUDED.instagram, linkedin = EXCLUDED.linkedin, tiktok = EXCLUDED.tiktok, contact_email = EXCLUDED.contact_email, contact_name = EXCLUDED.contact_name, contact_phone = EXCLUDED.contact_phone, public_phone = EXCLUDED.public_phone, founder_name = EXCLUDED.founder_name, founder_role = EXCLUDED.founder_role, founder_photo_url = EXCLUDED.founder_photo_url, ideal_zone = EXCLUDED.ideal_zone, languages = EXCLUDED.languages, availability = EXCLUDED.availability, opening_hours = EXCLUDED.opening_hours, google_rating = EXCLUDED.google_rating, google_reviews_count = EXCLUDED.google_reviews_count, google_reviews = EXCLUDED.google_reviews, company_faq = EXCLUDED.company_faq, description = EXCLUDED.description, seo_title = EXCLUDED.seo_title, seo_description = EXCLUDED.seo_description, og_title = EXCLUDED.og_title, og_description = EXCLUDED.og_description, seo_jsonld = EXCLUDED.seo_jsonld, seo_generated_at = EXCLUDED.seo_generated_at, seo_ai_used = EXCLUDED.seo_ai_used, seo_version = EXCLUDED.seo_version, seo_last_inputs_hash = EXCLUDED.seo_last_inputs_hash, why_company = EXCLUDED.why_company, why_entrepreneur = EXCLUDED.why_entrepreneur, emotional_need_label = EXCLUDED.emotional_need_label, rituals = EXCLUDED.rituals, ras_score = EXCLUDED.ras_score, logo_url = EXCLUDED.logo_url, cover_image_url = EXCLUDED.cover_image_url, gallery_urls = EXCLUDED.gallery_urls, video_urls = EXCLUDED.video_urls, video_embed_url = EXCLUDED.video_embed_url, tier = EXCLUDED.tier, verification_status = EXCLUDED.verification_status, verification_checks = EXCLUDED.verification_checks, content_status = EXCLUDED.content_status, is_claimed = EXCLUDED.is_claimed, opt_out_status = EXCLUDED.opt_out_status, bce_number = EXCLUDED.bce_number, bce_status = EXCLUDED.bce_status, bce_source = EXCLUDED.bce_source, bce_verified_at = EXCLUDED.bce_verified_at, bce_last_checked_at = EXCLUDED.bce_last_checked_at, bce_legal_name = EXCLUDED.bce_legal_name, founded_on = EXCLUDED.founded_on, bce_type_of_enterprise = EXCLUDED.bce_type_of_enterprise, bce_juridical_form = EXCLUDED.bce_juridical_form, bce_juridical_situation = EXCLUDED.bce_juridical_situation, bce_source_update_date = EXCLUDED.bce_source_update_date
WHERE companies.is_claimed IS NOT TRUE;

INSERT INTO companies (slug, market, name, industry, tags, services, pricing_model, budget_level, price_indication, devis_gratuit, city, postal_code, country, address, website, facebook, instagram, linkedin, tiktok, contact_email, contact_name, contact_phone, public_phone, founder_name, founder_role, founder_photo_url, ideal_zone, languages, availability, opening_hours, google_rating, google_reviews_count, google_reviews, company_faq, description, seo_title, seo_description, og_title, og_description, seo_jsonld, seo_generated_at, seo_ai_used, seo_version, seo_last_inputs_hash, why_company, why_entrepreneur, emotional_need_label, rituals, ras_score, logo_url, cover_image_url, gallery_urls, video_urls, video_embed_url, tier, verification_status, verification_checks, content_status, is_claimed, opt_out_status, bce_number, bce_status, bce_source, bce_verified_at, bce_last_checked_at, bce_legal_name, founded_on, bce_type_of_enterprise, bce_juridical_form, bce_juridical_situation, bce_source_update_date, created_at)
SELECT 'jardinage-entretien-exterieur-liege-petites-cours-et-grands-jardins-srl', 'BE-WAL', 'PETITES COURS ET GRANDS JARDINS SRL', 'Jardinage', ARRAY['aménagement paysager durable', 'toiture végétale écologique', 'plantation d''arbres matures', 'murs en pierres sèches traditionnels', 'espaces verts sur mesure', 'entretien jardin professionnel', 'construction de murs en pierres sèches', 'aménagement d''espaces verts', 'installation de toitures végétalisées', 'plantation d''arbres de grande taille', 'réalisation de terrasses et allées', 'entretien de jardins']::text[], ARRAY['Construction de murs en pierres sèches', 'Aménagement d''espaces verts', 'Installation de toitures végétalisées', 'Plantation d''arbres de grande taille', 'Réalisation de terrasses et allées', 'Entretien de jardins']::text[], NULL, NULL, NULL, NULL, 'Blégny', '4670', 'BE', 'Chemin de Favechamps 11', 'https://www.petitescoursetgrandsjardins.be/', 'https://www.facebook.com/petitescoursetgrandsjardins?locale=nl_BE', 'https://www.instagram.com/petitescoursetgrandsjardins/', NULL, 'https://www.tiktok.com/@petitescours.grdsjardins', 'joseph.geraerds@skynet.be', NULL, '+3243877228', '+3243877228', NULL, NULL, NULL, 'Blégny', ARRAY['français']::text[], 'Du lundi au vendredi', NULL, NULL, NULL, NULL, '[{"question":"Proposez-vous des services de construction de murs en pierres sèches?","answer":"Oui, cette prestation fait partie des interventions proposées, avec vérification sur place avant réalisation."},{"question":"Intervenez-vous au-delà de la zone principale?","answer":"La zone principale est Blégny. Les interventions peuvent s''étendre aux communes limitrophes selon le besoin."},{"question":"Comment contrôlez-vous la qualité de votre travail?","answer":"Des vérifications sont effectuées à chaque étape de l''intervention, avec un contrôle final avant la clôture du chantier."},{"question":"Qu''est-ce qui vous distingue sur votre marche local?","answer":"Petites Cours et Grands Jardins se distingue par son approche artisanale et écologique, combinant techniques ancestrales comme les murs en pierres sèches et solutions modernes telles que les toitures végétales."}]'::jsonb, 'Petites Cours et Grands Jardins SRL, spécialisée dans l''aménagement paysager à Blégny, allie savoir-faire traditionnel et innovation pour créer des espaces extérieurs durables. De la plantation de gros sujets aux toitures végétales, chaque projet est conçu sur mesure pour s''harmoniser avec votre environnement.', 'Jardinage à Blégny | PETITES COURS ET GRANDS JARDINS SRL', 'Aménagement d''espaces verts durables avec murs en pierres sèches traditionnels. Expertise locale en toitures végétales et plantation d''arbres matures.', 'Jardinage écologique à Blégny', 'Entreprise spécialisée dans l''aménagement paysager durable, les toitures végétalisées et la construction de murs en pierres sèches traditionnels.', '{"@context":"https://schema.org","@type":"LocalBusiness","name":"PETITES COURS ET GRANDS JARDINS SRL","description":"Aménagement paysager durable et entretien de jardins à Blégny.","url":"https://revelys.be/entreprises/jardinage-entretien-exterieur-liege-petites-cours-et-grands-jardins-srl","sameAs":["https://www.petitescoursetgrandsjardins.be/"],"address":{"@type":"PostalAddress","streetAddress":"Chemin de Favechamps 11","postalCode":"4670","addressLocality":"Blégny","addressCountry":"BE"},"areaServed":{"@type":"Place","name":"Blégny"},"keywords":["aménagement paysager durable","toiture végétale écologique","plantation d''arbres matures","murs en pierres sèches traditionnels","espaces verts sur mesure","entretien jardin professionnel","construction de murs en pierres sèches","aménagement d''espaces verts","installation de toitures végétalisées","plantation d''arbres de grande taille","réalisation de terrasses et allées","entretien de jardins"],"image":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/jardinage-entretien-exterieur-liege-petites-cours-et-grands-jardins-srl/logo.webp","logo":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/jardinage-entretien-exterieur-liege-petites-cours-et-grands-jardins-srl/logo.webp"}'::jsonb, '2026-02-20T23:39:17.023Z', TRUE, 5, '254439dfac8fc95fbdf0ad3bb5c9bfc437d1ed2c8dffb03e45a60303c7bffb15', 'Petites Cours et Grands Jardins se distingue par son approche artisanale et écologique, combinant techniques ancestrales comme les murs en pierres sèches et solutions modernes telles que les toitures végétales.', NULL, 'Durabilité', '[{"name":"Préparation minutieuse du terrain","description":"Utilisation d''une mini pelle pour décompacter le sol avant la plantation, garantissant une reprise optimale des arbres transplantés.","frequency":"Selon le besoin","impact":"Améliore la fiabilité et la qualité d''exécution.","proof":null},{"name":"Transport sécurisé de gros sujets","description":"Manipulation d''arbres en motte jusqu''à 9 tonnes avec des engins spécialisés, protégés par une tontine biodégradable.","frequency":"Selon le besoin","impact":"Améliore la fiabilité et la qualité d''exécution.","proof":null},{"name":"Vérification de l''étanchéité des toitures végétales","description":"Contrôle systématique après installation pour s''assurer de la bonne tenue du substrat et des plantes.","frequency":"Selon le besoin","impact":"Améliore la fiabilité et la qualité d''exécution.","proof":null}]'::jsonb, 98, 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/jardinage-entretien-exterieur-liege-petites-cours-et-grands-jardins-srl/logo.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/jardinage-entretien-exterieur-liege-petites-cours-et-grands-jardins-srl/cover.webp', ARRAY['https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/jardinage-entretien-exterieur-liege-petites-cours-et-grands-jardins-srl/g1.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/jardinage-entretien-exterieur-liege-petites-cours-et-grands-jardins-srl/g2.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/jardinage-entretien-exterieur-liege-petites-cours-et-grands-jardins-srl/g3.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/jardinage-entretien-exterieur-liege-petites-cours-et-grands-jardins-srl/g4.webp']::text[], ARRAY[]::text[], NULL, 'listed', 'pending', '[{"label":"Seed: site crawl","date":"2026-02-20T23:40:15.891Z","proof":"https://www.petitescoursetgrandsjardins.be/"},{"label":"Seed: city hint","date":"2026-02-20T23:40:15.891Z","proof":"Liège"},{"label":"Seed: industry category","date":"2026-02-20T23:40:15.891Z","proof":"Jardinage"},{"label":"Seed: search keyword","date":"2026-02-20T23:40:15.891Z","proof":"Jardinage entretien extérieur"},{"label":"Extracted: city","date":"2026-02-20T23:40:15.891Z","proof":"Blégny"},{"label":"BCE: mod97 valid","date":"2026-02-20T23:40:15.891Z","proof":"0866493773"},{"label":"Email extracted","date":"2026-02-20T23:40:15.891Z","proof":"joseph.geraerds@skynet.be"},{"label":"LLM structured (mistral-small3.2:24b-instruct-q5_k_m)","date":"2026-02-20T23:40:15.891Z","proof":"confidence=80/100"},{"label":"Phone extracted","date":"2026-02-20T23:40:15.891Z","proof":"source=tel_link"},{"label":"Images uploaded (Supabase Storage)","date":"2026-02-20T23:40:15.891Z","proof":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/jardinage-entretien-exterieur-liege-petites-cours-et-grands-jardins-srl/cover.webp"}]'::jsonb, 'published', FALSE, 'none', 'BE0866493773', 'Actif', 'BCE_CSV', '2026-02-20T23:36:31.542Z', '2026-02-20T23:36:31.542Z', 'Petites Cours et Grands Jardins', '2004-07-22', 'Personne morale', 'Société à responsabilité limitée', 'Situation normale', '2026-02-11', '2026-02-20T23:40:15.891Z'
WHERE NOT EXISTS (
  SELECT 1
  FROM companies c_existing
  WHERE c_existing.bce_number = 'BE0866493773'
    AND c_existing.slug <> 'jardinage-entretien-exterieur-liege-petites-cours-et-grands-jardins-srl'
)
ON CONFLICT (slug) DO UPDATE SET market = EXCLUDED.market, name = EXCLUDED.name, industry = EXCLUDED.industry, tags = EXCLUDED.tags, services = EXCLUDED.services, pricing_model = EXCLUDED.pricing_model, budget_level = EXCLUDED.budget_level, price_indication = EXCLUDED.price_indication, devis_gratuit = EXCLUDED.devis_gratuit, city = EXCLUDED.city, postal_code = EXCLUDED.postal_code, country = EXCLUDED.country, address = EXCLUDED.address, website = EXCLUDED.website, facebook = EXCLUDED.facebook, instagram = EXCLUDED.instagram, linkedin = EXCLUDED.linkedin, tiktok = EXCLUDED.tiktok, contact_email = EXCLUDED.contact_email, contact_name = EXCLUDED.contact_name, contact_phone = EXCLUDED.contact_phone, public_phone = EXCLUDED.public_phone, founder_name = EXCLUDED.founder_name, founder_role = EXCLUDED.founder_role, founder_photo_url = EXCLUDED.founder_photo_url, ideal_zone = EXCLUDED.ideal_zone, languages = EXCLUDED.languages, availability = EXCLUDED.availability, opening_hours = EXCLUDED.opening_hours, google_rating = EXCLUDED.google_rating, google_reviews_count = EXCLUDED.google_reviews_count, google_reviews = EXCLUDED.google_reviews, company_faq = EXCLUDED.company_faq, description = EXCLUDED.description, seo_title = EXCLUDED.seo_title, seo_description = EXCLUDED.seo_description, og_title = EXCLUDED.og_title, og_description = EXCLUDED.og_description, seo_jsonld = EXCLUDED.seo_jsonld, seo_generated_at = EXCLUDED.seo_generated_at, seo_ai_used = EXCLUDED.seo_ai_used, seo_version = EXCLUDED.seo_version, seo_last_inputs_hash = EXCLUDED.seo_last_inputs_hash, why_company = EXCLUDED.why_company, why_entrepreneur = EXCLUDED.why_entrepreneur, emotional_need_label = EXCLUDED.emotional_need_label, rituals = EXCLUDED.rituals, ras_score = EXCLUDED.ras_score, logo_url = EXCLUDED.logo_url, cover_image_url = EXCLUDED.cover_image_url, gallery_urls = EXCLUDED.gallery_urls, video_urls = EXCLUDED.video_urls, video_embed_url = EXCLUDED.video_embed_url, tier = EXCLUDED.tier, verification_status = EXCLUDED.verification_status, verification_checks = EXCLUDED.verification_checks, content_status = EXCLUDED.content_status, is_claimed = EXCLUDED.is_claimed, opt_out_status = EXCLUDED.opt_out_status, bce_number = EXCLUDED.bce_number, bce_status = EXCLUDED.bce_status, bce_source = EXCLUDED.bce_source, bce_verified_at = EXCLUDED.bce_verified_at, bce_last_checked_at = EXCLUDED.bce_last_checked_at, bce_legal_name = EXCLUDED.bce_legal_name, founded_on = EXCLUDED.founded_on, bce_type_of_enterprise = EXCLUDED.bce_type_of_enterprise, bce_juridical_form = EXCLUDED.bce_juridical_form, bce_juridical_situation = EXCLUDED.bce_juridical_situation, bce_source_update_date = EXCLUDED.bce_source_update_date
WHERE companies.is_claimed IS NOT TRUE;

INSERT INTO companies (slug, market, name, industry, tags, services, pricing_model, budget_level, price_indication, devis_gratuit, city, postal_code, country, address, website, facebook, instagram, linkedin, tiktok, contact_email, contact_name, contact_phone, public_phone, founder_name, founder_role, founder_photo_url, ideal_zone, languages, availability, opening_hours, google_rating, google_reviews_count, google_reviews, company_faq, description, seo_title, seo_description, og_title, og_description, seo_jsonld, seo_generated_at, seo_ai_used, seo_version, seo_last_inputs_hash, why_company, why_entrepreneur, emotional_need_label, rituals, ras_score, logo_url, cover_image_url, gallery_urls, video_urls, video_embed_url, tier, verification_status, verification_checks, content_status, is_claimed, opt_out_status, bce_number, bce_status, bce_source, bce_verified_at, bce_last_checked_at, bce_legal_name, founded_on, bce_type_of_enterprise, bce_juridical_form, bce_juridical_situation, bce_source_update_date, created_at)
SELECT 'nettoyage-liege-acd-nettoyage', 'BE-WAL', 'ACD Nettoyage', 'Nettoyage', ARRAY['nettoyage après sinistre', 'désinfection professionnelle', 'missions en urgence', 'nettoyage en hauteur', 'entreprise eco-responsable', 'emotional need label', 'why company', 'acd nettoyage se distingue par son expertise dans les missions complexes et son engagement environnemental historique, avec des équipes formées pour répondre aux besoins spécifiques de chaque client.', 'rituals', 'nettoyage avec aspirateur industriel pour sols sensibles', 'utilisation de produits écologiques certifiés', 'vérification systématique des zones difficiles d''accès après intervention']::text[], ARRAY['Nettoyage de bureaux & bâtiments administratifs', 'Nettoyage des communs d’immeubles', 'Entretien des locaux sensibles', 'Magasins', 'Usines', 'Nettoyage de vitres']::text[], 'sur_devis', NULL, NULL, NULL, 'Liège', '4032', 'BE', 'Boulevard de l''Ourthe 20', 'https://www.acd-nettoyage.com/', 'https://www.facebook.com/ACD-Nettoyage-152546798133320/', NULL, 'https://www.linkedin.com/company/acd-nettoyage/', NULL, 'privacy@acd-nettoyage.com', NULL, '+3242320878', '+3242320878', NULL, NULL, NULL, 'Liège', ARRAY['français']::text[], '24h/24 - 7j/7', NULL, NULL, NULL, NULL, '[{"question":"Proposez-vous des services de nettoyage de bureaux & bâtiments administratifs?","answer":"Oui, cette prestation fait partie des interventions proposées, avec vérification sur place avant réalisation."},{"question":"Quelles communes sont couvertes en priorité?","answer":"Les interventions se déroulent à Liège et dans les communes avoisinantes, selon la nature de la demande."}]'::jsonb, 'ACD Nettoyage intervient dans le nettoyage professionnel en entreprise et collectivités depuis plus de 20 ans. Spécialiste des missions complexes comme les désinfections ou le nettoyage après sinistre, l''entreprise s''engage pour une propreté durable et respectueuse de l''environnement. Son équipe formée assure des prestations sur mesure à Liège et ses alentours.', 'Nettoyage à Liège | ACD Nettoyage', 'Expertise en nettoyage après sinistre avec produits écologiques certifiés. Interventions en urgence pour particuliers et professionnels à Liège.', 'ACD Nettoyage - Services de nettoyage professionnel à Liège', 'Entreprise spécialisée dans le nettoyage écologique, le désinfection professionnelle et les missions complexes. Intervient sur Liège et ses environs.', '{"@context":"https://schema.org","@type":"CleaningService","name":"ACD Nettoyage","description":"Nettoyage professionnel écologique à Liège avec expertise en missions complexes.","url":"https://revelys.be/entreprises/nettoyage-liege-acd-nettoyage","sameAs":["https://www.acd-nettoyage.com/"],"address":{"@type":"PostalAddress","streetAddress":"Boulevard de l''Ourthe 20","postalCode":"4032","addressLocality":"Liège","addressCountry":"BE"},"areaServed":{"@type":"City","name":"Liège"},"keywords":["nettoyage après sinistre","désinfection professionnelle","missions en urgence","nettoyage en hauteur","entreprise eco-responsable","Nettoyage de bureaux & bâtiments administratifs","Nettoyage des communs d’immeubles","Entretien des locaux sensibles","Magasins","Usines","Nettoyage de vitres"],"image":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-acd-nettoyage/logo.webp"}'::jsonb, '2026-02-20T23:44:06.857Z', TRUE, 5, '023679a7b95706383b81a97de1e868a4d470c6b7a99c6d8ae5f024f19c76255b', 'ACD Nettoyage se distingue par son expertise dans les missions complexes et son engagement environnemental historique, avec des équipes formées pour répondre aux besoins spécifiques de chaque client.', NULL, 'Durabilité', '[{"name":"Nettoyage avec aspirateur industriel","description":"Utilisation d''aspirateurs industriels adaptés à différents types de sols (carrelage, moquette) pour un résultat optimal sans résidus.","frequency":"tous les jours","impact":"qualite du nettoyage","proof":null},{"name":"Utilisation de produits écologiques","description":"Sélection rigoureuse de produits de nettoyage certifiés écolabel pour minimiser l''impact environnemental.","frequency":"tous les jours","impact":"respect de l''environnement","proof":null},{"name":"Vérification des zones difficiles d''accès","description":"Inspection minutieuse des recoins, vitres en hauteur et surfaces complexes après chaque intervention.","frequency":"après chaque intervention","impact":"qualite du nettoyage","proof":null}]'::jsonb, 98, 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-acd-nettoyage/logo.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-acd-nettoyage/cover.webp', ARRAY['https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-acd-nettoyage/g1.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-acd-nettoyage/g2.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-acd-nettoyage/g3.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-acd-nettoyage/g4.webp']::text[], ARRAY[]::text[], NULL, 'listed', 'pending', '[{"label":"Seed: site crawl","date":"2026-02-20T23:44:53.057Z","proof":"https://www.acd-nettoyage.com/"},{"label":"Seed: city hint","date":"2026-02-20T23:44:53.057Z","proof":"Liège"},{"label":"Seed: industry category","date":"2026-02-20T23:44:53.057Z","proof":"Nettoyage"},{"label":"Seed: search keyword","date":"2026-02-20T23:44:53.057Z","proof":"Nettoyage"},{"label":"Extracted: city","date":"2026-02-20T23:44:53.057Z","proof":""},{"label":"BCE: mod97 valid","date":"2026-02-20T23:44:53.057Z","proof":"0704608988"},{"label":"Email extracted","date":"2026-02-20T23:44:53.057Z","proof":"privacy@acd-nettoyage.com"},{"label":"LLM structured (mistral-small3.2:24b-instruct-q5_k_m)","date":"2026-02-20T23:44:53.057Z","proof":"confidence=80/100"},{"label":"Phone extracted","date":"2026-02-20T23:44:53.057Z","proof":"source=tel_link"},{"label":"Images uploaded (Supabase Storage)","date":"2026-02-20T23:44:53.057Z","proof":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-acd-nettoyage/cover.webp"}]'::jsonb, 'published', FALSE, 'none', 'BE0704608988', 'Actif', 'BCE_CSV', '2026-02-20T23:40:41.427Z', '2026-02-20T23:40:41.427Z', 'ACD Nettoyage', '2018-09-14', 'Personne morale', 'Société à responsabilité limitée', 'Situation normale', '2026-02-11', '2026-02-20T23:44:53.057Z'
WHERE NOT EXISTS (
  SELECT 1
  FROM companies c_existing
  WHERE c_existing.bce_number = 'BE0704608988'
    AND c_existing.slug <> 'nettoyage-liege-acd-nettoyage'
)
ON CONFLICT (slug) DO UPDATE SET market = EXCLUDED.market, name = EXCLUDED.name, industry = EXCLUDED.industry, tags = EXCLUDED.tags, services = EXCLUDED.services, pricing_model = EXCLUDED.pricing_model, budget_level = EXCLUDED.budget_level, price_indication = EXCLUDED.price_indication, devis_gratuit = EXCLUDED.devis_gratuit, city = EXCLUDED.city, postal_code = EXCLUDED.postal_code, country = EXCLUDED.country, address = EXCLUDED.address, website = EXCLUDED.website, facebook = EXCLUDED.facebook, instagram = EXCLUDED.instagram, linkedin = EXCLUDED.linkedin, tiktok = EXCLUDED.tiktok, contact_email = EXCLUDED.contact_email, contact_name = EXCLUDED.contact_name, contact_phone = EXCLUDED.contact_phone, public_phone = EXCLUDED.public_phone, founder_name = EXCLUDED.founder_name, founder_role = EXCLUDED.founder_role, founder_photo_url = EXCLUDED.founder_photo_url, ideal_zone = EXCLUDED.ideal_zone, languages = EXCLUDED.languages, availability = EXCLUDED.availability, opening_hours = EXCLUDED.opening_hours, google_rating = EXCLUDED.google_rating, google_reviews_count = EXCLUDED.google_reviews_count, google_reviews = EXCLUDED.google_reviews, company_faq = EXCLUDED.company_faq, description = EXCLUDED.description, seo_title = EXCLUDED.seo_title, seo_description = EXCLUDED.seo_description, og_title = EXCLUDED.og_title, og_description = EXCLUDED.og_description, seo_jsonld = EXCLUDED.seo_jsonld, seo_generated_at = EXCLUDED.seo_generated_at, seo_ai_used = EXCLUDED.seo_ai_used, seo_version = EXCLUDED.seo_version, seo_last_inputs_hash = EXCLUDED.seo_last_inputs_hash, why_company = EXCLUDED.why_company, why_entrepreneur = EXCLUDED.why_entrepreneur, emotional_need_label = EXCLUDED.emotional_need_label, rituals = EXCLUDED.rituals, ras_score = EXCLUDED.ras_score, logo_url = EXCLUDED.logo_url, cover_image_url = EXCLUDED.cover_image_url, gallery_urls = EXCLUDED.gallery_urls, video_urls = EXCLUDED.video_urls, video_embed_url = EXCLUDED.video_embed_url, tier = EXCLUDED.tier, verification_status = EXCLUDED.verification_status, verification_checks = EXCLUDED.verification_checks, content_status = EXCLUDED.content_status, is_claimed = EXCLUDED.is_claimed, opt_out_status = EXCLUDED.opt_out_status, bce_number = EXCLUDED.bce_number, bce_status = EXCLUDED.bce_status, bce_source = EXCLUDED.bce_source, bce_verified_at = EXCLUDED.bce_verified_at, bce_last_checked_at = EXCLUDED.bce_last_checked_at, bce_legal_name = EXCLUDED.bce_legal_name, founded_on = EXCLUDED.founded_on, bce_type_of_enterprise = EXCLUDED.bce_type_of_enterprise, bce_juridical_form = EXCLUDED.bce_juridical_form, bce_juridical_situation = EXCLUDED.bce_juridical_situation, bce_source_update_date = EXCLUDED.bce_source_update_date
WHERE companies.is_claimed IS NOT TRUE;

INSERT INTO companies (slug, market, name, industry, tags, services, pricing_model, budget_level, price_indication, devis_gratuit, city, postal_code, country, address, website, facebook, instagram, linkedin, tiktok, contact_email, contact_name, contact_phone, public_phone, founder_name, founder_role, founder_photo_url, ideal_zone, languages, availability, opening_hours, google_rating, google_reviews_count, google_reviews, company_faq, description, seo_title, seo_description, og_title, og_description, seo_jsonld, seo_generated_at, seo_ai_used, seo_version, seo_last_inputs_hash, why_company, why_entrepreneur, emotional_need_label, rituals, ras_score, logo_url, cover_image_url, gallery_urls, video_urls, video_embed_url, tier, verification_status, verification_checks, content_status, is_claimed, opt_out_status, bce_number, bce_status, bce_source, bce_verified_at, bce_last_checked_at, bce_legal_name, founded_on, bce_type_of_enterprise, bce_juridical_form, bce_juridical_situation, bce_source_update_date, created_at)
SELECT 'nettoyage-liege-sefaclean', 'BE-WAL', 'Sefaclean', 'Nettoyage', ARRAY['nettoyage professionnel liège', 'lavage vitres immeubles', 'sinistre incendie nettoyage', 'entretien sol industriel', 'logement airbnb propre', 'intervention rapide 24h', 'entreprise familiale', 'nettoyage général', 'lavage de vitres', 'nettoyage après sinistre', 'entretien des sols', 'nettoyage de logements airbnb']::text[], ARRAY['Nettoyage général', 'Lavage de vitres', 'Nettoyage après sinistre', 'Entretien des sols', 'Nettoyage de logements airbnb']::text[], 'sur_devis', NULL, NULL, TRUE, 'Liège', '4000', 'BE', 'Rue Henri Nottet 32', 'https://www.sefaclean.be/', NULL, NULL, NULL, NULL, 'info@sefaclean.be', NULL, '+32477286160', '+32477286160', NULL, NULL, NULL, 'Liège', ARRAY['français']::text[], '24h/24 - 7j/7', '[{"day":"lundi","open":"06:00","close":"19:00","isClosed":false},{"day":"mardi","open":"06:00","close":"19:00","isClosed":false},{"day":"mercredi","open":"06:00","close":"19:00","isClosed":false},{"day":"jeudi","open":"06:00","close":"19:00","isClosed":false},{"day":"vendredi","open":"06:00","close":"19:00","isClosed":false},{"day":"samedi","open":"06:00","close":"19:00","isClosed":false}]'::jsonb, NULL, NULL, NULL, '[{"question":"Proposez-vous des services de nettoyage général?","answer":"Oui, cette prestation fait partie des interventions proposées, avec vérification sur place avant réalisation."},{"question":"Intervenez-vous au-delà de la zone principale?","answer":"La zone principale est Liège. Les interventions peuvent s''étendre aux communes limitrophes selon le besoin."},{"question":"Comment contrôlez-vous la qualité de votre travail?","answer":"Des vérifications sont effectuées à chaque étape de l''intervention, avec un contrôle final avant la clôture du chantier."},{"question":"Gérez-vous les interventions urgentes?","answer":"Oui, l''organisation permet de répondre aux demandes urgentes (24h/24 - 7j/7)."},{"question":"Qu''est-ce qui vous distingue sur votre marche local?","answer":"Chez Sefaclean, nous mettons un point d''honneur à être présents sur chaque chantier pour une communication directe et transparente. Notre expérience de plus de 20 ans garantit des interventions adaptées à vos besoins spécifiques."}]'::jsonb, 'Sefaclean, entreprise familiale spécialisée dans le nettoyage à Liège depuis plus de 20 ans, intervient pour les professionnels comme les particuliers avec une expertise reconnue. Que ce soit pour un lavage de vitres, un nettoyage après sinistre ou l''entretien des sols, chaque intervention est réalisée avec rigueur et professionnalisme.', 'Nettoyage professionnel à Liège | Sefaclean', 'Intervention rapide 24h pour nettoyage après sinistre. Entreprise familiale avec plus de 20 ans d''expérience à Liège.', 'Sefaclean - Nettoyage professionnel à Liège', 'Nettoyage général, lavage de vitres et intervention après sinistre à Liège. Devis sous 24h et présence du gérant sur chaque chantier.', '{"@context":"https://schema.org","@type":"LocalBusiness","name":"Sefaclean","description":"Nettoyage professionnel à Liège avec intervention rapide 24h et expertise en nettoyage après sinistre.","url":"https://revelys.be/entreprises/nettoyage-liege-sefaclean","sameAs":["https://www.sefaclean.be/"],"address":{"@type":"PostalAddress","streetAddress":"Rue Henri Nottet 32","postalCode":"4000","addressLocality":"Liège","addressCountry":"BE"},"areaServed":"Liège","keywords":["nettoyage professionnel liège","lavage vitres immeubles","sinistre incendie nettoyage","entretien sol industriel","logement airbnb propre","intervention rapide 24h","entreprise familiale","nettoyage général","lavage de vitres","nettoyage après sinistre","entretien des sols","nettoyage de logements airbnb"],"image":["https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-sefaclean/logo.webp","https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-sefaclean/cover.webp"],"logo":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-sefaclean/logo.webp","hasOfferCatalog":{"@type":"OfferCatalog","name":"Services de nettoyage","itemListElement":[{"@type":"Offer","name":"Nettoyage général"},{"@type":"Offer","name":"Lavage de vitres"},{"@type":"Offer","name":"Nettoyage après sinistre"},{"@type":"Offer","name":"Entretien des sols"},{"@type":"Offer","name":"Nettoyage de logements airbnb"}]}}'::jsonb, '2026-02-20T23:48:13.461Z', TRUE, 5, 'f04ff5b9157fdd67f631ff589b3aabd82bb0684100b2c03c2f6040efb6fb91bc', 'Chez Sefaclean, nous mettons un point d''honneur à être présents sur chaque chantier pour une communication directe et transparente. Notre expérience de plus de 20 ans garantit des interventions adaptées à vos besoins spécifiques.', NULL, 'Durabilité', '[{"name":"Présence du patron","description":"Le gérant est systématiquement présent sur les chantiers pour superviser les travaux et assurer une communication fluide avec le client.","frequency":"toujours","impact":"transparence totale","proof":null},{"name":"Devis sous 24h","description":"Les demandes de devis sont traitées dans les plus brefs délais, avec une réponse garantie en moins d''une journée ouvrable.","frequency":"toujours","impact":"réactivité client","proof":null},{"name":"Nettoyage après sinistre","description":"Intervention spécialisée pour le nettoyage des locaux endommagés par un incendie ou une inondation, avec matériel adapté.","frequency":"sur demande","impact":"restauration complète","proof":null}]'::jsonb, 98, 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-sefaclean/logo.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-sefaclean/cover.webp', ARRAY['https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-sefaclean/g1.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-sefaclean/g2.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-sefaclean/g3.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-sefaclean/g4.webp']::text[], ARRAY[]::text[], NULL, 'listed', 'pending', '[{"label":"Seed: site crawl","date":"2026-02-20T23:49:20.013Z","proof":"https://www.sefaclean.be/"},{"label":"Seed: city hint","date":"2026-02-20T23:49:20.013Z","proof":"Liège"},{"label":"Seed: industry category","date":"2026-02-20T23:49:20.013Z","proof":"Nettoyage"},{"label":"Seed: search keyword","date":"2026-02-20T23:49:20.013Z","proof":"Nettoyage"},{"label":"Extracted: city","date":"2026-02-20T23:49:20.013Z","proof":"Liège"},{"label":"BCE: mod97 valid","date":"2026-02-20T23:49:20.013Z","proof":"0882941015"},{"label":"Email extracted","date":"2026-02-20T23:49:20.013Z","proof":"info@sefaclean.be"},{"label":"LLM structured (mistral-small3.2:24b-instruct-q5_k_m)","date":"2026-02-20T23:49:20.013Z","proof":"confidence=80/100"},{"label":"Phone extracted","date":"2026-02-20T23:49:20.013Z","proof":"source=tel_link"},{"label":"Images uploaded (Supabase Storage)","date":"2026-02-20T23:49:20.013Z","proof":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-sefaclean/cover.webp"}]'::jsonb, 'published', FALSE, 'none', 'BE0882941015', 'Actif', 'BCE_CSV', '2026-02-20T23:45:03.334Z', '2026-02-20T23:45:03.334Z', 'SEFACLEAN', '2006-08-04', 'Personne morale', 'Société privée à responsabilité limitée', 'Situation normale', '2026-02-11', '2026-02-20T23:49:20.013Z'
WHERE NOT EXISTS (
  SELECT 1
  FROM companies c_existing
  WHERE c_existing.bce_number = 'BE0882941015'
    AND c_existing.slug <> 'nettoyage-liege-sefaclean'
)
ON CONFLICT (slug) DO UPDATE SET market = EXCLUDED.market, name = EXCLUDED.name, industry = EXCLUDED.industry, tags = EXCLUDED.tags, services = EXCLUDED.services, pricing_model = EXCLUDED.pricing_model, budget_level = EXCLUDED.budget_level, price_indication = EXCLUDED.price_indication, devis_gratuit = EXCLUDED.devis_gratuit, city = EXCLUDED.city, postal_code = EXCLUDED.postal_code, country = EXCLUDED.country, address = EXCLUDED.address, website = EXCLUDED.website, facebook = EXCLUDED.facebook, instagram = EXCLUDED.instagram, linkedin = EXCLUDED.linkedin, tiktok = EXCLUDED.tiktok, contact_email = EXCLUDED.contact_email, contact_name = EXCLUDED.contact_name, contact_phone = EXCLUDED.contact_phone, public_phone = EXCLUDED.public_phone, founder_name = EXCLUDED.founder_name, founder_role = EXCLUDED.founder_role, founder_photo_url = EXCLUDED.founder_photo_url, ideal_zone = EXCLUDED.ideal_zone, languages = EXCLUDED.languages, availability = EXCLUDED.availability, opening_hours = EXCLUDED.opening_hours, google_rating = EXCLUDED.google_rating, google_reviews_count = EXCLUDED.google_reviews_count, google_reviews = EXCLUDED.google_reviews, company_faq = EXCLUDED.company_faq, description = EXCLUDED.description, seo_title = EXCLUDED.seo_title, seo_description = EXCLUDED.seo_description, og_title = EXCLUDED.og_title, og_description = EXCLUDED.og_description, seo_jsonld = EXCLUDED.seo_jsonld, seo_generated_at = EXCLUDED.seo_generated_at, seo_ai_used = EXCLUDED.seo_ai_used, seo_version = EXCLUDED.seo_version, seo_last_inputs_hash = EXCLUDED.seo_last_inputs_hash, why_company = EXCLUDED.why_company, why_entrepreneur = EXCLUDED.why_entrepreneur, emotional_need_label = EXCLUDED.emotional_need_label, rituals = EXCLUDED.rituals, ras_score = EXCLUDED.ras_score, logo_url = EXCLUDED.logo_url, cover_image_url = EXCLUDED.cover_image_url, gallery_urls = EXCLUDED.gallery_urls, video_urls = EXCLUDED.video_urls, video_embed_url = EXCLUDED.video_embed_url, tier = EXCLUDED.tier, verification_status = EXCLUDED.verification_status, verification_checks = EXCLUDED.verification_checks, content_status = EXCLUDED.content_status, is_claimed = EXCLUDED.is_claimed, opt_out_status = EXCLUDED.opt_out_status, bce_number = EXCLUDED.bce_number, bce_status = EXCLUDED.bce_status, bce_source = EXCLUDED.bce_source, bce_verified_at = EXCLUDED.bce_verified_at, bce_last_checked_at = EXCLUDED.bce_last_checked_at, bce_legal_name = EXCLUDED.bce_legal_name, founded_on = EXCLUDED.founded_on, bce_type_of_enterprise = EXCLUDED.bce_type_of_enterprise, bce_juridical_form = EXCLUDED.bce_juridical_form, bce_juridical_situation = EXCLUDED.bce_juridical_situation, bce_source_update_date = EXCLUDED.bce_source_update_date
WHERE companies.is_claimed IS NOT TRUE;

INSERT INTO companies (slug, market, name, industry, tags, services, pricing_model, budget_level, price_indication, devis_gratuit, city, postal_code, country, address, website, facebook, instagram, linkedin, tiktok, contact_email, contact_name, contact_phone, public_phone, founder_name, founder_role, founder_photo_url, ideal_zone, languages, availability, opening_hours, google_rating, google_reviews_count, google_reviews, company_faq, description, seo_title, seo_description, og_title, og_description, seo_jsonld, seo_generated_at, seo_ai_used, seo_version, seo_last_inputs_hash, why_company, why_entrepreneur, emotional_need_label, rituals, ras_score, logo_url, cover_image_url, gallery_urls, video_urls, video_embed_url, tier, verification_status, verification_checks, content_status, is_claimed, opt_out_status, bce_number, bce_status, bce_source, bce_verified_at, bce_last_checked_at, bce_legal_name, founded_on, bce_type_of_enterprise, bce_juridical_form, bce_juridical_situation, bce_source_update_date, created_at)
SELECT 'nettoyage-liege-clean', 'BE-WAL', 'Clean', 'Nettoyage', ARRAY['nettoyage spontané', 'débarras professionnel', 'syndrome de diogène', 'nettoyage après travaux', 'propreté des locaux', 'urgence propreté', 'produits spécialisés', 'intervention discrète', 'nettoyage ponctuel pour particuliers', 'nettoyage d''entreprises et bureaux', 'débarras et tri d''objets encombrants', 'nettoyage après sinistre ou travaux']::text[], ARRAY['Nettoyage ponctuel pour particuliers', 'Nettoyage d''entreprises et bureaux', 'Débarras et tri d''objets encombrants', 'Nettoyage après sinistre ou travaux', 'Intervention spécifique pour syndrome de diogène']::text[], 'sur_devis', NULL, NULL, TRUE, 'Ans', '4430', 'BE', 'Place de Serbie 9', 'https://www.clean-s.be/', 'https://www.facebook.com/sprlcleans', NULL, NULL, NULL, 'info@clean-s.be', NULL, '+3242953230', '+3242953230', NULL, NULL, NULL, 'Ans', ARRAY['français']::text[], 'Du lundi au vendredi', NULL, NULL, NULL, NULL, '[{"question":"Proposez-vous des services de nettoyage ponctuel pour particuliers?","answer":"Oui, cette prestation fait partie des interventions proposées, avec vérification sur place avant réalisation."},{"question":"Sur quelle zone géographique intervenez-vous?","answer":"Les interventions se déroulent à Ans et dans les communes avoisinantes, selon la nature de la demande."},{"question":"Comment la qualité des interventions est-elle assurée?","answer":"La qualité repose sur une méthode structurée, des vérifications en cours d''intervention et un contrôle final avant la remise au client."},{"question":"Qu''est-ce qui vous distingue sur votre marche local?","answer":"Clean’s se distingue par son approche personnalisée et son expertise dans les situations complexes, comme le nettoyage après un syndrome de Diogène ou des sinistres. L’entreprise mise sur la qualité du travail et l’adaptation aux besoins spécifiques de chaque client."}]'::jsonb, 'Clean’s est une entreprise spécialisée dans le nettoyage ponctuel et professionnel pour particuliers et entreprises à Ans, Liège et environs. Intervenant depuis 2015, elle propose des services sur mesure, du ménage spontané au débarras complet, en passant par la gestion de situations complexes comme le syndrome de Diogène.', 'Nettoyage à Ans | Clean', 'Intervention discrète pour débarras professionnel et nettoyage après sinistre. Tri systématique des objets avant évacuation. Spécialiste du syndrome de Diogène en région liégeoise.', 'Service de nettoyage à Ans - Clean', 'Nettoyage ponctuel, débarras professionnel et intervention après travaux ou sinistre. Approche personnalisée pour particuliers et entreprises à Ans.', '{"@context":"https://schema.org","@type":"CleaningService","name":"Clean","description":"Nettoyage professionnel et débarras spécialisé à Ans, Belgique.","url":"https://revelys.be/entreprises/nettoyage-liege-clean","sameAs":["https://www.clean-s.be/"],"address":{"@type":"PostalAddress","streetAddress":"Place de Serbie 9","postalCode":"4430","addressLocality":"Ans","addressCountry":"BE"},"areaServed":{"@type":"City","name":"Ans"},"keywords":["nettoyage spontané","débarras professionnel","syndrome de diogène","nettoyage après travaux","propreté des locaux","urgence propreté","produits spécialisés","intervention discrète","nettoyage ponctuel pour particuliers","nettoyage d''entreprises et bureaux","débarras et tri d''objets encombrants","nettoyage après sinistre ou travaux"],"image":[{"@type":"ImageObject","url":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-clean/logo.webp","width":500,"height":300}],"logo":{"@type":"ImageObject","url":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-clean/logo.webp"},"hasOfferCatalog":{"@type":"OfferCatalog","name":"Services de nettoyage et débarras","itemListElement":[{"@type":"Offer","name":"Nettoyage ponctuel pour particuliers","url":"https://www.clean-s.be/"},{"@type":"Offer","name":"Nettoyage d''entreprises et bureaux","url":"https://www.clean-s.be/"},{"@type":"Offer","name":"Débarras et tri d''objets encombrants","url":"https://www.clean-s.be/"},{"@type":"Offer","name":"Nettoyage après sinistre ou travaux","url":"https://www.clean-s.be/"},{"@type":"Offer","name":"Intervention spécifique pour syndrome de diogène","url":"https://www.clean-s.be/"}]}}'::jsonb, '2026-02-20T23:52:07.441Z', TRUE, 5, '1421fb1258cbde47458e75a1adc261319b29c451212bb1ef70ef934ea1f94e5d', 'Clean’s se distingue par son approche personnalisée et son expertise dans les situations complexes, comme le nettoyage après un syndrome de Diogène ou des sinistres. L’entreprise mise sur la qualité du travail et l’adaptation aux besoins spécifiques de chaque client.', NULL, 'Sérénité', '[{"name":"Tri systématique avant débarras","description":"Avant toute évacuation, les objets sont triés par catégorie (réutilisable, recyclable, déchets) pour optimiser le nettoyage et minimiser l’impact environnemental.","frequency":"toujours","impact":"efficacité du débarras","proof":null},{"name":"Désinfection des surfaces critiques","description":"Utilisation de produits désinfectants certifiés pour les zones à risque (cuisine, sanitaires) après un nettoyage en profondeur.","frequency":"toujours","impact":"hygiène renforcée","proof":null},{"name":"Vérification des angles et recoins","description":"Inspection minutieuse des zones souvent négligées (plinthes, derrière les meubles) pour un résultat impeccable.","frequency":"toujours","impact":"propreté totale","proof":null}]'::jsonb, 98, 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-clean/logo.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-clean/cover.webp', ARRAY['https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-clean/g1.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-clean/g2.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-clean/g3.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-clean/g4.webp']::text[], ARRAY[]::text[], NULL, 'listed', 'pending', '[{"label":"Seed: site crawl","date":"2026-02-20T23:53:21.317Z","proof":"https://www.clean-s.be/"},{"label":"Seed: city hint","date":"2026-02-20T23:53:21.317Z","proof":"Liège"},{"label":"Seed: industry category","date":"2026-02-20T23:53:21.317Z","proof":"Nettoyage"},{"label":"Seed: search keyword","date":"2026-02-20T23:53:21.317Z","proof":"Nettoyage"},{"label":"Extracted: city","date":"2026-02-20T23:53:21.317Z","proof":"Liège"},{"label":"BCE: mod97 valid","date":"2026-02-20T23:53:21.317Z","proof":"0862309511"},{"label":"Email extracted","date":"2026-02-20T23:53:21.317Z","proof":"info@clean-s.be"},{"label":"LLM structured (mistral-small3.2:24b-instruct-q5_k_m)","date":"2026-02-20T23:53:21.317Z","proof":"confidence=80/100"},{"label":"Phone extracted","date":"2026-02-20T23:53:21.317Z","proof":"source=tel_link"},{"label":"Images uploaded (Supabase Storage)","date":"2026-02-20T23:53:21.317Z","proof":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-clean/cover.webp"}]'::jsonb, 'published', FALSE, 'none', 'BE0862309511', 'Actif', 'BCE_CSV', '2026-02-20T23:49:31.862Z', '2026-02-20T23:49:31.862Z', 'IXORA GROUP', '2003-12-18', 'Personne morale', 'Société à responsabilité limitée', 'Situation normale', '2026-02-11', '2026-02-20T23:53:21.317Z'
WHERE NOT EXISTS (
  SELECT 1
  FROM companies c_existing
  WHERE c_existing.bce_number = 'BE0862309511'
    AND c_existing.slug <> 'nettoyage-liege-clean'
)
ON CONFLICT (slug) DO UPDATE SET market = EXCLUDED.market, name = EXCLUDED.name, industry = EXCLUDED.industry, tags = EXCLUDED.tags, services = EXCLUDED.services, pricing_model = EXCLUDED.pricing_model, budget_level = EXCLUDED.budget_level, price_indication = EXCLUDED.price_indication, devis_gratuit = EXCLUDED.devis_gratuit, city = EXCLUDED.city, postal_code = EXCLUDED.postal_code, country = EXCLUDED.country, address = EXCLUDED.address, website = EXCLUDED.website, facebook = EXCLUDED.facebook, instagram = EXCLUDED.instagram, linkedin = EXCLUDED.linkedin, tiktok = EXCLUDED.tiktok, contact_email = EXCLUDED.contact_email, contact_name = EXCLUDED.contact_name, contact_phone = EXCLUDED.contact_phone, public_phone = EXCLUDED.public_phone, founder_name = EXCLUDED.founder_name, founder_role = EXCLUDED.founder_role, founder_photo_url = EXCLUDED.founder_photo_url, ideal_zone = EXCLUDED.ideal_zone, languages = EXCLUDED.languages, availability = EXCLUDED.availability, opening_hours = EXCLUDED.opening_hours, google_rating = EXCLUDED.google_rating, google_reviews_count = EXCLUDED.google_reviews_count, google_reviews = EXCLUDED.google_reviews, company_faq = EXCLUDED.company_faq, description = EXCLUDED.description, seo_title = EXCLUDED.seo_title, seo_description = EXCLUDED.seo_description, og_title = EXCLUDED.og_title, og_description = EXCLUDED.og_description, seo_jsonld = EXCLUDED.seo_jsonld, seo_generated_at = EXCLUDED.seo_generated_at, seo_ai_used = EXCLUDED.seo_ai_used, seo_version = EXCLUDED.seo_version, seo_last_inputs_hash = EXCLUDED.seo_last_inputs_hash, why_company = EXCLUDED.why_company, why_entrepreneur = EXCLUDED.why_entrepreneur, emotional_need_label = EXCLUDED.emotional_need_label, rituals = EXCLUDED.rituals, ras_score = EXCLUDED.ras_score, logo_url = EXCLUDED.logo_url, cover_image_url = EXCLUDED.cover_image_url, gallery_urls = EXCLUDED.gallery_urls, video_urls = EXCLUDED.video_urls, video_embed_url = EXCLUDED.video_embed_url, tier = EXCLUDED.tier, verification_status = EXCLUDED.verification_status, verification_checks = EXCLUDED.verification_checks, content_status = EXCLUDED.content_status, is_claimed = EXCLUDED.is_claimed, opt_out_status = EXCLUDED.opt_out_status, bce_number = EXCLUDED.bce_number, bce_status = EXCLUDED.bce_status, bce_source = EXCLUDED.bce_source, bce_verified_at = EXCLUDED.bce_verified_at, bce_last_checked_at = EXCLUDED.bce_last_checked_at, bce_legal_name = EXCLUDED.bce_legal_name, founded_on = EXCLUDED.founded_on, bce_type_of_enterprise = EXCLUDED.bce_type_of_enterprise, bce_juridical_form = EXCLUDED.bce_juridical_form, bce_juridical_situation = EXCLUDED.bce_juridical_situation, bce_source_update_date = EXCLUDED.bce_source_update_date
WHERE companies.is_claimed IS NOT TRUE;

INSERT INTO companies (slug, market, name, industry, tags, services, pricing_model, budget_level, price_indication, devis_gratuit, city, postal_code, country, address, website, facebook, instagram, linkedin, tiktok, contact_email, contact_name, contact_phone, public_phone, founder_name, founder_role, founder_photo_url, ideal_zone, languages, availability, opening_hours, google_rating, google_reviews_count, google_reviews, company_faq, description, seo_title, seo_description, og_title, og_description, seo_jsonld, seo_generated_at, seo_ai_used, seo_version, seo_last_inputs_hash, why_company, why_entrepreneur, emotional_need_label, rituals, ras_score, logo_url, cover_image_url, gallery_urls, video_urls, video_embed_url, tier, verification_status, verification_checks, content_status, is_claimed, opt_out_status, bce_number, bce_status, bce_source, bce_verified_at, bce_last_checked_at, bce_legal_name, founded_on, bce_type_of_enterprise, bce_juridical_form, bce_juridical_situation, bce_source_update_date, created_at)
SELECT 'nettoyage-liege-washr', 'BE-WAL', 'Washr', 'Nettoyage', ARRAY['nettoyage professionnel liège', 'produits écologiques', 'intervention rapide', 'désinfection complète', 'bureaux et locaux', 'sinistres et chantiers', 'vide maison complet', '24h/24 7j/7', 'équipement moderne', 'entretien de bureaux et locaux', 'lavage de vitres', 'nettoyage après chantier']::text[], ARRAY['Entretien de bureaux et locaux', 'Lavage de vitres', 'Nettoyage après chantier', 'Nettoyage après sinistre', 'Vide maison et déménagement']::text[], 'sur_devis', NULL, NULL, TRUE, 'Liège', '4020', 'BE', 'Rue Thône 46 boite A', 'https://washr.be/', 'https://www.facebook.com/people/Washr-Nettoyage/61552408644487/', 'https://www.instagram.com/washr_nettoyage/', 'https://www.linkedin.com/company/washr-net/', NULL, 'info@washr.be', NULL, '+3242801009', '+3242801009', NULL, NULL, NULL, 'Liège', ARRAY['français']::text[], '24h/24 - 7j/7', NULL, NULL, NULL, NULL, '[{"question":"Proposez-vous des services d''entretien de bureaux et locaux?","answer":"Oui, cette prestation fait partie des interventions proposées, avec vérification sur place avant réalisation."},{"question":"Sur quelle zone géographique intervenez-vous?","answer":"Les interventions se déroulent à Liège et dans les communes avoisinantes, selon la nature de la demande."},{"question":"Comment la qualité des interventions est-elle assurée?","answer":"La qualité repose sur une méthode structurée, des vérifications en cours d''intervention et un contrôle final avant la remise au client."},{"question":"Qu''est-ce qui vous distingue sur votre marche local?","answer":"Washr se distingue par son engagement envers des méthodes de nettoyage respectueuses de l''environnement et une équipe expérimentée, garantissant des résultats impeccables pour tous types d''espaces."}]'::jsonb, 'Washr est une entreprise spécialisée dans le nettoyage professionnel à Liège, offrant des solutions adaptées aux particuliers et entreprises. Que ce soit pour un entretien régulier de bureaux ou un nettoyage après sinistre, leur équipe utilise des produits écologiques et un équipement moderne pour garantir des résultats durables.', 'Nettoyage professionnel à Liège | Washr', 'Intervention rapide avec produits écologiques pour bureaux et locaux. Équipe expérimentée en nettoyage après sinistre ou chantier.', 'Washr - Nettoyage écologique à Liège', 'Service de nettoyage professionnel à Liège utilisant des produits biodégradables. Interventions sur mesure pour bureaux, chantiers et sinistres.', '{"@context":"https://schema.org","@type":"CleaningService","name":"Washr","description":"Nettoyage professionnel écologique à Liège","url":"https://revelys.be/entreprises/nettoyage-liege-washr","sameAs":["https://washr.be/"],"address":{"@type":"PostalAddress","streetAddress":"Rue Thône 46 boite A","postalCode":"4020","addressLocality":"Liège","addressCountry":"BE"},"areaServed":{"@type":"City","name":"Liège"},"keywords":["nettoyage professionnel liège","produits écologiques","intervention rapide","désinfection complète","bureaux et locaux","sinistres et chantiers","vide maison complet","24h/24 7j/7","équipement moderne","entretien de bureaux et locaux","lavage de vitres","nettoyage après chantier"],"image":[{"@type":"ImageObject","url":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-washr/logo.webp","width":500,"height":300}],"logo":{"@type":"ImageObject","url":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-washr/logo.webp"},"service":[{"@type":"Service","name":"Entretien de bureaux et locaux"},{"@type":"Service","name":"Lavage de vitres"},{"@type":"Service","name":"Nettoyage après chantier"},{"@type":"Service","name":"Nettoyage après sinistre"},{"@type":"Service","name":"Vide maison et déménagement"}]}'::jsonb, '2026-02-20T23:58:00.987Z', TRUE, 5, '29ac677e3367017a6273e4ebe205589004c613fe2b31cc9c67b1fb0b43a87198', 'Washr se distingue par son engagement envers des méthodes de nettoyage respectueuses de l''environnement et une équipe expérimentée, garantissant des résultats impeccables pour tous types d''espaces.', NULL, 'Durabilité', '[{"name":"Utilisation produits écologiques","description":"Washr privilégie des produits de nettoyage biodégradables et non toxiques pour préserver la santé des occupants et l''environnement.","frequency":"toujours","impact":"santé et environnement","proof":null},{"name":"Nettoyage en profondeur après sinistre","description":"L''équipe procède à un nettoyage minutieux des surfaces, sols et plafonds pour éliminer toute trace de dégâts (suie, débris, résidus).","frequency":"sur demande","impact":"sécurité et hygiène","proof":null},{"name":"Aspiration industrielle des sols","description":"Un aspirateur industriel est systématiquement utilisé pour éliminer les débris de construction ou la poussière fine après un chantier.","frequency":"toujours","impact":"qualité du nettoyage","proof":null},{"name":"Désinfection des sanitaires","description":"Les toilettes et cuisines font l''objet d''un protocole de désinfection renforcé avec produits virucides.","frequency":"toujours","impact":"hygiène","proof":null},{"name":"Vérification des équipements","description":"Avant chaque intervention, l''équipe vérifie le bon fonctionnement de ses outils (échelles, perches, aspirateurs).","frequency":"toujours","impact":"sécurité","proof":null}]'::jsonb, 98, 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-washr/logo.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-washr/cover.webp', ARRAY['https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-washr/g1.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-washr/g2.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-washr/g3.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-washr/g4.webp']::text[], ARRAY[]::text[], NULL, 'listed', 'pending', '[{"label":"Seed: site crawl","date":"2026-02-20T23:59:05.210Z","proof":"https://washr.be/"},{"label":"Seed: city hint","date":"2026-02-20T23:59:05.210Z","proof":"Liège"},{"label":"Seed: industry category","date":"2026-02-20T23:59:05.210Z","proof":"Nettoyage"},{"label":"Seed: search keyword","date":"2026-02-20T23:59:05.210Z","proof":"Nettoyage"},{"label":"Extracted: city","date":"2026-02-20T23:59:05.210Z","proof":""},{"label":"BCE: mod97 valid","date":"2026-02-20T23:59:05.210Z","proof":"1004248522"},{"label":"Email extracted","date":"2026-02-20T23:59:05.210Z","proof":"info@washr.be"},{"label":"LLM structured (mistral-small3.2:24b-instruct-q5_k_m)","date":"2026-02-20T23:59:05.210Z","proof":"confidence=80/100"},{"label":"BCE recovered from local identity","date":"2026-02-20T23:59:05.210Z","proof":"score=60"},{"label":"Phone extracted","date":"2026-02-20T23:59:05.210Z","proof":"source=tel_link"},{"label":"Images uploaded (Supabase Storage)","date":"2026-02-20T23:59:05.210Z","proof":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-washr/cover.webp"}]'::jsonb, 'published', FALSE, 'none', 'BE1004248522', 'Actif', 'BCE_CSV', '2026-02-20T23:54:41.748Z', '2026-02-20T23:54:41.748Z', 'WASHR', '2024-01-04', 'Personne morale', 'Société à responsabilité limitée', 'Situation normale', '2026-02-11', '2026-02-20T23:59:05.210Z'
WHERE NOT EXISTS (
  SELECT 1
  FROM companies c_existing
  WHERE c_existing.bce_number = 'BE1004248522'
    AND c_existing.slug <> 'nettoyage-liege-washr'
)
ON CONFLICT (slug) DO UPDATE SET market = EXCLUDED.market, name = EXCLUDED.name, industry = EXCLUDED.industry, tags = EXCLUDED.tags, services = EXCLUDED.services, pricing_model = EXCLUDED.pricing_model, budget_level = EXCLUDED.budget_level, price_indication = EXCLUDED.price_indication, devis_gratuit = EXCLUDED.devis_gratuit, city = EXCLUDED.city, postal_code = EXCLUDED.postal_code, country = EXCLUDED.country, address = EXCLUDED.address, website = EXCLUDED.website, facebook = EXCLUDED.facebook, instagram = EXCLUDED.instagram, linkedin = EXCLUDED.linkedin, tiktok = EXCLUDED.tiktok, contact_email = EXCLUDED.contact_email, contact_name = EXCLUDED.contact_name, contact_phone = EXCLUDED.contact_phone, public_phone = EXCLUDED.public_phone, founder_name = EXCLUDED.founder_name, founder_role = EXCLUDED.founder_role, founder_photo_url = EXCLUDED.founder_photo_url, ideal_zone = EXCLUDED.ideal_zone, languages = EXCLUDED.languages, availability = EXCLUDED.availability, opening_hours = EXCLUDED.opening_hours, google_rating = EXCLUDED.google_rating, google_reviews_count = EXCLUDED.google_reviews_count, google_reviews = EXCLUDED.google_reviews, company_faq = EXCLUDED.company_faq, description = EXCLUDED.description, seo_title = EXCLUDED.seo_title, seo_description = EXCLUDED.seo_description, og_title = EXCLUDED.og_title, og_description = EXCLUDED.og_description, seo_jsonld = EXCLUDED.seo_jsonld, seo_generated_at = EXCLUDED.seo_generated_at, seo_ai_used = EXCLUDED.seo_ai_used, seo_version = EXCLUDED.seo_version, seo_last_inputs_hash = EXCLUDED.seo_last_inputs_hash, why_company = EXCLUDED.why_company, why_entrepreneur = EXCLUDED.why_entrepreneur, emotional_need_label = EXCLUDED.emotional_need_label, rituals = EXCLUDED.rituals, ras_score = EXCLUDED.ras_score, logo_url = EXCLUDED.logo_url, cover_image_url = EXCLUDED.cover_image_url, gallery_urls = EXCLUDED.gallery_urls, video_urls = EXCLUDED.video_urls, video_embed_url = EXCLUDED.video_embed_url, tier = EXCLUDED.tier, verification_status = EXCLUDED.verification_status, verification_checks = EXCLUDED.verification_checks, content_status = EXCLUDED.content_status, is_claimed = EXCLUDED.is_claimed, opt_out_status = EXCLUDED.opt_out_status, bce_number = EXCLUDED.bce_number, bce_status = EXCLUDED.bce_status, bce_source = EXCLUDED.bce_source, bce_verified_at = EXCLUDED.bce_verified_at, bce_last_checked_at = EXCLUDED.bce_last_checked_at, bce_legal_name = EXCLUDED.bce_legal_name, founded_on = EXCLUDED.founded_on, bce_type_of_enterprise = EXCLUDED.bce_type_of_enterprise, bce_juridical_form = EXCLUDED.bce_juridical_form, bce_juridical_situation = EXCLUDED.bce_juridical_situation, bce_source_update_date = EXCLUDED.bce_source_update_date
WHERE companies.is_claimed IS NOT TRUE;

INSERT INTO companies (slug, market, name, industry, tags, services, pricing_model, budget_level, price_indication, devis_gratuit, city, postal_code, country, address, website, facebook, instagram, linkedin, tiktok, contact_email, contact_name, contact_phone, public_phone, founder_name, founder_role, founder_photo_url, ideal_zone, languages, availability, opening_hours, google_rating, google_reviews_count, google_reviews, company_faq, description, seo_title, seo_description, og_title, og_description, seo_jsonld, seo_generated_at, seo_ai_used, seo_version, seo_last_inputs_hash, why_company, why_entrepreneur, emotional_need_label, rituals, ras_score, logo_url, cover_image_url, gallery_urls, video_urls, video_embed_url, tier, verification_status, verification_checks, content_status, is_claimed, opt_out_status, bce_number, bce_status, bce_source, bce_verified_at, bce_last_checked_at, bce_legal_name, founded_on, bce_type_of_enterprise, bce_juridical_form, bce_juridical_situation, bce_source_update_date, created_at)
SELECT 'nettoyage-liege-acery-nettoyage', 'BE-WAL', 'Acery Nettoyage', 'Nettoyage', ARRAY['syndrome diogène', 'nettoyage extrême', 'décès', 'chantier', 'désinfection', 'urgence', 'discrétion', 'nettoyage après décès', 'nettoyage après suicide', 'nettoyage après chantier', 'nettoyage diogène', 'lavage de vitres']::text[], ARRAY['Nettoyage après décès', 'Nettoyage après suicide', 'Nettoyage après chantier', 'Nettoyage diogène', 'Lavage de vitres', 'Désinfection complète']::text[], 'sur_devis', NULL, NULL, TRUE, 'Oupeyebe', '4680', 'BE', 'Rue des Néfliers, Oupeye, WAL, BE', 'https://www.acerynettoyage.be/', 'https://www.facebook.com/people/Acery-Nettoyage/61580476094991/', NULL, NULL, NULL, 'deparoncheryl01@gmail.com', NULL, '+32472092008', '+32472092008', NULL, NULL, NULL, 'Oupeyebe', ARRAY['français']::text[], NULL, '[{"day":"lundi","open":"08:30","close":"21:00","isClosed":false},{"day":"mardi","open":"08:30","close":"21:00","isClosed":false},{"day":"mercredi","open":"08:30","close":"21:00","isClosed":false},{"day":"jeudi","open":"08:30","close":"21:00","isClosed":false},{"day":"vendredi","open":"08:30","close":"21:00","isClosed":false},{"day":"samedi","open":"08:30","close":"21:00","isClosed":false}]'::jsonb, NULL, NULL, NULL, '[{"question":"Proposez-vous des services de nettoyage après décès?","answer":"Oui, cette prestation fait partie des interventions proposées, avec vérification sur place avant réalisation."},{"question":"Quelles communes sont couvertes en priorité?","answer":"Les interventions se déroulent à Oupeyebe et dans les communes avoisinantes, selon la nature de la demande."}]'::jsonb, 'Acery Nettoyage intervient en province de Liège pour des nettoyages extrêmes, après décès ou chantier. Spécialisée dans les situations complexes comme le syndrome de Diogène, l''entreprise redonne vie aux espaces dégradés avec discrétion et professionnalisme.', 'Nettoyage à Oupeye | Acery Nettoyage', 'Intervention discrète pour nettoyage après décès ou syndrome de Diogène. Équipement professionnel adapté aux chantiers complexes en Wallonie.', 'Service de nettoyage spécialisé à Oupeye', 'Nettoyage après décès, diogène et désinfection complète avec approche humaine et technique. Interventions sur devis gratuit.', '{"@context":"https://schema.org","@type":"LocalBusiness","name":"Acery Nettoyage","description":"Nettoyage spécialisé après décès, diogène et désinfection en Wallonie.","url":"https://revelys.be/entreprises/nettoyage-liege-acery-nettoyage","sameAs":["https://www.acerynettoyage.be/"],"address":{"@type":"PostalAddress","streetAddress":"Rue des Néfliers","addressLocality":"Oupeye","postalCode":"4680","addressCountry":"BE"},"areaServed":"Oupeye, Wallonie","keywords":["syndrome diogène","nettoyage extrême","décès","chantier","désinfection","urgence","discrétion","nettoyage après décès","nettoyage après suicide","nettoyage après chantier","nettoyage diogène","lavage de vitres"],"image":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-acery-nettoyage/logo.webp"}'::jsonb, '2026-02-21T00:01:39.483Z', TRUE, 5, 'f52f6812ce30abe259e113d0d65816161d99741a4c68d27a11b00a3267c842ef', 'Acery Nettoyage se distingue par son approche humaine et technique des nettoyages complexes, combinant savoir-faire spécialisé et respect de l''intimité.', NULL, 'Sérénité', '[{"name":"Évacuation des encombrants","description":"Tri et enlèvement méthodique des objets accumulés dans les cas de syndrome de Diogène, avec protection des biens importants.","frequency":"toujours","impact":"sécurité","proof":null},{"name":"Désinfection professionnelle","description":"Utilisation de produits spécifiques pour éliminer bactéries et odeurs après décès ou accumulation extrême.","frequency":"toujours","impact":"hygiène","proof":null},{"name":"Nettoyage des vitres en hauteur","description":"Intervention sécurisée avec matériel adapté pour les baies vitrées et fenêtres difficiles d''accès.","frequency":"toujours","impact":"qualité","proof":null}]'::jsonb, 94, 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-acery-nettoyage/logo.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-acery-nettoyage/cover.webp', ARRAY['https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-acery-nettoyage/g1.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-acery-nettoyage/g2.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-acery-nettoyage/g3.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-acery-nettoyage/g4.webp']::text[], ARRAY[]::text[], NULL, 'listed', 'pending', '[{"label":"Seed: site crawl","date":"2026-02-21T00:02:21.943Z","proof":"https://www.acerynettoyage.be/"},{"label":"Seed: city hint","date":"2026-02-21T00:02:21.943Z","proof":"Liège"},{"label":"Seed: industry category","date":"2026-02-21T00:02:21.943Z","proof":"Nettoyage"},{"label":"Seed: search keyword","date":"2026-02-21T00:02:21.943Z","proof":"Nettoyage"},{"label":"Extracted: city","date":"2026-02-21T00:02:21.943Z","proof":"Oupeyebe"},{"label":"BCE: mod97 valid","date":"2026-02-21T00:02:21.943Z","proof":"0892056936"},{"label":"Email extracted","date":"2026-02-21T00:02:21.943Z","proof":"deparoncheryl01@gmail.com"},{"label":"LLM structured (mistral-small3.2:24b-instruct-q5_k_m)","date":"2026-02-21T00:02:21.943Z","proof":"confidence=80/100"},{"label":"Phone extracted","date":"2026-02-21T00:02:21.943Z","proof":"source=tel_link"},{"label":"Images uploaded (Supabase Storage)","date":"2026-02-21T00:02:21.943Z","proof":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-acery-nettoyage/cover.webp"}]'::jsonb, 'published', FALSE, 'none', 'BE0892056936', 'Actif', 'BCE_CSV', '2026-02-20T23:59:16.543Z', '2026-02-20T23:59:16.543Z', 'De Paron, Cheryl', '2025-07-01', 'Personne physique', NULL, 'Situation normale', '2026-02-11', '2026-02-21T00:02:21.943Z'
WHERE NOT EXISTS (
  SELECT 1
  FROM companies c_existing
  WHERE c_existing.bce_number = 'BE0892056936'
    AND c_existing.slug <> 'nettoyage-liege-acery-nettoyage'
)
ON CONFLICT (slug) DO UPDATE SET market = EXCLUDED.market, name = EXCLUDED.name, industry = EXCLUDED.industry, tags = EXCLUDED.tags, services = EXCLUDED.services, pricing_model = EXCLUDED.pricing_model, budget_level = EXCLUDED.budget_level, price_indication = EXCLUDED.price_indication, devis_gratuit = EXCLUDED.devis_gratuit, city = EXCLUDED.city, postal_code = EXCLUDED.postal_code, country = EXCLUDED.country, address = EXCLUDED.address, website = EXCLUDED.website, facebook = EXCLUDED.facebook, instagram = EXCLUDED.instagram, linkedin = EXCLUDED.linkedin, tiktok = EXCLUDED.tiktok, contact_email = EXCLUDED.contact_email, contact_name = EXCLUDED.contact_name, contact_phone = EXCLUDED.contact_phone, public_phone = EXCLUDED.public_phone, founder_name = EXCLUDED.founder_name, founder_role = EXCLUDED.founder_role, founder_photo_url = EXCLUDED.founder_photo_url, ideal_zone = EXCLUDED.ideal_zone, languages = EXCLUDED.languages, availability = EXCLUDED.availability, opening_hours = EXCLUDED.opening_hours, google_rating = EXCLUDED.google_rating, google_reviews_count = EXCLUDED.google_reviews_count, google_reviews = EXCLUDED.google_reviews, company_faq = EXCLUDED.company_faq, description = EXCLUDED.description, seo_title = EXCLUDED.seo_title, seo_description = EXCLUDED.seo_description, og_title = EXCLUDED.og_title, og_description = EXCLUDED.og_description, seo_jsonld = EXCLUDED.seo_jsonld, seo_generated_at = EXCLUDED.seo_generated_at, seo_ai_used = EXCLUDED.seo_ai_used, seo_version = EXCLUDED.seo_version, seo_last_inputs_hash = EXCLUDED.seo_last_inputs_hash, why_company = EXCLUDED.why_company, why_entrepreneur = EXCLUDED.why_entrepreneur, emotional_need_label = EXCLUDED.emotional_need_label, rituals = EXCLUDED.rituals, ras_score = EXCLUDED.ras_score, logo_url = EXCLUDED.logo_url, cover_image_url = EXCLUDED.cover_image_url, gallery_urls = EXCLUDED.gallery_urls, video_urls = EXCLUDED.video_urls, video_embed_url = EXCLUDED.video_embed_url, tier = EXCLUDED.tier, verification_status = EXCLUDED.verification_status, verification_checks = EXCLUDED.verification_checks, content_status = EXCLUDED.content_status, is_claimed = EXCLUDED.is_claimed, opt_out_status = EXCLUDED.opt_out_status, bce_number = EXCLUDED.bce_number, bce_status = EXCLUDED.bce_status, bce_source = EXCLUDED.bce_source, bce_verified_at = EXCLUDED.bce_verified_at, bce_last_checked_at = EXCLUDED.bce_last_checked_at, bce_legal_name = EXCLUDED.bce_legal_name, founded_on = EXCLUDED.founded_on, bce_type_of_enterprise = EXCLUDED.bce_type_of_enterprise, bce_juridical_form = EXCLUDED.bce_juridical_form, bce_juridical_situation = EXCLUDED.bce_juridical_situation, bce_source_update_date = EXCLUDED.bce_source_update_date
WHERE companies.is_claimed IS NOT TRUE;

INSERT INTO companies (slug, market, name, industry, tags, services, pricing_model, budget_level, price_indication, devis_gratuit, city, postal_code, country, address, website, facebook, instagram, linkedin, tiktok, contact_email, contact_name, contact_phone, public_phone, founder_name, founder_role, founder_photo_url, ideal_zone, languages, availability, opening_hours, google_rating, google_reviews_count, google_reviews, company_faq, description, seo_title, seo_description, og_title, og_description, seo_jsonld, seo_generated_at, seo_ai_used, seo_version, seo_last_inputs_hash, why_company, why_entrepreneur, emotional_need_label, rituals, ras_score, logo_url, cover_image_url, gallery_urls, video_urls, video_embed_url, tier, verification_status, verification_checks, content_status, is_claimed, opt_out_status, bce_number, bce_status, bce_source, bce_verified_at, bce_last_checked_at, bce_legal_name, founded_on, bce_type_of_enterprise, bce_juridical_form, bce_juridical_situation, bce_source_update_date, created_at)
SELECT 'nettoyage-liege-procleanup', 'BE-WAL', 'ProCleanUp', 'Nettoyage', ARRAY['nettoyage professionnel', 'vitres sans traces', 'sanitaires hygiéniques', 'bureaux propres', 'copropriété', 'après travaux', 'haute pression', 'sur mesure', 'nettoyage de bureaux', 'nettoyage des vitres', 'nettoyage de commerces', 'nettoyage de copropriétés']::text[], ARRAY['Nettoyage de bureaux', 'Nettoyage des vitres', 'Nettoyage de commerces', 'Nettoyage de copropriétés', 'Nettoyage après chantier', 'Nettoyage haute pression']::text[], 'sur_devis', NULL, NULL, TRUE, 'Waremme', '4300', 'BE', 'Rue de Petit-Axhe 10 boite 2', 'https://procleanup.be/', 'https://www.facebook.com/procleanupsrl', 'https://www.instagram.com/procleanupsrl/', NULL, NULL, 'info@procleanup.be', NULL, '+32493476402', '+32493476402', NULL, NULL, NULL, 'Waremme', ARRAY['français']::text[], NULL, NULL, NULL, NULL, NULL, '[{"question":"Proposez-vous des services de nettoyage de bureaux?","answer":"Oui, cette prestation fait partie des interventions proposées, avec vérification sur place avant réalisation."},{"question":"Quelles communes sont couvertes en priorité?","answer":"Les interventions se déroulent à Waremme et dans les communes avoisinantes, selon la nature de la demande."}]'::jsonb, 'ProCleanUp est une entreprise spécialisée dans le nettoyage professionnel pour particuliers et professionnels à Waremme. Elle propose des solutions sur mesure, alliant qualité et efficacité, avec une attention particulière portée aux détails comme les vitres sans traces ou l''hygiène des sanitaires.', 'Nettoyage professionnel à Waremme | ProCleanUp', 'Nettoyage de bureaux et vitres sans traces à Waremme. Produits écologiques pour une propreté optimale, adaptée aux besoins locaux.', 'ProCleanUp - Nettoyage professionnel à Waremme', 'Service de nettoyage sur mesure pour bureaux, commerces et copropriétés à Waremme. Inspection préalable des lieux pour un résultat irréprochable.', '{"@context":"https://schema.org","@type":"CleaningService","name":"ProCleanUp","description":"Nettoyage professionnel à Waremme avec produits écologiques et techniques adaptées.","url":"https://revelys.be/entreprises/nettoyage-liege-procleanup","sameAs":["https://procleanup.be/"],"address":{"@type":"PostalAddress","streetAddress":"Rue de Petit-Axhe 10 boite 2","postalCode":"4300","addressLocality":"Waremme","addressCountry":"BE"},"areaServed":{"@type":"City","name":"Waremme"},"keywords":["nettoyage professionnel","vitres sans traces","sanitaires hygiéniques","bureaux propres","copropriété","après travaux","haute pression","sur mesure","nettoyage de bureaux","nettoyage des vitres","nettoyage de commerces","nettoyage de copropriétés"],"image":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-procleanup/logo.webp"}'::jsonb, '2026-02-21T00:05:36.752Z', TRUE, 5, 'b65a295ffe3fa5a24f0ff58071323f3a0fb76029e21d487936d27932c2407fb6', 'ProCleanUp se distingue par son approche personnalisée et son engagement à garantir des résultats irréprochables, avec une équipe récurrente pour un suivi optimal.', NULL, 'Sérénité', '[{"name":"Inspection préalable des locaux","description":"Avant chaque intervention, l''équipe effectue une inspection détaillée des lieux pour identifier les besoins spécifiques et adapter le nettoyage en conséquence.","frequency":"Selon le besoin","impact":"Améliore la fiabilité et la qualité d''exécution.","proof":null},{"name":"Utilisation de produits écologiques","description":"ProCleanUp privilégie des produits de nettoyage respectueux de l''environnement, garantissant une propreté optimale sans nuire à la santé ou aux surfaces.","frequency":"Selon le besoin","impact":"Améliore la fiabilité et la qualité d''exécution.","proof":null},{"name":"Nettoyage des vitres avec technique professionnelle","description":"Les vitres sont nettoyées avec une méthode spécifique pour éviter les traces, utilisant des outils adaptés et des produits spécialisés.","frequency":"Selon le besoin","impact":"Améliore la fiabilité et la qualité d''exécution.","proof":null}]'::jsonb, 98, 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-procleanup/logo.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-procleanup/cover.webp', ARRAY['https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-procleanup/g1.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-procleanup/g2.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-procleanup/g3.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-procleanup/g4.webp']::text[], ARRAY[]::text[], NULL, 'listed', 'pending', '[{"label":"Seed: site crawl","date":"2026-02-21T00:06:23.370Z","proof":"https://procleanup.be/"},{"label":"Seed: city hint","date":"2026-02-21T00:06:23.370Z","proof":"Liège"},{"label":"Seed: industry category","date":"2026-02-21T00:06:23.370Z","proof":"Nettoyage"},{"label":"Seed: search keyword","date":"2026-02-21T00:06:23.370Z","proof":"Nettoyage"},{"label":"Extracted: city","date":"2026-02-21T00:06:23.370Z","proof":""},{"label":"BCE: mod97 valid","date":"2026-02-21T00:06:23.370Z","proof":"1016907814"},{"label":"Email extracted","date":"2026-02-21T00:06:23.370Z","proof":"info@procleanup.be"},{"label":"LLM structured (mistral-small3.2:24b-instruct-q5_k_m)","date":"2026-02-21T00:06:23.370Z","proof":"confidence=80/100"},{"label":"BCE recovered from local identity","date":"2026-02-21T00:06:23.370Z","proof":"score=60"},{"label":"Phone extracted","date":"2026-02-21T00:06:23.370Z","proof":"source=text"},{"label":"Images uploaded (Supabase Storage)","date":"2026-02-21T00:06:23.370Z","proof":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-procleanup/cover.webp"}]'::jsonb, 'published', FALSE, 'none', 'BE1016907814', 'Actif', 'BCE_CSV', '2026-02-21T00:02:50.149Z', '2026-02-21T00:02:50.149Z', 'ProCleanUp', '2024-12-03', 'Personne morale', 'Société à responsabilité limitée', 'Situation normale', '2026-02-11', '2026-02-21T00:06:23.370Z'
WHERE NOT EXISTS (
  SELECT 1
  FROM companies c_existing
  WHERE c_existing.bce_number = 'BE1016907814'
    AND c_existing.slug <> 'nettoyage-liege-procleanup'
)
ON CONFLICT (slug) DO UPDATE SET market = EXCLUDED.market, name = EXCLUDED.name, industry = EXCLUDED.industry, tags = EXCLUDED.tags, services = EXCLUDED.services, pricing_model = EXCLUDED.pricing_model, budget_level = EXCLUDED.budget_level, price_indication = EXCLUDED.price_indication, devis_gratuit = EXCLUDED.devis_gratuit, city = EXCLUDED.city, postal_code = EXCLUDED.postal_code, country = EXCLUDED.country, address = EXCLUDED.address, website = EXCLUDED.website, facebook = EXCLUDED.facebook, instagram = EXCLUDED.instagram, linkedin = EXCLUDED.linkedin, tiktok = EXCLUDED.tiktok, contact_email = EXCLUDED.contact_email, contact_name = EXCLUDED.contact_name, contact_phone = EXCLUDED.contact_phone, public_phone = EXCLUDED.public_phone, founder_name = EXCLUDED.founder_name, founder_role = EXCLUDED.founder_role, founder_photo_url = EXCLUDED.founder_photo_url, ideal_zone = EXCLUDED.ideal_zone, languages = EXCLUDED.languages, availability = EXCLUDED.availability, opening_hours = EXCLUDED.opening_hours, google_rating = EXCLUDED.google_rating, google_reviews_count = EXCLUDED.google_reviews_count, google_reviews = EXCLUDED.google_reviews, company_faq = EXCLUDED.company_faq, description = EXCLUDED.description, seo_title = EXCLUDED.seo_title, seo_description = EXCLUDED.seo_description, og_title = EXCLUDED.og_title, og_description = EXCLUDED.og_description, seo_jsonld = EXCLUDED.seo_jsonld, seo_generated_at = EXCLUDED.seo_generated_at, seo_ai_used = EXCLUDED.seo_ai_used, seo_version = EXCLUDED.seo_version, seo_last_inputs_hash = EXCLUDED.seo_last_inputs_hash, why_company = EXCLUDED.why_company, why_entrepreneur = EXCLUDED.why_entrepreneur, emotional_need_label = EXCLUDED.emotional_need_label, rituals = EXCLUDED.rituals, ras_score = EXCLUDED.ras_score, logo_url = EXCLUDED.logo_url, cover_image_url = EXCLUDED.cover_image_url, gallery_urls = EXCLUDED.gallery_urls, video_urls = EXCLUDED.video_urls, video_embed_url = EXCLUDED.video_embed_url, tier = EXCLUDED.tier, verification_status = EXCLUDED.verification_status, verification_checks = EXCLUDED.verification_checks, content_status = EXCLUDED.content_status, is_claimed = EXCLUDED.is_claimed, opt_out_status = EXCLUDED.opt_out_status, bce_number = EXCLUDED.bce_number, bce_status = EXCLUDED.bce_status, bce_source = EXCLUDED.bce_source, bce_verified_at = EXCLUDED.bce_verified_at, bce_last_checked_at = EXCLUDED.bce_last_checked_at, bce_legal_name = EXCLUDED.bce_legal_name, founded_on = EXCLUDED.founded_on, bce_type_of_enterprise = EXCLUDED.bce_type_of_enterprise, bce_juridical_form = EXCLUDED.bce_juridical_form, bce_juridical_situation = EXCLUDED.bce_juridical_situation, bce_source_update_date = EXCLUDED.bce_source_update_date
WHERE companies.is_claimed IS NOT TRUE;

INSERT INTO companies (slug, market, name, industry, tags, services, pricing_model, budget_level, price_indication, devis_gratuit, city, postal_code, country, address, website, facebook, instagram, linkedin, tiktok, contact_email, contact_name, contact_phone, public_phone, founder_name, founder_role, founder_photo_url, ideal_zone, languages, availability, opening_hours, google_rating, google_reviews_count, google_reviews, company_faq, description, seo_title, seo_description, og_title, og_description, seo_jsonld, seo_generated_at, seo_ai_used, seo_version, seo_last_inputs_hash, why_company, why_entrepreneur, emotional_need_label, rituals, ras_score, logo_url, cover_image_url, gallery_urls, video_urls, video_embed_url, tier, verification_status, verification_checks, content_status, is_claimed, opt_out_status, bce_number, bce_status, bce_source, bce_verified_at, bce_last_checked_at, bce_legal_name, founded_on, bce_type_of_enterprise, bce_juridical_form, bce_juridical_situation, bce_source_update_date, created_at)
SELECT 'nettoyage-liege-xlg-facility', 'BE-WAL', 'XLG Facility', 'Nettoyage', ARRAY['nettoyage bureaux', 'désinfection locaux', 'vitres sans traces', 'sol propre industriel', 'intervention nocturne', 'produits ecologiques', 'urgence nettoyage', '24h/24 disponible', 'nettoyage espace de travail', 'désinfection', 'traitement des sols', 'laveur de vitres et châssis']::text[], ARRAY['Nettoyage espace de travail', 'Désinfection', 'Traitement des sols', 'Laveur de vitres et châssis', 'Interventions spécialisées']::text[], 'sur_devis', NULL, NULL, TRUE, 'Herstal', '4041', 'BE', 'Rue du Charbonnage 130', 'https://www.belcco.be/', NULL, NULL, 'https://www.linkedin.com/company/belcco', NULL, 'antwerpen@belcco.be', NULL, '+3236440784', '+3236440784', NULL, NULL, NULL, 'Herstal', ARRAY['français', 'néerlandais']::text[], '24h/24 - 7j/7', NULL, NULL, NULL, NULL, '[{"question":"Proposez-vous des services de nettoyage espace de travail?","answer":"Oui, cette prestation fait partie des interventions proposées, avec vérification sur place avant réalisation."},{"question":"Sur quelle zone géographique intervenez-vous?","answer":"Les interventions se déroulent à Herstal et dans les communes avoisinantes, selon la nature de la demande."},{"question":"Comment la qualité des interventions est-elle assurée?","answer":"La qualité repose sur une méthode structurée, des vérifications en cours d''intervention et un contrôle final avant la remise au client."},{"question":"Qu''est-ce qui vous distingue sur votre marche local?","answer":"XLG Facility se distingue par son approche flexible et ses interventions adaptées aux besoins spécifiques de chaque client, avec une équipe formée pour utiliser des équipements professionnels."}]'::jsonb, 'XLG Facility, spécialisée dans le nettoyage professionnel à Herstal, propose des solutions sur mesure pour les espaces de travail. Avec une expertise de plus de 25 ans et une disponibilité 7j/7, l''entreprise garantit un environnement impeccable où il fait bon travailler.', 'Nettoyage à Herstal | XLG Facility', 'Interventions nocturnes pour un espace de travail impeccable. Produits écologiques certifiés et contrôle qualité systématique. Spécialiste du nettoyage industriel en région liégeoise.', 'Nettoyage professionnel à Herstal', 'XLG Facility propose des services de nettoyage pour espaces professionnels, avec produits écologiques et interventions hors heures d''ouverture.', '{"@context":"https://schema.org","@type":"CleaningService","name":"XLG Facility","description":"Nettoyage professionnel pour bureaux et locaux industriels à Herstal.","url":"https://revelys.be/entreprises/nettoyage-liege-xlg-facility","sameAs":["https://www.belcco.be/"],"address":{"@type":"PostalAddress","streetAddress":"Rue du Charbonnage 130","postalCode":"4041","addressLocality":"Herstal","addressCountry":"BE"},"areaServed":{"@type":"City","name":"Herstal"},"keywords":["nettoyage bureaux","désinfection locaux","vitres sans traces","sol propre industriel","intervention nocturne","produits ecologiques","urgence nettoyage","24h/24 disponible","nettoyage espace de travail","désinfection","traitement des sols","laveur de vitres et châssis"],"image":["https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-xlg-facility/logo.webp","https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-xlg-facility/cover.webp"],"logo":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-xlg-facility/logo.webp","hasOfferCatalog":{"@type":"OfferCatalog","name":"Services de nettoyage professionnel","itemListElement":[{"@type":"OfferItem","name":"Nettoyage espace de travail"},{"@type":"OfferItem","name":"Désinfection"},{"@type":"OfferItem","name":"Traitement des sols"},{"@type":"OfferItem","name":"Laveur de vitres et châssis"},{"@type":"OfferItem","name":"Interventions spécialisées"}]}}'::jsonb, '2026-02-21T00:08:36.592Z', TRUE, 5, 'd79ffded3d751935d217302b57609f9f1f7a9e44abd5e1519fd22ec4c7650fd9', 'XLG Facility se distingue par son approche flexible et ses interventions adaptées aux besoins spécifiques de chaque client, avec une équipe formée pour utiliser des équipements professionnels.', NULL, 'Sérénité', '[{"name":"Nettoyage avec produits certifiés","description":"Utilisation exclusive de produits d''entretien écologiques et certifiés pour garantir la sécurité des occupants.","frequency":"toujours","impact":"sécurité sanitaire","proof":null},{"name":"Contrôle qualité après intervention","description":"Vérification systématique de chaque zone nettoyée pour s''assurer du résultat impeccable.","frequency":"toujours","impact":"satisfaction client","proof":null},{"name":"Planification hors heures d''ouverture","description":"Interventions programmées en dehors des horaires de travail pour ne pas perturber les activités.","frequency":"toujours","impact":"confort client","proof":null}]'::jsonb, 98, 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-xlg-facility/logo.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-xlg-facility/cover.webp', ARRAY['https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-xlg-facility/g1.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-xlg-facility/g2.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-xlg-facility/g3.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-xlg-facility/g4.webp']::text[], ARRAY[]::text[], NULL, 'listed', 'pending', '[{"label":"Seed: site crawl","date":"2026-02-21T00:09:46.389Z","proof":"https://www.belcco.be/fr/societe-de-nettoyage-liege"},{"label":"Seed: city hint","date":"2026-02-21T00:09:46.389Z","proof":"Liège"},{"label":"Seed: industry category","date":"2026-02-21T00:09:46.389Z","proof":"Nettoyage"},{"label":"Seed: search keyword","date":"2026-02-21T00:09:46.389Z","proof":"Nettoyage"},{"label":"Extracted: city","date":"2026-02-21T00:09:46.389Z","proof":""},{"label":"BCE: mod97 valid","date":"2026-02-21T00:09:46.389Z","proof":"0451459774"},{"label":"Email extracted","date":"2026-02-21T00:09:46.389Z","proof":"antwerpen@belcco.be"},{"label":"LLM structured (mistral-small3.2:24b-instruct-q5_k_m)","date":"2026-02-21T00:09:46.389Z","proof":"confidence=80/100"},{"label":"Phone extracted","date":"2026-02-21T00:09:46.389Z","proof":"source=text"},{"label":"Images uploaded (Supabase Storage)","date":"2026-02-21T00:09:46.389Z","proof":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-xlg-facility/cover.webp"}]'::jsonb, 'published', FALSE, 'none', 'BE0451459774', 'Actif', 'BCE_CSV', '2026-02-21T00:06:26.308Z', '2026-02-21T00:06:26.308Z', 'XLG Facility', '1993-12-14', 'Personne morale', 'Société anonyme', 'Situation normale', '2026-02-11', '2026-02-21T00:09:46.389Z'
WHERE NOT EXISTS (
  SELECT 1
  FROM companies c_existing
  WHERE c_existing.bce_number = 'BE0451459774'
    AND c_existing.slug <> 'nettoyage-liege-xlg-facility'
)
ON CONFLICT (slug) DO UPDATE SET market = EXCLUDED.market, name = EXCLUDED.name, industry = EXCLUDED.industry, tags = EXCLUDED.tags, services = EXCLUDED.services, pricing_model = EXCLUDED.pricing_model, budget_level = EXCLUDED.budget_level, price_indication = EXCLUDED.price_indication, devis_gratuit = EXCLUDED.devis_gratuit, city = EXCLUDED.city, postal_code = EXCLUDED.postal_code, country = EXCLUDED.country, address = EXCLUDED.address, website = EXCLUDED.website, facebook = EXCLUDED.facebook, instagram = EXCLUDED.instagram, linkedin = EXCLUDED.linkedin, tiktok = EXCLUDED.tiktok, contact_email = EXCLUDED.contact_email, contact_name = EXCLUDED.contact_name, contact_phone = EXCLUDED.contact_phone, public_phone = EXCLUDED.public_phone, founder_name = EXCLUDED.founder_name, founder_role = EXCLUDED.founder_role, founder_photo_url = EXCLUDED.founder_photo_url, ideal_zone = EXCLUDED.ideal_zone, languages = EXCLUDED.languages, availability = EXCLUDED.availability, opening_hours = EXCLUDED.opening_hours, google_rating = EXCLUDED.google_rating, google_reviews_count = EXCLUDED.google_reviews_count, google_reviews = EXCLUDED.google_reviews, company_faq = EXCLUDED.company_faq, description = EXCLUDED.description, seo_title = EXCLUDED.seo_title, seo_description = EXCLUDED.seo_description, og_title = EXCLUDED.og_title, og_description = EXCLUDED.og_description, seo_jsonld = EXCLUDED.seo_jsonld, seo_generated_at = EXCLUDED.seo_generated_at, seo_ai_used = EXCLUDED.seo_ai_used, seo_version = EXCLUDED.seo_version, seo_last_inputs_hash = EXCLUDED.seo_last_inputs_hash, why_company = EXCLUDED.why_company, why_entrepreneur = EXCLUDED.why_entrepreneur, emotional_need_label = EXCLUDED.emotional_need_label, rituals = EXCLUDED.rituals, ras_score = EXCLUDED.ras_score, logo_url = EXCLUDED.logo_url, cover_image_url = EXCLUDED.cover_image_url, gallery_urls = EXCLUDED.gallery_urls, video_urls = EXCLUDED.video_urls, video_embed_url = EXCLUDED.video_embed_url, tier = EXCLUDED.tier, verification_status = EXCLUDED.verification_status, verification_checks = EXCLUDED.verification_checks, content_status = EXCLUDED.content_status, is_claimed = EXCLUDED.is_claimed, opt_out_status = EXCLUDED.opt_out_status, bce_number = EXCLUDED.bce_number, bce_status = EXCLUDED.bce_status, bce_source = EXCLUDED.bce_source, bce_verified_at = EXCLUDED.bce_verified_at, bce_last_checked_at = EXCLUDED.bce_last_checked_at, bce_legal_name = EXCLUDED.bce_legal_name, founded_on = EXCLUDED.founded_on, bce_type_of_enterprise = EXCLUDED.bce_type_of_enterprise, bce_juridical_form = EXCLUDED.bce_juridical_form, bce_juridical_situation = EXCLUDED.bce_juridical_situation, bce_source_update_date = EXCLUDED.bce_source_update_date
WHERE companies.is_claimed IS NOT TRUE;

INSERT INTO companies (slug, market, name, industry, tags, services, pricing_model, budget_level, price_indication, devis_gratuit, city, postal_code, country, address, website, facebook, instagram, linkedin, tiktok, contact_email, contact_name, contact_phone, public_phone, founder_name, founder_role, founder_photo_url, ideal_zone, languages, availability, opening_hours, google_rating, google_reviews_count, google_reviews, company_faq, description, seo_title, seo_description, og_title, og_description, seo_jsonld, seo_generated_at, seo_ai_used, seo_version, seo_last_inputs_hash, why_company, why_entrepreneur, emotional_need_label, rituals, ras_score, logo_url, cover_image_url, gallery_urls, video_urls, video_embed_url, tier, verification_status, verification_checks, content_status, is_claimed, opt_out_status, bce_number, bce_status, bce_source, bce_verified_at, bce_last_checked_at, bce_legal_name, founded_on, bce_type_of_enterprise, bce_juridical_form, bce_juridical_situation, bce_source_update_date, created_at)
SELECT 'nettoyage-liege-simply-clean-srl', 'BE-WAL', 'Simply Clean SRL', 'Nettoyage', ARRAY['nettoyage post-inondation', 'évacuation gravats', 'vitres en hauteur', 'élévateur professionnel', 'désinfection surfaces', 'organisation événement', 'produits professionnels', 'intervention rapide', 'liège et environs', 'nettoyage industriel', 'nettoyage de chantier', 'nettoyage après sinistre']::text[], ARRAY['Nettoyage industriel', 'Nettoyage de chantier', 'Nettoyage après sinistre', 'Nettoyage de vitres', 'Organisation d''événements d''entreprise']::text[], 'sur_devis', NULL, NULL, TRUE, 'Liège', '4000', 'BE', 'Rue des Clarisses 24 boite 42', 'https://www.simplyclean.be/', NULL, NULL, NULL, NULL, 'info@simplyclean.be', NULL, '+32467682260', '+32467682260', NULL, NULL, NULL, 'Liège', ARRAY['français']::text[], NULL, NULL, NULL, NULL, NULL, '[{"question":"Proposez-vous des services de nettoyage industriel?","answer":"Oui, cette prestation fait partie des interventions proposées, avec vérification sur place avant réalisation."},{"question":"Intervenez-vous au-delà de la zone principale?","answer":"La zone principale est Liège. Les interventions peuvent s''étendre aux communes limitrophes selon le besoin."},{"question":"Comment contrôlez-vous la qualité de votre travail?","answer":"Des vérifications sont effectuées à chaque étape de l''intervention, avec un contrôle final avant la clôture du chantier."},{"question":"Qu''est-ce qui vous distingue sur votre marche local?","answer":"Simply Clean SRL se distingue par la présence systématique de son patron sur les chantiers, garantissant un suivi personnalisé et une qualité irréprochable."}]'::jsonb, 'Simply Clean SRL se spécialise dans le nettoyage industriel et post-sinistre à Liège, avec une expertise reconnue pour les chantiers complexes et les espaces vitrés. L''entreprise intervient également lors d''événements d''entreprise, assurant propreté et organisation sur mesure.', 'Nettoyage à Liège | Simply Clean SRL', 'Intervention rapide pour nettoyage après sinistre. Patron présent sur chaque chantier pour un suivi personnalisé. Spécialiste du nettoyage industriel et de chantier en région liégeoise.', 'Simply Clean SRL - Nettoyage professionnel à Liège', 'Nettoyage industriel, après sinistre ou de vitres en hauteur avec élévateur professionnel. Désinfection stricte des surfaces pour espaces médicaux et commerciaux.', '{"@context":"https://schema.org","@type":"CleaningService","name":"Simply Clean SRL","description":"Nettoyage industriel, de chantier et après sinistre à Liège avec élévateur professionnel pour vitres en hauteur.","url":"https://revelys.be/entreprises/nettoyage-liege-simply-clean-srl","sameAs":["https://www.simplyclean.be/"],"address":{"@type":"PostalAddress","streetAddress":"Rue des Clarisses 24 boite 42","postalCode":"4000","addressLocality":"Liège","addressCountry":"BE"},"areaServed":{"@type":"Place","name":"Liège et environs"},"keywords":["nettoyage post-inondation","évacuation gravats","vitres en hauteur","élévateur professionnel","désinfection surfaces","organisation événement","produits professionnels","intervention rapide","liège et environs","nettoyage industriel","nettoyage de chantier","nettoyage après sinistre"],"image":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-simply-clean-srl/logo.webp"}'::jsonb, '2026-02-21T00:14:33.382Z', TRUE, 5, 'fe00fafc5e53709a0a84e6da326e77885391257cad08db225263c5d79c2e8ec0', 'Simply Clean SRL se distingue par la présence systématique de son patron sur les chantiers, garantissant un suivi personnalisé et une qualité irréprochable.', NULL, 'Sérénité', '[{"name":"Utilisation d''élévateur pour vitres","description":"Pour nettoyer les baies vitrées en hauteur, l''équipe utilise un élévateur professionnel afin de garantir sécurité et efficacité sans traces.","frequency":"toujours","impact":"qualite","proof":null},{"name":"Évacuation complète des gravats","description":"Après un chantier, les équipes procèdent à l''évacuation systématique de tous les débris et résidus pour laisser les lieux impeccables.","frequency":"toujours","impact":"qualite","proof":null},{"name":"Désinfection des surfaces","description":"Un protocole strict de désinfection est appliqué dans les espaces médicaux et commerciaux pour éliminer bactéries et virus.","frequency":"toujours","impact":"qualite","proof":null}]'::jsonb, 98, 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-simply-clean-srl/logo.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-simply-clean-srl/cover.webp', ARRAY['https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-simply-clean-srl/g1.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-simply-clean-srl/g2.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-simply-clean-srl/g3.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-simply-clean-srl/g4.webp']::text[], ARRAY[]::text[], NULL, 'listed', 'pending', '[{"label":"Seed: site crawl","date":"2026-02-21T00:15:21.848Z","proof":"https://www.simplyclean.be/"},{"label":"Seed: city hint","date":"2026-02-21T00:15:21.848Z","proof":"Liège"},{"label":"Seed: industry category","date":"2026-02-21T00:15:21.848Z","proof":"Nettoyage"},{"label":"Seed: search keyword","date":"2026-02-21T00:15:21.848Z","proof":"Nettoyage"},{"label":"Extracted: city","date":"2026-02-21T00:15:21.848Z","proof":"Liège"},{"label":"BCE: mod97 valid","date":"2026-02-21T00:15:21.848Z","proof":"1023909036"},{"label":"Email extracted","date":"2026-02-21T00:15:21.848Z","proof":"info@simplyclean.be"},{"label":"LLM structured (mistral-small3.2:24b-instruct-q5_k_m)","date":"2026-02-21T00:15:21.848Z","proof":"confidence=80/100"},{"label":"Phone extracted","date":"2026-02-21T00:15:21.848Z","proof":"source=tel_link"},{"label":"Images uploaded (Supabase Storage)","date":"2026-02-21T00:15:21.848Z","proof":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-simply-clean-srl/cover.webp"}]'::jsonb, 'published', FALSE, 'none', 'BE1023909036', 'Actif', 'BCE_CSV', '2026-02-21T00:12:17.968Z', '2026-02-21T00:12:17.968Z', 'SIMPLY CLEAN', '2025-06-02', 'Personne morale', 'Société à responsabilité limitée', 'Situation normale', '2026-02-11', '2026-02-21T00:15:21.848Z'
WHERE NOT EXISTS (
  SELECT 1
  FROM companies c_existing
  WHERE c_existing.bce_number = 'BE1023909036'
    AND c_existing.slug <> 'nettoyage-liege-simply-clean-srl'
)
ON CONFLICT (slug) DO UPDATE SET market = EXCLUDED.market, name = EXCLUDED.name, industry = EXCLUDED.industry, tags = EXCLUDED.tags, services = EXCLUDED.services, pricing_model = EXCLUDED.pricing_model, budget_level = EXCLUDED.budget_level, price_indication = EXCLUDED.price_indication, devis_gratuit = EXCLUDED.devis_gratuit, city = EXCLUDED.city, postal_code = EXCLUDED.postal_code, country = EXCLUDED.country, address = EXCLUDED.address, website = EXCLUDED.website, facebook = EXCLUDED.facebook, instagram = EXCLUDED.instagram, linkedin = EXCLUDED.linkedin, tiktok = EXCLUDED.tiktok, contact_email = EXCLUDED.contact_email, contact_name = EXCLUDED.contact_name, contact_phone = EXCLUDED.contact_phone, public_phone = EXCLUDED.public_phone, founder_name = EXCLUDED.founder_name, founder_role = EXCLUDED.founder_role, founder_photo_url = EXCLUDED.founder_photo_url, ideal_zone = EXCLUDED.ideal_zone, languages = EXCLUDED.languages, availability = EXCLUDED.availability, opening_hours = EXCLUDED.opening_hours, google_rating = EXCLUDED.google_rating, google_reviews_count = EXCLUDED.google_reviews_count, google_reviews = EXCLUDED.google_reviews, company_faq = EXCLUDED.company_faq, description = EXCLUDED.description, seo_title = EXCLUDED.seo_title, seo_description = EXCLUDED.seo_description, og_title = EXCLUDED.og_title, og_description = EXCLUDED.og_description, seo_jsonld = EXCLUDED.seo_jsonld, seo_generated_at = EXCLUDED.seo_generated_at, seo_ai_used = EXCLUDED.seo_ai_used, seo_version = EXCLUDED.seo_version, seo_last_inputs_hash = EXCLUDED.seo_last_inputs_hash, why_company = EXCLUDED.why_company, why_entrepreneur = EXCLUDED.why_entrepreneur, emotional_need_label = EXCLUDED.emotional_need_label, rituals = EXCLUDED.rituals, ras_score = EXCLUDED.ras_score, logo_url = EXCLUDED.logo_url, cover_image_url = EXCLUDED.cover_image_url, gallery_urls = EXCLUDED.gallery_urls, video_urls = EXCLUDED.video_urls, video_embed_url = EXCLUDED.video_embed_url, tier = EXCLUDED.tier, verification_status = EXCLUDED.verification_status, verification_checks = EXCLUDED.verification_checks, content_status = EXCLUDED.content_status, is_claimed = EXCLUDED.is_claimed, opt_out_status = EXCLUDED.opt_out_status, bce_number = EXCLUDED.bce_number, bce_status = EXCLUDED.bce_status, bce_source = EXCLUDED.bce_source, bce_verified_at = EXCLUDED.bce_verified_at, bce_last_checked_at = EXCLUDED.bce_last_checked_at, bce_legal_name = EXCLUDED.bce_legal_name, founded_on = EXCLUDED.founded_on, bce_type_of_enterprise = EXCLUDED.bce_type_of_enterprise, bce_juridical_form = EXCLUDED.bce_juridical_form, bce_juridical_situation = EXCLUDED.bce_juridical_situation, bce_source_update_date = EXCLUDED.bce_source_update_date
WHERE companies.is_claimed IS NOT TRUE;

INSERT INTO companies (slug, market, name, industry, tags, services, pricing_model, budget_level, price_indication, devis_gratuit, city, postal_code, country, address, website, facebook, instagram, linkedin, tiktok, contact_email, contact_name, contact_phone, public_phone, founder_name, founder_role, founder_photo_url, ideal_zone, languages, availability, opening_hours, google_rating, google_reviews_count, google_reviews, company_faq, description, seo_title, seo_description, og_title, og_description, seo_jsonld, seo_generated_at, seo_ai_used, seo_version, seo_last_inputs_hash, why_company, why_entrepreneur, emotional_need_label, rituals, ras_score, logo_url, cover_image_url, gallery_urls, video_urls, video_embed_url, tier, verification_status, verification_checks, content_status, is_claimed, opt_out_status, bce_number, bce_status, bce_source, bce_verified_at, bce_last_checked_at, bce_legal_name, founded_on, bce_type_of_enterprise, bce_juridical_form, bce_juridical_situation, bce_source_update_date, created_at)
SELECT 'nettoyage-liege-sanitex', 'BE-WAL', 'Sanitex', 'Nettoyage', ARRAY['nettoyage en profondeur', 'élimination allergènes', 'taches incrustées', 'matériel professionnel', 'intervention à domicile', 'produits écologiques', 'canapé en tissu', 'moquette d''entreprise', 'nettoyage de canapé à domicile', 'nettoyage de matelas à domicile', 'nettoyage siège auto professionnel', 'nettoyage de tapis']::text[], ARRAY['Nettoyage de canapé à domicile', 'Nettoyage de matelas à domicile', 'Nettoyage siège auto professionnel', 'Nettoyage de tapis', 'Nettoyage de moquette professionnel']::text[], 'forfait', NULL, NULL, TRUE, 'Limbourg', '4834', 'BE', 'Rue de l''Invasion 92', 'https://www.sanitex.be/', NULL, 'https://www.instagram.com/sanitex_be/', NULL, NULL, 'info@sanitex.be', NULL, '+32497312726', '+32497312726', NULL, NULL, NULL, 'Limbourg', ARRAY['français', 'anglais']::text[], NULL, NULL, NULL, NULL, NULL, '[{"question":"Proposez-vous des services de nettoyage de canapé à domicile?","answer":"Oui, cette prestation fait partie des interventions proposées, avec vérification sur place avant réalisation."},{"question":"Sur quelle zone géographique intervenez-vous?","answer":"Les interventions se déroulent à Limbourg et dans les communes avoisinantes, selon la nature de la demande."},{"question":"Comment la qualité des interventions est-elle assurée?","answer":"La qualité repose sur une méthode structurée, des vérifications en cours d''intervention et un contrôle final avant la remise au client."},{"question":"Qu''est-ce qui vous distingue sur votre marche local?","answer":"Sanitex se distingue par son expertise dans le nettoyage de textiles délicats, combinant matériel de pointe et produits adaptés pour des résultats durables. L''entreprise mise sur la transparence tarifaire et une approche respectueuse des matériaux."}]'::jsonb, 'Sanitex se spécialise dans le nettoyage professionnel de canapés, matelas, tapis et sièges automobiles à domicile. Basée près de Limbourg, l''entreprise utilise des techniques innovantes pour redonner éclat et propreté à vos textiles, tout en éliminant allergènes et odeurs tenaces. Chaque intervention est réalisée avec précision pour préserver la qualité de vos meubles.', 'Nettoyage à Limbourg | Sanitex', 'Nettoyage de canapés et moquettes en profondeur avec produits écologiques. Interventions à domicile ou pour entreprises, adaptées aux tissus délicats.', 'Sanitex - Nettoyage professionnel à Limbourg', 'Spécialiste du nettoyage de textiles (canapés, matelas, sièges auto) avec matériel professionnel et produits écologiques. Interventions à domicile ou en entreprise.', '{"@context":"https://schema.org","@type":"CleaningService","name":"Sanitex","description":"Nettoyage professionnel de textiles (canapés, matelas, sièges auto) à Limbourg avec produits écologiques.","url":"https://revelys.be/entreprises/nettoyage-liege-sanitex","sameAs":["https://www.sanitex.be/"],"address":{"@type":"PostalAddress","streetAddress":"Rue de l''Invasion 92","postalCode":"4834","addressLocality":"Limbourg","addressCountry":"BE"},"areaServed":{"@type":"City","name":"Limbourg"},"keywords":["nettoyage en profondeur","élimination allergènes","taches incrustées","matériel professionnel","intervention à domicile","produits écologiques","canapé en tissu","moquette d''entreprise","nettoyage de canapé à domicile","nettoyage de matelas à domicile","nettoyage siège auto professionnel","nettoyage de tapis"],"image":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-sanitex/logo.webp"}'::jsonb, '2026-02-21T00:18:43.851Z', TRUE, 5, '224d81aefdb7844fe671e12dec2dff42e4c20440359961a6e9b683f751fc6122', 'Sanitex se distingue par son expertise dans le nettoyage de textiles délicats, combinant matériel de pointe et produits adaptés pour des résultats durables. L''entreprise mise sur la transparence tarifaire et une approche respectueuse des matériaux.', NULL, 'Sérénité', '[{"name":"Préparation minutieuse du tissu","description":"Avant toute intervention, les techniciens analysent le type de tissu et les taches pour choisir la méthode de nettoyage la plus adaptée. Cette étape permet d''éviter tout dommage aux fibres.","frequency":"toujours","impact":"évite les erreurs de traitement","proof":null},{"name":"Utilisation de shampouineuse professionnelle","description":"Sanitex emploie des machines à injection-extraction pour un nettoyage en profondeur, éliminant saleté et allergènes sans détremper le tissu.","frequency":"toujours","impact":"résultat optimal sans excès d''humidité","proof":null},{"name":"Traitement des odeurs tenaces","description":"Pour les canapés ou sièges automobiles avec odeurs persistantes, l''entreprise applique un traitement spécifique à base de produits neutralisants.","frequency":"si besoin","impact":"élimination complète des mauvaises odeurs","proof":null}]'::jsonb, 98, 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-sanitex/logo.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-sanitex/cover.webp', ARRAY['https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-sanitex/g1.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-sanitex/g2.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-sanitex/g3.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-sanitex/g4.webp']::text[], ARRAY[]::text[], NULL, 'listed', 'pending', '[{"label":"Seed: site crawl","date":"2026-02-21T00:19:31.458Z","proof":"https://www.sanitex.be/"},{"label":"Seed: city hint","date":"2026-02-21T00:19:31.458Z","proof":"Liège"},{"label":"Seed: industry category","date":"2026-02-21T00:19:31.458Z","proof":"Nettoyage"},{"label":"Seed: search keyword","date":"2026-02-21T00:19:31.458Z","proof":"Nettoyage"},{"label":"Extracted: city","date":"2026-02-21T00:19:31.458Z","proof":"Goé"},{"label":"BCE: mod97 valid","date":"2026-02-21T00:19:31.458Z","proof":"0657842419"},{"label":"Email extracted","date":"2026-02-21T00:19:31.458Z","proof":"info@sanitex.be"},{"label":"LLM structured (mistral-small3.2:24b-instruct-q5_k_m)","date":"2026-02-21T00:19:31.458Z","proof":"confidence=92/100"},{"label":"Phone extracted","date":"2026-02-21T00:19:31.458Z","proof":"source=text"},{"label":"Images uploaded (Supabase Storage)","date":"2026-02-21T00:19:31.458Z","proof":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-sanitex/cover.webp"}]'::jsonb, 'published', FALSE, 'none', 'BE0657842419', 'Actif', 'BCE_CSV', '2026-02-21T00:15:47.695Z', '2026-02-21T00:15:47.695Z', 'STRATEGIK', '2016-06-30', 'Personne morale', 'Société à responsabilité limitée', 'Situation normale', '2026-02-11', '2026-02-21T00:19:31.458Z'
WHERE NOT EXISTS (
  SELECT 1
  FROM companies c_existing
  WHERE c_existing.bce_number = 'BE0657842419'
    AND c_existing.slug <> 'nettoyage-liege-sanitex'
)
ON CONFLICT (slug) DO UPDATE SET market = EXCLUDED.market, name = EXCLUDED.name, industry = EXCLUDED.industry, tags = EXCLUDED.tags, services = EXCLUDED.services, pricing_model = EXCLUDED.pricing_model, budget_level = EXCLUDED.budget_level, price_indication = EXCLUDED.price_indication, devis_gratuit = EXCLUDED.devis_gratuit, city = EXCLUDED.city, postal_code = EXCLUDED.postal_code, country = EXCLUDED.country, address = EXCLUDED.address, website = EXCLUDED.website, facebook = EXCLUDED.facebook, instagram = EXCLUDED.instagram, linkedin = EXCLUDED.linkedin, tiktok = EXCLUDED.tiktok, contact_email = EXCLUDED.contact_email, contact_name = EXCLUDED.contact_name, contact_phone = EXCLUDED.contact_phone, public_phone = EXCLUDED.public_phone, founder_name = EXCLUDED.founder_name, founder_role = EXCLUDED.founder_role, founder_photo_url = EXCLUDED.founder_photo_url, ideal_zone = EXCLUDED.ideal_zone, languages = EXCLUDED.languages, availability = EXCLUDED.availability, opening_hours = EXCLUDED.opening_hours, google_rating = EXCLUDED.google_rating, google_reviews_count = EXCLUDED.google_reviews_count, google_reviews = EXCLUDED.google_reviews, company_faq = EXCLUDED.company_faq, description = EXCLUDED.description, seo_title = EXCLUDED.seo_title, seo_description = EXCLUDED.seo_description, og_title = EXCLUDED.og_title, og_description = EXCLUDED.og_description, seo_jsonld = EXCLUDED.seo_jsonld, seo_generated_at = EXCLUDED.seo_generated_at, seo_ai_used = EXCLUDED.seo_ai_used, seo_version = EXCLUDED.seo_version, seo_last_inputs_hash = EXCLUDED.seo_last_inputs_hash, why_company = EXCLUDED.why_company, why_entrepreneur = EXCLUDED.why_entrepreneur, emotional_need_label = EXCLUDED.emotional_need_label, rituals = EXCLUDED.rituals, ras_score = EXCLUDED.ras_score, logo_url = EXCLUDED.logo_url, cover_image_url = EXCLUDED.cover_image_url, gallery_urls = EXCLUDED.gallery_urls, video_urls = EXCLUDED.video_urls, video_embed_url = EXCLUDED.video_embed_url, tier = EXCLUDED.tier, verification_status = EXCLUDED.verification_status, verification_checks = EXCLUDED.verification_checks, content_status = EXCLUDED.content_status, is_claimed = EXCLUDED.is_claimed, opt_out_status = EXCLUDED.opt_out_status, bce_number = EXCLUDED.bce_number, bce_status = EXCLUDED.bce_status, bce_source = EXCLUDED.bce_source, bce_verified_at = EXCLUDED.bce_verified_at, bce_last_checked_at = EXCLUDED.bce_last_checked_at, bce_legal_name = EXCLUDED.bce_legal_name, founded_on = EXCLUDED.founded_on, bce_type_of_enterprise = EXCLUDED.bce_type_of_enterprise, bce_juridical_form = EXCLUDED.bce_juridical_form, bce_juridical_situation = EXCLUDED.bce_juridical_situation, bce_source_update_date = EXCLUDED.bce_source_update_date
WHERE companies.is_claimed IS NOT TRUE;

INSERT INTO companies (slug, market, name, industry, tags, services, pricing_model, budget_level, price_indication, devis_gratuit, city, postal_code, country, address, website, facebook, instagram, linkedin, tiktok, contact_email, contact_name, contact_phone, public_phone, founder_name, founder_role, founder_photo_url, ideal_zone, languages, availability, opening_hours, google_rating, google_reviews_count, google_reviews, company_faq, description, seo_title, seo_description, og_title, og_description, seo_jsonld, seo_generated_at, seo_ai_used, seo_version, seo_last_inputs_hash, why_company, why_entrepreneur, emotional_need_label, rituals, ras_score, logo_url, cover_image_url, gallery_urls, video_urls, video_embed_url, tier, verification_status, verification_checks, content_status, is_claimed, opt_out_status, bce_number, bce_status, bce_source, bce_verified_at, bce_last_checked_at, bce_legal_name, founded_on, bce_type_of_enterprise, bce_juridical_form, bce_juridical_situation, bce_source_update_date, created_at)
SELECT 'nettoyage-liege-immo-clean-pro', 'BE-WAL', 'Immo Clean Pro', 'Nettoyage', ARRAY['nettoyage industriel liège', 'surfaces difficiles huile limailles', 'grandes surfaces ateliers usines', 'normes haccp respectées', 'lavage vitres en hauteur nacelles', 'intervention 24/7 urgences', 'produits détergents spéciaux', 'nettoyage industriel', 'lavage de vitres', 'nettoyage de bureaux', 'nettoyage de magasins', 'nettoyage après sinistre']::text[], ARRAY['Nettoyage industriel', 'Lavage de vitres', 'Nettoyage de bureaux', 'Nettoyage de magasins', 'Nettoyage après sinistre', 'Solution de désinfection']::text[], 'horaire', NULL, NULL, NULL, 'Sprimont', '4141', 'BE', 'Rue de la Légende 16 boite A', 'https://icpro.be/', 'https://www.facebook.com/ImmoCleanPro', NULL, NULL, NULL, 'info@icpro.be', NULL, '+3243787600', '+3243787600', NULL, NULL, NULL, 'Sprimont', ARRAY['français']::text[], '24h/24 - 7j/7', NULL, NULL, NULL, NULL, '[{"question":"Proposez-vous des services de nettoyage industriel?","answer":"Oui, cette prestation fait partie des interventions proposées, avec vérification sur place avant réalisation."},{"question":"Intervenez-vous au-delà de la zone principale?","answer":"La zone principale est Sprimont. Les interventions peuvent s''étendre aux communes limitrophes selon le besoin."},{"question":"Comment contrôlez-vous la qualité de votre travail?","answer":"Des vérifications sont effectuées à chaque étape de l''intervention, avec un contrôle final avant la clôture du chantier."},{"question":"Gérez-vous les interventions urgentes?","answer":"Oui, l''organisation permet de répondre aux demandes urgentes (24h/24 - 7j/7)."},{"question":"Qu''est-ce qui vous distingue sur votre marche local?","answer":"Immo Clean Pro se distingue par son approche éco-responsable et sa maîtrise des chantiers industriels complexes. L''entreprise garantit une transparence totale sur les tarifs et s''engage à respecter vos contraintes horaires pour minimiser les perturbations."}]'::jsonb, 'Immo Clean Pro est spécialisée dans le nettoyage industriel à Liège, avec une expertise reconnue pour traiter les surfaces difficiles comme l''huile ou les dépôts tenaces. L''entreprise intervient sur tous types de chantiers, du garage à l''usine, en respectant strictement les normes de sécurité et d''hygiène. Son approche éco-responsable et son matériel adapté garantissent des résultats impeccables dans les délais.', 'Nettoyage industriel à Sprimont | Immo Clean Pro', 'Interventions 24/7 pour surfaces industrielles difficiles. Respect des normes HACCP et produits spécialisés. Spécialiste du nettoyage en Wallonie.', 'Immo Clean Pro - Nettoyage industriel à Sprimont', 'Entreprise de nettoyage professionnel à Sprimont, spécialisée dans les surfaces industrielles complexes et le lavage de vitres en hauteur. Interventions respectant les normes HACCP.', '{"@context":"https://schema.org","@type":"LocalBusiness","name":"Immo Clean Pro","description":"Nettoyage industriel et professionnel à Sprimont, Belgique.","url":"https://revelys.be/entreprises/nettoyage-liege-immo-clean-pro","sameAs":["https://icpro.be/"],"address":{"@type":"PostalAddress","streetAddress":"Rue de la Légende 16 boite A","postalCode":"4141","addressLocality":"Sprimont","addressCountry":"BE"},"areaServed":{"@type":"Place","name":"Sprimont, Liège"},"keywords":["nettoyage industriel liège","surfaces difficiles huile limailles","grandes surfaces ateliers usines","normes haccp respectées","lavage vitres en hauteur nacelles","intervention 24/7 urgences","produits détergents spéciaux","nettoyage industriel","lavage de vitres","nettoyage de bureaux","nettoyage de magasins","nettoyage après sinistre"],"image":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-immo-clean-pro/logo.webp","logo":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-immo-clean-pro/logo.webp"}'::jsonb, '2026-02-21T00:23:20.352Z', TRUE, 5, '007ef309fe14c1b0463c8854fab171b99ed33193aeecaedf21b302d69dbd1dff', 'Immo Clean Pro se distingue par son approche éco-responsable et sa maîtrise des chantiers industriels complexes. L''entreprise garantit une transparence totale sur les tarifs et s''engage à respecter vos contraintes horaires pour minimiser les perturbations.', NULL, 'Sérénité', '[{"name":"Nettoyage avec produits spécifiques","description":"Utilisation de détergents adaptés aux substances industrielles comme l''huile ou les limailles, en respectant les normes HACCP.","frequency":"toujours","impact":"efficacite","proof":null},{"name":"Lavage vitres avec eau osmosée","description":"Technique professionnelle pour un nettoyage sans traces, même sur les surfaces en hauteur nécessitant des nacelles.","frequency":"toujours","impact":"qualite","proof":null},{"name":"Respect strict des normes sécurité","description":"Port d''équipements de protection et vérification systématique des protocoles avant chaque intervention.","frequency":"toujours","impact":"securite","proof":null}]'::jsonb, 98, 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-immo-clean-pro/logo.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-immo-clean-pro/cover.webp', ARRAY['https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-immo-clean-pro/g1.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-immo-clean-pro/g2.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-immo-clean-pro/g3.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-immo-clean-pro/g4.webp']::text[], ARRAY[]::text[], NULL, 'listed', 'pending', '[{"label":"Seed: site crawl","date":"2026-02-21T00:24:11.776Z","proof":"https://icpro.be/nos-services/nettoyage-industriel-liege/"},{"label":"Seed: city hint","date":"2026-02-21T00:24:11.776Z","proof":"Liège"},{"label":"Seed: industry category","date":"2026-02-21T00:24:11.776Z","proof":"Nettoyage"},{"label":"Seed: search keyword","date":"2026-02-21T00:24:11.776Z","proof":"Nettoyage"},{"label":"Extracted: city","date":"2026-02-21T00:24:11.776Z","proof":"Sprimont"},{"label":"BCE: mod97 valid","date":"2026-02-21T00:24:11.776Z","proof":"0715454875"},{"label":"Email extracted","date":"2026-02-21T00:24:11.776Z","proof":"info@icpro.be"},{"label":"LLM structured (mistral-small3.2:24b-instruct-q5_k_m)","date":"2026-02-21T00:24:11.776Z","proof":"confidence=80/100"},{"label":"Phone extracted","date":"2026-02-21T00:24:11.776Z","proof":"source=text"},{"label":"Images uploaded (Supabase Storage)","date":"2026-02-21T00:24:11.776Z","proof":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nettoyage-liege-immo-clean-pro/cover.webp"}]'::jsonb, 'published', FALSE, 'none', 'BE0715454875', 'Actif', 'BCE_CSV', '2026-02-21T00:20:27.049Z', '2026-02-21T00:20:27.049Z', 'IMMO CLEAN PRO', '2018-12-04', 'Personne morale', 'Société à responsabilité limitée', 'Situation normale', '2026-02-11', '2026-02-21T00:24:11.776Z'
WHERE NOT EXISTS (
  SELECT 1
  FROM companies c_existing
  WHERE c_existing.bce_number = 'BE0715454875'
    AND c_existing.slug <> 'nettoyage-liege-immo-clean-pro'
)
ON CONFLICT (slug) DO UPDATE SET market = EXCLUDED.market, name = EXCLUDED.name, industry = EXCLUDED.industry, tags = EXCLUDED.tags, services = EXCLUDED.services, pricing_model = EXCLUDED.pricing_model, budget_level = EXCLUDED.budget_level, price_indication = EXCLUDED.price_indication, devis_gratuit = EXCLUDED.devis_gratuit, city = EXCLUDED.city, postal_code = EXCLUDED.postal_code, country = EXCLUDED.country, address = EXCLUDED.address, website = EXCLUDED.website, facebook = EXCLUDED.facebook, instagram = EXCLUDED.instagram, linkedin = EXCLUDED.linkedin, tiktok = EXCLUDED.tiktok, contact_email = EXCLUDED.contact_email, contact_name = EXCLUDED.contact_name, contact_phone = EXCLUDED.contact_phone, public_phone = EXCLUDED.public_phone, founder_name = EXCLUDED.founder_name, founder_role = EXCLUDED.founder_role, founder_photo_url = EXCLUDED.founder_photo_url, ideal_zone = EXCLUDED.ideal_zone, languages = EXCLUDED.languages, availability = EXCLUDED.availability, opening_hours = EXCLUDED.opening_hours, google_rating = EXCLUDED.google_rating, google_reviews_count = EXCLUDED.google_reviews_count, google_reviews = EXCLUDED.google_reviews, company_faq = EXCLUDED.company_faq, description = EXCLUDED.description, seo_title = EXCLUDED.seo_title, seo_description = EXCLUDED.seo_description, og_title = EXCLUDED.og_title, og_description = EXCLUDED.og_description, seo_jsonld = EXCLUDED.seo_jsonld, seo_generated_at = EXCLUDED.seo_generated_at, seo_ai_used = EXCLUDED.seo_ai_used, seo_version = EXCLUDED.seo_version, seo_last_inputs_hash = EXCLUDED.seo_last_inputs_hash, why_company = EXCLUDED.why_company, why_entrepreneur = EXCLUDED.why_entrepreneur, emotional_need_label = EXCLUDED.emotional_need_label, rituals = EXCLUDED.rituals, ras_score = EXCLUDED.ras_score, logo_url = EXCLUDED.logo_url, cover_image_url = EXCLUDED.cover_image_url, gallery_urls = EXCLUDED.gallery_urls, video_urls = EXCLUDED.video_urls, video_embed_url = EXCLUDED.video_embed_url, tier = EXCLUDED.tier, verification_status = EXCLUDED.verification_status, verification_checks = EXCLUDED.verification_checks, content_status = EXCLUDED.content_status, is_claimed = EXCLUDED.is_claimed, opt_out_status = EXCLUDED.opt_out_status, bce_number = EXCLUDED.bce_number, bce_status = EXCLUDED.bce_status, bce_source = EXCLUDED.bce_source, bce_verified_at = EXCLUDED.bce_verified_at, bce_last_checked_at = EXCLUDED.bce_last_checked_at, bce_legal_name = EXCLUDED.bce_legal_name, founded_on = EXCLUDED.founded_on, bce_type_of_enterprise = EXCLUDED.bce_type_of_enterprise, bce_juridical_form = EXCLUDED.bce_juridical_form, bce_juridical_situation = EXCLUDED.bce_juridical_situation, bce_source_update_date = EXCLUDED.bce_source_update_date
WHERE companies.is_claimed IS NOT TRUE;

INSERT INTO companies (slug, market, name, industry, tags, services, pricing_model, budget_level, price_indication, devis_gratuit, city, postal_code, country, address, website, facebook, instagram, linkedin, tiktok, contact_email, contact_name, contact_phone, public_phone, founder_name, founder_role, founder_photo_url, ideal_zone, languages, availability, opening_hours, google_rating, google_reviews_count, google_reviews, company_faq, description, seo_title, seo_description, og_title, og_description, seo_jsonld, seo_generated_at, seo_ai_used, seo_version, seo_last_inputs_hash, why_company, why_entrepreneur, emotional_need_label, rituals, ras_score, logo_url, cover_image_url, gallery_urls, video_urls, video_embed_url, tier, verification_status, verification_checks, content_status, is_claimed, opt_out_status, bce_number, bce_status, bce_source, bce_verified_at, bce_last_checked_at, bce_legal_name, founded_on, bce_type_of_enterprise, bce_juridical_form, bce_juridical_situation, bce_source_update_date, created_at)
SELECT 'homme-a-tout-faire-liege-olivier-rouxhet', 'BE-WAL', 'Olivier Rouxhet', 'Homme à tout faire', ARRAY['travaux maison', 'maintenance domicile', 'petite rénovation', 'cloisons intérieures', 'entretien extérieur', 'devis gratuit', 'petits travaux d''intérieur', 'petits travaux d''extérieur', 'rénovation légère', 'maintenance technique', 'pose de cloisons']::text[], ARRAY['Petits travaux d''intérieur', 'Petits travaux d''extérieur', 'Rénovation légère', 'Maintenance technique', 'Pose de cloisons']::text[], 'sur_devis', NULL, NULL, TRUE, 'Sprimont', '4141', 'BE', 'Rue Troleu(LVG) 58', 'https://1hph.be/', 'https://www.facebook.com/people/1-Homme-pour-1-Heure-Entreprise-de-services-%C3%A0-domicile/100063700834989/?paipv=0&eav=AfYJq10mh7JoPui3JB7EWdIDKWnxGIBy-DnOEkgJLDRHHAK8CGdsjMfWXZ6AZgY077g&_rdr', NULL, NULL, NULL, 'orouxhet@1hph.be', NULL, '+32498231906', '+32498231906', NULL, NULL, NULL, 'Sprimont', ARRAY['français']::text[], NULL, NULL, NULL, NULL, NULL, '[{"question":"Proposez-vous des services de petits travaux d''intérieur?","answer":"Oui, cette prestation fait partie des interventions proposées, avec vérification sur place avant réalisation."},{"question":"Quelles communes sont couvertes en priorité?","answer":"Les interventions se déroulent à Sprimont et dans les communes avoisinantes, selon la nature de la demande."}]'::jsonb, 'Olivier Rouxhet, homme à tout faire basé à Sprimont, intervient pour des travaux d''intérieur et d''extérieur avec précision. Polyvalent, il s''adapte aux besoins spécifiques de chaque client, qu''il s''agisse de rénovation légère ou de maintenance technique. Son approche rigoureuse garantit un résultat soigné dans les délais convenus.', 'Homme à tout faire à Sprimont | Olivier Rouxhet', 'Interventions précises pour petits travaux et rénovation légère. Prise de mesures détaillée évite les erreurs. Disponible à Sprimont (4141).', 'Olivier Rouxhet - Homme à tout faire à Sprimont', 'Spécialiste des petits travaux d''intérieur et d''extérieur, pose de cloisons et maintenance technique à Sprimont. Devis gratuit.', '{"@context":"https://schema.org","@type":"LocalBusiness","name":"Olivier Rouxhet","description":"Homme à tout faire spécialisé dans les petits travaux et rénovation légère à Sprimont.","url":"https://revelys.be/entreprises/homme-a-tout-faire-liege-olivier-rouxhet","sameAs":["https://1hph.be/"],"address":{"@type":"PostalAddress","streetAddress":"Rue Troleu(LVG) 58","postalCode":"4141","addressLocality":"Sprimont","addressCountry":"BE"},"areaServed":{"@type":"City","name":"Sprimont"},"keywords":["travaux maison","maintenance domicile","petite rénovation","cloisons intérieures","entretien extérieur","devis gratuit","petits travaux d''intérieur","petits travaux d''extérieur","rénovation légère","maintenance technique","pose de cloisons"],"image":[{"@type":"ImageObject","url":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/homme-a-tout-faire-liege-olivier-rouxhet/logo.webp"}]}'::jsonb, '2026-02-21T00:26:18.559Z', TRUE, 5, '27891c5f19947c6cfe7ed7ffd14ef66872833a61e913c2da7fc35f71e1776758', 'Olivier Rouxhet se distingue par son approche sur mesure et sa disponibilité pour des interventions ponctuelles ou régulières. Son expertise polyvalente permet de résoudre efficacement les petits travaux souvent négligés.', NULL, 'Joie', '[{"name":"Prise de mesures précises","description":"Avant toute intervention, Olivier Rouxhet effectue une prise de mesures détaillée pour adapter parfaitement son travail aux dimensions du lieu.","frequency":"toujours","impact":"evite les erreurs de découpe ou d''assemblage","proof":null},{"name":"Nettoyage des outils après usage","description":"Chaque outil est nettoyé immédiatement après utilisation pour garantir son bon état et sa longévité.","frequency":"toujours","impact":"maintenance optimale du matériel","proof":null},{"name":"Vérification finale avec le client","description":"Un passage systématique en fin d''intervention pour s''assurer que le travail correspond aux attentes du client.","frequency":"toujours","impact":"satisfaction garantie","proof":null}]'::jsonb, 93, 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/homme-a-tout-faire-liege-olivier-rouxhet/logo.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/homme-a-tout-faire-liege-olivier-rouxhet/cover.webp', ARRAY['https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/homme-a-tout-faire-liege-olivier-rouxhet/g1.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/homme-a-tout-faire-liege-olivier-rouxhet/g2.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/homme-a-tout-faire-liege-olivier-rouxhet/g3.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/homme-a-tout-faire-liege-olivier-rouxhet/g4.webp']::text[], ARRAY[]::text[], NULL, 'listed', 'pending', '[{"label":"Seed: site crawl","date":"2026-02-21T00:27:03.916Z","proof":"https://1hph.be/"},{"label":"Seed: city hint","date":"2026-02-21T00:27:03.916Z","proof":"Liège"},{"label":"Seed: industry category","date":"2026-02-21T00:27:03.916Z","proof":"Homme à tout faire"},{"label":"Seed: search keyword","date":"2026-02-21T00:27:03.916Z","proof":"Homme à tout faire"},{"label":"Extracted: city","date":"2026-02-21T00:27:03.916Z","proof":"Louveigné"},{"label":"BCE: mod97 valid","date":"2026-02-21T00:27:03.916Z","proof":"0454885359"},{"label":"Email extracted","date":"2026-02-21T00:27:03.916Z","proof":"orouxhet@1hph.be"},{"label":"LLM structured (mistral-small3.2:24b-instruct-q5_k_m)","date":"2026-02-21T00:27:03.916Z","proof":"confidence=80/100"},{"label":"Phone extracted","date":"2026-02-21T00:27:03.916Z","proof":"source=tel_link"},{"label":"Images uploaded (Supabase Storage)","date":"2026-02-21T00:27:03.916Z","proof":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/homme-a-tout-faire-liege-olivier-rouxhet/cover.webp"}]'::jsonb, 'published', FALSE, 'none', 'BE0454885359', 'Actif', 'BCE_CSV', '2026-02-21T00:24:13.723Z', '2026-02-21T00:24:13.723Z', '1 homme pour 1 heure', '1995-04-05', 'Personne morale', 'Société à responsabilité limitée', 'Situation normale', '2026-02-11', '2026-02-21T00:27:03.916Z'
WHERE NOT EXISTS (
  SELECT 1
  FROM companies c_existing
  WHERE c_existing.bce_number = 'BE0454885359'
    AND c_existing.slug <> 'homme-a-tout-faire-liege-olivier-rouxhet'
)
ON CONFLICT (slug) DO UPDATE SET market = EXCLUDED.market, name = EXCLUDED.name, industry = EXCLUDED.industry, tags = EXCLUDED.tags, services = EXCLUDED.services, pricing_model = EXCLUDED.pricing_model, budget_level = EXCLUDED.budget_level, price_indication = EXCLUDED.price_indication, devis_gratuit = EXCLUDED.devis_gratuit, city = EXCLUDED.city, postal_code = EXCLUDED.postal_code, country = EXCLUDED.country, address = EXCLUDED.address, website = EXCLUDED.website, facebook = EXCLUDED.facebook, instagram = EXCLUDED.instagram, linkedin = EXCLUDED.linkedin, tiktok = EXCLUDED.tiktok, contact_email = EXCLUDED.contact_email, contact_name = EXCLUDED.contact_name, contact_phone = EXCLUDED.contact_phone, public_phone = EXCLUDED.public_phone, founder_name = EXCLUDED.founder_name, founder_role = EXCLUDED.founder_role, founder_photo_url = EXCLUDED.founder_photo_url, ideal_zone = EXCLUDED.ideal_zone, languages = EXCLUDED.languages, availability = EXCLUDED.availability, opening_hours = EXCLUDED.opening_hours, google_rating = EXCLUDED.google_rating, google_reviews_count = EXCLUDED.google_reviews_count, google_reviews = EXCLUDED.google_reviews, company_faq = EXCLUDED.company_faq, description = EXCLUDED.description, seo_title = EXCLUDED.seo_title, seo_description = EXCLUDED.seo_description, og_title = EXCLUDED.og_title, og_description = EXCLUDED.og_description, seo_jsonld = EXCLUDED.seo_jsonld, seo_generated_at = EXCLUDED.seo_generated_at, seo_ai_used = EXCLUDED.seo_ai_used, seo_version = EXCLUDED.seo_version, seo_last_inputs_hash = EXCLUDED.seo_last_inputs_hash, why_company = EXCLUDED.why_company, why_entrepreneur = EXCLUDED.why_entrepreneur, emotional_need_label = EXCLUDED.emotional_need_label, rituals = EXCLUDED.rituals, ras_score = EXCLUDED.ras_score, logo_url = EXCLUDED.logo_url, cover_image_url = EXCLUDED.cover_image_url, gallery_urls = EXCLUDED.gallery_urls, video_urls = EXCLUDED.video_urls, video_embed_url = EXCLUDED.video_embed_url, tier = EXCLUDED.tier, verification_status = EXCLUDED.verification_status, verification_checks = EXCLUDED.verification_checks, content_status = EXCLUDED.content_status, is_claimed = EXCLUDED.is_claimed, opt_out_status = EXCLUDED.opt_out_status, bce_number = EXCLUDED.bce_number, bce_status = EXCLUDED.bce_status, bce_source = EXCLUDED.bce_source, bce_verified_at = EXCLUDED.bce_verified_at, bce_last_checked_at = EXCLUDED.bce_last_checked_at, bce_legal_name = EXCLUDED.bce_legal_name, founded_on = EXCLUDED.founded_on, bce_type_of_enterprise = EXCLUDED.bce_type_of_enterprise, bce_juridical_form = EXCLUDED.bce_juridical_form, bce_juridical_situation = EXCLUDED.bce_juridical_situation, bce_source_update_date = EXCLUDED.bce_source_update_date
WHERE companies.is_claimed IS NOT TRUE;

INSERT INTO companies (slug, market, name, industry, tags, services, pricing_model, budget_level, price_indication, devis_gratuit, city, postal_code, country, address, website, facebook, instagram, linkedin, tiktok, contact_email, contact_name, contact_phone, public_phone, founder_name, founder_role, founder_photo_url, ideal_zone, languages, availability, opening_hours, google_rating, google_reviews_count, google_reviews, company_faq, description, seo_title, seo_description, og_title, og_description, seo_jsonld, seo_generated_at, seo_ai_used, seo_version, seo_last_inputs_hash, why_company, why_entrepreneur, emotional_need_label, rituals, ras_score, logo_url, cover_image_url, gallery_urls, video_urls, video_embed_url, tier, verification_status, verification_checks, content_status, is_claimed, opt_out_status, bce_number, bce_status, bce_source, bce_verified_at, bce_last_checked_at, bce_legal_name, founded_on, bce_type_of_enterprise, bce_juridical_form, bce_juridical_situation, bce_source_update_date, created_at)
SELECT 'petits-travaux-liege-federation-asd', 'BE-WAL', 'Fédération ASD', 'Homme à tout faire', ARRAY['mobilité réduite', 'sécurité logement', 'jardinage entretien', 'peinture tapissage', 'réparation plomberie', 'intervention sociale', 'domicile adapté', 'travaux manuels', 'adaptation du logement', 'entretien des espaces extérieurs', 'rafraîchissement des intérieurs', 'réparations simples (plomberie']::text[], ARRAY['Adaptation du logement', 'Entretien des espaces extérieurs', 'Rafraîchissement des intérieurs', 'Réparations simples (plomberie', 'Électricité', 'Maçonnerie)']::text[], 'forfait', NULL, NULL, TRUE, 'Grâce-hollogne', '4460', 'BE', 'Rue du Fort 7 boite 2', 'https://liege.aideetsoinsadomicile.be/', 'https://www.facebook.com/asdliegehuywaremme', 'https://www.instagram.com/asdliege/', 'https://www.linkedin.com/company/aide-soins-a-domicile-li-ge-huy-waremme/', NULL, 'dpo@fasd.bepar', NULL, '+3227352424', '+3227352424', NULL, NULL, NULL, 'Grâce-hollogne', ARRAY['français']::text[], '24h/24 - 7j/7', NULL, NULL, NULL, NULL, '[{"question":"Proposez-vous des services d''adaptation du logement?","answer":"Oui, cette prestation fait partie des interventions proposées, avec vérification sur place avant réalisation."},{"question":"Intervenez-vous au-delà de la zone principale?","answer":"La zone principale est Grâce-hollogne. Les interventions peuvent s''étendre aux communes limitrophes selon le besoin."},{"question":"Comment contrôlez-vous la qualité de votre travail?","answer":"Des vérifications sont effectuées à chaque étape de l''intervention, avec un contrôle final avant la clôture du chantier."},{"question":"Gérez-vous les interventions urgentes?","answer":"Oui, l''organisation permet de répondre aux demandes urgentes (24h/24 - 7j/7)."},{"question":"Qu''est-ce qui vous distingue sur votre marche local?","answer":"La Fédération ASD se distingue par son approche humaine et professionnelle, combinant expertise technique et sens du service pour améliorer le cadre de vie des particuliers. Leur polyvalence permet d''intervenir sur une large gamme de travaux avec un seul interlocuteur."}]'::jsonb, 'La Fédération ASD de Grâce-Hollogne propose des services d''hommes à tout faire polyvalents, adaptés aux besoins spécifiques des particuliers. Leurs interventions couvrent la réparation, l''entretien et l''amélioration du cadre de vie, avec une approche humaine et professionnelle. L''équipe s''engage à offrir des solutions sur mesure pour favoriser le bien-être au domicile.', 'Petits travaux à Grâce-hollogne | Fédération ASD', 'Interventions adaptées pour personnes à mobilité réduite. Service de garde 24/7 pour urgences. Spécialistes locaux en petits travaux et adaptation du logement.', 'Fédération ASD - Petits travaux à Grâce-hollogne', 'Entreprise spécialisée dans les petits travaux, l''adaptation des logements et l''entretien des espaces extérieurs à Grâce-hollogne. Devis gratuit sur demande.', '{"@context":"https://schema.org","@type":"LocalBusiness","name":"Fédération ASD","description":"Petits travaux, adaptation de logement et entretien des espaces extérieurs à Grâce-hollogne.","url":"https://revelys.be/entreprises/petits-travaux-liege-federation-asd","sameAs":["https://liege.aideetsoinsadomicile.be/"],"address":{"@type":"PostalAddress","streetAddress":"Rue du Fort 7 boite 2","postalCode":"4460","addressLocality":"Grâce-hollogne","addressCountry":"BE"},"areaServed":{"@type":"City","name":"Grâce-hollogne"},"keywords":["mobilité réduite","sécurité logement","jardinage entretien","peinture tapissage","réparation plomberie","intervention sociale","domicile adapté","travaux manuels","adaptation du logement","entretien des espaces extérieurs","rafraîchissement des intérieurs","réparations simples (plomberie","Adaptation du logement","Entretien des espaces extérieurs","Rafraîchissement des intérieurs","Réparations simples (plomberie","Électricité","Maçonnerie"],"image":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/petits-travaux-liege-federation-asd/logo.webp","logo":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/petits-travaux-liege-federation-asd/logo.webp"}'::jsonb, '2026-02-21T00:36:17.752Z', TRUE, 5, '541447083ebbca7885a7e97152351813415713f966647790af9f7b6bfe486254', 'La Fédération ASD se distingue par son approche humaine et professionnelle, combinant expertise technique et sens du service pour améliorer le cadre de vie des particuliers. Leur polyvalence permet d''intervenir sur une large gamme de travaux avec un seul interlocuteur.', NULL, 'Durabilité', '[{"name":"Évaluation préalable","description":"Un responsable se rend au domicile pour évaluer les besoins, vérifier le matériel disponible et établir un devis gratuit avant toute intervention.","frequency":"Selon le besoin","impact":"Améliore la fiabilité et la qualité d''exécution.","proof":null},{"name":"Planification flexible","description":"Les interventions sont programmées selon la disponibilité du client, avec possibilité de définir une périodicité pour les travaux récurrents comme l''entretien de jardin.","frequency":"Selon le besoin","impact":"Améliore la fiabilité et la qualité d''exécution.","proof":null},{"name":"Permanence 24/7","description":"Un service de garde téléphonique est disponible en dehors des heures d''ouverture pour les urgences, assurant une réactivité constante.","frequency":"Selon le besoin","impact":"Améliore la fiabilité et la qualité d''exécution.","proof":null}]'::jsonb, 98, 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/petits-travaux-liege-federation-asd/logo.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/petits-travaux-liege-federation-asd/cover.webp', ARRAY['https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/petits-travaux-liege-federation-asd/g1.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/petits-travaux-liege-federation-asd/g2.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/petits-travaux-liege-federation-asd/g3.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/petits-travaux-liege-federation-asd/g4.webp']::text[], ARRAY[]::text[], NULL, 'listed', 'pending', '[{"label":"Seed: site crawl","date":"2026-02-21T00:37:14.742Z","proof":"https://liege.aideetsoinsadomicile.be/service/ouvriers-polyvalents-sociaux/"},{"label":"Seed: city hint","date":"2026-02-21T00:37:14.742Z","proof":"Liège"},{"label":"Seed: industry category","date":"2026-02-21T00:37:14.742Z","proof":"Homme à tout faire"},{"label":"Seed: search keyword","date":"2026-02-21T00:37:14.742Z","proof":"petits travaux"},{"label":"Extracted: city","date":"2026-02-21T00:37:14.742Z","proof":"Grâce-hollogne"},{"label":"BCE: mod97 valid","date":"2026-02-21T00:37:14.742Z","proof":"0462309126"},{"label":"Email extracted","date":"2026-02-21T00:37:14.742Z","proof":"dpo@fasd.bepar"},{"label":"LLM structured (mistral-small3.2:24b-instruct-q5_k_m)","date":"2026-02-21T00:37:14.742Z","proof":"confidence=80/100"},{"label":"Phone extracted","date":"2026-02-21T00:37:14.742Z","proof":"source=jsonld"},{"label":"Images uploaded (Supabase Storage)","date":"2026-02-21T00:37:14.742Z","proof":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/petits-travaux-liege-federation-asd/cover.webp"}]'::jsonb, 'published', FALSE, 'none', 'BE0462309126', 'Actif', 'BCE_CSV', '2026-02-21T00:29:56.421Z', '2026-02-21T00:29:56.421Z', 'Aide et Soins à Domicile Liège-Huy-Waremme', '1997-10-17', 'Personne morale', 'Association sans but lucratif', 'Situation normale', '2026-02-11', '2026-02-21T00:37:14.742Z'
WHERE NOT EXISTS (
  SELECT 1
  FROM companies c_existing
  WHERE c_existing.bce_number = 'BE0462309126'
    AND c_existing.slug <> 'petits-travaux-liege-federation-asd'
)
ON CONFLICT (slug) DO UPDATE SET market = EXCLUDED.market, name = EXCLUDED.name, industry = EXCLUDED.industry, tags = EXCLUDED.tags, services = EXCLUDED.services, pricing_model = EXCLUDED.pricing_model, budget_level = EXCLUDED.budget_level, price_indication = EXCLUDED.price_indication, devis_gratuit = EXCLUDED.devis_gratuit, city = EXCLUDED.city, postal_code = EXCLUDED.postal_code, country = EXCLUDED.country, address = EXCLUDED.address, website = EXCLUDED.website, facebook = EXCLUDED.facebook, instagram = EXCLUDED.instagram, linkedin = EXCLUDED.linkedin, tiktok = EXCLUDED.tiktok, contact_email = EXCLUDED.contact_email, contact_name = EXCLUDED.contact_name, contact_phone = EXCLUDED.contact_phone, public_phone = EXCLUDED.public_phone, founder_name = EXCLUDED.founder_name, founder_role = EXCLUDED.founder_role, founder_photo_url = EXCLUDED.founder_photo_url, ideal_zone = EXCLUDED.ideal_zone, languages = EXCLUDED.languages, availability = EXCLUDED.availability, opening_hours = EXCLUDED.opening_hours, google_rating = EXCLUDED.google_rating, google_reviews_count = EXCLUDED.google_reviews_count, google_reviews = EXCLUDED.google_reviews, company_faq = EXCLUDED.company_faq, description = EXCLUDED.description, seo_title = EXCLUDED.seo_title, seo_description = EXCLUDED.seo_description, og_title = EXCLUDED.og_title, og_description = EXCLUDED.og_description, seo_jsonld = EXCLUDED.seo_jsonld, seo_generated_at = EXCLUDED.seo_generated_at, seo_ai_used = EXCLUDED.seo_ai_used, seo_version = EXCLUDED.seo_version, seo_last_inputs_hash = EXCLUDED.seo_last_inputs_hash, why_company = EXCLUDED.why_company, why_entrepreneur = EXCLUDED.why_entrepreneur, emotional_need_label = EXCLUDED.emotional_need_label, rituals = EXCLUDED.rituals, ras_score = EXCLUDED.ras_score, logo_url = EXCLUDED.logo_url, cover_image_url = EXCLUDED.cover_image_url, gallery_urls = EXCLUDED.gallery_urls, video_urls = EXCLUDED.video_urls, video_embed_url = EXCLUDED.video_embed_url, tier = EXCLUDED.tier, verification_status = EXCLUDED.verification_status, verification_checks = EXCLUDED.verification_checks, content_status = EXCLUDED.content_status, is_claimed = EXCLUDED.is_claimed, opt_out_status = EXCLUDED.opt_out_status, bce_number = EXCLUDED.bce_number, bce_status = EXCLUDED.bce_status, bce_source = EXCLUDED.bce_source, bce_verified_at = EXCLUDED.bce_verified_at, bce_last_checked_at = EXCLUDED.bce_last_checked_at, bce_legal_name = EXCLUDED.bce_legal_name, founded_on = EXCLUDED.founded_on, bce_type_of_enterprise = EXCLUDED.bce_type_of_enterprise, bce_juridical_form = EXCLUDED.bce_juridical_form, bce_juridical_situation = EXCLUDED.bce_juridical_situation, bce_source_update_date = EXCLUDED.bce_source_update_date
WHERE companies.is_claimed IS NOT TRUE;

INSERT INTO companies (slug, market, name, industry, tags, services, pricing_model, budget_level, price_indication, devis_gratuit, city, postal_code, country, address, website, facebook, instagram, linkedin, tiktok, contact_email, contact_name, contact_phone, public_phone, founder_name, founder_role, founder_photo_url, ideal_zone, languages, availability, opening_hours, google_rating, google_reviews_count, google_reviews, company_faq, description, seo_title, seo_description, og_title, og_description, seo_jsonld, seo_generated_at, seo_ai_used, seo_version, seo_last_inputs_hash, why_company, why_entrepreneur, emotional_need_label, rituals, ras_score, logo_url, cover_image_url, gallery_urls, video_urls, video_embed_url, tier, verification_status, verification_checks, content_status, is_claimed, opt_out_status, bce_number, bce_status, bce_source, bce_verified_at, bce_last_checked_at, bce_legal_name, founded_on, bce_type_of_enterprise, bce_juridical_form, bce_juridical_situation, bce_source_update_date, created_at)
SELECT 'petits-travaux-liege-maison-liegeoise', 'BE-WAL', 'Maison Liégeoise', 'Homme à tout faire', ARRAY['logement social liège', 'urgence technique', 'chauffage défectueux', 'problème électrique', 'canalisation bouchée', 'intervention rapide', 'locataires protégés', 'réparation de fuites', 'entretien du chauffe-eau', 'débouchage de canalisations', 'remplacement de serrures', 'réparation d''installations électriques']::text[], ARRAY['Réparation de fuites', 'Entretien du chauffe-eau', 'Débouchage de canalisations', 'Remplacement de serrures', 'Réparation d''installations électriques']::text[], 'a_partir_de', NULL, NULL, NULL, 'Liège', '4020', 'BE', 'Parvis-des-Ecoliers 1', 'https://www.maisonliegeoise.be/', 'https://www.facebook.com/LaMaisonLiegeoise', 'https://www.instagram.com/lamaisonliegeoise/', 'https://www.linkedin.com/company/la-maison-liegeoise', NULL, 'adressedirection@maisonliegeoise.be', NULL, '+3243418801', '+3243418801', 'Arnaud Abinet', 'Fondateur', NULL, 'Liège', ARRAY['français']::text[], 'Du lundi au vendredi', '[{"day":"lundi","open":"09:00","close":"12:00","isClosed":false},{"day":"mercredi","open":"14:00","close":"16:00","isClosed":false},{"day":"jeudi","open":"09:00","close":"12:00","isClosed":false}]'::jsonb, NULL, NULL, NULL, '[{"question":"Proposez-vous des services de réparation de fuites?","answer":"Oui, cette prestation fait partie des interventions proposées, avec vérification sur place avant réalisation."},{"question":"Quelles communes sont couvertes en priorité?","answer":"Les interventions se déroulent à Liège et dans les communes avoisinantes, selon la nature de la demande."}]'::jsonb, 'La Maison Liégeoise est une entreprise spécialisée dans l''entretien et la réparation des logements sociaux à Liège. Son équipe intervient sur divers problèmes techniques, garantissant un habitat sûr et fonctionnel pour ses locataires. L''entreprise s''engage à résoudre rapidement les demandes grâce à son service dédié.', 'Petits travaux à Liège | Maison Liégeoise', 'Intervention rapide pour urgences techniques en logement social. Tests de pression systématiques pour éviter les récidives. Spécialiste des réparations électriques et canalisations.', 'Maison Liégeoise - Petits travaux à Liège', 'Entreprise spécialisée dans la réparation d''urgences techniques pour logements sociaux. Interventions rapides et vérifications de sécurité rigoureuses.', '{"@context":"https://schema.org","@type":"LocalBusiness","name":"Maison Liégeoise","description":"Spécialiste des petits travaux d''urgence pour logements sociaux à Liège.","url":"https://revelys.be/entreprises/petits-travaux-liege-maison-liegeoise","sameAs":["https://www.maisonliegeoise.be/"],"address":{"@type":"PostalAddress","streetAddress":"Parvis-des-Ecoliers 1","postalCode":"4020","addressLocality":"Liège","addressCountry":"BE"},"areaServed":"Liège","keywords":["logement social liège","urgence technique","chauffage défectueux","problème électrique","canalisation bouchée","intervention rapide","locataires protégés","réparation de fuites","entretien du chauffe-eau","débouchage de canalisations","remplacement de serrures","réparation d''installations électriques"],"image":["https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/petits-travaux-liege-maison-liegeoise/logo.webp","https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/petits-travaux-liege-maison-liegeoise/cover.webp"]}'::jsonb, '2026-02-21T00:39:52.960Z', TRUE, 5, '87ae91d4ebd112c05822f8bf7b8fe2a4dcd8f2b73d67a1264393ea56e0747215', 'La Maison Liégeoise se distingue par son expertise dans la gestion des logements sociaux et sa réactivité face aux urgences techniques. Son équipe intervient rapidement pour garantir la sécurité et le confort des locataires.', NULL, 'Durabilité', '[{"name":"Vérification systématique du tableau électrique","description":"Avant toute intervention, l''équipe vérifie l''état du tableau électrique pour éviter tout risque d''électrocution ou de surcharge.","frequency":"Toujours","impact":"Sécurité accrue des installations","proof":null},{"name":"Nettoyage après réparation","description":"Après chaque intervention, les techniciens nettoient la zone de travail pour laisser les lieux propres et fonctionnels.","frequency":"Toujours","impact":"Satisfaction des locataires","proof":null},{"name":"Test de pression sur les canalisations","description":"Pour les réparations de fuites, un test de pression est effectué pour s''assurer de l''étanchéité du système.","frequency":"Toujours","impact":"Prévention des récidives","proof":null}]'::jsonb, 93, 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/petits-travaux-liege-maison-liegeoise/logo.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/petits-travaux-liege-maison-liegeoise/cover.webp', ARRAY['https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/petits-travaux-liege-maison-liegeoise/g1.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/petits-travaux-liege-maison-liegeoise/g2.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/petits-travaux-liege-maison-liegeoise/g3.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/petits-travaux-liege-maison-liegeoise/g4.webp']::text[], ARRAY[]::text[], NULL, 'listed', 'pending', '[{"label":"Seed: site crawl","date":"2026-02-21T00:40:42.194Z","proof":"https://www.maisonliegeoise.be/data/2023-06/Services%20et%20petits%20travaux%20-%20asbls%20et%20entreprises.pdf"},{"label":"Seed: city hint","date":"2026-02-21T00:40:42.194Z","proof":"Liège"},{"label":"Seed: industry category","date":"2026-02-21T00:40:42.194Z","proof":"Homme à tout faire"},{"label":"Seed: search keyword","date":"2026-02-21T00:40:42.194Z","proof":"petits travaux"},{"label":"Extracted: city","date":"2026-02-21T00:40:42.194Z","proof":"Liège"},{"label":"BCE: mod97 valid","date":"2026-02-21T00:40:42.194Z","proof":"0402416772"},{"label":"Email extracted","date":"2026-02-21T00:40:42.194Z","proof":"adressedirection@maisonliegeoise.be"},{"label":"LLM structured (mistral-small3.2:24b-instruct-q5_k_m)","date":"2026-02-21T00:40:42.194Z","proof":"confidence=80/100"},{"label":"Phone extracted","date":"2026-02-21T00:40:42.194Z","proof":"source=tel_link"},{"label":"Images uploaded (Supabase Storage)","date":"2026-02-21T00:40:42.194Z","proof":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/petits-travaux-liege-maison-liegeoise/cover.webp"}]'::jsonb, 'published', FALSE, 'none', 'BE0402416772', 'Actif', 'BCE_CSV', '2026-02-21T00:37:17.555Z', '2026-02-21T00:37:17.555Z', 'LA MAISON LIEGEOISE', '1921-01-15', 'Personne morale', 'Société à responsabilité limitée', 'Situation normale', '2026-02-11', '2026-02-21T00:40:42.194Z'
WHERE NOT EXISTS (
  SELECT 1
  FROM companies c_existing
  WHERE c_existing.bce_number = 'BE0402416772'
    AND c_existing.slug <> 'petits-travaux-liege-maison-liegeoise'
)
ON CONFLICT (slug) DO UPDATE SET market = EXCLUDED.market, name = EXCLUDED.name, industry = EXCLUDED.industry, tags = EXCLUDED.tags, services = EXCLUDED.services, pricing_model = EXCLUDED.pricing_model, budget_level = EXCLUDED.budget_level, price_indication = EXCLUDED.price_indication, devis_gratuit = EXCLUDED.devis_gratuit, city = EXCLUDED.city, postal_code = EXCLUDED.postal_code, country = EXCLUDED.country, address = EXCLUDED.address, website = EXCLUDED.website, facebook = EXCLUDED.facebook, instagram = EXCLUDED.instagram, linkedin = EXCLUDED.linkedin, tiktok = EXCLUDED.tiktok, contact_email = EXCLUDED.contact_email, contact_name = EXCLUDED.contact_name, contact_phone = EXCLUDED.contact_phone, public_phone = EXCLUDED.public_phone, founder_name = EXCLUDED.founder_name, founder_role = EXCLUDED.founder_role, founder_photo_url = EXCLUDED.founder_photo_url, ideal_zone = EXCLUDED.ideal_zone, languages = EXCLUDED.languages, availability = EXCLUDED.availability, opening_hours = EXCLUDED.opening_hours, google_rating = EXCLUDED.google_rating, google_reviews_count = EXCLUDED.google_reviews_count, google_reviews = EXCLUDED.google_reviews, company_faq = EXCLUDED.company_faq, description = EXCLUDED.description, seo_title = EXCLUDED.seo_title, seo_description = EXCLUDED.seo_description, og_title = EXCLUDED.og_title, og_description = EXCLUDED.og_description, seo_jsonld = EXCLUDED.seo_jsonld, seo_generated_at = EXCLUDED.seo_generated_at, seo_ai_used = EXCLUDED.seo_ai_used, seo_version = EXCLUDED.seo_version, seo_last_inputs_hash = EXCLUDED.seo_last_inputs_hash, why_company = EXCLUDED.why_company, why_entrepreneur = EXCLUDED.why_entrepreneur, emotional_need_label = EXCLUDED.emotional_need_label, rituals = EXCLUDED.rituals, ras_score = EXCLUDED.ras_score, logo_url = EXCLUDED.logo_url, cover_image_url = EXCLUDED.cover_image_url, gallery_urls = EXCLUDED.gallery_urls, video_urls = EXCLUDED.video_urls, video_embed_url = EXCLUDED.video_embed_url, tier = EXCLUDED.tier, verification_status = EXCLUDED.verification_status, verification_checks = EXCLUDED.verification_checks, content_status = EXCLUDED.content_status, is_claimed = EXCLUDED.is_claimed, opt_out_status = EXCLUDED.opt_out_status, bce_number = EXCLUDED.bce_number, bce_status = EXCLUDED.bce_status, bce_source = EXCLUDED.bce_source, bce_verified_at = EXCLUDED.bce_verified_at, bce_last_checked_at = EXCLUDED.bce_last_checked_at, bce_legal_name = EXCLUDED.bce_legal_name, founded_on = EXCLUDED.founded_on, bce_type_of_enterprise = EXCLUDED.bce_type_of_enterprise, bce_juridical_form = EXCLUDED.bce_juridical_form, bce_juridical_situation = EXCLUDED.bce_juridical_situation, bce_source_update_date = EXCLUDED.bce_source_update_date
WHERE companies.is_claimed IS NOT TRUE;

INSERT INTO companies (slug, market, name, industry, tags, services, pricing_model, budget_level, price_indication, devis_gratuit, city, postal_code, country, address, website, facebook, instagram, linkedin, tiktok, contact_email, contact_name, contact_phone, public_phone, founder_name, founder_role, founder_photo_url, ideal_zone, languages, availability, opening_hours, google_rating, google_reviews_count, google_reviews, company_faq, description, seo_title, seo_description, og_title, og_description, seo_jsonld, seo_generated_at, seo_ai_used, seo_version, seo_last_inputs_hash, why_company, why_entrepreneur, emotional_need_label, rituals, ras_score, logo_url, cover_image_url, gallery_urls, video_urls, video_embed_url, tier, verification_status, verification_checks, content_status, is_claimed, opt_out_status, bce_number, bce_status, bce_source, bce_verified_at, bce_last_checked_at, bce_legal_name, founded_on, bce_type_of_enterprise, bce_juridical_form, bce_juridical_situation, bce_source_update_date, created_at)
SELECT 'petits-travaux-liege-aqualia-services', 'BE-WAL', 'Aqualia-Services', 'Homme à tout faire', ARRAY['petits travaux maison', 'entretien jardin', 'garde animaux', 'aide administrative', 'interventions locales', 'chèques ale', 'petits travaux d''entretien et de réparation au domicile', 'garde et soins apportés aux animaux domestiques', 'aide pour la garde ou l''accompagnement de personnes malades ou d''enfants', 'aide pour accomplir des formalités administratives', 'aide au petit entretien du jardin']::text[], ARRAY['Petits travaux d''entretien et de réparation au domicile', 'Garde et soins apportés aux animaux domestiques', 'Aide pour la garde ou l''accompagnement de personnes malades ou d''enfants', 'Aide pour accomplir des formalités administratives', 'Aide au petit entretien du jardin']::text[], NULL, NULL, NULL, NULL, 'Aywaille', '4920', 'BE', 'Rue de la Heid 8', 'https://www.aqualia-services.com/', 'https://www.facebook.com/Aqualiaservices/', NULL, NULL, NULL, 'items.info@aqualia-services.com', NULL, '+3242635015', '+3242635015', NULL, NULL, NULL, 'Aywaille', ARRAY['français']::text[], 'Du lundi au vendredi', '[{"day":"vendredi","open":"09:00","close":"12:00","isClosed":false}]'::jsonb, NULL, NULL, NULL, '[{"question":"Proposez-vous des services de petits travaux d''entretien et de réparation au domicile?","answer":"Oui, cette prestation fait partie des interventions proposées, avec vérification sur place avant réalisation."},{"question":"Quelles communes sont couvertes en priorité?","answer":"Les interventions se déroulent à Aywaille et dans les communes avoisinantes, selon la nature de la demande."}]'::jsonb, 'Aqualia-Services propose des interventions polyvalentes pour les particuliers à Aywaille et ses alentours. Spécialisée dans les petits travaux domestiques via le système de Chèques ALE, cette structure accompagne les habitants avec des solutions pratiques pour l''entretien du logement ou du jardin. L''entreprise s''appuie sur une équipe locale formée régulièrement.', 'Petits travaux à Aywaille | Aqualia-Services', 'Interventions locales pour petits travaux et entretien jardin. Ancrage local à Aywaille avec des solutions adaptées aux budgets particuliers.', 'Aqualia-Services - Petits travaux et services à domicile à Aywaille', 'Entreprise locale proposant petits travaux, garde d''animaux, aide administrative et entretien de jardin. Interventions soignées et transparentes.', '{"@context":"https://schema.org","@type":"LocalBusiness","name":"Aqualia-Services","description":"Petits travaux, garde d''animaux et aide administrative à domicile.","url":"https://revelys.be/entreprises/petits-travaux-liege-aqualia-services","sameAs":["https://www.aqualia-services.com/"],"address":{"@type":"PostalAddress","streetAddress":"Rue de la Heid 8","postalCode":"4920","addressLocality":"Aywaille","addressCountry":"BE"},"areaServed":"Aywaille","keywords":["petits travaux maison","entretien jardin","garde animaux","aide administrative","interventions locales","chèques ale","petits travaux d''entretien et de réparation au domicile","garde et soins apportés aux animaux domestiques","aide pour la garde ou l''accompagnement de personnes malades ou d''enfants","aide pour accomplir des formalités administratives","aide au petit entretien du jardin"],"image":["https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/petits-travaux-liege-aqualia-services/logo.webp","https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/petits-travaux-liege-aqualia-services/cover.webp"]}'::jsonb, '2026-02-21T00:51:23.027Z', TRUE, 5, 'd3cd554f76c0d4a9973727bb9e91d25721133e81ea506533799b1ca07fc1b2cb', 'Aqualia-Services se distingue par son ancrage local et sa connaissance des besoins spécifiques de la commune d''Aywaille. L''entreprise propose des solutions concrètes pour les tâches du quotidien, avec une approche flexible adaptée aux budgets des particuliers.', NULL, 'Durabilité', '[{"name":"Vérification des outils avant intervention","description":"Chaque intervenant contrôle l''état de ses outils et équipements avant de commencer les travaux pour garantir la sécurité et l''efficacité.","frequency":"toujours","impact":"sécurité","proof":null},{"name":"Nettoyage des espaces après intervention","description":"Les intervenants laissent les lieux impeccables en ramassant tous les déchets et en rangeant le matériel utilisé.","frequency":"toujours","impact":"propreté","proof":null},{"name":"Explication des travaux réalisés","description":"L''intervenant explique clairement au client ce qui a été fait et donne des conseils pour l''entretien futur.","frequency":"toujours","impact":"transparence","proof":null}]'::jsonb, 89, 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/petits-travaux-liege-aqualia-services/logo.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/petits-travaux-liege-aqualia-services/cover.webp', ARRAY['https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/petits-travaux-liege-aqualia-services/g1.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/petits-travaux-liege-aqualia-services/g2.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/petits-travaux-liege-aqualia-services/g3.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/petits-travaux-liege-aqualia-services/g4.webp']::text[], ARRAY[]::text[], NULL, 'listed', 'pending', '[{"label":"Seed: site crawl","date":"2026-02-21T00:52:11.126Z","proof":"https://www.aqualia-services.com/petits-travaux"},{"label":"Seed: city hint","date":"2026-02-21T00:52:11.126Z","proof":"Liège"},{"label":"Seed: industry category","date":"2026-02-21T00:52:11.126Z","proof":"Homme à tout faire"},{"label":"Seed: search keyword","date":"2026-02-21T00:52:11.126Z","proof":"petits travaux"},{"label":"Extracted: city","date":"2026-02-21T00:52:11.126Z","proof":"Liège"},{"label":"BCE: mod97 valid","date":"2026-02-21T00:52:11.126Z","proof":"0455386987"},{"label":"Email extracted","date":"2026-02-21T00:52:11.126Z","proof":"items.info@aqualia-services.com"},{"label":"LLM structured (mistral-small3.2:24b-instruct-q5_k_m)","date":"2026-02-21T00:52:11.126Z","proof":"confidence=80/100"},{"label":"Phone extracted","date":"2026-02-21T00:52:11.126Z","proof":"source=text"},{"label":"Images uploaded (Supabase Storage)","date":"2026-02-21T00:52:11.126Z","proof":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/petits-travaux-liege-aqualia-services/cover.webp"}]'::jsonb, 'published', FALSE, 'none', 'BE0455386987', 'Actif', 'BCE_CSV', '2026-02-21T00:48:00.601Z', '2026-02-21T00:48:00.601Z', 'Agence locale pour l''Emploi de Aywaille', '1995-03-14', 'Personne morale', 'Association sans but lucratif', 'Situation normale', '2026-02-11', '2026-02-21T00:52:11.126Z'
WHERE NOT EXISTS (
  SELECT 1
  FROM companies c_existing
  WHERE c_existing.bce_number = 'BE0455386987'
    AND c_existing.slug <> 'petits-travaux-liege-aqualia-services'
)
ON CONFLICT (slug) DO UPDATE SET market = EXCLUDED.market, name = EXCLUDED.name, industry = EXCLUDED.industry, tags = EXCLUDED.tags, services = EXCLUDED.services, pricing_model = EXCLUDED.pricing_model, budget_level = EXCLUDED.budget_level, price_indication = EXCLUDED.price_indication, devis_gratuit = EXCLUDED.devis_gratuit, city = EXCLUDED.city, postal_code = EXCLUDED.postal_code, country = EXCLUDED.country, address = EXCLUDED.address, website = EXCLUDED.website, facebook = EXCLUDED.facebook, instagram = EXCLUDED.instagram, linkedin = EXCLUDED.linkedin, tiktok = EXCLUDED.tiktok, contact_email = EXCLUDED.contact_email, contact_name = EXCLUDED.contact_name, contact_phone = EXCLUDED.contact_phone, public_phone = EXCLUDED.public_phone, founder_name = EXCLUDED.founder_name, founder_role = EXCLUDED.founder_role, founder_photo_url = EXCLUDED.founder_photo_url, ideal_zone = EXCLUDED.ideal_zone, languages = EXCLUDED.languages, availability = EXCLUDED.availability, opening_hours = EXCLUDED.opening_hours, google_rating = EXCLUDED.google_rating, google_reviews_count = EXCLUDED.google_reviews_count, google_reviews = EXCLUDED.google_reviews, company_faq = EXCLUDED.company_faq, description = EXCLUDED.description, seo_title = EXCLUDED.seo_title, seo_description = EXCLUDED.seo_description, og_title = EXCLUDED.og_title, og_description = EXCLUDED.og_description, seo_jsonld = EXCLUDED.seo_jsonld, seo_generated_at = EXCLUDED.seo_generated_at, seo_ai_used = EXCLUDED.seo_ai_used, seo_version = EXCLUDED.seo_version, seo_last_inputs_hash = EXCLUDED.seo_last_inputs_hash, why_company = EXCLUDED.why_company, why_entrepreneur = EXCLUDED.why_entrepreneur, emotional_need_label = EXCLUDED.emotional_need_label, rituals = EXCLUDED.rituals, ras_score = EXCLUDED.ras_score, logo_url = EXCLUDED.logo_url, cover_image_url = EXCLUDED.cover_image_url, gallery_urls = EXCLUDED.gallery_urls, video_urls = EXCLUDED.video_urls, video_embed_url = EXCLUDED.video_embed_url, tier = EXCLUDED.tier, verification_status = EXCLUDED.verification_status, verification_checks = EXCLUDED.verification_checks, content_status = EXCLUDED.content_status, is_claimed = EXCLUDED.is_claimed, opt_out_status = EXCLUDED.opt_out_status, bce_number = EXCLUDED.bce_number, bce_status = EXCLUDED.bce_status, bce_source = EXCLUDED.bce_source, bce_verified_at = EXCLUDED.bce_verified_at, bce_last_checked_at = EXCLUDED.bce_last_checked_at, bce_legal_name = EXCLUDED.bce_legal_name, founded_on = EXCLUDED.founded_on, bce_type_of_enterprise = EXCLUDED.bce_type_of_enterprise, bce_juridical_form = EXCLUDED.bce_juridical_form, bce_juridical_situation = EXCLUDED.bce_juridical_situation, bce_source_update_date = EXCLUDED.bce_source_update_date
WHERE companies.is_claimed IS NOT TRUE;

INSERT INTO companies (slug, market, name, industry, tags, services, pricing_model, budget_level, price_indication, devis_gratuit, city, postal_code, country, address, website, facebook, instagram, linkedin, tiktok, contact_email, contact_name, contact_phone, public_phone, founder_name, founder_role, founder_photo_url, ideal_zone, languages, availability, opening_hours, google_rating, google_reviews_count, google_reviews, company_faq, description, seo_title, seo_description, og_title, og_description, seo_jsonld, seo_generated_at, seo_ai_used, seo_version, seo_last_inputs_hash, why_company, why_entrepreneur, emotional_need_label, rituals, ras_score, logo_url, cover_image_url, gallery_urls, video_urls, video_embed_url, tier, verification_status, verification_checks, content_status, is_claimed, opt_out_status, bce_number, bce_status, bce_source, bce_verified_at, bce_last_checked_at, bce_legal_name, founded_on, bce_type_of_enterprise, bce_juridical_form, bce_juridical_situation, bce_source_update_date, created_at)
SELECT 'homme-a-tout-faire-petits-travaux-liege-fcr-media-liege', 'BE-WAL', 'FCR Media Liege', 'Homme à tout faire', ARRAY['urgence réparation', 'bricolage maison', 'aménagement intérieur', 'jardinage occasionnel', 'peinture murale', 'intervention rapide liège', 'travaux ponctuels', 'petits travaux de bricolage', 'réparations diverses', 'aménagements intérieurs', 'entretien de jardin', 'peinture et finition']::text[], ARRAY['Petits travaux de bricolage', 'Réparations diverses', 'Aménagements intérieurs', 'Entretien de jardin', 'Peinture et finition']::text[], 'forfait', NULL, NULL, NULL, 'Liège', '4000', 'BE', 'Rue Saint-Léonard 290', 'https://www.petitfute.com/', 'https://fr-fr.facebook.com/Histoire-sans-Faim-203932069637627/', NULL, NULL, NULL, 'lamainalapate@skynet.be', NULL, '+32492210697', '+32492210697', NULL, NULL, NULL, 'Liège', ARRAY['français', 'anglais', 'allemand']::text[], NULL, '[{"day":"lundi","open":"07:30","close":"12:00","isClosed":false},{"day":"mardi","open":"07:30","close":"12:00","isClosed":false},{"day":"mercredi","open":"07:30","close":"12:00","isClosed":false},{"day":"jeudi","open":"07:30","close":"12:00","isClosed":false},{"day":"vendredi","open":"07:30","close":"12:00","isClosed":false},{"day":"samedi","open":"08:30","close":"12:30","isClosed":false}]'::jsonb, 4, NULL, NULL, '[{"question":"Proposez-vous des services de petits travaux de bricolage?","answer":"Oui, cette prestation fait partie des interventions proposées, avec vérification sur place avant réalisation."},{"question":"Sur quelle zone géographique intervenez-vous?","answer":"Les interventions se déroulent à Liège et dans les communes avoisinantes, selon la nature de la demande."},{"question":"Comment la qualité des interventions est-elle assurée?","answer":"La qualité repose sur une méthode structurée, des vérifications en cours d''intervention et un contrôle final avant la remise au client."},{"question":"Qu''est-ce qui vous distingue sur votre marche local?","answer":"FCR Media Liège se distingue par sa flexibilité et son approche sur mesure. Pas de gros chantier, pas de problème : l’équipe s’adapte à vos besoins du quotidien avec des solutions concrètes."}]'::jsonb, 'FCR Media Liège s’occupe de tout : petits travaux, réparations urgentes ou aménagements sur mesure. Polyvalent et réactif, l’homme à tout faire intervient dans toute la commune pour des solutions pratiques et durables.', 'Homme à tout faire petits travaux à Liège | FCR Media Liège', 'Intervention rapide pour bricolage et réparations à Liège. Diagnostic gratuit avant chaque travail. Solutions adaptées aux besoins quotidiens.', 'FCR Media Liège - Homme à tout faire', 'Artisan polyvalent à Liège pour petits travaux de bricolage, aménagement intérieur et entretien de jardin. Nettoyage inclus après chaque intervention.', '{"@context":"https://schema.org","@type":"LocalBusiness","name":"FCR Media Liège","description":"Homme à tout faire pour petits travaux, réparations et aménagement intérieur à Liège.","url":"https://revelys.be/entreprises/homme-a-tout-faire-petits-travaux-liege-fcr-media-liege","sameAs":["https://www.petitfute.com/"],"address":{"@type":"PostalAddress","streetAddress":"Rue Saint-Léonard 290","postalCode":"4000","addressLocality":"Liège","addressCountry":"BE"},"areaServed":{"@type":"City","name":"Liège"},"keywords":["urgence réparation","bricolage maison","aménagement intérieur","jardinage occasionnel","peinture murale","intervention rapide liège","travaux ponctuels","petits travaux de bricolage","réparations diverses","aménagements intérieurs","entretien de jardin","peinture et finition"],"image":["https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/homme-a-tout-faire-petits-travaux-liege-fcr-media-liege/logo.webp","https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/homme-a-tout-faire-petits-travaux-liege-fcr-media-liege/cover.webp"]}'::jsonb, '2026-02-21T01:07:19.510Z', TRUE, 5, '3b6d00d46c7cee7ddf5be06d707bcf1b5ed310abaa38bfd5a597136c5a0fc872', 'FCR Media Liège se distingue par sa flexibilité et son approche sur mesure. Pas de gros chantier, pas de problème : l’équipe s’adapte à vos besoins du quotidien avec des solutions concrètes.', NULL, 'Durabilité', '[{"name":"Diagnostic visuel avant intervention","description":"L’artisan examine soigneusement la zone concernée pour proposer une solution adaptée, sans surcoût inutile. Proof:","frequency":"toujours","impact":"evite les erreurs de diagnostic","proof":null},{"name":"Nettoyage post-intervention","description":"Chaque espace est laissé impeccable, avec déblaiement des déchets et vérification finale. Proof:","frequency":"toujours","impact":"satisfaction client garantie","proof":null},{"name":"Conseils personnalisés","description":"L’artisan partage des astuces d’entretien pour prolonger la durée de vie des réparations. Proof:","frequency":"toujours","impact":"autonomie du client","proof":null}]'::jsonb, 69, 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/homme-a-tout-faire-petits-travaux-liege-fcr-media-liege/logo.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/homme-a-tout-faire-petits-travaux-liege-fcr-media-liege/cover.webp', ARRAY['https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/homme-a-tout-faire-petits-travaux-liege-fcr-media-liege/g1.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/homme-a-tout-faire-petits-travaux-liege-fcr-media-liege/g2.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/homme-a-tout-faire-petits-travaux-liege-fcr-media-liege/g3.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/homme-a-tout-faire-petits-travaux-liege-fcr-media-liege/g4.webp']::text[], ARRAY[]::text[], NULL, 'listed', 'pending', '[{"label":"Seed: site crawl","date":"2026-02-21T01:08:12.787Z","proof":"https://www.petitfute.com/v68444-liege-4000/c1085-maison-deco-jardin/c1094-travaux-gros-oeuvre/"},{"label":"Seed: city hint","date":"2026-02-21T01:08:12.787Z","proof":"Liège"},{"label":"Seed: industry category","date":"2026-02-21T01:08:12.787Z","proof":"Homme à tout faire"},{"label":"Seed: search keyword","date":"2026-02-21T01:08:12.787Z","proof":"Homme à tout faire petits travaux"},{"label":"Extracted: city","date":"2026-02-21T01:08:12.787Z","proof":"Liège"},{"label":"BCE: mod97 valid","date":"2026-02-21T01:08:12.787Z","proof":"0715900580"},{"label":"Email extracted","date":"2026-02-21T01:08:12.787Z","proof":"lamainalapate@skynet.be"},{"label":"LLM structured (mistral-small3.2:24b-instruct-q5_k_m)","date":"2026-02-21T01:08:12.787Z","proof":"confidence=60/100"},{"label":"BCE recovered from local identity","date":"2026-02-21T01:08:12.787Z","proof":"score=85"},{"label":"Phone extracted","date":"2026-02-21T01:08:12.787Z","proof":"source=tel_link"},{"label":"Images uploaded (Supabase Storage)","date":"2026-02-21T01:08:12.787Z","proof":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/homme-a-tout-faire-petits-travaux-liege-fcr-media-liege/cover.webp"}]'::jsonb, 'published', FALSE, 'none', 'BE0715900580', 'Actif', 'BCE_CSV', '2026-02-21T00:55:36.378Z', '2026-02-21T00:55:36.378Z', 'EDIA', '2018-12-17', 'Personne morale', 'Société en commandite', 'Situation normale', '2026-02-11', '2026-02-21T01:08:12.787Z'
WHERE NOT EXISTS (
  SELECT 1
  FROM companies c_existing
  WHERE c_existing.bce_number = 'BE0715900580'
    AND c_existing.slug <> 'homme-a-tout-faire-petits-travaux-liege-fcr-media-liege'
)
ON CONFLICT (slug) DO UPDATE SET market = EXCLUDED.market, name = EXCLUDED.name, industry = EXCLUDED.industry, tags = EXCLUDED.tags, services = EXCLUDED.services, pricing_model = EXCLUDED.pricing_model, budget_level = EXCLUDED.budget_level, price_indication = EXCLUDED.price_indication, devis_gratuit = EXCLUDED.devis_gratuit, city = EXCLUDED.city, postal_code = EXCLUDED.postal_code, country = EXCLUDED.country, address = EXCLUDED.address, website = EXCLUDED.website, facebook = EXCLUDED.facebook, instagram = EXCLUDED.instagram, linkedin = EXCLUDED.linkedin, tiktok = EXCLUDED.tiktok, contact_email = EXCLUDED.contact_email, contact_name = EXCLUDED.contact_name, contact_phone = EXCLUDED.contact_phone, public_phone = EXCLUDED.public_phone, founder_name = EXCLUDED.founder_name, founder_role = EXCLUDED.founder_role, founder_photo_url = EXCLUDED.founder_photo_url, ideal_zone = EXCLUDED.ideal_zone, languages = EXCLUDED.languages, availability = EXCLUDED.availability, opening_hours = EXCLUDED.opening_hours, google_rating = EXCLUDED.google_rating, google_reviews_count = EXCLUDED.google_reviews_count, google_reviews = EXCLUDED.google_reviews, company_faq = EXCLUDED.company_faq, description = EXCLUDED.description, seo_title = EXCLUDED.seo_title, seo_description = EXCLUDED.seo_description, og_title = EXCLUDED.og_title, og_description = EXCLUDED.og_description, seo_jsonld = EXCLUDED.seo_jsonld, seo_generated_at = EXCLUDED.seo_generated_at, seo_ai_used = EXCLUDED.seo_ai_used, seo_version = EXCLUDED.seo_version, seo_last_inputs_hash = EXCLUDED.seo_last_inputs_hash, why_company = EXCLUDED.why_company, why_entrepreneur = EXCLUDED.why_entrepreneur, emotional_need_label = EXCLUDED.emotional_need_label, rituals = EXCLUDED.rituals, ras_score = EXCLUDED.ras_score, logo_url = EXCLUDED.logo_url, cover_image_url = EXCLUDED.cover_image_url, gallery_urls = EXCLUDED.gallery_urls, video_urls = EXCLUDED.video_urls, video_embed_url = EXCLUDED.video_embed_url, tier = EXCLUDED.tier, verification_status = EXCLUDED.verification_status, verification_checks = EXCLUDED.verification_checks, content_status = EXCLUDED.content_status, is_claimed = EXCLUDED.is_claimed, opt_out_status = EXCLUDED.opt_out_status, bce_number = EXCLUDED.bce_number, bce_status = EXCLUDED.bce_status, bce_source = EXCLUDED.bce_source, bce_verified_at = EXCLUDED.bce_verified_at, bce_last_checked_at = EXCLUDED.bce_last_checked_at, bce_legal_name = EXCLUDED.bce_legal_name, founded_on = EXCLUDED.founded_on, bce_type_of_enterprise = EXCLUDED.bce_type_of_enterprise, bce_juridical_form = EXCLUDED.bce_juridical_form, bce_juridical_situation = EXCLUDED.bce_juridical_situation, bce_source_update_date = EXCLUDED.bce_source_update_date
WHERE companies.is_claimed IS NOT TRUE;

INSERT INTO companies (slug, market, name, industry, tags, services, pricing_model, budget_level, price_indication, devis_gratuit, city, postal_code, country, address, website, facebook, instagram, linkedin, tiktok, contact_email, contact_name, contact_phone, public_phone, founder_name, founder_role, founder_photo_url, ideal_zone, languages, availability, opening_hours, google_rating, google_reviews_count, google_reviews, company_faq, description, seo_title, seo_description, og_title, og_description, seo_jsonld, seo_generated_at, seo_ai_used, seo_version, seo_last_inputs_hash, why_company, why_entrepreneur, emotional_need_label, rituals, ras_score, logo_url, cover_image_url, gallery_urls, video_urls, video_embed_url, tier, verification_status, verification_checks, content_status, is_claimed, opt_out_status, bce_number, bce_status, bce_source, bce_verified_at, bce_last_checked_at, bce_legal_name, founded_on, bce_type_of_enterprise, bce_juridical_form, bce_juridical_situation, bce_source_update_date, created_at)
SELECT 'petits-travaux-liege-chez-vous', 'BE-WAL', 'Chez vous', 'Homme à tout faire', ARRAY['rénovation complète', 'aménagement intérieur', 'salle de bain fonctionnelle', 'isolation thermique', 'peinture haute qualité', 'combles habitables', 'patron sur chantier', '90 ans d''expérience', 'province de liège', 'rénovation de maison', 'rénovation d’appartement', 'aménagement de salle de bain']::text[], ARRAY['Rénovation de maison', 'Rénovation d’appartement', 'Aménagement de salle de bain', 'Aménagement de comble et grenier', 'Peinture intérieure ou extérieure', 'Isolation']::text[], 'sur_devis', NULL, NULL, TRUE, 'Aywaille', '4920', 'BE', 'Rue du Rixhon 42', 'https://chezvous.be/', NULL, NULL, NULL, NULL, 'kevin@easy-estate.be', NULL, NULL, NULL, NULL, NULL, NULL, 'Aywaille', ARRAY['français']::text[], NULL, NULL, NULL, NULL, NULL, '[{"question":"Proposez-vous des services de rénovation de maison?","answer":"Oui, cette prestation fait partie des interventions proposées, avec vérification sur place avant réalisation."},{"question":"Quelles communes sont couvertes en priorité?","answer":"Les interventions se déroulent à Aywaille et dans les communes avoisinantes, selon la nature de la demande."}]'::jsonb, 'Chez Vous SRL, entreprise familiale spécialisée dans les travaux de rénovation et d''aménagement intérieur depuis plus de 90 ans, intervient à Aywaille et dans toute la province de Liège. Que ce soit pour une rénovation complète ou partielle, leur équipe d''ouvriers qualifiés prend en charge chaque projet avec expertise et précision, des combles aux finitions murales.', 'Petits travaux à Aywaille | Chez vous', 'Rénovation complète avec patron sur chantier. 90 ans d''expérience en province de Liège. Devis gratuit pour votre projet.', 'Chez vous - Petits travaux à Aywaille', 'Entreprise familiale spécialisée en rénovation et aménagement intérieur depuis trois générations. Présence du patron sur chaque chantier.', '{"@context":"https://schema.org","@type":"HomeImprovementBusiness","name":"Chez vous","description":"Entreprise de petits travaux spécialisée en rénovation et aménagement intérieur à Aywaille.","url":"https://revelys.be/entreprises/petits-travaux-liege-chez-vous","sameAs":["https://chezvous.be/"],"address":{"@type":"PostalAddress","streetAddress":"Rue du Rixhon 42","postalCode":"4920","addressLocality":"Aywaille","addressCountry":"BE"},"areaServed":{"@type":"City","name":"Aywaille"},"keywords":["rénovation complète","aménagement intérieur","salle de bain fonctionnelle","isolation thermique","peinture haute qualité","combles habitables","patron sur chantier","90 ans d''expérience","province de liège","rénovation de maison","rénovation d’appartement","aménagement de salle de bain"],"image":["https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/petits-travaux-liege-chez-vous/logo.webp","https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/petits-travaux-liege-chez-vous/cover.webp"],"logo":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/petits-travaux-liege-chez-vous/logo.webp","hasOfferCatalog":{"@type":"OfferCatalog","name":"Services de rénovation et aménagement","itemListElement":[{"@type":"OfferItem","name":"Rénovation de maison"},{"@type":"OfferItem","name":"Rénovation d’appartement"},{"@type":"OfferItem","name":"Aménagement de salle de bain"},{"@type":"OfferItem","name":"Aménagement de comble et grenier"},{"@type":"OfferItem","name":"Peinture intérieure ou extérieure"},{"@type":"OfferItem","name":"Isolation"}]}}'::jsonb, '2026-02-21T01:15:27.983Z', TRUE, 5, 'e2f9ccb0e62025e870eee94419c2c74be2d53b61fb52a277ae88bc8dcdde6aa6', 'Chez Vous SRL se distingue par son approche familiale et sa présence continue depuis trois générations, garantissant une expertise transmise et un suivi personnalisé pour chaque projet.', NULL, 'Joie', '[{"name":"Présence du patron sur chantier","description":"Le gérant Yves Deffet supervise personnellement les interventions pour assurer la qualité et le respect des délais, en coordination directe avec l''équipe d''ouvriers spécialisés.","frequency":"tous chantiers","impact":"garantie de suivi personnalisé","proof":null},{"name":"Choix de matériaux durables","description":"L''entreprise sélectionne des peintures et revêtements adaptés aux pièces humides (salles de bain) ou exposées, avec une attention particulière à la résistance dans le temps.","frequency":"tous chantiers","impact":"durabilité des finitions","proof":null},{"name":"Vérification des permis d''urbanisme","description":"Pour les aménagements de combles, l''équipe vérifie systématiquement la nécessité d''un permis communal à Aywaille ou dans les communes voisines avant le démarrage.","frequency":"tous chantiers","impact":"conformité administrative","proof":null},{"name":"Isolation thermique certifiée","description":"Les travaux d''isolation incluent un test de performance énergétique post-intervention pour valider l''efficacité des matériaux posés.","frequency":"tous chantiers isolation","impact":"réduction des pertes de chaleur","proof":null}]'::jsonb, 98, 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/petits-travaux-liege-chez-vous/logo.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/petits-travaux-liege-chez-vous/cover.webp', ARRAY['https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/petits-travaux-liege-chez-vous/g1.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/petits-travaux-liege-chez-vous/g2.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/petits-travaux-liege-chez-vous/g3.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/petits-travaux-liege-chez-vous/g4.webp']::text[], ARRAY[]::text[], NULL, 'listed', 'pending', '[{"label":"Seed: site crawl","date":"2026-02-21T01:16:35.874Z","proof":"https://chezvous.be/renovation/"},{"label":"Seed: city hint","date":"2026-02-21T01:16:35.874Z","proof":"Liège"},{"label":"Seed: industry category","date":"2026-02-21T01:16:35.874Z","proof":"Homme à tout faire"},{"label":"Seed: search keyword","date":"2026-02-21T01:16:35.874Z","proof":"petits travaux"},{"label":"Extracted: city","date":"2026-02-21T01:16:35.874Z","proof":""},{"label":"BCE: mod97 valid","date":"2026-02-21T01:16:35.874Z","proof":"0899384493"},{"label":"Email extracted","date":"2026-02-21T01:16:35.874Z","proof":"kevin@easy-estate.be"},{"label":"LLM structured (mistral-small3.2:24b-instruct-q5_k_m)","date":"2026-02-21T01:16:35.874Z","proof":"confidence=92/100"},{"label":"BCE recovered from local identity","date":"2026-02-21T01:16:35.874Z","proof":"score=60"},{"label":"Images uploaded (Supabase Storage)","date":"2026-02-21T01:16:35.874Z","proof":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/petits-travaux-liege-chez-vous/cover.webp"}]'::jsonb, 'published', FALSE, 'none', 'BE0899384493', 'Actif', 'BCE_CSV', '2026-02-21T01:12:37.491Z', '2026-02-21T01:12:37.491Z', 'Chez Vous', '2008-07-18', 'Personne morale', 'Société privée à responsabilité limitée', 'Situation normale', '2026-02-11', '2026-02-21T01:16:35.874Z'
WHERE NOT EXISTS (
  SELECT 1
  FROM companies c_existing
  WHERE c_existing.bce_number = 'BE0899384493'
    AND c_existing.slug <> 'petits-travaux-liege-chez-vous'
)
ON CONFLICT (slug) DO UPDATE SET market = EXCLUDED.market, name = EXCLUDED.name, industry = EXCLUDED.industry, tags = EXCLUDED.tags, services = EXCLUDED.services, pricing_model = EXCLUDED.pricing_model, budget_level = EXCLUDED.budget_level, price_indication = EXCLUDED.price_indication, devis_gratuit = EXCLUDED.devis_gratuit, city = EXCLUDED.city, postal_code = EXCLUDED.postal_code, country = EXCLUDED.country, address = EXCLUDED.address, website = EXCLUDED.website, facebook = EXCLUDED.facebook, instagram = EXCLUDED.instagram, linkedin = EXCLUDED.linkedin, tiktok = EXCLUDED.tiktok, contact_email = EXCLUDED.contact_email, contact_name = EXCLUDED.contact_name, contact_phone = EXCLUDED.contact_phone, public_phone = EXCLUDED.public_phone, founder_name = EXCLUDED.founder_name, founder_role = EXCLUDED.founder_role, founder_photo_url = EXCLUDED.founder_photo_url, ideal_zone = EXCLUDED.ideal_zone, languages = EXCLUDED.languages, availability = EXCLUDED.availability, opening_hours = EXCLUDED.opening_hours, google_rating = EXCLUDED.google_rating, google_reviews_count = EXCLUDED.google_reviews_count, google_reviews = EXCLUDED.google_reviews, company_faq = EXCLUDED.company_faq, description = EXCLUDED.description, seo_title = EXCLUDED.seo_title, seo_description = EXCLUDED.seo_description, og_title = EXCLUDED.og_title, og_description = EXCLUDED.og_description, seo_jsonld = EXCLUDED.seo_jsonld, seo_generated_at = EXCLUDED.seo_generated_at, seo_ai_used = EXCLUDED.seo_ai_used, seo_version = EXCLUDED.seo_version, seo_last_inputs_hash = EXCLUDED.seo_last_inputs_hash, why_company = EXCLUDED.why_company, why_entrepreneur = EXCLUDED.why_entrepreneur, emotional_need_label = EXCLUDED.emotional_need_label, rituals = EXCLUDED.rituals, ras_score = EXCLUDED.ras_score, logo_url = EXCLUDED.logo_url, cover_image_url = EXCLUDED.cover_image_url, gallery_urls = EXCLUDED.gallery_urls, video_urls = EXCLUDED.video_urls, video_embed_url = EXCLUDED.video_embed_url, tier = EXCLUDED.tier, verification_status = EXCLUDED.verification_status, verification_checks = EXCLUDED.verification_checks, content_status = EXCLUDED.content_status, is_claimed = EXCLUDED.is_claimed, opt_out_status = EXCLUDED.opt_out_status, bce_number = EXCLUDED.bce_number, bce_status = EXCLUDED.bce_status, bce_source = EXCLUDED.bce_source, bce_verified_at = EXCLUDED.bce_verified_at, bce_last_checked_at = EXCLUDED.bce_last_checked_at, bce_legal_name = EXCLUDED.bce_legal_name, founded_on = EXCLUDED.founded_on, bce_type_of_enterprise = EXCLUDED.bce_type_of_enterprise, bce_juridical_form = EXCLUDED.bce_juridical_form, bce_juridical_situation = EXCLUDED.bce_juridical_situation, bce_source_update_date = EXCLUDED.bce_source_update_date
WHERE companies.is_claimed IS NOT TRUE;

INSERT INTO companies (slug, market, name, industry, tags, services, pricing_model, budget_level, price_indication, devis_gratuit, city, postal_code, country, address, website, facebook, instagram, linkedin, tiktok, contact_email, contact_name, contact_phone, public_phone, founder_name, founder_role, founder_photo_url, ideal_zone, languages, availability, opening_hours, google_rating, google_reviews_count, google_reviews, company_faq, description, seo_title, seo_description, og_title, og_description, seo_jsonld, seo_generated_at, seo_ai_used, seo_version, seo_last_inputs_hash, why_company, why_entrepreneur, emotional_need_label, rituals, ras_score, logo_url, cover_image_url, gallery_urls, video_urls, video_embed_url, tier, verification_status, verification_checks, content_status, is_claimed, opt_out_status, bce_number, bce_status, bce_source, bce_verified_at, bce_last_checked_at, bce_legal_name, founded_on, bce_type_of_enterprise, bce_juridical_form, bce_juridical_situation, bce_source_update_date, created_at)
SELECT 'deratisation-liege-edn', 'BE-WAL', 'EDN', 'Dératisation', ARRAY['infestation rongeurs', 'urgence dératisation', 'postes sécurisés', 'certification afsca', 'interventions 24/7', 'emotional need label', 'why company', 'edn se distingue par son approche professionnelle et humaine, combinant efficacité et sécurité pour éliminer les nuisibles. leurs techniciens interviennent rapidement, même en urgence, avec des solutions adaptées à chaque situation.', 'rituals', 'inspection détaillée des points d''accès', 'utilisation de postes sécurisés pour les appâts', 'bouchage des zones à risque après traitement']::text[], ARRAY['Dératisation de maisons', 'Dératisation d''entreprises', 'Traitement contre les rats', 'Traitement contre les souris', 'Prévention des infestations']::text[], 'forfait', NULL, NULL, TRUE, 'Marchin', '4570', 'BE', 'Fond du Fourneau 11', 'https://www.exterminationdenuisibles.be/', 'https://www.facebook.com/ExterminationDeNuisibles', NULL, NULL, NULL, 'hello@exterminationdenuisibles.be', NULL, '+32456312160', '+32456312160', NULL, NULL, NULL, 'Marchin', ARRAY['français']::text[], '24h/24 - 7j/7', NULL, NULL, NULL, NULL, '[{"question":"Proposez-vous des services de dératisation de maisons?","answer":"Oui, cette prestation fait partie des interventions proposées, avec vérification sur place avant réalisation."},{"question":"Quelles communes sont couvertes en priorité?","answer":"Les interventions se déroulent à Marchin et dans les communes avoisinantes, selon la nature de la demande."}]'::jsonb, 'EDN est une entreprise spécialisée dans la dératisation à Marchin et ses environs, intervenant rapidement pour éliminer rats, souris et autres rongeurs. Leurs techniciens qualifiés utilisent des méthodes professionnelles et sécurisées, adaptées aux particuliers comme aux professionnels. La tranquillité retrouvée grâce à leur expertise est garantie.', 'Dératisation à Marchin | EDN', 'Interventions urgentes contre les rongeurs avec postes sécurisés. Techniciens certifiés AFSCA pour une élimination efficace et sans danger.', 'Service de dératisation professionnel à Marchin', 'EDN propose des solutions adaptées aux infestations de rats et souris, avec inspection détaillée et bouchage des accès après traitement. Interventions 24/7.', '{"@context":"https://schema.org","@type":"PestControl","name":"EDN","description":"Service de dératisation professionnel à Marchin","url":"https://revelys.be/entreprises/deratisation-liege-edn","sameAs":["https://www.exterminationdenuisibles.be/"],"address":{"@type":"PostalAddress","streetAddress":"Fond du Fourneau 11","postalCode":"4570","addressLocality":"Marchin","addressCountry":"BE"},"areaServed":{"@type":"City","name":"Marchin"},"keywords":["infestation rongeurs","urgence dératisation","postes sécurisés","certification afsca","interventions 24/7","Dératisation de maisons","Dératisation d''entreprises","Traitement contre les rats","Traitement contre les souris","Prévention des infestations"],"image":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/deratisation-liege-edn/logo.webp"}'::jsonb, '2026-02-21T01:29:01.547Z', TRUE, 5, 'd011c8ec745cbd73f364b5ff37bb4875c4d8705d0793e3abf34bbff0163f2ac8', 'EDN se distingue par son approche professionnelle et humaine, combinant efficacité et sécurité pour éliminer les nuisibles. Leurs techniciens interviennent rapidement, même en urgence, avec des solutions adaptées à chaque situation.', NULL, 'Sécurité', '[{"name":"Inspection détaillée des points d''accès","description":"Les techniciens identifient précisément les zones de passage des rongeurs pour cibler les traitements.","frequency":"toujours","impact":"précision du traitement","proof":null},{"name":"Utilisation de postes sécurisés","description":"Les appâts sont placés dans des dispositifs protégés pour éviter tout risque d''ingestion accidentelle par les enfants ou animaux.","frequency":"toujours","impact":"sécurité renforcée","proof":null},{"name":"Bouchage des zones à risque","description":"Après traitement, les techniciens colmatent les accès pour empêcher le retour des nuisibles.","frequency":"toujours","impact":"prévention durable","proof":null},{"name":"Suivi post-intervention","description":"Un contrôle est effectué quelques jours après pour s''assurer de l''efficacité du traitement.","frequency":"souvent","impact":"garantie de résultat","proof":null}]'::jsonb, 98, 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/deratisation-liege-edn/logo.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/deratisation-liege-edn/cover.webp', ARRAY['https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/deratisation-liege-edn/g1.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/deratisation-liege-edn/g2.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/deratisation-liege-edn/g3.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/deratisation-liege-edn/g4.webp']::text[], ARRAY[]::text[], NULL, 'listed', 'pending', '[{"label":"Seed: site crawl","date":"2026-02-21T01:29:43.277Z","proof":"https://www.exterminationdenuisibles.be/services/deratisation/liege"},{"label":"Seed: city hint","date":"2026-02-21T01:29:43.277Z","proof":"Liège"},{"label":"Seed: industry category","date":"2026-02-21T01:29:43.277Z","proof":"Dératisation"},{"label":"Seed: search keyword","date":"2026-02-21T01:29:43.277Z","proof":"Dératisation"},{"label":"Extracted: city","date":"2026-02-21T01:29:43.277Z","proof":""},{"label":"BCE: mod97 valid","date":"2026-02-21T01:29:43.277Z","proof":"0804013006"},{"label":"Email extracted","date":"2026-02-21T01:29:43.277Z","proof":"hello@exterminationdenuisibles.be"},{"label":"LLM structured (mistral-small3.2:24b-instruct-q5_k_m)","date":"2026-02-21T01:29:43.277Z","proof":"confidence=90/100"},{"label":"BCE recovered from local identity","date":"2026-02-21T01:29:43.277Z","proof":"score=60"},{"label":"Phone extracted","date":"2026-02-21T01:29:43.277Z","proof":"source=tel_link"},{"label":"Images uploaded (Supabase Storage)","date":"2026-02-21T01:29:43.277Z","proof":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/deratisation-liege-edn/cover.webp"}]'::jsonb, 'published', FALSE, 'none', 'BE0804013006', 'Actif', 'BCE_CSV', '2026-02-21T01:24:52.708Z', '2026-02-21T01:24:52.708Z', 'EDN', '2023-07-17', 'Personne morale', 'Association sans but lucratif', 'Situation normale', '2026-02-11', '2026-02-21T01:29:43.277Z'
WHERE NOT EXISTS (
  SELECT 1
  FROM companies c_existing
  WHERE c_existing.bce_number = 'BE0804013006'
    AND c_existing.slug <> 'deratisation-liege-edn'
)
ON CONFLICT (slug) DO UPDATE SET market = EXCLUDED.market, name = EXCLUDED.name, industry = EXCLUDED.industry, tags = EXCLUDED.tags, services = EXCLUDED.services, pricing_model = EXCLUDED.pricing_model, budget_level = EXCLUDED.budget_level, price_indication = EXCLUDED.price_indication, devis_gratuit = EXCLUDED.devis_gratuit, city = EXCLUDED.city, postal_code = EXCLUDED.postal_code, country = EXCLUDED.country, address = EXCLUDED.address, website = EXCLUDED.website, facebook = EXCLUDED.facebook, instagram = EXCLUDED.instagram, linkedin = EXCLUDED.linkedin, tiktok = EXCLUDED.tiktok, contact_email = EXCLUDED.contact_email, contact_name = EXCLUDED.contact_name, contact_phone = EXCLUDED.contact_phone, public_phone = EXCLUDED.public_phone, founder_name = EXCLUDED.founder_name, founder_role = EXCLUDED.founder_role, founder_photo_url = EXCLUDED.founder_photo_url, ideal_zone = EXCLUDED.ideal_zone, languages = EXCLUDED.languages, availability = EXCLUDED.availability, opening_hours = EXCLUDED.opening_hours, google_rating = EXCLUDED.google_rating, google_reviews_count = EXCLUDED.google_reviews_count, google_reviews = EXCLUDED.google_reviews, company_faq = EXCLUDED.company_faq, description = EXCLUDED.description, seo_title = EXCLUDED.seo_title, seo_description = EXCLUDED.seo_description, og_title = EXCLUDED.og_title, og_description = EXCLUDED.og_description, seo_jsonld = EXCLUDED.seo_jsonld, seo_generated_at = EXCLUDED.seo_generated_at, seo_ai_used = EXCLUDED.seo_ai_used, seo_version = EXCLUDED.seo_version, seo_last_inputs_hash = EXCLUDED.seo_last_inputs_hash, why_company = EXCLUDED.why_company, why_entrepreneur = EXCLUDED.why_entrepreneur, emotional_need_label = EXCLUDED.emotional_need_label, rituals = EXCLUDED.rituals, ras_score = EXCLUDED.ras_score, logo_url = EXCLUDED.logo_url, cover_image_url = EXCLUDED.cover_image_url, gallery_urls = EXCLUDED.gallery_urls, video_urls = EXCLUDED.video_urls, video_embed_url = EXCLUDED.video_embed_url, tier = EXCLUDED.tier, verification_status = EXCLUDED.verification_status, verification_checks = EXCLUDED.verification_checks, content_status = EXCLUDED.content_status, is_claimed = EXCLUDED.is_claimed, opt_out_status = EXCLUDED.opt_out_status, bce_number = EXCLUDED.bce_number, bce_status = EXCLUDED.bce_status, bce_source = EXCLUDED.bce_source, bce_verified_at = EXCLUDED.bce_verified_at, bce_last_checked_at = EXCLUDED.bce_last_checked_at, bce_legal_name = EXCLUDED.bce_legal_name, founded_on = EXCLUDED.founded_on, bce_type_of_enterprise = EXCLUDED.bce_type_of_enterprise, bce_juridical_form = EXCLUDED.bce_juridical_form, bce_juridical_situation = EXCLUDED.bce_juridical_situation, bce_source_update_date = EXCLUDED.bce_source_update_date
WHERE companies.is_claimed IS NOT TRUE;

INSERT INTO companies (slug, market, name, industry, tags, services, pricing_model, budget_level, price_indication, devis_gratuit, city, postal_code, country, address, website, facebook, instagram, linkedin, tiktok, contact_email, contact_name, contact_phone, public_phone, founder_name, founder_role, founder_photo_url, ideal_zone, languages, availability, opening_hours, google_rating, google_reviews_count, google_reviews, company_faq, description, seo_title, seo_description, og_title, og_description, seo_jsonld, seo_generated_at, seo_ai_used, seo_version, seo_last_inputs_hash, why_company, why_entrepreneur, emotional_need_label, rituals, ras_score, logo_url, cover_image_url, gallery_urls, video_urls, video_embed_url, tier, verification_status, verification_checks, content_status, is_claimed, opt_out_status, bce_number, bce_status, bce_source, bce_verified_at, bce_last_checked_at, bce_legal_name, founded_on, bce_type_of_enterprise, bce_juridical_form, bce_juridical_situation, bce_source_update_date, created_at)
SELECT 'nuisibles-liege-talpa-garden', 'BE-WAL', 'TALPA GARDEN', 'Dératisation', ARRAY['taupinières', 'jardin envahi', 'méthodes écologiques', 'pièges mécaniques', 'garantie résultats', 'urgence dératisation', 'pelouse abîmée', 'artisan agréé', 'province de liège', 'dératisation', 'élimination de taupes', 'extermination de campagnols']::text[], ARRAY['Dératisation', 'Élimination de taupes', 'Extermination de campagnols', 'Traitement des nuisibles', 'Piégeage mécanique']::text[], 'forfait', NULL, NULL, TRUE, 'Herve', '4651', 'BE', 'Outre-Cour 101', 'https://www.talpagarden.be/', NULL, NULL, NULL, NULL, 'info@talpagarden.be', NULL, '+32495666666', '+32495666666', NULL, NULL, NULL, 'Herve', ARRAY['français']::text[], NULL, NULL, NULL, NULL, NULL, '[{"question":"Proposez-vous des services de dératisation?","answer":"Oui, cette prestation fait partie des interventions proposées, avec vérification sur place avant réalisation."},{"question":"Quelles communes sont couvertes en priorité?","answer":"Les interventions se déroulent à Herve et dans les communes avoisinantes, selon la nature de la demande."}]'::jsonb, 'TALPA GARDEN est spécialisé dans la dératisation et l''élimination des nuisibles en province de Liège, avec une expertise particulière pour les taupes. Artisan agréé en biologie depuis 30 ans, il utilise des méthodes traditionnelles et écologiques garantissant des résultats durables. L''entreprise intervient rapidement sur Herve et ses environs pour préserver vos espaces verts.', 'Dératisation à Herve | TALPA GARDEN', 'Élimination écologique des taupes et campagnols en province de Liège. Méthodes mécaniques garanties sans produits chimiques pour préserver votre jardin.', 'TALPA GARDEN - Dératisation à Herve', 'Spécialiste de l''élimination des nuisibles (taupes, campagnols) en province de Liège. Solutions mécaniques et écologiques pour jardins envahis.', '{"@context":"https://schema.org","@type":"PestControl","name":"TALPA GARDEN","description":"Élimination écologique des taupes, campagnols et autres nuisibles en province de Liège.","url":"https://revelys.be/entreprises/nuisibles-liege-talpa-garden","sameAs":["https://www.talpagarden.be/"],"address":{"@type":"PostalAddress","streetAddress":"Outre-Cour 101","postalCode":"4651","addressLocality":"Herve","addressCountry":"BE"},"areaServed":{"@type":"City","name":"Herve"},"keywords":["taupinières","jardin envahi","méthodes écologiques","pièges mécaniques","garantie résultats","urgence dératisation","pelouse abîmée","artisan agréé","province de liège","dératisation","élimination de taupes","extermination de campagnols"],"image":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nuisibles-liege-talpa-garden/logo.webp"}'::jsonb, '2026-02-21T01:34:53.569Z', TRUE, 5, '65bed71c9f11374abd384f0625efe27e26af2f17b7f11c09992dc393487ae425', 'TALPA GARDEN se distingue par son approche écologique et son expertise reconnue depuis trois décennies. L''entreprise utilise des pièges mécaniques invisibles, sans produits chimiques, pour une solution durable et respectueuse de l''environnement.', NULL, 'Sérénité', '[{"name":"Piégeage en sous-sol","description":"Placement de pièges mécaniques dans les galeries souterraines pour capturer les taupes sans nuire à la végétation ni aux animaux domestiques.","frequency":"Selon le besoin","impact":"Améliore la fiabilité et la qualité d''exécution.","proof":null},{"name":"Analyse du terrain","description":"Évaluation précise de l''étendue des dégâts et identification des zones stratégiques pour maximiser l''efficacité des pièges.","frequency":"Selon le besoin","impact":"Améliore la fiabilité et la qualité d''exécution.","proof":null},{"name":"Suivi post-intervention","description":"Contrôle régulier après la première intervention pour garantir l''absence de recolonisation et ajuster les pièges si nécessaire.","frequency":"Selon le besoin","impact":"Améliore la fiabilité et la qualité d''exécution.","proof":null}]'::jsonb, 98, 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nuisibles-liege-talpa-garden/logo.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nuisibles-liege-talpa-garden/cover.webp', ARRAY['https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nuisibles-liege-talpa-garden/g1.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nuisibles-liege-talpa-garden/g2.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nuisibles-liege-talpa-garden/g3.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nuisibles-liege-talpa-garden/g4.webp']::text[], ARRAY[]::text[], NULL, 'listed', 'pending', '[{"label":"Seed: site crawl","date":"2026-02-21T01:35:37.557Z","proof":"https://www.talpagarden.be/deratisation-et-autres-nuisibles"},{"label":"Seed: city hint","date":"2026-02-21T01:35:37.557Z","proof":"Liège"},{"label":"Seed: industry category","date":"2026-02-21T01:35:37.557Z","proof":"Dératisation"},{"label":"Seed: search keyword","date":"2026-02-21T01:35:37.557Z","proof":"nuisibles"},{"label":"Extracted: city","date":"2026-02-21T01:35:37.557Z","proof":"Herve"},{"label":"BCE: mod97 valid","date":"2026-02-21T01:35:37.557Z","proof":"0819316636"},{"label":"Email extracted","date":"2026-02-21T01:35:37.557Z","proof":"info@talpagarden.be"},{"label":"LLM structured (mistral-small3.2:24b-instruct-q5_k_m)","date":"2026-02-21T01:35:37.557Z","proof":"confidence=92/100"},{"label":"Phone extracted","date":"2026-02-21T01:35:37.557Z","proof":"source=tel_link"},{"label":"Images uploaded (Supabase Storage)","date":"2026-02-21T01:35:37.557Z","proof":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/nuisibles-liege-talpa-garden/cover.webp"}]'::jsonb, 'published', FALSE, 'none', 'BE0819316636', 'Actif', 'BCE_CSV', '2026-02-21T01:32:32.899Z', '2026-02-21T01:32:32.899Z', 'IMOZAIK', '2009-10-06', 'Personne morale', 'Société à responsabilité limitée', 'Situation normale', '2026-02-11', '2026-02-21T01:35:37.557Z'
WHERE NOT EXISTS (
  SELECT 1
  FROM companies c_existing
  WHERE c_existing.bce_number = 'BE0819316636'
    AND c_existing.slug <> 'nuisibles-liege-talpa-garden'
)
ON CONFLICT (slug) DO UPDATE SET market = EXCLUDED.market, name = EXCLUDED.name, industry = EXCLUDED.industry, tags = EXCLUDED.tags, services = EXCLUDED.services, pricing_model = EXCLUDED.pricing_model, budget_level = EXCLUDED.budget_level, price_indication = EXCLUDED.price_indication, devis_gratuit = EXCLUDED.devis_gratuit, city = EXCLUDED.city, postal_code = EXCLUDED.postal_code, country = EXCLUDED.country, address = EXCLUDED.address, website = EXCLUDED.website, facebook = EXCLUDED.facebook, instagram = EXCLUDED.instagram, linkedin = EXCLUDED.linkedin, tiktok = EXCLUDED.tiktok, contact_email = EXCLUDED.contact_email, contact_name = EXCLUDED.contact_name, contact_phone = EXCLUDED.contact_phone, public_phone = EXCLUDED.public_phone, founder_name = EXCLUDED.founder_name, founder_role = EXCLUDED.founder_role, founder_photo_url = EXCLUDED.founder_photo_url, ideal_zone = EXCLUDED.ideal_zone, languages = EXCLUDED.languages, availability = EXCLUDED.availability, opening_hours = EXCLUDED.opening_hours, google_rating = EXCLUDED.google_rating, google_reviews_count = EXCLUDED.google_reviews_count, google_reviews = EXCLUDED.google_reviews, company_faq = EXCLUDED.company_faq, description = EXCLUDED.description, seo_title = EXCLUDED.seo_title, seo_description = EXCLUDED.seo_description, og_title = EXCLUDED.og_title, og_description = EXCLUDED.og_description, seo_jsonld = EXCLUDED.seo_jsonld, seo_generated_at = EXCLUDED.seo_generated_at, seo_ai_used = EXCLUDED.seo_ai_used, seo_version = EXCLUDED.seo_version, seo_last_inputs_hash = EXCLUDED.seo_last_inputs_hash, why_company = EXCLUDED.why_company, why_entrepreneur = EXCLUDED.why_entrepreneur, emotional_need_label = EXCLUDED.emotional_need_label, rituals = EXCLUDED.rituals, ras_score = EXCLUDED.ras_score, logo_url = EXCLUDED.logo_url, cover_image_url = EXCLUDED.cover_image_url, gallery_urls = EXCLUDED.gallery_urls, video_urls = EXCLUDED.video_urls, video_embed_url = EXCLUDED.video_embed_url, tier = EXCLUDED.tier, verification_status = EXCLUDED.verification_status, verification_checks = EXCLUDED.verification_checks, content_status = EXCLUDED.content_status, is_claimed = EXCLUDED.is_claimed, opt_out_status = EXCLUDED.opt_out_status, bce_number = EXCLUDED.bce_number, bce_status = EXCLUDED.bce_status, bce_source = EXCLUDED.bce_source, bce_verified_at = EXCLUDED.bce_verified_at, bce_last_checked_at = EXCLUDED.bce_last_checked_at, bce_legal_name = EXCLUDED.bce_legal_name, founded_on = EXCLUDED.founded_on, bce_type_of_enterprise = EXCLUDED.bce_type_of_enterprise, bce_juridical_form = EXCLUDED.bce_juridical_form, bce_juridical_situation = EXCLUDED.bce_juridical_situation, bce_source_update_date = EXCLUDED.bce_source_update_date
WHERE companies.is_claimed IS NOT TRUE;

INSERT INTO companies (slug, market, name, industry, tags, services, pricing_model, budget_level, price_indication, devis_gratuit, city, postal_code, country, address, website, facebook, instagram, linkedin, tiktok, contact_email, contact_name, contact_phone, public_phone, founder_name, founder_role, founder_photo_url, ideal_zone, languages, availability, opening_hours, google_rating, google_reviews_count, google_reviews, company_faq, description, seo_title, seo_description, og_title, og_description, seo_jsonld, seo_generated_at, seo_ai_used, seo_version, seo_last_inputs_hash, why_company, why_entrepreneur, emotional_need_label, rituals, ras_score, logo_url, cover_image_url, gallery_urls, video_urls, video_embed_url, tier, verification_status, verification_checks, content_status, is_claimed, opt_out_status, bce_number, bce_status, bce_source, bce_verified_at, bce_last_checked_at, bce_legal_name, founded_on, bce_type_of_enterprise, bce_juridical_form, bce_juridical_situation, bce_source_update_date, created_at)
SELECT 'deratisation-desinsectisation-nuisibles-liege-eradic-srl', 'BE-WAL', 'Eradic Srl', 'Dératisation', ARRAY['nid de guêpes', 'fouine grenier', 'urgence dératisation', 'certification afsca', 'intervention dans la journée', 'province de liège', 'dégâts rongeurs', 'nettoyage désinfection', 'dératisation', 'désinsectisation', 'éradication de frelons et guêpes', 'nettoyage après nuisibles']::text[], ARRAY['Dératisation', 'Désinsectisation', 'Éradication de frelons et guêpes', 'Nettoyage après nuisibles', 'Protection contre les fouines']::text[], 'sur_devis', NULL, NULL, NULL, 'Liège', '4000', 'BE', 'Rue des Guillemins 139', 'https://deratiseur-liege.be/', 'https://www.facebook.com/Eradic-services-Sprl-155320241488932/', NULL, 'https://www.linkedin.com/in/emmanuel-lecocq-a3aa3a102/', NULL, 'contact.flanquart@gmail.com', NULL, '+3243788011', '+3243788011', NULL, NULL, NULL, 'Liège', ARRAY['français']::text[], '24h/24 - 7j/7', NULL, NULL, NULL, NULL, '[{"question":"Proposez-vous des services de dératisation?","answer":"Oui, cette prestation fait partie des interventions proposées, avec vérification sur place avant réalisation."},{"question":"Quelles communes sont couvertes en priorité?","answer":"Les interventions se déroulent à Liège et dans les communes avoisinantes, selon la nature de la demande."}]'::jsonb, 'Eradic Srl, spécialisée en dératisation à Aywaille et Liège, intervient rapidement pour éliminer rats, souris, fouines, guêpes et cafards avec des méthodes certifiées AFSCA. Le patron supervise chaque chantier pour garantir une prestation irréprochable.', 'Dératisation à Liège | Eradic Srl', 'Intervention rapide contre les nuisibles avec produits certifiés AFSCA. Expertise locale en province de Liège pour une élimination durable.', 'Eradic Srl - Dératisation et désinsectisation à Liège', 'Entreprise spécialisée dans la lutte contre les rongeurs, insectes et frelons à Liège. Inspection gratuite et produits agréés pour une éradication efficace.', '{"@context":"https://schema.org","@type":"PestControl","name":"Eradic Srl","description":"Service de dératisation et désinsectisation à Liège avec certification AFSCA.","url":"https://revelys.be/entreprises/deratisation-desinsectisation-nuisibles-liege-eradic-srl","sameAs":["https://deratiseur-liege.be/"],"address":{"@type":"PostalAddress","streetAddress":"Rue des Guillemins 139","postalCode":"4000","addressLocality":"Liège","addressCountry":"BE"},"areaServed":{"@type":"City","name":"Liège"},"keywords":["nid de guêpes","fouine grenier","urgence dératisation","certification afsca","intervention dans la journée","province de liège","dégâts rongeurs","nettoyage désinfection","dératisation","désinsectisation","éradication de frelons et guêpes","nettoyage après nuisibles"],"image":[{"@type":"ImageObject","url":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/deratisation-desinsectisation-nuisibles-liege-eradic-srl/logo.webp"}]}'::jsonb, '2026-02-21T01:40:09.795Z', TRUE, 5, '2c1a860b7193ab12754326fee57d84c41be6650ab1e1dfb81970fa155780b6b1', 'Eradic Srl se distingue par sa certification AFSCA et l''engagement du patron sur chaque chantier, garantissant des interventions efficaces et durables contre les nuisibles.', NULL, 'Sécurité', '[{"name":"Inspection préalable avec plan de lutte","description":"Avant toute intervention, Eradic Srl réalise une inspection détaillée pour identifier l''étendue de l''infestation et établir un plan d''action personnalisé conforme aux normes AFSCA.","frequency":"toujours","impact":"garantit une éradication complète et durable des nuisibles","proof":null},{"name":"Utilisation de produits certifiés","description":"L''entreprise emploie exclusivement des produits agréés pour la lutte contre les nuisibles, respectueux de l''environnement et conformes aux réglementations en vigueur.","frequency":"toujours","impact":"assure une élimination efficace tout en préservant la sécurité des occupants","proof":null},{"name":"Suivi post-intervention","description":"Après l''intervention, Eradic Srl propose un suivi pour vérifier l''absence de nuisibles et conseiller sur les mesures préventives à adopter.","frequency":"sur demande","impact":"évite la réapparition des nuisibles et rassure le client","proof":null}]'::jsonb, 98, 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/deratisation-desinsectisation-nuisibles-liege-eradic-srl/logo.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/deratisation-desinsectisation-nuisibles-liege-eradic-srl/cover.webp', ARRAY['https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/deratisation-desinsectisation-nuisibles-liege-eradic-srl/g1.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/deratisation-desinsectisation-nuisibles-liege-eradic-srl/g2.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/deratisation-desinsectisation-nuisibles-liege-eradic-srl/g3.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/deratisation-desinsectisation-nuisibles-liege-eradic-srl/g4.webp']::text[], ARRAY[]::text[], NULL, 'listed', 'pending', '[{"label":"Seed: site crawl","date":"2026-02-21T01:40:58.151Z","proof":"https://deratiseur-liege.be/"},{"label":"Seed: city hint","date":"2026-02-21T01:40:58.151Z","proof":"Liège"},{"label":"Seed: industry category","date":"2026-02-21T01:40:58.151Z","proof":"Dératisation"},{"label":"Seed: search keyword","date":"2026-02-21T01:40:58.151Z","proof":"Dératisation désinsectisation nuisibles"},{"label":"Extracted: city","date":"2026-02-21T01:40:58.151Z","proof":"Harzé"},{"label":"BCE: mod97 valid","date":"2026-02-21T01:40:58.151Z","proof":"0460887778"},{"label":"Email extracted","date":"2026-02-21T01:40:58.151Z","proof":"contact.flanquart@gmail.com"},{"label":"LLM structured (mistral-small3.2:24b-instruct-q5_k_m)","date":"2026-02-21T01:40:58.151Z","proof":"confidence=90/100"},{"label":"Phone extracted","date":"2026-02-21T01:40:58.151Z","proof":"source=tel_link"},{"label":"Images uploaded (Supabase Storage)","date":"2026-02-21T01:40:58.151Z","proof":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/deratisation-desinsectisation-nuisibles-liege-eradic-srl/cover.webp"}]'::jsonb, 'published', FALSE, 'none', 'BE0460887778', 'Actif', 'BCE_CSV', '2026-02-21T01:37:44.631Z', '2026-02-21T01:37:44.631Z', 'ERADIC', '1997-06-18', 'Personne morale', 'Société à responsabilité limitée', 'Situation normale', '2026-02-11', '2026-02-21T01:40:58.151Z'
WHERE NOT EXISTS (
  SELECT 1
  FROM companies c_existing
  WHERE c_existing.bce_number = 'BE0460887778'
    AND c_existing.slug <> 'deratisation-desinsectisation-nuisibles-liege-eradic-srl'
)
ON CONFLICT (slug) DO UPDATE SET market = EXCLUDED.market, name = EXCLUDED.name, industry = EXCLUDED.industry, tags = EXCLUDED.tags, services = EXCLUDED.services, pricing_model = EXCLUDED.pricing_model, budget_level = EXCLUDED.budget_level, price_indication = EXCLUDED.price_indication, devis_gratuit = EXCLUDED.devis_gratuit, city = EXCLUDED.city, postal_code = EXCLUDED.postal_code, country = EXCLUDED.country, address = EXCLUDED.address, website = EXCLUDED.website, facebook = EXCLUDED.facebook, instagram = EXCLUDED.instagram, linkedin = EXCLUDED.linkedin, tiktok = EXCLUDED.tiktok, contact_email = EXCLUDED.contact_email, contact_name = EXCLUDED.contact_name, contact_phone = EXCLUDED.contact_phone, public_phone = EXCLUDED.public_phone, founder_name = EXCLUDED.founder_name, founder_role = EXCLUDED.founder_role, founder_photo_url = EXCLUDED.founder_photo_url, ideal_zone = EXCLUDED.ideal_zone, languages = EXCLUDED.languages, availability = EXCLUDED.availability, opening_hours = EXCLUDED.opening_hours, google_rating = EXCLUDED.google_rating, google_reviews_count = EXCLUDED.google_reviews_count, google_reviews = EXCLUDED.google_reviews, company_faq = EXCLUDED.company_faq, description = EXCLUDED.description, seo_title = EXCLUDED.seo_title, seo_description = EXCLUDED.seo_description, og_title = EXCLUDED.og_title, og_description = EXCLUDED.og_description, seo_jsonld = EXCLUDED.seo_jsonld, seo_generated_at = EXCLUDED.seo_generated_at, seo_ai_used = EXCLUDED.seo_ai_used, seo_version = EXCLUDED.seo_version, seo_last_inputs_hash = EXCLUDED.seo_last_inputs_hash, why_company = EXCLUDED.why_company, why_entrepreneur = EXCLUDED.why_entrepreneur, emotional_need_label = EXCLUDED.emotional_need_label, rituals = EXCLUDED.rituals, ras_score = EXCLUDED.ras_score, logo_url = EXCLUDED.logo_url, cover_image_url = EXCLUDED.cover_image_url, gallery_urls = EXCLUDED.gallery_urls, video_urls = EXCLUDED.video_urls, video_embed_url = EXCLUDED.video_embed_url, tier = EXCLUDED.tier, verification_status = EXCLUDED.verification_status, verification_checks = EXCLUDED.verification_checks, content_status = EXCLUDED.content_status, is_claimed = EXCLUDED.is_claimed, opt_out_status = EXCLUDED.opt_out_status, bce_number = EXCLUDED.bce_number, bce_status = EXCLUDED.bce_status, bce_source = EXCLUDED.bce_source, bce_verified_at = EXCLUDED.bce_verified_at, bce_last_checked_at = EXCLUDED.bce_last_checked_at, bce_legal_name = EXCLUDED.bce_legal_name, founded_on = EXCLUDED.founded_on, bce_type_of_enterprise = EXCLUDED.bce_type_of_enterprise, bce_juridical_form = EXCLUDED.bce_juridical_form, bce_juridical_situation = EXCLUDED.bce_juridical_situation, bce_source_update_date = EXCLUDED.bce_source_update_date
WHERE companies.is_claimed IS NOT TRUE;

INSERT INTO companies (slug, market, name, industry, tags, services, pricing_model, budget_level, price_indication, devis_gratuit, city, postal_code, country, address, website, facebook, instagram, linkedin, tiktok, contact_email, contact_name, contact_phone, public_phone, founder_name, founder_role, founder_photo_url, ideal_zone, languages, availability, opening_hours, google_rating, google_reviews_count, google_reviews, company_faq, description, seo_title, seo_description, og_title, og_description, seo_jsonld, seo_generated_at, seo_ai_used, seo_version, seo_last_inputs_hash, why_company, why_entrepreneur, emotional_need_label, rituals, ras_score, logo_url, cover_image_url, gallery_urls, video_urls, video_embed_url, tier, verification_status, verification_checks, content_status, is_claimed, opt_out_status, bce_number, bce_status, bce_source, bce_verified_at, bce_last_checked_at, bce_legal_name, founded_on, bce_type_of_enterprise, bce_juridical_form, bce_juridical_situation, bce_source_update_date, created_at)
SELECT 'desinsectisation-liege-groupe-sante-chc', 'BE-WAL', 'Groupe santé CHC', 'Dératisation', ARRAY['hôpitaux et cliniques', 'infestation urgence', 'protocole sanitaire', 'certification hygiène', 'liège centre', 'emotional need label', 'why company', 'le groupe santé chc applique des protocoles stricts de dératisation, adaptés aux exigences des établissements médicaux pour une sécurité optimale.', 'rituals', 'inspection préalable des zones à risque', 'utilisation d''appâts sécurisés conformes aux normes hospitalières', 'nettoyage post-intervention avec produits désinfectants agréés']::text[], ARRAY['Dératisation', 'Désinsectisation', 'Lutte antiparasitaire', 'Contrôle des nuisibles', 'Prévention des infestations']::text[], NULL, NULL, NULL, NULL, 'Liège', '4000', 'BE', 'Boulevard de Patience et Beaujonc 9', 'https://www.chc.be/', 'https://www.facebook.com/chcliege', 'https://www.instagram.com/chc_liege/', 'https://www.linkedin.com/company/chc-asbl', NULL, 'gil.diaz@chc.be', NULL, '+3243555000', '+3243555000', NULL, NULL, NULL, 'Liège', ARRAY['français']::text[], '24h/24 - 7j/7', NULL, NULL, NULL, NULL, '[{"question":"Proposez-vous des services de dératisation?","answer":"Oui, cette prestation fait partie des interventions proposées, avec vérification sur place avant réalisation."},{"question":"Intervenez-vous au-delà de la zone principale?","answer":"La zone principale est Liège. Les interventions peuvent s''étendre aux communes limitrophes selon le besoin."},{"question":"Comment contrôlez-vous la qualité de votre travail?","answer":"Des vérifications sont effectuées à chaque étape de l''intervention, avec un contrôle final avant la clôture du chantier."},{"question":"Gérez-vous les interventions urgentes?","answer":"Oui, l''organisation permet de répondre aux demandes urgentes (24h/24 - 7j/7)."}]'::jsonb, 'Le Groupe santé CHC, spécialisé dans la dératisation à Liège, combine expertise médicale et solutions sanitaires pour protéger les établissements de santé. Leur approche rigoureuse garantit un environnement sécurisé contre les nuisibles.', 'Désinsectisation à Liège | Groupe santé CHC', 'Protocoles stricts adaptés aux hôpitaux pour une sécurité optimale. Inspection préalable des zones à risque dans les infrastructures médicales de Liège.', 'Groupe santé CHC - Désinsectisation à Liège', 'Interventions spécialisées en dératisation et désinsectisation pour établissements médicaux, avec nettoyage post-intervention et traçabilité des actions.', '{"@context":"https://schema.org","@type":"LocalBusiness","name":"Groupe santé CHC","description":"Désinsectisation spécialisée pour hôpitaux et cliniques à Liège.","url":"https://revelys.be/entreprises/desinsectisation-liege-groupe-sante-chc","sameAs":["https://www.chc.be/"],"address":{"@type":"PostalAddress","streetAddress":"Boulevard de Patience et Beaujonc 9","postalCode":"4000","addressLocality":"Liège","addressCountry":"BE"},"areaServed":{"@type":"City","name":"Liège"},"keywords":["dératisation","désinsectisation","lutte antiparasitaire","contrôle des nuisibles","prévention des infestations","hôpitaux et cliniques","infestation urgence","protocole sanitaire","certification hygiène"],"image":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/desinsectisation-liege-groupe-sante-chc/logo.webp"}'::jsonb, '2026-02-21T01:45:04.189Z', TRUE, 5, '61fe9551b536b3816e67ff8ddfe7aea029d061e55fe3009d5fbeb2d45a7c9a3f', 'Le Groupe santé CHC applique des protocoles stricts de dératisation, adaptés aux exigences des établissements médicaux pour une sécurité optimale.', NULL, 'Sécurité', '[{"name":"Inspection préalable des zones à risque","description":"Identification systématique des points d''entrée et de nidification potentiels dans les infrastructures médicales.","frequency":"Selon le besoin","impact":"Améliore la fiabilité et la qualité d''exécution.","proof":null},{"name":"Utilisation d''appâts sécurisés conformes aux normes","description":"Mise en place de solutions non toxiques pour le personnel et les patients, tout en étant efficaces contre les rongeurs.","frequency":"Selon le besoin","impact":"Améliore la fiabilité et la qualité d''exécution.","proof":null},{"name":"Nettoyage post-intervention avec produits désinfectants","description":"Élimination des résidus et désinfection complète pour éviter toute contamination croisée.","frequency":"Selon le besoin","impact":"Améliore la fiabilité et la qualité d''exécution.","proof":null},{"name":"Documentation détaillée pour traçabilité des interventions","description":"Enregistrement précis des actions menées, dates et résultats pour le suivi qualité.","frequency":"Selon le besoin","impact":"Améliore la fiabilité et la qualité d''exécution.","proof":null},{"name":"Contrôle régulier des points critiques (cuisines, sous-sols)","description":"Surveillance renforcée des zones à haut risque pour prévenir les récidives.","frequency":"Selon le besoin","impact":"Améliore la fiabilité et la qualité d''exécution.","proof":null}]'::jsonb, 85, 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/desinsectisation-liege-groupe-sante-chc/logo.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/desinsectisation-liege-groupe-sante-chc/cover.webp', ARRAY['https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/desinsectisation-liege-groupe-sante-chc/g1.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/desinsectisation-liege-groupe-sante-chc/g2.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/desinsectisation-liege-groupe-sante-chc/g3.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/desinsectisation-liege-groupe-sante-chc/g4.webp']::text[], ARRAY[]::text[], NULL, 'listed', 'pending', '[{"label":"Seed: site crawl","date":"2026-02-21T01:45:47.497Z","proof":"https://www.chc.be/Etablissements/Clinique-CHC-MontLegia"},{"label":"Seed: city hint","date":"2026-02-21T01:45:47.497Z","proof":"Liège"},{"label":"Seed: industry category","date":"2026-02-21T01:45:47.497Z","proof":"Dératisation"},{"label":"Seed: search keyword","date":"2026-02-21T01:45:47.497Z","proof":"désinsectisation"},{"label":"Extracted: city","date":"2026-02-21T01:45:47.497Z","proof":""},{"label":"BCE: mod97 valid","date":"2026-02-21T01:45:47.497Z","proof":"0416805238"},{"label":"Email extracted","date":"2026-02-21T01:45:47.497Z","proof":"gil.diaz@chc.be"},{"label":"LLM structured (mistral-small3.2:24b-instruct-q5_k_m)","date":"2026-02-21T01:45:47.497Z","proof":"confidence=85/100"},{"label":"BCE recovered from local identity","date":"2026-02-21T01:45:47.497Z","proof":"score=60"},{"label":"Phone extracted","date":"2026-02-21T01:45:47.497Z","proof":"source=tel_link"},{"label":"Images uploaded (Supabase Storage)","date":"2026-02-21T01:45:47.497Z","proof":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/desinsectisation-liege-groupe-sante-chc/cover.webp"}]'::jsonb, 'published', FALSE, 'none', 'BE0416805238', 'Actif', 'BCE_CSV', '2026-02-21T01:41:40.697Z', '2026-02-21T01:41:40.697Z', 'Groupe santé CHC', '1976-12-08', 'Personne morale', 'Association sans but lucratif', 'Situation normale', '2026-02-11', '2026-02-21T01:45:47.497Z'
WHERE NOT EXISTS (
  SELECT 1
  FROM companies c_existing
  WHERE c_existing.bce_number = 'BE0416805238'
    AND c_existing.slug <> 'desinsectisation-liege-groupe-sante-chc'
)
ON CONFLICT (slug) DO UPDATE SET market = EXCLUDED.market, name = EXCLUDED.name, industry = EXCLUDED.industry, tags = EXCLUDED.tags, services = EXCLUDED.services, pricing_model = EXCLUDED.pricing_model, budget_level = EXCLUDED.budget_level, price_indication = EXCLUDED.price_indication, devis_gratuit = EXCLUDED.devis_gratuit, city = EXCLUDED.city, postal_code = EXCLUDED.postal_code, country = EXCLUDED.country, address = EXCLUDED.address, website = EXCLUDED.website, facebook = EXCLUDED.facebook, instagram = EXCLUDED.instagram, linkedin = EXCLUDED.linkedin, tiktok = EXCLUDED.tiktok, contact_email = EXCLUDED.contact_email, contact_name = EXCLUDED.contact_name, contact_phone = EXCLUDED.contact_phone, public_phone = EXCLUDED.public_phone, founder_name = EXCLUDED.founder_name, founder_role = EXCLUDED.founder_role, founder_photo_url = EXCLUDED.founder_photo_url, ideal_zone = EXCLUDED.ideal_zone, languages = EXCLUDED.languages, availability = EXCLUDED.availability, opening_hours = EXCLUDED.opening_hours, google_rating = EXCLUDED.google_rating, google_reviews_count = EXCLUDED.google_reviews_count, google_reviews = EXCLUDED.google_reviews, company_faq = EXCLUDED.company_faq, description = EXCLUDED.description, seo_title = EXCLUDED.seo_title, seo_description = EXCLUDED.seo_description, og_title = EXCLUDED.og_title, og_description = EXCLUDED.og_description, seo_jsonld = EXCLUDED.seo_jsonld, seo_generated_at = EXCLUDED.seo_generated_at, seo_ai_used = EXCLUDED.seo_ai_used, seo_version = EXCLUDED.seo_version, seo_last_inputs_hash = EXCLUDED.seo_last_inputs_hash, why_company = EXCLUDED.why_company, why_entrepreneur = EXCLUDED.why_entrepreneur, emotional_need_label = EXCLUDED.emotional_need_label, rituals = EXCLUDED.rituals, ras_score = EXCLUDED.ras_score, logo_url = EXCLUDED.logo_url, cover_image_url = EXCLUDED.cover_image_url, gallery_urls = EXCLUDED.gallery_urls, video_urls = EXCLUDED.video_urls, video_embed_url = EXCLUDED.video_embed_url, tier = EXCLUDED.tier, verification_status = EXCLUDED.verification_status, verification_checks = EXCLUDED.verification_checks, content_status = EXCLUDED.content_status, is_claimed = EXCLUDED.is_claimed, opt_out_status = EXCLUDED.opt_out_status, bce_number = EXCLUDED.bce_number, bce_status = EXCLUDED.bce_status, bce_source = EXCLUDED.bce_source, bce_verified_at = EXCLUDED.bce_verified_at, bce_last_checked_at = EXCLUDED.bce_last_checked_at, bce_legal_name = EXCLUDED.bce_legal_name, founded_on = EXCLUDED.founded_on, bce_type_of_enterprise = EXCLUDED.bce_type_of_enterprise, bce_juridical_form = EXCLUDED.bce_juridical_form, bce_juridical_situation = EXCLUDED.bce_juridical_situation, bce_source_update_date = EXCLUDED.bce_source_update_date
WHERE companies.is_claimed IS NOT TRUE;

INSERT INTO companies (slug, market, name, industry, tags, services, pricing_model, budget_level, price_indication, devis_gratuit, city, postal_code, country, address, website, facebook, instagram, linkedin, tiktok, contact_email, contact_name, contact_phone, public_phone, founder_name, founder_role, founder_photo_url, ideal_zone, languages, availability, opening_hours, google_rating, google_reviews_count, google_reviews, company_faq, description, seo_title, seo_description, og_title, og_description, seo_jsonld, seo_generated_at, seo_ai_used, seo_version, seo_last_inputs_hash, why_company, why_entrepreneur, emotional_need_label, rituals, ras_score, logo_url, cover_image_url, gallery_urls, video_urls, video_embed_url, tier, verification_status, verification_checks, content_status, is_claimed, opt_out_status, bce_number, bce_status, bce_source, bce_verified_at, bce_last_checked_at, bce_legal_name, founded_on, bce_type_of_enterprise, bce_juridical_form, bce_juridical_situation, bce_source_update_date, created_at)
SELECT 'deratisation-liege-prorisk-guepes', 'BE-WAL', 'Prorisk Guêpes', 'Dératisation', ARRAY['extermination', 'nuisibles', 'dératisation', 'frelons asiatiques', 'guêpes', 'liège', 'destruction de nids de guêpes frelons', 'désinsectisation (punaises', 'cafards)']::text[], ARRAY['Destruction de nids de guêpes frelons', 'Dératisation', 'Désinsectisation (punaises', 'Cafards)']::text[], 'sur_devis', NULL, NULL, TRUE, 'Waremme', '4300', 'BE', '6 Clos des Wérixhas, , WAL, BE', 'https://www.proriskguepesetderatisation.be/', 'https://www.facebook.com/proriskguepe', 'https://www.instagram.com/proriskguepes/', NULL, NULL, 'pagevincent@prorisk-guepes.be', NULL, '+32498782100', '+32498782100', NULL, NULL, NULL, 'Waremme', ARRAY['français']::text[], '24h/24 - 7j/7', NULL, NULL, NULL, NULL, '[{"question":"Proposez-vous des services de destruction de nids de guêpes frelons?","answer":"Oui, cette prestation fait partie des interventions proposées, avec vérification sur place avant réalisation."},{"question":"Intervenez-vous au-delà de la zone principale?","answer":"La zone principale est Waremme. Les interventions peuvent s''étendre aux communes limitrophes selon le besoin."},{"question":"Comment contrôlez-vous la qualité de votre travail?","answer":"Des vérifications sont effectuées à chaque étape de l''intervention, avec un contrôle final avant la clôture du chantier."},{"question":"Gérez-vous les interventions urgentes?","answer":"Oui, l''organisation permet de répondre aux demandes urgentes (24h/24 - 7j/7)."}]'::jsonb, 'Extermination de nuisibles en province de Liège: guêpes, frelons asiatiques, rongeurs et insectes. Intervention rapide, tarifs fixes.', 'Dératisation à Waremme | Prorisk Guêpes', 'Expertise certifiée CRA-W pour éliminer guêpes et rongeurs. Intervention jusqu''à 30m de hauteur en Wallonie.', 'Prorisk Guêpes - Dératisation Waremme', 'Service professionnel d''extermination de nuisibles (guêpes, frelons, rats) à Waremme et Liège. Disponible 7j/7.', '{"@context":"https://schema.org","@type":"PestControl","name":"Prorisk Guêpes","description":"Dératisation et désinsectisation professionnelle à Waremme et Liège.","url":"https://revelys.be/entreprises/deratisation-liege-prorisk-guepes","sameAs":["https://www.proriskguepesetderatisation.be/"],"address":{"@type":"PostalAddress","streetAddress":"6 Clos des Wérixhas","postalCode":"4300","addressLocality":"Waremme","addressCountry":"BE"},"areaServed":["Waremme","Liège"],"keywords":["extermination","nuisibles","dératisation","frelons asiatiques","guêpes","destruction de nids de guêpes frelons","désinsectisation (punaises","cafards)","Destruction de nids de guêpes frelons","Dératisation","Désinsectisation"],"image":[{"@type":"ImageObject","url":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/deratisation-liege-prorisk-guepes/logo.webp"}]}'::jsonb, '2026-02-21T01:54:06.638Z', TRUE, 5, '4c0dc9876089fbd242217c7c2611ecd1b0a3d01443c0ece42a1ca64d2b1651db', 'Expertise certifiée (CRA-W), tarifs fixes, disponibilité 7j/7 de 7h à 22h.', NULL, 'Sécurité', '[{"name":"Destruction nid frelon asiatique","description":"Intervention jusqu''à 30m de hauteur avec produits spécialisés. Prix fixe: 50€ TTC/nid.","frequency":"À la demande","impact":"Élimination immédiate du risque sanitaire","proof":null},{"name":"Dératisation","description":"3 étapes: inspection, identification espèce, traitement ciblé.","frequency":"Urgence ou prévention","impact":"Environnement assaini et sécurisé","proof":null},{"name":"Désinsectisation","description":"Traitement professionnel contre punaises de lit, cafards...","frequency":"Sur devis","impact":"Éradication complète des infestations","proof":null}]'::jsonb, 37, 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/deratisation-liege-prorisk-guepes/logo.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/deratisation-liege-prorisk-guepes/cover.webp', ARRAY['https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/deratisation-liege-prorisk-guepes/g1.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/deratisation-liege-prorisk-guepes/g2.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/deratisation-liege-prorisk-guepes/g3.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/deratisation-liege-prorisk-guepes/g4.webp']::text[], ARRAY[]::text[], NULL, 'listed', 'pending', '[{"label":"Seed: site crawl","date":"2026-02-21T01:54:52.512Z","proof":"https://www.proriskguepesetderatisation.be/rats"},{"label":"Seed: city hint","date":"2026-02-21T01:54:52.512Z","proof":"Liège"},{"label":"Seed: industry category","date":"2026-02-21T01:54:52.512Z","proof":"Dératisation"},{"label":"Seed: search keyword","date":"2026-02-21T01:54:52.512Z","proof":"Dératisation"},{"label":"Extracted: city","date":"2026-02-21T01:54:52.512Z","proof":"Waremme"},{"label":"BCE: mod97 valid","date":"2026-02-21T01:54:52.512Z","proof":"0673640749"},{"label":"Email extracted","date":"2026-02-21T01:54:52.512Z","proof":"pagevincent@prorisk-guepes.be"},{"label":"LLM structured (mistral-small3.2:24b-instruct-q5_k_m)","date":"2026-02-21T01:54:52.512Z","proof":"confidence=92/100"},{"label":"Phone extracted","date":"2026-02-21T01:54:52.512Z","proof":"source=tel_link"},{"label":"Images uploaded (Supabase Storage)","date":"2026-02-21T01:54:52.512Z","proof":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/deratisation-liege-prorisk-guepes/cover.webp"}]'::jsonb, 'published', FALSE, 'none', 'BE0673640749', 'Actif', 'BCE_CSV', '2026-02-21T01:51:03.994Z', '2026-02-21T01:51:03.994Z', 'Risko, Vincent', '2017-04-01', 'Personne physique', NULL, 'Situation normale', '2026-02-11', '2026-02-21T01:54:52.512Z'
WHERE NOT EXISTS (
  SELECT 1
  FROM companies c_existing
  WHERE c_existing.bce_number = 'BE0673640749'
    AND c_existing.slug <> 'deratisation-liege-prorisk-guepes'
)
ON CONFLICT (slug) DO UPDATE SET market = EXCLUDED.market, name = EXCLUDED.name, industry = EXCLUDED.industry, tags = EXCLUDED.tags, services = EXCLUDED.services, pricing_model = EXCLUDED.pricing_model, budget_level = EXCLUDED.budget_level, price_indication = EXCLUDED.price_indication, devis_gratuit = EXCLUDED.devis_gratuit, city = EXCLUDED.city, postal_code = EXCLUDED.postal_code, country = EXCLUDED.country, address = EXCLUDED.address, website = EXCLUDED.website, facebook = EXCLUDED.facebook, instagram = EXCLUDED.instagram, linkedin = EXCLUDED.linkedin, tiktok = EXCLUDED.tiktok, contact_email = EXCLUDED.contact_email, contact_name = EXCLUDED.contact_name, contact_phone = EXCLUDED.contact_phone, public_phone = EXCLUDED.public_phone, founder_name = EXCLUDED.founder_name, founder_role = EXCLUDED.founder_role, founder_photo_url = EXCLUDED.founder_photo_url, ideal_zone = EXCLUDED.ideal_zone, languages = EXCLUDED.languages, availability = EXCLUDED.availability, opening_hours = EXCLUDED.opening_hours, google_rating = EXCLUDED.google_rating, google_reviews_count = EXCLUDED.google_reviews_count, google_reviews = EXCLUDED.google_reviews, company_faq = EXCLUDED.company_faq, description = EXCLUDED.description, seo_title = EXCLUDED.seo_title, seo_description = EXCLUDED.seo_description, og_title = EXCLUDED.og_title, og_description = EXCLUDED.og_description, seo_jsonld = EXCLUDED.seo_jsonld, seo_generated_at = EXCLUDED.seo_generated_at, seo_ai_used = EXCLUDED.seo_ai_used, seo_version = EXCLUDED.seo_version, seo_last_inputs_hash = EXCLUDED.seo_last_inputs_hash, why_company = EXCLUDED.why_company, why_entrepreneur = EXCLUDED.why_entrepreneur, emotional_need_label = EXCLUDED.emotional_need_label, rituals = EXCLUDED.rituals, ras_score = EXCLUDED.ras_score, logo_url = EXCLUDED.logo_url, cover_image_url = EXCLUDED.cover_image_url, gallery_urls = EXCLUDED.gallery_urls, video_urls = EXCLUDED.video_urls, video_embed_url = EXCLUDED.video_embed_url, tier = EXCLUDED.tier, verification_status = EXCLUDED.verification_status, verification_checks = EXCLUDED.verification_checks, content_status = EXCLUDED.content_status, is_claimed = EXCLUDED.is_claimed, opt_out_status = EXCLUDED.opt_out_status, bce_number = EXCLUDED.bce_number, bce_status = EXCLUDED.bce_status, bce_source = EXCLUDED.bce_source, bce_verified_at = EXCLUDED.bce_verified_at, bce_last_checked_at = EXCLUDED.bce_last_checked_at, bce_legal_name = EXCLUDED.bce_legal_name, founded_on = EXCLUDED.founded_on, bce_type_of_enterprise = EXCLUDED.bce_type_of_enterprise, bce_juridical_form = EXCLUDED.bce_juridical_form, bce_juridical_situation = EXCLUDED.bce_juridical_situation, bce_source_update_date = EXCLUDED.bce_source_update_date
WHERE companies.is_claimed IS NOT TRUE;

INSERT INTO companies (slug, market, name, industry, tags, services, pricing_model, budget_level, price_indication, devis_gratuit, city, postal_code, country, address, website, facebook, instagram, linkedin, tiktok, contact_email, contact_name, contact_phone, public_phone, founder_name, founder_role, founder_photo_url, ideal_zone, languages, availability, opening_hours, google_rating, google_reviews_count, google_reviews, company_faq, description, seo_title, seo_description, og_title, og_description, seo_jsonld, seo_generated_at, seo_ai_used, seo_version, seo_last_inputs_hash, why_company, why_entrepreneur, emotional_need_label, rituals, ras_score, logo_url, cover_image_url, gallery_urls, video_urls, video_embed_url, tier, verification_status, verification_checks, content_status, is_claimed, opt_out_status, bce_number, bce_status, bce_source, bce_verified_at, bce_last_checked_at, bce_legal_name, founded_on, bce_type_of_enterprise, bce_juridical_form, bce_juridical_situation, bce_source_update_date, created_at)
SELECT 'ramonage-liege-struvay', 'BE-WAL', 'Struvay', 'Ramonage', ARRAY['ramonage obligatoire', 'cheminée bouchée', 'nid d''oiseaux dans conduit', 'tirage insuffisant', 'certificat légal', 'tarif dégressif', 'province liège', 'ramonage par le bas', 'ramonage de conduits de fumée', 'entretien de cheminée', 'vérification de tirage', 'nettoyage de suie']::text[], ARRAY['Ramonage par le bas', 'Ramonage de conduits de fumée', 'Entretien de cheminée', 'Vérification de tirage', 'Nettoyage de suie']::text[], 'horaire', NULL, NULL, NULL, 'Herstal', '4042', 'BE', 'Rue E. Lerousseau 32/34', 'https://struvay.be/', 'https://www.facebook.com/magasinstruvay/', NULL, NULL, NULL, 'info@struvay.be', NULL, '+3242785060', '+3242785060', NULL, NULL, NULL, 'Herstal', ARRAY['français']::text[], NULL, NULL, NULL, NULL, NULL, '[{"question":"Proposez-vous des services de ramonage par le bas?","answer":"Oui, cette prestation fait partie des interventions proposées, avec vérification sur place avant réalisation."},{"question":"Quelles communes sont couvertes en priorité?","answer":"Les interventions se déroulent à Herstal et dans les communes avoisinantes, selon la nature de la demande."}]'::jsonb, 'Struvay propose un ramonage par le bas en province de Liège, incluant déplacement et facture certificative. Spécialisée dans les cheminées jusqu''à 10 mètres, l''entreprise applique des tarifs dégressifs pour plusieurs interventions simultanées.', 'Ramonage à Herstal | Struvay', 'Ramonage par le bas avec certificat légal inclus. Techniciens formés pour éviter les conduits bouchés en Province de Liège.', 'Struvay - Ramonage professionnel à Herstal', 'Entreprise spécialisée dans l''entretien des cheminées et conduits de fumée à Herstal, avec vérification du tirage incluse.', '{"@context":"https://schema.org","@type":"LocalBusiness","name":"Struvay","description":"Ramonage professionnel à Herstal avec certificat légal inclus.","url":"https://revelys.be/entreprises/ramonage-liege-struvay","sameAs":["https://struvay.be/"],"address":{"@type":"PostalAddress","streetAddress":"Rue E. Lerousseau 32/34","postalCode":"4042","addressLocality":"Herstal","addressCountry":"BE"},"areaServed":{"@type":"Place","name":"Herstal, Province de Liège"},"keywords":["ramonage obligatoire","cheminée bouchée","nid d''oiseaux dans conduit","tirage insuffisant","certificat légal","tarif dégressif","province liège","ramonage par le bas","ramonage de conduits de fumée","entretien de cheminée","vérification de tirage","nettoyage de suie"],"image":["https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/ramonage-liege-struvay/logo.webp","https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/ramonage-liege-struvay/cover.webp"],"logo":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/ramonage-liege-struvay/logo.webp","hasOfferCatalog":{"@type":"OfferCatalog","itemListElement":[{"@type":"OfferItem","name":"Ramonage par le bas"},{"@type":"OfferItem","name":"Ramonage de conduits de fumée"},{"@type":"OfferItem","name":"Entretien de cheminée"},{"@type":"OfferItem","name":"Vérification de tirage"},{"@type":"OfferItem","name":"Nettoyage de suie"}]}}'::jsonb, '2026-02-21T01:58:26.207Z', TRUE, 5, '808aa9f1bdf8264474871ae66095fd79164c243cc1281aa66f5115db4662e70e', 'Struvay se distingue par son approche transparente avec des prix tout compris et une facture certificative, garantissant la conformité légale de vos installations.', NULL, 'Durabilité', '[{"name":"Vérification préalable du conduit","description":"Le technicien inspecte l''accès au sol (trappe de ramonage) et mesure la longueur du conduit pour confirmer la faisabilité du ramonage par le bas.","frequency":"100%","impact":"Évite les surcoûts liés à un ramonage par le haut ou à des conduits bouchés.","proof":null},{"name":"Nettoyage avec brosse hélicoïdale","description":"Utilisation d''une brosse adaptée au diamètre du conduit pour éliminer suie et dépôts, suivie d''un passage de l''aspirateur industriel.","frequency":"100%","impact":"Assure un nettoyage complet des parois intérieures.","proof":null},{"name":"Test du tirage après intervention","description":"Vérification visuelle et manuelle de la circulation d''air dans le conduit pour confirmer son bon fonctionnement.","frequency":"100%","impact":"Prévient les risques d''intoxication au monoxyde de carbone.","proof":null}]'::jsonb, 98, 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/ramonage-liege-struvay/logo.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/ramonage-liege-struvay/cover.webp', ARRAY['https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/ramonage-liege-struvay/g1.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/ramonage-liege-struvay/g2.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/ramonage-liege-struvay/g3.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/ramonage-liege-struvay/g4.webp']::text[], ARRAY[]::text[], NULL, 'listed', 'pending', '[{"label":"Seed: site crawl","date":"2026-02-21T01:59:34.540Z","proof":"https://struvay.be/service/1638-ramonage-par-le-bas.html?srsltid=AfmBOoqtmCSdtQRg3BsEg8Yj5j2_3tAQmXjrpfk52lXrGzPAivgovGrN"},{"label":"Seed: city hint","date":"2026-02-21T01:59:34.540Z","proof":"Liège"},{"label":"Seed: industry category","date":"2026-02-21T01:59:34.540Z","proof":"Ramonage"},{"label":"Seed: search keyword","date":"2026-02-21T01:59:34.540Z","proof":"Ramonage"},{"label":"Extracted: city","date":"2026-02-21T01:59:34.540Z","proof":""},{"label":"BCE: mod97 valid","date":"2026-02-21T01:59:34.540Z","proof":"0411937620"},{"label":"Email extracted","date":"2026-02-21T01:59:34.540Z","proof":"info@struvay.be"},{"label":"LLM structured (mistral-small3.2:24b-instruct-q5_k_m)","date":"2026-02-21T01:59:34.540Z","proof":"confidence=90/100"},{"label":"Phone extracted","date":"2026-02-21T01:59:34.540Z","proof":"source=tel_link"},{"label":"Images uploaded (Supabase Storage)","date":"2026-02-21T01:59:34.540Z","proof":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/ramonage-liege-struvay/cover.webp"}]'::jsonb, 'published', FALSE, 'none', 'BE0411937620', 'Actif', 'BCE_CSV', '2026-02-21T01:55:58.846Z', '2026-02-21T01:55:58.846Z', 'STRUVAY', '1971-12-01', 'Personne morale', 'Société à responsabilité limitée', 'Situation normale', '2026-02-11', '2026-02-21T01:59:34.540Z'
WHERE NOT EXISTS (
  SELECT 1
  FROM companies c_existing
  WHERE c_existing.bce_number = 'BE0411937620'
    AND c_existing.slug <> 'ramonage-liege-struvay'
)
ON CONFLICT (slug) DO UPDATE SET market = EXCLUDED.market, name = EXCLUDED.name, industry = EXCLUDED.industry, tags = EXCLUDED.tags, services = EXCLUDED.services, pricing_model = EXCLUDED.pricing_model, budget_level = EXCLUDED.budget_level, price_indication = EXCLUDED.price_indication, devis_gratuit = EXCLUDED.devis_gratuit, city = EXCLUDED.city, postal_code = EXCLUDED.postal_code, country = EXCLUDED.country, address = EXCLUDED.address, website = EXCLUDED.website, facebook = EXCLUDED.facebook, instagram = EXCLUDED.instagram, linkedin = EXCLUDED.linkedin, tiktok = EXCLUDED.tiktok, contact_email = EXCLUDED.contact_email, contact_name = EXCLUDED.contact_name, contact_phone = EXCLUDED.contact_phone, public_phone = EXCLUDED.public_phone, founder_name = EXCLUDED.founder_name, founder_role = EXCLUDED.founder_role, founder_photo_url = EXCLUDED.founder_photo_url, ideal_zone = EXCLUDED.ideal_zone, languages = EXCLUDED.languages, availability = EXCLUDED.availability, opening_hours = EXCLUDED.opening_hours, google_rating = EXCLUDED.google_rating, google_reviews_count = EXCLUDED.google_reviews_count, google_reviews = EXCLUDED.google_reviews, company_faq = EXCLUDED.company_faq, description = EXCLUDED.description, seo_title = EXCLUDED.seo_title, seo_description = EXCLUDED.seo_description, og_title = EXCLUDED.og_title, og_description = EXCLUDED.og_description, seo_jsonld = EXCLUDED.seo_jsonld, seo_generated_at = EXCLUDED.seo_generated_at, seo_ai_used = EXCLUDED.seo_ai_used, seo_version = EXCLUDED.seo_version, seo_last_inputs_hash = EXCLUDED.seo_last_inputs_hash, why_company = EXCLUDED.why_company, why_entrepreneur = EXCLUDED.why_entrepreneur, emotional_need_label = EXCLUDED.emotional_need_label, rituals = EXCLUDED.rituals, ras_score = EXCLUDED.ras_score, logo_url = EXCLUDED.logo_url, cover_image_url = EXCLUDED.cover_image_url, gallery_urls = EXCLUDED.gallery_urls, video_urls = EXCLUDED.video_urls, video_embed_url = EXCLUDED.video_embed_url, tier = EXCLUDED.tier, verification_status = EXCLUDED.verification_status, verification_checks = EXCLUDED.verification_checks, content_status = EXCLUDED.content_status, is_claimed = EXCLUDED.is_claimed, opt_out_status = EXCLUDED.opt_out_status, bce_number = EXCLUDED.bce_number, bce_status = EXCLUDED.bce_status, bce_source = EXCLUDED.bce_source, bce_verified_at = EXCLUDED.bce_verified_at, bce_last_checked_at = EXCLUDED.bce_last_checked_at, bce_legal_name = EXCLUDED.bce_legal_name, founded_on = EXCLUDED.founded_on, bce_type_of_enterprise = EXCLUDED.bce_type_of_enterprise, bce_juridical_form = EXCLUDED.bce_juridical_form, bce_juridical_situation = EXCLUDED.bce_juridical_situation, bce_source_update_date = EXCLUDED.bce_source_update_date
WHERE companies.is_claimed IS NOT TRUE;

INSERT INTO companies (slug, market, name, industry, tags, services, pricing_model, budget_level, price_indication, devis_gratuit, city, postal_code, country, address, website, facebook, instagram, linkedin, tiktok, contact_email, contact_name, contact_phone, public_phone, founder_name, founder_role, founder_photo_url, ideal_zone, languages, availability, opening_hours, google_rating, google_reviews_count, google_reviews, company_faq, description, seo_title, seo_description, og_title, og_description, seo_jsonld, seo_generated_at, seo_ai_used, seo_version, seo_last_inputs_hash, why_company, why_entrepreneur, emotional_need_label, rituals, ras_score, logo_url, cover_image_url, gallery_urls, video_urls, video_embed_url, tier, verification_status, verification_checks, content_status, is_claimed, opt_out_status, bce_number, bce_status, bce_source, bce_verified_at, bce_last_checked_at, bce_legal_name, founded_on, bce_type_of_enterprise, bce_juridical_form, bce_juridical_situation, bce_source_update_date, created_at)
SELECT 'ramonage-liege-servi-home', 'BE-WAL', 'Servi-Home', 'Ramonage', ARRAY['obstruction cheminée', 'certificat ramonage', 'monoxyde carbone', 'entretien annuel obligatoire', 'réparation tubage', 'membre fédération ramoneurs belgique', 'ramonage de cheminées', 'tubage de cheminée', 'réparation de cheminée', 'entretien de chaudière']::text[], ARRAY['Ramonage de cheminées', 'Tubage de cheminée', 'Réparation de cheminée', 'Entretien de chaudière']::text[], NULL, NULL, NULL, NULL, 'Liège', '4030', 'BE', 'Rue Belvaux 220', 'https://www.servi-home.be/', 'https://www.facebook.com/Servi-Home-SC-643483422460366/?fref=ts', NULL, NULL, NULL, 'info@servi-home.be', NULL, '+3243427794', '+3243427794', NULL, NULL, NULL, 'Liège', ARRAY['français']::text[], 'Du lundi au vendredi', NULL, NULL, NULL, NULL, '[{"question":"Proposez-vous des services de ramonage de cheminées?","answer":"Oui, cette prestation fait partie des interventions proposées, avec vérification sur place avant réalisation."},{"question":"Intervenez-vous au-delà de la zone principale?","answer":"La zone principale est Liège. Les interventions peuvent s''étendre aux communes limitrophes selon le besoin."},{"question":"Comment contrôlez-vous la qualité de votre travail?","answer":"La qualité est suivie via utilisation d''un hérisson métallique pour décoller mécaniquement les suies accumulées sur les parois du conduit, suivi d''une aspiration professionnelle."},{"question":"Qu''est-ce qui vous distingue sur votre marche local?","answer":"Servi-Home se distingue par son expertise familiale depuis plus de 40 ans et sa certification par la Fédération des Ramoneurs de Belgique. L''entreprise combine savoir-faire traditionnel et respect strict des normes de sécurité."}]'::jsonb, 'Servi-Home, entreprise spécialisée dans le ramonage et l''entretien de cheminées depuis 1974, intervient à Grivegnée et ses environs. Ses experts agréés assurent un nettoyage minutieux des conduits, la remise d''un certificat légal et des réparations si nécessaire. L''entreprise familiale mise sur une expertise éprouvée pour garantir sécurité et conformité.', 'Ramonage à Liège | Servi-Home', 'Entretien annuel obligatoire des cheminées avec certificat légal. Membre de la Fédération des Ramoneurs de Belgique pour une sécurité optimale.', 'Servi-Home - Ramonage professionnel à Liège', 'Ramonage, tubage et réparation de cheminées à Liège. Expertise familiale depuis plus de 40 ans avec certification officielle.', '{"@context":"https://schema.org","@type":"LocalBusiness","name":"Servi-Home","description":"Ramonage professionnel et entretien des cheminées à Liège","url":"https://revelys.be/entreprises/ramonage-liege-servi-home","sameAs":["https://www.servi-home.be/"],"address":{"@type":"PostalAddress","streetAddress":"Rue Belvaux 220","postalCode":"4030","addressLocality":"Liège","addressCountry":"BE"},"areaServed":"Liège","keywords":["obstruction cheminée","certificat ramonage","monoxyde carbone","entretien annuel obligatoire","réparation tubage","membre fédération ramoneurs belgique","ramonage de cheminées","tubage de cheminée","réparation de cheminée","entretien de chaudière"],"image":["https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/ramonage-liege-servi-home/logo.webp","https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/ramonage-liege-servi-home/cover.webp"]}'::jsonb, '2026-02-21T02:02:10.727Z', TRUE, 5, '87ba9e88dc7663b2c2cda89deed29be1c72908e3312cc9574c0f9739ffa04996', 'Servi-Home se distingue par son expertise familiale depuis plus de 40 ans et sa certification par la Fédération des Ramoneurs de Belgique. L''entreprise combine savoir-faire traditionnel et respect strict des normes de sécurité.', NULL, 'Durabilité', '[{"name":"Décrassage au hérisson","description":"Utilisation d''un hérisson métallique pour décoller mécaniquement les suies accumulées sur les parois du conduit, suivi d''une aspiration professionnelle.","frequency":"toujours","impact":"élimine efficacement les dépôts obstruants","proof":null},{"name":"Test de tirage post-intervention","description":"Vérification systématique du bon fonctionnement du conduit après ramonage pour garantir l''absence d''obstruction et un tirage optimal.","frequency":"toujours","impact":"valide la sécurité de l''installation","proof":null},{"name":"Remise certificat légal","description":"Fourniture d''un document officiel attestant du ramonage effectué, indispensable pour les assurances et conforme à la réglementation belge.","frequency":"toujours","impact":"garantit la conformité légale","proof":null}]'::jsonb, 98, 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/ramonage-liege-servi-home/logo.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/ramonage-liege-servi-home/cover.webp', ARRAY['https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/ramonage-liege-servi-home/g1.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/ramonage-liege-servi-home/g2.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/ramonage-liege-servi-home/g3.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/ramonage-liege-servi-home/g4.webp']::text[], ARRAY[]::text[], NULL, 'listed', 'pending', '[{"label":"Seed: site crawl","date":"2026-02-21T02:02:56.381Z","proof":"https://www.servi-home.be/"},{"label":"Seed: city hint","date":"2026-02-21T02:02:56.381Z","proof":"Liège"},{"label":"Seed: industry category","date":"2026-02-21T02:02:56.381Z","proof":"Ramonage"},{"label":"Seed: search keyword","date":"2026-02-21T02:02:56.381Z","proof":"Ramonage"},{"label":"Extracted: city","date":"2026-02-21T02:02:56.381Z","proof":"Grivegnée"},{"label":"BCE: mod97 valid","date":"2026-02-21T02:02:56.381Z","proof":"0425529003"},{"label":"Email extracted","date":"2026-02-21T02:02:56.381Z","proof":"info@servi-home.be"},{"label":"LLM structured (mistral-small3.2:24b-instruct-q5_k_m)","date":"2026-02-21T02:02:56.381Z","proof":"confidence=80/100"},{"label":"Phone extracted","date":"2026-02-21T02:02:56.381Z","proof":"source=text"},{"label":"Images uploaded (Supabase Storage)","date":"2026-02-21T02:02:56.381Z","proof":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/ramonage-liege-servi-home/cover.webp"}]'::jsonb, 'published', FALSE, 'none', 'BE0425529003', 'Actif', 'BCE_CSV', '2026-02-21T01:59:36.619Z', '2026-02-21T01:59:36.619Z', 'SERVI-HOME', '1984-03-15', 'Personne morale', 'Société à responsabilité limitée', 'Situation normale', '2026-02-11', '2026-02-21T02:02:56.381Z'
WHERE NOT EXISTS (
  SELECT 1
  FROM companies c_existing
  WHERE c_existing.bce_number = 'BE0425529003'
    AND c_existing.slug <> 'ramonage-liege-servi-home'
)
ON CONFLICT (slug) DO UPDATE SET market = EXCLUDED.market, name = EXCLUDED.name, industry = EXCLUDED.industry, tags = EXCLUDED.tags, services = EXCLUDED.services, pricing_model = EXCLUDED.pricing_model, budget_level = EXCLUDED.budget_level, price_indication = EXCLUDED.price_indication, devis_gratuit = EXCLUDED.devis_gratuit, city = EXCLUDED.city, postal_code = EXCLUDED.postal_code, country = EXCLUDED.country, address = EXCLUDED.address, website = EXCLUDED.website, facebook = EXCLUDED.facebook, instagram = EXCLUDED.instagram, linkedin = EXCLUDED.linkedin, tiktok = EXCLUDED.tiktok, contact_email = EXCLUDED.contact_email, contact_name = EXCLUDED.contact_name, contact_phone = EXCLUDED.contact_phone, public_phone = EXCLUDED.public_phone, founder_name = EXCLUDED.founder_name, founder_role = EXCLUDED.founder_role, founder_photo_url = EXCLUDED.founder_photo_url, ideal_zone = EXCLUDED.ideal_zone, languages = EXCLUDED.languages, availability = EXCLUDED.availability, opening_hours = EXCLUDED.opening_hours, google_rating = EXCLUDED.google_rating, google_reviews_count = EXCLUDED.google_reviews_count, google_reviews = EXCLUDED.google_reviews, company_faq = EXCLUDED.company_faq, description = EXCLUDED.description, seo_title = EXCLUDED.seo_title, seo_description = EXCLUDED.seo_description, og_title = EXCLUDED.og_title, og_description = EXCLUDED.og_description, seo_jsonld = EXCLUDED.seo_jsonld, seo_generated_at = EXCLUDED.seo_generated_at, seo_ai_used = EXCLUDED.seo_ai_used, seo_version = EXCLUDED.seo_version, seo_last_inputs_hash = EXCLUDED.seo_last_inputs_hash, why_company = EXCLUDED.why_company, why_entrepreneur = EXCLUDED.why_entrepreneur, emotional_need_label = EXCLUDED.emotional_need_label, rituals = EXCLUDED.rituals, ras_score = EXCLUDED.ras_score, logo_url = EXCLUDED.logo_url, cover_image_url = EXCLUDED.cover_image_url, gallery_urls = EXCLUDED.gallery_urls, video_urls = EXCLUDED.video_urls, video_embed_url = EXCLUDED.video_embed_url, tier = EXCLUDED.tier, verification_status = EXCLUDED.verification_status, verification_checks = EXCLUDED.verification_checks, content_status = EXCLUDED.content_status, is_claimed = EXCLUDED.is_claimed, opt_out_status = EXCLUDED.opt_out_status, bce_number = EXCLUDED.bce_number, bce_status = EXCLUDED.bce_status, bce_source = EXCLUDED.bce_source, bce_verified_at = EXCLUDED.bce_verified_at, bce_last_checked_at = EXCLUDED.bce_last_checked_at, bce_legal_name = EXCLUDED.bce_legal_name, founded_on = EXCLUDED.founded_on, bce_type_of_enterprise = EXCLUDED.bce_type_of_enterprise, bce_juridical_form = EXCLUDED.bce_juridical_form, bce_juridical_situation = EXCLUDED.bce_juridical_situation, bce_source_update_date = EXCLUDED.bce_source_update_date
WHERE companies.is_claimed IS NOT TRUE;

INSERT INTO companies (slug, market, name, industry, tags, services, pricing_model, budget_level, price_indication, devis_gratuit, city, postal_code, country, address, website, facebook, instagram, linkedin, tiktok, contact_email, contact_name, contact_phone, public_phone, founder_name, founder_role, founder_photo_url, ideal_zone, languages, availability, opening_hours, google_rating, google_reviews_count, google_reviews, company_faq, description, seo_title, seo_description, og_title, og_description, seo_jsonld, seo_generated_at, seo_ai_used, seo_version, seo_last_inputs_hash, why_company, why_entrepreneur, emotional_need_label, rituals, ras_score, logo_url, cover_image_url, gallery_urls, video_urls, video_embed_url, tier, verification_status, verification_checks, content_status, is_claimed, opt_out_status, bce_number, bce_status, bce_source, bce_verified_at, bce_last_checked_at, bce_legal_name, founded_on, bce_type_of_enterprise, bce_juridical_form, bce_juridical_situation, bce_source_update_date, created_at)
SELECT 'entretien-cheminee-liege-cheminees-liegeois', 'BE-WAL', 'Cheminées Liégeois', 'Ramonage', ARRAY['ramonage obligatoire', 'conduit de cheminée inox', 'dépannage urgent', 'poêle à pellets', 'garantie décennale', 'technicien certifié', 'entretien annuel', 'ramonage de cheminée', 'entretien de poêles à bois', 'nettoyage d''inserts', 'vérification des conduits', 'dépannage de systèmes de chauffage']::text[], ARRAY['Ramonage de cheminée', 'Entretien de poêles à bois', 'Nettoyage d''inserts', 'Vérification des conduits', 'Dépannage de systèmes de chauffage']::text[], 'sur_devis', NULL, NULL, TRUE, 'Herve', '4651', 'BE', 'Rue de Herve 109', 'https://www.chemineesliegeois.be/', 'https://www.facebook.com/chemineesliegeois', 'https://www.instagram.com/cheminees.liegeois/', NULL, NULL, 'contact@immocostamar.be', NULL, '+3287674211', '+3287674211', NULL, NULL, NULL, 'Herve', ARRAY['français']::text[], 'Du lundi au vendredi', NULL, NULL, NULL, NULL, '[{"question":"Proposez-vous des services de ramonage de cheminée?","answer":"Oui, cette prestation fait partie des interventions proposées, avec vérification sur place avant réalisation."},{"question":"Intervenez-vous au-delà de la zone principale?","answer":"La zone principale est Herve. Les interventions peuvent s''étendre aux communes limitrophes selon le besoin."},{"question":"Comment contrôlez-vous la qualité de votre travail?","answer":"Des vérifications sont effectuées à chaque étape de l''intervention, avec un contrôle final avant la clôture du chantier."},{"question":"Qu''est-ce qui vous distingue sur votre marche local?","answer":"Cheminées Liégeois se distingue par son expertise historique et sa formation continue auprès des fabricants, garantissant des interventions précises et durables."}]'::jsonb, 'Cheminées Liégeois, spécialiste du ramonage et de l''entretien des cheminées depuis Herve, garantit la sécurité et le bon fonctionnement de vos installations. Leur expertise couvre tous types de foyers, avec une approche rigoureuse et des techniciens formés directement par les fabricants.', 'Entretien cheminée à Herve | Cheminées Liégeois', 'Ramonage et entretien de poêles à bois avec garantie décennale. Techniciens certifiés pour des interventions durables en région liégeoise.', 'Cheminées Liégeois - Entretien cheminée Herve', 'Spécialiste du ramonage, nettoyage d''inserts et dépannage de systèmes de chauffage à Herve. Interventions précises avec vérification des conduits.', '{"@context":"https://schema.org","@type":"LocalBusiness","name":"Cheminées Liégeois","description":"Entretien et ramonage de cheminées à Herve","url":"https://revelys.be/entreprises/entretien-cheminee-liege-cheminees-liegeois","sameAs":["https://www.chemineesliegeois.be/"],"address":{"@type":"PostalAddress","streetAddress":"Rue de Herve 109","postalCode":"4651","addressLocality":"Herve","addressCountry":"BE"},"areaServed":"Herve","keywords":["ramonage obligatoire","conduit de cheminée inox","dépannage urgent","poêle à pellets","garantie décennale","technicien certifié","entretien annuel","ramonage de cheminée","entretien de poêles à bois","nettoyage d''inserts","vérification des conduits","dépannage de systèmes de chauffage"],"image":["https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/entretien-cheminee-liege-cheminees-liegeois/logo.webp","https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/entretien-cheminee-liege-cheminees-liegeois/cover.webp"]}'::jsonb, '2026-02-21T02:11:18.992Z', TRUE, 5, '2520264182d9d96bb9c4fec2f9e87aaeae0ce9178c088e19085f765a95dd3b13', 'Cheminées Liégeois se distingue par son expertise historique et sa formation continue auprès des fabricants, garantissant des interventions précises et durables.', NULL, 'Soulagement', '[{"name":"Vérification du conduit avant ramonage","description":"Inspection minutieuse de l''état du conduit pour identifier les obstructions ou dégradations avant toute intervention.","frequency":"Selon le besoin","impact":"Améliore la fiabilité et la qualité d''exécution.","proof":null},{"name":"Nettoyage avec aspirateur industriel","description":"Utilisation d''un équipement professionnel pour éliminer les suies et résidus sans endommager le conduit.","frequency":"Selon le besoin","impact":"Améliore la fiabilité et la qualité d''exécution.","proof":null},{"name":"Test de tirage après intervention","description":"Mesure du tirage pour s''assurer que la cheminée fonctionne correctement après le ramonage.","frequency":"Selon le besoin","impact":"Améliore la fiabilité et la qualité d''exécution.","proof":null}]'::jsonb, 98, 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/entretien-cheminee-liege-cheminees-liegeois/logo.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/entretien-cheminee-liege-cheminees-liegeois/cover.webp', ARRAY['https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/entretien-cheminee-liege-cheminees-liegeois/g1.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/entretien-cheminee-liege-cheminees-liegeois/g2.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/entretien-cheminee-liege-cheminees-liegeois/g3.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/entretien-cheminee-liege-cheminees-liegeois/g4.webp']::text[], ARRAY[]::text[], NULL, 'listed', 'pending', '[{"label":"Seed: site crawl","date":"2026-02-21T02:12:10.419Z","proof":"https://www.chemineesliegeois.be/sav/"},{"label":"Seed: city hint","date":"2026-02-21T02:12:10.419Z","proof":"Liège"},{"label":"Seed: industry category","date":"2026-02-21T02:12:10.419Z","proof":"Ramonage"},{"label":"Seed: search keyword","date":"2026-02-21T02:12:10.419Z","proof":"entretien cheminée"},{"label":"Extracted: city","date":"2026-02-21T02:12:10.419Z","proof":"Battice"},{"label":"BCE: mod97 valid","date":"2026-02-21T02:12:10.419Z","proof":"0423126767"},{"label":"Email extracted","date":"2026-02-21T02:12:10.419Z","proof":"contact@immocostamar.be"},{"label":"LLM structured (mistral-small3.2:24b-instruct-q5_k_m)","date":"2026-02-21T02:12:10.419Z","proof":"confidence=80/100"},{"label":"Phone extracted","date":"2026-02-21T02:12:10.419Z","proof":"source=tel_link"},{"label":"Images uploaded (Supabase Storage)","date":"2026-02-21T02:12:10.419Z","proof":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/entretien-cheminee-liege-cheminees-liegeois/cover.webp"}]'::jsonb, 'published', FALSE, 'none', 'BE0423126767', 'Actif', 'BCE_CSV', '2026-02-21T02:08:19.459Z', '2026-02-21T02:08:19.459Z', 'CHEMINEES LIEGEOIS', '1982-10-18', 'Personne morale', 'Société à responsabilité limitée', 'Situation normale', '2026-02-11', '2026-02-21T02:12:10.419Z'
WHERE NOT EXISTS (
  SELECT 1
  FROM companies c_existing
  WHERE c_existing.bce_number = 'BE0423126767'
    AND c_existing.slug <> 'entretien-cheminee-liege-cheminees-liegeois'
)
ON CONFLICT (slug) DO UPDATE SET market = EXCLUDED.market, name = EXCLUDED.name, industry = EXCLUDED.industry, tags = EXCLUDED.tags, services = EXCLUDED.services, pricing_model = EXCLUDED.pricing_model, budget_level = EXCLUDED.budget_level, price_indication = EXCLUDED.price_indication, devis_gratuit = EXCLUDED.devis_gratuit, city = EXCLUDED.city, postal_code = EXCLUDED.postal_code, country = EXCLUDED.country, address = EXCLUDED.address, website = EXCLUDED.website, facebook = EXCLUDED.facebook, instagram = EXCLUDED.instagram, linkedin = EXCLUDED.linkedin, tiktok = EXCLUDED.tiktok, contact_email = EXCLUDED.contact_email, contact_name = EXCLUDED.contact_name, contact_phone = EXCLUDED.contact_phone, public_phone = EXCLUDED.public_phone, founder_name = EXCLUDED.founder_name, founder_role = EXCLUDED.founder_role, founder_photo_url = EXCLUDED.founder_photo_url, ideal_zone = EXCLUDED.ideal_zone, languages = EXCLUDED.languages, availability = EXCLUDED.availability, opening_hours = EXCLUDED.opening_hours, google_rating = EXCLUDED.google_rating, google_reviews_count = EXCLUDED.google_reviews_count, google_reviews = EXCLUDED.google_reviews, company_faq = EXCLUDED.company_faq, description = EXCLUDED.description, seo_title = EXCLUDED.seo_title, seo_description = EXCLUDED.seo_description, og_title = EXCLUDED.og_title, og_description = EXCLUDED.og_description, seo_jsonld = EXCLUDED.seo_jsonld, seo_generated_at = EXCLUDED.seo_generated_at, seo_ai_used = EXCLUDED.seo_ai_used, seo_version = EXCLUDED.seo_version, seo_last_inputs_hash = EXCLUDED.seo_last_inputs_hash, why_company = EXCLUDED.why_company, why_entrepreneur = EXCLUDED.why_entrepreneur, emotional_need_label = EXCLUDED.emotional_need_label, rituals = EXCLUDED.rituals, ras_score = EXCLUDED.ras_score, logo_url = EXCLUDED.logo_url, cover_image_url = EXCLUDED.cover_image_url, gallery_urls = EXCLUDED.gallery_urls, video_urls = EXCLUDED.video_urls, video_embed_url = EXCLUDED.video_embed_url, tier = EXCLUDED.tier, verification_status = EXCLUDED.verification_status, verification_checks = EXCLUDED.verification_checks, content_status = EXCLUDED.content_status, is_claimed = EXCLUDED.is_claimed, opt_out_status = EXCLUDED.opt_out_status, bce_number = EXCLUDED.bce_number, bce_status = EXCLUDED.bce_status, bce_source = EXCLUDED.bce_source, bce_verified_at = EXCLUDED.bce_verified_at, bce_last_checked_at = EXCLUDED.bce_last_checked_at, bce_legal_name = EXCLUDED.bce_legal_name, founded_on = EXCLUDED.founded_on, bce_type_of_enterprise = EXCLUDED.bce_type_of_enterprise, bce_juridical_form = EXCLUDED.bce_juridical_form, bce_juridical_situation = EXCLUDED.bce_juridical_situation, bce_source_update_date = EXCLUDED.bce_source_update_date
WHERE companies.is_claimed IS NOT TRUE;

INSERT INTO companies (slug, market, name, industry, tags, services, pricing_model, budget_level, price_indication, devis_gratuit, city, postal_code, country, address, website, facebook, instagram, linkedin, tiktok, contact_email, contact_name, contact_phone, public_phone, founder_name, founder_role, founder_photo_url, ideal_zone, languages, availability, opening_hours, google_rating, google_reviews_count, google_reviews, company_faq, description, seo_title, seo_description, og_title, og_description, seo_jsonld, seo_generated_at, seo_ai_used, seo_version, seo_last_inputs_hash, why_company, why_entrepreneur, emotional_need_label, rituals, ras_score, logo_url, cover_image_url, gallery_urls, video_urls, video_embed_url, tier, verification_status, verification_checks, content_status, is_claimed, opt_out_status, bce_number, bce_status, bce_source, bce_verified_at, bce_last_checked_at, bce_legal_name, founded_on, bce_type_of_enterprise, bce_juridical_form, bce_juridical_situation, bce_source_update_date, created_at)
SELECT 'entretien-cheminee-liege-ehlen-bourguignon', 'BE-WAL', 'Ehlen-Bourguignon', 'Ramonage', ARRAY['conduit de cheminée', 'sécurité incendie', 'entretien saisonnier', 'poêle à bois', 'inserts pellets', 'normes légales', 'condroz liégeois', 'techniciens certifiés', 'ramonage annuel', 'entretien des poêles et inserts', 'tubage des conduits de cheminée', 'dépannage des appareils de chauffage']::text[], ARRAY['Ramonage annuel', 'Entretien des poêles et inserts', 'Tubage des conduits de cheminée', 'Dépannage des appareils de chauffage']::text[], NULL, NULL, NULL, NULL, 'Nandrin', '4550', 'BE', 'Rue de Nandrin 4', 'https://www.ehlen.be/', 'https://www.facebook.com/ehlen.bourguignon', 'https://www.instagram.com/ehlenbourguignon/', NULL, NULL, 'contact@ehlen.be', NULL, '+3285511169', '+3285511169', NULL, NULL, NULL, 'Nandrin', ARRAY['français']::text[], NULL, '[{"day":"lundi","isClosed":true},{"day":"mardi","open":"09:00","close":"12:30","isClosed":false},{"day":"mercredi","open":"09:00","close":"12:30","isClosed":false},{"day":"jeudi","open":"09:00","close":"12:30","isClosed":false},{"day":"vendredi","open":"09:00","close":"12:30","isClosed":false},{"day":"samedi","open":"09:00","close":"12:30","isClosed":false},{"day":"dimanche","isClosed":true}]'::jsonb, NULL, NULL, NULL, '[{"question":"Proposez-vous des services de ramonage annuel?","answer":"Oui, cette prestation fait partie des interventions proposées, avec vérification sur place avant réalisation."},{"question":"Sur quelle zone géographique intervenez-vous?","answer":"Les interventions se déroulent à Nandrin et dans les communes avoisinantes, selon la nature de la demande."},{"question":"Comment la qualité des interventions est-elle assurée?","answer":"La qualité est suivie via vérification minutieuse de l''état du conduit avant intervention, incluant le contrôle de l''étanchéité et du tirage."},{"question":"Qu''est-ce qui vous distingue sur votre marche local?","answer":"Ehlen-Bourguignon se distingue par son expertise familiale depuis plus de 30 ans et sa sélection rigoureuse des marques premium pour garantir la qualité et la durabilité des installations."}]'::jsonb, 'Ehlen-Bourguignon, spécialiste du ramonage et de l''entretien des cheminées à Nandrin, assure la sécurité et le bon fonctionnement de vos installations. Leur expertise couvre les poêles, inserts et conduits de fumée, avec un service rigoureux respectant les normes en vigueur.', 'Entretien cheminée à Nandrin | Ehlen-Bourguignon', 'Techniciens certifiés pour ramonage annuel et sécurité incendie. Expertise familiale depuis 30 ans en Condroz liégeois.', 'Ehlen-Bourguignon - Entretien de cheminée à Nandrin', 'Ramonage, entretien des poêles et inserts à Nandrin. Interventions certifiées pour la sécurité incendie et le respect des normes légales.', '{"@context":"https://schema.org","@type":"LocalBusiness","name":"Ehlen-Bourguignon","description":"Entretien de cheminées, poêles et inserts à Nandrin. Ramonage annuel et dépannage certifié.","url":"https://revelys.be/entreprises/entretien-cheminee-liege-ehlen-bourguignon","sameAs":["https://www.ehlen.be/"],"address":{"@type":"PostalAddress","streetAddress":"Rue de Nandrin 4","postalCode":"4550","addressLocality":"Nandrin","addressCountry":"BE"},"areaServed":"Condroz liégeois","keywords":["conduit de cheminée","sécurité incendie","entretien saisonnier","poêle à bois","inserts pellets","normes légales","techniciens certifiés","ramonage annuel","entretien des poêles et inserts","tubage des conduits de cheminée","dépannage des appareils de chauffage"],"image":["https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/entretien-cheminee-liege-ehlen-bourguignon/logo.webp","https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/entretien-cheminee-liege-ehlen-bourguignon/cover.webp"]}'::jsonb, '2026-02-21T02:15:19.639Z', TRUE, 5, 'e9f8c655f94389a3d9a49ff5dfb71b88514ab0ed070e3fa0bd469cfc97e9dfcd', 'Ehlen-Bourguignon se distingue par son expertise familiale depuis plus de 30 ans et sa sélection rigoureuse des marques premium pour garantir la qualité et la durabilité des installations.', NULL, 'Soulagement', '[{"name":"Inspection pré-ramonage","description":"Vérification minutieuse de l''état du conduit avant intervention, incluant le contrôle de l''étanchéité et du tirage.","frequency":"Selon le besoin","impact":"Améliore la fiabilité et la qualité d''exécution.","proof":null},{"name":"Nettoyage avec brosse métallique","description":"Utilisation d''une brosse spécifique adaptée au diamètre du conduit pour éliminer suie et résidus sans endommager les parois.","frequency":"Selon le besoin","impact":"Améliore la fiabilité et la qualité d''exécution.","proof":null},{"name":"Test de tirage post-intervention","description":"Mesure du tirage avec un anémomètre pour confirmer le bon fonctionnement après ramonage.","frequency":"Selon le besoin","impact":"Améliore la fiabilité et la qualité d''exécution.","proof":null}]'::jsonb, 98, 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/entretien-cheminee-liege-ehlen-bourguignon/logo.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/entretien-cheminee-liege-ehlen-bourguignon/cover.webp', ARRAY['https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/entretien-cheminee-liege-ehlen-bourguignon/g1.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/entretien-cheminee-liege-ehlen-bourguignon/g2.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/entretien-cheminee-liege-ehlen-bourguignon/g3.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/entretien-cheminee-liege-ehlen-bourguignon/g4.webp']::text[], ARRAY[]::text[], NULL, 'listed', 'pending', '[{"label":"Seed: site crawl","date":"2026-02-21T02:16:07.770Z","proof":"https://www.ehlen.be/vente-entretien-poeles-inserts-huy-liege"},{"label":"Seed: city hint","date":"2026-02-21T02:16:07.770Z","proof":"Liège"},{"label":"Seed: industry category","date":"2026-02-21T02:16:07.770Z","proof":"Ramonage"},{"label":"Seed: search keyword","date":"2026-02-21T02:16:07.770Z","proof":"entretien cheminée"},{"label":"Extracted: city","date":"2026-02-21T02:16:07.770Z","proof":"Nandrin"},{"label":"BCE: mod97 valid","date":"2026-02-21T02:16:07.770Z","proof":"0474811040"},{"label":"Email extracted","date":"2026-02-21T02:16:07.770Z","proof":"contact@ehlen.be"},{"label":"LLM structured (mistral-small3.2:24b-instruct-q5_k_m)","date":"2026-02-21T02:16:07.770Z","proof":"confidence=80/100"},{"label":"BCE recovered from local identity","date":"2026-02-21T02:16:07.770Z","proof":"score=130"},{"label":"Phone extracted","date":"2026-02-21T02:16:07.770Z","proof":"source=tel_link"},{"label":"Images uploaded (Supabase Storage)","date":"2026-02-21T02:16:07.770Z","proof":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/entretien-cheminee-liege-ehlen-bourguignon/cover.webp"}]'::jsonb, 'published', FALSE, 'none', 'BE0474811040', 'Actif', 'BCE_CSV', '2026-02-21T02:12:16.623Z', '2026-02-21T02:12:16.623Z', 'EHLEN-BOURGUIGNON', '2001-05-16', 'Personne morale', 'Société à responsabilité limitée', 'Situation normale', '2026-02-11', '2026-02-21T02:16:07.770Z'
WHERE NOT EXISTS (
  SELECT 1
  FROM companies c_existing
  WHERE c_existing.bce_number = 'BE0474811040'
    AND c_existing.slug <> 'entretien-cheminee-liege-ehlen-bourguignon'
)
ON CONFLICT (slug) DO UPDATE SET market = EXCLUDED.market, name = EXCLUDED.name, industry = EXCLUDED.industry, tags = EXCLUDED.tags, services = EXCLUDED.services, pricing_model = EXCLUDED.pricing_model, budget_level = EXCLUDED.budget_level, price_indication = EXCLUDED.price_indication, devis_gratuit = EXCLUDED.devis_gratuit, city = EXCLUDED.city, postal_code = EXCLUDED.postal_code, country = EXCLUDED.country, address = EXCLUDED.address, website = EXCLUDED.website, facebook = EXCLUDED.facebook, instagram = EXCLUDED.instagram, linkedin = EXCLUDED.linkedin, tiktok = EXCLUDED.tiktok, contact_email = EXCLUDED.contact_email, contact_name = EXCLUDED.contact_name, contact_phone = EXCLUDED.contact_phone, public_phone = EXCLUDED.public_phone, founder_name = EXCLUDED.founder_name, founder_role = EXCLUDED.founder_role, founder_photo_url = EXCLUDED.founder_photo_url, ideal_zone = EXCLUDED.ideal_zone, languages = EXCLUDED.languages, availability = EXCLUDED.availability, opening_hours = EXCLUDED.opening_hours, google_rating = EXCLUDED.google_rating, google_reviews_count = EXCLUDED.google_reviews_count, google_reviews = EXCLUDED.google_reviews, company_faq = EXCLUDED.company_faq, description = EXCLUDED.description, seo_title = EXCLUDED.seo_title, seo_description = EXCLUDED.seo_description, og_title = EXCLUDED.og_title, og_description = EXCLUDED.og_description, seo_jsonld = EXCLUDED.seo_jsonld, seo_generated_at = EXCLUDED.seo_generated_at, seo_ai_used = EXCLUDED.seo_ai_used, seo_version = EXCLUDED.seo_version, seo_last_inputs_hash = EXCLUDED.seo_last_inputs_hash, why_company = EXCLUDED.why_company, why_entrepreneur = EXCLUDED.why_entrepreneur, emotional_need_label = EXCLUDED.emotional_need_label, rituals = EXCLUDED.rituals, ras_score = EXCLUDED.ras_score, logo_url = EXCLUDED.logo_url, cover_image_url = EXCLUDED.cover_image_url, gallery_urls = EXCLUDED.gallery_urls, video_urls = EXCLUDED.video_urls, video_embed_url = EXCLUDED.video_embed_url, tier = EXCLUDED.tier, verification_status = EXCLUDED.verification_status, verification_checks = EXCLUDED.verification_checks, content_status = EXCLUDED.content_status, is_claimed = EXCLUDED.is_claimed, opt_out_status = EXCLUDED.opt_out_status, bce_number = EXCLUDED.bce_number, bce_status = EXCLUDED.bce_status, bce_source = EXCLUDED.bce_source, bce_verified_at = EXCLUDED.bce_verified_at, bce_last_checked_at = EXCLUDED.bce_last_checked_at, bce_legal_name = EXCLUDED.bce_legal_name, founded_on = EXCLUDED.founded_on, bce_type_of_enterprise = EXCLUDED.bce_type_of_enterprise, bce_juridical_form = EXCLUDED.bce_juridical_form, bce_juridical_situation = EXCLUDED.bce_juridical_situation, bce_source_update_date = EXCLUDED.bce_source_update_date
WHERE companies.is_claimed IS NOT TRUE;

INSERT INTO companies (slug, market, name, industry, tags, services, pricing_model, budget_level, price_indication, devis_gratuit, city, postal_code, country, address, website, facebook, instagram, linkedin, tiktok, contact_email, contact_name, contact_phone, public_phone, founder_name, founder_role, founder_photo_url, ideal_zone, languages, availability, opening_hours, google_rating, google_reviews_count, google_reviews, company_faq, description, seo_title, seo_description, og_title, og_description, seo_jsonld, seo_generated_at, seo_ai_used, seo_version, seo_last_inputs_hash, why_company, why_entrepreneur, emotional_need_label, rituals, ras_score, logo_url, cover_image_url, gallery_urls, video_urls, video_embed_url, tier, verification_status, verification_checks, content_status, is_claimed, opt_out_status, bce_number, bce_status, bce_source, bce_verified_at, bce_last_checked_at, bce_legal_name, founded_on, bce_type_of_enterprise, bce_juridical_form, bce_juridical_situation, bce_source_update_date, created_at)
SELECT 'ramonage-entretien-cheminee-liege-bmenergies', 'BE-WAL', 'BMENERGIES', 'Ramonage', ARRAY['poele a pellets', 'ramonage obligatoire', 'conduit bouche', 'technicien certifie', 'facture assurance', 'emotional need label', 'why company', 'bmenergies se distingue par son expertise technique et ses techniciens formés par les marques leaders comme edilkamin. l''entreprise combine rigueur professionnelle et conseil personnalisé pour des installations durables.', 'rituals', 'nettoyage complet du poêle avec aspirateur industriel', 'ramonage par le bas du tubage ou gainage de cheminée', 'test de pression sur les conduits après intervention']::text[], ARRAY['Ramonage de cheminées', 'Entretien de poêles à pellets', 'Nettoyage des conduits de fumée']::text[], 'sur_devis', NULL, NULL, TRUE, 'Seraing', '4100', 'BE', 'Rue du Gonhy 41', 'https://bmenergies.be/', 'https://www.facebook.com/p/Bmenergies-61558981584850/', NULL, NULL, NULL, 'photosinfo@bmenergies.be', NULL, '+32497419016', '+32497419016', NULL, NULL, NULL, 'Seraing', ARRAY['français']::text[], '24h/24 - 7j/7', NULL, NULL, NULL, NULL, '[{"question":"Proposez-vous des services de ramonage de cheminées?","answer":"Oui, cette prestation fait partie des interventions proposées, avec vérification sur place avant réalisation."},{"question":"Sur quelle zone géographique intervenez-vous?","answer":"Les interventions se déroulent à Seraing et dans les communes avoisinantes, selon la nature de la demande."},{"question":"Comment la qualité des interventions est-elle assurée?","answer":"La qualité repose sur une méthode structurée, des vérifications en cours d''intervention et un contrôle final avant la remise au client."},{"question":"Qu''est-ce qui vous distingue sur votre marche local?","answer":"BMENERGIES se distingue par son expertise technique et ses techniciens formés par les marques leaders comme Edilkamin. L''entreprise combine rigueur professionnelle et conseil personnalisé pour des installations durables."}]'::jsonb, 'BMENERGIES est spécialisé dans le ramonage et l''entretien des poêles à pellets et bois en Wallonie. Basé à Seraing, l''entreprise propose des services techniques certifiés pour garantir la sécurité et la longévité de vos installations. Chaque intervention inclut un nettoyage approfondi et une facture valant preuve d''entretien annuel.', 'Ramonage cheminée à Seraing | BMENERGIES', 'Techniciens certifiés Edilkamin pour un ramonage obligatoire sécurisé. Facture valable assurance incluse. Interventions locales en Wallonie.', 'BMENERGIES - Ramonage et entretien cheminée à Seraing', 'Entretien professionnel de poêles à pellets et conduits de fumée. Techniciens formés par les marques leaders comme Edilkamin pour des installations durables.', '{"@context":"https://schema.org","@type":"LocalBusiness","name":"BMENERGIES","description":"Ramonage et entretien de cheminées à Seraing. Techniciens certifiés Edilkamin.","url":"https://revelys.be/entreprises/ramonage-entretien-cheminee-liege-bmenergies","sameAs":["https://bmenergies.be/"],"address":{"@type":"PostalAddress","streetAddress":"Rue du Gonhy 41","postalCode":"4100","addressLocality":"Seraing","addressCountry":"BE"},"areaServed":"Seraing, Wallonie","keywords":["poele a pellets","ramonage obligatoire","conduit bouche","technicien certifie","facture assurance","nettoyage complet du poêle avec aspirateur industriel","ramonage par le bas du tubage ou gainage de cheminée","test de pression sur les conduits après intervention"],"image":["https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/ramonage-entretien-cheminee-liege-bmenergies/logo.webp","https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/ramonage-entretien-cheminee-liege-bmenergies/cover.webp"]}'::jsonb, '2026-02-21T02:22:37.129Z', TRUE, 5, '35a9d430d23f621a67f17fdd1b75ed260a098a12f33ed7950e45c84211076521', 'BMENERGIES se distingue par son expertise technique et ses techniciens formés par les marques leaders comme Edilkamin. L''entreprise combine rigueur professionnelle et conseil personnalisé pour des installations durables.', NULL, 'Durabilité', '[{"name":"Nettoyage complet du poêle","description":"Utilisation d''un aspirateur industriel pour éliminer toutes les particules de suie et cendres accumulées dans le poêle.","frequency":"120-220","impact":"Améliore la fiabilité et la qualité d''exécution.","proof":null},{"name":"Ramonage par le bas","description":"Intervention spécifique sur les conduits gainés ou tubages pour un ramonage efficace sans accès par le haut.","frequency":"120-220","impact":"Améliore la fiabilité et la qualité d''exécution.","proof":null},{"name":"Test de pression des conduits","description":"Vérification de l''étanchéité et du bon fonctionnement des conduits après nettoyage pour garantir la sécurité.","frequency":"120-220","impact":"Améliore la fiabilité et la qualité d''exécution.","proof":null},{"name":"Facture détaillée","description":"Émission d''une facture certifiant l''entretien annuel, valable pour les assurances et propriétaires.","frequency":"120-220","impact":"Améliore la fiabilité et la qualité d''exécution.","proof":null}]'::jsonb, 98, 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/ramonage-entretien-cheminee-liege-bmenergies/logo.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/ramonage-entretien-cheminee-liege-bmenergies/cover.webp', ARRAY['https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/ramonage-entretien-cheminee-liege-bmenergies/g1.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/ramonage-entretien-cheminee-liege-bmenergies/g2.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/ramonage-entretien-cheminee-liege-bmenergies/g3.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/ramonage-entretien-cheminee-liege-bmenergies/g4.webp']::text[], ARRAY[]::text[], NULL, 'listed', 'pending', '[{"label":"Seed: site crawl","date":"2026-02-21T02:23:25.437Z","proof":"https://bmenergies.be/product/entretien-poele-pellets-bois/"},{"label":"Seed: city hint","date":"2026-02-21T02:23:25.437Z","proof":"Liège"},{"label":"Seed: industry category","date":"2026-02-21T02:23:25.437Z","proof":"Ramonage"},{"label":"Seed: search keyword","date":"2026-02-21T02:23:25.437Z","proof":"Ramonage entretien cheminée"},{"label":"Extracted: city","date":"2026-02-21T02:23:25.437Z","proof":"Rechercherecherche Nous Rendre Visite"},{"label":"BCE: mod97 valid","date":"2026-02-21T02:23:25.437Z","proof":"0561732443"},{"label":"Email extracted","date":"2026-02-21T02:23:25.437Z","proof":"photosinfo@bmenergies.be"},{"label":"LLM structured (mistral-small3.2:24b-instruct-q5_k_m)","date":"2026-02-21T02:23:25.437Z","proof":"confidence=80/100"},{"label":"Phone extracted","date":"2026-02-21T02:23:25.437Z","proof":"source=tel_link"},{"label":"Images uploaded (Supabase Storage)","date":"2026-02-21T02:23:25.437Z","proof":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/ramonage-entretien-cheminee-liege-bmenergies/cover.webp"}]'::jsonb, 'published', FALSE, 'none', 'BE0561732443', 'Actif', 'BCE_CSV', '2026-02-21T02:19:39.344Z', '2026-02-21T02:19:39.344Z', 'TANGUY MARCOTTY', '2014-09-08', 'Personne morale', 'Société à responsabilité limitée', 'Situation normale', '2026-02-11', '2026-02-21T02:23:25.437Z'
WHERE NOT EXISTS (
  SELECT 1
  FROM companies c_existing
  WHERE c_existing.bce_number = 'BE0561732443'
    AND c_existing.slug <> 'ramonage-entretien-cheminee-liege-bmenergies'
)
ON CONFLICT (slug) DO UPDATE SET market = EXCLUDED.market, name = EXCLUDED.name, industry = EXCLUDED.industry, tags = EXCLUDED.tags, services = EXCLUDED.services, pricing_model = EXCLUDED.pricing_model, budget_level = EXCLUDED.budget_level, price_indication = EXCLUDED.price_indication, devis_gratuit = EXCLUDED.devis_gratuit, city = EXCLUDED.city, postal_code = EXCLUDED.postal_code, country = EXCLUDED.country, address = EXCLUDED.address, website = EXCLUDED.website, facebook = EXCLUDED.facebook, instagram = EXCLUDED.instagram, linkedin = EXCLUDED.linkedin, tiktok = EXCLUDED.tiktok, contact_email = EXCLUDED.contact_email, contact_name = EXCLUDED.contact_name, contact_phone = EXCLUDED.contact_phone, public_phone = EXCLUDED.public_phone, founder_name = EXCLUDED.founder_name, founder_role = EXCLUDED.founder_role, founder_photo_url = EXCLUDED.founder_photo_url, ideal_zone = EXCLUDED.ideal_zone, languages = EXCLUDED.languages, availability = EXCLUDED.availability, opening_hours = EXCLUDED.opening_hours, google_rating = EXCLUDED.google_rating, google_reviews_count = EXCLUDED.google_reviews_count, google_reviews = EXCLUDED.google_reviews, company_faq = EXCLUDED.company_faq, description = EXCLUDED.description, seo_title = EXCLUDED.seo_title, seo_description = EXCLUDED.seo_description, og_title = EXCLUDED.og_title, og_description = EXCLUDED.og_description, seo_jsonld = EXCLUDED.seo_jsonld, seo_generated_at = EXCLUDED.seo_generated_at, seo_ai_used = EXCLUDED.seo_ai_used, seo_version = EXCLUDED.seo_version, seo_last_inputs_hash = EXCLUDED.seo_last_inputs_hash, why_company = EXCLUDED.why_company, why_entrepreneur = EXCLUDED.why_entrepreneur, emotional_need_label = EXCLUDED.emotional_need_label, rituals = EXCLUDED.rituals, ras_score = EXCLUDED.ras_score, logo_url = EXCLUDED.logo_url, cover_image_url = EXCLUDED.cover_image_url, gallery_urls = EXCLUDED.gallery_urls, video_urls = EXCLUDED.video_urls, video_embed_url = EXCLUDED.video_embed_url, tier = EXCLUDED.tier, verification_status = EXCLUDED.verification_status, verification_checks = EXCLUDED.verification_checks, content_status = EXCLUDED.content_status, is_claimed = EXCLUDED.is_claimed, opt_out_status = EXCLUDED.opt_out_status, bce_number = EXCLUDED.bce_number, bce_status = EXCLUDED.bce_status, bce_source = EXCLUDED.bce_source, bce_verified_at = EXCLUDED.bce_verified_at, bce_last_checked_at = EXCLUDED.bce_last_checked_at, bce_legal_name = EXCLUDED.bce_legal_name, founded_on = EXCLUDED.founded_on, bce_type_of_enterprise = EXCLUDED.bce_type_of_enterprise, bce_juridical_form = EXCLUDED.bce_juridical_form, bce_juridical_situation = EXCLUDED.bce_juridical_situation, bce_source_update_date = EXCLUDED.bce_source_update_date
WHERE companies.is_claimed IS NOT TRUE;

INSERT INTO companies (slug, market, name, industry, tags, services, pricing_model, budget_level, price_indication, devis_gratuit, city, postal_code, country, address, website, facebook, instagram, linkedin, tiktok, contact_email, contact_name, contact_phone, public_phone, founder_name, founder_role, founder_photo_url, ideal_zone, languages, availability, opening_hours, google_rating, google_reviews_count, google_reviews, company_faq, description, seo_title, seo_description, og_title, og_description, seo_jsonld, seo_generated_at, seo_ai_used, seo_version, seo_last_inputs_hash, why_company, why_entrepreneur, emotional_need_label, rituals, ras_score, logo_url, cover_image_url, gallery_urls, video_urls, video_embed_url, tier, verification_status, verification_checks, content_status, is_claimed, opt_out_status, bce_number, bce_status, bce_source, bce_verified_at, bce_last_checked_at, bce_legal_name, founded_on, bce_type_of_enterprise, bce_juridical_form, bce_juridical_situation, bce_source_update_date, created_at)
SELECT 'ramonage-entretien-cheminee-liege-rmc-confort', 'BE-WAL', 'RMC-Confort', 'Ramonage', ARRAY['ramonage obligatoire', 'bistre inflammable', 'conduit bouche', 'poele a bois', 'pellets', 'urgence monoxyde carbone', 'certification ramoneur', 'intervention rapide', 'ramonage de cheminées', 'débistrage de conduits', 'entretien des poêles à bois et pellets', 'vente d''équipements de chauffage']::text[], ARRAY['Ramonage de cheminées', 'Débistrage de conduits', 'Entretien des poêles à bois et pellets', 'Vente d''équipements de chauffage', 'Installation de poêles']::text[], 'sur_devis', NULL, NULL, NULL, 'Seraing', '4100', 'BE', 'Rue du Têris 61', 'https://rmc-confort.be/', 'https://www.facebook.com/RMCConfortSRL', NULL, NULL, NULL, 'rmc-confort@hotmail.com', NULL, '+32499484658', '+32499484658', NULL, NULL, NULL, 'Seraing', ARRAY['français']::text[], NULL, NULL, NULL, NULL, NULL, '[{"question":"Proposez-vous des services de ramonage de cheminées?","answer":"Oui, cette prestation fait partie des interventions proposées, avec vérification sur place avant réalisation."},{"question":"Sur quelle zone géographique intervenez-vous?","answer":"Les interventions se déroulent à Seraing et dans les communes avoisinantes, selon la nature de la demande."}]'::jsonb, 'RMC-Confort, expert en ramonage et débistrage à Seraing, assure la sécurité et l''efficacité de vos conduits de cheminée grâce à des interventions rigoureuses. Leur savoir-faire couvre aussi bien le nettoyage que la prévention des risques liés aux accumulations de suie ou de bistre.', 'Ramonage à Seraing | RMC-Confort', 'Ramonage obligatoire en Wallonie : nettoyage complet des conduits pour éviter les risques d''incendie. Interventions rapides avec certification professionnelle.', 'RMC-Confort - Ramonage et entretien de cheminées à Seraing', 'Spécialiste du ramonage, débistrage et entretien des poêles à bois et pellets. Protocole strict pour garantir la sécurité des foyers en région liégeoise.', '{"@context":"https://schema.org","@type":"LocalBusiness","name":"RMC-Confort","description":"Ramonage et entretien de cheminées à Seraing","url":"https://revelys.be/entreprises/ramonage-entretien-cheminee-liege-rmc-confort","sameAs":["https://rmc-confort.be/"],"address":{"@type":"PostalAddress","streetAddress":"Rue du Têris 61","postalCode":"4100","addressLocality":"Seraing","addressCountry":"BE"},"areaServed":{"@type":"City","name":"Seraing"},"keywords":["ramonage obligatoire","bistre inflammable","conduit bouche","poele a bois","pellets","urgence monoxyde carbone","certification ramoneur","intervention rapide","ramonage de cheminées","débistrage de conduits","entretien des poêles à bois et pellets","vente d''équipements de chauffage"],"image":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/ramonage-entretien-cheminee-liege-rmc-confort/logo.webp","logo":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/ramonage-entretien-cheminee-liege-rmc-confort/logo.webp"}'::jsonb, '2026-02-21T02:28:55.982Z', TRUE, 5, '13c6da76abf5b2b195dc986aca72cd74ea116899951baa162d7252f278957725', 'Chez RMC-Confort, chaque intervention de ramonage est réalisée avec des outils professionnels et un protocole strict pour garantir la sécurité des foyers. Leur expertise couvre aussi bien les cheminées traditionnelles que les systèmes modernes à pellets.', NULL, 'Réconfort', '[{"name":"Nettoyage complet du conduit","description":"Utilisation d''une brosse métallique adaptée au diamètre de la cheminée pour éliminer toute accumulation de suie, suivie d''un passage avec un aspirateur industriel pour garantir l''absence de résidus.","frequency":"1 fois par an minimum","impact":"Réduction des risques d''incendie et amélioration du tirage.","proof":null},{"name":"Détection des fissures","description":"Inspection visuelle minutieuse de la maçonnerie et des raccords pour identifier les éventuelles dégradations nécessitant une réparation.","frequency":"A chaque intervention","impact":"Prévention des fuites de fumée dans l''habitation.","proof":null},{"name":"Test d''étanchéité","description":"Vérification du bon fonctionnement de la trappe et des joints après nettoyage pour s''assurer qu''aucun courant d''air ne perturbe le tirage.","frequency":"A chaque intervention","impact":"Optimisation de l''efficacité énergétique.","proof":null}]'::jsonb, 95, 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/ramonage-entretien-cheminee-liege-rmc-confort/logo.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/ramonage-entretien-cheminee-liege-rmc-confort/cover.webp', ARRAY['https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/ramonage-entretien-cheminee-liege-rmc-confort/g1.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/ramonage-entretien-cheminee-liege-rmc-confort/g2.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/ramonage-entretien-cheminee-liege-rmc-confort/g3.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/ramonage-entretien-cheminee-liege-rmc-confort/g4.webp']::text[], ARRAY[]::text[], NULL, 'listed', 'pending', '[{"label":"Seed: site crawl","date":"2026-02-21T02:29:48.519Z","proof":"https://rmc-confort.be/entretien-depannage/"},{"label":"Seed: city hint","date":"2026-02-21T02:29:48.519Z","proof":"Liège"},{"label":"Seed: industry category","date":"2026-02-21T02:29:48.519Z","proof":"Ramonage"},{"label":"Seed: search keyword","date":"2026-02-21T02:29:48.519Z","proof":"Ramonage entretien cheminée"},{"label":"Extracted: city","date":"2026-02-21T02:29:48.519Z","proof":"Seraing"},{"label":"BCE: mod97 valid","date":"2026-02-21T02:29:48.519Z","proof":"0550980091"},{"label":"Email extracted","date":"2026-02-21T02:29:48.519Z","proof":"rmc-confort@hotmail.com"},{"label":"LLM structured (mistral-small3.2:24b-instruct-q5_k_m)","date":"2026-02-21T02:29:48.519Z","proof":"confidence=80/100"},{"label":"Phone extracted","date":"2026-02-21T02:29:48.519Z","proof":"source=tel_link"},{"label":"Images uploaded (Supabase Storage)","date":"2026-02-21T02:29:48.519Z","proof":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/ramonage-entretien-cheminee-liege-rmc-confort/cover.webp"}]'::jsonb, 'published', FALSE, 'none', 'BE0550980091', 'Actif', 'BCE_CSV', '2026-02-21T02:26:19.117Z', '2026-02-21T02:26:19.117Z', 'RMC Confort', '2014-04-29', 'Personne morale', 'Société à responsabilité limitée', 'Situation normale', '2026-02-11', '2026-02-21T02:29:48.519Z'
WHERE NOT EXISTS (
  SELECT 1
  FROM companies c_existing
  WHERE c_existing.bce_number = 'BE0550980091'
    AND c_existing.slug <> 'ramonage-entretien-cheminee-liege-rmc-confort'
)
ON CONFLICT (slug) DO UPDATE SET market = EXCLUDED.market, name = EXCLUDED.name, industry = EXCLUDED.industry, tags = EXCLUDED.tags, services = EXCLUDED.services, pricing_model = EXCLUDED.pricing_model, budget_level = EXCLUDED.budget_level, price_indication = EXCLUDED.price_indication, devis_gratuit = EXCLUDED.devis_gratuit, city = EXCLUDED.city, postal_code = EXCLUDED.postal_code, country = EXCLUDED.country, address = EXCLUDED.address, website = EXCLUDED.website, facebook = EXCLUDED.facebook, instagram = EXCLUDED.instagram, linkedin = EXCLUDED.linkedin, tiktok = EXCLUDED.tiktok, contact_email = EXCLUDED.contact_email, contact_name = EXCLUDED.contact_name, contact_phone = EXCLUDED.contact_phone, public_phone = EXCLUDED.public_phone, founder_name = EXCLUDED.founder_name, founder_role = EXCLUDED.founder_role, founder_photo_url = EXCLUDED.founder_photo_url, ideal_zone = EXCLUDED.ideal_zone, languages = EXCLUDED.languages, availability = EXCLUDED.availability, opening_hours = EXCLUDED.opening_hours, google_rating = EXCLUDED.google_rating, google_reviews_count = EXCLUDED.google_reviews_count, google_reviews = EXCLUDED.google_reviews, company_faq = EXCLUDED.company_faq, description = EXCLUDED.description, seo_title = EXCLUDED.seo_title, seo_description = EXCLUDED.seo_description, og_title = EXCLUDED.og_title, og_description = EXCLUDED.og_description, seo_jsonld = EXCLUDED.seo_jsonld, seo_generated_at = EXCLUDED.seo_generated_at, seo_ai_used = EXCLUDED.seo_ai_used, seo_version = EXCLUDED.seo_version, seo_last_inputs_hash = EXCLUDED.seo_last_inputs_hash, why_company = EXCLUDED.why_company, why_entrepreneur = EXCLUDED.why_entrepreneur, emotional_need_label = EXCLUDED.emotional_need_label, rituals = EXCLUDED.rituals, ras_score = EXCLUDED.ras_score, logo_url = EXCLUDED.logo_url, cover_image_url = EXCLUDED.cover_image_url, gallery_urls = EXCLUDED.gallery_urls, video_urls = EXCLUDED.video_urls, video_embed_url = EXCLUDED.video_embed_url, tier = EXCLUDED.tier, verification_status = EXCLUDED.verification_status, verification_checks = EXCLUDED.verification_checks, content_status = EXCLUDED.content_status, is_claimed = EXCLUDED.is_claimed, opt_out_status = EXCLUDED.opt_out_status, bce_number = EXCLUDED.bce_number, bce_status = EXCLUDED.bce_status, bce_source = EXCLUDED.bce_source, bce_verified_at = EXCLUDED.bce_verified_at, bce_last_checked_at = EXCLUDED.bce_last_checked_at, bce_legal_name = EXCLUDED.bce_legal_name, founded_on = EXCLUDED.founded_on, bce_type_of_enterprise = EXCLUDED.bce_type_of_enterprise, bce_juridical_form = EXCLUDED.bce_juridical_form, bce_juridical_situation = EXCLUDED.bce_juridical_situation, bce_source_update_date = EXCLUDED.bce_source_update_date
WHERE companies.is_claimed IS NOT TRUE;

INSERT INTO companies (slug, market, name, industry, tags, services, pricing_model, budget_level, price_indication, devis_gratuit, city, postal_code, country, address, website, facebook, instagram, linkedin, tiktok, contact_email, contact_name, contact_phone, public_phone, founder_name, founder_role, founder_photo_url, ideal_zone, languages, availability, opening_hours, google_rating, google_reviews_count, google_reviews, company_faq, description, seo_title, seo_description, og_title, og_description, seo_jsonld, seo_generated_at, seo_ai_used, seo_version, seo_last_inputs_hash, why_company, why_entrepreneur, emotional_need_label, rituals, ras_score, logo_url, cover_image_url, gallery_urls, video_urls, video_embed_url, tier, verification_status, verification_checks, content_status, is_claimed, opt_out_status, bce_number, bce_status, bce_source, bce_verified_at, bce_last_checked_at, bce_legal_name, founded_on, bce_type_of_enterprise, bce_juridical_form, bce_juridical_situation, bce_source_update_date, created_at)
SELECT 'entretien-cheminee-liege-la-passion-des-flammes', 'BE-WAL', 'La Passion des Flammes', 'Ramonage', ARRAY['ramonage annuel obligatoire', 'cheminée ancienne', 'dépôt de bistre', 'inspection vidéo', 'furanflex', 'sécurité incendie', 'poêle à bois', 'entretien préventif', 'ramonage de cheminée', 'débistrage de cheminée', 'inspection par caméra', 'pose du furanflex']::text[], ARRAY['Ramonage de cheminée', 'Débistrage de cheminée', 'Inspection par caméra', 'Pose du furanflex', 'Entretien des poêles']::text[], 'sur_devis', NULL, NULL, TRUE, 'Thimister-clermont', '4890', 'BE', 'Rue des Waides 13', 'https://www.eshop.lapassiondesflammes.be/', NULL, NULL, NULL, NULL, 'info@lapassiondesflammes.be', NULL, '+3287891219', '+3287891219', 'Jacky Colleau', 'Fondateur', NULL, 'Thimister-clermont', ARRAY['français', 'néerlandais', 'anglais', 'allemand']::text[], NULL, NULL, NULL, NULL, NULL, '[{"question":"Proposez-vous des services de ramonage de cheminée?","answer":"Oui, cette prestation fait partie des interventions proposées, avec vérification sur place avant réalisation."},{"question":"Sur quelle zone géographique intervenez-vous?","answer":"Les interventions se déroulent à Thimister-clermont et dans les communes avoisinantes, selon la nature de la demande."},{"question":"Comment la qualité des interventions est-elle assurée?","answer":"La qualité repose sur une méthode structurée, des vérifications en cours d''intervention et un contrôle final avant la remise au client."},{"question":"Qu''est-ce qui vous distingue sur votre marche local?","answer":"La Passion des Flammes se distingue par son expertise technique et sa connaissance approfondie des cheminées anciennes, combinée à l''utilisation de technologies modernes comme la caméra d''inspection. Leur approche personnalisée garantit un ramonage adapté à chaque installation."}]'::jsonb, 'La Passion des Flammes, spécialiste du ramonage à Thimister-Clermont, assure l''entretien et le débistrage des cheminées pour une sécurité optimale. Leur équipe d''experts intervient avec précision sur les installations anciennes ou modernes, garantissant un nettoyage complet et conforme aux normes. L''entreprise combine savoir-faire artisanal et technologies adaptées comme la caméra d''inspection.', 'Ramonage cheminée à Thimister-Clermont | La Passion des Flammes', 'Inspection vidéo et ramonage professionnel pour cheminées anciennes. Expertise locale en dépôts de bistre et sécurité incendie à Thimister-Clermont.', 'Ramonage de cheminée à Thimister-Clermont', 'La Passion des Flammes propose inspection par caméra, débistrage et pose de furanflex pour l''entretien sécurisé des cheminées dans la région de Thimister-Clermont.', '{"@context":"https://schema.org","@type":"LocalBusiness","name":"La Passion des Flammes","description":"Ramonage et entretien professionnel de cheminées à Thimister-Clermont.","url":"https://revelys.be/entreprises/entretien-cheminee-liege-la-passion-des-flammes","sameAs":["https://www.eshop.lapassiondesflammes.be/"],"address":{"@type":"PostalAddress","streetAddress":"Rue des Waides 13","postalCode":"4890","addressLocality":"Thimister-Clermont","addressCountry":"BE"},"areaServed":{"@type":"Place","name":"Thimister-Clermont"},"keywords":["ramonage annuel obligatoire","cheminée ancienne","dépôt de bistre","inspection vidéo","furanflex","sécurité incendie","poêle à bois","entretien préventif","ramonage de cheminée","débistrage de cheminée","inspection par caméra","pose du furanflex"],"image":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/entretien-cheminee-liege-la-passion-des-flammes/logo.webp"}'::jsonb, '2026-02-21T02:34:09.839Z', TRUE, 5, '005827fb5a66da6e02b3a3aaf6e8d8c38866e1e52b5c3dd75c473c2472078870', 'La Passion des Flammes se distingue par son expertise technique et sa connaissance approfondie des cheminées anciennes, combinée à l''utilisation de technologies modernes comme la caméra d''inspection. Leur approche personnalisée garantit un ramonage adapté à chaque installation.', NULL, 'Durabilité', '[{"name":"Inspection vidéo préventive","description":"Utilisation d''une caméra haute résolution pour détecter les obstructions, fissures ou dépôts de bistre dans la cheminée avant le ramonage. Cette étape permet une intervention ciblée et précise.","frequency":"Selon le besoin","impact":"Améliore la fiabilité et la qualité d''exécution.","proof":null},{"name":"Nettoyage avec brosse métallique spécifique","description":"Emploi de brosses adaptées au diamètre et à la matière du conduit pour éliminer les suies sans endommager le revêtement. Le geste est répété jusqu''à l''obtention d''un conduit parfaitement nettoyé.","frequency":"Selon le besoin","impact":"Améliore la fiabilité et la qualité d''exécution.","proof":null},{"name":"Test de tirage post-intervention","description":"Vérification du bon fonctionnement du tirage à l''aide d''un anémomètre pour s''assurer que la cheminée évacue correctement les fumées après le ramonage.","frequency":"Selon le besoin","impact":"Améliore la fiabilité et la qualité d''exécution.","proof":null},{"name":"Application de produit anti-suie (optionnel)","description":"Traitement des parois du conduit avec un produit retardant la formation de suies, particulièrement recommandé pour les cheminées très utilisées ou mal isolées.","frequency":"Selon le besoin","impact":"Améliore la fiabilité et la qualité d''exécution.","proof":null}]'::jsonb, 98, 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/entretien-cheminee-liege-la-passion-des-flammes/logo.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/entretien-cheminee-liege-la-passion-des-flammes/cover.webp', ARRAY['https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/entretien-cheminee-liege-la-passion-des-flammes/g1.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/entretien-cheminee-liege-la-passion-des-flammes/g2.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/entretien-cheminee-liege-la-passion-des-flammes/g3.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/entretien-cheminee-liege-la-passion-des-flammes/g4.webp']::text[], ARRAY[]::text[], NULL, 'listed', 'pending', '[{"label":"Seed: site crawl","date":"2026-02-21T02:34:58.058Z","proof":"https://www.eshop.lapassiondesflammes.be/"},{"label":"Seed: city hint","date":"2026-02-21T02:34:58.058Z","proof":"Liège"},{"label":"Seed: industry category","date":"2026-02-21T02:34:58.058Z","proof":"Ramonage"},{"label":"Seed: search keyword","date":"2026-02-21T02:34:58.058Z","proof":"entretien cheminée"},{"label":"Extracted: city","date":"2026-02-21T02:34:58.058Z","proof":"Thimister"},{"label":"BCE: mod97 valid","date":"2026-02-21T02:34:58.058Z","proof":"0560937043"},{"label":"Email extracted","date":"2026-02-21T02:34:58.058Z","proof":"info@lapassiondesflammes.be"},{"label":"LLM structured (mistral-small3.2:24b-instruct-q5_k_m)","date":"2026-02-21T02:34:58.058Z","proof":"confidence=80/100"},{"label":"BCE recovered from local identity","date":"2026-02-21T02:34:58.058Z","proof":"score=110"},{"label":"Phone extracted","date":"2026-02-21T02:34:58.058Z","proof":"source=tel_link"},{"label":"Images uploaded (Supabase Storage)","date":"2026-02-21T02:34:58.058Z","proof":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/entretien-cheminee-liege-la-passion-des-flammes/cover.webp"}]'::jsonb, 'published', FALSE, 'none', 'BE0560937043', 'Actif', 'BCE_CSV', '2026-02-21T02:31:10.885Z', '2026-02-21T02:31:10.885Z', 'LA PASSION DES FLAMMES', '2014-09-03', 'Personne morale', 'Société à responsabilité limitée', 'Situation normale', '2026-02-11', '2026-02-21T02:34:58.058Z'
WHERE NOT EXISTS (
  SELECT 1
  FROM companies c_existing
  WHERE c_existing.bce_number = 'BE0560937043'
    AND c_existing.slug <> 'entretien-cheminee-liege-la-passion-des-flammes'
)
ON CONFLICT (slug) DO UPDATE SET market = EXCLUDED.market, name = EXCLUDED.name, industry = EXCLUDED.industry, tags = EXCLUDED.tags, services = EXCLUDED.services, pricing_model = EXCLUDED.pricing_model, budget_level = EXCLUDED.budget_level, price_indication = EXCLUDED.price_indication, devis_gratuit = EXCLUDED.devis_gratuit, city = EXCLUDED.city, postal_code = EXCLUDED.postal_code, country = EXCLUDED.country, address = EXCLUDED.address, website = EXCLUDED.website, facebook = EXCLUDED.facebook, instagram = EXCLUDED.instagram, linkedin = EXCLUDED.linkedin, tiktok = EXCLUDED.tiktok, contact_email = EXCLUDED.contact_email, contact_name = EXCLUDED.contact_name, contact_phone = EXCLUDED.contact_phone, public_phone = EXCLUDED.public_phone, founder_name = EXCLUDED.founder_name, founder_role = EXCLUDED.founder_role, founder_photo_url = EXCLUDED.founder_photo_url, ideal_zone = EXCLUDED.ideal_zone, languages = EXCLUDED.languages, availability = EXCLUDED.availability, opening_hours = EXCLUDED.opening_hours, google_rating = EXCLUDED.google_rating, google_reviews_count = EXCLUDED.google_reviews_count, google_reviews = EXCLUDED.google_reviews, company_faq = EXCLUDED.company_faq, description = EXCLUDED.description, seo_title = EXCLUDED.seo_title, seo_description = EXCLUDED.seo_description, og_title = EXCLUDED.og_title, og_description = EXCLUDED.og_description, seo_jsonld = EXCLUDED.seo_jsonld, seo_generated_at = EXCLUDED.seo_generated_at, seo_ai_used = EXCLUDED.seo_ai_used, seo_version = EXCLUDED.seo_version, seo_last_inputs_hash = EXCLUDED.seo_last_inputs_hash, why_company = EXCLUDED.why_company, why_entrepreneur = EXCLUDED.why_entrepreneur, emotional_need_label = EXCLUDED.emotional_need_label, rituals = EXCLUDED.rituals, ras_score = EXCLUDED.ras_score, logo_url = EXCLUDED.logo_url, cover_image_url = EXCLUDED.cover_image_url, gallery_urls = EXCLUDED.gallery_urls, video_urls = EXCLUDED.video_urls, video_embed_url = EXCLUDED.video_embed_url, tier = EXCLUDED.tier, verification_status = EXCLUDED.verification_status, verification_checks = EXCLUDED.verification_checks, content_status = EXCLUDED.content_status, is_claimed = EXCLUDED.is_claimed, opt_out_status = EXCLUDED.opt_out_status, bce_number = EXCLUDED.bce_number, bce_status = EXCLUDED.bce_status, bce_source = EXCLUDED.bce_source, bce_verified_at = EXCLUDED.bce_verified_at, bce_last_checked_at = EXCLUDED.bce_last_checked_at, bce_legal_name = EXCLUDED.bce_legal_name, founded_on = EXCLUDED.founded_on, bce_type_of_enterprise = EXCLUDED.bce_type_of_enterprise, bce_juridical_form = EXCLUDED.bce_juridical_form, bce_juridical_situation = EXCLUDED.bce_juridical_situation, bce_source_update_date = EXCLUDED.bce_source_update_date
WHERE companies.is_claimed IS NOT TRUE;

INSERT INTO companies (slug, market, name, industry, tags, services, pricing_model, budget_level, price_indication, devis_gratuit, city, postal_code, country, address, website, facebook, instagram, linkedin, tiktok, contact_email, contact_name, contact_phone, public_phone, founder_name, founder_role, founder_photo_url, ideal_zone, languages, availability, opening_hours, google_rating, google_reviews_count, google_reviews, company_faq, description, seo_title, seo_description, og_title, og_description, seo_jsonld, seo_generated_at, seo_ai_used, seo_version, seo_last_inputs_hash, why_company, why_entrepreneur, emotional_need_label, rituals, ras_score, logo_url, cover_image_url, gallery_urls, video_urls, video_embed_url, tier, verification_status, verification_checks, content_status, is_claimed, opt_out_status, bce_number, bce_status, bce_source, bce_verified_at, bce_last_checked_at, bce_legal_name, founded_on, bce_type_of_enterprise, bce_juridical_form, bce_juridical_situation, bce_source_update_date, created_at)
SELECT 'ramonage-liege-fumisterie-dubois', 'BE-WAL', 'Fumisterie Dubois', 'Ramonage', ARRAY['ramonage obligatoire', 'poele a bois', 'conduit de fumee bouche', 'urgence ramonage', 'entreprise familiale', '30 ans d''experience', 'welkenraedt eupen', 'ramonage des cheminées', 'entretien des poêles', 'débistrage des conduits', 'expertise technique', 'études d''appui technique']::text[], ARRAY['Ramonage des cheminées', 'Entretien des poêles', 'Débistrage des conduits', 'Expertise technique', 'Études d''appui technique']::text[], NULL, NULL, NULL, NULL, 'Welkenraedt', '4840', 'BE', 'Rue Mitoyenne 365', 'https://fumisteriedubois.be/', 'https://www.facebook.com/FumisterieDubois', 'https://www.instagram.com/fumisteriedubois/', NULL, NULL, 'info@fumisteriedubois.be', NULL, '+3287883643', '+3287883643', NULL, NULL, NULL, 'Welkenraedt', ARRAY['français']::text[], NULL, '[{"day":"samedi","open":"10:00","close":"14:00","isClosed":false}]'::jsonb, NULL, NULL, NULL, '[{"question":"Proposez-vous des services de ramonage des cheminées?","answer":"Oui, cette prestation fait partie des interventions proposées, avec vérification sur place avant réalisation."},{"question":"Sur quelle zone géographique intervenez-vous?","answer":"Les interventions se déroulent à Welkenraedt et dans les communes avoisinantes, selon la nature de la demande."},{"question":"Comment la qualité des interventions est-elle assurée?","answer":"La qualité est suivie via utilisation d''une brosse hélicoïdale adaptée au diamètre du conduit pour un ramonage mécanique efficace, suivi d''un balayage des résidus."},{"question":"Qu''est-ce qui vous distingue sur votre marche local?","answer":"Chez Fumisterie Dubois, nous croyons que chaque cheminée mérite une attention particulière. Notre approche combine expertise technique et conseil personnalisé pour des solutions durables."}]'::jsonb, 'La Fumisterie Dubois, spécialisée dans le ramonage et l''entretien des cheminées à Welkenraedt depuis plus de 30 ans, allie savoir-faire traditionnel et solutions modernes pour garantir la sécurité et l''efficacité de vos installations. L''entreprise familiale met un point d''honneur à offrir un service personnalisé et une expertise reconnue dans la région.', 'Ramonage à Welkenraedt | Fumisterie Dubois', 'Ramonage obligatoire et entretien des poêles à bois. Inspection par caméra pour détecter les problèmes avant intervention. Spécialiste local depuis 30 ans.', 'Fumisterie Dubois - Ramonage à Welkenraedt', 'Entreprise familiale spécialisée dans le ramonage des cheminées, l''entretien des poêles et le débistrage des conduits. 30 ans d''expérience à Welkenraedt.', '{"@context":"https://schema.org","@type":"LocalBusiness","name":"Fumisterie Dubois","description":"Ramonage et entretien des cheminées et poêles à bois. Inspection par caméra et tests d''étanchéité.","url":"https://revelys.be/entreprises/ramonage-liege-fumisterie-dubois","sameAs":["https://fumisteriedubois.be/"],"address":{"@type":"PostalAddress","streetAddress":"Rue Mitoyenne 365","postalCode":"4840","addressLocality":"Welkenraedt","addressCountry":"BE"},"areaServed":{"@type":"Place","name":"Welkenraedt, Eupen"},"keywords":["ramonage obligatoire","poele a bois","conduit de fumee bouche","urgence ramonage","entreprise familiale","30 ans d''experience","welkenraedt eupen","ramonage des cheminées","entretien des poêles","débistrage des conduits","expertise technique","études d''appui technique"],"image":["https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/ramonage-liege-fumisterie-dubois/logo.webp","https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/ramonage-liege-fumisterie-dubois/cover.webp"]}'::jsonb, '2026-02-21T02:40:25.891Z', TRUE, 5, 'a6d694188bf2921bb94015851e56cee21cad27d4e57c7019e0bcb82e7d220218', 'Chez Fumisterie Dubois, nous croyons que chaque cheminée mérite une attention particulière. Notre approche combine expertise technique et conseil personnalisé pour des solutions durables.', NULL, 'Durabilité', '[{"name":"Nettoyage avec brosse helicoidale","description":"Utilisation d''une brosse hélicoïdale adaptée au diamètre du conduit pour un ramonage mécanique efficace, suivi d''un balayage des résidus.","frequency":"tous les ans","impact":"garantit une évacuation optimale de la fumée et réduit les risques d''incendie","proof":null},{"name":"Inspection visuelle avec camera","description":"Contrôle des conduits à l''aide d''une caméra endoscopique pour détecter fissures, obstructions ou déformations avant intervention.","frequency":"tous les ans","impact":"permet de cibler précisément les zones problématiques et d''adapter la technique de ramonage","proof":null},{"name":"Test d''étanchéité des joints","description":"Vérification manuelle ou avec fumigène des raccords entre conduits pour s''assurer qu''aucun gaz ne s''échappe dans l''habitation.","frequency":"tous les ans","impact":"garantit la sécurité des occupants contre les intoxications au monoxyde de carbone","proof":null}]'::jsonb, 98, 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/ramonage-liege-fumisterie-dubois/logo.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/ramonage-liege-fumisterie-dubois/cover.webp', ARRAY['https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/ramonage-liege-fumisterie-dubois/g1.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/ramonage-liege-fumisterie-dubois/g2.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/ramonage-liege-fumisterie-dubois/g3.webp', 'https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/ramonage-liege-fumisterie-dubois/g4.webp']::text[], ARRAY[]::text[], NULL, 'listed', 'pending', '[{"label":"Seed: site crawl","date":"2026-02-21T02:41:18.552Z","proof":"https://fumisteriedubois.be/"},{"label":"Seed: city hint","date":"2026-02-21T02:41:18.552Z","proof":"Liège"},{"label":"Seed: industry category","date":"2026-02-21T02:41:18.552Z","proof":"Ramonage"},{"label":"Seed: search keyword","date":"2026-02-21T02:41:18.552Z","proof":"Ramonage"},{"label":"Extracted: city","date":"2026-02-21T02:41:18.552Z","proof":""},{"label":"BCE: mod97 valid","date":"2026-02-21T02:41:18.552Z","proof":"0448120402"},{"label":"Email extracted","date":"2026-02-21T02:41:18.552Z","proof":"info@fumisteriedubois.be"},{"label":"LLM structured (mistral-small3.2:24b-instruct-q5_k_m)","date":"2026-02-21T02:41:18.552Z","proof":"confidence=80/100"},{"label":"BCE recovered from local identity","date":"2026-02-21T02:41:18.552Z","proof":"score=60"},{"label":"Phone extracted","date":"2026-02-21T02:41:18.552Z","proof":"source=tel_link"},{"label":"Images uploaded (Supabase Storage)","date":"2026-02-21T02:41:18.552Z","proof":"https://wijfqcxgpixftxcarczq.supabase.co/storage/v1/object/public/company-assets/companies/ramonage-liege-fumisterie-dubois/cover.webp"}]'::jsonb, 'published', FALSE, 'none', 'BE0448120402', 'Actif', 'BCE_CSV', '2026-02-21T02:36:29.728Z', '2026-02-21T02:36:29.728Z', 'FUMISTERIE DUBOIS', '1992-08-28', 'Personne morale', 'Société à responsabilité limitée', 'Situation normale', '2026-02-11', '2026-02-21T02:41:18.552Z'
WHERE NOT EXISTS (
  SELECT 1
  FROM companies c_existing
  WHERE c_existing.bce_number = 'BE0448120402'
    AND c_existing.slug <> 'ramonage-liege-fumisterie-dubois'
)
ON CONFLICT (slug) DO UPDATE SET market = EXCLUDED.market, name = EXCLUDED.name, industry = EXCLUDED.industry, tags = EXCLUDED.tags, services = EXCLUDED.services, pricing_model = EXCLUDED.pricing_model, budget_level = EXCLUDED.budget_level, price_indication = EXCLUDED.price_indication, devis_gratuit = EXCLUDED.devis_gratuit, city = EXCLUDED.city, postal_code = EXCLUDED.postal_code, country = EXCLUDED.country, address = EXCLUDED.address, website = EXCLUDED.website, facebook = EXCLUDED.facebook, instagram = EXCLUDED.instagram, linkedin = EXCLUDED.linkedin, tiktok = EXCLUDED.tiktok, contact_email = EXCLUDED.contact_email, contact_name = EXCLUDED.contact_name, contact_phone = EXCLUDED.contact_phone, public_phone = EXCLUDED.public_phone, founder_name = EXCLUDED.founder_name, founder_role = EXCLUDED.founder_role, founder_photo_url = EXCLUDED.founder_photo_url, ideal_zone = EXCLUDED.ideal_zone, languages = EXCLUDED.languages, availability = EXCLUDED.availability, opening_hours = EXCLUDED.opening_hours, google_rating = EXCLUDED.google_rating, google_reviews_count = EXCLUDED.google_reviews_count, google_reviews = EXCLUDED.google_reviews, company_faq = EXCLUDED.company_faq, description = EXCLUDED.description, seo_title = EXCLUDED.seo_title, seo_description = EXCLUDED.seo_description, og_title = EXCLUDED.og_title, og_description = EXCLUDED.og_description, seo_jsonld = EXCLUDED.seo_jsonld, seo_generated_at = EXCLUDED.seo_generated_at, seo_ai_used = EXCLUDED.seo_ai_used, seo_version = EXCLUDED.seo_version, seo_last_inputs_hash = EXCLUDED.seo_last_inputs_hash, why_company = EXCLUDED.why_company, why_entrepreneur = EXCLUDED.why_entrepreneur, emotional_need_label = EXCLUDED.emotional_need_label, rituals = EXCLUDED.rituals, ras_score = EXCLUDED.ras_score, logo_url = EXCLUDED.logo_url, cover_image_url = EXCLUDED.cover_image_url, gallery_urls = EXCLUDED.gallery_urls, video_urls = EXCLUDED.video_urls, video_embed_url = EXCLUDED.video_embed_url, tier = EXCLUDED.tier, verification_status = EXCLUDED.verification_status, verification_checks = EXCLUDED.verification_checks, content_status = EXCLUDED.content_status, is_claimed = EXCLUDED.is_claimed, opt_out_status = EXCLUDED.opt_out_status, bce_number = EXCLUDED.bce_number, bce_status = EXCLUDED.bce_status, bce_source = EXCLUDED.bce_source, bce_verified_at = EXCLUDED.bce_verified_at, bce_last_checked_at = EXCLUDED.bce_last_checked_at, bce_legal_name = EXCLUDED.bce_legal_name, founded_on = EXCLUDED.founded_on, bce_type_of_enterprise = EXCLUDED.bce_type_of_enterprise, bce_juridical_form = EXCLUDED.bce_juridical_form, bce_juridical_situation = EXCLUDED.bce_juridical_situation, bce_source_update_date = EXCLUDED.bce_source_update_date
WHERE companies.is_claimed IS NOT TRUE;

