xMatix
Sign in Request demo
xMatix
PRODUCTS
SalesField Sales & SFACRMRewardsClaimsInventoryProcurementWarehouse ManagementField ServiceServiceSupportTelephony & MessagingFinance & AccountingPayrollExpense ManagementCommercePortalsAnalytics & ReportingData StudioMobile AppSee all products →
PLATFORM
Platform overviewApp BuilderAutomationIntegrationsSecurity & GovernanceChange ManagementDevelopers
SENSE AI
Sense AI overviewSense AssistSense ControlSense VisionAI StudioTrust & governanceIn Claude & ChatGPTUse cases
SOLUTIONS
Auto DMSConsumer Goods DMSSales Force Automation (SFA) FMCG & DistributionManufacturing & Dealer NetworksAutomotive & DealershipsPharma & HealthcareConsumer DurablesAgri-InputsBuilding MaterialsService NetworksWarehousing & 3PLFinancial AccountingERP SoftwareIndia GST ComplianceUAE VAT & e-InvoicingSaudi ZATCA & VATAll solutions →
RESOURCES
Knowledge CenterDeveloper & CLIBlogGuidesWhat is xMatix?Company facts
COMPANY
AboutCareersPartnersEventsContactAuthorsLegal
Sign in Request demo
Home/Docs/Service/Service bays
HOW-TO · Last reviewed

Service bays

A service bay is one physical work position in your workshop — a lift, a wash bay, a health-check bay, a van — recorded so that xMatix can tell which jobs are in it, how many it can hold, and when it will be free. You set bays up once per branch; after that, service orders, time sheet lines and service appointments claim them, and xMatix refuses any claim that would overfill a bay.

Overview

Each bay record says what kind of position it is (Service Bay Type), where it is (Branch), who may claim it (Allocation Mode) and how much it can hold (Vehicle Capacity and Labour Capacity). Three optional timing settings — Turnaround (min), Occupancy Stretch (%) and Auto Release After (min) — tune how long a job is assumed to hold the bay and whether an over-running claim is freed automatically.

Bays are claimed in three places:

  • Service orders claim a bay for the whole vehicle, through Bay Allocation on the order (see the service order lifecycle).
  • Time sheet lines claim a bay for one technician doing one operation, through Allocate Bays on the time sheet (see time sheets).
  • Service appointments can require a bay of a given type when they are booked (see appointments).

All three write to one shared booking ledger, so a bay reserved by an appointment and a bay occupied by a live job can never be double-booked.

When to use it

  • You run a workshop and want advisors to see which bays are free before they put a car in one.
  • You want appointment booking to hold a wash bay or a health-check bay along with the technician.
  • You have bays that only some work can be done in — a wheel-alignment ramp, a paint booth — and want the picker to offer the right bay first.
  • You are retiring or refurbishing a bay and need it out of every picker without losing its history.

If your workshop does not track bays, you do not need any: service orders, time sheets and appointments all work without them.

How xMatix handles it

  • One bay, two limits. Vehicle Capacity limits how many different vehicles can be in the bay at once; Labour Capacity limits how many claims (technician operations) can run in it at once. A bay of 1 vehicle and 2 labour lets a lead technician and a helper work on the same car, but refuses a second technician who brings a different car. Both limits apply whatever the allocation mode.
  • Allocation mode is routing. Vehicle bays are offered on the service order only, Labour bays on time sheet lines only, Both on either. A blank mode counts as Vehicle.
  • How long a claim lasts. When a job is put in a bay, xMatix estimates how long the bay is held: the labour time of the work (each Work Item line's standard hours, or the item's Service Duration(Minutes) times the quantity, or one hour when neither is set), divided by the number of different technicians on the work, multiplied by the stretch, plus the turnaround, rounded up to the next 15 minutes. Without a bay setting, whole-vehicle claims use a stretch of 160% and 15 minutes' turnaround, and per-operation claims use 100% and 5 minutes.
  • When a claim starts. A whole-vehicle claim starts when work started on the order, otherwise at the check-in time of its check-in inspection, otherwise now (rounded up to the next quarter hour). A per-operation claim starts when work on the line started, otherwise now.
  • Over-running claims keep the bay. A claim whose planned end has passed but which nothing has released still occupies the bay, and xMatix reports the bay as "still occupied" rather than guessing when it will be free — unless the bay has Auto Release After (min) set.
  • Releasing. A bay is released when the work ends, when the order is delivered, when you choose Release Bay, or when a time sheet line is deleted. A paused task keeps its bay.
  • Booking engine link. Saving a bay also creates or refreshes its bookable resource of kind Facility in the same save. That record copies the bay's name, branch, Is Active and Labour Capacity; you never create it by hand.

