@extends('layouts.admin') @section('content')

Local presence

Business Presence

Business Settings are authoritative. Supported providers can receive factual location updates through authorized APIs; unsupported providers use an exact manual-update package. Cannabis products, specials, medical claims, testimonials and promotional content are not syndicated by this subsystem.

Canonical public values

@foreach($canonical as $field => $value)
{{ str($field)->headline() }}
{{ $value ?: 'Not set' }}
@endforeach
@foreach($connections as $connection)

{{ $providerLabels[$connection->provider] ?? str($connection->provider)->headline() }}

{{ str($connection->status)->headline() }}
@if($connection->provider === 'google')

Uses the current Google Business Profile Account Management and Business Information APIs with OAuth. Google API access/quota and OAuth credentials must be approved and configured.

@php $credentials = $connection->encrypted_credentials ?? []; $available = $credentials['available_locations'] ?? []; @endphp @if(in_array($connection->status, ['not_connected','api_access_pending','failed'])) Connect Google @endif @if($connection->status === 'selection_required' && count($available))
@csrf
@endif @if($connection->external_location_id)
Connected location: {{ $connection->external_location_id }}
@csrf
@csrf
@csrf @method('DELETE')
@endif @else

Programmatic access is not assumed. Use the manual package until an authorized provider integration is available.

@csrf
@endif
@endforeach
@if($conflicts->isNotEmpty())

Open conflicts

Provider differences never silently overwrite the website. Review each discrepancy before accepting a remote value.

@foreach($conflicts as $conflict)
Field{{ str($conflict->field)->headline() }}
Website{{ $conflict->canonical_value ?: 'Not set' }}
Provider{{ $conflict->provider_value ?: 'Not set' }}
@endforeach
@endif

Recent sync activity

@forelse($recentRuns as $run)
{{ str($run->connection->provider)->headline() }} · {{ str($run->direction)->headline() }} {{ str($run->status)->headline() }} · {{ $run->created_at->diffForHumans() }}
@empty

No sync attempts yet.

@endforelse
@endsection