Almost every scheduling problem that looks like a software problem is a badly configured duration. It's worth half an hour of your time once, because the effect shows up every single day.
The real duration isn't what you think
Ask anyone how long their service takes and they'll tell you the time they spend working on the client. But the calendar isn't only booking that.
A service takes up:
- The time to greet and prepare.
- The working time.
- The closing time: taking payment, writing it down, cleaning, setting up for the next one.
If you only load the middle one, the calendar will offer times that don't exist. And the delay doesn't stay with one appointment: it accumulates. Ten minutes per client, across eight clients, is more than an hour by the end of the day.
Measure it, don't estimate it
The cheap way to learn the real duration: for one week, write down the time the client walks in and the time the station is free for the next one. Not the time you finish with them.
You'll find two things. That some services take longer than you thought, and that the variation between clients is wider than you expected.
For the calendar, load the high end of the average. Better to finish early than to run late all day.
Cleanup time goes in its own field, and there's a reason
You could just add it to the duration and be done: if the cut takes 45 and you clean for 15, load 60. It works, but it loses something.
If the closing time is separate, the client sees "45 minutes" — which is what they care about — and the calendar blocks 60. When you put in a flat 60, the client believes their service takes an hour, and that changes what they expect and what they compare against the competition.
In AgendaYa they're separate fields: the duration is what's shown and what's offered; prep and closing times block the resource without appearing.
There's an effect worth understanding: with 15 minutes of closing time configured, two appointments need 15 real minutes between them. If there's a one-hour appointment at 10:00, the next available is 11:15, not 11:00. It's correct — it's the time you actually need — but it surprises people the first time.
A generic service is a trap
"Dog bath" or "manicure" as a single service looks practical. It's the most common cause of a messy calendar.
Bathing a large dog can take three times as long as a small one. A soak-off plus a new gel set takes twice as long as a plain manicure. If it's one service with one duration, half your appointments will be miscalculated.
The rule: if two versions of the same service differ by more than twenty minutes, they're two services.
It costs a little more setup and it saves the daily mess.
How fine the grid should be
Besides duration, you have to decide how often slots are offered: every 15, 30 or 60 minutes.
- Short services (20-30 min): a 15-minute grid. It uses the whole day.
- Long services (90 min or more): a 30-minute grid. At 15 the list of times is endless and adds nothing.
The grid is anchored to your opening time, not to the top of the hour. If you open at 9:05, the slots are 9:05, 9:20, 9:35. It reads oddly written down, but it's what stops you from losing the first minutes of the day.
Lunch isn't a split shift
A common mistake: loading the working day as two blocks, 9 to 13 and 14 to 18, to carve out lunch.
It works, but if lunch is every day it's better loaded as a daily break. The difference is maintenance: if you change your opening hours tomorrow, the break stays where it was and you don't have to rebuild both blocks for every day.
Split blocks are for when the day genuinely is different that day.