Prerequisites

  • The Service module is on (Setup → Feature Hub) and your tenant is licensed for Service.
  • You can open the Service Bay list (see Permissions).
  • Your branches exist. A bay with no branch can be claimed by jobs from any branch.
  • For capability matching, your labour items are set up with Item Type Work Item.

Procedure

Step 1 — Open the bay list

In the Service app, choose Settings, then Service Bays under Workshop Operations. You can also find Service Bay through the App Launcher's entity search. The All Service Bays list shows each bay's Name, Branch, Service Bay Type, Allow Inventory and audit columns. Filter by branch first, so you do not create the same physical bay twice.

Step 2 — Create a bay

  1. Choose New.
  2. Pick the Service Bay Type (for example Washing Bay) and the Branch.
  3. Pick the Allocation Mode — Vehicle, Labour or Both. It starts as Vehicle.
  4. On the Controls tab, leave Is Active ticked; tick Allow Inventory only if the position also holds stock.
  5. On the Capacity tab, set Vehicle Capacity and Labour Capacity (both start at 1), and optionally Turnaround (min) and Auto Release After (min).
  6. Choose Save.

The bay opens with its name assigned by numbering, such as SB-27102026-000001. There is no Name field on the standard form; the number is the bay's name in pickers and allocation messages.

Step 3 — Check the saved bay

The record page has two tabs. Related holds the bay's related records. Details shows Key Information (Service Bay Type, Allocation Mode), Controls (Is Active, Allow Inventory), Capacity (Vehicle Capacity, Labour Capacity), Timeline (Turnaround, Auto Release After) and System Information (Branch, created and modified by and on). The header has Edit and Delete.

Step 4 — Say which work a bay can do (optional)

If some work can only be done in certain bays, record each bay's capabilities as Service Bay Capability records: one per bay and Work Item, with an optional Start Date and End Date and an Is Active switch. Once any bay is mapped to a work item:

  • the bay picker on a service order lists bays that cover all the job's mapped work first;
  • allocating a bay that covers none of the job's mapped work items is refused;
  • the claim is sized to the work that bay covers, so a job can use one bay for part of the work and another bay for the rest.

A work item that no bay is mapped to is not a requirement at all, so a workshop with no capability records sees no change.

Step 5 — Change or retire a bay

Choose Edit on the bay, change the values and choose Save. Capacity and active-state changes reach the booking engine in the same save.

To take a bay out of use, edit it and clear Is Active rather than deleting it. An inactive bay disappears from every bay picker and from appointment booking, but its booking history stays readable. Clearing Is Active does not release claims the bay already holds; release those on the job.

Step 6 — Put a job in a bay

This is done from the job, not from the bay:

  • On a service order, choose Bay Allocation, pick a bay and allocate it. The order's Service Bay shows the bay the car is in now.
  • On a time sheet, use Allocate Bays to give each line its own bay (only bays with mode Labour or Both are offered). The line's Service Bay shows it.

Bays are offered from the job's branch (plus bays with no branch), with the best fit first: capability, then whether the bay has room, then how soon it is free. Occupied bays stay in the list with the time they free up.

Fields

FieldWhat it meansNotes
Service Bay TypeThe kind of position.Values: Van, Plant, Workshop, Bin, Pallet, Washing Bay, Regular Bay, VHC Bay. An appointment that requires a bay type books only bays with exactly that value. You can add values through the data model tools.
BranchThe branch the bay is physically in.Optional. A bay with no branch can be claimed by jobs and appointments from any branch. A bay with a branch is refused for jobs from another branch. On the record page it is under System Information.
Allocation ModeWhere the bay can be claimed.Vehicle (service order, whole job), Labour (time sheet line, one operation) or Both. Starts as Vehicle; blank counts as Vehicle. Any other value is refused.
Is ActiveWhether the bay can be claimed.Ticked by default. Clear it to retire a bay without deleting it.
Allow InventoryMarks a position that also holds stock.Off by default. Stored for your reference; no allocation or stock process reads it.
Vehicle CapacityThe most different vehicles the bay can hold at once.Defaults to 1. Must be at least 1.
Labour CapacityThe most claims (technician operations) that can run in the bay at once.Defaults to 1. Must be at least 1. Also used as the bay's concurrent capacity in appointment booking.
Turnaround (min)Minutes added to every claim on this bay for moving the vehicle in and out.Blank uses 15 minutes for whole-vehicle claims and 5 for per-operation claims. Zero is a real setting: no turnaround.
Auto Release After (min)Free an over-running claim automatically once it is this many minutes past its planned end.Blank or zero means never, which is the default. Set it only for bays a vehicle leaves by itself, such as a wash bay.
Occupancy Stretch (%)How much longer than its labour time a job holds this bay.160 means a 2.5-hour job holds the bay for 4 hours. Blank uses 160% for whole-vehicle claims and 100% for per-operation claims. Not on the standard form — add it through the data model tools if you need it.
NameThe bay's reference.Assigned on save by numbering (SB, date, six-digit counter). Not on the standard form.
ExternalAn identifier for the bay in another system.Not on the standard form; set by import or the API.

