Organização
Para quem: produtor, organizador, curador, escola
Última revisão: 2026-07-13
Rotas relacionadas: /seller, /seller/new-organization, /seller/new-curation, /hub/seller/new-school, /seller/dashboard/[id]
O que você consegue fazer
Pré-requisitos
Tipos de organização
O tipo é definido por flags booleanas, não por um campo único:
| Tipo | Flag no banco | Slug prefix | Label na UI |
|---|---|---|---|
| Casa (venue) | isVenue: true |
prod- |
casa |
| Produtora | todas false | prod- |
produtora |
| Curadoria | isCuration: true |
curation- |
curadoria |
| Escola | isSchool: true |
school- |
escola |
Ordem de resolução no código: school → venue → curation → producer (default).
Passo a passo — Criar organização
Casa ou produtora
/seller/new-organization?type=venue (casa) ou ?type=producer (produtora)prod-{nome}-{4dígitos}Curadoria
/seller/new-curationcuration-{nome}-{4dígitos}Escola
/hub/seller/new-schoolschool-{nome}-{4dígitos}Formulário compartilhado: OrganizationForm → mutation api.organizations.create.
Passo a passo — Gerenciar organização
Hub principal
/seller lista todas as suas organizações via OrganizationsPanel e OrganizationCard.
Visão geral do hub, mapa de rotas e funções do dia a dia: 00 — Hub do produtor.
Editar perfil
| Tipo | Rota de edição |
|---|---|
| Casa, produtora, escola | /seller/organizations/[id]/edit |
| Curadoria | /seller/organizations/curation/[id]/edit |
Dashboard
| Tipo | Rota |
|---|---|
| Casa / produtora / escola | /seller/dashboard/[id] |
| Curadoria | /seller/dashboard/curation/[id] |
O dashboard mostra métricas em tempo real (vendas, eventos, engajamento).
Página pública
Cada org tem página pública em https://subcena.com/{slug}.
Equipe e colaboradores
No card da organização (OrganizationCard), o dono pode:
admin, manager| Role na org | Permissões |
|---|---|
| owner | Dono (organization.userId) — acesso total |
admin |
Gestão completa da equipe |
manager |
Criar eventos, métricas, editar perfil |
Colaboradores não substituem o dono no Stripe — pagamentos continuam vinculados ao stripeConnectId do usuário dono.
Recursos por tipo
| Recurso | Casa | Produtora | Curadoria | Escola |
|---|---|---|---|---|
| Eventos próprios | Sim | Sim | Eventos curados | Aulas |
| Bar digital | Sim | — | — | — |
| Loja | Sim | Sim | — | — |
| Crowdfunding | Sim | Sim | — | — |
| Programa fidelidade | Sim | — | — | — |
| Instrutores | — | — | — | /hub/seller/instructors |
Status da organização
| Status | Significado |
|---|---|
active |
Operando normalmente |
inactive |
Inativa |
suspended |
Suspensa pela plataforma |
O que acontece nos bastidores
userId da org é quem criou; eventos criados por colaboradores ficam vinculados ao dono da orgcuratorCycles) separado de eventos de produção diretaProblemas comuns
| Sintoma | Causa provável | O que fazer |
|---|---|---|
| Não consigo criar evento | Stripe do dono inativo | Dono deve completar /guides |
| Colaborador não vê org | Não foi adicionado à equipe | Dono adiciona via OrganizationCard |
| Dashboard vazio | Sem eventos/vendas ainda | Crie e publique um evento |
| Tipo errado na UI | Flags conflitantes | Escola/venue/curation têm prioridade na resolução |
Referências de código (time interno)
components/organization/OrganizationForm.tsx — formulário de criaçãocomponents/organization/OrganizationCard.tsx — ações e tipocomponents/organization/OrganizationsPanel.tsx — lista no sellercomponents/seller/dashboard/OrganizationDashboard.tsx — dashboardconvex/organizations.ts — CRUD e colaboradoresconvex/schema/organizations.ts — schema e flags