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

import java.time.LocalDateTime;

/**
 * SuperAgent 查询接口使用的订单快照。该 DTO 比普通订单快照包含更多只读展示和终止字段。
 *
 * @param id 本系统订单主键
 * @param hotelId 酒店上下文 ID
 * @param orderKeyType 订单业务号类型，例如 GROUP_CODE、CONFIRMATION_NUMBER、TEMPORARY
 * @param orderBusinessKey 原始订单业务号
 * @param activeBusinessKey 当前生效业务号
 * @param temporaryOrderCode 临时订单号
 * @param orderStatus 订单状态
 * @param orderVisibility 订单前端可见性
 * @param businessKeySource 业务号来源
 * @param displayName 前端和 Skill 可读展示名
 * @param sourceMessageId 订单来源 SourceMessage ID
 * @param createdFromTaskId 创建该订单的任务 ID
 * @param endedAt 订单结束时间
 * @param logicDeletedAt 订单逻辑删除时间
 * @param logicDeletedReason 订单逻辑删除原因
 * @param createdAt 创建时间
 * @param updatedAt 最近更新时间
 */
public record ReservationAiQueryOrderSnapshot(
        Long id,
        String hotelId,
        String orderKeyType,
        String orderBusinessKey,
        String activeBusinessKey,
        String temporaryOrderCode,
        String orderStatus,
        String orderVisibility,
        String businessKeySource,
        String displayName,
        Long sourceMessageId,
        Long createdFromTaskId,
        LocalDateTime endedAt,
        LocalDateTime logicDeletedAt,
        String logicDeletedReason,
        LocalDateTime createdAt,
        LocalDateTime updatedAt
) {
}
