Acuity Scheduling vs Easy!Appointments

Acuity Scheduling bundles intake forms, payments and SMS reminders into a hosted service priced by bookable calendars. Self-hosted Easy!Appointments has no license fee but needs a PHP and MySQL host and custom development for add-ons.

On this page

Acuity Scheduling vs Easy!Appointments: when each one fits

If you run a salon, clinic, tutoring practice or consulting business and are weighing an Acuity renewal against a data control requirement, the short answer is this: Acuity fits teams that want intake forms, payments, packages and SMS reminders working out of the box, while Easy!Appointments fits teams that can host PHP and MySQL and fund custom development for the add-ons they need. Easy!Appointments is free to license, but it is not a finished product for every workflow. Acuity's per-calendar pricing buys you the feature set, and self-hosting buys you control over where calendars, invitee details and bookings live.

Three questions should drive the decision. First, hosting control: does a policy, contract or regulator require that client records stay on servers you manage? If so, Easy!Appointments on your own infrastructure is a credible option, and Acuity is not. Second, maintenance: who will apply upgrades, watch the PHP and MySQL versions, back up the database and restore it after a failure? Name that person or vendor before you migrate. Third, day-one add-ons: count the features you use every week, such as deposits, intake questionnaires, package credits and text reminders. Each one you need on day one either exists in Acuity or becomes a development item for Easy!Appointments.

Confirm these points with the vendor and in your own environment before you decide. Check the current Easy!Appointments release notes and system requirements in the Easy!Appointments GitHub repository, confirm which payment and SMS providers a developer would integrate, and ask Acuity in writing which plan includes the features and data terms your compliance team needs. A short written list of required features, hosting constraints and a named maintainer will show quickly which option fits your business.

Which scheduling setup fits which practice

This table maps four common practice types to the option that usually fits better, Acuity Scheduling or self-hosted Easy!Appointments, and names the condition that would change the answer. Use it as a starting point, then confirm Acuity's plan features and any HIPAA terms directly with Acuity before deciding, since those terms can change.

Practice scenarioBetter fitWhy it depends on the condition
Solo tutor with no compliance duties and a few servicesDepends on budget and tolerance for setupAcuity handles payments, reminders and forms out of the box, while Easy!Appointments is free to license but needs hosting, installation and maintenance.
Multi-provider salon taking deposits and SMS remindersAcuity, unless you have developer supportAcuity includes payments and SMS, while Easy!Appointments needs custom development for those features, so the cost shifts to implementation.
Clinic collecting health intake dataDepends on a signed HIPAA agreement and your own safeguardsAcuity signs a business associate agreement only on a higher plan, so confirm that term with Acuity; Easy!Appointments fits only if you can run compliant hosting and controls yourself.
Consultant with a strict data residency ruleEasy!AppointmentsSelf-hosting keeps calendars, client details and bookings in a region and on servers you choose, which a hosted SaaS may not guarantee; confirm Acuity's data locations in writing.
Practice needing packages, gift certificates or intake formsAcuity, unless these are built as custom featuresAcuity offers these features natively, while Easy!Appointments would require custom work to match them.

How hosting and data control change the choice

Acuity and Easy!Appointments differ less in booking features than in who runs the servers, who holds the keys and who answers for compliance. The four areas below are worked through in parallel, so each decision can be checked before any migration planning starts.

Where calendars and client records live

With Acuity, calendars, client profiles, intake answers and payment references sit on the vendor's hosted service. With Easy!Appointments, the same records sit in a MySQL database on a server you choose, including customer names, phone numbers, notes and appointment history. Map each data type to a location before you decide, and confirm which copies, such as Google Calendar sync and email notifications, leave your servers.

Hosting models compared

Acuity is vendor-hosted, so uptime, patching and storage location follow the vendor's terms. Easy!Appointments needs PHP 8.2 or later, MySQL and Apache or Nginx on a server your organization or a provider of your choice operates. That gives control over location and maintenance, but the operating cost and on-call duty move to you. Ask any hosting provider where backups are stored and how restores are tested.

Safeguards, backups and access controls

In a self-hosted install, the organization carries the safeguards: TLS on the booking page, server hardening, encrypted database backups, tested restores, admin account reviews and removal of the install directory after setup. Acuity's vendor operates these controls for you. Write down who can export client data, who holds database credentials and how often access is reviewed before go-live.

Identity and login considerations

Acuity manages staff and client accounts in its own system. Easy!Appointments has its own user and provider accounts, so each staff login, role and password policy is handled in the application unless you add a separate identity layer. Decide whether staff sign in with local accounts or through your existing single sign-on, and confirm with the vendor or your developer whether that integration is available or needs custom work.

Compliance implications

