New page /admin/gbp-audit/match-places shows companies without
google_place_id. Admin searches Google Maps, reviews results, and
confirms the correct match. Adds search_places_raw() to return all
results without name filtering.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Reviews and business type names were returned in English because
the get_place_details endpoint lacked the languageCode parameter,
unlike searchText and searchNearby which already had it.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Treat & as word connector (P&P, S&K stay as single tokens)
- Add prefix matching with legal suffix stripping (Sp. z o.o., S.A.)
- Add reverse prefix for brand vs legal name (Pixlab Softwarehouse ↔ Pixlab Sp. z o.o.)
- Compound names like TERMO-BUD still correctly rejected (no space separator)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
TERMO vs TERMO-BUD was incorrectly accepted (score 1.0) because
denominator only counted company words. Now uses max(company, google)
so extra words in either name lower the score.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Replace substring matching with word-boundary tokenized matching
- Short names (1-2 words): require ALL significant words to match
- Longer names (3+): require at least 50% word overlap
- Pick best-scoring result instead of first match
- Add company_name validation to competitor_monitoring_service
- Show Google profile name in dashboard hints for admin verification
- Display mismatch warning when Google name differs from company name
Prevents cases like "IT Space" matching "Body Space" (score 0.50 < 1.00 threshold).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Previously search_place() blindly returned the first result, which
could be a completely unrelated business. Now validates that at least
one significant word from the company name appears in the Google
result before accepting it. Prevents wrong GBP profiles being linked
to companies (e.g. Rozsadni Bracia getting Zielony Zolwik's profile).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add 4 quick-win features to GBP dashboard:
- "Poproś o opinię" button with writeAReviewUri from Places API
- "Pokaż trasę" button with directionsUri
- Open/Closed badge showing business status at audit time
- NAP comparison table (Name, Address, Phone) vs Google data
New DB columns: google_maps_links (JSONB), google_open_now (BOOLEAN)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- google_places_service.py: Google Places API integration
- competitor_monitoring_service.py: Competitor tracking service
- scripts/competitor_monitor_cron.py, scripts/generate_audit_report.py
- blueprints/admin/routes_competitors.py, templates/admin/competitor_dashboard.html
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>