feat: reestruturar jornada pública de casamentos

This commit is contained in:
2026-08-11 15:42:43 -03:00
parent 70cc65227a
commit 68632c32df
61 changed files with 1006 additions and 78 deletions

View File

@@ -0,0 +1,26 @@
## ADDED Requirements
### Requirement: Wedding modalities are managed as publishable ordered content
The system SHALL let an admin manage `WeddingPackage` records with name, level, summary, ordered scope items, CTA label, sort order and `published_at`. Only published records SHALL appear in public wedding sections, in ascending `sort_order`.
#### Scenario: Published modalities follow CMS order
- **GIVEN** published and draft wedding modalities with different sort orders
- **WHEN** a visitor loads the home or services page
- **THEN** only published modalities appear in ascending `sort_order`
#### Scenario: Official initial modalities are available
- **WHEN** the content seeder runs
- **THEN** Essenza, Conduzione and Grand Jour are created as the official initial modalities
### Requirement: Wedding modality CTA has a contextual channel and conversion fallback
The system SHALL build a WhatsApp deeplink containing the selected modality when `whatsapp_number` is valid. When it is missing or invalid, the CTA SHALL point to `/briefing` with the modality prefilled as `servico_interesse`.
#### Scenario: Valid WhatsApp setting creates contextual link
- **GIVEN** a valid official WhatsApp number
- **WHEN** a visitor activates a wedding modality CTA
- **THEN** the link targets `wa.me` with a URL-encoded message naming that modality
#### Scenario: Missing WhatsApp setting preserves briefing conversion
- **GIVEN** no valid official WhatsApp number
- **WHEN** a visitor activates a wedding modality CTA
- **THEN** the visitor reaches `/briefing` with `servico_interesse` prefilled