turash/bugulma/frontend/docs/ORGANIZATION_ICONS_MAPPING.md

9.6 KiB

Organization Icons Mapping Documentation

This document maps all organization sectors and subtypes found in the database to their corresponding Lucide React icons used on the map.

Important: Sector vs Subtype Distinction

Sector = Broad industry category (e.g., "retail", "healthcare", "education", "services", "beauty_wellness") Subtype = Specific business type within that sector (e.g., "retail", "commercial", "educational", "personal_services")

Current Data Issue

699 out of 1,280 organizations (54.6%) have the same value for both sector and subtype. This suggests:

  • Data may have been imported/entered without clear distinction
  • Some sectors are so specific they naturally only have one subtype
  • The distinction wasn't enforced during data entry

Examples of correct distinction:

  • Sector: education → Subtype: educational (104 orgs)
  • Sector: services → Subtype: commercial (87 orgs)
  • Sector: beauty_wellness → Subtype: personal_services (79 orgs)

Examples where they match (may need review):

  • Sector: retail → Subtype: retail (202 orgs)
  • Sector: healthcare → Subtype: healthcare (134 orgs)

Database Overview

Sectors (20 total)

The database contains organizations across the following sectors:

  • agriculture
  • automotive
  • beauty_wellness
  • construction
  • education
  • energy
  • entertainment
  • financial
  • food_beverage
  • furniture
  • government
  • healthcare
  • hospitality
  • manufacturing
  • other
  • religious
  • retail
  • services
  • sports
  • technology

Subtypes (19 total)

Organizations are further categorized by subtypes:

  • automotive
  • commercial
  • cultural
  • educational
  • energy
  • financial
  • food_beverage
  • government
  • healthcare
  • hospitality
  • infrastructure
  • manufacturing
  • other
  • personal_services
  • professional_services
  • religious
  • retail
  • technology
  • transportation

Icon Mapping Strategy

Icons are mapped based on the subtype field, not the sector. This is because:

  1. Subtypes provide more specific categorization
  2. Subtypes are used for icon selection in the codebase
  3. The mapping function getLucideIconForSubtype() uses subtype values

Note: Since many organizations have matching sector/subtype values, the icon will still be correct, but the distinction should be clearer in future data entry.

The mapping is case-insensitive.

Subtype Icon Lucide Component Status
retail 🛍️ Shopping Bag ShoppingBag Mapped
food_beverage 🍴 Utensils Crossed UtensilsCrossed Mapped
automotive 🚗 Car Car Mapped
personal_services ✂️ Scissors Scissors Mapped
professional_services 💼 Briefcase Briefcase Mapped
financial 💵 Banknote Banknote Mapped
manufacturing 🏭 Factory Factory Mapped
hospitality 🏨 Hotel Hotel Mapped
transportation 🚚 Truck Truck Mapped
energy Lightning Bolt Zap Mapped
technology 💻 CPU Cpu Mapped
commercial 🏢 Building 2 Building2 Mapped
cultural 🎭 Theater Theater Mapped
government 🏛️ Building Building Mapped
religious Church Church Mapped
educational 🎓 Graduation Cap GraduationCap Mapped
infrastructure 🏗️ Construction Construction Mapped
healthcare ❤️ Heart Heart Mapped
other Circle Circle Mapped (default)

Sector to Subtype Relationship

Analysis Summary

  • Total organizations: 1,280
  • Organizations with matching sector/subtype: 699 (54.6%)
  • Organizations with different sector/subtype: 581 (45.4%)

Sector Breakdown by Subtype Diversity

Sector Unique Subtypes Subtypes Used
agriculture 1 manufacturing
automotive 4 automotive, commercial, infrastructure, transportation
beauty_wellness 2 commercial, personal_services
construction 4 commercial, manufacturing, professional_services, retail
education 3 commercial, cultural, educational
energy 3 commercial, energy, manufacturing
entertainment 3 commercial, cultural, other
financial 2 commercial, financial
food_beverage 3 commercial, food_beverage, other
furniture 2 commercial, personal_services
government 1 government
healthcare 1 healthcare
hospitality 3 commercial, educational, hospitality
manufacturing 2 commercial, manufacturing
other 3 cultural, educational, other
religious 3 cultural, government, religious
retail 2 commercial, retail
services 5 commercial, healthcare, other, personal_services, professional_services
sports 1 cultural
technology 1 technology

