{
  "version": "1.0",
  "updated_at": "2026-09-08",
  "note": "Network master taxonomy for the BellyUp city network. Headlines use a {city} placeholder so this file is portable to every city property without a fork. A category is published as a page only when at least one real venue resolves to it; zero-venue categories are reported as discovery gaps in the city discovery report rather than shipped as empty pages.",
  "families": [
    {
      "slug": "menu",
      "name": "On the Menu",
      "blurb": "What the kitchen actually serves. The part every other site already covers."
    },
    {
      "slug": "room",
      "name": "The Room",
      "blurb": "What it is like to sit there. Views, patios, noise, music, the floor."
    },
    {
      "slug": "occasion",
      "name": "The Occasion",
      "blurb": "Why you picked tonight. First dates, birthdays, the whole family, twelve coworkers."
    },
    {
      "slug": "values",
      "name": "What They Stand For",
      "blurb": "Sourcing, ownership, access, and how a kitchen treats the people in it."
    },
    {
      "slug": "story",
      "name": "The Story",
      "blurb": "Who built it, how long it has been here, and the rituals that make it theirs."
    }
  ],
  "categories": [
    {
      "slug": "bbq",
      "name": "BBQ and Smokehouses",
      "family": "menu",
      "question": "Who is actually running a pit?",
      "headline_template": "{city} BBQ Worth Bellyin' Up For",
      "blurb": "Real smoke, real pits, and the rooms built around them.",
      "intro": "Every city claims barbecue. The useful question is which kitchens run a pit, what wood they burn, and what they do that nobody else in town does.",
      "match": {
        "venue_types": ["bbq"],
        "cuisine_contains": ["bbq", "barbecue", "barbeque"]
      }
    },
    {
      "slug": "vegan",
      "name": "Vegan and Plant-Based",
      "family": "menu",
      "question": "Where can I eat with no asterisks?",
      "headline_template": "Vegan and Plant-Based Kitchens in {city}",
      "blurb": "Fully vegan kitchens and the places that treat a vegan order like a real order.",
      "intro": "There is a difference between a fully vegan kitchen and a restaurant with one vegan entree buried at the bottom of the page. Both belong here, labeled honestly.",
      "match": {
        "dietary_attributes": ["100_percent_vegan", "vegan_friendly", "vegan_options"]
      }
    },
    {
      "slug": "craft-cocktails",
      "name": "Craft Cocktail Programs",
      "family": "menu",
      "question": "Who is taking the bar seriously?",
      "headline_template": "{city} Bars With a Real Cocktail Program",
      "blurb": "Bars where somebody wrote the drink list on purpose.",
      "intro": "A cocktail program is a choice a business makes. House syrups, a printed list that changes, a bartender who can tell you why. It shows up on the receipt and almost never in a search result.",
      "match": {
        "venue_types": ["cocktail_bar", "distillery"],
        "cuisine_contains": ["cocktail"]
      }
    },
    {
      "slug": "brunch",
      "name": "Brunch",
      "family": "menu",
      "question": "Where is brunch worth the wait?",
      "headline_template": "Brunch in {city}",
      "blurb": "The late morning rooms people plan a weekend around.",
      "intro": "Brunch is one of the few meals people schedule days in advance, which makes it one of the few meals worth being discoverable for.",
      "match": {
        "experience_attributes": ["brunch"],
        "cuisine_contains": ["brunch"]
      }
    },
    {
      "slug": "late-night",
      "name": "Late-Night Food",
      "family": "menu",
      "question": "What is still open?",
      "headline_template": "Late-Night Food in {city}",
      "blurb": "Kitchens still firing when most of the city has closed.",
      "intro": "The late-night question is the most time-sensitive question in local search, and the answer changes more often than anybody updates it.",
      "match": {
        "experience_attributes": ["late_night"]
      }
    },
    {
      "slug": "gluten-free",
      "name": "Gluten-Free Kitchens",
      "family": "menu",
      "question": "Can this kitchen actually handle it?",
      "headline_template": "Gluten-Free Dining in {city}",
      "blurb": "Kitchens with a real gluten-free option, not a shrug.",
      "intro": "For a lot of diners this is not a preference, it is the whole decision. It deserves better structure than a note in a review.",
      "match": {
        "dietary_attributes": ["gluten_free", "gluten_free_options"],
        "cuisine_contains": ["gluten-free", "gluten free"]
      }
    },
    {
      "slug": "seafood-oysters",
      "name": "Seafood and Oysters",
      "family": "menu",
      "question": "Who is getting good product in?",
      "headline_template": "Seafood and Oyster Bars in {city}",
      "blurb": "Raw bars, fish programs, and the rooms that shuck to order.",
      "intro": "Seafood is a sourcing story before it is a menu story, and the kitchens that take it seriously usually have something to say about it.",
      "match": {
        "cuisine_contains": ["seafood", "oyster", "fish"]
      }
    },
    {
      "slug": "steakhouse",
      "name": "Steakhouses",
      "family": "menu",
      "question": "Where do I take a steak night seriously?",
      "headline_template": "Steakhouses in {city}",
      "blurb": "Chops, dry-age programs, and the rooms built for a long dinner.",
      "intro": "Steakhouses are an occasion category disguised as a food category. Aging program, cut selection, and the room matter about equally.",
      "match": {
        "venue_types": ["steakhouse"],
        "cuisine_contains": ["steak", "chophouse"]
      }
    },
    {
      "slug": "sushi",
      "name": "Sushi",
      "family": "menu",
      "question": "Who is behind the counter?",
      "headline_template": "Sushi in {city}",
      "blurb": "Counters, omakase seats, and neighborhood rolls.",
      "intro": "Sushi ranges from a twelve-seat counter with one chef to a family room with a hundred rolls on the menu. Those are different answers to different questions.",
      "match": {
        "cuisine_contains": ["sushi", "omakase", "japanese"]
      }
    },
    {
      "slug": "great-views",
      "name": "Great Views",
      "family": "room",
      "question": "What am I looking at while I eat?",
      "headline_template": "{city} Restaurants With Views Worth Bellyin' Up For",
      "blurb": "Skyline, sunset, water, or a room with one very good window.",
      "intro": "A view is one of the most common reasons somebody picks a restaurant and one of the least structured facts about it anywhere online.",
      "match": {
        "experience_attributes": ["skyline_view", "sunset_view", "great_view"]
      }
    },
    {
      "slug": "waterfront",
      "name": "Waterfront Dining",
      "family": "room",
      "question": "Can I eat next to the water?",
      "headline_template": "Waterfront Dining in {city}",
      "blurb": "River, intracoastal, lake, and dockside tables.",
      "intro": "Waterfront is a category people search by name and then sort by feel. Dock access, which side of the water, and whether the good tables are outside all matter.",
      "match": {
        "experience_attributes": ["waterfront", "dock_access", "water_view"]
      }
    },
    {
      "slug": "rooftops-patios",
      "name": "Rooftops and Patios",
      "family": "room",
      "question": "Can we sit outside?",
      "headline_template": "Rooftops and Patios in {city}",
      "blurb": "Open air, fire pits, rooftop bars, and shaded courtyards.",
      "intro": "Outdoor seating is treated as a checkbox almost everywhere. A fire-pit patio, a rooftop bar, and four sidewalk tables are not the same offer.",
      "match": {
        "experience_attributes": ["outdoor_seating", "rooftop", "patio"]
      }
    },
    {
      "slug": "live-music",
      "name": "Live Music",
      "family": "room",
      "question": "Where can I eat and hear a real band?",
      "headline_template": "{city} Restaurants and Bars With Live Music",
      "blurb": "Rooms where the music is part of the reason you came.",
      "intro": "A stage in the corner changes what a room is for. It is also one of the hardest things to find in a search result, because it lives on a calendar nobody indexes.",
      "match": {
        "experience_attributes": ["live_music"],
        "venue_types": ["music_venue"]
      }
    },
    {
      "slug": "dancing",
      "name": "Dance Floors",
      "family": "room",
      "question": "Where is the floor actually full?",
      "headline_template": "Where to Dance in {city}",
      "blurb": "DJs, dance floors, and rooms that turn over after midnight.",
      "intro": "Some rooms are a restaurant at eight and a different building entirely at midnight. That transition is a discovery category of its own.",
      "match": {
        "experience_attributes": ["dancing", "DJ", "nightclub"],
        "venue_types": ["nightclub"]
      }
    },
    {
      "slug": "quiet-dining",
      "name": "Quiet Enough to Talk",
      "family": "room",
      "question": "Can we actually hear each other?",
      "headline_template": "{city} Restaurants Quiet Enough to Talk In",
      "blurb": "Rooms built for conversation instead of volume.",
      "intro": "Noise is the single most common complaint in restaurant reviews and one of the least searchable attributes online. It matters for a first date, a business dinner, a hearing aid, and a Tuesday.",
      "match": {
        "experience_attributes": ["quiet_conversation", "intimate"]
      }
    },
    {
      "slug": "dog-friendly",
      "name": "Dog-Friendly Patios",
      "family": "room",
      "question": "Can the dog come?",
      "headline_template": "Dog-Friendly Patios in {city}",
      "blurb": "Patios that mean it, with water bowls and a place to tie off.",
      "intro": "Dog-friendly is either true or it is an awkward conversation at the host stand. It should be a structured fact, not a gamble.",
      "match": {
        "experience_attributes": ["dog_friendly", "pet_friendly"]
      }
    },
    {
      "slug": "tableside",
      "name": "Tableside Experiences",
      "family": "room",
      "question": "What happens at the table?",
      "headline_template": "Tableside Dining in {city}",
      "blurb": "Carts, carving, pours, grills, and anything finished in front of you.",
      "intro": "Tableside service is the kind of thing an influencer films once and nobody can find again. It should be a permanent local category.",
      "match": {
        "experience_attributes": ["tableside_service", "tableside_grill", "cart_service"]
      }
    },
    {
      "slug": "date-night",
      "name": "Date Night",
      "family": "occasion",
      "question": "Where do I take somebody I want to impress?",
      "headline_template": "{city} Restaurants Made for Date Night",
      "blurb": "Rooms that carry a conversation without trying too hard.",
      "intro": "Date night is a combination of noise level, lighting, table spacing, and whether the check lands at a comfortable number. No single field on any platform captures it.",
      "match": {
        "experience_attributes": ["date_night", "romantic"]
      }
    },
    {
      "slug": "family-table",
      "name": "The Whole Family Table",
      "family": "occasion",
      "question": "Will they be fine with a four-year-old?",
      "headline_template": "Family-Friendly Tables in {city}",
      "blurb": "Rooms that genuinely welcome kids instead of tolerating them.",
      "intro": "There is a real difference between a restaurant with a kids menu and a restaurant where nobody sighs when the stroller comes through the door.",
      "match": {
        "experience_attributes": ["kid_friendly", "high_chairs"]
      }
    },
    {
      "slug": "celebrations",
      "name": "Celebration Restaurants",
      "family": "occasion",
      "question": "Where do we do the birthday?",
      "headline_template": "Celebration Restaurants in {city}",
      "blurb": "Rooms that know what to do when the table is celebrating something.",
      "intro": "Anniversaries, graduations, promotions, and birthdays send people looking for a restaurant that will handle the moment instead of ignoring it.",
      "match": {
        "experience_attributes": ["celebration", "special_occasion"]
      }
    },
    {
      "slug": "private-dining",
      "name": "Private Dining and Buyouts",
      "family": "occasion",
      "question": "Can we take a room?",
      "headline_template": "Private Dining Rooms in {city}",
      "blurb": "Separate rooms, buyouts, and spaces built for a closed door.",
      "intro": "Private dining is a high-value search that almost always ends on a contact form. The restaurants that publish capacity and minimums get found first.",
      "match": {
        "experience_attributes": ["private_dining", "buyout_available", "event_space"]
      }
    },
    {
      "slug": "big-groups",
      "name": "Big Groups",
      "family": "occasion",
      "question": "Will they seat twelve of us?",
      "headline_template": "{city} Restaurants That Can Take a Big Group",
      "blurb": "Long tables, high tops, and rooms that do not flinch at a party of twelve.",
      "intro": "Group size is the constraint that decides most weeknight plans, and it is almost never published anywhere a machine can read it.",
      "match": {
        "experience_attributes": ["group_friendly", "large_party"]
      }
    },
    {
      "slug": "sustainable-kitchen",
      "name": "Sustainable Kitchens",
      "family": "values",
      "question": "What happens to what they do not serve?",
      "headline_template": "Sustainable Kitchens in {city}",
      "blurb": "Whole-animal butchery, composting, low waste, and honest sourcing.",
      "intro": "Sustainability in a kitchen is a set of specific practices, not a word on a menu. The kitchens actually doing it can usually name three of them.",
      "match": {
        "experience_attributes": ["sustainable_kitchen", "zero_waste", "composting"]
      }
    },
    {
      "slug": "locally-sourced",
      "name": "Locally Sourced",
      "family": "values",
      "question": "Who are they buying from?",
      "headline_template": "Locally Sourced Kitchens in {city}",
      "blurb": "Named farms, named boats, named producers.",
      "intro": "A kitchen that names its suppliers is making a claim it can be held to. That is worth structuring and worth measuring.",
      "match": {
        "experience_attributes": ["locally_sourced", "farm_to_table"]
      }
    },
    {
      "slug": "black-owned",
      "name": "Black-Owned",
      "family": "values",
      "question": "Who owns this?",
      "headline_template": "Black-Owned Restaurants and Bars in {city}",
      "blurb": "Ownership stated by the business itself.",
      "intro": "Ownership is a discovery category people search directly. It belongs here only when the business states it publicly, never when it is assumed.",
      "match": {
        "experience_attributes": ["black_owned"]
      }
    },
    {
      "slug": "women-owned",
      "name": "Women-Owned",
      "family": "values",
      "question": "Who owns this?",
      "headline_template": "Women-Owned Restaurants and Bars in {city}",
      "blurb": "Ownership stated by the business itself.",
      "intro": "Same rule as every ownership category here. It is listed when the business says so publicly, and left blank when it does not.",
      "match": {
        "experience_attributes": ["women_owned"]
      }
    },
    {
      "slug": "accessible",
      "name": "Easy to Get Into",
      "family": "values",
      "question": "Can everybody at the table get in the door?",
      "headline_template": "Accessible Restaurants in {city}",
      "blurb": "Step-free entry, usable restrooms, and parking that is not a project.",
      "intro": "Accessibility is a yes or no question for the person asking it, and almost nowhere online answers it with any confidence.",
      "match": {
        "experience_attributes": ["accessible", "step_free_entry", "easy_parking"]
      }
    },
    {
      "slug": "good-place-to-work",
      "name": "Great Places to Work",
      "family": "values",
      "question": "Would I want a job here?",
      "headline_template": "{city} Restaurants People Want to Work For",
      "blurb": "Benefits, tenure, training, and kitchens people stay at.",
      "intro": "Restaurants compete for staff as hard as they compete for tables, and nothing in local search helps them do it. A kitchen with real benefits and long tenure should be discoverable for that.",
      "match": {
        "experience_attributes": ["staff_benefits", "known_employer", "training_program"]
      }
    },
    {
      "slug": "chef-driven",
      "name": "Chef-Driven Kitchens",
      "family": "story",
      "question": "Is somebody actually cooking here?",
      "headline_template": "Chef-Driven Kitchens in {city}",
      "blurb": "Menus that change because a specific person changed them.",
      "intro": "A chef-driven kitchen has a point of view and a name attached to it. That is a durable reason to choose a restaurant and a fragile thing to find online.",
      "match": {
        "experience_attributes": ["chef_driven", "tasting_menu", "changing_menu"]
      }
    },
    {
      "slug": "historic",
      "name": "Historic Rooms",
      "family": "story",
      "question": "What was this building before?",
      "headline_template": "Historic Restaurants and Bars in {city}",
      "blurb": "Old buildings, long runs, and rooms with a previous life.",
      "intro": "A converted depot, a bungalow, a room that has been serving the same thing since the sixties. History is a reason people choose a table and a category nobody maintains.",
      "match": {
        "experience_attributes": ["historic_building", "historic"]
      }
    },
    {
      "slug": "neighborhood-institution",
      "name": "Neighborhood Institutions",
      "family": "story",
      "question": "What has been here forever?",
      "headline_template": "{city} Neighborhood Institutions",
      "blurb": "The places locals measure the neighborhood by.",
      "intro": "Every neighborhood has two or three restaurants that function as landmarks. Newcomers cannot find them and search engines rarely surface them.",
      "match": {
        "experience_attributes": ["institution", "long_running"]
      }
    },
    {
      "slug": "owner-story",
      "name": "Origin Stories",
      "family": "story",
      "question": "Who built this and why?",
      "headline_template": "The People Behind {city} Restaurants",
      "blurb": "Family businesses, second acts, and first restaurants.",
      "intro": "The story of how a restaurant got opened is often the most interesting thing about it and the least likely thing to appear anywhere structured.",
      "match": {
        "experience_attributes": ["family_owned", "owner_operated", "founder_story"]
      }
    },
    {
      "slug": "service-ritual",
      "name": "Service Rituals",
      "family": "story",
      "question": "What do they do that nobody else does?",
      "headline_template": "Service Rituals Worth Sitting Through in {city}",
      "blurb": "The bread that arrives unasked, the pour, the goodbye at the door.",
      "intro": "Rituals are what people describe when they tell somebody else about a restaurant. They are also completely absent from every structured listing on the internet.",
      "match": {
        "experience_attributes": ["service_ritual", "signature_service"]
      }
    },
    {
      "slug": "community-involvement",
      "name": "In the Community",
      "family": "story",
      "question": "What does this place do when it is not serving dinner?",
      "headline_template": "{city} Restaurants That Show Up for the Neighborhood",
      "blurb": "Fundraisers, feeding programs, school nights, and standing partnerships.",
      "intro": "Restaurants carry a lot of local weight that never shows up in a listing. Community work is a real reason to choose one and a real thing to be discoverable for.",
      "match": {
        "experience_attributes": ["community_partner", "gives_back"]
      }
    }
  ]
}