Compliance readiness depends on your own controls, documented evidence and, where a framework requires it, an independent auditor's assessment. Acuity offers a business associate agreement only on its higher tier, so regulated practices should confirm what each vendor will sign. A self-hosted install can meet your requirements only if the hosting, backups, access logs and vendor agreements are covered in your own program. Ask your auditor which evidence they will need before you choose.

Acuity Scheduling vs Easy!Appointments capability by capability

This table compares the main booking capabilities of Acuity Scheduling with self-hosted Easy!Appointments, row by row. Where Easy!Appointments does not include a feature, the gap is marked as custom development, and Acuity entries should be checked against its current pricing page because plan limits change.

CapabilityAcuity SchedulingEasy!Appointments
Online bookingHosted client self-scheduling page included, with plan-dependent limits to confirm on Acuity's pricing pageCustomers can book appointments online from a page served by your own server
Services and providersAppointment types and calendars are configured in the hosted admin; confirm how many calendars each plan allowsServices and providers are organized as separate records in the admin, so each staff member maps to a provider
Booking pages and brandingHosted booking pages; removal of Acuity branding is tied to a higher plan, so confirm the current tierBooking pages are served from your own domain, and styling changes are made in the code or theme
Intake formsIncluded as part of booking; confirm the field types and which plans include themNot a standard feature; intake questions typically require custom development
Payments at bookingPayment collection is offered through the hosted service; confirm supported processors and plan requirementsNot a standard feature; payment collection is a custom development item
Packages and gift certificatesConfirm current package and gift certificate behavior on Acuity's pricing page before planningNot a standard feature; packages and prepaid bundles are a custom development item
SMS remindersIncluded in the hosted service; confirm the message allowance and plan requirementsNot a standard feature; SMS is a custom development item through a third-party gateway
Google Calendar syncCalendar connections are part of the hosted service; confirm supported calendar providersSynchronizes with Google Calendar as a built-in feature
Licensing and cost modelSubscription priced by bookable calendars, with recurring feesGPL v3.0 code and CC BY 3.0 content, with no license fee; hosting, installation and customization are paid separately
Community and vendor supportVendor support through Acuity and Squarespace channels, per the planCommunity support through a Google group, GitHub and Discord; paid Premium Services are offered by the author

Which features Easy!Appointments needs custom development to match

Easy!Appointments covers the core booking flow out of the box: customers book online, you organize services and providers, and it synchronizes with Google Calendar. According to the project's own website, SMS, payments, reports, reminders and third-party integrations come from custom development rather than the base install. Acuity includes several of these in the product, so each one on your list becomes a build item with its own cost, owner and test plan. Treat the gap as scope to specify in writing, not as a setting you will find in the admin panel.

Before you commit, answer four questions for each add-on. First, which payment provider will you use, and does it support the deposits, refunds and tax handling your business needs? Second, which SMS gateway will send reminders, and who holds the sender registration and opt-out records in your region? Third, how must intake forms be stored: as plain fields in the database, as encrypted attachments, or in a separate system? Intake answers can contain sensitive personal data, so the storage model affects access control, backups and retention. Confirm each answer with the vendor or your compliance lead before a developer writes code.

Packages and gift certificates are the easiest features to underestimate. Acuity's prepaid bundles and gift balances are not something Easy!Appointments assumes, so you must specify the model first: how many sessions a package includes, when it expires, whether it transfers between clients, how refunds and partial use are recorded, and where balances are displayed. Then assign ownership after launch. Name who tests each add-on after every upgrade, who fixes a broken payment webhook or SMS template, and who restores data if a integration fails. Ask any developer or Premium Services provider for a written support scope covering these items.

Why pricing by calendar differs from a no license fee install

Acuity is a recurring subscription, and the bill is driven by how many bookable calendars you run. Each plan tier carries its own feature set, and features such as HIPAA terms, API access and branding removal sit in higher tiers, so the cost of the plan you need depends on the features you need as well as the calendar count. Before comparing, pull the current plan table from Acuity directly, confirm which tier includes each feature your practice relies on, and check whether calendar limits or add-ons change at renewal. Those plan details change over time, so treat any figure from a third-party article as a starting point, not a quote.

Easy!Appointments has no license fee and no booking commissions, but the costs move to hosting, setup and build work. The recurring costs are PHP 8.2 or later and MySQL hosting in your own environment, plus the staff time to apply upgrades and handle support. The one-time costs are installation, data migration and any custom development. Payments, SMS reminders, reports and third-party integrations are not in the core product, so they are usually the largest line items. If you buy Premium Services from the author for installation, upgrades, migration, support or customization, the fee is set by that author, so ask for it in writing. Costs grow with the number of providers, the number of add-on integrations, and the compliance scope if intake data is health-related.

