{
  "version": "0.1.0-draft",
  "updated": "2026-10-25",
  "notes": "Cuisines include Bakery/Donuts/Bagels (Site wake + Catalog densify-20261025k retags 2026-10-25). Seed live retags applied; Einstein/Crumbl/Cinnabon held pending CoS. 2026-10-25: Desserts cuisine added (cuisines 29 → 30); custard/ice cream aliases moved Cafe→Desserts; see TAXONOMY_CHANGELOG.md. Catalog may retag seed rows — Site only adds enum/reel/normalize support.",
  "regions": [
    {
      "label": "St. Louis City",
      "slug": "st-louis-city",
      "places": [
        {
          "label": "Academy",
          "slug": "academy"
        },
        {
          "label": "Baden",
          "slug": "baden"
        },
        {
          "label": "Ballpark Village",
          "slug": "ballpark-village"
        },
        {
          "label": "Benton Park",
          "slug": "benton-park"
        },
        {
          "label": "Benton Park West",
          "slug": "benton-park-west"
        },
        {
          "label": "Bevo Mill",
          "slug": "bevo-mill"
        },
        {
          "label": "Botanical Heights",
          "slug": "botanical-heights"
        },
        {
          "label": "Boulevard Heights",
          "slug": "boulevard-heights"
        },
        {
          "label": "Carondelet",
          "slug": "carondelet"
        },
        {
          "label": "Carr Square",
          "slug": "carr-square"
        },
        {
          "label": "Central West End",
          "slug": "central-west-end"
        },
        {
          "label": "Cheltenham",
          "slug": "cheltenham"
        },
        {
          "label": "Clayton-Tamm",
          "slug": "clayton-tamm"
        },
        {
          "label": "Clifton Heights",
          "slug": "clifton-heights"
        },
        {
          "label": "College Hill",
          "slug": "college-hill"
        },
        {
          "label": "Columbus Square",
          "slug": "columbus-square"
        },
        {
          "label": "Compton Heights",
          "slug": "compton-heights"
        },
        {
          "label": "Covenant Blu-Grand Center",
          "slug": "covenant-blu-grand-center"
        },
        {
          "label": "DeBaliviere Place",
          "slug": "debaliviere-place"
        },
        {
          "label": "Downtown",
          "slug": "downtown"
        },
        {
          "label": "Downtown West",
          "slug": "downtown-west"
        },
        {
          "label": "Dutchtown",
          "slug": "dutchtown"
        },
        {
          "label": "Ellendale",
          "slug": "ellendale"
        },
        {
          "label": "Fairground",
          "slug": "fairground"
        },
        {
          "label": "Forest Park Southeast",
          "slug": "forest-park-southeast"
        },
        {
          "label": "Fountain Park",
          "slug": "fountain-park"
        },
        {
          "label": "Fox Park",
          "slug": "fox-park"
        },
        {
          "label": "Franz Park",
          "slug": "franz-park"
        },
        {
          "label": "Gravois Park",
          "slug": "gravois-park"
        },
        {
          "label": "Hamilton Heights",
          "slug": "hamilton-heights"
        },
        {
          "label": "Hi-Pointe",
          "slug": "hi-pointe"
        },
        {
          "label": "Holly Hills",
          "slug": "holly-hills"
        },
        {
          "label": "Hyde Park",
          "slug": "hyde-park"
        },
        {
          "label": "Jeff-Vander-Lou",
          "slug": "jeff-vander-lou"
        },
        {
          "label": "Kings Oak",
          "slug": "kings-oak"
        },
        {
          "label": "Kingsway East",
          "slug": "kingsway-east"
        },
        {
          "label": "Kingsway West",
          "slug": "kingsway-west"
        },
        {
          "label": "Kosciusko",
          "slug": "kosciusko"
        },
        {
          "label": "Lafayette Square",
          "slug": "lafayette-square"
        },
        {
          "label": "LaSalle Park",
          "slug": "lasalle-park"
        },
        {
          "label": "Lewis Place",
          "slug": "lewis-place"
        },
        {
          "label": "Lindenwood Park",
          "slug": "lindenwood-park"
        },
        {
          "label": "Marine Villa",
          "slug": "marine-villa"
        },
        {
          "label": "Mark Twain",
          "slug": "mark-twain"
        },
        {
          "label": "Mark Twain I-70 Industrial",
          "slug": "mark-twain-i-70-industrial"
        },
        {
          "label": "McKinley Heights",
          "slug": "mckinley-heights"
        },
        {
          "label": "Midtown",
          "slug": "midtown"
        },
        {
          "label": "Mount Pleasant",
          "slug": "mount-pleasant"
        },
        {
          "label": "Near North Riverfront",
          "slug": "near-north-riverfront"
        },
        {
          "label": "North City",
          "slug": "north-city"
        },
        {
          "label": "North Hampton",
          "slug": "north-hampton"
        },
        {
          "label": "North Pointe",
          "slug": "north-pointe"
        },
        {
          "label": "North Riverfront",
          "slug": "north-riverfront"
        },
        {
          "label": "O'Fallon",
          "slug": "o-fallon"
        },
        {
          "label": "Old North St. Louis",
          "slug": "old-north-st-louis"
        },
        {
          "label": "Patch",
          "slug": "patch"
        },
        {
          "label": "Peabody Darst Webbe",
          "slug": "peabody-darst-webbe"
        },
        {
          "label": "Penrose",
          "slug": "penrose"
        },
        {
          "label": "Princeton Heights",
          "slug": "princeton-heights"
        },
        {
          "label": "Riverview (St. Louis City)",
          "slug": "riverview-st-louis-city"
        },
        {
          "label": "Shaw",
          "slug": "shaw"
        },
        {
          "label": "Skinker DeBaliviere",
          "slug": "skinker-debaliviere"
        },
        {
          "label": "Soulard",
          "slug": "soulard"
        },
        {
          "label": "South City",
          "slug": "south-city"
        },
        {
          "label": "Southampton",
          "slug": "southampton"
        },
        {
          "label": "Southwest Garden",
          "slug": "southwest-garden"
        },
        {
          "label": "St. Louis Hills",
          "slug": "st-louis-hills"
        },
        {
          "label": "St. Louis Place",
          "slug": "st-louis-place"
        },
        {
          "label": "The Gate District",
          "slug": "the-gate-district"
        },
        {
          "label": "The Greater Ville",
          "slug": "the-greater-ville"
        },
        {
          "label": "The Hill",
          "slug": "the-hill"
        },
        {
          "label": "The Ville",
          "slug": "the-ville"
        },
        {
          "label": "Tiffany",
          "slug": "tiffany"
        },
        {
          "label": "Tower Grove East",
          "slug": "tower-grove-east"
        },
        {
          "label": "Tower Grove South",
          "slug": "tower-grove-south"
        },
        {
          "label": "Vandeventer",
          "slug": "vandeventer"
        },
        {
          "label": "Visitation Park",
          "slug": "visitation-park"
        },
        {
          "label": "Walnut Park East",
          "slug": "walnut-park-east"
        },
        {
          "label": "Walnut Park West",
          "slug": "walnut-park-west"
        },
        {
          "label": "Wells Goodfellow",
          "slug": "wells-goodfellow"
        },
        {
          "label": "West End",
          "slug": "west-end"
        },
        {
          "label": "Wydown Skinker",
          "slug": "wydown-skinker"
        }
      ],
      "notes": "Independent city; official neighborhoods (+ interim rollups North City / South City where still used on seed rows)."
    },
    {
      "label": "St. Louis County",
      "slug": "st-louis-county",
      "places": [
        {
          "label": "Affton",
          "slug": "affton"
        },
        {
          "label": "Ballwin",
          "slug": "ballwin"
        },
        {
          "label": "Bel-Nor",
          "slug": "bel-nor"
        },
        {
          "label": "Bel-Ridge",
          "slug": "bel-ridge"
        },
        {
          "label": "Bella Villa",
          "slug": "bella-villa"
        },
        {
          "label": "Bellefontaine Neighbors",
          "slug": "bellefontaine-neighbors"
        },
        {
          "label": "Bellerive Acres",
          "slug": "bellerive-acres"
        },
        {
          "label": "Berkeley",
          "slug": "berkeley"
        },
        {
          "label": "Beverly Hills",
          "slug": "beverly-hills"
        },
        {
          "label": "Black Jack",
          "slug": "black-jack"
        },
        {
          "label": "Breckenridge Hills",
          "slug": "breckenridge-hills"
        },
        {
          "label": "Brentwood",
          "slug": "brentwood"
        },
        {
          "label": "Bridgeton",
          "slug": "bridgeton"
        },
        {
          "label": "Calverton Park",
          "slug": "calverton-park"
        },
        {
          "label": "Champ",
          "slug": "champ"
        },
        {
          "label": "Charlack",
          "slug": "charlack"
        },
        {
          "label": "Chesterfield",
          "slug": "chesterfield"
        },
        {
          "label": "Clarkson Valley",
          "slug": "clarkson-valley"
        },
        {
          "label": "Clayton",
          "slug": "clayton"
        },
        {
          "label": "Concord",
          "slug": "concord"
        },
        {
          "label": "Cool Valley",
          "slug": "cool-valley"
        },
        {
          "label": "Country Club Hills",
          "slug": "country-club-hills"
        },
        {
          "label": "Country Life Acres",
          "slug": "country-life-acres"
        },
        {
          "label": "Crestwood",
          "slug": "crestwood"
        },
        {
          "label": "Creve Coeur",
          "slug": "creve-coeur"
        },
        {
          "label": "Crystal Lake Park",
          "slug": "crystal-lake-park"
        },
        {
          "label": "Dellwood",
          "slug": "dellwood"
        },
        {
          "label": "Des Peres",
          "slug": "des-peres"
        },
        {
          "label": "Edmundson",
          "slug": "edmundson"
        },
        {
          "label": "Ellisville",
          "slug": "ellisville"
        },
        {
          "label": "Eureka",
          "slug": "eureka"
        },
        {
          "label": "Fenton",
          "slug": "fenton"
        },
        {
          "label": "Ferguson",
          "slug": "ferguson"
        },
        {
          "label": "Flordell Hills",
          "slug": "flordell-hills"
        },
        {
          "label": "Florissant",
          "slug": "florissant"
        },
        {
          "label": "Frontenac",
          "slug": "frontenac"
        },
        {
          "label": "Glendale",
          "slug": "glendale"
        },
        {
          "label": "Grantwood Village",
          "slug": "grantwood-village"
        },
        {
          "label": "Green Park",
          "slug": "green-park"
        },
        {
          "label": "Greendale",
          "slug": "greendale"
        },
        {
          "label": "Hanley Hills",
          "slug": "hanley-hills"
        },
        {
          "label": "Hazelwood",
          "slug": "hazelwood"
        },
        {
          "label": "Hillsdale",
          "slug": "hillsdale"
        },
        {
          "label": "Huntleigh",
          "slug": "huntleigh"
        },
        {
          "label": "Jennings",
          "slug": "jennings"
        },
        {
          "label": "Kinloch",
          "slug": "kinloch"
        },
        {
          "label": "Kirkwood",
          "slug": "kirkwood"
        },
        {
          "label": "Ladue",
          "slug": "ladue"
        },
        {
          "label": "Lakeshire",
          "slug": "lakeshire"
        },
        {
          "label": "Lemay",
          "slug": "lemay"
        },
        {
          "label": "Manchester",
          "slug": "manchester"
        },
        {
          "label": "Maplewood",
          "slug": "maplewood"
        },
        {
          "label": "Marlborough",
          "slug": "marlborough"
        },
        {
          "label": "Maryland Heights",
          "slug": "maryland-heights"
        },
        {
          "label": "Mehlville",
          "slug": "mehlville"
        },
        {
          "label": "Moline Acres",
          "slug": "moline-acres"
        },
        {
          "label": "Normandy",
          "slug": "normandy"
        },
        {
          "label": "Northwoods",
          "slug": "northwoods"
        },
        {
          "label": "Norwood Court",
          "slug": "norwood-court"
        },
        {
          "label": "Oakland",
          "slug": "oakland"
        },
        {
          "label": "Oakville",
          "slug": "oakville"
        },
        {
          "label": "Olivette",
          "slug": "olivette"
        },
        {
          "label": "Overland",
          "slug": "overland"
        },
        {
          "label": "Pagedale",
          "slug": "pagedale"
        },
        {
          "label": "Pasadena Hills",
          "slug": "pasadena-hills"
        },
        {
          "label": "Pasadena Park",
          "slug": "pasadena-park"
        },
        {
          "label": "Pine Lawn",
          "slug": "pine-lawn"
        },
        {
          "label": "Richmond Heights",
          "slug": "richmond-heights"
        },
        {
          "label": "Riverview (St. Louis County)",
          "slug": "riverview-st-louis-county"
        },
        {
          "label": "Rock Hill",
          "slug": "rock-hill"
        },
        {
          "label": "Sappington",
          "slug": "sappington"
        },
        {
          "label": "Shrewsbury",
          "slug": "shrewsbury"
        },
        {
          "label": "St. Ann",
          "slug": "st-ann"
        },
        {
          "label": "St. John",
          "slug": "st-john"
        },
        {
          "label": "Sunset Hills",
          "slug": "sunset-hills"
        },
        {
          "label": "Sycamore Hills",
          "slug": "sycamore-hills"
        },
        {
          "label": "Town and Country",
          "slug": "town-and-country"
        },
        {
          "label": "Twin Oaks",
          "slug": "twin-oaks"
        },
        {
          "label": "Unincorporated St. Louis County",
          "slug": "unincorporated-st-louis-county"
        },
        {
          "label": "University City",
          "slug": "university-city"
        },
        {
          "label": "Uplands Park",
          "slug": "uplands-park"
        },
        {
          "label": "Valley Park",
          "slug": "valley-park"
        },
        {
          "label": "Velda City",
          "slug": "velda-city"
        },
        {
          "label": "Velda Village Hills",
          "slug": "velda-village-hills"
        },
        {
          "label": "Vinita Park",
          "slug": "vinita-park"
        },
        {
          "label": "Warson Woods",
          "slug": "warson-woods"
        },
        {
          "label": "Webster Groves",
          "slug": "webster-groves"
        },
        {
          "label": "Wellston",
          "slug": "wellston"
        },
        {
          "label": "Westport Plaza",
          "slug": "westport-plaza"
        },
        {
          "label": "Westwood",
          "slug": "westwood"
        },
        {
          "label": "Wilbur Park",
          "slug": "wilbur-park"
        },
        {
          "label": "Wildwood",
          "slug": "wildwood"
        },
        {
          "label": "Winchester",
          "slug": "winchester"
        },
        {
          "label": "Woodson Terrace",
          "slug": "woodson-terrace"
        }
      ],
      "notes": "Incorporated municipalities + Unincorporated St. Louis County."
    },
    {
      "label": "St. Charles County",
      "slug": "st-charles-county",
      "places": [
        {
          "label": "Augusta",
          "slug": "augusta"
        },
        {
          "label": "Cottleville",
          "slug": "cottleville"
        },
        {
          "label": "Dardenne Prairie",
          "slug": "dardenne-prairie"
        },
        {
          "label": "Flint Hill",
          "slug": "flint-hill"
        },
        {
          "label": "Foristell",
          "slug": "foristell"
        },
        {
          "label": "Josephville",
          "slug": "josephville"
        },
        {
          "label": "Lake Saint Louis",
          "slug": "lake-saint-louis"
        },
        {
          "label": "New Melle",
          "slug": "new-melle"
        },
        {
          "label": "O'Fallon (MO)",
          "slug": "o-fallon-mo"
        },
        {
          "label": "Portage Des Sioux",
          "slug": "portage-des-sioux"
        },
        {
          "label": "St. Charles",
          "slug": "st-charles"
        },
        {
          "label": "St. Paul",
          "slug": "st-paul"
        },
        {
          "label": "St. Peters",
          "slug": "st-peters"
        },
        {
          "label": "Unincorporated St. Charles County",
          "slug": "unincorporated-st-charles-county"
        },
        {
          "label": "Weldon Spring",
          "slug": "weldon-spring"
        },
        {
          "label": "Weldon Spring Heights",
          "slug": "weldon-spring-heights"
        },
        {
          "label": "Wentzville",
          "slug": "wentzville"
        },
        {
          "label": "West Alton",
          "slug": "west-alton"
        }
      ],
      "notes": "Cities/towns + Unincorporated St. Charles County."
    },
    {
      "label": "Metro East",
      "slug": "metro-east",
      "places": [
        {
          "label": "Alhambra",
          "slug": "alhambra"
        },
        {
          "label": "Alton",
          "slug": "alton"
        },
        {
          "label": "Belleville",
          "slug": "belleville"
        },
        {
          "label": "Bethalto",
          "slug": "bethalto"
        },
        {
          "label": "Brooklyn",
          "slug": "brooklyn"
        },
        {
          "label": "Cahokia Heights",
          "slug": "cahokia-heights"
        },
        {
          "label": "Caseyville",
          "slug": "caseyville"
        },
        {
          "label": "Collinsville",
          "slug": "collinsville"
        },
        {
          "label": "Columbia",
          "slug": "columbia"
        },
        {
          "label": "Dupo",
          "slug": "dupo"
        },
        {
          "label": "East Alton",
          "slug": "east-alton"
        },
        {
          "label": "East Carondelet",
          "slug": "east-carondelet"
        },
        {
          "label": "East St. Louis",
          "slug": "east-st-louis"
        },
        {
          "label": "Edwardsville",
          "slug": "edwardsville"
        },
        {
          "label": "Fairmont City",
          "slug": "fairmont-city"
        },
        {
          "label": "Fairview Heights",
          "slug": "fairview-heights"
        },
        {
          "label": "Fayetteville",
          "slug": "fayetteville"
        },
        {
          "label": "Freeburg",
          "slug": "freeburg"
        },
        {
          "label": "Glen Carbon",
          "slug": "glen-carbon"
        },
        {
          "label": "Godfrey",
          "slug": "godfrey"
        },
        {
          "label": "Granite City",
          "slug": "granite-city"
        },
        {
          "label": "Grantfork",
          "slug": "grantfork"
        },
        {
          "label": "Hamel",
          "slug": "hamel"
        },
        {
          "label": "Hartford",
          "slug": "hartford"
        },
        {
          "label": "Hecker",
          "slug": "hecker"
        },
        {
          "label": "Highland",
          "slug": "highland"
        },
        {
          "label": "Lebanon",
          "slug": "lebanon"
        },
        {
          "label": "Lenzburg",
          "slug": "lenzburg"
        },
        {
          "label": "Livingston",
          "slug": "livingston"
        },
        {
          "label": "Madison",
          "slug": "madison"
        },
        {
          "label": "Marine",
          "slug": "marine"
        },
        {
          "label": "Marissa",
          "slug": "marissa"
        },
        {
          "label": "Maryville",
          "slug": "maryville"
        },
        {
          "label": "Mascoutah",
          "slug": "mascoutah"
        },
        {
          "label": "Millstadt",
          "slug": "millstadt"
        },
        {
          "label": "New Athens",
          "slug": "new-athens"
        },
        {
          "label": "New Baden",
          "slug": "new-baden"
        },
        {
          "label": "New Douglas",
          "slug": "new-douglas"
        },
        {
          "label": "O'Fallon (IL)",
          "slug": "o-fallon-il"
        },
        {
          "label": "Pierron",
          "slug": "pierron"
        },
        {
          "label": "Pontoon Beach",
          "slug": "pontoon-beach"
        },
        {
          "label": "Roxana",
          "slug": "roxana"
        },
        {
          "label": "Sauget",
          "slug": "sauget"
        },
        {
          "label": "Shiloh",
          "slug": "shiloh"
        },
        {
          "label": "Smithton",
          "slug": "smithton"
        },
        {
          "label": "South Roxana",
          "slug": "south-roxana"
        },
        {
          "label": "St. Jacob",
          "slug": "st-jacob"
        },
        {
          "label": "St. Libory",
          "slug": "st-libory"
        },
        {
          "label": "Summerfield",
          "slug": "summerfield"
        },
        {
          "label": "Swansea",
          "slug": "swansea"
        },
        {
          "label": "Troy",
          "slug": "troy"
        },
        {
          "label": "Venice",
          "slug": "venice"
        },
        {
          "label": "Washington Park",
          "slug": "washington-park"
        },
        {
          "label": "Waterloo",
          "slug": "waterloo"
        },
        {
          "label": "Williamson",
          "slug": "williamson"
        },
        {
          "label": "Wood River",
          "slug": "wood-river"
        },
        {
          "label": "Worden",
          "slug": "worden"
        }
      ],
      "notes": "Madison County + St. Clair County + Monroe County, Illinois."
    },
    {
      "label": "Jefferson County",
      "slug": "jefferson-county",
      "places": [
        {
          "label": "Arnold area",
          "slug": "arnold-area"
        },
        {
          "label": "De Soto area",
          "slug": "de-soto-area"
        },
        {
          "label": "Festus area",
          "slug": "festus-area"
        },
        {
          "label": "Herculaneum area",
          "slug": "herculaneum-area"
        },
        {
          "label": "High Ridge area",
          "slug": "high-ridge-area"
        },
        {
          "label": "Hillsboro area",
          "slug": "hillsboro-area"
        },
        {
          "label": "Imperial area",
          "slug": "imperial-area"
        }
      ],
      "notes": "Jefferson County, MO (added to scope 2026-10-21). 2026-10-22 densify-20261022c: rows grouped under the largest nearby town as 'X area' (incl. unincorporated places): Arnold area (Arnold, Barnhart*), Imperial area (Imperial, Barnhart), High Ridge area (High Ridge, House Springs, Byrnes Mill, Cedar Hill), Festus area (Festus, Crystal City), Herculaneum area (Herculaneum, Pevely), Hillsboro area (Hillsboro, Victoria), De Soto area (De Soto). *Barnhart default Imperial area."
    },
    {
      "label": "Franklin County",
      "slug": "franklin-county",
      "places": [
        {
          "label": "Pacific area",
          "slug": "pacific-area"
        },
        {
          "label": "St. Clair area",
          "slug": "st-clair-area"
        },
        {
          "label": "Sullivan area",
          "slug": "sullivan-area"
        },
        {
          "label": "Union area",
          "slug": "union-area"
        },
        {
          "label": "Washington area",
          "slug": "washington-area"
        }
      ],
      "notes": "Franklin County, MO (whole county in scope 2026-10-22). densify-20261022d: rows grouped under the largest nearby municipality as 'X area' (incl. unincorporated places): Pacific area (Pacific, Gray Summit, Villa Ridge, Catawissa, Robertsville), Washington area (Washington, New Haven, Labadie, Krakow), Union area (Union, Beaufort), St. Clair area (St. Clair, Lonedell), Sullivan area (Sullivan, Leslie, Stanton, Gerald*). *Gerald defaults to Sullivan area until a Gerald area is needed."
    },
    {
      "label": "Warren County",
      "slug": "warren-county",
      "places": [
        {
          "label": "Marthasville area",
          "slug": "marthasville-area"
        },
        {
          "label": "Warrenton area",
          "slug": "warrenton-area"
        },
        {
          "label": "Wright City area",
          "slug": "wright-city-area"
        }
      ],
      "notes": "Warren County, MO (added to scope 2026-10-22 12:52 PM CT, Chris OK). Warrenton area (Warrenton, Pendleton), Wright City area (Wright City, Innsbrook, Truesdale, Warren-side Foristell), Marthasville area (Marthasville, Dutzow, Treloar). Rows in St. Charles-side Foristell stay in their St. Charles area."
    }
  ],
  "prices": [
    {
      "label": "$",
      "slug": "1",
      "notes": "Typical per-person avg under ~$20"
    },
    {
      "label": "$$",
      "slug": "2",
      "notes": "Typical per-person avg ~$20–35"
    },
    {
      "label": "$$$",
      "slug": "3",
      "notes": "Typical per-person avg ~$35–55"
    },
    {
      "label": "$$$$",
      "slug": "4",
      "notes": "Typical per-person avg ~$55+"
    }
  ],
  "price_rules": {
    "basis": "typical_per_person_avg_usd_before_tax_tip",
    "tiers": {
      "$": {
        "max_per_person_usd_exclusive": 20,
        "summary": "under ~$20"
      },
      "$$": {
        "min_per_person_usd_inclusive": 20,
        "max_per_person_usd_inclusive": 35,
        "summary": "~$20–35"
      },
      "$$$": {
        "min_per_person_usd_inclusive": 35,
        "max_per_person_usd_inclusive": 55,
        "summary": "~$35–55"
      },
      "$$$$": {
        "min_per_person_usd_inclusive": 55,
        "summary": "~$55+"
      }
    }
  },
  "cuisines": [
    {
      "label": "American",
      "slug": "american",
      "notes": "New American, contemporary without another primary identity; breakfast/brunch diners → Breakfast; national QSR → Fast Food"
    },
    {
      "label": "Bagels",
      "slug": "bagels",
      "notes": "Added 2026-10-25 (Chris / Site wake): own cuisine reel for bagel-primary shops (incl. Einstein Bros. and local bagelries). Distinct from Bakery and Breakfast. May multi-tag Sandwiches and/or Breakfast via extra_cuisines when those also fit. Bakery+Bagels or Bagels+Cafe also allowed via extra_cuisines."
    },
    {
      "label": "Bakery",
      "slug": "bakery",
      "notes": "Added 2026-10-25 (Chris / Site wake): bakery-primary (bread, pastries, cakes, bakehouse, patisserie). Crumbl and Cinnabon → Bakery (Chris 2026-10-25). Coffee-primary stays Cafe; donut/doughnut-primary → Donuts; bagel-primary → Bagels. Multi-tag intentional: a spot that fits Bakery and Donuts (or Bagels) may use primary + extra_cuisines. Hypothesis: Dunkin and similar national QSR donut chains → Fast Food per existing Fast Food rules; local donut shops stay Donuts. Kolache/kolaches → Bakery (Catalog sync 2026-10-25)."
    },
    {
      "label": "Bar Only",
      "slug": "bar-only",
      "notes": "Added 2026-10-19 (Chris): bars with no food menu — drinks-only, or food trucks / bring-your-own-food only, per the venue's own site/menu. Bars that serve food stay Bars & pubs."
    },
    {
      "label": "Bars & pubs",
      "slug": "bars-pubs",
      "notes": "Food-forward bars only; not every place with a bar"
    },
    {
      "label": "BBQ",
      "slug": "bbq",
      "notes": "Smokehouse / barbecue-primary"
    },
    {
      "label": "Breakfast",
      "slug": "breakfast",
      "notes": "Breakfast / brunch / daytime diner-primary; distinct from Cafe (coffee-bakery) and American dinner service"
    },
    {
      "label": "Burgers",
      "slug": "burgers",
      "notes": "Burger-primary local / independent / regional; national QSR burger brands → Fast Food"
    },
    {
      "label": "Cafe",
      "slug": "cafe",
      "notes": "Coffee-primary / coffee-food. Bakery-primary (bread, pastries, cakes) → Bakery; donut/doughnut-primary → Donuts; bagel-primary → Bagels; ice cream / frozen custard / dessert-specialty → Desserts; breakfast/brunch-primary → Breakfast; Dairy Queen Grill & Chill national QSR → Fast Food. Multi-tag OK via extra_cuisines (e.g. Cafe+Desserts, Cafe+Bakery)."
    },
    {
      "label": "Cajun/Creole",
      "slug": "cajun-creole",
      "notes": "Added 2026-10-19 (Chris): Cajun, Creole and Louisiana kitchens (gumbo, po' boys, jambalaya, étouffée), including Cajun seafood-boil restaurants (Seafood secondary tag deferred — no secondary field). Popeyes stays Fast Food; soul food stays American."
    },
    {
      "label": "Chinese",
      "slug": "chinese",
      "notes": "Chinese regional and American-Chinese; national QSR (Panda Express) → Fast Food"
    },
    {
      "label": "Desserts",
      "slug": "desserts",
      "notes": "Added 2026-10-25 (Chris / CoS): dessert-specialty primary — ice cream, frozen custard, gelato, soft serve, shaved ice/snow cone, frozen yogurt, creamery, dessert shops. Distinct from Bakery (bread/pastries/cakes), Donuts, Bagels, Cafe (coffee-primary). Multi-tag OK via extra_cuisines (e.g. Cafe+Desserts, Bakery+Desserts). Culver's, Dairy Queen Grill & Chill, Freddy's and similar national QSR with full food menus stay Fast Food (no Desserts tag)."
    },
    {
      "label": "Donuts",
      "slug": "donuts",
      "notes": "Added 2026-10-25 (Chris / Site wake): donut/doughnut-primary shops (local). Bakery-primary → Bakery; bagel-primary → Bagels. Multi-tag intentional via extra_cuisines (e.g. Bakery+Donuts). Hypothesis: Dunkin and similar national QSR donut chains → Fast Food per existing Fast Food national-QSR rule; keep local donut shops as Donuts. Crumbl/Cinnabon → Bakery (not Donuts)."
    },
    {
      "label": "Eastern European & Balkan",
      "slug": "eastern-european-balkan",
      "notes": "Added 2026-10-19 (Chris): Bosnian (cevapi, burek, somun), Serbian, Croatian, Ukrainian, Polish, Russian, Hungarian, Czech, Slovak, Romanian, Bulgarian, Georgian and other Eastern European/Balkan-primary. Greek and Turkish stay Mediterranean; Eastern European bakeries/coffee houses that are mainly cafes stay Cafe."
    },
    {
      "label": "Fast Food",
      "slug": "fast-food",
      "notes": "Burger, chicken, taco and similar national QSR chains (McDonald’s, Burger King, Wendy’s, Taco Bell, KFC, Chick-fil-A, Popeyes, Raising Cane’s, White Castle, Sonic, Arby’s, Chipotle, Qdoba, Panda Express, etc.). Exceptions (since 2026-10-10): national pizza chains → Pizza; sandwich chains → Sandwiches. Chicken-sandwich QSRs (Chick-fil-A etc.) stay Fast Food. Local burger joints stay Burgers; fast-casual locals stay their specific cuisine."
    },
    {
      "label": "Indian",
      "slug": "indian",
      "notes": "Indian subcontinent primary"
    },
    {
      "label": "Italian",
      "slug": "italian",
      "notes": "Includes Hill red-sauce and pasta houses"
    },
    {
      "label": "Japanese & Sushi",
      "slug": "japanese-sushi",
      "notes": "Merged 2026-10-14 (Chris): sushi bars, hibachi/teppanyaki, ramen and other Japanese."
    },
    {
      "label": "Korean",
      "slug": "korean",
      "notes": "Korean-primary incl. Korean BBQ (table-grill KBBQ is Korean, not BBQ), Korean-Mexican fusion where Korean flavors lead, and local/independent Korean fried chicken; national Korean fried-chicken franchises (Bonchon, bb.q Chicken, etc.) → Fast Food"
    },
    {
      "label": "Mediterranean",
      "slug": "mediterranean",
      "notes": "Greek, Levantine, broader Med when primary"
    },
    {
      "label": "Mexican",
      "slug": "mexican",
      "notes": "Mexican / Mexi-inspired taco houses; national QSR (Taco Bell, Chipotle, Qdoba) → Fast Food"
    },
    {
      "label": "One of a Kind",
      "slug": "one-of-a-kind",
      "notes": "Added 2026-10-19 (Chris): catch-all for restaurants that fit no other cuisine — e.g. Central American (Salvadoran, Honduran), Caribbean (Jamaican, Haitian, Puerto Rican, Cuban), African (Nigerian, West African, Ethiopian), Hawaiian plate lunch, Filipino, Afghan, fondue. Places that fit an existing cuisine reasonably well keep it (poke bowls stay Japanese & Sushi)."
    },
    {
      "label": "Pizza",
      "slug": "pizza",
      "notes": "Pizza-primary: local/regional (incl. STL-style Imo’s, Dewey’s, etc.) AND, since 2026-10-10, national pizza chains (Domino’s, Pizza Hut, Papa John’s, Little Caesars, Marco’s, Papa Murphy’s, Hungry Howie’s, Jet’s, Sbarro, MOD, Hunt Brothers, Pizza Ranch, Cici’s, Rosati’s and similar) — exception to the Fast Food chain rule"
    },
    {
      "label": "Sandwiches",
      "slug": "sandwiches",
      "notes": "Sandwiches = independent delis/sandwich shops AND sandwich chains (Subway, Jersey Mike's, Jimmy John's, Firehouse Subs, Potbelly, Jason's Deli, Which Wich, Penn Station, McAlister's Deli, Schlotzsky's, Jersey Mike's, Capriotti's and similar). Exception to the Fast Food chain rule. Bakery-cafes (Panera, Kaldi's) stay Cafe unless primarily sandwiches; banh mi shops tagged Vietnamese stay Vietnamese; chicken-sandwich QSRs (Chick-fil-A etc.) stay Fast Food; Italian delis (Gioia's etc.) are Sandwiches."
    },
    {
      "label": "Seafood",
      "slug": "seafood",
      "notes": "Seafood / oyster / Cajun-seafood-forward; national QSR (Captain D’s, Long John Silver’s) → Fast Food"
    },
    {
      "label": "South American",
      "slug": "south-american",
      "notes": "Added 2026-10-17 (Chris): Argentine (empanadas, parrilla), Peruvian, Brazilian incl. churrascarias / rodizio (Fogo de Chão, Tucanos), Colombian, Venezuelan (arepas), Chilean and other South American-primary. Cuban/Caribbean/Central American are not South American; Latin places with mostly Mexican menus stay Mexican; Colombian-coffee cafes stay Cafe."
    },
    {
      "label": "Steakhouse",
      "slug": "steakhouse",
      "notes": "Steak / chophouse primary"
    },
    {
      "label": "Thai",
      "slug": "thai",
      "notes": "Thai-primary"
    },
    {
      "label": "Vegetarian",
      "slug": "vegetarian",
      "notes": "Aliases: vegan-friendly when plant-based is primary"
    },
    {
      "label": "Vietnamese",
      "slug": "vietnamese",
      "notes": "Vietnamese-primary (pho, banh mi, bun, com tam); mixed Vietnamese/Chinese or Vietnamese/Thai menus only when Vietnamese clearly leads; pan-Asian with mostly Chinese/Thai/Japanese menus keep that cuisine"
    }
  ],
  "cuisine_aliases": {
    "sushi": "Japanese & Sushi",
    "ramen": "Japanese & Sushi",
    "izakaya": "Japanese & Sushi",
    "vegan": "Vegetarian",
    "vegan-friendly": "Vegetarian",
    "custard": "Desserts",
    "gastropub": "Bars & pubs",
    "sashimi": "Japanese & Sushi",
    "brunch": "Breakfast",
    "breakfast": "Breakfast",
    "diner": "Breakfast",
    "fast food": "Fast Food",
    "fast-food": "Fast Food",
    "qsr": "Fast Food",
    "sandwich": "Sandwiches",
    "sandwiches": "Sandwiches",
    "deli": "Sandwiches",
    "sub shop": "Sandwiches",
    "hoagie": "Sandwiches",
    "japanese": "Japanese & Sushi",
    "argentine": "South American",
    "argentinian": "South American",
    "peruvian": "South American",
    "brazilian": "South American",
    "churrascaria": "South American",
    "rodizio": "South American",
    "colombian": "South American",
    "venezuelan": "South American",
    "arepa": "South American",
    "chilean": "South American",
    "south american": "South American",
    "bosnian": "Eastern European & Balkan",
    "serbian": "Eastern European & Balkan",
    "croatian": "Eastern European & Balkan",
    "ukrainian": "Eastern European & Balkan",
    "polish": "Eastern European & Balkan",
    "russian": "Eastern European & Balkan",
    "hungarian": "Eastern European & Balkan",
    "czech": "Eastern European & Balkan",
    "slovak": "Eastern European & Balkan",
    "romanian": "Eastern European & Balkan",
    "bulgarian": "Eastern European & Balkan",
    "georgian": "Eastern European & Balkan",
    "balkan": "Eastern European & Balkan",
    "cevapi": "Eastern European & Balkan",
    "pierogi": "Eastern European & Balkan",
    "borscht": "Eastern European & Balkan",
    "drinks only": "Bar Only",
    "no food": "Bar Only",
    "cocktail bar": "Bar Only",
    "dive bar": "Bar Only",
    "wine bar": "Bar Only",
    "cajun": "Cajun/Creole",
    "creole": "Cajun/Creole",
    "louisiana": "Cajun/Creole",
    "gumbo": "Cajun/Creole",
    "po' boy": "Cajun/Creole",
    "jambalaya": "Cajun/Creole",
    "etouffee": "Cajun/Creole",
    "bakery": "Bakery",
    "bakeries": "Bakery",
    "bakehouse": "Bakery",
    "patisserie": "Bakery",
    "bakery cafe": "Bakery",
    "donut": "Donuts",
    "donuts": "Donuts",
    "doughnut": "Donuts",
    "doughnuts": "Donuts",
    "bagel": "Bagels",
    "bagels": "Bagels",
    "einstein": "Bagels",
    "einstein bros": "Bagels",
    "kolache": "Bakery",
    "kolaches": "Bakery",
    "ice cream": "Desserts",
    "ice-cream": "Desserts",
    "frozen custard": "Desserts",
    "dessert": "Desserts",
    "desserts": "Desserts",
    "gelato": "Desserts",
    "soft serve": "Desserts",
    "soft-serve": "Desserts",
    "froyo": "Desserts",
    "frozen yogurt": "Desserts",
    "shaved ice": "Desserts",
    "snow cone": "Desserts",
    "snowcone": "Desserts",
    "snowball": "Desserts",
    "fro-yo": "Desserts",
    "creamery": "Desserts"
  },
  "areas": [
    {
      "label": "Central West End",
      "slug": "central-west-end",
      "phase": "mvp",
      "group": "city",
      "notes": ""
    },
    {
      "label": "Chesterfield",
      "slug": "chesterfield",
      "phase": "mvp",
      "group": "county",
      "notes": ""
    },
    {
      "label": "Clayton",
      "slug": "clayton",
      "phase": "mvp",
      "group": "county",
      "notes": ""
    },
    {
      "label": "Creve Coeur",
      "slug": "creve-coeur",
      "phase": "mvp",
      "group": "county",
      "notes": "Olive Blvd / CityPlace corridor"
    },
    {
      "label": "Downtown",
      "slug": "downtown",
      "phase": "mvp",
      "group": "city",
      "notes": "Includes Downtown West for MVP"
    },
    {
      "label": "Fairview Heights",
      "slug": "fairview-heights",
      "phase": "mvp",
      "group": "metro-east",
      "notes": "Metro East IL"
    },
    {
      "label": "Kirkwood",
      "slug": "kirkwood",
      "phase": "mvp",
      "group": "county",
      "notes": ""
    },
    {
      "label": "Maplewood",
      "slug": "maplewood",
      "phase": "mvp",
      "group": "county",
      "notes": ""
    },
    {
      "label": "Maryland Heights",
      "slug": "maryland-heights",
      "phase": "mvp",
      "group": "county",
      "notes": "Dorsett / Westport / McKelvey corridor; St. Louis County municipality"
    },
    {
      "label": "Midtown",
      "slug": "midtown",
      "phase": "mvp",
      "group": "city",
      "notes": "Includes Grand Center"
    },
    {
      "label": "North City",
      "slug": "north-city",
      "phase": "mvp",
      "group": "city",
      "notes": "MVP rollup: Old North / north neighborhoods"
    },
    {
      "label": "Soulard",
      "slug": "soulard",
      "phase": "mvp",
      "group": "city",
      "notes": ""
    },
    {
      "label": "South City",
      "slug": "south-city",
      "phase": "mvp",
      "group": "city",
      "notes": "Rollup: Cherokee / Tower Grove / Benton Park"
    },
    {
      "label": "St. Charles",
      "slug": "st-charles",
      "phase": "mvp",
      "group": "nearby",
      "notes": "City of St. Charles"
    },
    {
      "label": "The Hill",
      "slug": "the-hill",
      "phase": "mvp",
      "group": "city",
      "notes": ""
    },
    {
      "label": "University City",
      "slug": "university-city",
      "phase": "mvp",
      "group": "county",
      "notes": "Delmar Loop (U. City)"
    },
    {
      "label": "Webster Groves",
      "slug": "webster-groves",
      "phase": "mvp",
      "group": "county",
      "notes": ""
    }
  ],
  "areas_later": [
    {
      "label": "Other / metro-wide",
      "slug": "other-metro-wide",
      "phase": "ui-only",
      "group": "ui",
      "notes": "UI wildcard only — never a restaurant area"
    }
  ]
}
