# Interfaces

SignalR endpoint contracts, measurement composition traits, and entity interfaces.

## SignalR Endpoints

- **`IFruitBankDataControllerCommon.cs`** / **`Client.cs`** — Core CRUD: Partners, Shipping, ShippingDocuments, ShippingItems, ShippingItemPallets, Products, Customers, GenericAttributes.
- **`ICustomOrderSignalREndpointCommon.cs`** / **`Client.cs`** — Order operations: GetAllOrderDtos, GetPendingOrderDtos, OrderItem/Pallet management, StartMeasuring, SetOrderStatusToComplete.
- **`IStockSignalREndpointCommon.cs`** / **`Client.cs`** — Inventory: StockTaking, StockTakingItem, StockTakingItemPallet CRUD, CloseStockTaking.

## Measurement Traits (Composition Pattern)

- **`IMeasuringValues`** = IMeasuringWeights + IMeasuringQuantity
- **`IMeasuringWeights`** = IMeasuringNetWeight + IMeasuringGrossWeight
- **`IMeasurable`** — IsMeasurable flag
- **`IMeasured`** — IsMeasured flag
- **`IMeasurableStatus`** — MeasuringStatus property
- **`IMeasuringItemPalletBase`** — Full measurement contract with validation

## Entity & DTO Interfaces

- **`IPallet`**, **`IPartner`**, **`IShipping`**, **`IShippingDocument`**, **`IShippingItem`**, **`IShippingItemPallet`**, **`IFiles`**
- **`IOrderDto`**, **`IOrderItemDto`**, **`IProductDto`**, **`IStockQuantityHistoryDto`**
- **`ITare`**, **`IAvailableQuantity`**, **`IIncomingQuantity`** — Quantity/weight property interfaces

## Service Interfaces

- **`IMeasurementServiceBase<TLogger>`** — Base service marker
- **`ISecureCredentialService`** — Save/retrieve/clear credentials with 2-day expiration
