StockMovementFilter Model

Query Filter for selecting aggregations based on stock movements

Nullable
StockItemStringIDs : StringFilterCondition`1

stock item string ID's to Filter (or null if any are acceptable)

Nullable
Stock_GroupStringIDs : StringFilterCondition`1

stock group string ID's to Filter (or null if any are acceptable)

Nullable
TerminalStringIDs : StringFilterCondition`1

terminal string ID's to Filter (or null if any are acceptable)

Nullable
CurrencyStringIDs : StringFilterCondition`1

Currency String ID's to Filter (or null if any are acceptable)

Nullable
PhysicalStockLocationStringIDs : StringFilterCondition`1

Physical Stock Location String ID's to Filter (or null if any are acceptable)

Nullable
Sale_GroupStringIDs : StringFilterCondition`1

Sale (if applicable) Group String ID's to Filter (or null if any are acceptable)

Nullable
Sale_SalesTransactionItemStringIDs : StringFilterCondition`1

Sale (if applicable) Sale Item String ID's to Filter (or null if any are acceptable)

Nullable
Sale_ServiceModeStringIDs : StringFilterCondition`1

Sale (if applicable) Service Mode String ID's to Filter (or null if any are acceptable)

Nullable
Sale_EventStringIDs : StringFilterCondition`1

Sale (if applicable) Event String ID's to Filter (or null if any are acceptable)

Nullable
Sale_Cost_CostCenterStringIDs : StringFilterCondition`1

Sale (if applicable) Cost Center String ID's to Filter (or null if any are acceptable)

Nullable
Sale_Revenue_CostCenterStringIDs : StringFilterCondition`1

Sale (if applicable) Revenue Center String ID's to Filter (or null if any are acceptable)

Nullable
StocktakeIDs : ValueFilterCondition`1

StocktakeIDs to filter

Nullable
StocktakeCounters : RangeFilterCondition`1

StocktakeCounters to filter

Nullable
MovementTypes : ValueFilterCondition`1

MovementTypes to filter. See POSCorePublic.Enums.Sales.StockMovementTypes

UseActualDateTimeForFilter : bool

If true - filter on the underlying DateStart DateTime rather than the Z TradingDate field.

By default Date queries apply to the trading period that a sale/payment/etc is assigned. Setting this to true instead
forces the query to apply to the actual time an item/payment/transaction/etc was created/paid/finalised

For TimePeriodTypes below the resolution of a Day, the TradingDate will be offset to match the time of day that the action occurred. i.e. an action aggregated hourly occuring at 4am will
have the Trading Date offset to 4am on the trading date.

For TimePeriodTypes above the resolution of a day, the trading date will be aligned to the period in question (eg - start of Month for Monthly queries)

Nullable
TimePeriodType : TimePeriodTypeEnum

The time period type to filter. Defaults to TimePeriodTypeEnum.Month

Not all filter targets will support all TimePeriodTypes. eg - support for 15 minute aggregates are restricted to only specific usecases due to the volume of data

Nullable
TradingDayStartTime : string (ISO 8601 DateTime)

The time at which a new trading day starts. Only the hours component is utilised.

Only relevant if Query.UseActualDate is specified

Nullable
DateStart : DateStartFilterCondition

When to start filtering time period from (inclusive).

WARNING - This value MUST align with the exact start of a time period, otherwise everything will fail horribly. You have been warned

Nullable
DateStartPart : DateStartPartFilterCondition

Filtering on Date against a specific date part of the time (eg - Day of Week, Hour of Day etc).

Example
{
  "StockItemStringIDs": {},
  "Stock_GroupStringIDs": {},
  "TerminalStringIDs": {},
  "CurrencyStringIDs": {},
  "PhysicalStockLocationStringIDs": {},
  "Sale_GroupStringIDs": {},
  "Sale_SalesTransactionItemStringIDs": {},
  "Sale_ServiceModeStringIDs": {},
  "Sale_EventStringIDs": {},
  "Sale_Cost_CostCenterStringIDs": {},
  "Sale_Revenue_CostCenterStringIDs": {},
  "StocktakeIDs": {},
  "StocktakeCounters": {},
  "MovementTypes": {},
  "UseActualDateTimeForFilter": true,
  "TimePeriodType": 1,
  "TradingDayStartTime": "2012-04-03T09:40:59.736Z",
  "DateStart": {},
  "DateStartPart": {}
}