Approvals
The queue where a property manager signs off on a contractor dispatch before it runs.
The one place the console asks you to decide something. A request lands here when a superintendent's assistant tries to send a contractor and the estimated cost is above your property's approval threshold. Until you approve or reject it, the work order does not move.
At a glance
| Where | /operator/approvals, the Awaiting approval dashboard tile, or an approval row in the notification bell |
| Who | Owner, organization admin and property manager. Superintendents cannot open this page or decide their own requests |
| What you can do | Sort and filter the queue, read the work order behind a request, open its full record, Approve, or Reject with a reason |
| What you cannot do yet | Edit a request, send it back for changes, or undo a decision |
Before you start
- This queue only ever holds contractor dispatches. Nothing else routes here — not unit-entry decisions, not leasing decisions.
- The threshold is what puts a request here. A dispatch estimated above the property's Approval cost threshold stops and waits for you; anything below it goes ahead without asking. You set that number yourself — see Settings.
- The superintendent is waiting. While a request is pending, their screen reads Waiting for PM approval and the work order stays assigned to them. They cannot approve it or work around it.
Decide a request
- Open Approvals. The queue is sorted Pending first. A row gives the work-order reference
and unit (
WO-41 · Unit 101), the issue summary or No issue summary recorded, the category, how long it has waited, and a cost figure if the request arrived with one. - Select a row — or move with
jandk, which the hint row spells out on a wide screen. It opens in the Selected Approval panel. - Read the request: its age and expiry, an Issue box, and a Work order info block holding the proposed or scheduled visit and the facts — unit, category, priority, status, when it was reported, the resident's name, who it is assigned to, availability and the requested visit. The heading is the work-order reference and opens the full record in a dialog. The resident's phone and email are deliberately not repeated here.
- Check the cost. A request can carry the cost estimate the dispatch was gated on. Where one exists, it is the figure on the right of its queue row, and it is also the Cost est. fact on the work order itself, which the heading opens. The Selected Approval panel has no Cost estimate box of its own: that box is deliberately left out of the request details, so the queue row and the work order are where you read the figure. No form anywhere asks a superintendent to type an estimate before the work, so a figure reaches a request only through their conversation with the assistant, and some requests arrive without one. If a row carries no figure, open the work order first; ask the superintendent what the contractor quoted only when neither carries a number.
- Approve. No reason is asked for. The dispatch runs straight away and the contractor is booked. The work order stays assigned to the superintendent.
- Or Reject. The buttons become Cancel and Confirm reject. The reason box sits under the details the whole time a request is undecided — its placeholder is Reason required before rejecting... — and starting a rejection arms it with the note that at least three characters are required. Confirm with the button or ⌘↵ (Ctrl+↵ elsewhere). The work order stays with the superintendent.
- The queue advances to the next undecided request. The one you decided keeps its status badge, and a rejection shows Rejection reason with what you wrote.
Both buttons are disabled while a decision is being sent, and a request that already has a decision cannot be decided again — a double-click cannot produce two outcomes.
Make a rejection reason land. What you write is stored on the decision and shown back to you here, on the decided row. It does not reach the superintendent's own screens: nothing in their console repeats it, and the audit trail records that the dispatch was rejected without the words you used. Write the reason for the record, then tell the superintendent directly if it should change what they do next.
What you see
Two tiles sit above the queue: Pending approvals, with a count of how many are close to expiring underneath, and Oldest pending, the age of the longest wait.
The toolbar has a Sort menu — Pending first, Oldest first, Newest first — and a
Filter menu with one group, Status: All statuses, Pending, Approved,
Rejected. On a wide desktop screen a hint row lists the shortcuts: j and k move, a
approves, r rejects.
A row drawn dashed and dimmed reads Work order missing — References a work order that no longer exists / Reject to clear it from the queue. Its Approve button is disabled; rejecting is the only way to clear it.
Rules and limits
| Rule | Detail |
|---|---|
| Changing your mind | Not possible here — a decided request stays decided |
| How much is listed | Up to 100 pending requests, plus up to 50 recently approved and the 25 most recently rejected |
| Expiring soon | Requests 15 minutes or less from the expiry shown in their own detail line |
| Dead references | A request whose work order no longer exists can only be rejected |
| Requests that failed | A dispatch that broke down after approval is not listed under any filter |
If something looks wrong
| What you see | What it means | What to do |
|---|---|---|
| Approval queue is clear. New approval requests will appear here. | Nobody is waiting on you | Nothing to do |
| No approvals match these filters. | Your Status filter hides everything | Set it back to All statuses |
| Approval queue did not load | The queue could not be fetched | Use the Retry link on the panel |
| An error ending The approval was not recorded — reload the queue to see its current state before retrying. | Your decision did not reach WorkCore | Reload and check the request's status before pressing anything again |
| A request you approved is gone and no contractor was booked | The dispatch failed after your approval, and failed requests are not listed | Check the work order's activity, then ask the superintendent to send it again |
| The work order sits under In progress in the work-order queue, not Waiting approval | Expected — that filter returns nothing | Treat this page as the list of what is pending |
Related
- Settings — the approval cost threshold that decides which dispatches reach you.
- Work orders — the work order behind a request, and where it sits while it waits.
- How a repair runs — the superintendent's side of the same handoff.
- Audit events — where your decision is recorded.