VISORA AI V5.6.8 – Google Places Smart Mapping & Live Competitor Discovery Mục tiêu Đưa Google Places API (New) vào đúng mô hình SaaS trung tâm của VISORA: Super Admin VISORA cấu hình một Google Places API Key → khách sạn chỉ đăng ký/mua gói/tạo Hồ sơ doanh nghiệp → nhập tên hoặc địa chỉ → chọn đúng Google Place → VISORA tự tìm đối thủ gần đó.
Khách hàng không nhìn thấy và không phải tự đăng ký Google Places API key. 1.
Tìm và gán khách sạn bằng Text Search (New) Trong Nguồn dữ liệu & kết nối → Google Maps / Places: Chọn Hồ sơ doanh nghiệp đang cấu hình.
Nhập tên khách sạn + thành phố/địa chỉ, ví dụ Diamond Sea Hotel Da Nang.
Bấm Tìm khách sạn / địa điểm trên Google.
VISORA gọi POST https://places.googleapis.com/v1/places:searchText bằng API key trung tâm và dùng pageSize + FieldMask để chỉ lấy số trường cần thiết.
Hiển thị tối đa 5 ứng viên: tên, địa chỉ, rating, userRatingCount và link Google Maps.
Chọn đúng ứng viên để điền Google Place ID.
Khi lưu, VISORA chỉ giữ Place ID + từ khóa/ngôn ngữ do người dùng cấu hình.
Kết quả Google Places trên màn hình có attribution Google Maps và được xem là dữ liệu trực tiếp, không phải dữ liệu VISORA sở hữu. 2.
Place Details (New) Sau khi có Place ID, VISORA dùng Place Details để lấy trực tiếp các trường cần cho phiên thao tác hiện tại: Display name.
Formatted address.
Latitude/longitude.
Rating. userRatingCount.
Google Maps URL.
Primary place type.
Các trường Places này dùng cho hiển thị/tìm Nearby tại thời điểm gọi API; không được ghi thành snapshot lịch sử Google Places trong database.
Place ID là mapping được giữ lại lâu dài. 3.
Tự tìm 10–20 đối thủ bằng Nearby Search (New) Trong Đối thủ & thứ hạng → Tự tìm đối thủ gần khách sạn: Bán kính: 1 / 2 / 3 / 5 / 10 km.
Số kết quả: 10 / 15 / 20.
Thứ tự Nearby: Popularity hoặc Distance.
VISORA lấy tọa độ hiện tại của Place Details làm tâm tìm kiếm.
Nearby Search dùng loại hotel; theo Places API (New), loại tổng quát này có thể trả các loại khách sạn cụ thể hơn trong cùng nhóm phân loại.
Place ID của chính khách sạn được tự loại khỏi danh sách.
Google Nearby Search tối đa 20 kết quả mỗi request.
Danh sách này không được hiểu là toàn bộ khách sạn trong khu vực. 4.
VISORA Live Benchmark 0–100 Google cung cấp dữ liệu; VISORA tự tính benchmark, Google không đưa ra kết luận khách sạn nào tốt hơn.
Vì Places public trong phiên này chỉ có hai tín hiệu phù hợp để so sánh đồng nhất, V5.6.8 dùng: Rating Google: 70%.
Lượng rating/review trong peer set: 30%, chuẩn hóa log.
Kết quả: VISORA Live Benchmark: 0–100. #x/n trong chính tập Nearby vừa trả về.
Đây không phải Google Search rank và cũng không phải Reputation Score đầy đủ của VISORA.
Khi sau này có nguồn lịch sử/được phép lưu, Reputation Score đầy đủ có thể thêm growth, recent review, response rate, sentiment… 5.
Theo dõi đối thủ mà không lưu nội dung Google Places Người dùng có thể tick đối thủ và bấm Lưu Place ID để theo dõi.
VISORA chỉ lưu danh sách google_competitor_place_ids trong projects.reputation_settings.
Không lưu dài hạn từ module discovery: Rating Google. userRatingCount.
Địa chỉ Google.
Tọa độ Google (ngoài phạm vi cache tạm nếu triển khai sau này).
Google Maps URL.
Nội dung review mẫu.
Snapshot Google Places public.
Mỗi lần cần benchmark, VISORA gọi Places API lại để lấy dữ liệu hiện tại. 6.
Review Google đầy đủ của chính khách sạn Places API có thể trả tối đa một số review mẫu và không phải API để xây kho lịch sử review đầy đủ của mọi địa điểm.
Vì vậy V5.6.8 tách rõ: Google Places → tìm địa điểm, rating/tổng lượt đánh giá trực tiếp, tìm đối thủ Nearby, live benchmark.
Google Business Profile → hướng tích hợp dành cho review đầy đủ của chính khách sạn khi chủ doanh nghiệp ủy quyền OAuth; dùng cho list review, phân tích lịch sử và reply.
Nút đồng bộ Google Places trong Review Center giờ chỉ kiểm tra Place + số liệu trực tiếp và không nhập review Places public vào database. 7.
Dọn dữ liệu Places public cũ Migration mới: 016_google_places_live_discovery.php.
Migration: Xóa các review_sources/reviews/reputation_snapshots cũ mà VISORA đã đánh dấu data_scope=public_places.
Không đụng Booking/Tripadvisor/Agoda hoặc nguồn Google khác không mang marker public Places này.
Làm sạch integrations.settings Google Places, chỉ giữ Place ID + cấu hình do người dùng/VISORA sở hữu.
Mục tiêu là tránh tiếp tục dùng review mẫu Google Places như một kho review lịch sử. 8.
Super Admin /admin/reputation-api vẫn là nơi duy nhất lưu Google Places API Key.
Có thêm nút Kiểm tra kết nối: Super Admin nhập một truy vấn thử (mặc định Diamond Sea Hotel Da Nang), VISORA chạy Text Search + Place Details trực tiếp bằng key đang nhập hoặc key đã lưu; kết quả kiểm tra không được lưu thành dữ liệu địa điểm.
Có thêm cấu hình mặc định: Bán kính Nearby.
Số kết quả.
Popularity / Distance. 9.
Marketing Intelligence Card Uy tín địa phương có link Tự tìm đối thủ Google để mở đúng khối discovery của hồ sơ hiện tại. 10.
Help Center Bổ sung/cập nhật bài: Tìm và gán khách sạn bằng Google Places.
Tự tìm đối thủ Google gần khách sạn.
Phân biệt Google Places live data và Google Business Profile review history. 11.
Bảo mật API key chỉ ở platform settings.
Khách hàng không nhập/nhìn thấy API key.
Token tracking được ký HMAC và hết hạn sau 30 phút.
Backend chỉ lấy project_id + place_id từ token hợp lệ để lưu danh sách theo dõi.
Không tin rating/review count do trình duyệt gửi ngược lên. 12.
Database Có migration 016_google_places_live_discovery.php, nhưng không tạo bảng mới.
Dữ liệu theo dõi dùng các trường hiện có: integrations.settings.place_id projects.reputation_settings.google_competitor_place_ids