Ask every bidder for the same written line items before you compare totals. For a self-hosted quote, request the hosting assumptions (server, database, backups, monitoring), a fixed list of integrations with the payment and SMS providers named, the upgrade and support terms with response expectations, and who owns the code changes after delivery. For Acuity, confirm the exact plan, calendar count, add-ons and renewal terms in writing, and ask what happens to your booking data and integrations if you leave. Comparing these lists side by side shows which costs recur, which are one-time, and which you would own after launch.

Who runs an Easy!Appointments install and how much it asks of them

Running Easy!Appointments in-house means your existing IT or web team owns the PHP runtime, the MySQL database, the web server and the booking site from end to end. The application is free to download under GPL v3.0, so the cost is the staff time, the server or hosting, and any custom work you commission, rather than a license fee. Recurring tasks include:

  • PHP and MySQL patching: keeping PHP at 8.2 or later and the database on supported releases, with a tested rollback path.
  • Backups: scheduled database and file backups, plus a restore test that someone other than the installer has run.
  • Upgrades: moving from 1.6.0, published on May 27, 2026, to later releases, including reviewing configuration changes.
  • Monitoring booking uptime: alerts when the booking page, database or Google Calendar sync fails, since a silent failure loses appointments.
  • Security fixes: tracking advisories for the application and its dependencies.

Confirm that your team has PHP and MySQL administration skills, who is on call outside office hours, and how many hours per month the work will realistically take. Check the current release on the project's GitHub releases page before installing, because version 1.6.1 is in beta.

What a move from Acuity to Easy!Appointments involves

The sequence turns Acuity's appointment types, calendars and client flows into a documented Easy!Appointments setup, then proves it with test bookings and a parallel run before the public booking link changes. Each step ends with a written output the business can check.

  1. Inventory current booking setup

    List every appointment type, duration, buffer, calendar, staff member, intake question, payment rule, package and reminder message currently configured in Acuity. Compare the list against your website, email templates and any staff instructions, so nothing is missed. Your team owns this step because only the business knows which rules matter day to day. It is done when the inventory is signed off and every item is marked as keep, change or retire.

  2. Confirm what Acuity can export

    Ask Acuity support, or check your plan's export options in the account, which client records, appointment history, upcoming bookings, intake form responses and payment records can be downloaded and in what format. Acuity's export scope is a vendor fact to verify, not something this page can state. Record the answer in writing, because it determines how much data can be carried over automatically and how much must be re-entered or kept in an archive. It is done when you have a written list of exportable datasets.

  3. Map appointment types to services and providers

    Recreate each Acuity appointment type as an Easy!Appointments service with its duration, buffer and price field, and recreate each bookable calendar as a provider linked to the services that person offers. Check how each provider's working hours, breaks and holidays will be entered, since Acuity availability rules rarely transfer by copy and paste. Your administrator performs the setup in a staging installation. It is done when a reviewer can compare the Acuity list and the Easy!Appointments list line by line and find no gaps.

  4. Carry over client records and upcoming appointments

    Import the client records and future bookings that the export allowed, mapping fields such as name, contact details and appointment time to the Easy!Appointments customer and appointment tables. Where a field or history cannot be exported, decide whether to re-enter it, keep the source archive for reference or leave it out, and document that decision. Check a sample of records against the original for accuracy and confirm that calendar invitations still point to the right provider. It is done when the sample matches and open appointments appear on the correct provider calendars.

  5. Rebuild intake forms, payments and reminders as scoped work

    Easy!Appointments does not include Acuity's intake forms, payment collection or SMS reminders in the standard install, so these become custom development items. Write each one as a specification with its trigger, data fields, payment provider or SMS provider, and the records it writes, then price and schedule them from a written scope. The effort depends on how many of these features are in scope and on the integrations required, so ask for an itemized quote. It is done when each feature has an accepted specification and a test plan.

  6. Test bookings end to end

    Run scripted booking scenarios in staging: a new client booking, a reschedule, a cancellation, a booking with an intake form, a payment where applicable, and a reminder message. Test on mobile and desktop, with each provider and with time zones and overlapping slots. Log every failure, fix it, and retest the affected path. It is done when every scenario passes on the agreed list and the test log is archived with the project record.

  7. Run a parallel period and switch the booking link

    Keep Acuity active while Easy!Appointments takes live bookings on a separate link, and monitor both systems so no client is double-booked. Once staff confirm the new system is handling real bookings correctly, update the website and email links, set Acuity to stop accepting bookings, and tell existing clients where to book. The length of the parallel period is a decision for your business, not a fixed figure. It is done when the old link redirects or is retired, all new bookings flow through Easy!Appointments, and the cutover record is signed.

What buyers ask before switching from Acuity Scheduling

How much does a self-hosted Easy!Appointments install cost compared with Acuity?

