Acuity Scheduling cost vs self-hosted Easy!Appointments

Acuity charges by bookable calendars and reserves HIPAA, API and branding removal for Premium. Easy!Appointments has no license fee, but you pay for hosting, setup, payments, SMS and upkeep. Here is how to weigh them.

On this page

Does self-hosting Acuity's scheduling actually cost less?

Self-hosting Easy!Appointments removes the per-calendar subscription, but it moves hosting, installation, payment and SMS work, and ongoing maintenance onto your organization. Whether that nets out cheaper depends on how many bookable calendars you run, which features you genuinely need, and whether your staff can operate a PHP and MySQL application. Easy!Appointments is licensed under GPL v3.0 and charges no recurring fees or booking commissions, so the cost you control is labor and infrastructure. No Acuity price figure appears here, so read the current plan pricing on Acuity's own site before comparing.

Start by listing your cost components on both sides. On the Acuity side, the recurring line is the plan price multiplied by calendars, plus any tier you need for features such as HIPAA-related terms or API access. On the self-hosted side, the recurring lines are server or cloud hosting, backups, TLS certificates, PHP and MySQL upgrades, and staff time. The one-time lines are installation, data migration and any custom work. Easy!Appointments runs on PHP 8.2 or later with MySQL, so confirm that your hosting environment supports that version and that someone will apply updates. The author sells Premium Services covering installation, upgrades, migration, support and customization, and those are quoted separately from the free software.

Features that Acuity includes out of the box, such as payments, SMS reminders and intake forms, are the largest unknown. The Easy!Appointments website says custom development can add SMS, payments, reports, reminders and third-party integrations, so each of these becomes a scoped build with its own one-time and ongoing costs. Ask the author's team for a written quote covering installation, the specific integrations you need, and a maintenance plan, and ask your own engineers to estimate the hours for patching and monitoring. Compare the totals over three years, not just the first invoice, because a low setup cost can hide a high recurring support burden.

Which cost components change when you move from Acuity to Easy!Appointments

This table sets each cost component of Acuity Scheduling against its self-hosted counterpart in Easy!Appointments, marking whether it recurs or is paid once. Use it to see where spending moves from a subscription to setup, hosting and staff time, and what to request in a quote before deciding.

Cost componentAcuity Scheduling (commercial)Easy!Appointments (self-hosted)One-time or recurring
Subscription or licenseSubscription priced by bookable calendar, with HIPAA, API and branding removal held for the Premium tierNo license fee. Code is GPL v3.0 and the project states there are no recurring fees or booking commissionsAcuity recurring; Easy!Appointments none
HostingIncluded in the vendor's serviceYou pay for a PHP host or server, a MySQL database, and Apache or Nginx, sized to your traffic and backupsRecurring
Installation and configurationSetup done by your team in the admin consoleDatabase creation, file copy, configuration edit and install run, either by your staff or a paid installation from the author's Premium ServicesOne-time
Payment and SMS integrationBuilt in, with payment collection and text reminders available in the productNot included. The project says custom development can add SMS and payments, so quote these as separate build work and confirm the integrations you needOne-time build plus ongoing provider fees
MigrationExport of client and appointment data is handled within the productRe-creating appointment types as services, calendars as providers, and carrying over client records and upcoming bookings, usually with a paid or internal effortOne-time
SupportVendor support included under the plan you buyCommunity support through a Google group, GitHub and Discord, or paid support from the author; ask for response expectations in writingSupport contract recurring if bought
Upgrades and maintenanceVendor applies product updatesYou apply releases, such as the 1.6.0 release published May 27, 2026, and test customizations after each upgradeRecurring staff time or retainer
Internal skillsAdmin work only, with no server administrationSomeone must maintain PHP, MySQL, backups, TLS and security patches, or contract that work outRecurring

What you pay for on each side of the comparison

The commercial side is a recurring subscription priced by bookable calendars, so your bill grows with every provider, room or resource that takes appointments. The controls that regulated practices often need, including HIPAA coverage, API access and removal of Acuity branding, are gated to the Premium tier. A clinic that needs a business associate agreement therefore pays for that tier whether or not it uses the other extras. Confirm current tier prices and the features each tier includes directly with Acuity, because plan details change. Ask for the monthly cost at your expected calendar count and for the price of the tier that includes the agreement.

