Light Docs

How It Works

Understanding how the booking system components work together

This page explains how trading hours, resources, and services work together to determine when bookings are available.

The Basic Flow

The booking system calculates availability by layering different schedules:

  1. Trading hours set your site's baseline operating hours
  2. Resources either inherit those hours or define their own
  3. Services derive availability from linked resources
  4. Customers see the final available time slots

Each layer can add constraints, but none can override the site's closed periods (unless you explicitly opt out a resource).

Common Scenarios

The booking system is flexible - there are often multiple ways to achieve the same outcome. The examples below show common setups, but similar results could be achieved using different combinations of resource schedules, service constraints, and exceptions.

Scenario 1: Simple Setup

Your pharmacy is open Monday-Friday, 9 AM - 5 PM. You have one consultation room that follows site hours, and you offer general consultations.

Result: Customers can book consultations Monday-Friday, 9 AM - 5 PM.

This is the most straightforward setup - everything follows your trading hours.

Scenario 2: Part-Time Baby Clinic

Your site is open Monday-Friday, 9 AM - 5 PM. You have a consultation room available all week, but your baby clinic pharmacist only works Tuesday-Thursday, 10 AM - 3 PM. Baby clinic consultations require both the room and the pharmacist.

Setup:

  • Resource 1: "Consultation Room" (follows site)
  • Resource 2: "Baby Clinic Pharmacist" with custom availability (Tue-Thu, 10 AM - 3 PM)
  • Service: "Baby Clinic Consultation" linked to both resources with mode set to "All" (both required)

Result: Baby clinic consultations only available Tuesday-Thursday, 10 AM - 3 PM.

The service is only bookable when both the room and pharmacist are available. Since the pharmacist has limited hours, those hours become the effective availability for the service.

Note: This outcome could also be achieved using a service-level constraint (as shown in Scenario 3 below) instead of a custom resource schedule. Choose whichever approach fits your mental model better.

Scenario 3: Limited Service Hours

Your site is open Monday-Friday, 9 AM - 5 PM, but vaccinations are only administered on Wednesdays from 9 AM - 12 PM.

Setup:

  • Resource: "Consultation Room" (follows site)
  • Service: "Vaccination" in Linked Resources mode with custom hours (Wed, 9 AM - 12 PM)

Result: Vaccination bookable Wednesday, 9 AM - 12 PM only.

Even though the room is available all week, the service-specific hours constrain availability for Vaccinations specifically.

Scenario 4: After-Hours Virtual Service

Your site is open Monday-Friday, 9 AM - 5 PM, but you want to offer virtual consultations in the evenings.

Setup Option 1 (using resource):

  • Resource: "Virtual Pharmacist" with custom availability (Mon-Fri, 6 PM - 8 PM) and opted out of site hour constraints
  • Service: "Virtual Consultation" linked to virtual pharmacist

Setup Option 2 (using service):

  • Service: "Virtual Consultation" in Virtual mode with custom availability (Mon-Fri, 6 PM - 8 PM) and opted out of site hour constraints

Result: Virtual consultations available Monday-Friday, 6 PM - 8 PM (outside trading hours).

Both approaches work because they're opted out of site hour constraints. Choose based on whether you want to model a specific virtual resource (Option 1) or keep it purely service-based (Option 2).

How Exceptions Work

Exceptions override schedules at different levels, with different impacts.

Site-Level Exception

You mark your site as closed for a public holiday on Monday, December 25.

Effect: The entire site is closed - all resources and services are unavailable that day, regardless of their individual schedules (unless opted out).

Resource-Level Exception

Your pharmacist takes leave on Thursday, January 11.

Effect: Services linked to that pharmacist are unavailable that day. Other resources and their services continue normally.

Service-Level Exception

Vaccinations are temporarily suspended from February 1-14.

Effect: Vaccination bookings are unavailable during those dates. All other services continue normally.

Multiple Resources per Service

A service can be linked to multiple resources. When this happens, whether the service is available depends on the linked resource mode.

"Any" Mode (Default)

The service is available when at least one linked resource is available.

Example:

  • Service: "General Consultation"
  • Linked to: Room 1, Room 2, Room 3
  • Linked resource mode: "Any"

Result: Customers can book whenever any of the three rooms is available. The system will automatically assign whichever room is free.

This is useful for managing capacity - multiple rooms increase your available booking slots.

"All" Mode

The service is available only when all linked resources are available simultaneously.

Example:

  • Service: "Baby Clinic Consultation"
  • Linked to: Consultation Room, Baby Clinic Pharmacist
  • Linked resource mode: "All"

Result: Bookings are only available when both the room and pharmacist are free at the same time.

This is useful when a service genuinely requires multiple specific resources to be present.

Advanced Availability Modes

More complex availability modes will be available in the future, but we encourage you to keep it simple where possible!

The Site Hours Constraint

By default, resources are constrained by your site's trading hours, even if they have custom schedules. This means:

  • A resource with custom hours of 8 AM - 6 PM will only be available 9 AM - 5 PM if those are your site's trading hours
  • If your site is closed on a public holiday, all resources are unavailable regardless of their custom schedules

This default behaviour is usually what you want - when you close your site for a day, bookings stop automatically across all resources.

You can opt out individual resources from this constraint in the resource settings if you need them available outside trading hours (e.g., for virtual consultations).

What Determines Available Time Slots

When a customer views available times, the system considers:

  • Site trading hours and exceptions
  • Resource availability and exceptions
  • Service-specific constraints and exceptions
  • Existing bookings on those resources
  • Booking buffers and advance booking limits