User task deadlines
User tasks
Many user tasks in EVA make use of deadlines. These can be either indicative (expected) deadlines or hard deadlines. While the former only informs you of the desired time to either start or complete it, the latter are enforced. When enforced, it means that you will be unable to close your store's day.
The two indicative deadlines are called 'ExpectedStartTime' and 'ExpectedCompletionTime'. Whether or not these two are displayed in your User tasks depends on the setting UseExpectedCompletionTimeOnReceiveShipmentTask
. By setting it to true, they will be displayed.
There are two more relevant properties you can set for each task. By going to Management → User Tasks in Admin 1.0, you can specify these:
- Required: if the task type is set to required, it means that it will block the day's closing if not completed
- Ignore for period closing: tasks with deadlines will not block the closing of the day if this option is set for it
If you do not enable the indicative deadlines, the task's own Deadline property will be used. These deadlines can also block you from closing the day, unless you set Ignore for period closing.
The times for the specific deadlines cannot be manually set currently. These are set automatically based on the creation of the task. In the case of Receive shipment for example, the deadlines will be automatically created based on the shipment's date/time (the expected delivery date).
Take note that enabling this will only work for new tasks of that type.
User task expiration
The setting StockReplenishmentTasks:ExpirationTimeInHours
adds an expiration to these tasks and defaults to 524 hours. Whenever a task is created, an ExpireDate is calculated and added to the Data* object of the user task. If for some reason you’d like to see or show this, it will be returned from your normal ListAvailableUserTasks
service.
An automatic, un-alterable system task will be scheduled that runs 7 minutes past every whole hour to check this ExpireDate and deactivate those that are expired. There’s no similar backup check when starting such task - we considered this as fail-safe.
The expiration date is not modified when an existing task is modified (e.g. quantity increment upon sale). User Tasks that have been started or assigned, will not be cleaned up after expiring.
User task grouping
The setting StockReplenishmentTasks:GroupProductProperty
will define a single product property which will be exposed in the GetApplicationConfiguration
as UserTasks:StockReplenishmentTasks:GroupProductProperty.
For all intents and purposes, the StockReplenishmentTasks:GroupProductProperty
setting will be treated as though part of the plural StockReplenishmentTasks:ProductProperties
setting.
Below is a Grouping example response of ListAvailableUserTasks
. Notice how this response tells you through the Aggregations that there are 3 possible values for the product_group, with their respective values and number of items with this value.
{
"AvailableTasks": [
{
"ID": 576731,
"TypeID": 11,
...
"Data": {
"Quantity": 1,
"Type": 0,
"Zone": null,
"Product": {
"product_id": 42059,
"display_value": "...",
"custom_id": "...",
"backend_id": "AB1305976",
"product_group": "Shoes", <----------------------------------
"primary_image": {
"blob": "d38dccc9-7b8c-4897-9928-3e178f304efg",
"name": "...",
"type": "image/png"
}
}
}
},
...
],
"Aggregations": {
"StockReplenishment": {
"product_group": [
{
"Name": "product_group",
"Value": "Shoes",
"Count": 2
},
{
"Name": "product_group",
"Value": "Shirts",
"Count": 3
},
{
"Name": "product_group",
"Value": "Stroopwafels",
"Count": 1
}
]
}
}
}