Skip to main content

Introduction

Every service in BellaBooking has timing components that determine how long the appointment takes and when the team member is available. Understanding these three components helps you configure your services accurately and optimise your schedule.

The Three Timing Components

Duration

The active service time — the period when the team member is performing the service on the client.
  • Set per service in the Service Catalog
  • This is the core appointment time (e.g., 45 minutes for a haircut)
  • The team member and client are both occupied during this time

Processing Time

Time after the active service where the client remains but the team member is free to serve others.
  • Configured per service or inherited from the location default
  • The client stays (e.g., waiting for hair colour to develop)
  • The team member can serve other clients during this period
  • Visible to clients in online booking as part of the total duration
Common examples:
  • Hair colour development (30-45 minutes)
  • Perm setting time (20-30 minutes)
  • Skincare treatment absorption (15-20 minutes)
  • Teeth whitening activation (15 minutes)

Buffer Time

Blocked time before and/or after the service where the team member is unavailable.
  • Buffer Before: Setup or preparation time before the service begins
  • Buffer After: Cleanup or reset time after the service ends
  • The team member is blocked and cannot serve other clients
  • Not visible to clients — only affects scheduling internally
Common examples:
  • Room preparation and sanitisation (10-15 minutes)
  • Equipment sterilisation between clients (5-10 minutes)
  • Consultation note review before the appointment (5 minutes)
  • Laundry and linen change between treatments (10 minutes)

How the Three Components Compose

The full timeline of a service appointment flows as follows:
Buffer Before --> Duration --> Processing Time --> Buffer After
Detailed timeline:
|-- Buffer Before --|---- Duration ----|-- Processing Time --|-- Buffer After --|
|  TM blocked       |  TM + Client     |  Client stays,      |  TM blocked      |
|  Client not here  |  both occupied    |  TM free            |  Client gone     |
|  Not visible to   |  Active service   |  Visible to clients |  Not visible to  |
|  clients          |  time             |  in booking         |  clients         |
Example: Full Colour Service
ComponentDurationWho is occupiedClient sees it?
Buffer Before10 minTeam member blocked (setup)No
Duration60 minTeam member + client (colour application)Yes
Processing Time30 minClient waits (colour develops), team member freeYes
Buffer After10 minTeam member blocked (cleanup)No
  • Client sees: 90 minutes total (60 min + 30 min processing) displayed as “90 mins (incl. 30 min processing time)”
  • Full calendar window: 110 minutes total (10 + 60 + 30 + 10) — this is the entire span from start of Buffer Before to end of Buffer After, including the processing time in the middle
  • Team member blocked slot: 80 minutes (10 + 60 + 10 = Buffer Before + Duration + Buffer After) — this is the GetTeamMemberTimeSlot used for conflict detection. The team member is free during the 30 min processing time and can serve other clients
  • Team member available for others: 30 minutes (during Processing Time only)

How Defaults and Overrides Work

Processing time and buffer times use a cascading inheritance model:

Resolution Order

  1. Bundle override — if the service is in a bundle with a custom value, that takes priority
  2. Service-level value — an explicit value set directly on the service
  3. Location default — the default value set in Settings > Scheduling > Processing Time & Buffer Defaults
  4. 0 minutes — if no default is configured anywhere

”Use Default” Behaviour

When a service has “Use default” selected (shown in the service form), it inherits the location-level default. This means:
  • Changing the location default updates all services that use “Use default”
  • Services with explicit values are not affected by location default changes
  • You can see whether a service uses its own value or the default in the service form

Timing in Different Contexts

Individual Services

All three components apply straightforwardly:
|-- Buffer Before --|---- Duration ----|-- Processing Time --|-- Buffer After --|

Sequential Bundles

Processing time appears between services. Buffer time applies to the bundle as a whole:
|-- Buffer --|-- Service 1 --|-- Processing --|-- Service 2 --|-- Processing --|-- Buffer --|
|  Before    |  Duration     |  Time          |  Duration     |  Time          |  After     |

Parallel Bundles

All services run simultaneously. The largest processing time across all services is used once after the block. Buffer applies to the bundle:
|-- Buffer --|-- Service 1 (longest) --|-- Max Processing --|-- Buffer --|
|  Before    |-- Service 2 ------------|  Time              |  After     |

Stacked Services (Multiple Services in One Appointment)

When multiple individual services are added to a single appointment, each service’s processing time advances the timeline — the next service starts after the previous service’s duration plus its processing time. This means the team member can serve other clients during the processing gap. Buffer time does NOT create a gap between stacked services. Buffer is recorded per service for team member conflict detection only (i.e., the team member is marked as blocked for the buffer period). Buffer Before of the first service and Buffer After of the last service define the outer boundaries of the team member’s blocked window, but buffer does not push services apart within the stack.

Client-Facing vs Internal Visibility

ComponentShown to clientsTeam memberResource (room)Client
DurationYesBlockedBlockedOccupied
Processing TimeYes (as “incl. X min processing time”)Free to serve othersBlocked (room still in use)Occupied (still present)
Buffer BeforeNoBlockedBlockedNot affected
Buffer AfterNoBlockedBlockedNot affected

FAQs

Q: Why would I use processing time instead of just making the service duration longer? A: Processing time frees the team member to serve other clients during that period. If you make the duration longer instead, the team member appears occupied for the full time, reducing your booking capacity. Using processing time optimises your schedule. Q: Do buffer times reduce my bookable capacity? A: Yes, buffer times block the team member and reduce available slots. Use them judiciously — only when genuine setup or cleanup time is needed. Even 5-10 minutes of buffer can significantly impact a full day’s schedule. Q: Can I have processing time without buffer time, or vice versa? A: Yes. Each component is independent. A colour service might have 30 minutes of processing time but no buffer. A massage service might have 10 minutes of buffer after (for room reset) but no processing time. Q: How do these affect online booking availability? A: The system checks different time ranges for different resources:
  • Team member: must be free for buffer before + duration + buffer after. Processing time does not block the team member — they are free to serve another client during that period.
  • Resource (e.g., treatment room): must be free for buffer before + duration + processing time + buffer after. The resource remains occupied while the client is present during processing.
  • Client: must not have an overlapping appointment during duration + processing time. Buffer does not affect client availability.