#nullable enable
using Baya.Application.Models.Catalog;
using Baya.Application.Models.Common;
using Mediator;

namespace Baya.Application.Features.Variants.Commands.CreateVariant;

/// <summary>
/// The signed-in nurse builds a priced offering: a category, one chosen value per answered dimension, a
/// price (IRR-Rial digit string) + price unit + optional session count, and an optional display-name
/// override (auto-generated from the option labels when omitted). The nurse is derived from the caller,
/// never the body. A duplicate identical listing returns 409; a missing required dimension returns 400.
/// </summary>
public record CreateVariantCommand(
    long ServiceCategoryId,
    IReadOnlyList<VariantOptionSelection> Options,
    string Price,
    string PriceUnit,
    int? SessionCount,
    string? DisplayName) : IRequest<OperationResult<VariantDto>>;
