Microsoft Bookings cost when leaving Microsoft 365

Bookings has no separate license, so leaving it means comparing the Microsoft 365 plan you would keep or drop against hosting, integration, migration and support for a self-hosted scheduler.

On this page

What Microsoft Bookings costs when you leave Microsoft 365

Bookings has no license of its own. You pay for it only as part of a Microsoft 365 or Office 365 plan, so leaving Bookings is rarely a single line item you can cancel. The saving depends on what else that plan covers: mail, Exchange mailboxes, Teams, SharePoint, device management and identity. Before you estimate any saving, list which of those services your organization will keep, which it will move, and which it will drop. Ask your Microsoft account team or licensing reseller to show the plan components as they apply to your tenant, because the cost you can remove is the cost that is actually tied to Bookings and nothing else.

Easy!Appointments has no license or booking fees. The project is free with no recurring fees or booking commissions, according to its website, so the recurring costs you will carry are the ones you run yourself. These are the server or virtual machine, PHP 8.2 or later, a MySQL database, the web server, backups, TLS certificates, monitoring and the staff time to patch and upgrade. Integration with Google Calendar is built in, but connecting Exchange or Microsoft 365 calendars, sending SMS, taking payments or adding reports may need custom development. Those are one-time project costs, and they should be quoted against a written scope before work starts.

Where paid support fits in is a decision for your organization. Nextcloud is a useful reference point if you also move calendars and files there, because Nextcloud GmbH publishes Enterprise list prices from 71.29 euros per user per year on Standard, 104.99 euros on Premium and 204.75 euros on Ultimate, with a 100-user minimum and lower rates from 200 users. Those are list prices, and the tier you choose sets how long maintenance lasts and what support hours apply. For Easy!Appointments, the author sells Premium Services covering installation, upgrades, migration, support and customization. Ask any provider for a quote that separates one-time setup from annual support, names the response times and states who patches the operating system and database.

Cost components on each side

This table sets the cost of keeping Bookings inside Microsoft 365 against the cost of running Easy!Appointments or Nextcloud on your own servers, one component per row. Read the one-time and recurring column first, because most of the self-hosted spend is labor and infrastructure rather than license fees. Bookings has no separate price, so confirm with your Microsoft account team which licenses are actually in scope before comparing.

Cost componentMicrosoft 365 side (Bookings admin time and plan share)Self-hosted side (server, database, PHP, backups, optional paid support)One-time or recurring
Subscription or licenseBookings is included in the Microsoft 365 plan, so the cost is a share of plans already paid for, which often stays unchanged until every dependent service is removedEasy!Appointments is free with no recurring fees; Nextcloud Server is free, while Nextcloud Enterprise is a paid option with a 100-user minimumRecurring for Microsoft 365; none for the open-source core, recurring only if a paid Nextcloud or Easy!Appointments support plan is chosen
InfrastructureLittle visible cost, since Microsoft hosts the Bookings service and Exchange mailboxes behind itA virtual machine or host for the web server, a MySQL or MariaDB database for Easy!Appointments, and storage sized for bookings, customers and attachmentsRecurring (hosting, power or cloud compute, storage)
ImplementationInternal staff time to define services, staff and booking rules in Bookings, usually small for a single teamInstalling PHP 8.2 or later, the database, the web server, and configuring the configuration file; for Nextcloud, following the system requirements for database and PHP versionsOne-time
Migration of history and dataExport of the 120-day TSV report plus Microsoft Graph or EWS pulls for older records, performed by an administratorMapping services and staff to providers, importing customers, and checking that appointment history matches the sourceOne-time
Calendar and mail integrationBookings uses the Exchange scheduling mailboxes and Teams meeting links, managed by the existing Microsoft 365 tenantGoogle Calendar sync is built in to Easy!Appointments; Exchange, CalDAV or other calendar and SMTP connections may need custom work or a paid partner, so confirm before scopingOne-time build, with recurring maintenance when providers or mail platforms change
Booking page rebuildExisting Bookings pages stay live until retired, so the admin cost is limited to copying settingsRebuilding confirmation and reminder emails, booking page branding, and any payment or SMS features that Bookings or the custom build providesOne-time
SupportIncluded through the Microsoft 365 support model tied to the tenantCommunity support through the Easy!Appointments Google group, GitHub and Discord, or paid Premium Services from the author for installation, upgrades, migration and supportRecurring if you buy a support retainer; otherwise staff time
Upgrades and maintenanceHandled by Microsoft as part of the service, with no action from your teamNextcloud ships a major version every four months with one-year support windows, and each upgrade must move one major version at a time with a backup first; Easy!Appointments updates need the same careRecurring
Internal skillsMicrosoft 365 administrators already maintain Bookings and identityStaff who can run PHP, MySQL, web servers, backups and restores, and patch the stack on schedule, or a provider contracted to do itRecurring (time or retainer)

