@if($view === 'postAuth') {{-- Post-auth view --}}

{{ $this->modalHeaderBusinessName }}

@if($loadingCalendarList)
@else @if($this->hasGoogleCalendarConnected)
Google Calendar
@if($loadingCalendarList)

Loading calendars…

@elseif($googleCalendarListFailed)

{{ $googleCalendarListError }}

@elseif(count($googleCalendarOptions) > 0)
@endif
Connected
@endif @if(!$loadingAppointments) @if($totalAppointments === 0)
Connected — no contacts found this month
Try another calendar above, or events may need guest emails on the invite
@else
{{ $this->connectedProviderLabel }} {{ $totalAppointments }} {{ $totalAppointments === 1 ? 'contact' : 'contacts' }}
Review invites will fire after every appointment
@endif @endif

You're all set.

Every new review gets an AI reply posted automatically.

This month's contacts @if($totalAppointments === 0) 0 covered @else {{ $coveredAppointments }} / {{ $totalAppointments }} covered @endif Updating…
Loading contacts…
@if($loadingAppointments && count($appointmentRows) === 0)
@else @forelse($appointmentRows as $row)
{{ $row['name'] }}
{{ $row['fires_label'] }}
@if($row['queued']) Queued @endif
@empty
@if($this->hasGoogleCalendarConnected && count($googleCalendarOptions) > 0) No contacts with emails in this calendar for {{ now()->format('F') }} yet @else No contacts found yet @endif
@endforelse @endif
@if($showUpgradeCta && !$loadingAppointments)
{{ $invitesNeededEstimate }} invites needed this month — based on {{ $totalAppointments }} contacts this month including resends. Your free plan covers {{ $inviteLimit }}.
@endif @endif @if(!$loadingAppointments && !$loadingCalendarList) @if($showUpgradeCta) @endif Need help? Contact support @endif
@elseif($view === 'zapier')

Connect Zapier

When an appointment ends in any app connected to Zapier, trigger a review invite with the same delay and deduplication as your calendars.

  1. Create a Zap: Trigger = appointment ended (Calendly, Google Calendar, HubSpot, etc.)
  2. Action = POST to {{ url('/api/schedule-appointment-invite') }}
  3. Authenticate with your Reply.Reviews account (OAuth via Zapier)

Required: business_name, email, event_id, ended_at (ISO 8601). Optional: name, phone, delay_hours.

API docs
@else {{-- Connect view --}}
{{-- Header --}}

Schedule review invites automatically

Connect your calendar — invites send automatically after every appointment.

{{-- Body --}}
@if($showSuccess)

Review invites scheduled successfully!

@if($scheduledCount > 0) {{ $scheduledCount }} {{ $scheduledCount === 1 ? 'invite has' : 'invites have' }} been scheduled and will be sent @if($delayHours === 0) immediately. @elseif($delayHours === 1) in 1 hour. @elseif($delayHours === 24) in 24 hours. @elseif($delayHours === 48) in 48 hours. @elseif($delayHours === 72) in 3 days. @elseif($delayHours === 168) in 1 week. @else in {{ $delayHours }} hours. @endif @if($resendAfter36Hours) A follow-up invite will be sent 36 hours after the first one. @endif @else Your invites have been scheduled successfully. @endif

@endif {{-- Scan state --}}
{{-- No data message (mockup) --}}
No appointments or customer emails found. In your booking software go to Settings → Google Calendar and tick Include contact details. Then reconnect below.
{{-- Connect providers --}}
Connect your calendar
{{-- Google Calendar --}} @if($this->hasGoogleCalendarConnected)
Google Calendar
@if($loadingCalendarList)

Loading calendars…

@elseif($googleCalendarListFailed)

{{ $googleCalendarListError }}

@elseif(count($googleCalendarOptions) > 0)
@endif
@if($this->hasBusinessScopedGoogle) @else @endif
@else @endif {{-- Calendly --}} @if($this->hasCalendlyConnected)
Calendly
{{ $this->integrationSubtitle('calendly') }}
Connected
@else @endif {{-- Zapier --}}
{{-- Status bar --}} @if($this->statusBarMessage)
{{ $this->statusBarMessage }}
@endif {{-- Auto-invite timing --}}
Auto-invite timing
After each appointment ends (calendar & Zapier)
Send invite
Resend if no review after 36 hours
Don't send to the same customer more than twice in 6 months
Recommended for repeat businesses — salons, clinics, gyms
{{-- OR divider --}}
OR SEND MANUALLY
{{-- Manual invites --}}
Add customers to invite
One customer per line · name and email separated by comma · add as many as you like
Manual invites are sent right away (not delayed by auto-invite timing above).
@if($errorMessage)
{{ $errorMessage }}
@endif
{{-- Footer --}}
@endif
@if($showDisconnectConfirm) @endif