package cn.nianxx.thhotel.workflows.reservation.service;

import cn.nianxx.thhotel.platform.security.common.dto.AuthenticatedUserContext;
import cn.nianxx.thhotel.workflows.reservation.common.request.ReservationInvoiceManualGenerationRequest;
import cn.nianxx.thhotel.workflows.reservation.common.result.ReservationInvoiceGenerationResult;

/**
 * Reservation Invoice 生成服务。
 */
public interface ReservationInvoiceGenerationService {

    /**
     * 手工生成 Proforma Invoice。第一版允许不关联订单和任务。
     */
    ReservationInvoiceGenerationResult generateManualInvoice(
            ReservationInvoiceManualGenerationRequest request,
            AuthenticatedUserContext actor);
}
