openchair
FeaturesPricingAbout
Sign InStart Free Trial
Help Centre

Bookings

  • Blocking Out Time
  • Using the Calendar
  • Booking Inspector & Quick Actions
  • Booking Rules & Policies
  • Calendar Export (iCal Subscription)

Bookings

Processing Gaps (Multitasking)

Last updated 19 May 2026

Processing Gaps (Multitasking)

Set processing time on services so the stylist can take another client while colour develops, perm sets, or mask works. Calendar shows the processing band; Smart Fill matches waitlist candidates to fill it. Internal multitasking only — customers don't see overlapping slots.

Where to find it — Setting: Services → edit → Scheduling & Pricing Rules → Processing time (min). On the calendar: dashed band below active service blocks; Fill {N}m pill on uncovered processing windows.

TL;DR

  • Configured per service: how many minutes the stylist is free during the appointment.
  • Calendar renders a dashed band for processing time; can be covered by another booking.
  • Smart Fill pill matches the gap against your waitlist with one tap.
  • Customer-facing storefront treats the full window as busy (no overlapping slots offered to customers).
  • PRO.

What processing time is

A hair colour appointment is typically structured: active application (45 min) → colour developing (30 min) → active wash and finish (15 min). During the 30-minute develop phase, the stylist is free — they can take another client through the wash, do a cut for someone else, or start a new colour.

OpenChair models this as processingTime (in minutes) on a service. When a customer books that service, the calendar reserves:

  • activeMinutes — active stylist work (start of booking)
  • processingMinutes — hands-off processing window
  • bufferMinutes — optional buffer at the end

activeMinutes + processingMinutes + bufferMinutes = the total time the chair/resource is occupied. The stylist is free during processing and buffer.

Configuring processing time

  1. Open Services → [edit a service].
  2. Scroll to Scheduling & Pricing Rules (collapsible).
  3. Set Processing time (min) — minutes the stylist is free during the appointment.
  4. Save.

Helper text on the field: "The stylist is free during processing time, for example while colour develops or a perm sets. You can book another client into this window."

Snapshotted on booking

When a customer books, activeMinutes, processingMinutes, and bufferMinutes are snapshotted on the booking row. Changing the service's processing time later doesn't affect existing bookings — historical records stay immutable.

This means:

  • A 30-min processing time today becomes 45 min next month → today's bookings stay at 30 min; tomorrow's at 45 min.
  • Reports and audit trails reflect the processing window that was active when each booking was created.

How it shows on the calendar

Each booking block renders three sections vertically:

  1. Active service area — full-colour block, customer's name visible
  2. Processing band — bg-muted/40 with a dashed top border; height proportional to processing minutes
  3. Buffer (if any) — additional muted spacer

The processing band is visually distinct so you can see at a glance which slots are coverable.

When a second booking lands inside the processing window

If you book another client into the same staff's processing window, the calendar shows:

  • The new booking renders inside the original booking's processing band area
  • The original's processing label swaps for a hatched-fill marker with a Users icon and "With {firstName}" — indicating the processing is covered
  • The original's aria-label appends "processing covered by {firstName}" for accessibility

Two bookings, one stylist, overlapping time — explicit visual confirmation that the multitasking is intentional.

The "Fill processing" pill

When a processing band is:

  • In the future (not started yet)
  • Not already covered by another booking
  • ≥ minimum match minutes (typically 30 min)

The processing band's label swaps for a tappable Fill {N}m pill — or Fill {N}m · {count} matches when waitlist candidates exist for the gap.

Tap to open Smart Fill prefilled with:

  • staffId — the staff member whose processing window this is
  • startTime — the start of the processing window
  • endTime — the end of the processing window
  • durationMinutes — the gap's duration

Smart Fill matches the gap against waitlist candidates (cadence, service fit, weekday, time band, provider affinity, lead time) and proposes the top match.

Match counts come from useProcessingGapMatchCounts which batches eligible waitlist matches across visible bookings. The pill's border strengthens when matches exist — visual cue that there's a candidate waiting.

Internal vs storefront behaviour

Surface Sees the stylist as
Operator calendar Free during processing — can book overlapping
Internal slot picker (creating a booking) Free during processing
Public storefront booking flow Busy for the full active + processing window
AI booking enquiry auto-responder Busy for the full window
Embedded booking widget Busy for the full window

