diff --git a/docs/product/genre-packs/bakery.md b/docs/product/genre-packs/bakery.md index 286b06b..fa3e313 100644 --- a/docs/product/genre-packs/bakery.md +++ b/docs/product/genre-packs/bakery.md @@ -1,54 +1,56 @@ # Genre pack — Bakery (deep example) -**Status:** working shell from planning conversation (not locked) +**Status:** working shell — **not locked** **Vertical:** local retail / food — products & known-for more than “book a slot” **Assumes Layer A** (Discovery foundation) already ranked or clean. -**Core 3 rule:** set on **GBP** first; mirror on Apple Business Connect / Bing Places where the field exists. GBP = richest; Apple = mid; Bing = thinnest. -Where a platform has no field, use description/website — do not invent platform-native checkboxes. +**Evidence honesty (2026-09-15):** first matrices were SME/local-SEO practice + invented example businesses, **not** a live Core 3 schema dump. After Desk’s source check: Layer A fields are real across Core 3; dine-in/takeout/delivery and rich amenities are **GBP-strong** (Apple Good to Know partial; Bing thinner). “Homemade muffins” is **not** a Core-3 checkbox — description/photos/products + known-for. + +**Core 3 rule:** set on **GBP** first; mirror on Apple / Bing where the field exists. +**Confidence:** `sourced` = field family confirmed in official docs; `placeholder example` = illustrative cell value only. --- ## Field matrix — parent / child × Core 3 -Example business: **Whidbey Muffin Co.** Cell = example field entry. +Example business (placeholder): **Whidbey Muffin Co.** -| Parent | Child | GBP | Apple Business Connect | Bing Places | -| :--- | :--- | :--- | :--- | :--- | -| Identity | Name | Whidbey Muffin Co. | Whidbey Muffin Co. | Whidbey Muffin Co. | -| Identity | Address | 88 Harbor Rd, Coupeville, WA 98239 | same | same | -| Identity | Phone | (360) 555-0199 | same | same | -| Identity | Website | https://whidbeymuffins.example | same | same | -| Category | Primary | Bakery | Bakery | Bakery | -| Category | Secondary | Coffee shop *(if true)* | Cafe / Coffee *(if true)* | Cafe *(if true)* | -| Hours | Weekly | Tue–Sun 7–3; Mon closed | same | same | -| Hours | Special *(rec)* | Thanksgiving: closed | same | same | -| Description | Short bio | “Sourdough & homemade muffins on Whidbey.” | same idea ≤ limit | same | -| Service options | Dine-in / takeout / delivery | Dine-in: Yes; Takeout: Yes; Delivery: No | partial amenity fields | partial | -| Links | Menu / order URL | https://…/menu | URL / website | URL / website | -| Attributes | Amenities *(rec)* | Outdoor seating; Wi‑Fi; Kid-friendly *(GBP)* | Outdoor / Wi‑Fi if offered | limited | -| Products / proof | Known-for *(rec)* | Photos: muffins, sourdough *(not a checkbox)* | product/storefront photos | if supported | +| Parent | Child | GBP | Apple Business Connect | Bing Places | Confidence | Why it matters | +| :--- | :--- | :--- | :--- | :--- | :--- | :--- | +| Identity | Name | Whidbey Muffin Co. | Whidbey Muffin Co. | Whidbey Muffin Co. | sourced field; placeholder example | NAP — foundation for all discovery | +| Identity | Address | 88 Harbor Rd, Coupeville, WA 98239 | same | same | sourced field; placeholder example | Place match; wrong pin = wrong local answers | +| Identity | Phone | (360) 555-0199 | same | same | sourced field; placeholder example | Reachability + validation path | +| Identity | Website | https://whidbeymuffins.example | same | same | sourced field; placeholder example | Menu/order proof when platform commerce fields are thin | +| Category | Primary | Bakery | Bakery | Bakery | sourced field; placeholder example | Drives attribute/service shapes and assistant expectations | +| Category | Secondary | Coffee shop *(if true)* | Cafe / Coffee *(if true)* | Cafe *(if true)* | sourced field; placeholder example | Only if true — wrong secondary confuses “what is this place?” | +| Hours | Weekly | Tue–Sun 7–3; Mon closed | same | same | sourced field; placeholder example | Bakeries live/die on early/weekend hours accuracy | +| Hours | Special *(rec)* | Thanksgiving: closed | same | same | sourced field family; placeholder example | Stops “open now” lies on holidays | +| Description | Short bio | “Sourdough & homemade muffins on Whidbey.” | same idea ≤ limit | same | sourced field; placeholder example | Primary carrier for known-for when no product checkbox exists | +| Service options | Dine-in / takeout / delivery | Dine-in: Yes; Takeout: Yes; Delivery: No | partial amenity / Good to Know | partial | **GBP-strong**; Apple/Bing partial | Matches how people ask (“can I get takeout?”) | +| Links | Menu / order URL | https://…/menu | URL / website | URL / website | sourced where URL/Actions exist; placeholder example | Bridges recommend → buy without full marketplace integration | +| Attributes | Amenities *(rec)* | Outdoor seating; Wi‑Fi; Kid-friendly *(verify per GBP category)* | Outdoor / Wi‑Fi if Good to Know offers | limited | not all universal — verify | Real ask filters; never invent | +| Products / proof | Known-for *(rec)* | Photos: muffins, sourdough *(not a checkbox)* | product/storefront photos | if supported | capability sourced; “muffin attribute” **not** a Core-3 field | Proof for AI readiness “would recommend for muffins” | --- ## Must vs recommended (summary) -**Must (beyond Layer A):** category (+ secondary if real); known-for in description; hours accuracy; service options; menu/order URL if they sell online. -**High-value recommended:** GBP-heavy amenities (*only if true*); products/photos for known-for (not fake Core-3 checkboxes); peak/holiday hours when seasonal. +**Must (beyond Layer A):** category; known-for in description; hours; service options; menu/order URL if online sales. +**High-value recommended:** verified amenities; product photos; special hours when seasonal. --- ## Example ranked punch list (3–7) 1. Set category Bakery (+ Coffee shop if true) on Core 3 -2. Put “sourdough & muffins” in the short description everywhere +2. Put “sourdough & muffins” in short description everywhere 3. Confirm weekend / early-open hours on Core 3 4. Set dine-in + takeout on GBP; mirror where Apple/Bing allow 5. Add menu or order URL on GBP + website -6. Add 5 product photos (muffins, sourdough) on GBP +6. Add 5 product photos on GBP --- -## Out of scope for this pack shell +## Out of scope / next evidence pass -Full Google food schema, delivery-marketplace integrations, MCP/endpoints. +Per-category GBP attributes for Bakery (US); Apple Good to Know food amenities; Bing depth. MCP/endpoints out of scope here. diff --git a/docs/product/genre-packs/salon.md b/docs/product/genre-packs/salon.md index c4bd785..de268cd 100644 --- a/docs/product/genre-packs/salon.md +++ b/docs/product/genre-packs/salon.md @@ -1,40 +1,42 @@ # Genre pack — Salon (deep example) -**Status:** working shell from planning conversation (not locked) +**Status:** working shell — **not locked** **Vertical:** appointment-based beauty / hair **Assumes Layer A** (Discovery foundation) already ranked or clean. -**Core 3 rule:** set on **GBP** first; mirror on Apple Business Connect / Bing Places where the field exists. GBP = richest; Apple = mid; Bing = thinnest. -Where a platform has no field, use description/website — do not invent platform-native checkboxes. +**Evidence honesty (2026-09-15):** first matrices were SME/local-SEO practice + invented example businesses, **not** a live Core 3 schema dump. After Desk’s source check: Layer A identity/hours/category/website fields are real across Core 3; services are **GBP-strong**; rich attributes are **GBP + Apple “Good to Know”**, Bing thinner. Category-specific checkboxes (e.g. women-led) stay **unverified universal** until per-category attribute lists are pulled. + +**Core 3 rule:** set on **GBP** first; mirror on Apple Business Connect / Bing Places where the field exists. +**Confidence:** `sourced` = field family confirmed in official product/API docs; `placeholder example` = illustrative cell value only. --- ## Field matrix — parent / child × Core 3 -Example business: **Maria's Hair Studio**. Cell = example field entry. +Example business (placeholder): **Maria's Hair Studio**. -| Parent | Child | GBP | Apple Business Connect | Bing Places | -| :--- | :--- | :--- | :--- | :--- | -| Identity | Name | Maria's Hair Studio | Maria's Hair Studio | Maria's Hair Studio | -| Identity | Address | 12 Main St, Cameron Park, CA 95682 | same | same | -| Identity | Phone | (530) 555-0142 | same | same | -| Identity | Website | https://mariashair.example | same | same | -| Category | Primary | Hair salon | Hair Salon | Hair Salon | -| Category | Secondary | Nail salon; Beauty salon | Nail Salon (if offered) | Beauty Salon (if offered) | -| Hours | Weekly | Mon–Sat 9–6; Sun closed | same | same | -| Description | Short bio | “Cameron Park salon — cuts, color, curly specialists.” | same idea ≤ platform limit | same | -| Services | Service items | Haircut; Color; Balayage; Blowout | *(thin)* fold into description | *(thin)* fold into description | -| Links | Booking URL | https://book.squareup.com/… | Appointment / website URL | Website / URL field | -| Attributes | Accessibility | Wheelchair accessible entrance: Yes | Accessibility if field exists | if field exists | -| Attributes | Amenities *(rec)* | Wi‑Fi; Women-led *(GBP)* | Wi‑Fi if offered | limited | -| Media | Photos *(rec)* | 5–10 real work photos | storefront + interior | if supported | +| Parent | Child | GBP | Apple Business Connect | Bing Places | Confidence | Why it matters | +| :--- | :--- | :--- | :--- | :--- | :--- | :--- | +| Identity | Name | Maria's Hair Studio | Maria's Hair Studio | Maria's Hair Studio | sourced field; placeholder example | NAP identity — mismatches break discovery on all Core 3 | +| Identity | Address | 12 Main St, Cameron Park, CA 95682 | same | same | sourced field; placeholder example | Same — address is primary match key with name/phone | +| Identity | Phone | (530) 555-0142 | same | same | sourced field; placeholder example | Reachability + NAP consistency; OTP/validation often uses it | +| Identity | Website | https://mariashair.example | same | same | sourced field; placeholder example | Proof + deep links; booking/menu often live here when platform fields are thin | +| Category | Primary | Hair salon | Hair Salon | Hair Salon | sourced field; placeholder example | Controls which attribute/services shapes apply; wrong category = wrong recommendations | +| Category | Secondary | Nail salon; Beauty salon | Nail Salon (if offered) | Beauty Salon (if offered) | sourced field (limits differ); placeholder example | Helps “knows what you do” without stuffing unrelated primaries | +| Hours | Weekly | Mon–Sat 9–6; Sun closed | same | same | sourced field; placeholder example | Assistants and Maps refuse bad open/closed answers — foundation trust | +| Description | Short bio | “Cameron Park salon — cuts, color, curly specialists.” | same idea ≤ platform limit | same | sourced field; placeholder example | Carries known-for when attributes/services are thin on Apple/Bing | +| Services | Service items | Haircut; Color; Balayage; Blowout | *(thin)* fold into description | *(thin)* fold into description | **GBP-strong** (`serviceItems`); Apple/Bing weaker | Turns “hair salon” into actionable offer list — big jump on “knows what you do” | +| Links | Booking URL | https://book.squareup.com/… | Appointment / website URL | Website / URL field | sourced where Actions/URL fields exist; placeholder example | Converts recommend → book; often GBP + website first | +| Attributes | Accessibility | Wheelchair accessible entrance: Yes | Good to Know / accessibility if offered | if field exists | sourced family; availability varies | High-intent filter; only set if true | +| Attributes | Amenities *(rec)* | Wi‑Fi; Women-led *(GBP category-specific — verify)* | Good to Know if offered | limited | **not verified universal** — confirm per category/country | Helps filters/asks; fake checkboxes hurt trust — prefer description if unsure | +| Media | Photos *(rec)* | 5–10 real work photos | storefront + interior | if supported | sourced capability; placeholder guidance | Proof for specialties (bridal, curly) when checkboxes don’t exist | --- ## Must vs recommended (summary) -**Must (beyond Layer A):** primary + secondaries; services list; booking URL; accessibility where offered. -**High-value recommended:** GBP-heavy amenities; known-for in description/photos/services (not fake checkboxes); 5–10 real work photos; staff/credentials only if true. +**Must (beyond Layer A):** primary + secondaries; services list (GBP); booking URL; accessibility where true. +**High-value recommended:** verified amenities; known-for in description/photos/services; real work photos. --- @@ -42,13 +44,13 @@ Example business: **Maria's Hair Studio**. Cell = example field entry. 1. Fix primary category (Hair salon) on Core 3 2. Add booking link on GBP + website -3. List top 4 services (Haircut, Color, Balayage, Blowout) +3. List top 4 services on GBP 4. Add “curly specialists” to description (known-for) 5. Upload 5 real work photos on GBP 6. Mirror hours + booking URL on Apple Business Connect --- -## Out of scope for this pack shell +## Out of scope / next evidence pass -Full Google attribute schema, review response playbooks, MCP/endpoints. +Live pull of GBP `attributes.list` for Hair salon (US); Apple Good to Know enum; Bing amenity matrix. MCP/endpoints out of scope here. diff --git a/docs/strategy/BUSINESS_PLAN.md b/docs/strategy/BUSINESS_PLAN.md index 8bdc7b2..d7b568d 100644 --- a/docs/strategy/BUSINESS_PLAN.md +++ b/docs/strategy/BUSINESS_PLAN.md @@ -182,6 +182,7 @@ If something here conflicts with `CANONICAL_STRATEGY.md`, resolve on purpose in | 2026-09-15 | Essence: P1 foundation sync = NAP + category + hours + website + description + service-area mode; P2 genre/known-for gated | | 2026-09-15 | Essence: Layer A/B/C surfacing; deep pack shells for salon + bakery under docs/product/genre-packs/ | | 2026-09-15 | Salon + bakery packs: parent/child × Core 3 example field matrices checked in | +| 2026-09-15 | Pack matrices: added Why it matters + sourced vs placeholder honesty after Desk Core 3 source check | ---