> ## Documentation Index
> Fetch the complete documentation index at: https://developers.pontua.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Lista sugestões automáticas de calendário baseadas nas Unidades de Negócio do tenant que tenham endereço cadastrado. Cada sugestão inclui flags pra nacional/estadual/municipal e código IBGE quando a cidade é uma das 27 capitais brasileiras. Retorna `sugestoes: []` (não 404) quando o tenant não tem UN com endereço — frontend interpreta como "modo manual".



## OpenAPI

````yaml https://api.pre.pontua.tech/api/public/doc-json get /calendarios/templates/sugestoes
openapi: 3.0.0
info:
  title: Pontua Public API
  description: >-
    API oficial da Pontua para integrações de clientes externos. Autentique com
    o token gerado no dashboard em **Configurações → API**. Envie o token no
    header `Authorization: Bearer <SEU_TOKEN>`.
  version: '1.0'
  contact: {}
servers: []
security: []
tags: []
paths:
  /calendarios/templates/sugestoes:
    get:
      tags:
        - Calendário
      summary: >-
        Lista sugestões automáticas de calendário baseadas nas Unidades de
        Negócio do tenant que tenham endereço cadastrado. Cada sugestão inclui
        flags pra nacional/estadual/municipal e código IBGE quando a cidade é
        uma das 27 capitais brasileiras. Retorna `sugestoes: []` (não 404)
        quando o tenant não tem UN com endereço — frontend interpreta como "modo
        manual".
      operationId: CalendariosController_ListarSugestoesTemplates
      parameters: []
      responses:
        '200':
          description: Sugestões geradas com sucesso (pode ser array vazio)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListarSugestoesTemplatesDto'
        default:
          description: "\n\t\t\t400 - Bad Request: A solicitação não está no formato correto.\n\t\t\t401 - Unauthorized: A solicitação não foi autorizada. Verifique se o token de acesso é válido.\n\t\t\t403 - Forbidden: Acesso proibido! Requer um nível de permissão mais elevado.\n\t\t\t404 - Not Found: O recurso solicitado não foi encontrado.\n\t\t\t500 - Internal Server Error: Erro de execução no servidor!\n\t\t\t"
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDto'
      deprecated: false
      security:
        - bearer: []
components:
  schemas:
    ListarSugestoesTemplatesDto:
      type: object
      properties:
        sugestoes:
          description: >-
            Sugestões deduplicadas por `(estado, cidade)`, ordenadas
            alfabeticamente por cidade. Vazio quando o tenant não tem UN com
            endereço cadastrado — frontend deve ocultar a seção de sugestões
            nesse caso.
          type: array
          items:
            $ref: '#/components/schemas/SugestaoTemplateDto'
      required:
        - sugestoes
    ErrorDto:
      type: object
      properties:
        service:
          type: string
          description: Rota solicitada
        method:
          type: string
          description: Método http
        message:
          description: Mensagem do erro
          oneOf:
            - type: string
              example: message erro
            - type: array
              items:
                type: string
                example:
                  - erro 1
                  - erro 2
      required:
        - service
        - method
        - message
    SugestaoTemplateDto:
      type: object
      properties:
        unidadeNegocioId:
          type: string
          description: >-
            ID de uma das UNs que originou a sugestão (a primeira encontrada
            quando há várias UNs na mesma cidade). Frontend usa pra
            rastreabilidade — backend não depende desse ID pra criar o
            calendário.
          example: 7f8a3b2c-1d4e-5f6a-9b0c-8d7e6f5a4b3c
        unidadeNegocioNome:
          type: string
          description: >-
            Nome da unidade de negócio (display). Pode ser `null` em UNs ainda
            em fase de cadastro.
          example: Filial Goiânia
          nullable: true
        cidade:
          type: string
          description: Nome da cidade (vem de `endereco.cidade` da UN).
          example: Goiânia
        uf:
          type: string
          description: Sigla UF de 2 letras (vem de `endereco.estado` da UN).
          example: GO
        isCapital:
          type: boolean
          description: >-
            `true` quando a cidade da UN é uma das 27 capitais brasileiras
            (validado contra `CAPITAIS_IBGE` no shared layer).
          example: true
        codigoIbgeCapital:
          type: number
          description: >-
            Código IBGE da capital — preenchido SOMENTE quando `isCapital:
            true`. Frontend envia esse valor de volta no POST
            /calendarios/from-template pra incluir municipais.
          example: 5208707
          nullable: true
        nomeCalendarioSugerido:
          type: string
          description: >-
            Nome auto-gerado pro calendário (default exibido no card; user pode
            editar antes de criar). Padrão: `Calendário {Cidade}`.
          example: Calendário Goiânia
        inclui:
          $ref: '#/components/schemas/SugestaoIncluiDto'
      required:
        - unidadeNegocioId
        - unidadeNegocioNome
        - cidade
        - uf
        - isCapital
        - codigoIbgeCapital
        - nomeCalendarioSugerido
        - inclui
    SugestaoIncluiDto:
      type: object
      properties:
        nacional:
          type: boolean
          description: Sempre `true` — feriados nacionais entram em todas as sugestões.
          example: true
        estadual:
          type: boolean
          description: >-
            `true` quando o catálogo central tem feriados estaduais futuros pra
            UF da unidade. Pode ser `false` em UFs sem cobertura na FeriadosAPI
            free tier (ex.: GO, MG, MT, PR).
          example: true
        municipal:
          type: boolean
          description: >-
            `true` SOMENTE quando a cidade da unidade é uma das 27 capitais
            brasileiras E o catálogo já tem feriados municipais sincronizados
            pra essa capital. Caso contrário `false` — feriados municipais não
            estão disponíveis no plano free pra cidades não-capitais.
          example: true
      required:
        - nacional
        - estadual
        - municipal

````