Handle service requests
A tenant reports a problem โ too cold, a leak, a light out, a delivery to arrange โ and it lands on your Service Requests list as a new ticket. This guide is the life of that ticket: triage it, assign it, work it in the open with the tenant, quote it if it costs money, and close it so the record is clean.
Before you start
| Have | Why |
|---|---|
| A role that covers Operations | Service Requests lives under Operations. |
| Your teams and who's on them | Requests are assigned to teams or people, with one owner. |
| The habit of using Messages for the tenant and Internal notes for your team | They look similar and behave very differently โ see Step 3. |
Service types, categories, teams, approval rules, statuses and the tenant's request form are all configured for you โ see Service Requests settings. If a request needs a category that doesn't exist, that's a settings change.
How the job fits together
| Stage | Status | What you do |
|---|---|---|
| Tenant submits | New | Nothing yet โ it's in your list. |
| 1. Triage | New โ In Progress | Read it, assign a team and owner, approve it if the type needs approval. |
| 2. Work it | In Progress | Message the tenant, keep internal notes, attach files. |
| 3. Quote and collect (paid only) | Quote required โ Paid | Build a quote, the tenant pays in the app. |
| 4. Close | Completed or Cancelled | Terminal โ can't be edited after. |
Step 1: What the tenant does
In the app or on the web the tenant opens service requests (your building names the menu item โ Submit a Request in the screenshot below), picks a category and type (Temperature & Air โ Too Cold), adds a location, a description and any photos, and submits. They get a confirmation, can watch the status change, and can reply to your messages from the same screen.

Tenants will also phone or stop by the desk. When they do, log it for them โ see the option below โ so it's tracked like every other request.
Step 2: Triage a new request
New requests show as New on Operations โ Service Requests. Open one.
- Read the Request details panel โ type, who, tenant, location, description, and the HqO request ID (
SR-โฆby default) you'll quote back to them. - Assign it. In Assignees, search for a team or person and add them, then click Assign owner next to the person who'll do it. You can add more than one team or person, but only one owner. Assignees are emailed according to your notification settings; once an owner is set, the emails go to the owner instead of the whole team.
- If an Approval panel appears, the service type needs sign-off before work starts. If you're an approver, click Approve or Deny; otherwise the panel shows who it's waiting for. Until it's approved the status is locked and no quote can be sent. Denying cancels the request.
- Set the status to In Progress โ from the pill at the top right of the request, or the dropdown in the list without opening it. The tenant is told.

๐ก Filter by Tenant to see everything one tenant has open. It's the fastest way to prepare for a call with them.
Step 3: Work it in the open
Two channels, two audiences:
| Channel | Who sees it | Use it for |
|---|---|---|
| Messages (button at the bottom right of the request) | The tenant, in the app, with a notification each time | Acknowledging, asking a question, saying when you'll be there, confirming it's done. Attach photos of the fix. |
| Internal notes | Your team only (and tenant admins, if your building lets them see internal notes) | What you found, who you called, why it's waiting on a part. Anything the requester doesn't need to read โ but if tenant admins can see internal notes, nothing you wouldn't show them. |
Everything โ status changes, messages, notes, files โ is recorded in the request's Activity log, so a colleague picking it up tomorrow has the full story. Files the tenant attached when they submitted are under Case files; files sent later stay in the Messages thread.
Quick reply in the Messages window lists the preset replies (message suggestions) your building has set up. Use them; they keep the tone consistent and save typing.
Step 4: Quote and collect payment (chargeable requests only)
If the service type has products attached, a Billing panel is on the request. The steps below apply when it shows Quote required; fixed-price requests ask the tenant to pay automatically, so there's nothing to quote.
- Click Add item, pick from the type's product list, adjust Qty and Unit price, and click the check mark to add the line. Remove lines you don't want.
- Check Subtotal, Tax and Total.
- Click Send quote. The tenant is emailed and sees the quote in the app.
- The tenant approves and pays by card, or rejects. Paid โ carry on with the work. Rejected โ the lines unlock; revise and send again.
| Billing status | Means |
|---|---|
| Quote required | Waiting for you to build and send it |
| Quote under review | Sent; waiting for the tenant |
| Quote rejected | Edit and resend |
| Paid | Done โ the date and card are shown |
| Payment failed | The tenant's payment didn't go through. They can retry while attempts remain; once they run out or the payment window closes, the request is cancelled. Follow up. |
| Refunded | You refunded the payment, in full or in part |
A $0 quote is valid: send one when a chargeable request turns out to cost nothing. No payment is taken and the panel shows Free. The tenant isn't sent anything to approve, so tell them in Messages.
Refunds. If a paid request is cancelled, Refund payment appears in the Billing panel (the refund window also opens by itself when you cancel from the request page). It refunds the full amount; turn on Partial refund to enter less, then click Refund. The billing status changes to Refunded.
Full detail, including why Send quote can be grayed out: Quotes & Payments.
Step 5: Close it
Set the status to Completed. A Complete request window opens where you can add an optional message to the email the tenant gets โ "Fixed, let us know if it recurs." Once it's Completed the request is locked: no more status changes or edits, though you and the tenant can still exchange messages.
Cancelled โ for a request that was withdrawn, logged in error, or won't be done. It locks the same way as Completed. If the tenant had already paid, Refund payment appears in the Billing panel so you can return the money in full or in part โ see Step 4.
Option: log a request for a tenant
When a tenant phones or stops by:
- Click Create request.
- Pick the Building and Service type, choose the Tenant and the User you're logging it for, and fill in Location and Description. Keep to that order โ service type first, then tenant โ and only then fill in the details.
- Click Create. It appears as New (the default status) under their name, and they can follow it in the app like any other.

FAQ
I can't change the status. The request is awaiting Approval (only an approver can approve or deny it), it was denied, the tenant still has required form fields to fill in, or it's already Completed or Cancelled, which are final.
Can two people be assigned? Yes. Add as many teams and people as you need in Assignees; only one of them is the owner. Once an owner is set, notification emails go to the owner rather than the whole team, so coordinate in Internal notes.
The tenant says they never heard from us. Check Messages, not Internal notes. Notes never reach them. If Messages is empty, that's the gap.
Send quote is grayed out. One of three things: the request still needs Approval, the quote has no line items or is below the minimum chargeable amount, or no payment provider (Stripe) is set up for your building. The first two you can fix; the third is setup.
Can a tenant change or reject a quote after paying? No. After payment the only path is a refund from your side.
Can tenant admins manage their own company's requests? If your building has turned on Allow tenant admins to manage requests in settings, yes โ they can submit requests for their employees and review and update their company's requests from their own admin view. Otherwise it's your team only.
Where to find the analytics
- The list itself โ filter by Tenant, Category, Status, Assigned to or Date, then Export to CSV. Volume by type, open items per team and time to complete (submitted vs completed date) all come out of that export.
- Money โ the Quote status and Payment status columns (and filters) on the list show every chargeable request's billing state. The CSV export doesn't include them; for paid requests, use Commerce โ Transactions with Type set to Service Requests.
- Over time โ Intelligence โ My Portfolio Analytics โ Features โ Service Requests for volume and trend across the building, filterable by tenant and timeframe. On the Portfolio Analytics tab, submitting a request counts toward Engagement. A rising count isn't bad news โ it means tenants are using the channel rather than emailing or giving up.
Related
- Service Requests โ every panel, status, filter and setting
- Quotes & Payments โ the full billing flow
- Service requests on the go โ handling requests from your phone
- Take booking payments โ payments for bookings, which work differently