Skip to Content

Scheduling Model

The scheduling model is the set of rules BayWise Scheduler applies to determine whether a job can be placed at a specific time and location, and — once hard constraints are satisfied — which technician and bay combination represents the best available fit.

The model has two layers. The first layer is constraint enforcement: a set of hard rules that must all be satisfied before a placement is considered valid. The second layer is AI-assisted ranking: given all the placements that satisfy the constraints, the AI suggests the one that makes the most operational sense. These layers are always evaluated in that order. No amount of AI preference overrides a hard constraint.

Understanding the model is useful not just for troubleshooting conflicts, but for designing your workshop configuration — bay equipment associations, technician skill assignments, operating hours, and buffer times — in a way that produces high-quality scheduling suggestions from the start.


Capacity constraints

Before any job can be placed, the scheduler runs it through a checklist of capacity constraints. Every item on this list must pass. A single failure produces a conflict, and the placement cannot be confirmed until the conflict is resolved or the advisor overrides it.

1. Bay availability

The target bay must be free for the entire duration of the job. A bay is considered occupied if it already has a job assigned whose time window — including the bay’s configured buffer time before and after — overlaps with the proposed placement.

At Al Futtaim Auto in Dubai, where Bay 3 (the 4-post alignment rack) is shared between wheel alignment and suspension work, double-booking pressure on that bay is high. The scheduler enforces bay availability absolutely: if the bay is booked from 10:00 to 12:00 with a 15-minute buffer, the next bookable slot is 12:15, not 12:00.

2. Bay not in maintenance

A bay in Maintenance mode cannot accept any new job assignment. If a service advisor attempts to assign a job to a bay that has been taken offline, the scheduler blocks the placement and indicates that the bay is unavailable due to maintenance. This cannot be overridden — a bay in maintenance is not a scheduling conflict that can be acknowledged and bypassed; it is a facility state.

3. Operating hours

A job cannot be scheduled to start before the location’s opening time or end after the location’s closing time. If a job is estimated to take three hours and the current time is 15:45 in a workshop that closes at 18:00, the scheduler will flag that the job cannot be completed within today’s operating hours.

This constraint applies to both same-day scheduling and future-date scheduling. If a service advisor at Müller Werkstatt Berlin is planning a day in advance, the scheduler checks the operating hours for that future date, not the current day.

Operating hours are set at the location level in Workshop Settings. If a location operates different hours on different days — shortened Saturdays, closed Sundays — those variations are respected individually.

4. Bay buffer time

Every bay has a configured buffer period that must be respected between consecutive jobs. The buffer accounts for vehicle handover time: moving the outbound vehicle off a lift, staging the inbound vehicle, completing job card paperwork, and verifying parts staging.

Buffer time is included in the scheduler’s availability calculation automatically. Advisors do not need to manually reserve buffer slots — the scheduler does it. The effect is that the calendar appears to have short dead zones between jobs, but those zones are intentional and operational rather than wasted capacity.

5. Technician availability

The target technician must be scheduled to work during the proposed job window. This means their availability schedule for that day must cover the full duration of the job. A technician whose shift ends at 17:30 cannot be assigned to a job that is expected to run until 18:00.

The scheduler checks the technician’s weekly availability template, and applies any exception dates that have been configured for the specific job date. If a technician at Sharma Motors in Mumbai has taken a half-day exception on a given Thursday, the scheduler treats their available hours on that Thursday as ending at noon, regardless of their standard weekly schedule.

6. Technician not double-booked

A technician can only work on one job at a time. If a technician’s existing job assignments overlap — even partially — with the proposed new job window, the scheduler flags a double-booking conflict. Multi-step jobs where a technician moves between vehicle phases are handled within the step lifecycle and do not create double-booking conflicts unless the step windows genuinely overlap.

7. Technician WIP limit

Even when no direct time overlap exists, a technician can reach their maximum concurrent WIP. If a technician has a WIP limit of 2 and already has two active jobs in progress simultaneously, any additional job assigned into that window will generate a WIP conflict.

WIP limits exist to protect technician focus and job quality. A diagnostics technician at Tanaka Auto Service in Osaka who is deep into an intermittent fault investigation cannot realistically carry three other active jobs at the same time. The WIP limit makes this constraint explicit in the scheduling interface.

8. Technician clocked in (live assignment)

For same-day, live assignment, the technician must be clocked in. A technician who is scheduled to work today but has not yet clocked in appears in the roster but is excluded from live assignment suggestions. Advisors can see their status and wait for clock-in, or assign a clocked-in colleague instead.

This constraint applies only to live scheduling — assigning work that is intended to be picked up imminently. Future-dated jobs do not require the technician to be clocked in at the time of scheduling.


The AI scheduling layer

Once the constraint checks pass, the AI ranking layer evaluates all valid placement options and orders them by fit. This layer does not enforce rules — it provides recommendations within the space that constraints have already defined as valid.

The AI ranks available options by four factors:

Skill match. Does the technician carry the skill type required by the job’s service category? A job categorised as A/C Service should go to a technician with the A/C Service skill. A paint preparation job should go to Surface Prep or Spray Painting. Skill match is the highest-weight factor — a strong skill match outweighs workload considerations in most cases.