Sector to Subtype Distribution

Based on database analysis, here's how sectors map to subtypes:

Agriculture

  • manufacturing (2 organizations)

Automotive

  • automotive (76 organizations)
  • commercial (7 organizations)
  • infrastructure (6 organizations)
  • transportation (15 organizations)

Beauty & Wellness

  • commercial (1 organization)
  • personal_services (79 organizations)

Construction

  • commercial (7 organizations)
  • manufacturing (1 organization)
  • professional_services (26 organizations)
  • retail (8 organizations)

Education

  • commercial (1 organization)
  • cultural (1 organization)
  • educational (104 organizations)

Energy

  • commercial (1 organization)
  • energy (41 organizations)
  • manufacturing (5 organizations)

Entertainment

  • commercial (1 organization)
  • cultural (18 organizations)
  • other (8 organizations)

Financial

  • commercial (2 organizations)
  • financial (41 organizations)

Food & Beverage

  • commercial (6 organizations)
  • food_beverage (84 organizations)
  • other (4 organizations)

Furniture

  • commercial (1 organization)
  • personal_services (32 organizations)

Government

  • government (17 organizations)

Healthcare

  • healthcare (134 organizations)

Hospitality

  • commercial (1 organization)
  • educational (7 organizations)
  • hospitality (16 organizations)

Manufacturing

  • commercial (2 organizations)
  • manufacturing (16 organizations)

Other

  • cultural (6 organizations)
  • educational (17 organizations)
  • other (5 organizations)

Religious

  • cultural (9 organizations)
  • government (12 organizations)
  • religious (65 organizations)

Retail

  • commercial (46 organizations)
  • retail (202 organizations)

Services

  • commercial (87 organizations)
  • healthcare (4 organizations)
  • other (4 organizations)
  • personal_services (12 organizations)
  • professional_services (19 organizations)

Sports

  • cultural (2 organizations)

Technology

  • technology (2 organizations)

Icon Rendering Details

Size

  • Base marker size: 32px (selected: 40px, hovered: 34px)
  • Icon size: 65% of marker size (~21px on 32px marker)
  • Stroke width: 2.5px

Colors

  • Background: Determined by sector color (from CSS variables or fallback colors)
  • Icon color: Automatically calculated contrasting color based on background brightness
    • Light backgrounds → Darker icon color (40% of background RGB)
    • Dark backgrounds → Lighter icon color (70% lighter than background)

Visual Features

  • Circular markers with colored backgrounds
  • White border (2-3px depending on state)
  • Box shadow for depth
  • Icons are centered and properly sized

Missing Mappings

All current subtypes have icon mappings. If new subtypes are added to the database, they will default to the Circle icon until explicitly mapped.

Data Quality Recommendations

Issue Identified

54.6% of organizations have identical sector and subtype values, which suggests:

  1. Data entry inconsistency: The distinction between sector and subtype wasn't clear during data entry
  2. Import issues: Data may have been imported without proper mapping
  3. Natural overlap: Some sectors are so specific they only have one logical subtype
  1. Data cleanup: Review and update organizations where sector = subtype to use more appropriate subtypes:

    • retail/retail → Consider if some should be retail/commercial
    • healthcare/healthcare → This is actually correct (healthcare is both sector and subtype)
    • food_beverage/food_beverage → Consider if some should be food_beverage/commercial
  2. Enforce distinction: Update data entry forms/APIs to ensure:

    • Sector = Broad industry (retail, healthcare, education, services, etc.)
    • Subtype = Specific business type (retail, commercial, educational, personal_services, etc.)
  3. Validation rules: Add database constraints or application-level validation to prevent identical sector/subtype values where inappropriate

Icon Mapping Recommendations

  1. Consider sector-specific icons: Some sectors like beauty_wellness, furniture, sports, and entertainment might benefit from more specific icons
  2. Add new icons for unmapped combinations: Some sector-subtype combinations might need unique icons
  3. Icon library expansion: Consider adding more Lucide icons for better categorization

Icon Library Reference

All icons are from Lucide React. Available icons include:

  • ShoppingBag, UtensilsCrossed, Car, Scissors, Briefcase, Banknote
  • Factory, Hotel, Truck, Zap, Cpu, Building2, Theater
  • Building, Church, GraduationCap, Construction, Heart, Circle

Last Updated

Generated from database analysis on 2025-11-26