# 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 ### Recommended Actions 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](https://lucide.dev/). 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