package cn.nianxx.thhotel.workflows.reservation.common.request;

import com.fasterxml.jackson.annotation.JsonProperty;

/**
 * SuperAgent 查询邮件会话请求。可直接按外部会话 ID 查询，也可用外部来源消息 ID 反查会话。
 *
 * @param hotelId 酒店上下文 ID，用于隔离不同酒店的 SourceMessage 和任务数据
 * @param sourceProvider 来源提供方稳定代码，按 source_message_id 反查时使用，缺省为 AGENTBUS
 * @param sourceChannel 来源渠道稳定代码，按 source_message_id 反查时使用，缺省为 EMAIL
 * @param externalConversationId 外部邮件会话 ID，对应 AgentBus source.external_conversation_id
 * @param sourceMessageId 外部来源消息 ID，对应 AgentBus source.external_message_id，不是内部 Inbox ID
 */
public record ReservationMessageConversationQueryRequest(
        @JsonProperty("hotel_id")
        String hotelId,
        @JsonProperty("source_provider")
        String sourceProvider,
        @JsonProperty("source_channel")
        String sourceChannel,
        @JsonProperty("external_conversation_id")
        String externalConversationId,
        @JsonProperty("source_message_id")
        String sourceMessageId
) {
}
