Sorteio de vagas de garagem
Cadastre as vagas, configure e rode um sorteio verificável, com contratação pontual cobrada na fatura do mês.
O que é
O Sorteio de Vagas organiza a distribuição das vagas de garagem entre as unidades de forma auditável e verificável — o resultado nunca depende de "confiar no síndico": qualquer morador pode conferir matematicamente que ninguém manipulou o sorteio. É uma funcionalidade contratada pontualmente por condomínio (não faz parte do plano) e o encargo entra na fatura seguinte da administradora, já com o valor mostrado antes de confirmar.
A tela fica em Condomínio → Comunidade → Sorteio de Vagas.
Cadastro de vagas e gavetas
- Em Vagas, cadastre cada vaga com código, setor, cobertura, tamanho e se é PCD.
- Vaga gaveta (uma na frente da outra, uma prende a saída da outra): marque as 2 vagas soltas na tabela e clique em Vincular como gaveta — a 1ª vaga marcada fica na frente (sai livre) e a 2ª fica presa atrás dela. Um selo mostra "1ª (frente)"/"2ª (presa)" em cada vaga assim que você marca, antes de confirmar. A tabela passa a mostrar o vínculo — a vaga presa nunca é sorteada separadamente, a menos que você libere isso na configuração do sorteio (veja abaixo).
- Errou qual fica na frente? Clique em Inverter na linha de qualquer uma das duas vagas — troca frente e presa sem precisar desfazer nada. Desvincular solta as duas vagas de volta, caso o vínculo em si estivesse errado.
Cadastre todas as vagas antes de criar o sorteio — a estimativa de preço e a lista de participantes usam o total de unidades do condomínio, não o de vagas.
Criando e configurando o sorteio
Todo sorteio é acoplado a uma assembleia: crie (ou use) uma assembleia com um item de pauta que aprove o sorteio — é essa aprovação que dá legitimidade jurídica ao resultado.
Em Sorteios, preencha:
- Assembleia e item de pauta que aprova (o item precisa estar aprovado antes de rodar o sorteio — pode ser criado e configurado antes disso, só não roda).
- Tipo: Automático com preferências (cada morador ordena as vagas que prefere; quem não tem preferência cadastrada entra na disputa pela vaga livre) ou Manual ao vivo (a ordem de chamada é sorteada, mas a escolha em si é feita ao vivo, presencialmente, pelo síndico).
- Ordem: aleatória verificável (a mais justa e mais comum) ou por fração ideal (quem tem a maior fração escolhe primeiro).
- Inadimplente ignora preferências: se ligado, uma unidade inadimplente ainda participa do sorteio, mas cai direto na vaga livre, sem valer a preferência que cadastrou.
- Grupos de sorteio têm prioridade: quando duas ou mais unidades pedem para ser sorteadas juntas (útil para dividir uma gaveta entre vizinhos), esse grupo é resolvido antes do restante — libera a gaveta cedo e deixa as vagas soltas disputadas só por quem não quis se juntar a ninguém.
- Permitir dividir gaveta: por padrão, uma gaveta só sai inteira (para uma unidade com direito a 2 vagas, ou para um grupo). Se ligado, ela pode ir para duas unidades diferentes — nesse caso o resultado sempre mostra quem está preso atrás de quem.
Abrindo as preferências
No tipo Automático com preferências, depois de Armar o sorteio você controla, com um botão Abrir preferências / Fechar preferências, se a tela onde cada morador ordena as vagas que prefere já está liberada. Feche de novo a qualquer momento antes de rodar — dá pra reabrir quantas vezes precisar até lá.
Revisão de direitos
Antes de rodar, abra o sorteio criado e confira Direitos por unidade: o padrão é 1 vaga por unidade, mas você pode aumentar o direito de uma unidade específica direto na tabela (ex.: uma unidade com 2 vagas contratuais). O aviso "Σ direitos vs. vagas" avisa se os direitos somados passam do total de vagas disponíveis.
Contratação
Com o sorteio em rascunho, o cartão Contratação pontual mostra a estimativa (unidades × preço, respeitando o piso) antes de qualquer cobrança. Clique em Contratar para confirmar — isso cria um encargo que entra na fatura seguinte da administradora, já com o condomínio identificado na linha. Cancelar um sorteio ainda não faturado cancela o encargo automaticamente.
Rodando o sorteio
- Armar: publica o compromisso (um hash) do sorteio — a partir daqui qualquer morador pode conferir depois que a semente usada bate com esse hash, provando que ela não foi trocada depois de publicada.
- Rodar: informe a semente pública (recomendamos o número da Loteria Federal do dia, uma âncora de sorteio que todo brasileiro já confia) e confirme. O resultado é gerado na hora, de forma determinística — os mesmos dados sempre produzem o mesmo resultado, o que é a base da verificação.
- Publicar: só depois de publicado o resultado fica visível para os moradores.
No modo Manual ao vivo, em vez de Rodar você vê a ordem de chamada já sorteada e conduz a escolha presencialmente: a cada unidade chamada, escolha a vaga na lista e clique em Atribuir; quando todas as unidades tiverem vaga, clique em Finalizar condução.
Depois de sorteado
- Resultado: assim que o sorteio é rodado (ou a condução ao vivo é finalizada), a tela mostra o resultado com uma pequena animação de revelação, unidade por vaga — clique em Reviver a revelação para assistir de novo.
- Verificação (só no tipo Automático com preferências — na condução ao vivo a prova é o próprio registro feito na hora): o botão Verificar agora recalcula tudo a partir da semente revelada e confere se bate com o compromisso publicado no Armar e com o resultado gravado, mostrando um ✓ ou ✗ direto na tela.
- Baixar relatório (CSV): gera uma planilha com unidade, vaga, se foi por preferência (e qual posição) ou vaga livre, e quem ficou preso atrás de quem — disponível assim que o sorteio é rodado.
Cancelar só é possível até a publicação — depois disso o resultado é definitivo.
O algoritmo por extenso
Esta seção é para quem quer conferir o sorteio de fora do sistema, sem confiar em nenhuma tela do Aptofy — com papel, calculadora de SHA-256 e os números publicados, dá pra reproduzir o resultado inteiro.
- Compromisso (ao Armar): o sistema gera 32 bytes aleatórios de verdade
(a
server_seed) e publicacommitment = SHA-256(server_seed), em hexadecimal. Ninguém — nem o próprio Aptofy — consegue trocar a semente depois disso sem que o hash publicado deixe de bater. - Semente pública (ao Rodar): um valor escolhido depois do compromisso já estar público — recomendamos o número da Loteria Federal do dia, porque ninguém controla esse número e todo mundo pode conferir que ele saiu naquele dia.
- Semente final:
final_seed = SHA-256(server_seed || public_seed)— os bytes da semente do servidor concatenados com os bytes (ASCII) da semente pública, depois SHA-256 de novo. - Gerador de números determinístico: a partir da semente final, cada
número sai de
SHA-256(final_seed || contador)— o contador começa em 0 e sobe 1 a cada número sorteado; os 4 primeiros bytes do hash (nessa ordem) viram um inteiro de 0 a 4294967295. - Sorteio sem viés: para escolher um número entre 0 e N−1 a partir desse gerador, qualquer valor fora do maior múltiplo de N que cabe em 32 bits é descartado e o próximo é sorteado — evita o viés clássico de um resto de divisão ingênuo.
- Embaralhar (Fisher-Yates): percorrendo as posições de trás pra frente, cada uma troca de lugar com uma posição sorteada (pelo passo 5) entre 0 e a posição atual, incluindo ela mesma.
- Ordem de escolha: unidades PCD e grupos de sorteio com prioridade (se configurado) primeiro; o restante na ordem embaralhada acima — ou por fração ideal, com empate resolvido do mesmo jeito. Cada unidade, nessa ordem, recebe a primeira vaga compatível ainda livre da sua lista de preferências; sem preferência restante (ou sem preferência cadastrada), recebe a melhor vaga livre compatível.
- Revelação (ao Rodar): a
server_seedé revelada. Qualquer pessoa confereSHA-256(server_seed) == commitmentpublicado no Armar, e repete os passos acima com os mesmos dados para chegar exatamente no mesmo resultado gravado.
Exemplo numérico conferível à mão
Um cenário mínimo real, gerado pelo próprio motor do Aptofy — os hashes
abaixo você pode reconferir com qualquer calculadora de SHA-256 (tem várias
gratuitas online) ou, no terminal, com sha256sum:
- 3 unidades (101, 102, 103), nenhuma com preferência cadastrada, disputando 3 vagas soltas (G-01, G-02, G-03).
server_seed(hex, 32 bytes, revelada só depois de rodar):2ae7aa6e5860a63caacfa1a60910480eebc79d55ccb4331888acf595b28666accommitment = SHA-256(server_seed)(publicado no Armar, antes de qualquer coisa):51cd309e11ae4fc9baad840824ae5474f2ab40ed062c2d67863874727d279089public_seed(aqui simplificada; normalmente o número da Loteria Federal):54321final_seed = SHA-256(server_seed || public_seed):62f778913d3bc9e10f59f0c1a0e5bf0427a983899152d66b0ab17d37a61b9d98
Para conferir você mesmo, num terminal Linux/macOS/Git Bash com o pacote
xxd instalado: echo -n "<server_seed em hex>" | xxd -r -p | sha256sum
reproduz o commitment; encadeando a semente pública depois dos mesmos
bytes (echo -n "<server_seed em hex>" | xxd -r -p; echo -n "<public_seed>")
antes do sha256sum reproduz o final_seed — troque os dois trechos entre
<> pelos valores publicados acima.
A partir do final_seed, o embaralhamento (passos 4-6 acima) das 3
unidades produziu esta ordem de chamada: 103 → 101 → 102. Sem
preferências cadastradas, cada uma recebe a primeira vaga livre da lista
(G-01, G-02, G-03, nessa ordem):
- 103 → G-01
- 101 → G-02
- 102 → G-03
Qualquer pessoa que reproduza os passos 4-7 com esses mesmos números chega exatamente nesta mesma lista — é essa reprodutibilidade, não uma tela do Aptofy, que prova que o sorteio não foi manipulado.
Perguntas frequentes
Por que preciso de uma assembleia pra sortear vagas?▾
O acoplamento a um item de pauta aprovado dá ao sorteio a mesma legitimidade jurídica de qualquer outra decisão de assembleia — e reusa o quórum/presença que já foi apurado ali.
Como funciona a verificação do sorteio?▾
O sistema publica o hash da semente antes do sorteio (compromisso) e, só depois de rodado, revela a semente em si. Qualquer pessoa pode conferir que o hash bate e recalcular o mesmo resultado com os mesmos dados publicados — é matematicamente impossível ter manipulado o resultado sem que o hash publicado antes deixasse de bater.
O que é uma vaga gaveta?▾
São duas vagas em que uma bloqueia a saída da outra (like um estacionamento de shopping): a vaga "de trás" só pode ser usada por quem consegue combinar a saída com quem está na frente. Por padrão o sorteio nunca separa as duas — elas vão juntas para a mesma unidade ou para um grupo que pediu para ser sorteado em conjunto.
Posso mudar o preço da contratação?▾
O preço (por unidade + piso mínimo) é configurado pela plataforma, não pelo condomínio — fale com o suporte se precisar revisar os valores.