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

import com.fasterxml.jackson.annotation.JsonProperty;

/**
 * 手工生成 Reservation Invoice 请求。
 *
 * @param hotelId 酒店 ID，缺省时使用当前用户默认酒店
 * @param sourceType 来源类型，第一版只允许 MANUAL
 * @param orderId 可选关联订单 ID
 * @param taskId 可选关联任务 ID
 * @param templateCode 模板编码，缺省使用 PROFORMA_INVOICE_V1
 * @param invoicePayload Invoice 业务字段 payload
 */
public record ReservationInvoiceManualGenerationRequest(
        @JsonProperty("hotel_id")
        String hotelId,
        @JsonProperty("source_type")
        String sourceType,
        @JsonProperty("order_id")
        Long orderId,
        @JsonProperty("task_id")
        Long taskId,
        @JsonProperty("template_code")
        String templateCode,
        @JsonProperty("invoice_payload")
        ReservationInvoicePayloadRequest invoicePayload
) {
}