What moves the comparison most

Bookings has no line item of its own, so the comparison turns on what the organization would run itself. The six drivers below decide whether the self-hosted side is a small single-team install or a supported platform that needs its own budget, staff and backup routine.

Staff and provider count

Every bookable person adds calendar connections, availability rules and support questions. Easy!Appointments organizes services and providers in one schedule, so more providers mostly add configuration and review work rather than licenses. Count people who take bookings, not everyone with a mailbox. Ask whether the head count will grow over the next renewal cycle, because that changes how much setup work the migration carries.

Booking pages and services

Each booking page, service type and intake variation is configuration that must be rebuilt and then maintained. Bookings already holds these inside the Microsoft 365 tenant, so the rebuild is the largest one-time effort in most moves. Inventory every published page, its confirmation emails and its reminder rules before estimating. Pages that no one has used in a year are cheaper to retire than to recreate.

History to keep

Decide how much past appointment data must move. Bookings reports cover a limited window, so older history usually means a Microsoft Graph or EWS extraction, which takes engineering time. Long retention also raises database size, backup volume and storage cost on your own servers. Set the retention period with records, legal and privacy owners first, then price the extraction only for the data that must survive.

Availability and backup targets

A self-hosted booking system is only as available as the server, database and network path you provide. Bookings inherits Microsoft's service availability, and the self-hosted side must match it with redundant hosting, tested restores and monitoring. Ask whether bookings must be taken during patching and whether a restore has ever been tested. Each target you set adds recurring infrastructure and on-call time.

Other Microsoft 365 workloads

Bookings is often bundled with mail, Teams and SharePoint. If the organization keeps Exchange and Teams, leaving Bookings alone removes little license cost, but the integration work stays. If the plan is to exit the whole suite, the migration grows into identity, mail and file moves, and costs are shared across them. Confirm which other workloads and licenses depend on the same tenant before attributing any saving to Bookings.

In-house PHP and database skills

Easy!Appointments runs on PHP with a MySQL database, and Nextcloud needs its own upgrade discipline. Teams that already run these stacks absorb the work, while others pay a partner or hire for it. Check who will apply upgrades, handle database maintenance and respond to security notices. Support from the author or a partner is an ongoing line item, and it recurs for as long as the system stays in service.

Which Microsoft 365 costs stay when Bookings goes

Dropping Bookings alone rarely removes a Microsoft 365 plan, because the plan is priced as a bundle and most of its workloads stay in use. Exchange mail, Teams and identity usually remain, since staff still need mailboxes, meetings and sign-in to Entra ID whether or not an appointment scheduler is involved. The saving from Bookings is therefore usually the difference between the plan you have and a plan without Bookings entitlements, and only if your licensing contract allows that change at renewal. Confirm the exact SKU, the renewal date and any true-up terms with your Microsoft reseller or account team before assuming a number.

