{"id":681,"date":"2020-11-30T15:16:16","date_gmt":"2020-11-30T20:16:16","guid":{"rendered":"https:\/\/blog.markdepalma.com\/?p=681"},"modified":"2022-11-02T21:55:18","modified_gmt":"2022-11-03T01:55:18","slug":"using-an-alternative-address-for-microsoft-bookings-companies","status":"publish","type":"post","link":"https:\/\/blog.markdepalma.com\/?p=681","title":{"rendered":"Using an alternative address for Microsoft Bookings companies"},"content":{"rendered":"\n<p><strong>UPDATE (11\/2\/22): I just noticed a parameter in OWA policies in EXO PowerShell the other day that allows you to set the default domain for Bookings calendars. I was able to set the default domain to bookings.company.com and it is taking effect for all newly created Bookings calendars. <em>You need to run this for all OWA mailbox policies that apply to users who have access to create calendars.<\/em> The command I used was:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Set-OwaMailboxPolicy -Identity OwaMailboxPolicy-Default -BookingsMailboxDomain bookings.company.com<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>During testing of Microsoft Bookings we found there was no way to adjust the sender email address for a Bookings company. This was frustrating as our default address was our default tenant address (which ended in onmicrosoft.com). This led me to ask how does this system even work? What is generating the emails? What hosts the email address?<\/p>\n\n\n\n<p>Let&#8217;s start by looking for the object(s) hosting this service from an email perspective. To do this we can issue the command below in an Exchange Online PowerShell session. For each &#8216;company&#8217; created in Bookings there is an associated mailbox created with the &#8216;<strong>RecipientTypeDetails<\/strong>&#8216; of &#8216;<strong>SchedulingMailbox<\/strong>&#8216;. <em><strong>These mailboxes are not visible in the Exchange Online admin console.<\/strong><\/em><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Get-Mailbox -RecipientTypeDetails SchedulingMailbox<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/blog.markdepalma.com\/wp-content\/uploads\/2020\/11\/image-6.png\"><img loading=\"lazy\" decoding=\"async\" width=\"754\" height=\"124\" src=\"https:\/\/blog.markdepalma.com\/wp-content\/uploads\/2020\/11\/image-6.png\" alt=\"\" class=\"wp-image-684\" srcset=\"https:\/\/blog.markdepalma.com\/wp-content\/uploads\/2020\/11\/image-6.png 754w, https:\/\/blog.markdepalma.com\/wp-content\/uploads\/2020\/11\/image-6-300x49.png 300w, https:\/\/blog.markdepalma.com\/wp-content\/uploads\/2020\/11\/image-6-624x103.png 624w\" sizes=\"auto, (max-width: 754px) 100vw, 754px\" \/><\/a><\/figure>\n\n\n\n<p>When the company is created, the user(s) with permissions to manage are added with &#8216;<strong>FullAccess<\/strong>&#8216; to the mailbox permissions. This is how Bookings company permissions are managed.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/blog.markdepalma.com\/wp-content\/uploads\/2020\/11\/image-7.png\"><img loading=\"lazy\" decoding=\"async\" width=\"754\" height=\"98\" src=\"https:\/\/blog.markdepalma.com\/wp-content\/uploads\/2020\/11\/image-7.png\" alt=\"\" class=\"wp-image-689\" srcset=\"https:\/\/blog.markdepalma.com\/wp-content\/uploads\/2020\/11\/image-7.png 754w, https:\/\/blog.markdepalma.com\/wp-content\/uploads\/2020\/11\/image-7-300x39.png 300w, https:\/\/blog.markdepalma.com\/wp-content\/uploads\/2020\/11\/image-7-624x81.png 624w\" sizes=\"auto, (max-width: 754px) 100vw, 754px\" \/><\/a><\/figure>\n\n\n\n<p>The mailbox is also configured to forward to the email address configured under <strong>&#8216;Business Information&#8217; -&gt; &#8216;Send customer replies to&#8217;<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/blog.markdepalma.com\/wp-content\/uploads\/2020\/11\/image-13.png\"><img loading=\"lazy\" decoding=\"async\" width=\"623\" height=\"73\" src=\"https:\/\/blog.markdepalma.com\/wp-content\/uploads\/2020\/11\/image-13.png\" alt=\"\" class=\"wp-image-700\" srcset=\"https:\/\/blog.markdepalma.com\/wp-content\/uploads\/2020\/11\/image-13.png 623w, https:\/\/blog.markdepalma.com\/wp-content\/uploads\/2020\/11\/image-13-300x35.png 300w\" sizes=\"auto, (max-width: 623px) 100vw, 623px\" \/><\/a><\/figure>\n\n\n\n<p>There is also a Azure AD user account created for each company.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/blog.markdepalma.com\/wp-content\/uploads\/2020\/11\/image-8.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"253\" src=\"https:\/\/blog.markdepalma.com\/wp-content\/uploads\/2020\/11\/image-8.png\" alt=\"\" class=\"wp-image-692\" srcset=\"https:\/\/blog.markdepalma.com\/wp-content\/uploads\/2020\/11\/image-8.png 1024w, https:\/\/blog.markdepalma.com\/wp-content\/uploads\/2020\/11\/image-8-300x74.png 300w, https:\/\/blog.markdepalma.com\/wp-content\/uploads\/2020\/11\/image-8-768x190.png 768w, https:\/\/blog.markdepalma.com\/wp-content\/uploads\/2020\/11\/image-8-624x154.png 624w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>To avoid email address conflicts we decided we would create a new sub-domain for Bookings mailboxes called bookings.domain.com. To do this you would <a href=\"https:\/\/docs.microsoft.com\/en-us\/microsoft-365\/admin\/setup\/domains-faq?view=o365-worldwide#can-i-add-custom-subdomains-or-multiple-domains-to-microsoft-365\">use the Microsoft 365 admin center to add a new domain<\/a>. After this domain is added and proofed it can be used in Azure AD\/O365. <em><strong>Make sure you configure on-premises Exchange routing for this new sub-domain if you are in a hybrid configuration.<\/strong> <a href=\"https:\/\/docs.microsoft.com\/en-us\/exchange\/hybrid-deployment\/set-up-microsoft-365-groups#configure-a-group-domain\">You can use the instructions under &#8216;Configure a group domain&#8217; here to setup this routing.<\/a><\/em><\/p>\n\n\n\n<p>Now that we have the new sub-domain we can use this in our Bookings company mailbox. The easiest way to do this is to adjust the UPN of the user account associated with the mailbox. This will automatically update the address.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/blog.markdepalma.com\/wp-content\/uploads\/2020\/11\/image-9.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"535\" src=\"https:\/\/blog.markdepalma.com\/wp-content\/uploads\/2020\/11\/image-9.png\" alt=\"\" class=\"wp-image-701\" srcset=\"https:\/\/blog.markdepalma.com\/wp-content\/uploads\/2020\/11\/image-9.png 1024w, https:\/\/blog.markdepalma.com\/wp-content\/uploads\/2020\/11\/image-9-300x157.png 300w, https:\/\/blog.markdepalma.com\/wp-content\/uploads\/2020\/11\/image-9-768x401.png 768w, https:\/\/blog.markdepalma.com\/wp-content\/uploads\/2020\/11\/image-9-624x326.png 624w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>After the Exchange Online directory syncs up with Azure AD the email address should be updated.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/blog.markdepalma.com\/wp-content\/uploads\/2020\/11\/image-10.png\"><img loading=\"lazy\" decoding=\"async\" width=\"738\" height=\"122\" src=\"https:\/\/blog.markdepalma.com\/wp-content\/uploads\/2020\/11\/image-10.png\" alt=\"\" class=\"wp-image-696\" srcset=\"https:\/\/blog.markdepalma.com\/wp-content\/uploads\/2020\/11\/image-10.png 738w, https:\/\/blog.markdepalma.com\/wp-content\/uploads\/2020\/11\/image-10-300x50.png 300w, https:\/\/blog.markdepalma.com\/wp-content\/uploads\/2020\/11\/image-10-624x103.png 624w\" sizes=\"auto, (max-width: 738px) 100vw, 738px\" \/><\/a><\/figure>\n\n\n\n<p>Now we need to unpublish and re-publish the company booking page so that it starts using the new address.<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/blog.markdepalma.com\/wp-content\/uploads\/2020\/11\/image-11.png\"><img loading=\"lazy\" decoding=\"async\" width=\"714\" height=\"567\" data-id=\"697\" src=\"https:\/\/blog.markdepalma.com\/wp-content\/uploads\/2020\/11\/image-11.png\" alt=\"\" class=\"wp-image-697\" srcset=\"https:\/\/blog.markdepalma.com\/wp-content\/uploads\/2020\/11\/image-11.png 714w, https:\/\/blog.markdepalma.com\/wp-content\/uploads\/2020\/11\/image-11-300x238.png 300w, https:\/\/blog.markdepalma.com\/wp-content\/uploads\/2020\/11\/image-11-624x496.png 624w\" sizes=\"auto, (max-width: 714px) 100vw, 714px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/blog.markdepalma.com\/wp-content\/uploads\/2020\/11\/image-12.png\"><img loading=\"lazy\" decoding=\"async\" width=\"671\" height=\"540\" data-id=\"698\" src=\"https:\/\/blog.markdepalma.com\/wp-content\/uploads\/2020\/11\/image-12.png\" alt=\"\" class=\"wp-image-698\" srcset=\"https:\/\/blog.markdepalma.com\/wp-content\/uploads\/2020\/11\/image-12.png 671w, https:\/\/blog.markdepalma.com\/wp-content\/uploads\/2020\/11\/image-12-300x241.png 300w, https:\/\/blog.markdepalma.com\/wp-content\/uploads\/2020\/11\/image-12-624x502.png 624w\" sizes=\"auto, (max-width: 671px) 100vw, 671px\" \/><\/a><\/figure>\n<\/figure>\n\n\n\n<p>After re-publishing the page we need to wait a little bit for it to pick up the new email address. Eventually Bookings will start sending emails from the new email address. In testing it took around 10-15 minutes to take effect.<\/p>\n\n\n\n<p>One more thing to note is that Bookings does not give you a method to delete companies after creating them. If you ever need to delete the company you simply need to delete the mailbox\/user using the <strong>Remove-Mailbox<\/strong> cmdlet.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>UPDATE (11\/2\/22): I just noticed a parameter in OWA policies in EXO PowerShell the other day that allows you to set the default domain for Bookings calendars. I was able to set the default domain to bookings.company.com and it is taking effect for all newly created Bookings calendars. You need to run this for all [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[64,66,171,69,99,72,67],"tags":[],"class_list":["post-681","post","type-post","status-publish","format-standard","hentry","category-active-directory","category-azure","category-bookings","category-exchange","category-o365","category-powershell","category-scripting"],"_links":{"self":[{"href":"https:\/\/blog.markdepalma.com\/index.php?rest_route=\/wp\/v2\/posts\/681","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.markdepalma.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.markdepalma.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.markdepalma.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.markdepalma.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=681"}],"version-history":[{"count":14,"href":"https:\/\/blog.markdepalma.com\/index.php?rest_route=\/wp\/v2\/posts\/681\/revisions"}],"predecessor-version":[{"id":846,"href":"https:\/\/blog.markdepalma.com\/index.php?rest_route=\/wp\/v2\/posts\/681\/revisions\/846"}],"wp:attachment":[{"href":"https:\/\/blog.markdepalma.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=681"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.markdepalma.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=681"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.markdepalma.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=681"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}