The self-hosted side has a license fee of zero. Easy!Appointments is free with no recurring fees or booking commissions, but running it still costs money in four places. Hosting is paid to your hosting provider or data center, and the server needs PHP 8.2 or later, MySQL and Apache or Nginx. Installation is a one-time cost, which your own staff can absorb or which an installer can perform. Integrations such as SMS, payments and reminders are not in the core product, so a developer is paid for the build, and the SMS or payment provider you connect will bill its own usage fees. Maintenance, including upgrades and security fixes, recurs and falls to your staff or to a support arrangement.

Build a sheet with one row per cost, listing who is paid, whether it is one-time or recurring, and what drives it up. Hosting scales with traffic and with the redundancy you choose. Installation and customization are one-time, while upgrades and support recur. Ask any installer for a written scope that covers the initial install, the upgrade path to later releases such as 1.6.0, published May 27, 2026, and whether SMS and payments are included or priced separately. Staff time is the cost most often left out. Assign hours for configuring services and providers, reviewing release notes and handling booking problems, and price those hours at your internal rate before comparing totals over the period you plan to keep the system.

What moves the cost comparison most

Acuity's bill grows with the number of bookable calendars, while Easy!Appointments has no license fee but shifts cost into hosting, customization and upkeep. The drivers below decide which side of that trade-off your organization lands on, so model each one against your own volumes before comparing totals.

Bookable calendars and providers

Acuity prices by bookable calendar, so every additional practitioner or room adds to the recurring subscription. Easy!Appointments models the same people as providers without a per-calendar license fee, which means headcount growth mainly raises your hosting and support load rather than your license line. Ask Acuity for the exact calendar count your plan covers and list every provider and location you will need in year one and year three.

Payments, SMS and intake data

Payment collection, SMS reminders and intake forms are included in Acuity, but Easy!Appointments needs custom development to add them, and the author's Premium Services can scope that work. Each feature you need turns into a one-time build plus ongoing maintenance, and payment and SMS providers may carry their own fees. Write down which of these features are required on day one, since they usually drive the gap more than the base software does.

Data volume and retention

Appointment history, client records and intake attachments grow over time and increase database size, backup duration and storage cost on your servers. Acuity keeps this data in the vendor's cloud, while a self-hosted instance means you size storage, set retention periods and pay for backups yourself. Confirm how long you must keep client records under your own policies before estimating storage.

Uptime expectations

A booking page that goes down during peak hours costs appointments directly, so the expected availability level changes what hosting you need. Self-hosting moves responsibility for redundancy, patching, monitoring and failover to your team or to a support contract. Ask what availability target your clients expect and whether a single PHP and MySQL server can meet it, or whether you need a second node and a managed database.

In-house PHP and MySQL skills

Running Easy!Appointments requires PHP 8.2 or later, MySQL and a web server, and every upgrade or security patch takes staff time. If your team already operates LAMP-style applications, the recurring effort stays small, but if no one owns that stack, you will pay an outside firm for installation, upgrades and support. Check who will apply releases such as 1.6.0 and who responds when the booking page fails on a weekend.

How to build the comparison with your own numbers

