Files
amare/openspec/changes/package-detail-pages/proposal.md

2.6 KiB

Why

Modalidades de casamento (Essenza, Conduzione, Grand Jour) existem no CMS e na home/serviços só como cards com CTA WhatsApp. Não há página de detalhe: o visitante não consegue ler o que está incluso, para quem é o pacote ou prova visual editorial antes de converter. O mock aprovado (amare-assessoria-completa.html) define a jornada; falta rota CMS-driven /pacotes/{slug} alinhada a WEB-02/WEB-03 e ao padrão de detalhe do portfólio.

What Changes

  • Estender WeddingPackage com slug estável, campos editoriais de detalhe (hero, benefícios, itens inclusos, audiência, imagens, SEO opcional) sem remover summary/scope_items dos cards.
  • Expor rota pública packages.show em /pacotes/{slug}: só publicados; rascunho → 404 (mesmo contrato de portfolio.show).
  • Renderizar página de detalhe Heritage Editorial espelhando o mock (hero split, faixa de benefícios, grid “O que está incluso”, bloco audiência, CTA final WhatsApp contextual com fallback briefing).
  • Incluir slugs publicados no sitemap; meta title/description/canonical/OG por pacote.
  • Filament: seções de detalhe + catálogo fechado de ícones SVG; seeder preenche as 3 modalidades.
  • Cards na home e em /servicos passam a linkar para o detalhe (navegação secundária); CTA primário permanece WhatsApp/briefing.

Capabilities

New Capabilities

  • wedding-packages: modalidades publicáveis com detalhe por slug (baseline ainda não arquivada em openspec/specs/; esta change define o contrato de detalhe e reafirma cards/CTA já entregues).

Modified Capabilities

  • public-site-pages: incluir rota packages.show (/pacotes/{slug}) e regra de 404 para modalidade não publicada; cards de modalidade podem apontar ao detalhe.
  • public-seo: sitemap e metadados de página para modalidades publicadas.
  • service-catalog: listagem de serviços/casamentos referencia o detalhe da modalidade quando existir slug publicado.

Impact

Migration/model/factory/seeder WeddingPackage; query FindPublishedWeddingPackageBySlug; controller + rota + view Blade; componentes de seção; GetSitemapEntries / PageMeta; Filament WeddingPackageResource; links em partials de packages (home/serviços); testes feature (200/404, sitemap, CTA, conteúdo). Atende extensão de WEB-01/WEB-02 e o padrão de detalhe de WEB-03. Sem page builder, sem índice /pacotes, sem integração oficial WhatsApp, sem CRM (SPEC.md §4.2).

Não objetivos

  • Índice de pacotes, substituir /servicos, builder genérico, preços dinâmicos, checkout, multi-idioma, Livewire no site público, inventar prova ou cases Corporate (SPEC.md §4.2).