Shared Bookings
Scheduling policy in Microsoft Bookings
Every scheduling policy setting on a Microsoft Bookings shared page: increments, lead time, booking window, notifications, staff choice and service overrides.
Last updated 7 sources
The scheduling policy is the set of page-wide rules that decide when customers can book and cancel on a shared booking page: how far apart start times are, how much notice you need, how far ahead people can book, who gets told about changes and whether customers can pick a staff member. You set it once on Booking page → Scheduling policy, and every service inherits it until you switch off that service's Default scheduling policy toggle. At that point the service stops reading the page policy completely, which is the source of most "I changed it and nothing happened" reports.
Where the settings are (as of October 2026)#
- Page level: Bookings → Shared booking pages → your page → Booking page → Scheduling policy. Microsoft groups the neighbouring Email notifications and Staff sections with it and says they're "similar to the ones available for each service". Select Save and publish to apply.
- Service level: Services → the service → Availability options. With Default scheduling policy on (the default), this page only shows the page values. Turn it off to edit them for that service.
Bookings with me pages (Microsoft now calls them Personal Bookings) have no page-wide policy. Each meeting type carries its own; see Bookings with me meeting types.
Every setting#
| Setting | What it does | Default | Limits and gotchas |
|---|---|---|---|
| Time increments | Spacing between the start times offered | Not documented in the UI; the page code falls back to 30 minutes | 5 minutes to 4 hours, or custom. It's spacing, not a clock grid: each run of slots starts where a free block starts. See odd start times. |
| Lead time in hours (the FAQ says Minimum lead time) | Minimum notice to book and to cancel | Not documented in the UI; the page code falls back to 1 day | Counted in clock hours, not business hours. Must be at least 24 hours below the maximum. See lead time. |
| Maximum days in advance (the FAQ says Maximum lead time) | How far ahead the calendar opens | Not documented in the UI; the page code falls back to 365 days | Microsoft says "365 days or more". It can be 1 day only when the minimum is 0 hours. Some tenants report a 90-day ceiling in the drop-down; the lead time answer covers it. |
| Notify when a booking is created or changed | Emails the business address on Business information for every new or changed booking | Not documented | Goes to the business mailbox only. Staff emails are the per-person Notify all staff via email setting. See staff notifications. |
| Allow customers to choose a particular staff for booking (FAQ: "choose a specific person"; one Q&A reply calls the section "Default Staff control") | Shows a staff picker with "Anyone" | Not documented | Off means Bookings assigns a free staff member at random. "Anyone" can't be removed on its own. See removing "Anyone" and round-robin. |
| Send a meeting invite to the customer, in addition to the confirmation email | Sends a calendar invite as well as the confirmation | Graph says false; the UI default isn't documented | Microsoft lists it on the service Notifications tab, but Graph stores it in the scheduling policy (isMeetingInviteToCustomersEnabled). Unticking it is Microsoft's mitigation for the group cancellation email bug. Changes can take up to 10 minutes. |
| Availability (Booking page section) | Date and time ranges, "such as holidays or extended hours" | Business hours | Service date ranges override it per service. See specific dates only. |
The Microsoft Learn scheduling policy article lists only the first four rows. The Graph bookingSchedulingPolicy resource adds the staff choice, the meeting invite and the availability windows, which is the clearest list of what a "policy" actually contains.
Settings people look for here that live elsewhere#
| You want | Where it is |
|---|---|
| Email verification code for bookers | Booking page → access control, Require a one time password to create bookings. Can take up to 10 minutes to apply. See spam bookings. |
| Sign-in required to book | Booking page → Require a Microsoft 365 account from my organization to book. See sign-in required. |
| A Teams meeting on every booking | Per service: Basic details → Add online meeting. Microsoft doesn't document a page-wide default; the meeting client follows the booked staff member. See Teams meetings. |
| Gaps between appointments | Per service: Buffer time. See buffer time. |
| Stop customers changing bookings | Per service: Let customers manage their appointment…, which only covers staff-made bookings. See stopping rescheduling. |
| Working hours | Business information and each staff member. See how availability is calculated. |
| Time zone shown to visitors | Booking page → Region and time zone settings. See wrong time zone. |
Service-level overrides#
The Microsoft example is a business that accepts one day's notice for consultations but wants three days for services that need a facility booking. To set that up:
- Services → the service → Availability options.
- Switch off Default scheduling policy. Microsoft says it's on by default.
- Set the service's own time increments, lead time and maximum days in advance, and its availability: Bookable when staff are free, Not bookable or Custom hours, plus any date ranges.
- Save changes.
Things the Learn pages don't spell out:
- It's all or nothing. In the page code we read, a service with its own policy uses that policy for every field. A field it doesn't set falls back to the code defaults (1 day, 365 days, 30 minutes), not to your page values. That's why a service can look "stuck at 24 hours" after you lower the page lead time.
- Page changes stop reaching it. Once the toggle is off, later edits to the Booking page don't touch that service. Keep a list of which services have their own policy.
- Odd wording on Learn. The service article says to turn the toggle off "to customize how customers book a particular staff member". The setting works per service, not per staff member.
- API callers. Graph says that when a service still uses the default policy, the service-level values are limited and the client "must fall back to the Default Scheduling Policy for the business".
What we saw when testing (September 2026)#
We captured the public shared booking page and the calls it makes (13 live captures, 913 days, 7,924 slots, several time zones) and reproduced every slot it showed.
- Fallback values. Shared pages: lead time 1 day, 365 days in advance, 30-minute increments, used only when neither the service nor the page sets a value. Personal pages: 1 hour, 90 days, 30 minutes.
- The earliest slot is now + lead time + about 3 minutes. The page adds 1 minute to the lead time, then drops any start within 2 more minutes.
- How increments are walked. The page steps through each free block by the largest of 60, 30, 15, 10, 5, 2 or 1 minutes that divides the increment (45 steps by 15, 20 by 10), then keeps a start only if it's at least one increment after the last one kept.
- The window's far edge. The last bookable moment is midnight at the end of the day that is "maximum days in advance" after today, so the whole final day is offered.
- The page enforces the rules, the server barely does. A booking two days in the past was accepted when we called the Microsoft service directly. The page itself hides those times. Microsoft Graph with application permissions does enforce business rules.
Choosing values#
| Goal | Increments | Lead time | Maximum days |
|---|---|---|---|
| Tidy :00 and :30 starts | Equal to the duration (30 or 60) | Any | Any |
| Same-day appointments | Duration | 1–2 hours | 30–60 |
| Prep time before each visit | Duration | 24–48 hours | 60–90 |
| Fewer placeholder bookings | Duration | Any | 7–14 (see limiting bookings) |
| A late-cancellation cutoff | Any | The cutoff, knowing it also blocks late bookings | Any |
Lead time works in both directions, and there's no separate cancellation window. To see whether your values match how customers actually book, measure how far ahead they book. The shared booking page setup guide covers picking these when you first build a page.
BookingsXP is independent and not affiliated with or endorsed by Microsoft.
- AnswerSet minimum notice and booking window in Microsoft Bookings
- AnswerWhy Microsoft Bookings offers odd start times like 9:50
- AnswerMicrosoft Bookings buffer time without longer meetings
- AnswerCan you stop customers rescheduling in Microsoft Bookings?
- AnswerLimit Microsoft Bookings per day or per customer
- AnswerCan Microsoft Bookings jump to the next available date?
- AnswerOffer Microsoft Bookings only on specific dates
- AnswerRemove the 'Anyone' staff option in Microsoft Bookings
- AnswerDoes Microsoft Bookings support round-robin assignment?
- AnswerHow do I notify staff or the whole team about new bookings?
- AnswerHow to stop spam or bot bookings in Microsoft Bookings
- AnswerHow far ahead do Microsoft Bookings customers book?
- GuideSet up a shared Microsoft Bookings page, step by step
- AnswerCan you approve Microsoft Bookings appointments first?
Questions people also ask
Sources
- Microsoft Learn: Set scheduling policies (opens in a new tab) · learn.microsoft.com
- Microsoft Learn: Customize booking page (opens in a new tab) · learn.microsoft.com
- Microsoft Learn: Define service offerings (opens in a new tab) · learn.microsoft.com
- Microsoft Learn: Configure service availability (opens in a new tab) · learn.microsoft.com
- Microsoft Learn: Bookings faq (opens in a new tab) · learn.microsoft.com
- Microsoft Learn (opens in a new tab) · learn.microsoft.com
- Microsoft Learn: Staff in multiple booking pages have double bookin (opens in a new tab) · learn.microsoft.com
Edit or question? hello@bookingsxp.com