@extends('marketing._layout') @section('title', __('Pricing — :brand', ['brand' => config('branding.site_title', 'Pitchbar')])) @section('description', __('Simple, conversation-based pricing for the Pitchbar sales AI widget. Start free; scale as you grow.')) @php $brand = config('branding.site_title', 'Pitchbar'); $plans = [ [ 'name' => __('Free'), 'price' => 0, 'tagline' => __('Try it on your live site.'), 'volume' => __('100 conversations / month'), 'cta_label' => __('Start free'), 'cta_href' => url('/register'), 'highlight' => false, 'features' => [ __('1 published agent'), __('URL + sitemap + text knowledge sources'), __('Lead capture inbox'), __('Slack & outgoing webhook integrations'), __(':brand branding shown', ['brand' => $brand]), ], ], [ 'name' => __('Standard'), 'price' => 49, 'tagline' => __('For real traffic.'), 'volume' => __('500 conversations / month'), 'cta_label' => __('Start 14-day trial'), 'cta_href' => url('/register'), 'highlight' => true, 'features' => [ __('5 published agents'), __('Everything in Free, plus:'), __('A/B testing on behavior rules'), __('Content gap analytics'), __('Notion + Google Doc knowledge sources'), __('Branding removed from widget'), __('Email support'), ], ], [ 'name' => __('Pro'), 'price' => 249, 'tagline' => __('For teams that need scale.'), 'volume' => __('3,000 conversations / month'), 'cta_label' => __('Start 14-day trial'), 'cta_href' => url('/register'), 'highlight' => false, 'features' => [ __('Unlimited agents'), __('Everything in Standard, plus:'), __('HubSpot + Pipedrive native sync'), __('Higher LLM rate limits'), __('Custom domain for the widget'), __('Priority support, 8h SLA'), ], ], ]; $matrixRows = [ ['label' => __('Published agents'), 'free' => '1', 'standard' => '5', 'pro' => __('Unlimited')], ['label' => __('Monthly conversations'), 'free' => '100', 'standard' => '500', 'pro' => '3,000'], ['label' => __('Voice mic on widget'), 'free' => true, 'standard' => true, 'pro' => true], ['label' => __('Lead capture + inbox'), 'free' => true, 'standard' => true, 'pro' => true], ['label' => __('Persistent visitor sessions'), 'free' => true, 'standard' => true, 'pro' => true], ['label' => __('URL / sitemap / text sources'), 'free' => true, 'standard' => true, 'pro' => true], ['label' => __('Notion + Google Doc sources'), 'free' => false, 'standard' => true, 'pro' => true], ['label' => __('Auto-index visited pages'), 'free' => true, 'standard' => true, 'pro' => true], ['label' => __('8 widget languages'), 'free' => true, 'standard' => true, 'pro' => true], ['label' => __('A/B testing + content gaps'), 'free' => false, 'standard' => true, 'pro' => true], ['label' => __('Behavior rules + CTAs'), 'free' => true, 'standard' => true, 'pro' => true], ['label' => __('Curated answers'), 'free' => true, 'standard' => true, 'pro' => true], ['label' => __('Branding removed'), 'free' => false, 'standard' => true, 'pro' => true], ['label' => __('Slack + outgoing webhooks'), 'free' => true, 'standard' => true, 'pro' => true], ['label' => __('HubSpot + Pipedrive native'), 'free' => false, 'standard' => false, 'pro' => true], ['label' => __('Custom widget domain'), 'free' => false, 'standard' => false, 'pro' => true], ['label' => __('Workspace members'), 'free' => '2', 'standard' => '10', 'pro' => __('Unlimited')], ['label' => __('Support'), 'free' => __('Community'), 'standard' => __('Email'), 'pro' => __('Priority, 8h SLA')], ]; $faqs = [ ['q' => __('What counts as a conversation?'), 'a' => __('A conversation is metered the moment a visitor sends their first message. Resumed conversations within 24 hours don\'t count again. Playground / staging traffic is exempt.')], ['q' => __('What happens if I exceed the quota?'), 'a' => __('New conversations are paused with a friendly upgrade prompt. Conversations already in progress finish normally — including human takeovers. Your widget never breaks visibly.')], ['q' => __('Can I cancel anytime?'), 'a' => __('Yes. Cancellations take effect at the end of the billing period; you keep access until then and your data stays safe.')], ['q' => __('Do you offer refunds?'), 'a' => __('A 30-day money-back guarantee on all paid plans, no questions asked. Email :email.', ['email' => config('mail.from.address', 'support@example.com')])], ['q' => __('Is there an Enterprise plan?'), 'a' => __('Yes — custom limits, SSO, dedicated infrastructure, and a named CSM. Contact us for a quote.')], ['q' => __('Can I self-host?'), 'a' => __(':brand is also available as a self-hosted application via a one-time license. Same features, your infrastructure, your data.', ['brand' => $brand])], ]; @endphp @section('content')
{{ __('Pricing') }}

{{ __('Simple,') }} {{ __('conversation-based') }} {{ __('pricing') }}

{{ __('Start free. Upgrade when you outgrow it. No per-seat fees, no setup fees, no surprise overages — just a clear monthly conversation limit.') }}

@foreach ($plans as $plan)
! $plan['highlight'], 'border-emerald-500/40 ring-2 ring-emerald-500/30' => $plan['highlight'], ])> @if ($plan['highlight']) {{ __('Most popular') }} @endif

{{ $plan['name'] }}

{{ $plan['tagline'] }}

${{ $plan['price'] }} @if ($plan['price'] > 0) {{ __('/month') }} @endif

{{ $plan['volume'] }}

    @foreach ($plan['features'] as $feature)
  • {{ $feature }}
  • @endforeach
$plan['highlight'], 'border border-slate-900/15 bg-white text-slate-950 hover:bg-slate-50' => ! $plan['highlight'], ]) > {{ $plan['cta_label'] }}
@endforeach

{{ __('Need higher limits or a self-hosted license?') }} {{ __('Talk to us about Enterprise') }} .

{{ __('Compare every feature') }}

{{ __('Everything you can do on each plan, side by side.') }}

@foreach ($matrixRows as $row) @foreach (['free', 'standard', 'pro'] as $col) @endforeach @endforeach
{{ __('Feature') }} {{ __('Free') }} {{ __('Standard') }} {{ __('Pro') }}
{{ $row['label'] }} @if ($row[$col] === true) @elseif ($row[$col] === false) @else {{ $row[$col] }} @endif

{{ __('Frequently asked') }}

@foreach ($faqs as $faq)
{{ $faq['q'] }}

{{ $faq['a'] }}

@endforeach

{{ __('Ready to ship a real sales AI?') }}

{{ __('Free to start. Deploys in 5 minutes. No card required.') }}

{{ __('Get started free') }}
@endsection