Workload balance. Among technicians with equal or comparable skill match, the AI gives preference to technicians who are less loaded relative to the others available on that day. This prevents situations where one technician carries 80% of the day’s work while others are underutilised. At Santos Body Works in São Paulo, where body stall technicians often work at different rates, workload balancing prevents the senior technicians from being chronically overloaded while junior technicians wait for direction.

Historical efficiency. The AI incorporates each technician’s efficiency history on similar job types. A technician with consistently strong efficiency on brake jobs will be weighted slightly higher than a comparable technician with no efficiency history for that category. This weighting is marginal — it acts as a tiebreaker, not a dominant signal — to avoid routing all premium work to a single high-performer.

Bay equipment suitability. The AI considers whether the bay associated with a technician’s primary workspace has the equipment linked that the job requires. A wheel alignment job should land in a bay with an alignment rack linked; a diagnostic job in a bay with a scan tool and oscilloscope. When bay equipment data is well-maintained, this factor significantly narrows the suggestion to genuinely appropriate placements.

The AI presents its top suggestion as the default recommended placement. Advisors can review the reasoning and choose from alternative options if the top suggestion does not suit the situation on the floor.


Manual override

Advisors can always place a job manually, regardless of what the AI suggests. The AI recommendation is an input to the advisor’s decision, not a directive.

When an advisor assigns a job manually, the scheduler still runs full constraint checking. If a constraint is violated, the advisor sees a conflict warning that describes exactly which rule is broken — bay double-booked, tech at WIP limit, outside operating hours. The advisor can then either adjust the placement or explicitly acknowledge the conflict and proceed.

The ability to proceed past a conflict warning exists because real workshops regularly have legitimate reasons to do so. A technician might be informally available past their scheduled end time. Two short jobs might be assigned to the same technician because one is a two-minute top-up that does not actually require focused presence. An experienced advisor at Müller Werkstatt Berlin has context the scheduler does not — the conflict warning ensures the decision is made with full information, but it does not take the decision away.


Promise time

Every job in BayWise Scheduler can carry a promise time — the time by which the workshop has committed to the customer that the vehicle will be ready. Promise time is set when the job is created, typically at vehicle intake.

The scheduler tracks the relationship between a job’s scheduled completion time and its promise time continuously. When the two are aligned — the job is expected to finish before the promise — the job shows no flag. When the scheduled completion runs past the promise time, the job is flagged red on the calendar and in the job queue.

A promise time overrun flag does not block anything — it is a visibility signal. The advisor needs to know that a job is at risk so they can decide whether to reassign a technician, call the customer, or take another action. The scheduler surfaces the problem; the advisor resolves it.

At Al Futtaim Auto in Dubai, where customer satisfaction ratings are tied to on-time delivery, promise time tracking is one of the primary management tools supervisors use during afternoon check-ins. Sorting the job board by promise time gap shows immediately which jobs are at risk and how much runway remains before the commitment becomes a problem.


Future scheduling

Jobs can be scheduled for any future date. The scheduling calendar shows future days, and the full constraint model applies to future scheduling in the same way it applies to same-day scheduling.

Future jobs are checked against:

  • The location’s operating hours for the target date
  • The technician’s availability schedule and any exception dates for the target date
  • Existing job assignments on the target date (bay and technician double-booking)
  • The technician’s WIP load on the target date

The one constraint that does not apply to future scheduling is clock-in status. A technician does not need to be clocked in today to be assigned work for next Thursday.

Future scheduling is particularly useful for pre-booking work that arrives with a confirmed return date — a vehicle that needs a part ordered, a job that requires a specialist bay currently occupied, or customer-requested future appointment slots. Santos Body Works in São Paulo regularly pre-books insurance repair work up to two weeks in advance, and the scheduling model ensures that those future commitments are visible and respected when same-day scheduling decisions are made.


What the scheduler does not do automatically

BayWise Scheduler is a decision-support tool, not an auto-planner. It enforces constraints, surfaces conflicts, and makes AI suggestions — but every assignment is confirmed by a human. This is intentional: workshop scheduling requires context that only an experienced advisor has. Which customer called ahead to say they are in a hurry. Which technician is showing signs of fatigue by mid-afternoon. Which job looks simple but has a history of complications on this make and model. The scheduler handles the rules so the advisor can focus on the judgment.

There are specific situations where the scheduler raises a problem but does not act on it:

When a technician calls in sick. The scheduler does not automatically reassign their jobs to other technicians. It flags the affected jobs as unassigned and highlights the capacity gap. The advisor reviews the jobs, considers who is available, and makes the reassignments.

When a job overruns. If a job takes longer than estimated, the scheduler does not automatically push subsequent jobs back or rebalance the day. It flags the running-over job and highlights any downstream promise time risks. The advisor decides whether to call in another technician, extend the current technician’s shift, or contact affected customers.

When a preferred technician is unavailable. The AI will suggest alternatives, but it will not silently book a different technician without the advisor confirming. If a customer has requested a specific technician and that technician is fully booked, the advisor is shown the conflict and chooses the resolution.

This design reflects a deliberate philosophy. Fully automated rescheduling — the system deciding on its own to move jobs around — creates risk in a workshop environment. A reassignment that looks clean on paper might put the wrong technician on a job that requires specific knowledge of a customer’s vehicle history, or might shift a job to a time slot the customer did not agree to. The scheduler’s role is to make the advisor faster and better informed, not to replace the advisor’s judgment.