Notifications
The app tells the store when there is work to do: an order to pick, a delivery due, a transfer on its way, a count that can start. Notifications arrive as ordinary push notifications on iPhone, iPad and Android, including Zebra handhelds, and the same work is listed in the app, so nothing depends on someone having seen the push.
A notification is a piece of open work, not a message. It stays open until the work is done, and then it resolves by itself. Nobody has to dismiss or mark anything.
The six notifications
| Notification | Sent when | Resolved when |
|---|---|---|
| New order | a Click and Collect order arrives for the store | the order is picked, handed over or cancelled |
| Deadline approaching | an order is still not picked as its pickup time nears | the order is picked, handed over or cancelled |
| Order changes | the customer changes an order the store is already working on | the order is picked, handed over or cancelled |
| Delivery due | a delivery's expected arrival time has come | the delivery is received |
| Transfer on its way | another store has picked and sent a transfer to this store | the transfer is received |
| Stock count available | a planned count reaches its start date | the count is completed or deleted |
When the reminders fire. Three of the six are reminders, timed from the work itself:
- Deadline approaching fires when an order nobody has started becomes urgent: its pickup time
minus the store's
urgentOrdersMaxValueForNotInProgress, 3 hours unless set. See when an order counts as urgent. If the pickup time moves, so does the reminder. - Delivery due fires at the delivery's expected arrival time.
- Stock count available fires at the count's start date.
A reminder can be up to a few minutes late. One that would be more than a day late, because the handsets or the service were unreachable, is dropped rather than sent stale.
💡 For integrators: the reminders come from the data you already send. Set a delivery's expected arrival time and a count's start date accurately, and the store is reminded at the right moment, with nothing else to build.
Who gets them
A notification goes to a store, not to a person. Every handset whose current store is that store, and that has not muted notifications, receives it, whoever is signed in. Handsets working for another store get nothing.
A handset is registered for its store when the colleague signs in and allows notifications. When they change store, the registration moves with them. The user needs the notification permissions described under what a user needs access to.
The tray stays readable. A newer notification of the same kind replaces the older one in the tray. When several of a kind come in a short time (a burst of new orders, a morning of deliveries), the first one arrives at once, and the rest are gathered into one more notification at the end of a short window: 15 minutes for orders, an hour for deliveries, transfers and counts. Order changes is never held back.
On the phone
- In the background or locked, the notification appears in the system tray like any other app's. A tap opens the module: Click & Collect, Goods receivable or Stock counting.
- With the app open, the two urgent kinds, Deadline approaching and Order changes, slide in at the top of the screen with Dismiss, and a tap opens Click & Collect. The others do not interrupt: they update the counts on Home.
- On iPhone and iPad, the two urgent kinds are time sensitive: they are allowed through Focus and scheduled summaries, if the user permits time-sensitive notifications for the app.
- On Android, the app has three notification channels, Click & Collect, Goods received and Stock counts, so a user can silence one area in the phone's settings and keep the others.
On the Home screen
The Notifications section on Home, also behind the bell at the top of the module screens, is a live summary of the open work in the store:
| Row | Counts | Opens |
|---|---|---|
| Orders to pick | orders not yet picked, with how many are overdue or the next pickup time | Click & Collect |
| Deliveries to receive | deliveries that are due and not yet received | Goods receivable |
| Stock counts active | counts that have started and are not completed | Stock counting |
| Recent | the latest order changes | Click & Collect |
The counts come from the services themselves, so they are right even on a handset that missed the push. Rows with nothing to do are hidden, and with no open work at all the section says Nothing outstanding. See the Home screen.
Control tasks
Control tasks lists every piece of notified work in the store that is not done yet, one row per task, newest first. It is the place to look when a push was swiped away, arrived while the handset was off, or was meant for the colleague on the previous shift.
- One row per task. An order that was new, then running late, then changed by the customer is one row, labelled with the most pressing of them.
- A tap opens the work itself: the order, the delivery or the stock count. A transfer on its way opens Goods receivable, where it will arrive.
- Rows leave by themselves when the work is done.
- It holds only work that produced a notification. The module lists remain the complete view: a delivery appears here once it is due, a count once it has started.
When the work is done
The notification service follows the same events every other subscriber receives: an order picked or cancelled, a delivery received, a count completed. When the work's finishing event arrives, the notification is resolved, wherever the work was done: in the app, or by your own system through the service's API. Work that already has an open notification does not get a second one; only a reminder whose time has moved fires again, at the new time. A push already in the tray stays there until it is swiped away; the app's own lists drop it at once.
Work left undone is not chased forever. An open notification expires after a fixed time (a day for Deadline approaching, a week for Order changes, a week after a count's due date, and 30 days for the rest) and leaves Control tasks then.
Muting
The bell next to Notifications on Home mutes push notifications on this handset, for the current store:
- Today — until midnight.
- Forever — until Unmute.
Muting stops the pushes only. The summary on Home, the counts and Control tasks keep working, so a muted handset still shows what is waiting.
Checking that a store receives notifications
When a store reports that notifications do not come:
- Permissions. The user needs
ins.notification.list,ins.notification.subscribeandins.notification.unsubscribefor the store. Without them the handset is never registered, and nothing on the screen says so. - The phone's settings. Notifications must be allowed for HiiRetail Inventory; on Android, check the three channels too.
- Muted? The bell on Home shows a crossed-out bell when the handset is muted.
- A test. A user with
ins.notification.sendcan send a test notification to a store withPOST /api/v1/business-units/{businessUnitId}/notificationson the Inventory Notifications API. Every registered handset in that store should receive Test notification.