The resource scheduling model: staff, rooms, equipment

What actually runs out first in your business? A person's time — a stylist, a therapist, a tutor who can only be in one place at once? A space — one treatment room, one private dining room? A piece of equipment — one projector, one kayak, one drone? Answer that correctly and the rest of scheduling mostly configures itself. Model capacity against the service you sell instead of the thing that's actually scarce, and you'll either quietly overbook the real constraint or leave capacity on the table you didn't know you had.

Two shapes of capacity: pooled vs. assigned

Most bookable businesses fall into one of two patterns, and it's worth pinning down which one you actually are before you build anything.

Pooled capacity is the simpler case: the customer doesn't care which unit of capacity they get, only that one is available. A walk-in nail bar with four chairs, a co-working space with twelve hot desks, a class with twenty spots — in each case, "how many are free right now" is a single number, and any one of the identical units satisfies the booking equally well. You don't need to name or individually track each chair; you need a headcount.

Assigned capacity is where a specific resource is the point. "Book with Ana" isn't interchangeable with "book with whoever's free" if the customer is coming back to the same stylist every six weeks. "The massage room" isn't interchangeable with "a room" if you only have one. "The drone" isn't interchangeable with "some equipment" if you own exactly one. Here, the system has to track named, specific resources — because the customer, or the nature of the service, genuinely cares which one they get.

Staff, rooms and equipment aren't interchangeable, even though a calendar treats them the same

Once you're in assigned-capacity territory, it's worth separating your resources into the three broad classes almost every small business's real constraint falls into, because each behaves slightly differently:

People A staff member's time is usually the tightest, most human constraint you have — capacity of 1 by default, because one person can't deliver two appointments at the same minute. The interesting modeling question for people is usually which services can this person actually perform, since a junior team member might handle three of your six services, not all of them.

Space A room's capacity is often 1 too (one treatment room, one private space), but not always — an open studio floor hosting several simultaneous small-group sessions is legitimately a space with a capacity greater than one, if your business actually runs it that way. The modeling question here is whether the space is genuinely single-use or whether it can host more than one booking at a time without anyone's experience suffering.

Equipment Capacity here is simply how many physical units you own — one drone is capacity 1, three identical kayaks is capacity 3. The trap with equipment is forgetting that a type of equipment ("a kayak") and a specific unit ("kayak #2, which is out for repair") aren't always the same tracking granularity, depending on how precisely you need to manage it.

Why the resource, not the service, has to be what's checked

The modeling mistake that causes real double-bookings: tracking availability per service instead of per resource. Sell a massage, a facial and a wrap that all use the same one room, count each service's bookings separately, and every check can answer "plenty free" independently — while the room, the thing actually contended for, is fully booked across the three combined. The resource is what has to be checked; how the check itself avoids racing is its own guide.

Modeling your own business's real constraint

1

Separate what you sell from what performs it

2

Decide pooled or assigned, per service

3

Set each resource's real capacity

4

Add turnover time where cleanup matters

5

Revisit it when the business changes

How Olmira handles this

Olmira models resources as staff, rooms or equipment, each with its own independently-set capacity — not fixed at one, if a space genuinely holds more. A service either draws from a simple shared pool (no resource modeling needed for straightforward cases) or is linked to the specific resources that can perform it, and availability is then checked against those resources across every service that shares them, not against any one service alone. At booking time, an eligible free resource is assigned automatically, so you don't have to build a "pick your stylist" step just to get accurate availability. See how services and resources fit together on the bookings page.

Related guides

Why booking systems double-book

No-shows: what actually moves the number

Schedule against what's actually finite

Staff, rooms or kit — model the real constraint once, and every service that shares it stays honest.