Business rules

  • Validation on save. Vehicle capacity must be at least 1 — a bay that holds no vehicle cannot be allocated. · Labour capacity must be at least 1 — a bay nobody can work in cannot be allocated. · Allocation mode '…' is not one of Vehicle, Labour or Both.
  • Defaults on save. A bay saved through the form, an import or the API gets Is Active on, both capacities 1 and mode Vehicle when those are blank.
  • Numbering. The Service Bay Name Setting gives names in the form SB-DDMMYYYY-NNNNNN. The date part is in the key, so the counter restarts each day.
  • Admission. A claim is accepted only if, at every moment of its window, the bay would hold no more different vehicles than Vehicle Capacity and no more claims than Labour Capacity. A walk-in job with no asset counts as its own vehicle.
  • One bay at a time per vehicle. A service order cannot hold two bays whose windows overlap; choosing a bay on the order's Service Bay field instead moves the job to the new bay.
  • Several stops per job. A service order can hold several bays one after another (for example washing first, then a lift). The order's Service Bay names the earliest stop still open. When capability records say which work belongs to which bay, a bay is released as soon as all of its own work has ended.
  • Auto-release. About every 15 minutes, xMatix releases bay claims from service orders and time sheet lines that are more than the bay's Auto Release After (min) past their planned end. Appointment holds on a bay are not released by this; the appointment's own no-show handling does that.
  • Times in messages. Refusal messages that name a time ("The next slot that fits the whole job starts at …") show it in UTC.

Example

A workshop at the North branch has one lift and a two-position wash bay.

  1. The service manager creates the lift: Service Bay Type Regular Bay, Branch North, Allocation Mode Vehicle, capacities 1 and 2 (a lead and a helper may work on the car together). It is saved as SB-27102026-000001.
  2. They create the wash bay: Washing Bay, North, Vehicle, Vehicle Capacity 2, Labour Capacity 2, Turnaround (min) 0 and Auto Release After (min) 30. It is saved as SB-27102026-000002.
  3. A service order has two labour lines of 1.5 hours each, both with the same technician. The advisor chooses Bay Allocation. The lift's estimate is 3 hours × 160% + 15 minutes = 5 hours 3 minutes, rounded up to 5 hours 15 minutes.
  4. A second car arrives for the lift during that window. Allocation is refused with a message that the bay is full for the window and when the next slot that fits starts.
  5. A car in the wash bay over-runs its slot and nobody releases it. Thirty minutes after its planned end, the next sweep frees the position.

Training

Practice exercise

In a sandbox tenant with the Service module on:

  1. Create a VHC Bay for one branch with Vehicle Capacity 1 and Labour Capacity 1.
  2. Try to save it with Vehicle Capacity 0. Expected: the save is refused with Vehicle capacity must be at least 1.
  3. Set it back to 1 and save. Expected: the bay gets an SB- name.
  4. Open two service orders for different vehicles at that branch and allocate the bay to the first, then to the second for the same time. Expected: the second is refused because the bay is full.
  5. Clear Is Active on the bay. Expected: it no longer appears in Bay Allocation on a new order.

Quick reference

  • Bays live under Service → Settings → Workshop Operations → Service Bays.
  • Vehicle Capacity = different cars; Labour Capacity = people working at once.
  • Allocation Mode decides the picker: Vehicle = service order, Labour = time sheet line, Both = either.
  • Blank stretch/turnaround: 160% and 15 min (whole vehicle), 100% and 5 min (per operation).
  • Auto Release After is off unless you set it; use it only for self-emptying bays.
  • Retire a bay with Is Active, not Delete.
  • Capability records only matter for work items at least one bay is mapped to.
  • Times in refusal messages are UTC.

Permissions

Access is through the security profile's entity permissions on Service Bay (and Service Bay Capability for capabilities), plus an app that lists them:

Shipped profileService BayService Bay Capability
System AdminFull accessFull access
ServiceFull accessFull access
Standard UserFull accessFull access
Sales ExecutiveFull accessFull access
Sales ManagerFull accessNot granted

