@php $firstName = (string) ($firstName ?? 'there'); $businessName = (string) ($businessName ?? 'your business'); $periodLabel = (string) ($periodLabel ?? 'Setup update · '.now()->format('F Y')); $totalAppointments = (int) ($totalAppointments ?? 0); $invitesQueued = (int) ($invitesQueued ?? 0); $inviteLimit = (int) ($inviteLimit ?? 25); $replyLimit = (int) ($replyLimit ?? 5); $upgradeNote = (string) ($upgradeNote ?? 'all appointments covered — free plan'); $connectedProviderLabel = (string) ($connectedProviderLabel ?? 'Google Calendar connected'); $statusMessage = (string) ($statusMessage ?? ''); $ctaUrl = (string) ($ctaUrl ?? '#'); $unsubscribeUrl = (string) ($unsubscribeUrl ?? '#'); $appUrl = rtrim((string) config('app.url'), '/'); $bannerBg = $invitesQueued > 0 ? '#f0fdf4' : ($totalAppointments === 0 ? '#eff6ff' : '#fef3c7'); $bannerBorder = $invitesQueued > 0 ? '#bbf7d0' : ($totalAppointments === 0 ? '#bfdbfe' : '#fde68a'); $bannerColor = $invitesQueued > 0 ? '#166534' : ($totalAppointments === 0 ? '#1e40af' : '#92400e'); @endphp
@include('emails.partials.reply-reviews-brand-header')
{{ $connectedProviderLabel }}
{{ number_format($totalAppointments) }} appointments
Review invites will fire after every appointment
You're all set.
Every new review gets an AI reply for your approval before posting.
{{ number_format($totalAppointments) }}
appointments this month
{{ number_format($invitesQueued) }} invites queued
{{ $upgradeNote }}
@if($statusMessage !== '')
{{ $statusMessage }}
@endif
{{ number_format($inviteLimit) }} invites & {{ number_format($replyLimit) }} replies free every month.
Choose your plan and finish setup to collect reviews and post AI replies.
View your queued invites →
{{ $businessName }} · {{ $periodLabel }}
Need help? Just reply to this email.
Reply.Reviews
·
Unsubscribe