# Spec 035 — Tasks

**Status:** Draft · **Início:** 2026-06-21

---

## Fase 0 — Catálogo comercial (FOSS + OpenPanel)

- [ ] Roger aprovar preços §1.1 — **via Admin Ligbox** (035-C), não FOSS directo
- [ ] Criar produtos FOSS: starter, business, enterprise, custom
- [ ] Criar planos OpenPanel espelhados (ligbox-mail-*)
- [ ] Config options FOSS para bundle custom (seats, mail_gb, files_gb)
- [ ] Publicar página vendas /signup com comparativo concorrência
- [ ] Documentar em `foss-products.md` IDs reais pós-criação

## Fase 1 — Provisionamento

- [ ] Tabela `bundle_entitlements` no wizard VM112
- [ ] Endpoint `POST /api/internal/provision/mail-bundle` — **código pronto** · [mail-bundle-api.md](../043-desk-client-activation-sync/contracts/mail-bundle-api.md) · deploy: [MAIL-BUNDLE-DEPLOY.md](../../deploy/vm112-wizard/MAIL-BUNDLE-DEPLOY.md)
- [x] Produto FOSS `ligbox-mail-business` (id=3) — ver [foss-products.md](./foss-products.md)
- [ ] Webhook Desk `foss/order-activated` → wizard
- [ ] Bridge: metadata JSON no user OpenPanel hub
- [ ] Email template FOSS boas-vindas (links OP + Domain Admin)
- [ ] Teste E2E: order Business → admin@ + 1 conta teste

## Fase 2 — Ligbox Console `/admin` gerente (PRIORIDADE UX — Roger 2026-06-21)

Shell: [ligbox-console-shell.md](./ligbox-console-shell.md) · Detalhe: [domain-manager-console-ui.md](./domain-manager-console-ui.md)

- [ ] UX-0: design tokens + AppLayout + login role → `console.ligbox.com.br`
- [ ] Traefik: `console.ligbox.com.br` VM123 + 301 onboard/admin
- [ ] UX-A1: `/admin` Início — cards resumo (tom banco digital BR)
- [ ] UX-A2: `/admin/contas` CRUD inline
- [ ] UX-A3: `/admin/files` quotas + toggle Mail NC
- [ ] UX-A4: `/admin/certificacao` + `/admin/dominio` **DNS Viewer** (037 dns-viewer.md)
  - [x] `/admin/dominio` V3 deploy VM123 2026-06-25 (`AdminDominio.jsx`, `DnsViewerPanel.jsx`)
  - [ ] `/admin/certificacao` EasyDMARC card
- [ ] UX-A4b: `/admin/plano` boleto/PIX
- [ ] SSO FOSS → `/admin?sso=TOKEN`
- [ ] API Desk `/api/v1/domain-console/*`
  - [x] `GET /api/v1/domain-console/dns/viewer/{domain}` (VM122 2026-06-25)

## Fase 2b — OpenPanel (backend only)

- [ ] Bridge metadata JSON no user hub (sem UI gerente)

## Fase C — Admin Ligbox staff (`/comercial` + `/ops`) — depois UX-A

Ver: [ligbox-system-admin-ui.md](./ligbox-system-admin-ui.md) · Shell: [ligbox-console-shell.md](./ligbox-console-shell.md)

- [ ] UX-B: `/comercial` — fila preços, catálogo, clientes, gateway
- [ ] UX-C: `/ops` — Spec 019 chamados no mesmo shell
- [ ] RBAC roles comercial/ops (Spec 027)
- [ ] Impersonate gerente → `/admin`

## Fase 3 — Self-service utilizador email (Fase B — depois)

Ver placeholder: [user-self-service-ui.md](./user-self-service-ui.md)

- [ ] Estudo redirects, OOO, assinaturas, calendário por user
- [ ] Wireframe `/me` ou `mail.{dom}/settings`
- [ ] Decidir Carbonio nativo vs SPA Ligbox

## Fase 3 — Nextcloud + EasyDMARC

- [ ] VM116 provisionada (Spec 034 Fase 0)
- [ ] Auto-provision NC Files em cada createAccount
- [ ] Toggle Mail Nextcloud por domínio no `/admin` (Spec 035 §2.2.1)
- [ ] EasyDMARC register domain automático no wizard
- [ ] Agent A3 Desk: alertas DMARC fail

## Fase 4 — Gateway pagamento + comercial avançado

- [ ] Escolher gateway: ASAAS vs Iugu (Roger)
- [ ] Módulo FOSS: boleto bancário (PDF + linha digitável)
- [ ] Módulo FOSS: PIX QR Code + copia-e-cola
- [ ] Webhook pagamento confirmado → Desk → wizard provision
- [ ] Card «Pagamento» no `/admin` — status + link boleto/PIX (embed FOSS API)
- [ ] Upgrade/downgrade plano FOSS → update entitlements
- [ ] Add-ons: seat extra, storage mail/files
- [ ] Odoo subscription mirror (Spec 023 phase 2)

## Documentação

- [x] Spec 035 `spec.md`
- [x] `tasks.md`
- [x] `foss-products.md` (template)
- [x] `mockups/domain-manager-sandbox.html` — UI sandbox (Mock + Live create-only)
- [x] API Desk `domain_console_sandbox*.py` — create-only produção
- [ ] Deploy API sandbox no VM122 + teste cenário real
- [ ] Actualizar Spec 034 § comercial → link 035
- [ ] Actualizar `docs/vms/README.md`
- [ ] Publicar Spec Hub Portal
- [x] Spec 037-DNS-VIEWER `dns-viewer.md` + §5.5 domain-manager actualizado
- [x] Implementar `GET /api/v1/dns/viewer/{domain}` (Desk VM122 + proxy Console VM123 2026-06-25)
