A calmer, tighter interface for phones and tablets, and first thoughts on a place for the money side of your business. No dates here, only direction.
Read the plan
A lot of Servayo happens on a phone, in a driveway or leaning on a truck. So that's where we're spending the next stretch of work. We won't put dates on it. We'd rather ship it right than ship it on a day we guessed.
Phones and tablets first
We went through every screen at phone, tablet and desktop width and wrote down everything that got in the way. Buttons that are bigger than they need to be. Names cut off halfway. Rows that say "Address: -" about nothing. A calendar where the first visit of the day starts halfway down the screen.
Here's what we're changing:
The calendar on a phone opens on your day, with a strip of the week on top, and the first visit near the top of the screen.
One way to show "selected", one way to show a job's status, and one kind of sheet that slides up from the bottom, everywhere.
Empty fields disappear instead of printing a dash.
The main action on a phone sits at the bottom, where your thumb already is. Delete and cancel move into the "..." menu, away from it.
Typing into a field on an iPhone stops zooming the whole page.
The money side
We're also starting to think about a place for the money side of the business. It's early. We're listening first and building second, so there's nothing to show yet.
Have a view on either of these? Tell us. It's exactly what shapes this list.
Jobs and customers can now be deleted, with a safety check a stray thumb can't pass, ten seconds to undo, and a Recently deleted list for everything after that. The jobs table also learned to handle many jobs at once.
Ever booked a test job at 7 a.m. and then stared at it on the board all week? Or found the same customer entered twice, once under a nickname and once under the full name? Until now you had to cancel the job and live with it. Cancelled isn't the same as gone, though. It still showed up in your counts, on the calendar and in the customer's history.
This release lets you delete. We were careful about it, because a wrong delete in a service business can cost you a real visit. So every delete asks for proof you meant it, and every delete can be undone.
Type the number, then delete
Open a job, pick "Delete job" from its menu, and we ask you to type the job number back. Not tick a box. Type it. "20720" and "#20720" both work.
If the job has a signed estimate or a final or paid invoice, you'll see those papers listed by name, with one more box to tick. You can leave a short reason, too. The customer isn't told anything.
Ten seconds to change your mind
Right after a delete, "Undo" sits at the bottom of the screen for ten seconds. It follows you, so you can open the calendar and still take it back from there.
Recently deleted
Missed the ten seconds? Every deleted job and customer lands in Recently deleted, newest first. Each row says who deleted it, when, and why, if they left a reason. One tap on Restore and it's back.
Deleting a customer
Customers work the same way, except you type their name instead of a number. Capital letters and extra spaces don't matter.
What if they still have jobs? Then the jobs go with them, and we ask you to type how many. That way nobody wipes out twelve visits thinking they were removing one contact.
Gone means gone everywhere
A deleted job doesn't hide in a corner. It's off the board, the table, the calendar, the map, search, the dashboard, statistics and your technicians' day view. No reminder texts go out for it, and the customer's tracking, review and payment links stop working.
Restore it and it comes back to every one of those places.
Many jobs at once
In the jobs table you can now tick several jobs and act on all of them: give them to another technician, cancel them, or delete them. Up to 200 at a time.
Each job is still checked on its own. Say one of them lands in a window where the new technician is already busy. That job stays where it was and tells you why, and the rest move.
On a phone, tap "Select" to show the checkboxes and "Done" to put them away. Deleting several jobs asks you to type how many you picked, and Undo covers the whole batch.
Smaller changes4
The Technician role can never be given the right to delete jobs or customers, whatever else you change in permissions.
Deleting customers is its own permission. Owners and company admins have it out of the box.
A new booking can't be attached to a customer who's been deleted.
Restoring a customer brings back only the jobs that were deleted together with them, never older deletes.
How we checked it
An end-to-end test creates a job, confirms it on 25 working screens, deletes it, confirms it's gone from all 25, restores it and checks again. Separate tests cover the typed confirmation, signed documents, permissions and bulk actions job by job. Every delete and restore was also walked by hand on a phone, a tablet and a desktop, and each change got a code review before it shipped.
Pick, for the estimate and the invoice separately, whether customers see every price, no prices on parts, or only the work and the total. And the back button on a job now takes you back to where you actually were.
Do you print every line with a price on it? Plenty of shops don't. Some want the customer to see the total and a clear list of what was done, and nothing that invites a line-by-line argument at the kitchen table. Others are fine showing labor but would rather keep part prices to themselves.
Both are fair. Now you choose, and your own numbers stay whole whatever you pick.
What the customer sees
Go to Settings, then Documents, and find "What the customer sees". There are three options, and you set them for the estimate and the invoice separately:
All prices. Every line with its price, the way it's always been.
No prices on parts. Labor keeps its price, and parts show up as names only.
Work descriptions only. A clean list of what was done, then subtotal, tax and total.
Your numbers don't change
This setting touches the printed document and nothing else. The job card, the field app, totals, tax, statistics and every report in Servayo keep the full prices. Your technician still sees what each part cost. So do you, when you look at last month.
Long lists behave, too. When the lines spill onto a second page, the prices you hid stay hidden there as well.
Back means back
Open a job from the calendar, the customer page, the map or the jobs list, and the button at the top now says where it'll take you: "Calendar", "Customer", "Map" or "Jobs". Tap it and you're back in the same view, on the same date.
Smaller changes3
The calendar now keeps its view, date, technician and status filter in the address, so a reload or a shared link opens the same thing.
If you follow a conflicting job from an overlap warning, the way back still leads to the job you started from.
Changing document prices requires the permission to manage settings.
How we checked it
Automated tests print both documents in all three modes and check what lands on the page, including long lists that carry over onto an extra page, using the same rendering engine the real PDFs go through. After the release we checked the setting on the live system and walked from the calendar into a job and back.
Assign from the board, see each technician's week, track parts and book the install visit, stop double booking, put several appliances on one job, and let the owner run the team. Most of it came from a week of real field work.
Why a number now? Because this is the point where Servayo runs a service company's whole day, every day, and we want you to always know which build you're on.
Almost everything below came from watching a real crew work with it for a week: office, phones, trucks. They told us what got in the way. We fixed it.
Assign from the board
Tap "Assign technician" on any job card, pick a person, and the job moves to Assigned in one step. No more opening the job, finding the field, saving and coming back to see if it moved.
Every technician's week
The calendar now has a row of technician avatars on top. Tap one and you see that person's week, day by day, in arrival-window order.
In the field app, a strip of days lets a technician open any day of the next two weeks and see where they're headed.
Parts and the install visit
A tech arrives, finds the compressor relay is gone, and marks the part as ordered, with a note saying which part. When it comes in, it's marked received, then customer called. "Schedule installation" books the return visit on a new day and window.
Customers don't get texts about parts. You decide when to call them.
No double booking
The same arrival window for the same technician on the same day is refused. If the office really means it, they can still book it on purpose.
Overlapping windows, like 9 to 11 and 10 to 1, are allowed and just get a gentle note. You'll see busy windows before you pick one, so the refusal rarely comes up at all.
Several appliances on one job
Washer and dryer? Fridge, range and dishwasher in the same kitchen? Add as many as the visit needs, each with its own diagnosis. Estimate and invoice lines can point to a specific appliance, so the customer can see which charge belongs to which machine.
Estimates and invoices that read right
The estimate lists every line with its price, right above the total the customer signs. The invoice lists work and parts with prices, and the empty Service Call, Deposit and model boxes are gone. Long lists continue on a line items page instead of getting squeezed.
Technicians can draw their signature once in their profile and sign invoices with it. That's on by default in the field app.
The owner runs the team
Add a teammate with an email invite or a one-time password. Edit their name, email and phone, change their role, make someone a company admin, reset a password, sign someone out everywhere, turn access off and back on.
Permissions are checkboxes per role, and one person can get an exception either way. One rule is fixed: technicians can never cancel jobs.
Smaller changes12
Customer type (owner, landlord, tenant, property manager, business), a job note the customer never sees, and payment and parts badges on the board.
A version line at the bottom of the avatar menu, the sidebar and the technician profile.
A job created with a technician already picked starts as Assigned.
Technicians move only their own jobs, and only forward. The server checks this, not just the screen.
Invoices show time in your company's time zone, say "Signed electronically by ..." and use plain payment wording like "Paid in cash" or "Paid by card".
When something is refused, you're told why, like "needs a technician first" or "that technician is busy then", instead of a generic error.
Job cards on phones are shorter, and the visit time shows on every tab.
Fixed: a technician's "done today" counter always read zero.
Fixed: a job created by phone number could attach itself to a customer deleted earlier and lose the name and phone.
Security: an invoice can be marked paid only from its own job, and only active staff of your company can be assigned.
Security: people whose access was turned off, and sessions that were signed out, stop getting live updates within 30 seconds.
Security: anyone on a one-time password has to change it before doing anything else.
How we checked it
303 automated backend tests pass on this release. Every new screen was checked on a phone, a tablet and a desktop, each change was reviewed before it went in, and the estimate and invoice were checked on real printed PDFs. Before the number went on, we ran a full working day through the field app: estimate, payment, customer edits and the live board.
Two and a half months of building before the first version number. The board, the field app, documents, imports, search, statistics, and a long list of things we tore out and rebuilt once real work hit them.
Wondering what was there before anything had a number? Pretty much everything you use today. Here's the short version, in the order it happened.
July: the skeleton of a service company
The first weeks gave Servayo its bones. Each company gets its own walled-off space, so your jobs and customers are never visible to anyone else on the platform. On top of that came the office panel: a board where jobs move from New to Completed and update live on every screen, an inbox for incoming requests, a calendar and a customer page with the full history.
Estimates and invoices arrived early, with signatures drawn right on the screen and a PDF that's frozen once signed. So did a tracking page the customer can open to follow their job, and a permissions grid so each role sees what it should.
Then it grew fast. A dispatch map. A field app for technicians. Payments, notifications, a signup flow. Message threads with replies, a price book, a knowledge base, reviews, a website chat widget, calendar feeds, collections and campaigns, several locations per company. Technician skills and the first guard against booking one person twice.
Late July: documents your way
Most shops already have a paper form they like. So instead of making you copy it, we let you bring it. Upload your own PDF, and Servayo finds the spots where names, dates and prices go and asks you to confirm each one. From then on, every estimate and invoice prints on your own form.
Around the same time: branded short links with QR codes and click counts, pages for long job and customer lists, and a pass that stopped customer details from showing up anywhere public they had no business being.
August: years of paper, moved in
A company doesn't start from zero. It shows up with years of job books. So we built an import that reads them the way a person would, typos and all.
It learned that a phone number written with spaced dashes is still a phone number, that a comma before two digits is a decimal point, that a date in the invoice column is a cell someone filled in wrong, and that Tuesday has more spellings than you'd think. Customer warning flags and warranties became real fields instead of notes buried in a name.
After that came a search that actually searches, statistics built the way an owner reads them, and an explore view for asking your own questions about the numbers.
Late August: one look, and ready for strangers
The landing page, the office panel and the technician app got one visual system, so moving between them feels like one product. Then a long polish run: filters on every list, avatars everywhere, arrival windows you can pick from a ladder or type yourself, reasons when a visit is rescheduled, and screens that fit a phone properly.
Email went live, too. Invites send themselves, new requests reach the owner, and every letter shares one clean layout.
September: a real working day
Before putting a number on anything, we ran a full day of real jobs through it, in the field, on phones. The technician's app got estimates, payments, customer edits and the live board. The job card learned full editing, an on-site contact, call and text buttons, and a history showing what changed from what to what.
When something refused to move, it started saying why and offering the way out. That week of feedback turned into 1.0.