# Períodos e cadência

Consulte as regras de data e as chaves usadas pelo workflow atual de notificações.

## Regras de vencimento

| Cadence Key | Dia previsto |
| --- | --- |
| daily | Todos os dias |
| daily-working-days | Dias listados em By Day |
| weekly | Segunda-feira |
| biweekly | Segunda-feira em semanas ISO pares (paridade 0) |
| monthly | Primeiro dia do mês |
| quarterly | 1º de janeiro, abril, julho e outubro |
| semiannual | 1º de janeiro e julho |
| annual | 1º de janeiro |
| on-demand ou chave desconhecida | Nunca enviada pelo agendador diário |

Programação e cadência devem estar Active. Event Schedule não é interpretado por este workflow. As regras estão no código, não são inferidas de Repeat Frequency.

## Identidade da resposta

Period Key Format formata a data com YYYY, MM, DD, [W]WW, [Q]Q e [H]. Formatos semanais usam ano ISO da semana. Occurrence Key é `scheduleRecordId:periodKey`; Submission Key é `occurrenceKey|membershipRecordId`. Use a chave por membership na coleta, pois uma ocorrência pode solicitar várias pessoas. Nomes e valores de meta não são chaves.

## Fuso e respostas atrasadas

O cron diário é 09:00 no fuso herdado da instância n8n; o workflow não o define explicitamente. Config.timezone usa America/Chicago no cálculo de datas e exibição de respostas. O cache usa explicitamente America/Recife. runDate parte da data atual do n8n e pode ser sobrescrito pelo webhook diário; é controle operacional, não entrada pública.

Um item Slack antigo mantém seu período no contexto privado, enquanto Observation Date registra o envio. O workflow diário calcula somente a data solicitada: não há varredura automática de atrasados. O parser não aplica prazo final de resposta. Uma edição tardia lê meta e unidade atuais da programação; alterar a programação pode afetar resposta antiga. Fixar versões de meta por ocorrência é uma lacuna.