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

import java.time.LocalDateTime;

/**
 * 订单入库草稿。用于创建临时订单、带业务号的有效订单或隐藏技术订单。
 *
 * @param hotelId 酒店上下文 ID
 * @param orderKeyType 订单业务号类型
 * @param orderBusinessKey 订单业务号
 * @param activeBusinessKey ACTIVE 状态唯一约束辅助业务号
 * @param temporaryOrderCode 临时订单号
 * @param orderStatus 订单状态
 * @param orderVisibility 订单前端可见性
 * @param businessKeySource 业务号来源
 * @param businessKeyBackfilledAt 业务号回填 UTC 时间
 * @param displayName 前端展示名
 * @param sourceMessageId 来源消息 ID
 * @param now 创建和更新时间
 */
public record ReservationOrderDraft(
        String hotelId,
        String orderKeyType,
        String orderBusinessKey,
        String activeBusinessKey,
        String temporaryOrderCode,
        String orderStatus,
        String orderVisibility,
        String businessKeySource,
        LocalDateTime businessKeyBackfilledAt,
        String displayName,
        Long sourceMessageId,
        LocalDateTime now
) {
}