Customers can't reason about "stylist free during processing" — they'd be confused by a 10:30 AM available slot if they thought you were busy until 11 AM. The internal/external split keeps customer-facing slot offers conservative while letting operators multitask intentionally.

How processing affects resources

If a service uses a resource (a colour station, a wash chair, a special room), the resource is occupied for active + processing + buffer — the full window. The stylist might be free; the resource isn't.

This means you can multitask the stylist but not the resource — book another client into the processing window only if they don't need the same room.

Tier

PRO. FREE venues can set processing time on services (the field is visible) but the multitasking calendar behaviour and the Fill pill require PRO.

Mobile parity

Mobile calendar renders the processing band and the Fill pill identically. Tap behaviour opens the same Smart Fill flow.

Related: Tighten This Day

"Tighten This Day" is a calendar-wide waitlist nudge that surfaces all fillable minutes across a day (gaps between bookings + processing gaps). See Smart Waitlist for the operator-facing surface.

Common mistakes

Problem What to check
Don't see the processing band on a booking The service has 0 processing time. Edit the service and set a non-zero value.
Calendar shows a customer-facing time slot inside my processing window Shouldn't — the storefront treats the full window as busy. If a customer booked a slot inside your processing window, something's wrong; contact support.
Fill pill says no matches No waitlist candidates fit the gap. Check Smart Waitlist for entries matching the service, staff, or time band.
Want to disable multitasking for some staff Not configurable per-staff today. The processing window is determined by the service config; if you don't want a stylist to multitask, leave services they perform at 0 processing time.
Booked into the processing window but the original booking is now "covered" with no actions The cover marker is informational. The original booking is still bookable to manage; the cover marker just visually confirms the multitasking.
Processing time changed but old bookings still use the old value By design — snapshotted on booking. Historical bookings keep their original window.

FAQ

What's processing time?

The minutes between active service work where the stylist is free — colour developing, perm setting, mask working. Set on a service, OpenChair lets you book another client into that window on the same stylist. Customers don't see the multitasking; the storefront treats the full window as busy to avoid confusion.

Where do I set processing time?

Services → edit a service → Scheduling & Pricing Rules → Processing time (min). Stored on the service and snapshotted on each booking so historical bookings stay immutable when you change the value later.

How do I fill a processing gap?

On the calendar, processing time renders as a dashed band below the active service. When the band is future and ≥ minimum match minutes, it shows 'Fill {N}m' or 'Fill {N}m · {count} matches'. Tap to open Smart Fill prefilled with the staff, time, and duration — match against the waitlist with one tap.

Why doesn't the storefront show overlapping slots?

Customers can't reason about 'stylist free during processing' — they'd be confused by a mid-colour available time. The public storefront treats the full active + processing window as busy. Internal calendar surfaces (operator + staff booking flow) honour the gap so you can multitask.

Does processing time interact with resources?

Yes — if the service uses a resource (chair, room, machine), the resource is occupied for the full window even when the stylist is free. You can multitask the stylist but not the resource.

Can two bookings share the same processing window?

The original booking + one cover. Triple-stacking isn't supported (the cover marker doesn't compose with another cover). For most salons one cover during processing is plenty.

Related Articles

  • Managing Services
  • Smart Waitlist & Gap Filling
  • Resources (Rooms & Equipment)
  • Using the Calendar
openchair

The operating system for high-end service venues. Built in Australia for the world.

Product

  • Features
  • Pricing
  • AI Features
  • Mobile App
  • Online Booking
  • AI Concierge
  • Sign In

Solutions

  • Hair Salons
  • Barbers
  • Beauty
  • Wellness & Spa
  • Nail Salons
  • Tattoo Studios

Compare

  • All comparisons
  • vs Fresha
  • vs Timely
  • vs Square
  • vs Booksy
  • vs Mindbody
  • vs Boulevard
  • vs Phorest
  • vs Mangomint
  • vs GlossGenius
  • vs Vagaro
  • vs Shortcuts
  • vs Acuity

Resources

  • Blog
  • Help Centre
  • Guides
  • Glossary

Company

  • About
  • Contact
  • Book a Demo
  • Founding Members

Legal

  • Privacy
  • Terms
  • Cookie Policy
  • Sub-processors
  • Accessibility
  • Privacy Request

© 2026 OpenChair Platform. All rights reserved.

Made on the Goldie.