using System; using System.Collections.Generic; namespace FrameworkDAL.DTO.EIPConversation { public class EIPActionContextDTO { /// /// Action identifier code (e.g., CALL_STATUS_UPDATE, SEND_NOTIFICATION) /// public string ActionCode { get; set; } = default!; /// /// Key-Value payload for the action /// public Dictionary Payload { get; set; } = new(); /// /// Optional key for idempotency to avoid duplicate executions /// public string? IdempotencyKey { get; set; } /// /// Timeout in seconds for the action execution /// public int TimeoutSeconds { get; set; } = 30; /// /// Conversation identifier (optional, for tracking) /// public int ConversationId { get; set; } /// /// User identifier who triggered the action /// public string UserIdentifier { get; set; } = default!; /// /// Platform for which the action is targeted (Postman, WhatsApp, Teams, Telegram, Slack) /// public string Platform { get; set; } = default!; public int? TenantId { get; set; } } }