Split the plan cost by workload before deciding anything. Pull the current invoice and the SKU list, then assign each line to the people or services that use it: mailboxes, Teams calling and meetings, SharePoint and OneDrive storage, security add-ons and Bookings. Count how many users need each workload and whether any of them are licensed only for Bookings. A downgrade is worth modeling when Bookings is the only reason a group holds a higher tier, or when a shared scheduling mailbox consumes a license that could be reassigned. If Bookings is one feature among many on a higher tier, the scheduler saving alone is unlikely to justify the change.

Calendar integration also shapes the decision. Easy!Appointments synchronizes with Google Calendar, according to its project documentation, so organizations already on Google Workspace can keep a calendar link after the move. Synchronization with Exchange Online or Outlook calendars is not part of that supplied fact, so ask the Easy!Appointments maintainers, your integrator or your own test environment to confirm it before you plan around it. Until that check is done, keep the Exchange scheduling mailboxes running as a fallback.

How to build the comparison with your own numbers

This sequence turns the Bookings cost question into a like-for-like comparison: what you currently pay for Bookings inside Microsoft 365, what self-hosting would cost over the same period, and what the migration and support would add. The output is one table you can defend in a budget review.

  1. Identify the Microsoft 365 licenses in scope

    Start with your tenant's current subscriptions and list every plan that includes Bookings for the users who create or manage booking pages. Ask your Microsoft account team or reseller for the current plan names and per-user prices in your contract, because public list prices change and may not match your agreement. Some of these plans also cover email, Teams and file storage, so record that as a separate column. Do not assign the whole license cost to Bookings unless no other workload uses it. The output is a license inventory with user counts, contract prices and a note on which workloads each plan also covers.

  2. Attribute a share of licenses to Bookings

    Decide how much of each license belongs to Bookings. A common approach is to allocate by the workloads each user actually relies on, using a documented method your finance team accepts. Mail, Teams and storage usually stay on the bill if you keep Microsoft 365 for them, so the saving from dropping Bookings may be smaller than the full license price. Write down the allocation rule and who approved it. The output is a per-user figure for the Bookings share, with the assumption stated beside it.

  3. Count staff, providers and services

    Export a current list of the people who take bookings, the services they offer, and the booking pages that customers or staff use. Map each person to a provider role and each service to a duration and location, since Easy!Appointments and Nextcloud appointments organize work this way. Count active booking pages and shared calendars separately, because shared service calendars often hold the most history. The output is a count table of providers, services and booking pages that drives the hosting and effort estimates in later steps.

  4. Price the hosting and database you would run

    Ask your infrastructure team, or a partner, to price the servers, storage, backups, monitoring and database for the chosen platform in your own environment. Easy!Appointments needs PHP 8.2 or later with MySQL and a web server, and Nextcloud has its own recommended database and PHP versions in its system requirements, so check those against your standard images. Include a non-production instance for testing upgrades. Separate one-time setup from recurring infrastructure. The output is a monthly and annual infrastructure cost sheet with each component named and its source, whether internal capacity or a cloud invoice.

  5. Get a scoped migration and integration quote

    Send the staff, service and booking counts, along with your calendar and mail integrations, to at least two implementation partners and request written, fixed-scope quotes. Ask each to itemize installation, data migration from Bookings, calendar and identity integration, custom reminders or payments if needed, documentation and training. Public list prices for implementation services are rarely a reliable guide, so do not use them as inputs. The output is a set of written quotes with identical scope definitions, which makes them comparable and lets you spot missing items.

  6. Add an annual support and upgrade line

    Decide whether your own staff, a partner retainer or a vendor support contract will handle upgrades, security patches and incident response, and price each option in writing. For Nextcloud, ask whether you need the community release cycle or an enterprise subscription, and check the vendor's current pricing page for the tier you would consider. For Easy!Appointments, ask the author or a partner what its paid support covers. Record the expected upgrade effort per year. The output is one annual support figure with the source named, so the recurring cost is visible.

  7. Compare totals over the same number of years

    Build a table with one column for staying on Microsoft 365 with Bookings and one for each self-hosted option. Use the same number of years for every column, and include one-time migration costs in the first year and recurring costs in every year. Show the Microsoft 365 share that remains if you keep mail or Teams, so the comparison is not inflated. Test the result by changing the user count and provider count to see which inputs move the answer most. The output is a multi-year comparison that states its assumptions and the quotes it relies on.