The Service Settings app, where Service Bays is listed, is granted to System Admin in the shipped configuration. A user without access does not see the list or the bay in pickers. Allocating bays to jobs is governed by the actions on the service order and time sheet — see service orders and time sheets. See security profiles to change these grants.

Configuration

WhatWhereEffect
Bay recordsService → Settings → Workshop Operations → Service BaysThe bays, their capacities, modes and timing settings
Bay capabilitiesService Bay Capability records (one per bay and Work Item)Which bays can do which work; ranking, refusal and claim sizing
Bay numberingSetup → Feature Hub → Platform → Document Settings → Service Bay Name SettingThe SB-DDMMYYYY-NNNNNN names (see document numbering)
Service Bay Type valuesData model tools, Service Bay → Service Bay TypeThe bay types offered and matched by appointment requirements
Bay form fieldsData model tools, Service Bay layoutsAdd Occupancy Stretch (%), Name or External to the form if you need them
Bay requirements on appointmentsAppointment type resource requirements (bay type)Which bay type an appointment holds — see field service configuration
Book timeItem Service Duration(Minutes), line standard hoursThe labour time a claim is estimated from
Module switchSetup → Feature Hub → ServiceTurns the Service module, including the auto-release sweep, on or off

The stretch and turnaround fallbacks (160%/15 minutes and 100%/5 minutes) are fixed; set them per bay to change them. The data model tools are described in customizing the data model.

Common problems

"Bay … is set up for per-operation (Labour) allocation, so it is allocated on a time sheet line rather than on the job card."

The bay's Allocation Mode is Labour. Allocate it from the time sheet, or change the mode to Vehicle or Both. The reverse message (set up for whole-vehicle allocation) means a Vehicle bay was chosen on a time sheet line.

"Bay … belongs to another branch."

The bay's Branch is not the job's branch. Pick a bay of the job's branch, or clear the bay's branch if it genuinely serves every branch.

"Bay … is not active and cannot be allocated."

Is Active is cleared on the bay. Tick it again, or choose another bay.

"Bay … is not set up for any of the work on this job card."

Capability records exist for the job's work items, and this bay has none of them. Add the work items to the bay's capabilities, or choose a bay that can do them.

"Bay … is full for this window."

At some moment in the window the bay would hold too many vehicles or too many claims. The message says when the next slot that fits starts (in UTC), or that the bay frees but not for long enough, or shows the counts — for example (1/1 vehicles, 2/2 in progress). Choose another bay or time, or raise the capacity if the bay really can hold more.

"Bay … is still occupied — … minutes past its expected finish, so there is no reliable free time yet."

A job in the bay ran past its planned end and has not been released. End or release that job (Release Bay on the order). If the bay always empties itself, set Auto Release After (min).

"This job card is already in bay … from … to …"

The order already holds another bay for an overlapping time. Release that bay first, or allocate for a window after it ends.

A new bay does not appear in the picker

Check that Is Active is ticked, the branch matches the job (or is blank), and the Allocation Mode fits the picker you are using.

Common questions

Why are there two capacities?

Because a bay limits cars and people separately. A single lift fits one car, but a lead and a helper can work on that car together. With Vehicle Capacity 1 and Labour Capacity 2, xMatix accepts the helper on the same car and refuses a second car. One combined number would either refuse the helper or let two cars into a one-car bay. Set Vehicle Capacity to the number of vehicle positions and Labour Capacity to the number of people who can work there at the same time.

Should I set Auto Release After on every bay?

No. A claim that runs past its planned end usually means the car is still in the bay; freeing it automatically would let another car be allocated on top. Leave it blank for lifts and other bays a vehicle stays in until someone drives it out. Use it for bays a car leaves by itself, such as a wash bay, where a forgotten release should not block the bay for the rest of the day. The sweep runs about every 15 minutes, so a bay is freed up to 15 minutes after the threshold.

Can I give a bay a friendly name like "Lift 1"?

Not on the standard form: the bay is named by numbering when it is first saved, and that number is what pickers and messages show. If you want friendly names, add the Name field to the bay's layout with the data model tools and rename bays after their first save — numbering only names a bay when it is created.

What happens to appointments when I deactivate a bay?

An inactive bay is no longer offered for new appointments or jobs, because its bookable resource is made inactive in the same save. Holds it already has are not cancelled; move or cancel those appointments and release any jobs still in the bay.

Does a bay hold stock if I tick Allow Inventory?

No. The flag is recorded on the bay for your reference only; stock is held in storage locations, and no stock or allocation process reads this flag.