Files
veripath/docs/templates/gbp-snapshot-intake.md

3.7 KiB

GBP Snapshot Intake v1.2

Purpose: Capture raw Google Business Profile / Maps observations with zero analysis.

Who fills this: Human (cold audit) or Places API export (when available).

Who consumes this: Leonard / agents — map fields into Data Inventory only. Do not invent.

Status vocabulary (required):

  • NOT_PRESENT — looked; confirmed absent (evidence of absence)
  • NOT_OBSERVED — did not look or could not see (absence of evidence)
  • Unknown — only when signal is ambiguous after looking
  • Observed values: Yes / No / concrete text / numbers

Do not use “Not visible” as a synonym; map to NOT_PRESENT or NOT_OBSERVED.


Snapshot Metadata (required)

  • Client name:
  • Snapshot datetime (ISO 8601 + timezone): e.g. 2026-08-03T14:30:00-07:00
  • Source: Human eye on Maps / Places API / Owner dashboard
  • Observation surface: desktop_maps / mobile_maps / knowledge_panel / other
  • Maps or Place URL:
  • Place ID: (if known; else leave blank — agent computes from URL when possible)

Core Fields

  • Business name shown:
  • Address shown (exact string):
  • Address canonical (optional normalize): Suite not #; full street type
  • Phone shown (full digits only; no masking):
  • Website shown:
  • Primary category (ONE canonical GBP category only):
  • Additional categories (list; separate from primary):

Reputation

  • Star rating:
  • Review count:
  • Review responses observed: Yes / No / NOT_OBSERVED
  • If Yes — how many of N have owner replies:
  • If Yes — most recent owner response age/date (approx):

Ownership / Claim Signals

  • “Own this business?” prompt visible: Yes / No / NOT_OBSERVED
  • Claimed status (observed or inferred): Claimed / Unclaimed / Likely Claimed — inferred / Unknown
  • If inferred — list signals used:
  • Verified badge observed: Yes / No / NOT_OBSERVED

Operations

  • Hours listed: Yes / No
  • Hours text:
  • Open now indicator: Yes / No / NOT_OBSERVED (only valid with snapshot datetime+TZ)

Conversion (complete the whole action-button row if any button is observed)

  • Booking button present on the GBP (not the website): Yes / No / NOT_OBSERVED
  • Booking button label (if any):
  • Messaging button present: Yes / No / NOT_OBSERVED
  • Other action buttons observed:

Content Surface

  • Photos present: Yes / No
  • Approx photo count:
  • Services listed (exact labels):
  • Posts section present: Yes / No / NOT_OBSERVED
  • Post count (0 if empty section):
  • Most recent post date (approx, optional):
  • Q&A status: answers present / empty / NOT_PRESENT / NOT_OBSERVED
  • Attributes / highlights visible (optional):
  • Second related listing nearby: Yes / No / Unknown
  • Related listing name(s):
  • Related listing notes (factual only):
  • Secondary feature IDs from MAPS_URL (if parsed):

Raw notes (optional, factual only)


Agent mapping rules (do not reason beyond this)

  1. Copy each filled field into the GBP row of the client Data Inventory.
  2. Blank → NOT_OBSERVED (not “Unknown” unless truly ambiguous after looking).
  3. If MAPS_URL present and PLACE_ID blank → compute place/feature IDs from URL; never leave PLACE_ID blank when derivable.
  4. PRIMARY_CATEGORY must be a single value; if intake has multiple tokens → mark INVALID_CAPTURE and do not invent a primary.
  5. Verification Tier: Tier 1 only if Source = Owner dashboard or owner-confirmed; else Tier 2.
  6. Snapshot Date/time from intake datetime.
  7. Do not create threats unless a Threat Trigger Rule fires (execution card).
  8. Do not add severity upgrades, recommendations, or competitor claims.