Easy!Appointments or Nextcloud: how the cost base differs

Easy!Appointments is a focused appointment scheduler. Its code is licensed under GPL v3.0 and its content under CC BY 3.0, and the project states that it is free with no recurring fees or booking commissions. The cost you carry is the infrastructure and the people who run it: a server, a PHP 8.2 or later runtime, a MySQL database, and Apache or Nginx. Those components are usually supplied by your existing hosting or virtual machine budget, so the recurring cost is mostly staff time and hosting rather than a per-seat license.

  • No license line item: Removing Microsoft 365 plans does not create a replacement subscription. Budget for hosting, backups and monitoring instead.
  • Optional Premium Services: The author sells installation, upgrades, migration, support and customization. These are one-time or retained engagements that you choose, not a requirement of the software.
  • Custom development is separate: SMS, payments, reports, reminders and third-party integrations are added through custom work, which is a one-time build cost plus ongoing maintenance.
  • Upgrades are your task: Version 1.6.0 was published on May 27, 2026, and you schedule its adoption in your own change window.
  • Community support is informal: The project uses a Google group, GitHub and Discord. Ask any paid support provider to define response expectations in writing.

Confirm with your team the hosting, database backup and patching effort your environment requires, since these are the costs that replace the Microsoft 365 line items.

Why upgrades and patching are a recurring line item

Upgrades are the cost that Microsoft 365 hid inside a subscription and that a self-hosted deployment hands back to you. Nextcloud publishes a new major version every four months and supports each one for one year through monthly maintenance releases. Its upgrade documentation does not allow skipping major releases, so an administrator must move through each major version in order, back up before every step and disable third-party apps until they are confirmed compatible. Plan for that cadence as a standing task, not an occasional project. The next scheduled major release, Nextcloud 36 (Hub 27 Winter), is listed for 17 February 2027, so confirm the current schedule in the maintenance and release wiki before you set your calendar.

Easy!Appointments has a different kind of currency risk. It runs on PHP 8.2 or later with a MySQL database, so the PHP runtime, the database engine and the web server all need patches on their own timelines. Check the version requirements before each PHP or database upgrade, because the application release and the runtime can fall out of step. Version 1.6.0 was published on May 27, 2026, and 1.6.1 is still in beta, so decide in advance whether your team will wait for a stable release or accept beta software on a production booking system. Ask any implementation partner to state in writing how they will handle that choice.

Two decisions keep this cost predictable. First, name one owner who is accountable for upgrade approval, patch windows and the backup restore test, and record that role in the operations runbook. Second, budget for a staging environment that mirrors production, so each upgrade is tested with your own calendar integrations, booking pages and third-party apps before it reaches customers. Both the staging host and the owner's time recur every year. When you request a quote, ask for the number of upgrades covered, who performs the backup verification, and whether maintenance is a retainer or billed per change.

Cost and effort questions buyers ask before hiring help

Does Easy!Appointments have any license cost?

No. Easy!Appointments is licensed under GPL v3.0 for its code and CC BY 3.0 for its content, and the project states it is free with no recurring fees or booking commissions. The cost of running it comes from the infrastructure you provide, the people who install and maintain it, and any custom work you commission. The author also sells Premium Services for installation, upgrades, migration, support and customization, so you can buy those pieces separately or do them with your own staff. Confirm the current license terms in the repository before you rely on them in a procurement file.

What recurring costs remain after dropping Microsoft 365 for bookings?