This sequence turns the cost comparison into a model built from your own Acuity invoices, staff time and written quotes, so the result reflects your calendars, your team and your chosen period rather than any published figure.

  1. Inventory your current Acuity plan and usage

    Pull the last twelve months of Acuity invoices and the plan tier you are on, then list every bookable calendar, every appointment type, and which features you actually use: intake forms, payments, packages, gift certificates, SMS reminders, and any API connections. Confirm the plan's calendar count and whether your use of HIPAA-related features depends on the Premium tier. Done when you have one sheet that maps each paid line item to a feature your staff depends on, and each feature to the calendars or staff members that use it.

  2. List the Easy!Appointments components you would need

    Map each Acuity feature from the inventory to a component in Easy!Appointments: services and providers for appointment types and calendars, the booking page, Google Calendar synchronization, and then the items the project does not include out of the box, such as payment collection, SMS reminders, intake forms, reports or third-party integrations. Mark each item as included, needs custom development, or needs a separate third-party service. Also list the hosting pieces you must run: a PHP 8.2 or later runtime, a MySQL database, Apache or Nginx, backups, and TLS. Done when every Acuity line item has a matching row with one of those three labels.

  3. Request written quotes from a fixed scope

    Write a scope document from the component list and send it to the vendors who will carry out the work, including the Easy!Appointments author who sells Premium Services for installation, upgrades, migration, support and customization, and any other implementation partner you are considering. Ask each for a fixed price per deliverable, the assumptions behind it, what is excluded, the support hours included, and how upgrades to later releases are billed. Ask for the payment-provider and SMS-provider integration separately, since those carry their own third-party fees. Done when you hold comparable written quotes against the same scope document.

  4. Estimate internal hours from your own staff records

    Use your timesheets, helpdesk tickets and calendar history rather than general estimates. Record the hours your staff currently spend on booking changes, reminders, rescheduling, client questions and monthly admin on Acuity, and estimate how that changes during migration, testing and the first months of running a self-hosted system. Include the hours for patching, backup checks, monitoring and incident response that your team would own. Label these figures clearly as your internal assumptions. Done when each internal effort line has a source document or a named owner who agreed the number.

  5. Model one-time and recurring costs over your chosen period

    Choose the comparison period your finance team uses, then build two columns. The one-time column holds installation, customization, migration, testing, and your initial internal hours. The recurring column holds hosting, backups, domain and certificates, support, upgrades, maintenance hours, and any payment or SMS provider fees. Keep Acuity's recurring subscription, add-on and calendar-based charges in its own column from your invoices. Note which drivers raise each figure, such as the number of calendars, message volume, or the need for a higher hosting tier. Done when both columns total for the same period and every cell traces to an invoice, quote or timesheet.

  6. Run the same model with a fixed-price implementation

    Repeat the model with the fixed-price implementation quote in place of the separate installation and customization estimates, and check whether the same assumptions still hold for ongoing support and upgrades. Compare the two scenarios side by side against the Acuity column, and mark any feature still outstanding after the fixed scope. Confirm with the implementation provider which deliverables, acceptance tests and exclusions are written into the agreement. Done when the three columns, Acuity, self-hosted with your own team, and fixed-price implementation, can be reviewed together and each gap is explained in writing.

Costs teams forget on each side

Acuity's list price is only part of what a client-booking business pays today, and self-hosting moves costs rather than removing them. The cards below list the items that most often appear after a switch, on the vendor side and on the self-hosted side, so the comparison covers the full picture.

Plan upgrades for a single feature

Plans are priced by bookable calendars, and some features sit in higher tiers, so a business can move up a plan to get one capability it needs. Before comparing totals, list every feature the business depends on, such as intake forms, packages, payments, SMS reminders or a HIPAA business associate agreement, and check which tier includes each one. The cost of a needed upgrade often exceeds the base plan difference.

Add-on integrations on the vendor platform

Calendar, video, payment and reminder connections may be charged separately or require a higher tier, depending on the plan. Each connection that staff rely on becomes a recurring line item that grows with the number of calendars. Ask the vendor for a written list of which integrations are included in the plan you would buy, and which carry extra charges.

Staff time on the vendor's settings

Staff spend hours configuring event types, availability rules, reminders and intake forms, and those hours are paid whether or not the tool is used. Changes to hours or staffing repeat this work each season. Record how many hours per month the front desk spends on booking administration today, because that time moves to the self-hosted side as well.

Backups and restore testing

On a self-hosted instance the organization owns backups of the MySQL database, uploaded files and configuration. A backup that has never been restored is not proven, so a restore test should be scheduled and its effort budgeted. Ask whether the implementation partner will document backup scope and restore steps as part of the handover.

Security patching and version upgrades

Easy!Appointments requires PHP 8.2 or later and a MySQL database, so the operating system, web server, PHP and MySQL all need patching on a schedule the business owns. Version changes in the application, such as the 1.6.0 release published on May 27, 2026, need a test on a staging copy before production. Confirm who applies patches, who watches advisories, and how long the maintenance window is.

Monitoring, uptime and SMS and payment accounts

A booking tool that is down loses appointments, so monitoring for uptime, certificate expiry and failed reminders is an operating cost. Custom SMS and payment features also need the business to hold its own provider accounts, with their own usage fees and compliance obligations. Ask the implementation partner to list every third-party account the setup depends on and who holds the credentials.

Staff turnover on a niche stack

