Shared Bookings
Microsoft Bookings page: customize and publish
Every Bookings booking page setting: theme, logo, language, time zone, URL, custom domain, who can book, indexing and publishing, with defaults and limits.
Last updated 12 sources
Everything a customer sees on a shared booking page is set in one place: Bookings → Shared booking pages → your page → Booking page, plus the logo upload under Business information. That section covers publishing, who can book, search indexing, consent, the colour theme and logo, and the page language and time zone. The URL and the Microsoft footer are not in it, because you can't edit either one there. As of October 2026, "custom domain support" only changes the email domain in the address of new pages. The page is still served from a Microsoft host.
This chapter is about shared booking pages. "Bookings with me" pages (Microsoft now calls them Personal Bookings) have almost none of these settings; see Shared Bookings vs Bookings with me.
The settings, with defaults#
Microsoft Learn lists the sections but not their defaults. Where a default is given below, it comes from the Microsoft Graph bookingPageSettings resource (beta), which holds the same switches; the rest Microsoft doesn't document.
| Setting (Booking page section) | What it does | Default | Limit or gotcha |
|---|---|---|---|
| Save and publish / Unpublish | Puts the public page online or takes it off | Not documented | A 2026 user reported not seeing the buttons; check the live link in a private window |
| Require a Microsoft 365 account from my organization to book | Only signed-in users in your tenant can view or book | Not documented (Graph accessControl: unrestricted or restrictedToOrganization) | Breaks website embeds for outside visitors. A tenant setting can force it on |
| Disable direct search engine indexing of booking page | Asks search engines not to list the page | Off | The served page already carries noindex (details) |
| Require a one time password to create bookings | Emails the booker a 6-digit code before the booking is created | Off (enforceOneTimePassword) | Learn names the setting but doesn't show where it is; a Microsoft moderator puts it under access control |
| Customer data usage consent | Adds a consent checkbox and your text to the form | Off | Plain text only; put policy links in Business information (consent text) |
| Customize your page: colour theme | One accent colour for the page | Not documented | Graph stores a hex code; Microsoft doesn't say whether the UI accepts one. No fonts, CSS or background |
| Customize your page: display business logo | Shows the logo uploaded in Business information | Off (isBusinessLogoDisplayEnabled) | The most common reason a logo "won't show" |
| Change language and time zone settings | Page language and business time zone | Not documented | Separate from your own Outlook language |
| Always show time slots in business time zone | Shows times in the business zone, not the visitor's | Off | Useful when customers must come to you in person but may browse from another zone |
| Allow customers to choose a specific person | Shows a staff picker with an "Anyone" option | Not documented | Also set per service, on Assign staff |
| Scheduling policy, Email notifications, Staff, Availability | Page-wide defaults that services inherit | See the linked chapters | A service with its own policy ignores these |
The scheduling policy, availability and notifications sections are covered in Scheduling policy, How availability is calculated and Emails, reminders and SMS.
Two admin layers sit above the page. The Microsoft 365 admin center (Settings → Org settings → Bookings) can block outside bookings, disable indexing, block social sharing and restrict the customer fields on every page, and Microsoft says changes take up to four hours. The same switches exist in Set-OrganizationConfig as BookingsAuthEnabled, BookingsSearchEngineIndexDisabled and BookingsSocialSharingRestricted. As of October 2026 the cmdlet reference still has a placeholder where the BookingsSearchEngineIndexDisabled description should be. Owners can't override a tenant setting from the page. See Admin controls.
Branding#
The whole branding surface is one logo, one colour theme, the business name and the contact details in the footer. There is no banner, background, font, CSS, layout or footer control, and no tenant-wide template. Each of these has its own answer:
- Where the logo and theme live, and the hex-code problem: logo and colours. Logo blurry, tiny or not saving: logo troubleshooting.
- Banners and backgrounds: banner workarounds. Fonts and CSS: custom CSS.
- The footer: "Powered by Microsoft Bookings" can't be removed, but the address, phone, website and policy links next to it come from Business information (footer).
- Many pages, one brand: no org-wide template, and the branding guide as a per-page checklist.
Language and time zone#
There are two language settings, and they get mixed up. Your own Outlook on the web language changes the Bookings app you work in. The booking page language, set under Change language and time zone settings (some Microsoft pages call it Region and time zone settings), changes what customers see. Each page gets one language, and visitors can't switch it. A service can override it with its own Language field, which is the only multilingual option (page language).
The time zone in the same dialog is the business zone: business hours, staff hours and the calendar are all read in it. Visitors see slots converted to their own zone unless you tick "Always show time slots in business time zone". When customers report times an hour or a day out, start with the wrong time zone answer.
The page URL#
The link is built from the email address of the mailbox Bookings created for the page, so renaming the business doesn't change it:
| Link | Form | Notes |
|---|---|---|
| Shared page | https://outlook.office.com/book/<mailbox>/ | Now redirects to https://bookings.cloud.microsoft/book/<mailbox>/ |
| Older shared page format | …/owa/calendar/<mailbox>/bookings/ | Still the example in the Learn campaign ID steps; redirects to /book/ |
| One service | The page link plus /s/<code> | See the note below |
| Campaign tracking | Page link plus ?RefID=<code> | Letters, digits, _ and - only; lands in the export's Tracking data column |
| Bookings with me | …/bookwithme/user/<id>@<domain>/meetingtype/<code> | Personal pages; none of the settings above apply |
Service links have conflicting Microsoft guidance as of October 2026. The Bookings FAQ still says each service has its own URL under Service booking page. In April 2026, a Microsoft Q&A moderator wrote that "individual service-only sharing links are no longer available". Check whether your tenant still shows the link (direct service links).
To change the name or domain in an existing link, an admin changes the mailbox address in Exchange, which relies on a redirect; or you recreate the page. Both routes are in changing the page URL. For print, see making a QR code, and test UTM-tagged links first (UTM Bad Request).
Custom domain support#
The Microsoft Learn article "Custom domain support in Shared Bookings" is narrower than its title suggests. It sets the email domain used in the mailbox address of new shared booking pages, so new links read /book/Sales@contoso.com/ rather than /book/Sales@contoso.onmicrosoft.com/. It doesn't put the page on your own host name, such as book.contoso.com. What the article requires:
- The domain is already added to Microsoft 365 (Settings → Domains in the admin center).
- Exchange Online PowerShell, run with Global Administrator access (the article also recommends the least-privileged role that works). Only an admin can assign the mailbox policy.
Set-OwaMailboxPolicy -BookingsMailboxDomain, either on the default policy for everyone or on a new policy assigned to the people who create pages withSet-CASMailbox.- No extra licence. The article mentions none beyond Bookings itself.
It doesn't affect pages that already exist. The org-wide steps also assume no other Outlook on the web mailbox policies exist, so check with your Exchange admin first. The commands and the trade-offs of renaming an existing mailbox are in changing the page URL or domain. For your own host name in the address bar, the realistic route is embedding the page on your site (embed code).
Who can book#
| You want | Set | Effect |
|---|---|---|
| Anyone with the link, no account | Leave Require a Microsoft 365 account… off, and check the tenant setting is off | Any email address can book; works in an iframe |
| Anyone, but confirmed emails only | Also turn on Require a one time password to create bookings | Bookers enter an emailed code; cuts bot bookings, adds a step |
| Colleagues only (IT, HR, internal services) | Turn on Require a Microsoft 365 account… and Disable direct search engine indexing | Microsoft Entra sign-in; outsiders see a sign-in screen |
| Every page internal-only | Admin turns on Block shared bookings from outside your organization or BookingsAuthEnabled | Overrides every page, new and existing |
If outside customers are unexpectedly asked to sign in, the page setting in the third row or the tenant override in the last row is on. See sign-in required. For bot and fake bookings, see spam bookings.
Search engines and link previews#
Leaving Disable direct search engine indexing unticked doesn't make the page rank. As of October 2026 the page Microsoft serves has the title "Bookings", a noindex, nofollow robots tag and no Open Graph tags, so search results and chat previews show nothing of your business. The fix is a page on your own site with the booking page embedded; see page title and link preview.
Publishing and unpublishing#
- Publish makes the page public. Graph's
publishaction does the same and setsisPublishedandpublicUrlon the business, which is handy for scripted setups. - Unpublish takes the page offline. Graph describes
unpublishas making the page unavailable to external customers; it isn't deletion, and the page, its services and its appointments stay in the mailbox. - A published page with no bookable services still looks broken. Each service's Publishing options switch decides whether it appears, and a page needs at least one service with it on (page not loading).
- Deleting a page is different: only an admin can do it, by deleting the mailbox, and it's permanent (delete a page).
What a visitor sees#
On a public page, the visitor sees:
- Your logo (if displayed), business name and the published services, with duration, price and an information icon that opens the description.
- A staff picker if allowed, with "Anyone" first.
- A calendar with the bookable days and time slots, in their own zone unless you force the business zone.
- The details form: name, email, phone, address and notes (each can be optional, and an admin can remove some tenant-wide), then any custom questions and the consent checkbox.
- A code step if one-time passwords are on.
- A confirmation on screen and by email, with a Manage booking link and the Teams link for online services.
The footer shows your address, phone, website and policy links next to the fixed "Powered by Microsoft Bookings" line. Which slots appear, and why some start at odd times, is explained in How availability is calculated.
BookingsXP is independent and not affiliated with or endorsed by Microsoft.
- AnswerHow do I change my Microsoft Bookings page URL or domain?
- AnswerCan I add our logo and brand colours to Microsoft Bookings?
- AnswerCan I add a banner or background to Microsoft Bookings?
- AnswerCan I use custom CSS or fonts on Microsoft Bookings?
- AnswerWhy is my Microsoft Bookings logo blurry or not saving?
- AnswerCan I remove the "Powered by Microsoft Bookings" footer?
- AnswerIs there an org-wide template for Bookings pages?
- AnswerCan I change the Microsoft Bookings page title or preview?
- AnswerHow do I change the language of my Microsoft Bookings page?
- AnswerWhy does my Microsoft Bookings page make people sign in?
- AnswerAdd a privacy notice or consent checkbox to Bookings
- AnswerHow do I link directly to one Microsoft Bookings service?
- AnswerWhy is my Microsoft Bookings page stuck loading?
- AnswerHow to make a QR code for a Microsoft Bookings page
- GuideStyle and brand your Microsoft Bookings page
- AnswerHow to stop spam or bot bookings in Microsoft Bookings
Questions people also ask
Sources
- Microsoft Learn: Customize booking page (opens in a new tab) · learn.microsoft.com
- Microsoft Learn: Set language time zones (opens in a new tab) · learn.microsoft.com
- Microsoft Learn: Custom domain support (opens in a new tab) · learn.microsoft.com
- Microsoft Learn: Share shared bookings page (opens in a new tab) · learn.microsoft.com
- Microsoft Learn: Granular controls shared bookings (opens in a new tab) · learn.microsoft.com
- Microsoft Learn: Bookings faq (opens in a new tab) · learn.microsoft.com
- Microsoft Learn: Define service offerings (opens in a new tab) · learn.microsoft.com
- Microsoft Learn (opens in a new tab) · learn.microsoft.com
- Microsoft Learn: Bookingbusiness publish (opens in a new tab) · learn.microsoft.com
- Microsoft Learn: Bookingbusiness unpublish (opens in a new tab) · learn.microsoft.com
- Microsoft Learn: Set organizationconfig (opens in a new tab) · learn.microsoft.com
- Microsoft Learn: How to share a service in microsoft bookings (opens in a new tab) · learn.microsoft.com
Edit or question? hello@bookingsxp.com