- Adiciona check_in_at/duration_hours ao schema do tool CreateReservationIntent para que a IA capture o horário EXATO de chegada informado pelo cliente - Cria captain_notification_templates: label, content, timing_minutes, timing_direction (before/after), active, position - Implementa SendNotificationService com interpolação de variáveis (guest_name, check_in_time, check_out_time, suite_name, unit_name) - Implementa NotificationScannerJob (Sidekiq-cron a cada 5min) com janela de tolerância de ±5min e idempotência via metadata JSONB - API REST: /captain/units/:unit_id/notification_templates (CRUD) - Store Vuex captainNotificationTemplates + API client - UI: página de gestão de templates com editor inline e botão '+' - Configura rota captain_settings_notifications - i18n PT/EN para todas as strings novas - Rubocop e ESLint: zero offenses
57 lines
1.8 KiB
YAML
57 lines
1.8 KiB
YAML
###### Captain Agent Tools Configuration #######
|
|
# id: Tool identifier used to resolve the class (Captain::Tools::{PascalCase(id)}Tool)
|
|
# title: Human-readable tool name for frontend display
|
|
# description: Brief description of what the tool does
|
|
# icon: Icon name for frontend display (frontend icon system)
|
|
#######################################################
|
|
|
|
- id: add_contact_note
|
|
title: 'Add Contact Note'
|
|
description: 'Add a note to a contact profile'
|
|
icon: 'note-add'
|
|
|
|
- id: add_private_note
|
|
title: 'Add Private Note'
|
|
description: 'Add a private note to a conversation (internal only)'
|
|
icon: 'eye-off'
|
|
|
|
- id: update_priority
|
|
title: 'Update Priority'
|
|
description: 'Update conversation priority level'
|
|
icon: 'exclamation-triangle'
|
|
|
|
- id: add_label_to_conversation
|
|
title: 'Add Label to Conversation'
|
|
description: 'Add a label to a conversation'
|
|
icon: 'tag'
|
|
|
|
- id: faq_lookup
|
|
title: 'FAQ Lookup'
|
|
description: 'Search FAQ responses using semantic similarity'
|
|
icon: 'search'
|
|
|
|
- id: handoff
|
|
title: 'Handoff to Human'
|
|
description: 'Hand off the conversation to a human agent'
|
|
icon: 'user-switch'
|
|
|
|
- id: generate_pix
|
|
title: 'Gerar Pix'
|
|
description: 'Gera uma cobrança Pix via Banco Inter para a reserva ativa da conversa'
|
|
icon: 'payment'
|
|
|
|
- id: check_pix_payment
|
|
title: 'Verificar Pagamento Pix'
|
|
description: 'Consulta no Banco Inter se a cobrança Pix já foi paga'
|
|
icon: 'check-circle'
|
|
|
|
- id: send_suite_images
|
|
title: 'Enviar Fotos de Suíte'
|
|
description: 'Envia fotos da galeria da unidade para o cliente, com filtros por categoria/suíte'
|
|
icon: 'image'
|
|
|
|
- id: create_reservation_intent
|
|
title: 'Criar Reserva'
|
|
description: 'Cria uma reserva draft quando o cliente confirmar suíte, preço e horário de chegada'
|
|
icon: 'calendar-add'
|