Easy!Appointments is a PHP application with a small community, so finding someone who knows its configuration, customizations and upgrade path can take longer than hiring for a mainstream platform. When the person who built a custom integration leaves, the business pays to relearn or to rebuild it. Document customizations, keep the source of each change, and budget for a support retainer or Premium Services if internal knowledge is thin.

How the comparison looks for different practices

A solo consultant with one calendar usually has the simplest comparison. Acuity's cost is driven by the number of bookable calendars, so a single calendar keeps the subscription question narrow. Easy!Appointments has no license fee, so the cost question shifts to where it runs and who keeps it working. For a practice this small, the main recurring cost is often the hosting and the time the consultant spends on updates, backups and the booking link, rather than any software line item.

  • Subscription line: Acuity charges by bookable calendar, so one calendar sets the floor. Ask whether the tier you need includes the features you rely on, such as intake forms or payments.
  • Hosting: Easy!Appointments needs PHP 8.2 or later, MySQL, and Apache or Nginx. Ask your host what it charges for a managed PHP and MySQL environment.
  • Setup time: Installation is a short sequence of steps, but someone must still configure services, providers and the calendar connection. Decide whether you will do this yourself or pay for installation.
  • Ongoing upkeep: Plan for version upgrades and backups as recurring tasks, even when no fee applies.
  • Payments and reminders: If you collect payment or send SMS, these need custom development on Easy!Appointments. Get a written scope before assuming they are included.

Illustrative example: a consultant with one calendar and no payment needs may find the hosting and upkeep the largest recurring items. Confirm the scope of every add-on before you compare totals.

Questions buyers ask before comparing cost

How much effort does a self-hosted Easy!Appointments install take, and can our staff do it?

Installing Easy!Appointments is a short, well-defined task for a team that has deployed PHP applications before. The documented steps are creating a MySQL database, copying the files to the web server, editing the configuration file and opening the install URL in a browser. The server needs PHP 8.2 or later, a MySQL database and Apache or Nginx. The core install is usually the smaller part of the work. Effort grows with HTTPS setup, backups, a staging copy, outbound email for reminders, and Google Calendar sync, each of which needs configuration and testing. Confirm the exact server requirements in the Easy!Appointments GitHub repository before you plan the work.

What does our organization need to supply for a self-hosted booking system?

The buyer supplies the hosting, the people and the decisions. In practice that means:

  • A server or virtual machine that meets the PHP 8.2, MySQL and Apache or Nginx requirements, in a location your policies allow
  • A domain name and TLS certificate for the booking pages
  • An owner for patching, backups, restore tests and upgrades
  • Decisions on services, providers, intake questions and reminder wording
  • Google Calendar credentials and a named person who approves each integration

You also need a sign-off contact for data handling, since intake answers and client records will sit on your servers. Write these items into the scope before comparing any quote, because each one changes the cost of the work.

How long does moving from Acuity depend on how much data we have?

Migration time depends mostly on the volume and complexity of the data, not on the software itself. The main drivers are the number of client records, the number of upcoming appointments you must carry over, how much appointment history you keep, and how many custom intake answers need mapping. A small client list with simple appointment types is a short exercise. A large history with many intake forms and packages takes more mapping, cleaning and validation. Ask the implementer for a plan based on a sample export from your own Acuity account, and confirm how each field will be mapped before agreeing a timeline in writing.

Are Premium Services required to run Easy!Appointments?

No. Easy!Appointments is free, with no recurring license fees and no booking commissions, and its code is licensed under GPL v3.0. The author also sells Premium Services for installation, upgrades, migration, support and customization, according to the Easy!Appointments website. Those services are optional. You can run the software with your own staff or with an independent implementer. The decision depends on whether you have internal PHP and MySQL skills, how urgent the migration is, and whether you want a single party responsible for upgrades. Compare the cost of the Premium Services with the internal time they would replace.

What drives the ongoing maintenance cost of a self-hosted scheduler?

Maintenance is recurring work, and it does not stop after go-live. The main items are keeping PHP, MySQL and the web server patched, applying Easy!Appointments upgrades, running and testing backups, renewing certificates, monitoring uptime and reviewing access. Integrations add their own upkeep when the calendar or payment APIs change. The version 1.6.0 release was published on May 27, 2026, and version 1.6.1 is in beta, so plan a test environment for each upgrade. Costs go up when maintenance is unowned or when integrations are numerous. They go down when one team owns a runbook and a support retainer covers the rest.

