namespace Distribution.Features.PriceList; public record CreatePriceListRequest(string Name, Guid? RegionId, DateTime EffectiveFrom, DateTime EffectiveTo); public record UpdatePriceListRequest(string Name, Guid? RegionId, DateTime EffectiveFrom, DateTime EffectiveTo); public record UpsertPriceListItemRequest(decimal Price, decimal? MinPrice = null); public record PriceListItemResponse(Guid Id, Guid ItemId, string Sku, string ItemName, decimal Price, decimal? MinPrice); /// /// A resolved price with its negotiable floor. MinPrice null = no negotiation, Price is fixed. /// public record PriceResolution(decimal Price, decimal? MinPrice); public record PriceListResponse( Guid Id, string Name, Guid? RegionId, string? RegionName, DateTime EffectiveFrom, DateTime EffectiveTo, bool IsActive, DateTime CreatedAt, List Items);