The software itself carries no recurring fee, so the recurring costs are operational. They include the server or virtual machine that runs PHP 8.2 or later with MySQL and a web server, backups, TLS certificates, monitoring, and patching. If you add SMS, payments, reminders or other integrations, those vendors bill separately, and custom development is a one-time cost that then needs maintenance. Ask any provider quoting support to state whether it is a fixed monthly retainer, a per-incident rate or a bundle, and which items are excluded.

Can an internal IT team run Easy!Appointments without outside help?

Often yes, if the team already runs PHP and MySQL applications and can handle routine upgrades. The install process is documented: create a database, copy the files, edit the configuration file and open the install URL. The harder parts are integration work (calendar sync, identity, notifications), security hardening, backup testing and keeping pace with releases. Check whether your staff have time for those tasks, who is on call when a booking page fails, and whether an external partner should cover the work you cannot staff.

How long does a migration off Microsoft Bookings take, and what drives it?

No duration is fixed by the supplied facts, so treat any single number with caution. The main drivers are the number of services, staff calendars and provider rules you must recreate, how much booking history you need to carry over, how many confirmation and reminder emails must be rebuilt, and how many Teams meeting links or Exchange scheduling mailboxes depend on the old setup. Integration with Google Calendar or your directory adds time, and so does testing with real staff before cutover. Ask for a written scope that lists each of these items so the timeline follows from the work.

What does the organization need to provide for a migration?

You need named owners for the business rules: which services exist, who delivers them, opening hours, buffers and cancellation policies. Technical work needs a host that meets your hosting policy, a database, DNS and TLS, a mail sender for notifications, and access to the Microsoft 365 data you intend to export. Staff must also test bookings and sign off the replacement booking pages. Agree in advance who approves the cutover and who decides what happens to the old Exchange scheduling mailboxes.

When is a Nextcloud Enterprise subscription worth comparing?

Compare it when you choose Nextcloud for calendar, Talk or file work and need paid maintenance or support terms. The pricing page lists Standard, Premium and Ultimate tiers with a 100-user minimum, with list prices starting at 71.29 euros, 104.99 euros and 204.75 euros per user per year for 100 or more users, and lower rates from 200 users. Standard includes 1-year maintenance, Premium adds a 5-year or longer maintenance lifecycle and clustered instance support, and Ultimate adds support up to 24/7. Weigh those costs against the community edition plus an outside support retainer, and confirm current prices directly with Nextcloud.

Who is paid for what when hiring help to leave Microsoft 365 bookings?

Usually three groups are paid. The software vendor may sell installation, upgrades or support, the hosting provider charges for infrastructure, and an implementation partner charges for scoping, migration, integration, hardening and documentation. Staff time is a fourth, often hidden, cost. DeployOpen works on fixed-scope engagements with deliverables and timelines agreed in writing before work starts, and ongoing support is available as a retainer. Ask each party to itemize its work so you can see what you pay for each component.

Costs teams forget on each side

Leaving Microsoft 365 moves cost from a bundled line item into components you can see and own. Some costs sit on the Microsoft side and persist through the migration, while others appear only after you host the platform yourself.

Exchange scheduling mailboxes

Each Bookings calendar is backed by a hidden Exchange scheduling mailbox that holds appointments and confirmations. These mailboxes stay licensed and billed as part of your Microsoft 365 plan until you delete them. Keep them running through the full migration and a dual-running period so confirmations and cancellations still reach customers, then confirm with your Microsoft account team and your retention policy how long their contents must be kept before deletion.

Backups and restore testing

A self-hosted booking server holds customer names, contact details and appointment history, so the database and the upload directory need scheduled backups that you test by restoring. Microsoft handles backup of Bookings data for you today, and that duty moves to your team or your service provider. Ask for the backup schedule, the retention period, where copies are stored and who performs the restore test before the Bookings tenant is closed.

TLS certificates and renewals