Do payments and SMS reminders need custom development in Easy!Appointments?

Yes, if you need them. The Easy!Appointments website says custom development can add SMS, payments, reports, reminders and third-party integrations. Acuity includes intake forms, payments, packages and SMS reminders in its plans, so the same functions must be built or integrated when you move. Scope each one separately: the payment provider, the SMS provider, the checkout method, and how reminders are triggered and logged. Ask whether card data stays with the payment provider through a hosted checkout, because that choice affects your compliance work. Confirm the approach with your payment and SMS providers before you agree a fixed scope.

How do we get a quote that we can compare with our Acuity bill?

Write a scope that lists what your current Acuity setup actually does. Include the number of calendars and providers, the appointment types and packages, the intake forms, the payment and SMS flows, the number of client records to migrate, the integrations, the hosting location, and the support hours you need. Ask the implementer for a fixed-scope proposal with deliverables, timelines and exclusions in writing. DeployOpen plans and implements self-hosted platforms in your own infrastructure, and most engagements are fixed-scope, with a quote that follows from that written scope. Compare the one-time setup cost and any retainer with the Acuity plan you would otherwise renew for the same calendars and features.

When staying on Acuity is the cheaper choice

Staying on Acuity Scheduling is the cheaper choice when the subscription costs less than the internal effort a self-hosted Easy!Appointments would demand. That is more often the case than cost comparisons suggest. A small practice with no one who can run PHP 8.2, a MySQL database and an Apache or Nginx web server, and no appetite for applying updates, watching backups and restoring service after an outage, pays for those skills in some other form. The honest question is who in your organization would own that work every month, and whether that person has the time.

Built-in intake forms and payment collection are the second case. Easy!Appointments does not include them. The project's website says custom development can add payments, SMS and reminders, so you would be buying a scoped build from the author or a developer, then maintaining the payment gateway integration, its webhooks and its compliance evidence yourself. If your bookings depend on deposits, packages or signed intake questionnaires collected at checkout, price that build and its upkeep before you assume the subscription is the expensive option. Ask any implementation partner to quote those features as separate line items.

Before deciding, write down the recurring internal hours for patching, backups, restore tests, certificate renewal, monitoring and user support, and assign a loaded hourly rate to them. Compare that figure with your current Acuity plan for the number of bookable calendars you actually use, then add the one-time cost of setup and any customization. If the internal total is higher, or the work falls on someone who is already stretched, the subscription is the cheaper choice for now. Revisit the decision when your booking volume, team size or data residency rules change.

How DeployOpen scopes a fixed-price Easy!Appointments implementation

DeployOpen plans, implements, customizes, hardens, backs up and documents self-hosted open-source platforms inside your own infrastructure, so an Easy!Appointments deployment for a booking business can be scoped before any work starts. Engagements are fixed-scope, with scope, deliverables and timelines agreed in writing before work begins, and we do not publish a price list.

How we scope

  • We list every Acuity appointment type, calendar and booking page you need to recreate as Easy!Appointments services and providers.
  • We record which payments, SMS reminders, intake forms and reports need custom development, since Easy!Appointments does not include them by default.
  • The written scope names hosting location, PHP and MySQL versions, and who owns the server, backups and the domain.

How we build

  • We install Easy!Appointments in your cloud account or data center, following the database, file copy and configuration steps in the project documentation.
  • We build the custom payment, SMS or reporting features listed in the scope, then test booking, rescheduling and cancellation flows end to end.
  • We configure Google Calendar synchronization and confirm availability rules match your current working hours and buffer times.

How we hand over

  • You receive documentation of the configuration, customizations, access model and the steps to restore from backup.
  • We provide a cutover plan for switching the website booking link from Acuity to your new Easy!Appointments address.
  • Upcoming client appointments are reviewed with you before cutover, so no booking is lost in the switch.

How we support

  • Ongoing support, upgrades and testing of your Easy!Appointments instance are available as a retainer after handover.
  • Upgrades to new Easy!Appointments releases are planned, tested in a copy of your environment, then applied to production.
  • Ask any provider to confirm in writing which costs recur, such as hosting, SMS provider fees, payment processing fees and retainer hours.

Sources and further reading

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.