namespace Distribution.Features.Item; public record UomConversionRequest(Guid FromUomId, Guid ToUomId, decimal Factor); public record CreateItemRequest( string Sku, string Name, string? Description, Guid CategoryId, Guid? SubCategoryId, Guid? BrandId, Guid BaseUomId, decimal? SalePrice, List? Conversions, decimal? ReorderLevel = null, bool TracksSerialNumbers = false, bool TracksBatches = false, bool TracksExpiryDate = false, bool HasWarranty = false, int? WarrantyPeriodDays = null, bool AllowCustomWarrantyPeriod = false); public record UpdateItemRequest( string Name, string? Description, Guid CategoryId, Guid? SubCategoryId, Guid? BrandId, Guid BaseUomId, decimal? SalePrice, bool IsActive = true, decimal? ReorderLevel = null, bool TracksSerialNumbers = false, bool TracksBatches = false, bool TracksExpiryDate = false, bool HasWarranty = false, int? WarrantyPeriodDays = null, bool AllowCustomWarrantyPeriod = false); public record ReplaceConversionsRequest(List Conversions); public record UomConversionResponse(Guid Id, Guid FromUomId, string FromUomName, Guid ToUomId, string ToUomName, decimal Factor); public record ItemSummaryResponse( Guid Id, string Sku, string Name, Guid CategoryId, string CategoryName, Guid? SubCategoryId, string? SubCategoryName, Guid? BrandId, string? BrandName, Guid BaseUomId, string BaseUomName, decimal? SalePrice, decimal? ReorderLevel, bool TracksSerialNumbers, bool TracksBatches, bool TracksExpiryDate, bool HasWarranty, int? WarrantyPeriodDays, bool AllowCustomWarrantyPeriod, Models.SyncSource SyncSource, bool IsActive, DateTime CreatedAt); public record ItemDetailResponse( Guid Id, string Sku, string Name, string? Description, Guid CategoryId, string CategoryName, Guid? SubCategoryId, string? SubCategoryName, Guid? BrandId, string? BrandName, Guid BaseUomId, string BaseUomName, decimal? SalePrice, decimal? ReorderLevel, bool TracksSerialNumbers, bool TracksBatches, bool TracksExpiryDate, bool HasWarranty, int? WarrantyPeriodDays, bool AllowCustomWarrantyPeriod, Models.SyncSource SyncSource, bool IsActive, DateTime CreatedAt, List Conversions);