Configure scheduling availability
Everything that controls when a customer can book online lives on the Online booking tab of Configurations > Customer Experience: the weekly bookable hours, how often slots start, how long each appointment runs, how many bookings may overlap, how much notice you require, and how far ahead customers can book. Staff are not bound by any of it. They can place an appointment anywhere on the Calendar, and the only availability setting that touches their work is the Default appointment duration under Configurations > General > Hours and calendar. This page covers both.
For creating and moving appointments day to day, see Create, reschedule, cancel, and manage appointments. For what happens after a customer books, see Manage online bookings, walk-ins, and no-shows.
Turn on online booking
- Open Configurations > Customer Experience > Online booking.
- Enter your website address in Your website and click Enable online booking. If the shop has no website, click I don't have a website - just give me a booking page link instead.
Enabling creates the shop's Booking Widget with working defaults: bookable Monday through Friday 8:00 to 17:00, slots every 30 minutes, 60-minute appointments, one booking at a time, one day of minimum notice, and booking up to 30 days ahead. It also seeds a five-item service menu (Oil Change, Brakes, Heat or A/C, Tires, Alignment) you should edit to match what you actually offer.
A booking made through the widget is a confirmed appointment, not a request waiting for approval. It lands on your Calendar immediately as a scheduled appointment with the customer and vehicle matched or created by phone number.
Two ways customers reach the booking form
The tab gives you both, and they share one configuration and one availability calculation:
- The Online booking card at the top holds the hosted booking page
link at
/book/<widget key>. It needs no website at all: use Open booking page to preview it and Copy link to share it in texts or set it as the appointment link on your Google Business Profile. - The Add online booking to your website card at the bottom puts the
same booking form on your own site. Click Set up to open the
installation dialog, which holds the embed snippet, a single
<script>tag. Paste it into your website's HTML anywhere before the closing</body>tag, or send it to whoever manages the site. Out of the box it shows a floating booking button in the bottom-left corner of every page.
The Accept online bookings switch at the top of the tab enables or disables booking for both surfaces at once.
The rest of the website installation lives in the same Set up dialog:
- Websites using online booking lists the origins the embedded widget will load on; requests from any other site are rejected even with a valid key. The hosted booking page ignores this list and always works.
- Button text relabels the booking button (the default is "Schedule appointment"), with a live preview beside it.
- Developer options, collapsed by default, holds the cosmetic and
advanced pieces: Custom button placement (paste the extra
<span data-booking-widget></span>line exactly where the button should appear), Button style (raw CSS overrides with no effect on availability), and Troubleshooting, where Rotate key mints a new widget key. Rotation makes the snippet already on your website stop working until you replace it, and the booking page link changes, so treat it as a deliberate reset, not routine maintenance.
Logo and color come from the shared Customer-Facing Brand under Configurations > General > Branding.
Bookable hours
The weekly hours table at the top of the Availability card sets when the booking form offers slots at all: one window per day, each with a toggle and start and end times. Times are in the shop's local timezone, which comes from the Locale section of Configurations > General > Business info. A day with the toggle off offers nothing.
Bookable hours are not your business hours. Business hours live under Configurations > General > Hours and calendar, shade the Calendar, and gate nothing; online-booking slots come only from the Availability card here. That separation is deliberate, since many shops take web bookings for a narrower window than they are open. The cost is that nothing syncs the two: if you change your business hours, check this card yourself. Shop closures remove overlapping online-booking slots, but they do not cancel appointments that were already booked or stop staff from scheduling manually. Business hours and closures are covered in Shop identity, contact information, hours, and closures.
Booking limits
The Booking limits section below the weekly hours, in the same Availability card, has five settings:
- Offer start times every N minutes: how far apart offered start times are. 30 means 8:00, 8:30, 9:00. Accepts 5 to 240.
- Require at least N notice: how far in advance a visitor must book, entered in minutes, hours, or days. 0 allows same-day and immediate bookings; the maximum is 7 days.
- Allow booking up to N days ahead: the far edge of the booking window, counted from today. Accepts 1 to 365.
- Accept up to N appointments at a time: how many appointments may overlap a slot before the widget stops offering it. Accepts 1 to 100.
- Under Advanced, the fallback Calendar reservation: how many minutes a booking blocks when the selected quick-pick or diagnostic option has no duration of its own. Accepts 5 to 480.
Hours and limits save together: nothing on the card saves on its own, so click the card's Save changes when you are done. The only exception on the tab is the Accept online bookings switch, which applies immediately.
Why a slot is or is not offered
A time appears on the booking form only when all of these hold:
- It starts on the slot interval inside a bookable window for that day.
- The full appointment duration fits before the window ends. With a 17:00 end, 60-minute appointments, and a 30-minute interval, the last offered slot is 16:00, not 16:30.
- It is at least the minimum notice away from right now.
- Its date is within the book-up-to horizon.
- Fewer than the concurrent limit of existing appointments overlap it. Every live appointment on the shop's Calendar counts against the limit, including ones staff created by hand; cancelled and no-show appointments do not.
So with the defaults, a shop whose 10:00 slot is missing usually has an appointment already sitting on 10:00 in the Calendar. Raise Accept up to N appointments at a time to match how many cars you can actually take in at once. The same checks run again at the moment a visitor confirms, so two visitors cannot both take the last opening in a slot.
Capacity is a single overlap count for the whole shop, not per bay or per technician.
The booking choices menu
The Booking choices card holds everything a visitor can pick from, and its two sections save together with one Save changes.
The Instant-booking services section is the ordered quick-pick menu visitors see, up to 20 entries with an icon, name, short description, and Calendar duration. Drag the handle at the left of a row to change its position. The booking uses the sum of all selected quick-pick durations; when a duration is blank, the fallback Calendar reservation from the Availability card's Advanced section applies. The picked services end up in the Appointment title and Reasons For Visit.
The Guided diagnostic option section controls the guided choice shown above that menu, including its icon, label, description, and Calendar duration. Customers can still describe what they notice in their own words.
Use Booking notifications to choose active staff who should receive an email whenever a customer confirms an Online Scheduler Appointment. This applies to the website widget, hosted Booking Page, and Customer Portal follow-up scheduler.
Appointment settings for staff-created appointments
Configurations > General > Hours and calendar contains Default appointment duration (30 minutes until you change it), the block length an appointment gets when staff create one on the Calendar before anyone adjusts the times. It is a separate setting from the widget's fallback Calendar reservation, and changing either affects only appointments created afterward.
The same card carries Mark appointments Arrived when a repair order is created, on until you turn it off. Leave it on and BayEngine moves an appointment to Arrived the moment a repair order exists for it, whether staff used the appointment's Create repair order button or converted its estimate, so the Calendar reflects which cars are actually on the lot. Turn it off if your front counter sets Arrived by hand and writing the repair order ahead of the customer's visit is normal. Cancelled and no-show appointments are never rewritten either way.
The two also inherit differently in a multi-shop organization. Business hours and appointment settings under Hours and calendar are inheritable settings groups that can follow an organization default; see Organization defaults and shop overrides. The Online booking configuration does not inherit: each shop has its own Booking Widget with its own key, hours, and rules, configured shop by shop. Where several shops in the organization have booking enabled, the booking form lets the visitor choose which shop to book with, and each shop's own settings decide the slots it shows.
Who can change these settings
The Online booking tab uses the calendar events permissions: read to view it, create to enable booking, and update to save changes or rotate the key. Hours and calendar settings need update permission on shop settings. See Assign Shop Roles, shop access, and User Permissions.