82 lines
4.7 KiB
Markdown
82 lines
4.7 KiB
Markdown
# Website Capture — Phoenix Salon + Spa
|
||
|
||
**Date:** 2026-08-11
|
||
**Source:** phoenixcameronpark.com (rendered pages + static HTML)
|
||
**Surface:** homepage, /services, /contact, /sitemap.xml, /robots.txt
|
||
**Collector:** Leonard (Hermes Agent)
|
||
**Format note:** Raw observation consistent with `raw/gbp-snapshots/TEMPLATE.md` status vocabulary. This is verification data, not analysis.
|
||
|
||
---
|
||
|
||
## 1. Identity (NAP)
|
||
|
||
| Field | Value | Verification |
|
||
|---|---|---|
|
||
| Business name | Phoenix Salon + Spa | observed — footer/contact/schema agree |
|
||
| Address | 3460 Robin Lane, Suite 4, Cameron Park, CA 95682 | observed — footer/contact/schema agree |
|
||
| Phone | (530) 350-9197 | observed — footer/contact/schema agree |
|
||
| Email | ashley@phoenixcameronpark.com | observed — footer/contact/schema agree |
|
||
| Website | https://phoenixcameronpark.com | observed |
|
||
| Price range | $$$ (schema field `priceRange`) | observed |
|
||
|
||
**NAP consistency:** All three sources (footer, /contact page, JSON-LD schema) agree on address, phone, email. No internal conflict. Tier 1 (business-owned surface).
|
||
|
||
## 2. Hours
|
||
|
||
**Business model context (owner insight, 2026-08-11):** Ashley runs primarily by appointment and never maintained a single unified hours-of-operation statement. The "hours conflict" is downstream of that: because no canonical hours existed, every surface (website, Yelp, GBP) filled the gap with its own guess. The fix is not to pick one source — it's to define the operating model once, then propagate it everywhere.
|
||
|
||
| Day | Website + schema | Yelp (prior capture) | GROUND TRUTH (Ashley, owner, 2026-08-11) | Status |
|
||
|---|---|---|---|---|
|
||
| Mon–Fri | 9:00 AM – 7:00 PM | 9:00 AM – 7:00 PM | 9:00 AM – 6:00 PM | CONFLICT |
|
||
| Saturday | 9:00 AM – 5:00 PM | 9:00 AM – 7:00 PM | 9:00 AM – 3:00 PM | CONFLICT |
|
||
| Sunday | 9:00 AM – 5:00 PM | Closed | Closed | MATCH (Yelp) |
|
||
|
||
**Note:** Website carries "By appointment only." Owner-stated Ground Truth (Ashley, direct, 2026-08-11) conflicts with the website/schema AND with Yelp on Mon–Sat. Operating model = appointment-driven; no canonical hours previously existed. Recommended machine-readable expression: open-hours **plus** `byAppointmentOnly` attribute, not hours-only.
|
||
**Status:** LOCKED — owner-verified Ground Truth. All other sources (website, schema, Yelp) flagged as inaccurate/stale pending update.
|
||
|
||
## 3. Schema (JSON-LD)
|
||
|
||
- **Type:** `BeautySalon` (schema.org)
|
||
- **Present:** Yes — single valid block on homepage
|
||
- **Fields present:** name, url, image, telephone, email, priceRange, address (full PostalAddress), openingHoursSpecification, sameAs (Instagram, Facebook)
|
||
- **Hours in schema:** Mon–Fri 09:00–19:00; Sat–Sun 09:00–17:00 (matches /contact page)
|
||
- **Google verification:** two `google-site-verification` meta tags
|
||
- **Canonical:** present
|
||
- **Assessment:** Well-formed and reasonably complete. Minor gap — no `geo` (lat/long), no `aggregateRating`. Tier 1 (observed on business-owned asset).
|
||
|
||
## 4. Platform / Technical
|
||
|
||
- **Build:** React SPA (Lovable) — content is client-rendered. Static HTML carries only head + JSON-LD; body requires JS. Implication for crawlers: schema is in `<head>` (good), but all page text needs JS execution.
|
||
- **robots.txt:** present; allows all; declares sitemap
|
||
- **sitemap.xml:** present; ~60 URLs; lastmod 2026-07-19 (recent) with some pages 2026-08-05
|
||
- **Booking:** exists (Book Your Appointment CTA); GBP prior report indicates Vagaro
|
||
|
||
## 5. Services & Pricing (from /services page, starting prices)
|
||
|
||
- Haircut & Style — from $65
|
||
- Full Color — from $120
|
||
- Balayage / Highlights — from $180
|
||
- Extensions — Consultation
|
||
- Phoenix Custom Facial — starting at $85 (most clients $115–160 with enhancements)
|
||
- Phoenix Custom Spray Tan — Full Body $60 / Partial $35 / Buddy rate $50 each
|
||
- Waxing Services — from $15
|
||
- Eyelash Extensions — from $150 (varies by artist)
|
||
|
||
## 6. Socials (sameAs in schema)
|
||
|
||
- Instagram: instagram.com/phoenix.cameronpark
|
||
- Facebook: facebook.com/PhoenixCameronPark
|
||
- TikTok: present in footer (`follow` links include TikTok)
|
||
|
||
---
|
||
|
||
## Open items / status vocabulary
|
||
|
||
- **Hours Saturday/Sunday:** LOCKED (owner Ground Truth: Mon–Fri 9–6, Sat 9–3, Sun closed). Website/schema/Yelp all carry conflicting hours — remediation signal.
|
||
- **geo (lat/long) in schema:** NOT_PRESENT
|
||
- **aggregateRating / reviewCount in schema:** NOT_PRESENT
|
||
- **Full pricing tiers for waxing/lash menu:** NOT_OBSERVED (page links to sub-menus not fully captured)
|
||
- **GBP hours:** NOT_OBSERVED this run (falls to separate GBP snapshot) — GBP should be updated to owner-stated hours
|
||
- **Website hours:** CONFLICT with Ground Truth — needs update (Mon–Fri 9–6, Sat 9–3, Sun closed)
|
||
|
||
*Generated by Leonard for the client-data-pss repository.* |