Customers reach the booking page over HTTPS, so the public hostname needs a valid certificate that renews automatically. Expired certificates are a common cause of failed bookings, and the renewal process must cover the web server, any reverse proxy and the calendar sync endpoint. Record who owns the renewal job and how it is monitored, and confirm that the certificate chain works on the mobile clients your customers use.

Monitoring and on-call coverage

Bookings runs inside Microsoft's service, and availability problems reach you as a support ticket. A self-hosted scheduler needs uptime checks on the booking page, a check that calendar sync is still reading and writing, and alerts for failed mail delivery. Monitoring tools and the staff who respond to alerts are recurring costs that belong in the total.

Rebuilding confirmation and reminder emails

Bookings sends confirmations, reminders and cancellations from templates that customers already recognize. Easy!Appointments has its own notification settings, so each message must be rewritten, tested against your mail relay and checked for correct time zones. Plan this as a one-time effort, and ask the implementer to list every message type in writing before work starts.

SMS, payment and reporting add-ons

Features that a team may assume are built in, such as SMS reminders, deposits or custom reports, are not part of a default Easy!Appointments install. The author's website says custom development can add SMS, payments, reports, reminders and third-party integrations, so each one is a scoped build with its own testing, provider contract and recurring fees. Ask for these as separate line items in any quote.

What a parallel run adds to the first-year cost

A parallel run adds cost because the Microsoft 365 plans that include Bookings stay licensed until the old scheduler is switched off, while the new scheduler, its server and its administration are already paid for. The length of that overlap is the main variable. It depends on how many bookings are still in flight, how many staff keep using Bookings links in email signatures, websites and printed materials, and how quickly change control approves the cutover. Each extra month of overlap is a month of seats you pay for without any new capability, so the cost should be modeled per month, not as a single line item.

Set the cutover date in the written scope before work starts, and name who signs it off. The scope should state the freeze point for new Bookings pages, the last date new bookings will be accepted in Bookings, and the date after which Bookings links are redirected or retired. Ask the implementation partner to write the cutover and rollback steps into the same document so that the overlap has an agreed end. Without a fixed date, the parallel period tends to extend by default, and the licensing cost extends with it.

Confirm the export options from the existing tool before you fix the date. Bookings offers a report of recent appointments from the Home tab, and for full history the options involve Microsoft Graph and Exchange Web Services, which need an administrator with suitable permissions. Ask your Microsoft 365 administrator which of these your tenant allows, how far back the data goes, and whether customer details and cancellations are included. If export turns out to be partial, the overlap may need to run longer to keep records available, so this check belongs in the cost model, not after cutover.

How DeployOpen works on this

DeployOpen is a Chainscore Labs company that plans, implements, integrates, hardens, backs up and documents self-hosted open-source platforms inside the client's own infrastructure. For Microsoft Bookings cost when leaving Microsoft 365, we start by agreeing in writing what the replacement must do, then build and hand it over with the documentation your team needs to run it.

How we scope

  • Engagements are fixed-scope, with scope, deliverables and timelines agreed in writing before work starts.
  • The written scope lists which Bookings services, staff calendars and booking pages move, and which are retired.
  • We confirm the hosting target, database, mail and identity sources so the quote reflects your own environment.

How we build

  • We install and configure the chosen platform, such as Easy!Appointments or Nextcloud, inside your cloud account or data center.
  • Calendar and mail integration is built and tested against your existing Exchange and identity setup.
  • Booking pages, confirmation emails and reminders are rebuilt and tested with sample bookings before go-live.

How we hand over

  • Deliverables include configuration records, runbooks, and a summary of which Microsoft 365 licenses can be reduced.
  • Backup and restore steps are documented and tested so your staff can recover booking data independently.
  • We provide training for administrators and a list of the upgrade steps your team must follow after handover.

How we support

  • Ongoing support, upgrades and continuous testing are available as a retainer after handover.
  • Retainer scope, response expectations and upgrade cycles are set out in writing, so cost stays predictable.
  • Ask us to confirm the support hours and escalation path in the written scope before you sign.

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.