The CleverTech App
CleverTech is the mobile app for the people who do the work: technicians on site, the coordinator dispatching them, the storeman handing out stock, and whoever walks the asset register. It is a separate app from CleverAlert (which customers use) and from CleverResponder (which reaction crews use), and nobody self-registers into it — a person gets in because somebody gave them a role on People.
What a person sees inside is decided entirely by those roles. This page follows the app in that order: how they sign in, what the landing screen offers them, then each section behind it.
Signing in
CleverTech signs in with the person's own account — the same email and password as CleverOps. There are no login codes and no control-room OTPs.
To give somebody mobile access:
- Make sure they have an account for that email. Invite or attach one from the Email account card under their Roles & access tab on People; if they have an account but no password, Forgot password in the app emails them a reset link.
- Grant them a role that opens CleverTech — Technician is the usual one, but Technical coordinator, Stock controller, Asset manager and Asset inspector each open their own section too.
- In the app they enter their email + password.
Signing in with an account that isn't on any company's team yet doesn't fail: the app opens on a "No company yet" screen that re-checks on demand (and automatically on resume), and comes alive the moment a company adds the person.
If the same person is on the field team in more than one of your workspaces (the same linked email, an entry per workspace), they sign in once and switch companies from the landing screen (tap the company name under the welcome heading) or from their Profile. Each company shows only its own jobs. Their live status is shared across those companies, so if they mark themselves on site for one, the others see them unavailable too.
The switcher separates Where you work (companies with a real field-team entry) from Companies you own, so an owner listed on many client companies signs in straight to a company they actually work at rather than an arbitrary one.
Technicians who previously used a login code + OTP must be linked to a real email account before they can sign in again — the code/OTP path has been removed.
Deleting an account from the app
A technician can permanently delete their own login from Profile → Delete account. It removes the sign-in account and the personal profile and cannot be undone.
It is not a resignation and it does not touch your service records. Completed jobs, checklist answers, photos and sign-offs stay exactly where they are; the person's entry simply stops pointing at an account, and CleverOps shows their sign-in as unlinked. Re-linking an email is all it takes to give them access again.
Two things to know:
- Anything still queued on the phone is lost. CleverTech works offline, and once the account is gone, work waiting to sync has no account to sync as. The confirmation names what is queued before it goes ahead.
- An account still holding sites in CleverAlert is refused, and asked to leave those first (More → Leave site on each site).
The landing screen
CleverTech opens on a landing screen that checks what the signed-in person can do at the active company and offers a card per section — tap one to enter that section and only its screens; the landing stays one back-press away. The roles set on People → Roles & access decide which cards appear:
- Technician jobs — always shown. The offline field loop: My jobs / Schedule / My van.
- Tech coordinator — unlocked by the Technical coordinator role (the service-management permission). Two tabs: Coordinate and Clients. Someone with only client access (Sites admin or Sales) gets the card as Clients, without the Coordinate tab.
- Assets — unlocked by the Asset manager or Asset inspector role, on companies with the Assets module switched on: the asset register, tag scanning and inspections (see below). Assets are not fleet — the Fleet manager role covers vehicles, not the register.
- Inventory — unlocked by the Stock controller role: the full warehouse surface (see below). A plain technician's own van stock lives under Technician jobs instead.
- Tickets — always shown.
- Superadmin — under Tickets, for CleverCam platform super admins only (see below). It follows the person, not the company, and no role unlocks it.
Below the cards, the person's Profile (live status, appearance, company switching, sign out) is one tap away. Company owners see every card their company has switched on — the Assets card still waits on the Assets module, owner or not.
Unlike the technician field loop, which works offline, the coordinator, assets and inventory surfaces show company-wide data pulled live, so they need a connection to load.
Open jobs and the last week's closed jobs are kept on the phone. A technician's offline copy holds the jobs they lead or are on that are still open (scheduled, in progress or on hold), plus the jobs that were completed or cancelled in the last 7 days, with those jobs' sites and customers. A closed job leaves the phone a week after it closed, and it comes back if the office reopens it. So My jobs → Completed shows the last week's work, offline included, and nothing older: that side of the switch reads the offline copy. Older work is still on the job in CleverOps, and in a site's history on the job's Site tab when there is signal.
The technician's day
Live status
Each technician carries a live presence — a status that belongs to the person, separate from any job's status, answering is this technician free right now?
| Status | Meaning |
|---|---|
| Available | Free to be dispatched |
| En route | Travelling to a job |
| On site | Working at a site |
| Busy | Occupied — not dispatchable |
| Off shift | Off for the day |
It is set from the app, mostly on its own: it flips to On site when the technician taps I've arrived on a job, to En route when they mark themselves on the way, and back to Available when they depart or sign a job off — unless another visit is still open. Technicians can also set it by hand on their Profile screen, which is how the states that aren't tied to a job get used: Busy or Off shift. Someone who hasn't reported a status yet shows nothing.
Where it shows. Presence is an in-app signal: the coordinator's Team view lists each technician's status beside their open-job count, and that is the only place it is displayed. CleverOps on the web does not show it — the smart assignment picker there works off working hours and days, booked time off and standby instead, so a technician marked Busy on their phone is not flagged busy on the job form.
Presence left untouched for 12 hours — someone who forgot to sign off before heading home — resets to Off shift on its own, so nothing shows a stale On site overnight.
What a technician's status says is what they say they're doing. For where they actually were when they logged each action on a job, see Where the work was logged.
Has the technician seen the job?
Assignment sends a push — but a push delivered is not a job read. The first time a technician opens a job in CleverTech, the app records a one-time Opened the job event (no GPS is captured for it — opening a screen is not a field action), and CleverOps shows the answer everywhere the job appears:
- In the app, a scheduled job the technician has never opened carries a NEW pill in My jobs; opening it clears the pill immediately, even offline.
- In CleverOps, the job form's chip row shows Seen by tech with the time once anyone on the job's team has opened it — or logged any action on it, so a technician on an older app build that never sends the open event still counts from their first tap — and a quiet Not seen by tech warning while a booked job sits untouched. The same warning chip appears on the board and list cards, and the open event itself shows on the field trail.
Jobs from before this feature count as seen from their first recorded action, so the warning only ever points at genuinely unopened work.
Job documents
Files you attach to a job on its Files & tickets tab reach the technician. Anything that is not a photo — a floorplan PDF, the customer's quote, a spec sheet, a client document — appears in a Documents card on the job's Job tab in CleverTech: one row per file with its type, size and the day it was added. Tapping a row opens it in the phone's own viewer.
- The list works offline; opening a file does not. The rows sync with the job, so a technician can see that a floorplan exists with no signal — but the file itself lives in private storage and needs a connection to fetch. In a dead zone the app says so plainly rather than failing silently, so tell them to open what they need before they leave coverage.
- Photos are not documents. A photo you upload joins the job's Notes timeline alongside the technician's own; signatures stay with sign-off. The Documents card is only for files meant to be read.
- The card is hidden on a job with no files, so it never adds anything to scroll past.
Ending a visit: done vs not done
A visit and a job are not the same thing, and the app's Update status sheet keeps the two exits apart:
- Complete & sign off — the job is done. The full sign-off flow runs (checklist, signature, photos) and the job lands in Awaiting review for the office. The signature does not lock the parts: until the office approves the job you can still correct them, without the customer signing again (see After the customer signs).
- End visit — job not finished — the technician is leaving with work still to do. It stamps the departure, asks "What happens to this job now?", and offers an optional what's-still-to-do note that lands in the job's timeline for the office:
- Coming back — keep it mine → the job returns to Scheduled (still the technician's; they resume later today or another day with Start job).
- Blocked — office to take over → the job goes On hold (waiting on parts, authorisation, access) and shows in the board's On hold column for the office to unblock.
- Pause stays for short on-site interruptions — it holds the job without recording a departure.
All of it works offline and syncs later. On the office side nothing new to learn: the job simply appears in the right board column, the departure shows on the field trail, and the note reads like any other technician note.
The job screen
Opening a job shows a status header — with one-tap call and directions — over six swipeable tabs:
- Job — the work: customer, site, the booked time and what the customer was told, issue and priority, who to contact for this job (the people the office picked on the job, with one-tap dialling — hidden when nobody was picked), the quote this job was converted from (heading, number, total and the lines that were sold — tap it for the full quote), the scope, any documents the office attached, and the actions: Request help, Quote extra work, Commission site on an installation, and Put site on test.
- Site — the place, as a one-pager: how to get in (keys, gate and codes, technician access, response and special-handling notes); who to call — the job's preferred contacts first, then the site's keyholders in call order, then the customer's contacts, one tap dials; history at this site (every job any technician of your company has done there — status, date, who, and the sign-off summary; tap one for the write-up); quotes at this site (the one this job came from is marked This job; a quote already turned into another job says which); recent events (the site's alarm events, live ones flagged) and raw signals (what the receiver actually got off the site's hubs, with its verdict — for the technician asking "did my test signal arrive?"); the equipment register and site layout doorways; and maintenance plans. Each list shows its latest three with a See all button that opens the full list (the last 40) on its own page, so the tab never becomes a scroll. The site's own details come off the phone, so the tab opens offline; the lists need a connection and say so when there is none.
- Tasks — the checklist. Items — parts, labour and travel. Stock — where every part for this job is, and the way to send one back (below). Notes — the photo and note timeline.
Old links to a job's Job card or Site info screens land on these tabs.
Notes, and tagging someone
The Notes tab is the job's photo and note timeline. Add note writes a text note for the office; Add photo adds a picture. Both work offline and sync later.
A note can tag someone: type @ — or tap Tag someone under the box — and pick from the company's team (each person once, with what they do; you are marked (you)). The name goes into the note as @Name, and a line under the box says who will be told. When the note reaches the office, each person is told the way Mentions always tell them — an email, their CleverOps bell, and a message with a push if they work in CleverTech or CleverSales — and asked to acknowledge it. Tag yourself and it simply waits in your own Waiting on you. Delete the @Name before saving and that person is not told.
Tagging works without signal: the team list is kept on the phone from the last time the Notes tab was opened online, and the names travel with the note. Someone who has left the team by the time the note syncs is simply not told; the note still saves.
When someone tags you, the phone gets a …mentioned you push (a job mention opens the job) and the mention waits at the top of Messages — the bell on My jobs — under Waiting on you, with the note in full, Open for a job, and Acknowledge. Reading the message does not answer it: Acknowledge does, and so does a note of your own on that job.
The Stock tab
Stock is the job's own view of the stock system, for the technician: one card per stock-tracked part the job has touched — a line on the job card, a reservation, a handover or a movement — with the chip from the Items tab and every number behind it, only the non-empty ones: Needed, Booked to this job (what the ledger has issued to the job, with how many are installed), Handed to you, On its way to you, Going back to the store, Set aside at … / Ready to collect, On order (with the PO number and due date), and Still short. It needs a connection, like the chips, and pulls down to refresh.
Two things happen from here:
- Waiting for you — a handover the store addressed to you for this job sits at the top with Accept onto my van: the same count sheet as My van (change a number and the difference stays in transit as the variance; serialised lines are all or nothing). It is the same handover as the card on My van, just reachable from the job it is for.
- Send n back to the store — on any part the job could give back. The sheet asks how many (up to what is returnable: what the ledger booked to this job plus what was handed to you for it), or which serials for a serial-tracked item (each marked booked to this job or on your van), an optional note, and This job no longer needs it — on by default. On, the job card line shrinks by what came off it when the store takes the part in; off, the line stays and the store issues a replacement. The stock leaves your van the moment you tap Send back and waits in transit until the store takes it in, so it shows as Going back to the store here and under Your returns until then. You do not choose where it comes from: the server takes it off the job line first (so a part the line already issued from your van can go back without the van going negative twice) and off your van for the rest, and refuses with a plain message if the numbers do not add up.
The tab is read-only for anyone who is not on the job (a coordinator opening it in the app sees the position but no Send back), on a cancelled job, and once the office has approved or invoiced a completed job.
On an open job, Send back is the only way to give a booked-out part back. A typed line is a promise until the job completes, so on an open job it stays freely editable — until its parts have actually been booked out, which happens the moment Scan part or an install from My van names the job. From then on, reducing the quantity or deleting the line is refused for a plain technician: "Those parts are already booked out to this job. Send them back on the Stock tab and the store will book them in." Editing the line would move the stock with nobody at the counter to receive it, which is how vans quietly drifted negative. If the edit was made offline it is refused when it syncs and the line comes back as it was; nothing else in the queue is held up. Completion books out everything else — and on a signed job the rules loosen for your own van, below.
After the customer signs
Signing off completes the job, but parts often turn out wrong after the signature — a unit that went back in the box, a cable run that came in shorter. The customer cannot be asked to sign again, so the parts stay correctable until the office approves the job for invoicing. The signature stays exactly as it was; the office sees every change you make after it.
- On the sign-off screen, the Parts used card is the last look before completion: turn a number down and what you did not use stays on your van. After you save, the Job signed off message has a Check parts button that opens the job's Items tab.
- On a completed job, the Items and Stock tabs carry a note saying where the job stands: The customer has signed (you can still correct the parts), Approved by the office or Invoiced (the parts are locked — ask the office). Checking needs a connection; while it runs the note reads Checking with the office… and the parts stay read-only.
- What you can do until then: change a quantity, remove a part, add or scan one, send parts back to the store from the Stock tab, and accept a handover for the job.
- Your own van only. Lowering or removing a part that was booked out of your van puts the difference back on your van — send it back to the store from My van or use it on your next job. A part that came off a colleague's van or the warehouse can only be changed by the office: "… came off …, not your van, so the office has to change it." And only the technicians on the job can take booked-out parts off it after sign-off.
- Offline, the tabs stay open and the note says the office's approval could not be checked. If the office approved the job in the meantime, the change is refused when it syncs: "The office has approved this job, so its parts can no longer be changed from the field. Ask the office to change them."
- A refused change is shown on the job. The Items tab lists it under 1 change did not go through with the reason and the time, and the line shows what the server kept. It is also under Profile → Sync issues.
The office reads the changes above the job's line items when reviewing it — see the review drawer.
Two things only the technician can fix
When a site has no map pin or no site photo, the Job and Site tabs both show a This site needs… card until they are there:
- Pin it here sets the site's map pin from the phone's current position. It takes a fresh GPS fix only, refuses a fix worse than 200 m, and works only while the site has no pin — moving an existing pin stays in CleverOps, because dispatch and responders drive on it. It works offline: the pin shows on the phone at once and reaches the office when signal returns, and a note in the job's timeline records that it was set from the technician's position and how accurate the fix was.
- Take photo captures the picture CleverResponder shows a responder on the way in — the gate, the front of the building. It uploads when the phone has signal; until then the Site tab shows the photo from the phone and says it is still on its way. Retake replaces it.
Travel
On the Items tab, Travel adds the visit's kilometres as a line item: type the distance, pick which of the company's catalog travel items it bills against (the app finds them — anything named travel, per km or mileage), and whether it charges per km (the kilometres become the line's quantity) or as a flat rate (quantity 1, the distance noted on the line). With no travel item in the catalog the line goes in unpriced for the office to price, like any other unpriced line. The office sees the distance either way.
My quotes
Technicians see the fate of the quotes they raise. The quote icon on the My jobs screen opens My quotes — a read-only tracker of every quote raised by them, naming them as rep, or raised from one of their jobs, grouped In play / Won / Closed with totals and live status. A job's Job tab also lists the quotes raised from that job. Statuses read the same as the office's: Draft — with office, Approved to send, Sent to customer, Accepted, Declined, Expired, Withdrawn. Tapping a quote shows its lines, motivation, validity and — when decided — who accepted it or why it was declined.
Technicians cannot accept, approve, price or edit quotes from the app; there is no write path. It needs a connection (quotes are office data and are not stored on the phone).
Recording existing site equipment
Kit that is already on the site — an old panel, a previous provider's cameras — goes on the register through Add equipment on the site's equipment register, opened from a job's Site tab. Recording it moves no stock and writes no job line; installing new parts from the van still goes through the job's Items tab (Scan part) so the line is billed. See Installed equipment → field backfill.
My van
Every technician keeps My van inside their Technician-jobs section — what is booked to you, and a tap on any line to send it back to the store, install it at a site (no job needed — see Stock) or hand it to a colleague.
A handover is the only way stock reaches a van. That is no longer a setting the control room turns on — it is how the van works. See Stock → Requiring two people.
Taking stock yourself is refused. Booking stock out of the warehouse from the van is turned down with "Stock is handed out by the store, not taken. Ask the store to hand it to you, then accept it here." The store sends it instead, and it arrives as a card in a Handovers section at the top of My van: the reference, the day it was opened, what is on it (quantity and item, how much of each has already been accepted, how many lines are serialised, the job it's for) and any note the store left. Accept onto my van opens a count sheet that defaults to all of it, because usually it is all there — change a number and the difference stays in transit as a variance for the store to chase. Serialised lines are taken in full or left.
Returns go the same way in reverse. The return reports success as it always did, but the stock lands in an in transit location rather than back on the warehouse shelf — the van count drops and the warehouse count does not rise. The handover stays on the technician's list reading "Waiting for the store to accept this return" until someone accepts it in CleverOps → Stock → Handovers.
A line in red is what the van owes, not what it holds. A van can read below zero — usually because a job was booked against it before anyone handed the parts over, which is the normal state of a fleet just after a migration. Those lines still appear on My van, but they are marked owed to the store — not stock you hold and the figure is red, because they are a paper debt rather than something in the boot. Install at a site and Hand to a colleague are not offered on them — there is nothing to give out. Send back to the store stays open and is not capped by the figure on screen: whatever the books say, the technician types what is actually in their hand and the store books it in. The cap still applies to installs and hand-overs, where it is what stops a 30-for-3 typo.
The fix for a van full of red is a count of that van. The store can count it in CleverOps → Stock → Stocktakes like any other location, or ask the technician to do it: a Count my van card then sits at the top of My van (with a push, Please count your van). Tapping it opens the count sheet blind — the technician never sees the ledger figure, only the item names — and they count by scanning (each scan adds one) or by tapping a line and typing the total. Anything on the van the sheet did not list is added with Count something else. When everything is counted, Send the count to the store hands it back; the card then reads Your count is with the store and the sheet can still be reopened to change a number until the store posts it. The technician cannot post or abandon the count — posting is the store's decision in CleverOps, and it is that posting that clears the negative and closes the matching rows on Exceptions at the same time. See Asking a technician to count their van.
Counting your own van, when the store asks. A technician cannot start a count of their van themselves. When the store asks for one — from the Stocktakes tab, the van's row on Locations, or the hand-out window — the phone gets a push, Please count your van, and a Count my van card appears at the top of My van (The store asked you to count your van). It opens the count page blind: no ledger figure, no variance, no Abandon. Count everything physically on the van — the sheet lists what the ledger expects, and Count something else adds an item that is not on it — then tap Send the count to the store. The confirmation says how many lines are counted and reminds you that a line that is not on the van should be counted as 0 rather than left blank. Sending posts nothing: the card changes to Your count is with the store, and the store reviews the variance and posts it in CleverOps. Nothing on the van's ledger moves until they do.
Push notifications
Technicians receive push notifications for: a new job assigned to them, being added to a job's technician team, a job being rescheduled or cancelled, a job sent back for rework, control-room replies to their assistance requests, and a colleague @mentioning them in a note (see Notes, and tagging someone; which app a mention goes to is on Mentions).
They arrive as a high-priority Job updates notification — sound, vibration and a banner — and tapping one opens that job (or the assistance thread) straight away. If the app is already open the phone shows nothing of its own; CleverTech raises an in-app banner with a View button instead, silently.
What decides whether one actually lands:
- The technician has to have signed in on that phone and allowed notifications. The device registers at sign-in; someone who declined the permission prompt — or who has never opened the app — has nothing to send to.
- A phone that can't be reached gets no push — but the message is kept. Every message is also stored in Messages (the bell on My jobs, whose badge counts the unread ones), newest first, whether or not it could be pushed. One that could not be pushed — no phone registered for the technician at the time — is marked not pushed to this phone, which explains why the technician is only seeing it now. Tapping a message marks it read and opens its job; Mark all read clears the list for the current company. Messages needs a connection. The work itself is never lost either — the job still syncs into My jobs.
- Android today. The iOS build isn't wired for Apple push yet, so an iPhone technician sees their jobs in the app but is not alerted about them.
Tech coordinator
Coordinate tab
Six swipeable views:
- Today — the landing view: a count strip (Late, To dispatch, Today, To bill) over the work itself, in the order it costs money to ignore — overdue tickets and overdue visits, then jobs with no technician or no time, then today's visits and tickets, then accepted quotes still waiting to be converted, then finished jobs waiting on billing. Sections with nothing in them disappear, so a clear day looks clear. Each job section's heading carries a Board › (or Jobs › where the section also holds tickets) link that opens the Board already narrowed to that bucket.
- Board — every open job grouped by pipeline stage (Unscheduled, Scheduled, In progress, On hold, Awaiting review, Ready to invoice — the same stages as the Service Ops board), showing title, customer/site, the technician team, booked time, and a priority flag for High/Urgent jobs. Above the cards sit a search box, the needs-attention chips and the filter rail — see Narrowing the board.
- Schedule — every technician's booked visits grouped by day, Overdue first, then Today, Tomorrow, and later days.
- Tickets — the company's ticket inbox. See below.
- Quotes — the company's open quotes (latest revisions only) grouped as Accepted (ready to convert), Sent, Drafts, and Converted, each with its once-off total in the company currency. Opening a quote shows its details and line items with one action: Convert to job — same rules as the web Quotes page (not offered for quotes already linked to a job or in a dead status). Converting copies the customer, site and items, preserves the discount, links the quote, and drops straight into the new job's coordinator sheet to book and staff it. Editing quote content, emailing the PDF, and the customer share link stay on the CleverOps Quotes page; declined/expired/withdrawn quotes are not shown in the app.
- Team — each technician's live presence and open-job count; tapping a person lists their open jobs.
New job (from Board or Schedule) needs only a title — customer/site, a technician team with a lead star, priority, job kind, issue type, an "Invoice required" switch, and a booked visit are all optional. It warns before creating a likely duplicate on a site that already has open jobs, and if a customer is linked and a visit is booked, it asks "Let the customer know?" before sending the appointment notification — it never sends silently. Opening a job gives a coordinator job sheet with stage-appropriate actions — book or change the visit, assign technicians, put on hold, resume, cancel, approve for invoicing, or send back for rework (a reason is required and shown to the technician) — with the same sign-off and customer approval gates as CleverOps. On a Ready to invoice job, Create invoice (behind a confirm) raises a draft invoice from the job's line items — the same server routine as the web, which re-checks approval and the customer link and marks the job invoiced.
The draft invoice is still reviewed and sent from CleverOps Billing — the app raises it, CleverOps sends it. Field actions (arrive, depart, sign-off) stay in the technician's own My jobs flow; Coordination is dispatch only.
New quote (from the Quotes view) creates a draft quote: a heading (the only required field), Sales vs Technical kind, customer/site pickers, line items from the company price list or custom lines, a discount %, a valid-until date, and notes. List prices are VAT-inclusive; the app stores lines ex-VAT at the company's VAT rate — the same as the web quote form. The quote number is assigned automatically from the same Q-xxxxx sequence, and the rep is stamped as the signed-in staff member. Sending the quote to the customer (email, PDF, share link) still happens on the CleverOps Quotes page; converting an agreed quote to a job can be done in the app.
Narrowing the board
The Board carries the same filter vocabulary as the web Jobs table, so a chip means the same thing on a phone as it does on a desk. Three things sit above the cards.
Search asks the server across every job in the company, closed ones included — job number, title, description, invoice number, customer, site and technician. Because the Board itself only ever loads the open pipeline, a search that only looked at what was on screen could never find a job closed last month. While a search is running the stage filter switches off (the search is a way to find one job, not a view of the pipeline), the results come back as one flat list with each card's stage pill, and the attention chips are greyed. Every other filter still applies.
Needs-attention chips are the buckets from the web's Needs attention queue, each a preset of the filters below it:
| Chip | What it means |
|---|---|
| Overdue | Scheduled time has passed and the job is still open |
| Today | Booked for today and not yet finished |
| Unassigned | No technician on the job yet — open jobs only; a completed or cancelled job with nobody on it is not counted |
| Not seen by tech | Assigned, but the technician has not opened it |
| Awaiting reply | The customer has not confirmed the appointment, or asked to move it |
| Follow-up due | A follow-up reminder on the job has come due |
| On hold | Parked — blocked on something |
| Review & invoice | Completed work waiting for approval, plus approved work not yet billed (shows the Rand total) |
Tap a chip to lay it over what is already selected, tap again to lift it. Each count is counted inside the other chips on the rail — so with Assignee: Ben selected, "Overdue 3" is three of Ben's, not three in the company. A chip with nothing behind it hides itself; when they all do, the strip reads All clear. Two of the web's buckets are not here: Deposit owed (deposit state is one server call per job, too many for a phone) and No invoice (it needs the closed archive the Board never loads — search for those jobs instead).
The filter rail shows what is currently selected, how big the slice is ("4 of 81"), an add-filter button and a reset button. Tap a chip to edit its values; each value in the sheet shows how many jobs it would leave, and is / is not flips the whole chip rather than making you tick every value but one. The fields are Stage, Priority, Assignee, Scheduled, Follow-up, Visits, Signed, Flags, Invoice, Customer and Site. Two notes:
- Assignee matches the whole technician team, not just the lead — the card shows everyone on the job, so filtering by a co-assigned technician finds their work too. (The web reads the lead only.)
- The Stage chip can be edited but not removed, and offers the six open stages only. Removing it would widen the list past what was actually fetched; a Done or Cancelled job is reached by search.
Filters are remembered per company on that phone, so the slice you left is the slice you come back to. They are deliberately not shared with your saved view on the web — a twelve-column desk view is not a phone view. Switching company resets to the open pipeline.
"Late" means the same thing everywhere now. A visit whose booked time has passed and that has not closed is late — on the Today section, on the Schedule view, on the Board's Overdue chip, and on the web. Previously the app's Today and Schedule views counted only jobs still in Scheduled, so an 08:00 visit still In progress at 18:00, or one put On hold, did not show as late; both now do, each with its own stage pill saying which.
Tickets in the app
The Tickets view is the web Triage desk, on a phone — the same queues, the same names, the same counts, worked the same way. It is reachable two ways: the Tickets door on the landing screen (everyone gets it) and the Tickets view inside Coordinate.
Queues
The desk's left rail becomes a strip of queue chips under the app bar, each with its live count, and a Desks & sources chip opening the rest in a sheet. Every queue from the web board is there, grouped the same way:
| Group | Queues |
|---|---|
| Queues | Triage, My tickets, Due today, Overdue, Snoozed, All open |
| Desks | Technical, Operational, Accounts, Other, Unclassified |
| Sources | Auto-monitor, Portal, Done · recent |
Counts, filtering, searching and paging are all done by the server, so what the phone shows is the whole company's book — not a page of it filtered on the handset. Triage (open, nobody has it) and Overdue colour their counts, because those are the two numbers the desk exists to drive to zero. When a queue is clear it says so in that queue's own words.
A Filters button narrows within the queue you are in — by kind, by source, by owner, and to include archived tickets. It never widens: picking Accounts inside Overdue means overdue on the accounts desk.
The list, and one ticket
Each ticket is one line: what kind of thing it is (with a dot in its desk's colour), what it says, where it is, who has it, and how long it has waited — or how late it is. A ticket already sitting on work carries a → #job or → Q chip, and one whose site already has open work carries an N open chip, so a duplicate is visible before you open it.
Tapping a ticket opens it full-screen. Swipe left and right there to walk the queue without going back to the list. The actions sit in a bar along the bottom, in the thumb: Done, Snooze (an hour, tomorrow 09:00, next week, or a time you pick), Assign, and — for coordinators — Convert. The ⋯ menu holds Edit and Archive (or Restore).
Under the ticket you get what it is about: the site or customer with a way into its workspace, and — when there is any — the similar-work radar: open jobs and other open tickets already on that subject, each one tappable. Attaching to one of them beats creating a second.
Notes and the full activity trail for a ticket stay on the CleverOps desk; the app shows the ticket and what you can do about it.
Undo instead of "are you sure?"
Done, Snooze, Assign, Give-to-a-desk, Archive and Restore all happen immediately and put an Undo in the toast rather than asking first. The Undo survives moving to another screen. Clearing several at once — long-press a row to start selecting — gives one Undo covering all of them.
Convert, attach and unlink are the exception and keep their sheet: a ticket may only point at one thing at a time, so those cannot be cleanly reversed.
Who sees what
Coordinators (and org admins) get the whole book and all fourteen queues. Everyone else gets the same desk narrowed to three — On me, Logged by me, Sorted — with no counts, because the counts are company-wide and would mean nothing to them. Anybody can log a ticket; triage into a job or quote stays with the coordinator.
Logging one
New ticket needs only a description — the first line becomes the title if the ticket later turns into a job. Optionally set the kind (Call-in, Observation, Follow-up, Reminder, Task), the desk it belongs to (Technical, Operational, Accounts, Other), the site or customer it's about, who it's on, a deadline with a reminder, and — for a call-in — who called. A ticket sits on one record: picking a site clears the customer and the other way round, matching the database rule the web page follows. Saving drops straight into the new ticket, because logging a call and deciding what to do about it are usually one motion.
Triage
- New job — creates a job pre-filled from the ticket and opens its coordinator sheet to staff and book it. If the site already has open jobs, the app lists them first and offers to attach to one instead of creating a duplicate.
- New quote — opens the quote form pre-filled with the ticket's wording, site and customer; the ticket links to whatever quote you save (so it carries real line items, not an empty draft).
- Existing job / Existing quote — hangs the ticket on work that already exists, so several call-ins about the same thing land on one job. Work at the ticket's own site is listed first.
Promoting or attaching a ticket sets its status to Promoted and links it, exactly as the web page does. Converting to a job keeps the ticket's site/customer; converting or attaching to a quote moves that subject onto the quote. Unlinking puts the ticket back to Open. Tickets are never deleted — archived ones are kept for the record and can be restored.
Assigning draws on the same people the web desk does: everyone on the team, once each, on the login they use for CleverOps and CleverTech, plus the company people who manage the control room, grouped by what they do and searchable by name or email. Someone with no login, or who signs in to CleverCommand or CleverResponder only, is listed and greyed, because a ticket can only be given to someone who signs in to CleverOps or CleverTech. Give it to a desk instead of a person leaves it for anyone on that desk to pick up. A ticket given to someone's CleverCommand or CleverResponder login is put on their email login instead, when they have one (see Assigning).
Tickets need a connection
Tickets are the one part of CleverTech that does not work offline — the desk is cross-technician by definition, so it is not in the technician's offline copy. With no signal the app keeps showing the list it last loaded, and says so along with the time it was last true; logging and changing tickets is disabled until signal returns rather than queued, because a status landing twenty minutes late would overwrite triage the office has done in between. The body of a ticket you were part-way through typing is kept on the phone and restored.
The list is not live either: it refreshes when you pull down, when you come back to the app, and after every change you make.
Clients tab
The second tab of the Tech coordinator section (the whole section for Sites-admin / Sales-only staff). Customers and sites are records you open, not forms you fill in. Each row shows its open-job and open-ticket counts, so the list answers "where is the work" before you tap anything. Search covers customers by name, account number and billing phone, and sites by name and address.
Tapping a site opens its workspace:
- Directions in the header (map pin, or the address when there's no pin).
- Job / Quote / Ticket buttons that start work here with the site and its customer already filled in — the customer only when it belongs to your control room. A site shared with another control room can be on their customer; a job or quote there starts with no customer, and CleverOps won't save that customer on it. Each button only appears when your role can actually create that record — jobs need service management, quotes need service or sales, tickets need customer or service management.
- Open work and Job history, Quotes, Tickets — tap through to the same coordinator sheets used elsewhere in the app.
- Keyholders & contacts — the site's and customer's people, primary first, with "can authorise work" flagged. Tapping a person dials them.
- Getting in — keys/gate/code notes, technician access notes, response instructions, special handling, and property/responder notes, pulled from the site's CleverOps setup. Text is selectable so a gate code can be copied.
- Maintenance plans and installed equipment where they exist.
Tapping a customer opens the account's own workspace — its sites (tap through to each site's workspace), work booked against the account, quotes, tickets, contacts and notes. The site-specific blocks aren't repeated there: getting-in notes, maintenance plans and installed equipment belong to a site, so they stay on the site.
Editing the record itself is deliberately demoted to "Edit site details" / "Edit customer details" in each workspace's overflow menu — retyping an address on a phone is the one thing the app is worst at. Site edits need the customer-management permission (Sites admin), so Sales-only staff see sites read-only; editing a customer opens to sales staff as well. Creating a customer is on the Customers list. Full site setup (map pin, cameras, monitoring config), creating sites, and billing setup (payment methods, subscriptions, statements) stay in CleverOps.
Site equipment
Every technician reaches the register from the Equipment section of a job's Site tab (On this site), and the same list from a site's workspace in the coordinator lane. It is the field half of Site equipment.
It answers "what is on this property" rather than "what did we install", so it shows everything: the register rows, the site's CCU, and every camera — nested, so a recorder and its eight cameras read as one system. Before this the app could only show register rows; the hub and the cameras were invisible to a technician entirely.
- The tree — each item shows where it is, its make and model, its serial, and chips for anything that needs attention: Faulty, Offline, Warranty, and how many logins it has. Filters narrow to Needs attention or Offline. Filtering keeps a healthy parent visible when something under it matches, dimmed, so a faulty camera never disappears because its recorder is fine.
- Add equipment — scan-first: point the camera at the serial rather than typing it. A catalog pick fills in the name, part number and warranty period.
- Tap an item for its details, its logins, its full history, and the field actions.
What a technician can do to a piece of kit
| Action | What it records |
|---|---|
| Mark faulty / Fault fixed | The state plus a note saying what is wrong. On a hub this also flags the hub record itself, so the control room sees it on the screen it already watches |
| Serviced / Tested | An event and the service date — no state change |
| Replace | Closes the old unit, creates the successor in the same place, links both ways and moves any children across |
| Move | Where it is now, and what it hangs off |
| No longer here | Marks it removed |
Each one asks a short question ("What is wrong?") rather than a yes/no confirm — the same number of taps, and what gets typed is the only thing anyone reading the history later actually wants.
Technicians can change an item's state, place and parent. They cannot rewrite who installed something or which job installed it, and on a hub or camera they cannot rewrite the serial, model or firmware — those are read live from the platform record and shown as such.
Logins
Where a login is recorded, the item shows it with the password hidden. Tapping Show reveals it — and says plainly that doing so is recorded against your name, because it is. Technicians can add and change logins from the field.
Check the equipment
Check the equipment walks the site's list with three buttons per item — Still there, Faulty, Gone — and posts every difference as an event. It appears as a button on the register, and as an equipment sweep checklist step where a job template includes one (on the Tasks tab and at sign-off).
Nothing is compulsory. Answer three items and skip the rest; only what was answered is recorded.
Out of signal
The equipment screen works without a connection.
- The list falls back to the last version seen for that site, with a banner saying how long ago that was. It says so rather than pretending to be live, because deciding whether a camera is still offline depends on knowing which answer you are reading.
- Changes made offline — a fault, a move, a sweep — are saved on the phone and sent when signal returns. A banner counts what is waiting. Nothing is lost and nothing is double-posted if the phone retried mid-send.
Photo capture on equipment actions is not in the app yet.
Inventory
The Inventory card on the landing screen appears only with the Stock controller role, and opens the store in four views:
- Stock — what is on hand, grouped by item so "where is this?" is one glance rather than a hunt. Filter to one location, or search items, SKUs and barcodes. Negative levels are flagged in red. Tapping a location line starts a move out of it. Receive and Count sit at the top.
- My van — unchanged, for controllers who also work in the field.
- Counts — open stocktakes and a button to start one. These are the store's own counts, which a Stock controller posts from the phone; a technician counting their van at the store's request is a different thing and never posts.
- Ledger — the last movements, newest first. Append-only: a mistake is corrected by posting the opposite move, never by editing.
Moving stock. Pick where it is coming From and going To once, then scan or search to fill a basket, then post. The two ends decide what the ledger records, so you never choose a "movement type":
| From | To | Recorded as |
|---|---|---|
| Supplier | one of your locations | Receipt |
| Back from a site | one of your locations | Return to stock |
| Repair / RMA | one of your locations | Back from repair |
| Found on shelf | one of your locations | Adjustment up |
| One of your locations | another of your locations | Transfer |
| One of your locations | A site | Install (asks which site, and writes the site's installed-equipment record) |
| One of your locations | Repair / RMA | Sent for repair |
| One of your locations | Write off | Adjustment down |
Scanning a shelf or van's own QR label re-points the move — the first scan sets the source, the next sets the destination. Scanning a serial adds that exact unit and refuses it if it isn't at the source. Scanning an item adds one. On an inbound move an unrecognised code is offered as a brand-new unit's serial number, since that is what it nearly always is. Search covers everything for loose stock and unlabelled shelves.
Serial-tracked items must carry one serial per unit and the line says so until they balance; batch-tracked items ask for the batch on receipt. Nothing posts until Post movement, and then each line goes separately with its own retry key — a dropped signal mid-basket can be retried without double-counting, and one bad line doesn't take the good ones with it. If the source hasn't got the stock the app says exactly what it has and offers to post anyway, which drives the location negative — the honest record when stock has physically moved but the count was already wrong. Fix it with a count afterwards.
Receiving is one delivery, one goods-received note: pick the destination, optionally an outstanding purchase order (lines pre-fill with what is still owed, editable for short shipments), the supplier and their delivery-note number, then scan what came off the truck.
Counting opens a stocktake that freezes what the ledger expects. Scanning adds one each time — the right behaviour walking a shelf with the camera up — while tapping a line types the total. A progress bar and a "show what's left" filter keep long counts navigable, and nothing touches the ledger until you post, which writes one adjustment per variance. Counts can be abandoned without posting. That posting is a Stock controller's right: the same page opened from a Count my van request under My van is blind and ends in Send the count to the store instead of Post.
Assets
On companies with the Assets module, staff holding the Asset manager or Asset inspector role get the Assets card: the company's asset register in the field. Both roles can do everything the card offers — browsing, scanning and inspecting; the difference only shows in CleverOps, where registering, editing and moving assets needs Asset manager.
- The register — every asset with its code, category icon, where it lives (branch, vehicle, site, or the person it's issued to) and a due pill (overdue in red, due within 14 days in amber, matching the CleverOps register). Search covers codes, names, serials and locations; category chips filter the list.
- Scan tag — point the camera at an asset's printed QR label (or paste its token) to jump straight to that asset. Labels printed from CleverOps carry a web link, so any phone camera resolves them too; the app reads the token out of the same code.
- Asset detail — its status and due pills, then identity, placement, the category's custom fields and notes, and below that the inspection history, newest first (tap a run to see every answer and comment). The last result is read off the top of that history rather than repeated in a field of its own.
- Inspect now — runs the category's checklist exactly as CleverOps does: one tap to pass, and a failing item demands exactly the evidence its rule asks for (a note, with the category's canned comments one tap away). A critical item that fails is called out the moment you fail it and dooms the run — but the run is still walked to the end and submitted, so the record is complete. Categories set to enforce check order unlock items top-to-bottom; categories that require a scan won't start an inspection until this asset's own tag is scanned. A live score preview runs against the category's pass mark, but the authoritative score, pass/fail and next due date are decided server-side on submit — the same engine as the control room. Runs record whether the tag was scanned and where the phone was standing.
Photo capture on inspection answers is not in the app yet — where a check demands a photo, describe the defect in the note.
Superadmin
CleverCam platform super admins get a Superadmin card under Tickets. It is the stock desk on a phone: put a CCU on a company's books while the box is in your hand. Everything here can also be done in CleverOps under Super Admin → All hubs; the card does not depend on Super Admin mode being switched on in CleverOps, only on the account being a super admin. It needs a connection.
Move a CCU to a company is three fields and a button:
-
Company — every control room on the platform, by name, with how many CCUs each already holds in stock (on their books, not on a site).
-
Ownership — how the company holds the hardware:
Ownership What it means Billing Normal The company bought the unit. Nothing while it is in stock; the standard subscription from the moment it is on a site. Rental Ours, rented to them. The rental subscription from the day it goes onto their books, on a site or not. Consignment Ours, sitting in their stock. It is on their profile so a lost unit has a last known holder. Nothing while it sits in their stock; the standard subscription from the moment it is on a site. -
Serial — type it, tap Scan QR to read the unit's label with the camera, or tap From a photo to pick a picture of the label from the phone's gallery. The label's QR code is the getting-started link; the app reads the serial out of it. The verification code in the label is not needed.
Once a serial is in, This unit shows where that CCU stands: its model, whether it is online, whose books it is on and as what, and the site it is installed at, if any. A serial the system has never seen says so — a unit that has never been powered up and online does not exist yet.
The button reads Move to <company>. What it does depends on where the unit stands:
- On nobody's books — it goes onto the company's books as the chosen ownership.
- Already on that company's books — the button reads Change to <ownership> and only the ownership changes. This works for a unit on a site too, and it changes what the company is billed.
- In another company's stock — the app asks first, naming the company that holds it. Confirming moves the unit and its billing account to the new company in one step, and writes the move to Released hardware in CleverOps, already reviewed as returned to stock.
- Installed on another company's site — refused. Remove it from the site in CleverOps first.
- Not a physical CCU (a communicator, a CleverMail virtual CCU) — refused; those are managed in CleverOps.
The company and ownership stay selected after each unit and only the serial clears, so a box of units is scan, tap, scan, tap. Done this session lists what was moved since the screen was opened.
From a photo is on every scanner in the app, not only this one: the picture icon at the top of any scan screen reads a QR code or barcode out of a gallery photo instead of the live camera.
Related pages
- People — who gets in, and the roles that decide which cards they see.
- Create a service job — the office side of everything the technician receives.
- Where the work was logged — the position recorded against every field action.
- Assistance requests — the technician's help channel to the control room.
- Technician access windows — the time-boxed consent that lets a technician join a customer's site in CleverAlert.