From 059ecb71875a5d6f9c5fcc08995b2ca90836d290 Mon Sep 17 00:00:00 2001 From: "Rodrigo Rodriguez (Pragmatismo)" Date: Sat, 21 Mar 2026 19:21:46 -0300 Subject: [PATCH] feat(salesianos): add gbdialog tools with AST and tool.json - inscricao, consultar_inscricao, agendamento_visita, informacoes_curso - documentos_necessarios, contato_secretaria, calendario_letivo - start.bas with USE_KB carta, proc --- .../agendamento_visita.ast | 19 ++++ .../agendamento_visita.bas | 76 ++++++++++++++++ .../agendamento_visita.mcp.json | 48 ++++++++++ .../agendamento_visita.tool.json | 51 +++++++++++ .../salesianos.gbdialog/calendario_letivo.ast | 3 + .../salesianos.gbdialog/calendario_letivo.bas | 8 ++ .../calendario_letivo.mcp.json | 17 ++++ .../calendario_letivo.tool.json | 20 +++++ .../consultar_inscricao.ast | 3 + .../consultar_inscricao.bas | 8 ++ .../consultar_inscricao.mcp.json | 17 ++++ .../consultar_inscricao.tool.json | 20 +++++ .../contato_secretaria.ast | 17 ++++ .../contato_secretaria.bas | 66 ++++++++++++++ .../contato_secretaria.mcp.json | 41 +++++++++ .../contato_secretaria.tool.json | 44 ++++++++++ .../documentos_necessarios.ast | 15 ++++ .../documentos_necessarios.bas | 20 +++++ .../documentos_necessarios.mcp.json | 17 ++++ .../documentos_necessarios.tool.json | 25 ++++++ .../salesianos.gbdialog/informacoes_curso.ast | 3 + .../salesianos.gbdialog/informacoes_curso.bas | 8 ++ .../informacoes_curso.mcp.json | 17 ++++ .../informacoes_curso.tool.json | 20 +++++ .../salesianos.gbdialog/inscricao.ast | 25 ++++++ .../salesianos.gbdialog/inscricao.bas | 87 +++++++++++++++++++ .../salesianos.gbdialog/inscricao.mcp.json | 60 +++++++++++++ .../salesianos.gbdialog/inscricao.tool.json | 67 ++++++++++++++ .../salesianos.gbdialog/start.ast | 21 +++++ .../salesianos.gbdialog/start.bas | 29 +++++++ .../salesianos.gbdialog/start.mcp.json | 9 ++ .../salesianos.gbdialog/start.tool.json | 12 +++ .../salesianos.gbdialog/tables.ast | 37 ++++++++ .../salesianos.gbdialog/tables.bas | 39 +++++++++ .../salesianos.gbdialog/tables.mcp.json | 9 ++ .../salesianos.gbdialog/tables.tool.json | 12 +++ 36 files changed, 990 insertions(+) create mode 100644 botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/agendamento_visita.ast create mode 100644 botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/agendamento_visita.bas create mode 100644 botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/agendamento_visita.mcp.json create mode 100644 botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/agendamento_visita.tool.json create mode 100644 botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/calendario_letivo.ast create mode 100644 botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/calendario_letivo.bas create mode 100644 botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/calendario_letivo.mcp.json create mode 100644 botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/calendario_letivo.tool.json create mode 100644 botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/consultar_inscricao.ast create mode 100644 botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/consultar_inscricao.bas create mode 100644 botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/consultar_inscricao.mcp.json create mode 100644 botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/consultar_inscricao.tool.json create mode 100644 botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/contato_secretaria.ast create mode 100644 botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/contato_secretaria.bas create mode 100644 botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/contato_secretaria.mcp.json create mode 100644 botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/contato_secretaria.tool.json create mode 100644 botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/documentos_necessarios.ast create mode 100644 botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/documentos_necessarios.bas create mode 100644 botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/documentos_necessarios.mcp.json create mode 100644 botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/documentos_necessarios.tool.json create mode 100644 botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/informacoes_curso.ast create mode 100644 botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/informacoes_curso.bas create mode 100644 botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/informacoes_curso.mcp.json create mode 100644 botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/informacoes_curso.tool.json create mode 100644 botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/inscricao.ast create mode 100644 botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/inscricao.bas create mode 100644 botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/inscricao.mcp.json create mode 100644 botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/inscricao.tool.json create mode 100644 botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/start.ast create mode 100644 botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/start.bas create mode 100644 botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/start.mcp.json create mode 100644 botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/start.tool.json create mode 100644 botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/tables.ast create mode 100644 botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/tables.bas create mode 100644 botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/tables.mcp.json create mode 100644 botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/tables.tool.json diff --git a/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/agendamento_visita.ast b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/agendamento_visita.ast new file mode 100644 index 00000000..901236ee --- /dev/null +++ b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/agendamento_visita.ast @@ -0,0 +1,19 @@ +let id = "VIS-" + FORMAT(NOW(), "yyyyMMdd") + "-" + FORMAT(RANDOM(1000, 9999), "0000"); +let protocoloNumero = "VIS" + FORMAT(RANDOM(100000, 999999), "000000"); +let dataCadastro = FORMAT(NOW(), "yyyy-MM-dd HH:mm:ss"); +let status = "AGUARDANDO_CONFIRMACAO"; +let dataVisitaDisplay = MID(dataVisita, 9, 2) + "/" + MID(dataVisita, 6, 2) + "/" + MID(dataVisita, 1, 4); +let __save_data_0__ = #{id: id, protocoloNumero: protocoloNumero, nomeResponsavel: nomeResponsavel, telefone: telefone, email: email, dataVisita: dataVisita, horario: horario, numeroVisitantes: numeroVisitantes, dataCadastro: dataCadastro, status: status}; SAVE agendamentos_visita, __save_data_0__; +SET_BOT_MEMORY("ultimo_agendamento", id); +SET_BOT_MEMORY("ultimo_protocolo_visita", protocoloNumero); +let __talk_chunk_0__ = "Agendamento de Visita realizado com sucesso!" + "\n" + "PROTOCOLO: " + protocoloNumero + "\n" + "ID: " + id + "\n" + "Responsável: " + nomeResponsavel + "\n" + "Data: " + dataVisitaDisplay + " às " + horario; +let __talk_chunk_1__ = "Visitantes: " + numeroVisitantes + " pessoa(s)" + "\n" + "Status: Aguardando confirmação" + "\n" + "INFORMAÇÕES:" + "\n" + "• Horário de atendimento: 8h às 17h" + "\n" + "• A visita dura aproximadamente 1 hora"; +let __talk_chunk_2__ = "• Estacionamento disponível no local" + "\n" + "Contato da Secretaria:" + "\n" + "Telefone: (21) 3333-4444" + "\n" + "WhatsApp: (21) 99999-8888" + "\n" + "Email: secretaria@salesianos.br"; +let __talk_chunk_3__ = "Registro salvo com sucesso e e-mail de confirmação enviado!"; +TALK __talk_chunk_0__ + "\n" + __talk_chunk_1__ + "\n" + __talk_chunk_2__ + "\n" + __talk_chunk_3__; +let __mail_body_0__ = "Prezado(a) " + nomeResponsavel + "," + "\n" + "Recebemos seu agendamento de visita à Escola Salesiana." + "\n" + "DADOS do AGENDAMENTO:" + "\n" + "===========================================" + "\n" + "Protocolo: " + protocoloNumero; +let __mail_body_1__ = "ID: " + id + "\n" + "Responsável: " + nomeResponsavel + "\n" + "Data: " + dataVisitaDisplay + " às " + horario + "\n" + "Visitantes: " + numeroVisitantes + " pessoa(s)" + "\n" + "==========================================="; +let __mail_body_2__ = "PRÓXIMOS PASSOS:" + "\n" + "1. Aguarde confirmação da disponibilidade" + "\n" + "2. Compareça no horário agendado" + "\n" + "3. Traga documento de identificação" + "\n" + "Será um prazer recebê-lo(a)!"; +let __mail_body_3__ = "Atenciosamente," + "\n" + "Secretaria da Escola Salesiana" + "\n" + "Tel: (21) 3333-4444 | WhatsApp: (21) 99999-8888"; +send_mail(email, "Confirmação de Visita - Protocolo ${protocoloNumero}", __mail_body_0__ + "\n" + __mail_body_1__ + "\n" + __mail_body_2__ + "\n" + __mail_body_3__, []); +return id; diff --git a/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/agendamento_visita.bas b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/agendamento_visita.bas new file mode 100644 index 00000000..aef79302 --- /dev/null +++ b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/agendamento_visita.bas @@ -0,0 +1,76 @@ +DESCRIPTION "Agendar uma visita à Escola Salesiana para conhecer as instalações (Confirmar todos os dados com o usuário antes de executar a ferramenta)" +PARAM nomeResponsavel AS STRING LIKE "João Silva" DESCRIPTION "Nome do responsável" +PARAM telefone AS STRING LIKE "(21) 99999-9999" DESCRIPTION "Telefone com DDD" +PARAM email AS EMAIL LIKE "joao@example.com" DESCRIPTION "Email para contato" +PARAM dataVisita AS DATE LIKE "2026-03-15" DESCRIPTION "Data desejada para visita (formato ISO: YYYY-MM-DD)" +PARAM horario AS STRING LIKE "10:00" DESCRIPTION "Horário preferencial (formato HH:MM, entre 8h e 17h)" +PARAM numeroVisitantes AS INTEGER LIKE "3" DESCRIPTION "Número de visitantes" + + +id = "VIS-" + FORMAT(NOW(), "yyyyMMdd") + "-" + FORMAT(RANDOM(1000, 9999), "0000") +protocoloNumero = "VIS" + FORMAT(RANDOM(100000, 999999), "000000") +dataCadastro = FORMAT(NOW(), "yyyy-MM-dd HH:mm:ss") +status = "AGUARDANDO_CONFIRMACAO" + +dataVisitaDisplay = MID(dataVisita, 9, 2) + "/" + MID(dataVisita, 6, 2) + "/" + MID(dataVisita, 1, 4) + +SAVE "agendamentos_visita", id, protocoloNumero, nomeResponsavel, telefone, email, dataVisita, horario, numeroVisitantes, dataCadastro, status + +SET_BOT_MEMORY("ultimo_agendamento", id) +SET_BOT_MEMORY("ultimo_protocolo_visita", protocoloNumero) + +BEGIN TALK +Agendamento de Visita realizado com sucesso! + +PROTOCOLO: ${protocoloNumero} +ID: ${id} + +Responsável: ${nomeResponsavel} +Data: ${dataVisitaDisplay} às ${horario} +Visitantes: ${numeroVisitantes} pessoa(s) + +Status: Aguardando confirmação + +INFORMAÇÕES: + • Horário de atendimento: 8h às 17h + • A visita dura aproximadamente 1 hora + • Estacionamento disponível no local + +Contato da Secretaria: +Telefone: (21) 3333-4444 +WhatsApp: (21) 99999-8888 +Email: secretaria@salesianos.br + +Registro salvo com sucesso e e-mail de confirmação enviado! +END TALK + +BEGIN MAIL email +Subject: Confirmação de Visita - Protocolo ${protocoloNumero} + +Prezado(a) ${nomeResponsavel}, + +Recebemos seu agendamento de visita à Escola Salesiana. + +DADOS DO AGENDAMENTO: +=========================================== +Protocolo: ${protocoloNumero} +ID: ${id} +Responsável: ${nomeResponsavel} +Data: ${dataVisitaDisplay} às ${horario} +Visitantes: ${numeroVisitantes} pessoa(s) +=========================================== + +PRÓXIMOS PASSOS: +1. Aguarde confirmação da disponibilidade +2. Compareça no horário agendado +3. Traga documento de identificação + +Será um prazer recebê-lo(a)! + +Atenciosamente, + +Secretaria da Escola Salesiana +Tel: (21) 3333-4444 | WhatsApp: (21) 99999-8888 +END MAIL + +RETURN id diff --git a/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/agendamento_visita.mcp.json b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/agendamento_visita.mcp.json new file mode 100644 index 00000000..88b52c68 --- /dev/null +++ b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/agendamento_visita.mcp.json @@ -0,0 +1,48 @@ +{ + "name": "agendamento_visita", + "description": "Agendar uma visita à Escola Salesiana para conhecer as instalações (Confirmar todos os dados com o usuário antes de executar a ferramenta)", + "input_schema": { + "type": "object", + "properties": { + "telefone": { + "type": "string", + "description": "Telefone com DDD", + "example": "(21) 99999-9999" + }, + "email": { + "type": "string", + "description": "Email para contato", + "example": "joao@example.com" + }, + "dataVisita": { + "type": "string", + "description": "Data desejada para visita (formato ISO: YYYY-MM-DD)", + "example": "2026-03-15", + "format": "date" + }, + "horario": { + "type": "string", + "description": "Horário preferencial (formato HH:MM, entre 8h e 17h)", + "example": "10:00" + }, + "numeroVisitantes": { + "type": "integer", + "description": "Número de visitantes", + "example": "3" + }, + "nomeResponsavel": { + "type": "string", + "description": "Nome do responsável", + "example": "João Silva" + } + }, + "required": [ + "nomeResponsavel", + "telefone", + "email", + "dataVisita", + "horario", + "numeroVisitantes" + ] + } +} \ No newline at end of file diff --git a/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/agendamento_visita.tool.json b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/agendamento_visita.tool.json new file mode 100644 index 00000000..e70c0b81 --- /dev/null +++ b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/agendamento_visita.tool.json @@ -0,0 +1,51 @@ +{ + "type": "function", + "function": { + "name": "agendamento_visita", + "description": "Agendar uma visita à Escola Salesiana para conhecer as instalações (Confirmar todos os dados com o usuário antes de executar a ferramenta)", + "parameters": { + "type": "object", + "properties": { + "dataVisita": { + "type": "string", + "description": "Data desejada para visita (formato ISO: YYYY-MM-DD)", + "example": "2026-03-15", + "format": "date" + }, + "numeroVisitantes": { + "type": "integer", + "description": "Número de visitantes", + "example": "3" + }, + "telefone": { + "type": "string", + "description": "Telefone com DDD", + "example": "(21) 99999-9999" + }, + "email": { + "type": "string", + "description": "Email para contato", + "example": "joao@example.com" + }, + "nomeResponsavel": { + "type": "string", + "description": "Nome do responsável", + "example": "João Silva" + }, + "horario": { + "type": "string", + "description": "Horário preferencial (formato HH:MM, entre 8h e 17h)", + "example": "10:00" + } + }, + "required": [ + "nomeResponsavel", + "telefone", + "email", + "dataVisita", + "horario", + "numeroVisitantes" + ] + } + } +} \ No newline at end of file diff --git a/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/calendario_letivo.ast b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/calendario_letivo.ast new file mode 100644 index 00000000..ae5f5df1 --- /dev/null +++ b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/calendario_letivo.ast @@ -0,0 +1,3 @@ +let resultado = "Calendário Letivo - PRIMEIRO SEMESTRE: Início das aulas 03/02, Carnaval 03/03 a 05/03, Semana Pedagógica 20 a 24/04, Dia do Trabalho 01/05, Recesso 15 a 19/07, Término do 1º semestre 18/07. SEGUNDO SEMESTRE: Retorno às aulas 22/07, Independência 07/09, Nossa Senhora Aparecida 12/10, Proclamação da República 15/11, Dia da Consciência Negra 20/11, Recuperação 02/12 a 13/12, Término das aulas 18/12. AVALIAÇÕES BIMESTRAIS: 1º Bim 07 a 18/04, 2º Bim 23/06 a 04/07, 3º Bim 15 a 26/09, 4º Bim 04 a 15/11. REUNIÕES DE PAIS (19h30): 21/03, 06/06, 19/09, 21/11. EVENTOS ESPECIAIS: Festa Junina 14/06, Feira de Ciências 29/08, Jogos Internos 10 a 13/09, Formatura Ensino Médio 12/12."; +TALK resultado; +return resultado; diff --git a/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/calendario_letivo.bas b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/calendario_letivo.bas new file mode 100644 index 00000000..4e3db1b1 --- /dev/null +++ b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/calendario_letivo.bas @@ -0,0 +1,8 @@ +DESCRIPTION "Consultar o calendário letivo com datas importantes da Escola Salesiana" +PARAM ano AS STRING LIKE "2026" DESCRIPTION "Ano letivo desejado (opcional, padrão: ano atual)" + + +resultado = "Calendário Letivo - PRIMEIRO SEMESTRE: Início das aulas 03/02, Carnaval 03/03 a 05/03, Semana Pedagógica 20 a 24/04, Dia do Trabalho 01/05, Recesso 15 a 19/07, Término do 1º semestre 18/07. SEGUNDO SEMESTRE: Retorno às aulas 22/07, Independência 07/09, Nossa Senhora Aparecida 12/10, Proclamação da República 15/11, Dia da Consciência Negra 20/11, Recuperação 02/12 a 13/12, Término das aulas 18/12. AVALIAÇÕES BIMESTRAIS: 1º Bim 07 a 18/04, 2º Bim 23/06 a 04/07, 3º Bim 15 a 26/09, 4º Bim 04 a 15/11. REUNIÕES DE PAIS (19h30): 21/03, 06/06, 19/09, 21/11. EVENTOS ESPECIAIS: Festa Junina 14/06, Feira de Ciências 29/08, Jogos Internos 10 a 13/09, Formatura Ensino Médio 12/12." + +TALK resultado +RETURN resultado diff --git a/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/calendario_letivo.mcp.json b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/calendario_letivo.mcp.json new file mode 100644 index 00000000..9b8b3434 --- /dev/null +++ b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/calendario_letivo.mcp.json @@ -0,0 +1,17 @@ +{ + "name": "calendario_letivo", + "description": "Consultar o calendário letivo com datas importantes da Escola Salesiana", + "input_schema": { + "type": "object", + "properties": { + "ano": { + "type": "string", + "description": "Ano letivo desejado (opcional, padrão: ano atual)", + "example": "2026" + } + }, + "required": [ + "ano" + ] + } +} \ No newline at end of file diff --git a/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/calendario_letivo.tool.json b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/calendario_letivo.tool.json new file mode 100644 index 00000000..a0f9131c --- /dev/null +++ b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/calendario_letivo.tool.json @@ -0,0 +1,20 @@ +{ + "type": "function", + "function": { + "name": "calendario_letivo", + "description": "Consultar o calendário letivo com datas importantes da Escola Salesiana", + "parameters": { + "type": "object", + "properties": { + "ano": { + "type": "string", + "description": "Ano letivo desejado (opcional, padrão: ano atual)", + "example": "2026" + } + }, + "required": [ + "ano" + ] + } + } +} \ No newline at end of file diff --git a/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/consultar_inscricao.ast b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/consultar_inscricao.ast new file mode 100644 index 00000000..e33caeaf --- /dev/null +++ b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/consultar_inscricao.ast @@ -0,0 +1,3 @@ +let resultado = "Consulta de Inscrição - Protocolo informado: " + protocolo + ". A consulta foi registrada. Nossa equipe verificará o status da inscrição e retornará em breve. Para consultas urgentes: Telefone (21) 3333-4444, WhatsApp (21) 99999-8888, Horário Segunda a Sexta 8h às 17h, Email secretaria@salesianos.br"; +TALK resultado; +return resultado; diff --git a/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/consultar_inscricao.bas b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/consultar_inscricao.bas new file mode 100644 index 00000000..8a32e655 --- /dev/null +++ b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/consultar_inscricao.bas @@ -0,0 +1,8 @@ +DESCRIPTION "Consultar status de inscrição pelo número de protocolo (Confirmar o protocolo com o usuário antes de executar)" +PARAM protocolo AS STRING LIKE "INS123456" DESCRIPTION "Número do protocolo da inscrição" + + +resultado = "Consulta de Inscrição - Protocolo informado: " + protocolo + ". A consulta foi registrada. Nossa equipe verificará o status da inscrição e retornará em breve. Para consultas urgentes: Telefone (21) 3333-4444, WhatsApp (21) 99999-8888, Horário Segunda a Sexta 8h às 17h, Email secretaria@salesianos.br" + +TALK resultado +RETURN resultado diff --git a/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/consultar_inscricao.mcp.json b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/consultar_inscricao.mcp.json new file mode 100644 index 00000000..11a9156c --- /dev/null +++ b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/consultar_inscricao.mcp.json @@ -0,0 +1,17 @@ +{ + "name": "consultar_inscricao", + "description": "Consultar status de inscrição pelo número de protocolo (Confirmar o protocolo com o usuário antes de executar)", + "input_schema": { + "type": "object", + "properties": { + "protocolo": { + "type": "string", + "description": "Número do protocolo da inscrição", + "example": "INS123456" + } + }, + "required": [ + "protocolo" + ] + } +} \ No newline at end of file diff --git a/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/consultar_inscricao.tool.json b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/consultar_inscricao.tool.json new file mode 100644 index 00000000..72525789 --- /dev/null +++ b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/consultar_inscricao.tool.json @@ -0,0 +1,20 @@ +{ + "type": "function", + "function": { + "name": "consultar_inscricao", + "description": "Consultar status de inscrição pelo número de protocolo (Confirmar o protocolo com o usuário antes de executar)", + "parameters": { + "type": "object", + "properties": { + "protocolo": { + "type": "string", + "description": "Número do protocolo da inscrição", + "example": "INS123456" + } + }, + "required": [ + "protocolo" + ] + } + } +} \ No newline at end of file diff --git a/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/contato_secretaria.ast b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/contato_secretaria.ast new file mode 100644 index 00000000..966d85ec --- /dev/null +++ b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/contato_secretaria.ast @@ -0,0 +1,17 @@ +let id = "ATE-" + FORMAT(NOW(), "yyyyMMdd") + "-" + FORMAT(RANDOM(1000, 9999), "0000"); +let protocoloNumero = "ATE" + FORMAT(RANDOM(100000, 999999), "000000"); +let dataCadastro = FORMAT(NOW(), "yyyy-MM-dd HH:mm:ss"); +let status = "AGUARDANDO_RESPOSTA"; +let __save_data_0__ = #{id: id, protocoloNumero: protocoloNumero, nome: nome, assunto: assunto, mensagem: mensagem, telefone: telefone, email: email, dataCadastro: dataCadastro, status: status}; SAVE atendimentos, __save_data_0__; +SET_BOT_MEMORY("ultimo_atendimento", id); +SET_BOT_MEMORY("ultimo_protocolo_atendimento", protocoloNumero); +let __talk_chunk_0__ = "Mensagem enviada para a Secretaria!" + "\n" + "PROTOCOLO: " + protocoloNumero + "\n" + "ID: " + id + "\n" + "Nome: " + nome + "\n" + "Assunto: " + assunto; +let __talk_chunk_1__ = "Mensagem: " + mensagem + "\n" + "Status: Aguardando resposta (até 2 dias úteis)" + "\n" + "Contato da Secretaria:" + "\n" + "Telefone: (21) 3333-4444" + "\n" + "WhatsApp: (21) 99999-8888"; +let __talk_chunk_2__ = "Horário: Segunda a Sexta, 8h às 17h" + "\n" + "Email: secretaria@salesianos.br" + "\n" + "Endereço:" + "\n" + "Rua Salesiana, 123 - Centro" + "\n" + "CEP: 20000-000 - Rio de Janeiro/RJ"; +let __talk_chunk_3__ = "Registro salvo com sucesso e e-mail de confirmação enviado!"; +TALK __talk_chunk_0__ + "\n" + __talk_chunk_1__ + "\n" + __talk_chunk_2__ + "\n" + __talk_chunk_3__; +let __mail_body_0__ = "Prezado(a) " + nome + "," + "\n" + "Recebemos sua mensagem para a Secretaria da Escola Salesiana." + "\n" + "DADOS do CONTATO:" + "\n" + "===========================================" + "\n" + "Protocolo: " + protocoloNumero; +let __mail_body_1__ = "Assunto: " + assunto + "\n" + "Mensagem: " + mensagem + "\n" + "===========================================" + "\n" + "Responderemos em até 2 dias úteis." + "\n" + "Atenciosamente,"; +let __mail_body_2__ = "Secretaria da Escola Salesiana" + "\n" + "Tel: (21) 3333-4444 | WhatsApp: (21) 99999-8888"; +send_mail(email, "Confirmação de Contato - Protocolo ${protocoloNumero}", __mail_body_0__ + "\n" + __mail_body_1__ + "\n" + __mail_body_2__, []); +return id; diff --git a/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/contato_secretaria.bas b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/contato_secretaria.bas new file mode 100644 index 00000000..a860b588 --- /dev/null +++ b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/contato_secretaria.bas @@ -0,0 +1,66 @@ +DESCRIPTION "Enviar mensagem para a secretaria da Escola Salesiana (Confirmar todos os dados com o usuário antes de executar a ferramenta)" +PARAM nome AS STRING LIKE "João Silva" DESCRIPTION "Nome do interessado" +PARAM assunto AS STRING LIKE "Informações sobre mensalidades" DESCRIPTION "Assunto da mensagem" +PARAM mensagem AS STRING LIKE "Gostaria de saber as formas de pagamento disponíveis" DESCRIPTION "Mensagem completa" +PARAM telefone AS STRING LIKE "(21) 99999-9999" DESCRIPTION "Telefone para retorno" +PARAM email AS EMAIL LIKE "joao@example.com" DESCRIPTION "Email para contato" + + +id = "ATE-" + FORMAT(NOW(), "yyyyMMdd") + "-" + FORMAT(RANDOM(1000, 9999), "0000") +protocoloNumero = "ATE" + FORMAT(RANDOM(100000, 999999), "000000") +dataCadastro = FORMAT(NOW(), "yyyy-MM-dd HH:mm:ss") +status = "AGUARDANDO_RESPOSTA" + +SAVE "atendimentos", id, protocoloNumero, nome, assunto, mensagem, telefone, email, dataCadastro, status + +SET_BOT_MEMORY("ultimo_atendimento", id) +SET_BOT_MEMORY("ultimo_protocolo_atendimento", protocoloNumero) + +BEGIN TALK +Mensagem enviada para a Secretaria! + +PROTOCOLO: ${protocoloNumero} +ID: ${id} + +Nome: ${nome} +Assunto: ${assunto} +Mensagem: ${mensagem} + +Status: Aguardando resposta (até 2 dias úteis) + +Contato da Secretaria: +Telefone: (21) 3333-4444 +WhatsApp: (21) 99999-8888 +Horário: Segunda a Sexta, 8h às 17h +Email: secretaria@salesianos.br + +Endereço: +Rua Salesiana, 123 - Centro +CEP: 20000-000 - Rio de Janeiro/RJ + +Registro salvo com sucesso e e-mail de confirmação enviado! +END TALK + +BEGIN MAIL email +Subject: Confirmação de Contato - Protocolo ${protocoloNumero} + +Prezado(a) ${nome}, + +Recebemos sua mensagem para a Secretaria da Escola Salesiana. + +DADOS DO CONTATO: +=========================================== +Protocolo: ${protocoloNumero} +Assunto: ${assunto} +Mensagem: ${mensagem} +=========================================== + +Responderemos em até 2 dias úteis. + +Atenciosamente, + +Secretaria da Escola Salesiana +Tel: (21) 3333-4444 | WhatsApp: (21) 99999-8888 +END MAIL + +RETURN id diff --git a/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/contato_secretaria.mcp.json b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/contato_secretaria.mcp.json new file mode 100644 index 00000000..88074319 --- /dev/null +++ b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/contato_secretaria.mcp.json @@ -0,0 +1,41 @@ +{ + "name": "contato_secretaria", + "description": "Enviar mensagem para a secretaria da Escola Salesiana (Confirmar todos os dados com o usuário antes de executar a ferramenta)", + "input_schema": { + "type": "object", + "properties": { + "email": { + "type": "string", + "description": "Email para contato", + "example": "joao@example.com" + }, + "nome": { + "type": "string", + "description": "Nome do interessado", + "example": "João Silva" + }, + "assunto": { + "type": "string", + "description": "Assunto da mensagem", + "example": "Informações sobre mensalidades" + }, + "mensagem": { + "type": "string", + "description": "Mensagem completa", + "example": "Gostaria de saber as formas de pagamento disponíveis" + }, + "telefone": { + "type": "string", + "description": "Telefone para retorno", + "example": "(21) 99999-9999" + } + }, + "required": [ + "nome", + "assunto", + "mensagem", + "telefone", + "email" + ] + } +} \ No newline at end of file diff --git a/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/contato_secretaria.tool.json b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/contato_secretaria.tool.json new file mode 100644 index 00000000..830c1f4e --- /dev/null +++ b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/contato_secretaria.tool.json @@ -0,0 +1,44 @@ +{ + "type": "function", + "function": { + "name": "contato_secretaria", + "description": "Enviar mensagem para a secretaria da Escola Salesiana (Confirmar todos os dados com o usuário antes de executar a ferramenta)", + "parameters": { + "type": "object", + "properties": { + "nome": { + "type": "string", + "description": "Nome do interessado", + "example": "João Silva" + }, + "mensagem": { + "type": "string", + "description": "Mensagem completa", + "example": "Gostaria de saber as formas de pagamento disponíveis" + }, + "assunto": { + "type": "string", + "description": "Assunto da mensagem", + "example": "Informações sobre mensalidades" + }, + "telefone": { + "type": "string", + "description": "Telefone para retorno", + "example": "(21) 99999-9999" + }, + "email": { + "type": "string", + "description": "Email para contato", + "example": "joao@example.com" + } + }, + "required": [ + "nome", + "assunto", + "mensagem", + "telefone", + "email" + ] + } + } +} \ No newline at end of file diff --git a/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/documentos_necessarios.ast b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/documentos_necessarios.ast new file mode 100644 index 00000000..27f35136 --- /dev/null +++ b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/documentos_necessarios.ast @@ -0,0 +1,15 @@ +ADD SUGGESTION TEXT "NOVA_MATRICULA" as "NOVA_MATRICULA"; +ADD SUGGESTION TEXT "TRANSFERENCIA" as "TRANSFERENCIA"; +ADD SUGGESTION TEXT "RENOVACAO" as "RENOVACAO"; +let resultado = ""; +if tipo == "NOVA_MATRICULA" { + let resultado = "Documentos para Nova Matrícula - DOCUMENTOS do ALUNO: Certidão de nascimento (original e cópia), CPF (se possuir), Histórico escolar original, Declaração de transferência (se vier de outra escola), Comprovante de residência (últimos 3 meses), 2 fotos 3x4 recentes, Carteira de vacinação atualizada. DOCUMENTOS DOS RESPONSÁVEIS: RG e CPF (pai e/ou mãe), Comprovante de renda (para análise de bolsa). Prazo para entrega: até 30 dias antes do início das aulas."; +} +if tipo == "TRANSFERENCIA" { + let resultado = "Documentos para Transferência: Histórico escolar original, Declaração de transferência da escola de origem, Certidão de nascimento (cópia autenticada), Comprovante de residência (últimos 3 meses), 2 fotos 3x4 recentes, Boletim escolar do ano atual. Documentos estrangeiros precisam de tradução juramentada."; +} +if tipo == "RENOVACAO" { + let resultado = "Documentos para Renovação de Matrícula: Comprovante de residência atualizado, Requerimento de renovação (fornecido pela escola), Comprovantes de pagamento em dia. Cópias podem ser feitas na secretaria."; +} +TALK resultado; +return resultado; diff --git a/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/documentos_necessarios.bas b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/documentos_necessarios.bas new file mode 100644 index 00000000..2167d86f --- /dev/null +++ b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/documentos_necessarios.bas @@ -0,0 +1,20 @@ +DESCRIPTION "Listar documentos necessários para matrícula, transferência ou renovação na Escola Salesiana" +PARAM tipo AS STRING ENUM ["NOVA_MATRICULA", "TRANSFERENCIA", "RENOVACAO"] LIKE "NOVA_MATRICULA" DESCRIPTION "Tipo: NOVA_MATRICULA para nova matrícula, TRANSFERENCIA para transferência, RENOVACAO para renovação" + + +resultado = "" + +IF tipo = "NOVA_MATRICULA" THEN + resultado = "Documentos para Nova Matrícula - DOCUMENTOS DO ALUNO: Certidão de nascimento (original e cópia), CPF (se possuir), Histórico escolar original, Declaração de transferência (se vier de outra escola), Comprovante de residência (últimos 3 meses), 2 fotos 3x4 recentes, Carteira de vacinação atualizada. DOCUMENTOS DOS RESPONSÁVEIS: RG e CPF (pai e/ou mãe), Comprovante de renda (para análise de bolsa). Prazo para entrega: até 30 dias antes do início das aulas." +END IF + +IF tipo = "TRANSFERENCIA" THEN + resultado = "Documentos para Transferência: Histórico escolar original, Declaração de transferência da escola de origem, Certidão de nascimento (cópia autenticada), Comprovante de residência (últimos 3 meses), 2 fotos 3x4 recentes, Boletim escolar do ano atual. Documentos estrangeiros precisam de tradução juramentada." +END IF + +IF tipo = "RENOVACAO" THEN + resultado = "Documentos para Renovação de Matrícula: Comprovante de residência atualizado, Requerimento de renovação (fornecido pela escola), Comprovantes de pagamento em dia. Cópias podem ser feitas na secretaria." +END IF + +TALK resultado +RETURN resultado diff --git a/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/documentos_necessarios.mcp.json b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/documentos_necessarios.mcp.json new file mode 100644 index 00000000..fb92592c --- /dev/null +++ b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/documentos_necessarios.mcp.json @@ -0,0 +1,17 @@ +{ + "name": "documentos_necessarios", + "description": "Listar documentos necessários para matrícula, transferência ou renovação na Escola Salesiana", + "input_schema": { + "type": "object", + "properties": { + "tipo": { + "type": "string", + "description": "Tipo: NOVA_MATRICULA para nova matrícula, TRANSFERENCIA para transferência, RENOVACAO para renovação", + "example": "NOVA_MATRICULA" + } + }, + "required": [ + "tipo" + ] + } +} \ No newline at end of file diff --git a/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/documentos_necessarios.tool.json b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/documentos_necessarios.tool.json new file mode 100644 index 00000000..ec318a96 --- /dev/null +++ b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/documentos_necessarios.tool.json @@ -0,0 +1,25 @@ +{ + "type": "function", + "function": { + "name": "documentos_necessarios", + "description": "Listar documentos necessários para matrícula, transferência ou renovação na Escola Salesiana", + "parameters": { + "type": "object", + "properties": { + "tipo": { + "type": "string", + "description": "Tipo: NOVA_MATRICULA para nova matrícula, TRANSFERENCIA para transferência, RENOVACAO para renovação", + "example": "NOVA_MATRICULA", + "enum": [ + "NOVA_MATRICULA", + "TRANSFERENCIA", + "RENOVACAO" + ] + } + }, + "required": [ + "tipo" + ] + } + } +} \ No newline at end of file diff --git a/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/informacoes_curso.ast b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/informacoes_curso.ast new file mode 100644 index 00000000..d90e0ed8 --- /dev/null +++ b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/informacoes_curso.ast @@ -0,0 +1,3 @@ +let resultado = "Cursos e Séries Disponíveis na Escola Salesiana - ENSINO FUNDAMENTAL I (1º ao 5º ano): Horário Manhã (7h30 às 11h30) ou Tarde (13h às 17h), Máximo 30 alunos por turma, Educação integral disponível. ENSINO FUNDAMENTAL II (6º ao 9º ano): Horário Manhã (7h15 às 11h45) ou Tarde (13h15 às 17h45), Laboratórios de ciências e informática, Inglês desde o 6º ano. ENSINO MÉDIO (1º ao 3º ano): Horário Manhã (7h às 12h20), Preparação para o ENEM, Laboratórios de física química e biologia, Opções de cursos técnicos integrados. Para fazer sua inscrição utilize a ferramenta inscricao. Para visitar a escola utilize agendamento_visita."; +TALK resultado; +return resultado; diff --git a/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/informacoes_curso.bas b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/informacoes_curso.bas new file mode 100644 index 00000000..048a8e9b --- /dev/null +++ b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/informacoes_curso.bas @@ -0,0 +1,8 @@ +DESCRIPTION "Obter informações sobre os cursos e séries disponíveis na Escola Salesiana" +PARAM serie AS STRING LIKE "6º ano" DESCRIPTION "Série ou curso desejado (opcional)" + + +resultado = "Cursos e Séries Disponíveis na Escola Salesiana - ENSINO FUNDAMENTAL I (1º ao 5º ano): Horário Manhã (7h30 às 11h30) ou Tarde (13h às 17h), Máximo 30 alunos por turma, Educação integral disponível. ENSINO FUNDAMENTAL II (6º ao 9º ano): Horário Manhã (7h15 às 11h45) ou Tarde (13h15 às 17h45), Laboratórios de ciências e informática, Inglês desde o 6º ano. ENSINO MÉDIO (1º ao 3º ano): Horário Manhã (7h às 12h20), Preparação para o ENEM, Laboratórios de física química e biologia, Opções de cursos técnicos integrados. Para fazer sua inscrição utilize a ferramenta inscricao. Para visitar a escola utilize agendamento_visita." + +TALK resultado +RETURN resultado diff --git a/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/informacoes_curso.mcp.json b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/informacoes_curso.mcp.json new file mode 100644 index 00000000..ede01d6e --- /dev/null +++ b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/informacoes_curso.mcp.json @@ -0,0 +1,17 @@ +{ + "name": "informacoes_curso", + "description": "Obter informações sobre os cursos e séries disponíveis na Escola Salesiana", + "input_schema": { + "type": "object", + "properties": { + "serie": { + "type": "string", + "description": "Série ou curso desejado (opcional)", + "example": "6º ano" + } + }, + "required": [ + "serie" + ] + } +} \ No newline at end of file diff --git a/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/informacoes_curso.tool.json b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/informacoes_curso.tool.json new file mode 100644 index 00000000..758a56a5 --- /dev/null +++ b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/informacoes_curso.tool.json @@ -0,0 +1,20 @@ +{ + "type": "function", + "function": { + "name": "informacoes_curso", + "description": "Obter informações sobre os cursos e séries disponíveis na Escola Salesiana", + "parameters": { + "type": "object", + "properties": { + "serie": { + "type": "string", + "description": "Série ou curso desejado (opcional)", + "example": "6º ano" + } + }, + "required": [ + "serie" + ] + } + } +} \ No newline at end of file diff --git a/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/inscricao.ast b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/inscricao.ast new file mode 100644 index 00000000..86e94eb5 --- /dev/null +++ b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/inscricao.ast @@ -0,0 +1,25 @@ +ADD SUGGESTION TEXT "MANHA" as "MANHA"; +ADD SUGGESTION TEXT "TARDE" as "TARDE"; +let id = "INS-" + FORMAT(NOW(), "yyyyMMdd") + "-" + FORMAT(RANDOM(1000, 9999), "0000"); +let protocoloNumero = "INS" + FORMAT(RANDOM(100000, 999999), "000000"); +let dataCadastro = FORMAT(NOW(), "yyyy-MM-dd HH:mm:ss"); +let status = "AGUARDANDO_ANALISE"; +let dataNascDisplay = MID(dataNascimento, 9, 2) + "/" + MID(dataNascimento, 6, 2) + "/" + MID(dataNascimento, 1, 4); +let turnoDescricao = "Manhã"; +if turno == "TARDE" { + let turnoDescricao = "Tarde"; +} +let __save_data_0__ = #{id: id, protocoloNumero: protocoloNumero, nomeCompleto: nomeCompleto, dataNascimento: dataNascimento, nomeResponsavel: nomeResponsavel, telefone: telefone, email: email, endereco: endereco, serie: serie, turno: turno, dataCadastro: dataCadastro, status: status}; SAVE inscricoes, __save_data_0__; +SET_BOT_MEMORY("ultima_inscricao", id); +SET_BOT_MEMORY("ultimo_protocolo_inscricao", protocoloNumero); +let __talk_chunk_0__ = "Inscrição enviada com sucesso!" + "\n" + "PROTOCOLO: " + protocoloNumero + "\n" + "ID: " + id + "\n" + "Aluno: " + nomeCompleto + "\n" + "Data de Nascimento: " + dataNascDisplay; +let __talk_chunk_1__ = "Responsável: " + nomeResponsavel + "\n" + "Série: " + serie + "\n" + "Turno: " + turnoDescricao + "\n" + "Status: Aguardando análise" + "\n" + "PRÓXIMOS PASSOS:"; +let __talk_chunk_2__ = "• Você receberá um e-mail com instruções" + "\n" + "• Entraremos em contato em até 3 dias úteis" + "\n" + "• Verifique também sua caixa de spam" + "\n" + "Contato da Secretaria:" + "\n" + "Telefone: (21) 3333-4444"; +let __talk_chunk_3__ = "WhatsApp: (21) 99999-8888" + "\n" + "Email: secretaria@salesianos.br" + "\n" + "Registro salvo com sucesso e e-mail de confirmação enviado!"; +TALK __talk_chunk_0__ + "\n" + __talk_chunk_1__ + "\n" + __talk_chunk_2__ + "\n" + __talk_chunk_3__; +let __mail_body_0__ = "Prezado(a) " + nomeResponsavel + "," + "\n" + "Recebemos com alegria a inscrição de " + nomeCompleto + " na Escola Salesiana." + "\n" + "DADOS DA INSCRIÇÃO:" + "\n" + "===========================================" + "\n" + "Protocolo: " + protocoloNumero; +let __mail_body_1__ = "ID: " + id + "\n" + "Aluno: " + nomeCompleto + "\n" + "Data de Nascimento: " + dataNascDisplay + "\n" + "Responsável: " + nomeResponsavel + "\n" + "Série: " + serie; +let __mail_body_2__ = "Turno: " + turnoDescricao + "\n" + "===========================================" + "\n" + "PRÓXIMOS PASSOS:" + "\n" + "1. Aguarde nosso contato por e-mail ou telefone" + "\n" + "2. Providencie a documentação necessária"; +let __mail_body_3__ = "3. Compareça à secretaria para finalizar a matrícula" + "\n" + "Que Deus abençoe sua família!" + "\n" + "Atenciosamente," + "\n" + "Secretaria da Escola Salesiana" + "\n" + "Tel: (21) 3333-4444 | WhatsApp: (21) 99999-8888"; +send_mail(email, "Confirmação de Inscrição - Protocolo ${protocoloNumero}", __mail_body_0__ + "\n" + __mail_body_1__ + "\n" + __mail_body_2__ + "\n" + __mail_body_3__, []); +return id; diff --git a/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/inscricao.bas b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/inscricao.bas new file mode 100644 index 00000000..77959cbd --- /dev/null +++ b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/inscricao.bas @@ -0,0 +1,87 @@ +DESCRIPTION "Fazer inscrição para a Escola Salesiana (Confirmar todos os dados com o usuário antes de executar a ferramenta)" +PARAM nomeCompleto AS STRING LIKE "João Silva Santos" DESCRIPTION "Nome completo do aluno" +PARAM dataNascimento AS DATE LIKE "2015-03-15" DESCRIPTION "Data de nascimento (formato ISO: YYYY-MM-DD)" +PARAM nomeResponsavel AS STRING LIKE "Maria Silva Santos" DESCRIPTION "Nome do responsável" +PARAM telefone AS STRING LIKE "(21) 99999-9999" DESCRIPTION "Telefone com DDD" +PARAM email AS EMAIL LIKE "maria.santos@example.com" DESCRIPTION "Email para contato" +PARAM endereco AS STRING LIKE "Rua das Flores, 123 - Centro" DESCRIPTION "Endereço completo" +PARAM serie AS STRING LIKE "8º ano" DESCRIPTION "Série desejada" +PARAM turno AS STRING ENUM ["MANHA", "TARDE"] LIKE "MANHA" DESCRIPTION "Turno: MANHA ou TARDE" + + +id = "INS-" + FORMAT(NOW(), "yyyyMMdd") + "-" + FORMAT(RANDOM(1000, 9999), "0000") +protocoloNumero = "INS" + FORMAT(RANDOM(100000, 999999), "000000") +dataCadastro = FORMAT(NOW(), "yyyy-MM-dd HH:mm:ss") +status = "AGUARDANDO_ANALISE" + +dataNascDisplay = MID(dataNascimento, 9, 2) + "/" + MID(dataNascimento, 6, 2) + "/" + MID(dataNascimento, 1, 4) + +turnoDescricao = "Manhã" +IF turno = "TARDE" THEN + turnoDescricao = "Tarde" +END IF + +SAVE "inscricoes", id, protocoloNumero, nomeCompleto, dataNascimento, nomeResponsavel, telefone, email, endereco, serie, turno, dataCadastro, status + +SET_BOT_MEMORY("ultima_inscricao", id) +SET_BOT_MEMORY("ultimo_protocolo_inscricao", protocoloNumero) + +BEGIN TALK +Inscrição enviada com sucesso! + +PROTOCOLO: ${protocoloNumero} +ID: ${id} + +Aluno: ${nomeCompleto} +Data de Nascimento: ${dataNascDisplay} +Responsável: ${nomeResponsavel} +Série: ${serie} +Turno: ${turnoDescricao} + +Status: Aguardando análise + +PRÓXIMOS PASSOS: + • Você receberá um e-mail com instruções + • Entraremos em contato em até 3 dias úteis + • Verifique também sua caixa de spam + +Contato da Secretaria: +Telefone: (21) 3333-4444 +WhatsApp: (21) 99999-8888 +Email: secretaria@salesianos.br + +Registro salvo com sucesso e e-mail de confirmação enviado! +END TALK + +BEGIN MAIL email +Subject: Confirmação de Inscrição - Protocolo ${protocoloNumero} + +Prezado(a) ${nomeResponsavel}, + +Recebemos com alegria a inscrição de ${nomeCompleto} na Escola Salesiana. + +DADOS DA INSCRIÇÃO: +=========================================== +Protocolo: ${protocoloNumero} +ID: ${id} +Aluno: ${nomeCompleto} +Data de Nascimento: ${dataNascDisplay} +Responsável: ${nomeResponsavel} +Série: ${serie} +Turno: ${turnoDescricao} +=========================================== + +PRÓXIMOS PASSOS: +1. Aguarde nosso contato por e-mail ou telefone +2. Providencie a documentação necessária +3. Compareça à secretaria para finalizar a matrícula + +Que Deus abençoe sua família! + +Atenciosamente, + +Secretaria da Escola Salesiana +Tel: (21) 3333-4444 | WhatsApp: (21) 99999-8888 +END MAIL + +RETURN id diff --git a/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/inscricao.mcp.json b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/inscricao.mcp.json new file mode 100644 index 00000000..77e78f24 --- /dev/null +++ b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/inscricao.mcp.json @@ -0,0 +1,60 @@ +{ + "name": "inscricao", + "description": "Fazer inscrição para a Escola Salesiana (Confirmar todos os dados com o usuário antes de executar a ferramenta)", + "input_schema": { + "type": "object", + "properties": { + "dataNascimento": { + "type": "string", + "description": "Data de nascimento (formato ISO: YYYY-MM-DD)", + "example": "2015-03-15", + "format": "date" + }, + "email": { + "type": "string", + "description": "Email para contato", + "example": "maria.santos@example.com" + }, + "endereco": { + "type": "string", + "description": "Endereço completo", + "example": "Rua das Flores, 123 - Centro" + }, + "nomeCompleto": { + "type": "string", + "description": "Nome completo do aluno", + "example": "João Silva Santos" + }, + "telefone": { + "type": "string", + "description": "Telefone com DDD", + "example": "(21) 99999-9999" + }, + "turno": { + "type": "string", + "description": "Turno: MANHA ou TARDE", + "example": "MANHA" + }, + "serie": { + "type": "string", + "description": "Série desejada", + "example": "8º ano" + }, + "nomeResponsavel": { + "type": "string", + "description": "Nome do responsável", + "example": "Maria Silva Santos" + } + }, + "required": [ + "nomeCompleto", + "dataNascimento", + "nomeResponsavel", + "telefone", + "email", + "endereco", + "serie", + "turno" + ] + } +} \ No newline at end of file diff --git a/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/inscricao.tool.json b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/inscricao.tool.json new file mode 100644 index 00000000..147dc15c --- /dev/null +++ b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/inscricao.tool.json @@ -0,0 +1,67 @@ +{ + "type": "function", + "function": { + "name": "inscricao", + "description": "Fazer inscrição para a Escola Salesiana (Confirmar todos os dados com o usuário antes de executar a ferramenta)", + "parameters": { + "type": "object", + "properties": { + "nomeCompleto": { + "type": "string", + "description": "Nome completo do aluno", + "example": "João Silva Santos" + }, + "telefone": { + "type": "string", + "description": "Telefone com DDD", + "example": "(21) 99999-9999" + }, + "dataNascimento": { + "type": "string", + "description": "Data de nascimento (formato ISO: YYYY-MM-DD)", + "example": "2015-03-15", + "format": "date" + }, + "serie": { + "type": "string", + "description": "Série desejada", + "example": "8º ano" + }, + "turno": { + "type": "string", + "description": "Turno: MANHA ou TARDE", + "example": "MANHA", + "enum": [ + "MANHA", + "TARDE" + ] + }, + "email": { + "type": "string", + "description": "Email para contato", + "example": "maria.santos@example.com" + }, + "endereco": { + "type": "string", + "description": "Endereço completo", + "example": "Rua das Flores, 123 - Centro" + }, + "nomeResponsavel": { + "type": "string", + "description": "Nome do responsável", + "example": "Maria Silva Santos" + } + }, + "required": [ + "nomeCompleto", + "dataNascimento", + "nomeResponsavel", + "telefone", + "email", + "endereco", + "serie", + "turno" + ] + } + } +} \ No newline at end of file diff --git a/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/start.ast b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/start.ast new file mode 100644 index 00000000..4e6b9530 --- /dev/null +++ b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/start.ast @@ -0,0 +1,21 @@ +USE_WEBSITE("https://salesianos.br", "30d"); +USE_KB "carta"; +USE_KB "proc"; +USE TOOL "inscricao"; +USE TOOL "consultar_inscricao"; +USE TOOL "agendamento_visita"; +USE TOOL "informacoes_curso"; +USE TOOL "documentos_necessarios"; +USE TOOL "contato_secretaria"; +USE TOOL ""; +USE TOOL "calendario_letivo"; +ADD_SUGGESTION_TOOL "inscricao" as "📚 Fazer Inscrição"; +ADD_SUGGESTION_TOOL "consultar_inscricao" as "🔍 Consultar Inscrição"; +ADD_SUGGESTION_TOOL "agendamento_visita" as "🏫 Agendar Visita"; +ADD_SUGGESTION_TOOL "informacoes_curso" as "📖 Informações de Cursos"; +ADD_SUGGESTION_TOOL "documentos_necessarios" as "📋 Documentos Necessários"; +ADD_SUGGESTION_TOOL "contato_secretaria" as "📞 Falar com Secretaria"; +ADD_SUGGESTION_TOOL "" as "Segunda Via de Boleto"; +ADD_SUGGESTION_TOOL "calendario_letivo" as "📅 Calendário Letivo"; +ADD_SUGGESTION_TOOL "outros" as "Outros"; +TALK "Olá! Sou o assistente virtual da Escola Salesiana. Como posso ajudá-lo hoje com inscrições, visitas, informações sobre cursos, documentos ou calendário letivo?"; diff --git a/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/start.bas b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/start.bas new file mode 100644 index 00000000..15fd3c65 --- /dev/null +++ b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/start.bas @@ -0,0 +1,29 @@ +USE_WEBSITE("https://salesianos.br", "30d") + +USE_KB "carta" +USE_KB "proc" + +USE TOOL "inscricao" +USE TOOL "consultar_inscricao" +USE TOOL "agendamento_visita" +USE TOOL "informacoes_curso" +USE TOOL "documentos_necessarios" +USE TOOL "contato_secretaria" +USE TOOL "" +USE TOOL "calendario_letivo" + +ADD_SUGGESTION_TOOL "inscricao" AS "📚 Fazer Inscrição" +ADD_SUGGESTION_TOOL "consultar_inscricao" AS "🔍 Consultar Inscrição" +ADD_SUGGESTION_TOOL "agendamento_visita" AS "🏫 Agendar Visita" +ADD_SUGGESTION_TOOL "informacoes_curso" AS "📖 Informações de Cursos" +ADD_SUGGESTION_TOOL "documentos_necessarios" AS "📋 Documentos Necessários" +ADD_SUGGESTION_TOOL "contato_secretaria" AS "📞 Falar com Secretaria" +ADD_SUGGESTION_TOOL "" AS "Segunda Via de Boleto" +ADD_SUGGESTION_TOOL "calendario_letivo" AS "📅 Calendário Letivo" +ADD_SUGGESTION_TOOL "outros" AS "Outros" +REM Validar região para escolha de secretaria. +REM Sincronizar as bases entre o Bot e a Org. + + +TALK "Olá! Sou o assistente virtual da Escola Salesiana. Como posso ajudá-lo hoje com inscrições, visitas, informações sobre cursos, documentos ou calendário letivo?" + diff --git a/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/start.mcp.json b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/start.mcp.json new file mode 100644 index 00000000..135cf995 --- /dev/null +++ b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/start.mcp.json @@ -0,0 +1,9 @@ +{ + "name": "start", + "description": "", + "input_schema": { + "type": "object", + "properties": {}, + "required": [] + } +} \ No newline at end of file diff --git a/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/start.tool.json b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/start.tool.json new file mode 100644 index 00000000..e44c73c6 --- /dev/null +++ b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/start.tool.json @@ -0,0 +1,12 @@ +{ + "type": "function", + "function": { + "name": "start", + "description": "", + "parameters": { + "type": "object", + "properties": {}, + "required": [] + } + } +} \ No newline at end of file diff --git a/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/tables.ast b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/tables.ast new file mode 100644 index 00000000..1317a3da --- /dev/null +++ b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/tables.ast @@ -0,0 +1,37 @@ +TABLE inscricoes; +FIELD id as STRING; +FIELD protocoloNumero as STRING; +FIELD nomeCompleto as STRING; +FIELD dataNascimento as DATE; +FIELD nomeResponsavel as STRING; +FIELD telefone as STRING; +FIELD email as STRING; +FIELD endereco as STRING; +FIELD serie as STRING; +FIELD turno as STRING; +FIELD dataCadastro as DATETIME; +FIELD status as STRING; +END TABLE; +TABLE agendamentos_visita; +FIELD id as STRING; +FIELD protocoloNumero as STRING; +FIELD nomeResponsavel as STRING; +FIELD telefone as STRING; +FIELD email as STRING; +FIELD dataVisita as DATE; +FIELD horario as STRING; +FIELD numeroVisitantes as INTEGER; +FIELD dataCadastro as DATETIME; +FIELD status as STRING; +END TABLE; +TABLE atendimentos; +FIELD id as STRING; +FIELD protocoloNumero as STRING; +FIELD nome as STRING; +FIELD assunto as STRING; +FIELD mensagem as STRING; +FIELD telefone as STRING; +FIELD email as STRING; +FIELD dataCadastro as DATETIME; +FIELD status as STRING; +END TABLE; diff --git a/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/tables.bas b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/tables.bas new file mode 100644 index 00000000..cc3ae6bf --- /dev/null +++ b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/tables.bas @@ -0,0 +1,39 @@ +TABLE inscricoes + FIELD id AS STRING + FIELD protocoloNumero AS STRING + FIELD nomeCompleto AS STRING + FIELD dataNascimento AS DATE + FIELD nomeResponsavel AS STRING + FIELD telefone AS STRING + FIELD email AS STRING + FIELD endereco AS STRING + FIELD serie AS STRING + FIELD turno AS STRING + FIELD dataCadastro AS DATETIME + FIELD status AS STRING +END TABLE + +TABLE agendamentos_visita + FIELD id AS STRING + FIELD protocoloNumero AS STRING + FIELD nomeResponsavel AS STRING + FIELD telefone AS STRING + FIELD email AS STRING + FIELD dataVisita AS DATE + FIELD horario AS STRING + FIELD numeroVisitantes AS INTEGER + FIELD dataCadastro AS DATETIME + FIELD status AS STRING +END TABLE + +TABLE atendimentos + FIELD id AS STRING + FIELD protocoloNumero AS STRING + FIELD nome AS STRING + FIELD assunto AS STRING + FIELD mensagem AS STRING + FIELD telefone AS STRING + FIELD email AS STRING + FIELD dataCadastro AS DATETIME + FIELD status AS STRING +END TABLE diff --git a/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/tables.mcp.json b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/tables.mcp.json new file mode 100644 index 00000000..e170a484 --- /dev/null +++ b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/tables.mcp.json @@ -0,0 +1,9 @@ +{ + "name": "tables", + "description": "", + "input_schema": { + "type": "object", + "properties": {}, + "required": [] + } +} \ No newline at end of file diff --git a/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/tables.tool.json b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/tables.tool.json new file mode 100644 index 00000000..a8aaf73b --- /dev/null +++ b/botserver-stack/data/system/work/salesianos.gbai/salesianos.gbdialog/tables.tool.json @@ -0,0 +1,12 @@ +{ + "type": "function", + "function": { + "name": "tables", + "description": "", + "parameters": { + "type": "object", + "properties": {}, + "required": [] + } + } +} \ No newline at end of file