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; }
}
}