Easy!Appointments has no license fee and no recurring fees or booking commissions, according to its website, so the ongoing cost is the infrastructure and the people who run it. Acuity bills by bookable calendars, which grows as you add providers. With Easy!Appointments, the recurring costs are PHP and MySQL hosting, a domain and TLS certificate, backups, and the time to apply updates. The one-time costs are installation, configuration, and any custom work for payments, SMS, or reports, which the author sells as Premium Services or which you can contract elsewhere. Ask any implementer for a quote that separates one-time setup, custom development by feature, hosting, and recurring support, and ask what each line assumes about your calendars and providers.

How long does it take to move from Acuity to Easy!Appointments?

The timeline depends on scope, data volume, and how many custom features you need. A basic move of services, providers, and the booking page is simpler than one that also carries client records, upcoming appointments, intake forms, payments, and SMS reminders. Each of those adds configuration, testing, and sometimes custom code. Ask for a written scope that lists every appointment type, provider calendar, integration, and data set to migrate, along with the test bookings you will approve before go-live. A fixed-scope agreement with written deliverables and a timeline is the most reliable way to compare offers.

Can a small team move from Acuity to Easy!Appointments on its own?

A small team with basic web and database skills can usually install Easy!Appointments and set up simple booking. The installation steps are to create a database, copy the files, edit the configuration file, and open the install URL, and it needs PHP 8.2 or later with MySQL and Apache or Nginx. Harder work includes payment collection, SMS reminders, intake forms, packages, and anything touching health or personal data. Those need custom development, testing, and ongoing security maintenance. If you lack those skills in-house, scope the hard parts separately so you can decide what to build yourself and what to contract.

What does the business need to provide for a migration?

Expect to provide four things. First, access to your current Acuity account so the team can export services, calendars, and client data. Second, a hosting environment you control, whether cloud or on-premises, with PHP, MySQL, and a web server. Third, a clear decision on data ownership: where records live, who can access them, and how long they are kept. Fourth, someone who can approve test bookings, check reminder messages, and confirm the website link switch. Also name a contact for payment provider and calendar sync credentials, since those cannot be moved without the business's authorization.

Can a HIPAA-covered practice run Easy!Appointments on its own servers?

It may be possible, but the compliance obligations sit with your practice. Acuity signs a business associate agreement only on its Premium plan, while Easy!Appointments is open-source software you host yourself. Whether you can use it for protected health information depends on your hosting, access controls, encryption, audit logging, backups, and the agreements you sign with any hosting or integration provider. Confirm the requirements with your compliance lead or counsel before moving intake data. DeployOpen can prepare systems and evidence for compliance assessments, but it does not issue audit reports, attestations, or certifications, and independent auditors make that determination.

What community support is available for Easy!Appointments?

Community support runs through a Google group, GitHub, and Discord, according to the Easy!Appointments website. These channels are good for troubleshooting, reading known issues, and reporting bugs, but responses are not guaranteed and no service level applies. A commercial vendor's support queue usually comes with contractual response targets. If you need predictable help, arrange it separately: the author sells Premium Services for installation, upgrades, migration, support, and customization, and DeployOpen offers ongoing support and upgrades as retainers under a written agreement. Ask any provider what response times, escalation paths, and upgrade testing they commit to in writing.

How DeployOpen helps evaluate, implement or migrate

DeployOpen plans, implements, customizes, integrates, hardens, backs up and documents self-hosted open-source platforms inside your own infrastructure, so an Acuity Scheduling replacement can run on servers you control. We start with a written scope that tests whether Easy!Appointments fits your services, intake and payment needs before any build begins.

How we scope

  • Inventory your current Acuity appointment types, calendars, intake forms, packages and reminder flows before comparing them with Easy!Appointments.
  • Document which features are native and which need custom development for payments, SMS or reports, with each gap listed in writing.
  • Agree deliverables, timelines and responsibilities in a fixed-scope document before any work starts, with the hosting environment named.

How we build

  • Install Easy!Appointments on your PHP 8.2 or later, MySQL and Apache or Nginx stack in your own cloud account or data center.
  • Configure services, providers, working hours and the Google Calendar synchronization, then build the custom payment and SMS integrations in scope.
  • Test booking paths, reminders, access controls and backups in a staging copy, and harden the server before it takes live bookings.

How we hand over

  • Provide runbooks covering installation, configuration, backups, upgrades and the custom code you own, so your team can maintain it.
  • Document the data flow for client records, invitee details and payment references, which helps your privacy and compliance reviews.
  • Walk your staff through the admin console and the switch of the public booking link, with a rollback plan written down.

How we support

  • Engagements are fixed-scope, and ongoing support, upgrades and continuous testing are available as a retainer.
  • Retainers can cover Easy!Appointments release upgrades, including checking the current 1.6.x line and any later security fixes.
  • Ask any provider for the support hours, response expectations and upgrade cadence in writing 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.