AptofyCentral de AjudaCentral de Ajuda

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

  1. Em Vagas, cadastre cada vaga com código, setor, cobertura, tamanho e se é PCD.
  2. 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).
  3. 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

  1. 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.
  2. 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.
  3. 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.

  1. Compromisso (ao Armar): o sistema gera 32 bytes aleatórios de verdade (a server_seed) e publica commitment = 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. Revelação (ao Rodar): a server_seed é revelada. Qualquer pessoa confere SHA-256(server_seed) == commitment publicado 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): 2ae7aa6e5860a63caacfa1a60910480eebc79d55ccb4331888acf595b28666ac
  • commitment = SHA-256(server_seed) (publicado no Armar, antes de qualquer coisa): 51cd309e11ae4fc9baad840824ae5474f2ab40ed062c2d67863874727d279089
  • public_seed (aqui simplificada; normalmente o número da Loteria Federal): 54321
  • final_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):

  1. 103 → G-01
  2. 101 → G-02
  3. 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.