| Name / Address / Phone / Website | Must match (illustrative: Whidbey Muffin Co.) | Full |
| Primary + additional categories | Bakery; Coffee shop / Cafe **only if true** | Full |
| Regular / special hours | Early open + weekend accuracy; holiday closed | Full |
| Description / profile | Primary home for known-for (“sourdough & muffins”) — **not** a fake checkbox | GBP `profile`; Bing `Description`; Apple place-card copy |
| Description / profile | Primary home for known-for (“sourdough & muffins”) — **not** a fake checkbox | GBP `profile`; Bing `Description`; Apple **About** |
| Service area | Storefront vs delivery-only must match reality | GBP `serviceArea`; Bing `ServiceAreas` / `HideAddress`; Apple SAB confirm in UI |
| Services list | Usually **not** the salon-shaped `serviceItems` story — prefer description + menu/order links + photos | Don’t invent Apple/Bing service arrays |
| Links / Actions | Menu / order URLs when they sell online | GBP actions/attrs if listed; Apple Actions; Bing `MenuURL` / `OrderURL` / related *(category-dependent)* |
# Core 3 — sourced field map (Discovery foundation)
**Status:** working — **sourced**, not guessed
**Rule:** never invent platform fields. Attributes for a genre = only after live `attributes.list` (GBP) / Good to Know enums (Apple) for that category + country.
**Rule:** never invent platform fields. Attributes for a genre = only after live `attributes.list` (GBP) / Good to Know enums (Apple) for that category + country.
**Process:** if blocked, say **BLOCKED** (what’s missing / why / unlock) — no paint-overs.
**Sources cited by SEO & AEO Desk (2026-09-15):**
**Sources (2026-09-15):**
- GBP Location API + Attributes API
- Apple Business Connect “Add a location” + Good to Know (support docs)
- Apple Business user guide — [Configure location attributes](https://support.apple.com/guide/business/configure-location-attributes-abcbdc543423/web) (via [Welcome](https://support.apple.com/guide/business/welcome/web))
- Bing Places API documentation
**Apple naming:** owner-facing **UI labels** from Configure location attributes (below). Still **BLOCKED** on separate camelCase Location API resource names from `businessconnect.apple.com` data-spec v1.3 until that dump is available — we do not invent them.
Example values in genre packs are **illustrative only** — they are not schema claims.
**Apple column honesty:** GBP and Bing columns use public API field names where published. Apple Business Connect owner support docs mostly expose **UI labels** (Display name, Primary category, Good to Know), not a public camelCase schema on those pages. There is a Business Connect Location API data spec (`businessconnect.apple.com/docs/data-specification/v1.3/…`) that is often partner-gated; fetch timed out in-session. **Do not invent Apple API names.** Until someone with access dumps the v1.3 Location resource field list, Apple stays label-sourced.
| Parent | Child (API / UI name) | GBP | Apple Business Connect | Bing Places | Why it matters |
| Parent | Child (API / UI name) | GBP | Apple Business Connect (UI labels) | Bing Places | Why it matters |
| :--- | :--- | :--- | :--- | :--- | :--- |
| Identity | Name | `title` | Display name | `BusinessName` | NAP consistency — assistants + Maps match on this |
| Identity | Address | `storefrontAddress` | Address + map pin | `AddressLine*` / City / State / Zip / Country | Same |
| Identity | Name | `title` | Display name (+ alternate) | `BusinessName` | NAP consistency — assistants + Maps match on this |
| Identity | Address | `storefrontAddress` | Address + lat/long | `AddressLine*` / City / State / Zip / Country | Same |
| Category | Additional | additional categories | up to 19 optional | `BusinessCategories` (up to 10) | Secondary intent |
| Hours | Regular | `regularHours` | Normal hours | `OperatingHours` / `Open24Hours` | “Are you open?” — high AI failure mode |
| Hours | Special / holiday | `specialHours` | Special hours | `HolidayHours` | Same for peak days |
| Description | Profile / description | `profile` | *(not in add-location core; place card copy elsewhere)* | `Description` (rich attrs / listing) | “What you do” in plain language |
| Service area | Mode / areas | `serviceArea` | *(storefront vs SAB — confirm in Apple UI)* | `ServiceAreas` + `HideAddress` | Stops wrong “visit us” vs mobile |
| Services | Service list | `serviceItems` | **not on Location core** — use categories / Good to Know / Actions | **no generic services array** — category-specific | Salon P1 on GBP; don’t claim Apple/Bing parity |
| Attributes | Amenities / access | **dynamic** via `attributes.list` | **Good to Know** (amenities list) | `Attributes[]` rich attrs (category-dependent) + hotel-only `Amenities` | Genre-gated;**must pull live list** — never hardcode full schema |
| Links | Appointment / menu / order | Place Actions + attrs like `url_menu`*(if listed)* | **Actions** | `url_appointment`, `MenuURL`, `OrderURL`, `url_order_ahead`*(category-dependent)* | Conversion paths |
| Media | Photos | *(Photos API / UI — not Location JSON)* | Photos | `Photos[]` | Proof for known-for |
| Hours | Special / holiday | `specialHours` | Special hours—service; Special hours—temporary | `HolidayHours` | Same for peak days |
| Description | Profile / description | `profile` | About | `Description` | “What you do” in plain language |
| Service area | Mode / areas | `serviceArea` | *(confirm storefront vs SAB in Apple UI — not listed as a single label on that page)* | `ServiceAreas` + `HideAddress` | Stops wrong “visit us” vs mobile |
| Services | Service list | `serviceItems` | **not a Location core services array** — use Categories / Good to Know / Actions | **no generic services array** — category-specific | Salon P1 on GBP; don’t claim Apple/Bing parity |
| Attributes | Amenities / access | **dynamic** via `attributes.list` | **Good to Know** | `Attributes[]` rich attrs (category-dependent) + hotel-only `Amenities` | Genre-gated; pull live lists — never hardcode full schema |
| Links | Appointment / menu / order | Place Actions + attrs like `url_menu`*(if listed)* | **Actions** (+ App link) | `url_appointment`, `MenuURL`, `OrderURL`, `url_order_ahead`*(category-dependent)* | Conversion paths |
| Media | Photos | *(Photos API / UI — not Location JSON)* | Photos / cover | `Photos[]` | Proof for known-for |
| Status | Open / closed / etc. | *(platform status / openInfo as applicable)* | Status | *(platform-specific)* | Suppress wrong “open now” |
| Showcase | Merchandising | *(GBP posts / products — separate surfaces)* | Showcase | *(n/a or limited)* | Optional merchandising — not Layer A P1 |
**Hard rule:** do not add salon/bakery attribute *rows* until GBP `attributes.list` for that `gcid` (US) and Apple Good to Know enums are pulled.
**Still BLOCKED:** Apple Location API v1.3 camelCase field list (partner/data-spec dump). Unlock: paste or accessible fetch of that resource.
**Still BLOCKED for genre attribute rows:** GBP `attributes.list` per salon/bakery `gcid` (US) + Apple Good to Know enum values.
| Links / Actions | Booking URL (Square/Mindbody/etc.) | GBP Place Actions + website; Apple **Actions**; Bing appointment/URL fields if category allows |
| Attributes | **Do not hardcode** (women-led, wifi, wheelchair, …) until `attributes.list` for salon `gcid` + US | GBP dynamic; Apple Good to Know; Bing category-dependent |
@@ -185,6 +185,7 @@ If something here conflicts with `CANONICAL_STRATEGY.md`, resolve on purpose in
| 2026-09-15 | Pack matrices: added Why it matters + sourced vs placeholder honesty after Desk Core 3 source check |
| 2026-09-15 | Replaced guessed genre matrices with sourced Core 3 field map (core3-field-map.md); salon/bakery = application notes only |
| 2026-09-15 | Apple Core 3 column = UI labels until Business Connect Location API v1.3 field list dumped; no invented Apple schema names |
| 2026-09-15 | Apple column filled from Configure location attributes guide; still BLOCKED on API camelCase names + per-genre attribute enums |
---
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.