Mobile operations: scan to receive, pick, move, and print
Task center, scan-based receiving (with offload recording), scan-based picking, inventory moves, counts, replenishment execution, and cloud printing.
Getting in#
Open m.docklify.com in the phone browser and sign in. Under WMS you’ll find: tasks, inbox, scan, search, inventory, exceptions and more. Everything runs online — there is no offline mode.
Need help while you work? Task and feature pages show a Help button at the top — tap it and the guide for that exact page opens in a new browser tab, so your work page stays right where you left it and you can pick up where you left off. In the app, tap the Help row on the More page and this guide opens in your browser the same way.
Three ways to type: hand entry, scan, or picker#
Every location / pallet / product input on the phone supports three ways: type it by hand, scan the barcode with the camera, or tap the list icon to open a picker. The pickers filter each other: pick a location and the pallet picker only shows pallets on that location; pick a pallet and the product picker only shows products on that pallet. Typing by hand or scanning is always the fallback.
Errors on the phone always appear as a red bar floating at the top (auto-dismisses in 4 seconds, tap to close, never squeezes your content). Error copy is plain language — no jargon.
Task center#
- The tasks page lists tasks assigned to you (task types: receive, pick, count, replenishment, assembly, cross dock, water spider, …).
- The filter buttons at the top only show the task types you actually have open work in — each button carries a red number with your unfinished count for that type, and the Overdue button only appears when you have overdue tasks. All is always there; if a type button is missing, it simply means you have no open tasks of that type. The numbers refresh by themselves when you come back to this list, so a type you just finished drops off right away.
- At the very top you can switch between My tasks and the Task pool. The pool lists this warehouse’s unassigned tasks that have not started yet — work that nobody owns yet, such as zone pick tasks from a zone with no picker bound. Tap Claim on a task to take it: it leaves the pool and shows up in My tasks right away. The number on the Task pool tab tells you how many tasks are waiting.
- Assembly work orders, cross dock tasks and water spider tasks assigned to you show up in the same list with their own type label. Tap one to open its own work page (assembly / cross dock / water spider) — the original More entries stay as the board and create-task entry points. Cross dock tasks only appear after a supervisor assigns them (on desktop, from the task detail).
- Tap into a task detail: task info on top, a timeline on the side (created → assigned → started → each execution step with operator/result, exceptions in red → finished). On mobile, the task page’s top-right ⋯ menu has Timeline + Progress — Progress shows steps done / total, quantity progress, start time, elapsed time and current status.
- Tap Start (or just submit the first time) → pending → in_progress.
Taking over a task#
- Need to take over a task that is assigned to a colleague (shift change, they are busy)? On the phone go to WMS → More → Take over task, type or scan the task number (for example TK-000162), check the task card and confirm. The request goes to the current assignee — you do not take the task right away.
- The current assignee gets a notification (Notifications tab, approval type). They can also open Take over task → Assignee change approvals to see everything waiting for them, then Approve or Decline on the request page. Only the current assignee can approve — supervisors assign directly instead.
- Once approved, the task moves to the requester and shows up in their task list. If the task was already in progress, nothing is lost: the new owner opens the task and taps Continue to pick up right where the previous person stopped. The requester gets a notification with the result either way.
- Good to know: count tasks cannot be taken over — if someone else should do a count, a supervisor reassigns it directly. A task with nobody assigned cannot be requested (ask a supervisor to assign it first); a finished task cannot be taken over; only one pending request per task — if a colleague already asked, wait for the result or ask the assignee. Changed your mind? Open the request from Assignee change approvals → My requests and cancel it while it is still pending.
Scan receiving#
- Enter the receive task and first record the offload: pick the offloading type (full_pallet whole-pallet unload / loose_carton loose-carton unload / manual manual handling / other) + optional notes → the task moves pending → in_progress and one step log is written.
- Decide mode: two big cards (palletized / direct) → tap → confirm → the method is written back to the task. The method locks after the first receiving submission.
- Palletized in 2 steps: Step 1 Summary (unchanged) → Step 2 Pallet List: enter/scan/select the location, tap “Build pallet”, and the built pallets appear in the list below (each can be deleted, or clear all). Tapping the button opens the build form as a popup; after building, the list refreshes. No Close button on this page — “Back to Task” returns to the task home and closes. Then confirm (variance confirmation → submit → success page lists the pallet LPNs).
- Direct in single-screen cards: per line enter actual received qty + picking location (scan/select) + condition + optional Lot#/Expiry; Submit → variance confirmation. Multiple rounds are allowed — the backend auto-advances the receipt to received once everything is in.
- Close the task when done: receive-complete verifies everything is received → receipt becomes received and Purchase quantities are recalculated in full. If anything remains, closing is blocked (WMS_STATE_001) — ask a supervisor.
Scan picking#
The task walks you step by step in seq order. Each step: scan the from location (valid → a picking location jumps to to-LPN; a storage location first shows the pallet LPN box) → scan the to LPN (must be a tote assigned to the task) → enter qty → tap Pick. Partial picks auto-queue a remainder step at the tail; Next skips; Force close settles on actuals; short marks stock-outs for later re-generation.
Inventory moves, counts, replenishment#
- Move inventory (big single-screen scan page): whole-pallet (scan the pallet LPN) or by-product (scan source location + product + qty) → scan the destination location to confirm → writes a move double-leg ledger entry.
- Counts: enter the counted qty per location/product line → enter-count submits one line at a time; counted lines show system/counted/variance. Close the task by going back to the task list (approval and posting happen on desktop).
- Replenishment, two steps: Step 1 pick at the storage location (scan source location / item / source pallet LPN, qty ≤ qty_to_move — records qty_picked, no ledger write yet); Step 2 drop at the destination pick location (scan its code to confirm) → writes the move double-leg and the line goes to done.
- Inventory inquiry: the inventory page searches by SKU/product name and shows cards with SKU/name/location/quantity (read-only).
- Universal search: one search box finds everything in the warehouse — zones, locations, pallets, products, serial numbers, inbound receipts, outbound orders, loads, tasks, picking carts, totes and cross-dock handling units. Scan or type any code; results are grouped by type, and tapping a result opens its detail (a serial number shows which product it belongs to and where it sits). Scanning an SSCC finds the handling unit itself — its status, destination and the cross-dock task it sits on — and cross-dock tasks also turn up under Tasks by their TK number. On desktop it lives in the top bar — always on screen, no separate page to open.
- Scan a picking cart: when the cart belongs to a zone-picking batch, the result shows more than the cart — a banner at the top names its batch and where it goes next. Once its zone has finished picking, the banner reads “Picking complete → take this cart to consolidation area … · drop point …”, so anyone (a water spider, say) who finds a full cart sitting aside can scan it and know exactly where to take it. The consolidation slot itself is assigned when the cart arrives — you scan a slot label at the area to check the whole cart in.
- Scan a pallet (LPN): when the pallet is tied to outbound work, the result lists its outbound orders and its load with a one-line verdict — “Loaded on LOAD-…, waiting to ship”, “Planned for LOAD-…, not loaded yet”, or “Shipped out on LOAD-…”. An inbound (stock) pallet instead shows the receipt it came from and the location it sits in now.
Cloud printing from the phone#
- On a page that supports printing (e.g. the pallet-build page), tap the cloud-print button → POST /api/wms/print-jobs — the job enters the queue (queued).
- The Device Hub on a warehouse workstation subscribes to Supabase Realtime (with a 3-second polling fallback) → atomically claims the job → prints locally on the Zebra.
- Print completion/failure is written back as done/failed; the phone polls the status for feedback.
Labor tasks on mobile: dedicated task home + timed execution#
Labor tasks now have their own dedicated pages on the phone instead of the generic task facade. Open a labor task to see its task home (what needs doing, where, and by when), then tap Start to enter the timed execution page — the timer records the work time for that task automatically, so labor reports stay honest without manual time entry.
The Android app works just like the mobile web pages#
The Android app and the mobile web pages follow the same steps, fields and checks, so crews can switch between them without relearning. Quantities accept decimals everywhere they make sense — moves, quick moves, replenishment, transfers, assembly and stock adjustments all take values like 2.5 and post them as-is. If a pallet label is damaged during picking and the pallet cannot be found, tap the supervisor approval button, pick a supervisor, and let them tap their own name to approve on the spot. Leave a task halfway and come back — the app reopens on the step you were on. Inbox notifications open the related task directly when tapped, and times are always shown in a readable form such as “Oct 31, 02:35 PM”.
Keeping the Android app up to date#
When a new version of the app is available, the app tells you right after you open it: you see the new version number and a short summary of what is new. Tap “Update now” and the app downloads and installs the update for you — there is no need to visit the download page or reinstall by hand. Tap “Later” and it will not ask again that day.
The first time you update from inside the app, Android asks you to allow this app to install updates: follow the prompt to Settings, turn it on, then come back and tap “Continue install”. This is a one-time step. After that, each update ends with a single tap on “Install” in the system installer.
You can also check any time from More → Check for updates. If a version becomes too old to keep working with the warehouse system, the app asks you to update before you continue — updating right away keeps your device compatible. If an update fails (for example, the download was incomplete), the app explains in plain words and nothing gets installed: check your connection and try again, or get the latest version from the download page.