📱 First — a heads-up about reaching me
I’m porting my phone line this week
My number isn’t changing — it’s the same one you’ve always had for me. But I’m moving it onto a new service right now, and it’s the same port your number goes through when a shop moves it onto ApplianceOps. So I’m about to eat my own cooking: for a few days I may be hard to reach by phone while it cuts over.

If you need me in that window, email is the sure thingsupport@applianceops.pro. I’m at it 6am–3pm ET, and I answer everything myself.

A shop owner asked a simple question this week: “Is there a way to do a time window? All I’ve figured out was just a start time.” It turned out to be two questions wearing one coat — what you tell the customer, and how much of the day the job eats — so we built both.

⏳ A three-hour job now takes up three hours

This is the big one. When you book a job there’s now a How long picker — 30 minutes, an hour, an hour and a half, 2, 3, 4 hours, or all day. Set it, and the day view stops pretending every job is 60 minutes long.

1:00 PM
Miller — Whirlpool dryer, no heat
1 – 4 PM · Sara
2:00 PM
↳ still on site
3:00 PM
↳ still on site
4:00 PM
Available +
📅
One job, one blockNew
The start card reads the real span — “1 – 4 PM” — and the job draws as a single block down the hours it runs, not three cards stacked with seams between them.
🚫
Nobody books over a tech who’s still outNew
Every hour the job runs through shows still on site where the Available + button used to be. A dispatcher can’t drop a 2:00 on someone who isn’t free until 4:00 — and 4:00 itself is free again, because “one to four” means exactly that.
Leave it blank and nothing changes
Most bookings don’t know how long yet, and that’s an honest answer. An unsized job renders exactly as it always did. We will never invent a length you didn’t claim — that would start blocking hours your shop never gave up.

Spans show on the day view. Week and month still show start times — they’re next.

🕐 Tell customers a window — now up to four hours

Thanks to James at Connelly for this one. He books customers “between one and four.” That’s three hours, and the only windows we offered were two — so he had no way to say what he actually tells people.

Now, in Settings → SMS & Comms, the arrival time you text a customer can be:

There’s a live preview under the setting showing the exact sentence your customer will read, before you turn it on. A tech who says “2:00” and knocks at 2:20 is late; the same tech, inside “between 2 and 4,” is on time. Same van, same day, completely different phone call.

One thing we deliberately did not do: if a job has no set time, we still just say morning or afternoon. We won’t invent a window out of a job you never put an hour on — you’re the one who has to keep it.

🧾 Your invoice says “Invoice”

A shop caught this and it’s worth being straight about. If you sent an invoice before the tech marked the job complete — which is how most of you bill, at the door, closing out later — it reached the customer titled “Estimate.” The page said it and so did the text carrying the link.

🧾
Only an estimate is an estimateFixed
The only thing that says estimate now is a job you deliberately marked as one. An unfinished job is not an estimate — it’s an invoice you haven’t closed out yet, and your customer now reads it that way.
💳
“Send invoice” gives them a way to payFixed
The Pay button was being wired up by Copy link but not by the Send invoice button, so some invoices arrived reading “Please remit $210” with nothing to click. Email and text are both covered now. If a customer ever told you they couldn’t pay one you sent — that was why. Resend it.
💰
The card fee actually gets chargedFixed
If you’ve set a card surcharge in Settings → Payments, it was being shown to the customer and then not added at checkout. It is now — the fee is calculated on the amount they’re paying, and your invoice is credited the base amount, so the numbers on the job stay clean.

🔒 Your data — and being able to walk out with it

Less glamorous than a calendar feature, more important. You can now close your account from inside the app: Settings → Delete account.

Nothing is destroyed the day you ask. Billing stops immediately, the subscriptions are cancelled, any public links you’ve sent are revoked — and then you get 30 days to change your mind, with a banner telling you the exact date and a button to cancel it. After 30 days, customer records, photos and message history are erased for good.

What we keep, on purpose: your financial records — invoices, payments, payroll, commissions. You and your accountant still need those, and a referral commission owed to a third party isn’t ours to erase on someone else’s behalf.

💳
We never see a card number
Card entry happens on Stripe’s own page, every time. We store a payment reference and an amount — never a card number. That’s a design rule, not an accident, and we’re not going to break it for convenience.
🔔
Seventeen checks, every hourNew
Automatic checks now run across the whole system hourly — sync problems, failed messages, payments that don’t reconcile — and they page me. The goal is simple: I find out before you have to call and tell me.

💳 Do you use Square? Tell me — good or bad

We’re looking at adding Square as a payment option alongside Stripe. Before we build it, I’d rather hear from the people who’d use it.

If you run Square in your shop today — or you used to and dropped it — tell me. Positive or negative, both are useful. Someone explaining why they left Square is worth as much to me as someone who loves it.

🤝 $20 for a referral

$20
Per shop you send us
Know another shop owner who’d like this? When they sign up and mention your shop name, we’ll cover their first month — and you get $20. No cap, no limit on how many. Just tell them to put your shop’s name in when they sign up, or reply here and I’ll set it up.

⭐ One favour

What do you love? What do you hate?

Try ApplianceOps Free for 14 Days →