Skip to main content
Resources

How to Migrate a Sauna Business from Appointment or Class Software

The step-by-step operator playbook for switching from Acuity, Momence, Mindbody, Vagaro, or Square to Zettlor without losing active memberships, punch packs, gift cards, or future bookings.

ZettlorUpdated October 14, 2026
CUTOVER LEDGERCSVMAPVERIFYLIVECREDITS + STRIPE PRESERVEDEXPORT → RECONCILE → LIVE
FigureCutover preserves existing Stripe subscriptions, remaining visit packs, and future reservations on one surviving customer record.

Most commercial sauna and cold plunge operators know within six months when they have outgrown their first booking tool. What keeps them stuck on an appointment or fitness-class calendar is not loyalty to the old software: it is fear of cutover weekend. When you have 180 active monthly members, 400 partially spent punch packs, $12,000 in unredeemed holiday gift cards, and two weeks of pre-booked Saturday sessions, you cannot afford to ask regulars to re-enter credit cards or argue at the front desk over lost visits.

A clean migration treats cutover as an accounting reconciliation first and a calendar switch second.

Short answer

Migrate your sauna business in five ordered steps before flipping the public booking link: (1) import and deduplicate customer profiles so every regular has one surviving record, (2) link existing Stripe subscriptions so recurring members never check out a second time, (3) load remaining punch-pack visits and gift card balances onto customer records, (4) build repeating room templates and import or recreate near-term reservations, and (5) publish the live calendar switch during a quiet weekday hour and send the guest arrival note.

What migrates and how it lands in Zettlor

Legacy recordWhat you exportHow it lands in ZettlorGuide reference
Customer profilesCustomer CSV (name, email, phone, notes)Imported via Advanced -> Import and deduplicated onto one surviving profile per guestKeep migrated customer data clean
Active recurring membershipsExisting Stripe subscription IDs + member tier listLinked directly to the customer profile on CRM -> Customers or imported via Advanced -> Import; no second checkoutPort an existing membership without a second checkout
Remaining punch-pack visitsActive pack report with remaining visit counts and expiry datesGranted as spendable session credits on the surviving customer profileAdd session credits for migration
Unredeemed gift cardsOutstanding gift card balance reportLoaded as customer dollar credits or recreated as redeemable gift card codes under Store -> Gift CardsLoad pre-sold gift card balances
Future reservationsUpcoming appointments/bookings export for the next 14 to 30 daysImported via appointment import or recreated against generated Zettlor slot templatesImport or recreate future reservations

Operator rule: merge duplicate customer profiles before you attach memberships or credits, so a regular's active membership never ends up on Profile A while their punch pack sits on Profile B.

Step 1: Import customers and merge split profiles first

In almost every legacy export from Acuity, Momence, Mindbody, or Square, your best regulars appear twice: once under the work email they used for their first drop-in two years ago, and once under the personal email or phone number attached to their monthly membership.

Run your customer import through Advanced -> Import with email and phone matching, review staged duplicates on Advanced -> Migration, and use Merge Customer (which includes undo if you pick the wrong survivor) so every regular has a single clean record before balances are attached. Full workflow: how we keep migrated customer data clean.

Step 2: Port active memberships without a second checkout

Never email 200 monthly members asking them to click a checkout link and re-enter their credit card to "reactivate" their membership. In any studio, 15% to 25% of members will procrastinate or churn on the spot, and those who do pay often end up double-billed if the legacy subscription was not cancelled in time.

Because your recurring subscriptions already live in Stripe, staff port existing memberships by linking each Stripe subscription directly to the guest's Zettlor customer profile (or importing them in bulk). The member's billing date, card on file, and included sessions per period continue seamlessly.

Step 3: Load remaining punch packs and gift card balances

Export every partially used 5-pack, 10-pack, and gift card from your legacy system on cutover morning:

Step 4: Generate room templates and place future reservations

Before you import a single future booking, configure your sauna and cold plunge spaces, set shared-capacity seats, and generate your repeating schedule templates for the dates you need to honor. Once the slots exist on Schedule, run appointment import via Advanced -> Import and walk the next two weeks of the schedule to recreate any custom private buyouts or special events (import or recreate future reservations).

Step 5: Flip the live calendar and send the guest arrival note

Pick a quiet Monday or Tuesday morning for cutover:

  1. Verify three sample regulars (one monthly member, one punch-pack holder, one upcoming Saturday reservation) on CRM -> Customers and Schedule.
  2. Open Advanced -> Migration and flip the live calendar to Zettlor.
  3. Turn off new bookings in Acuity, Momence, or Mindbody the same hour so no slot is sold twice.
  4. Copy the studio arrival notes from Go Live and send them from your studio email, as covered in how we tell guests their account is ready. Returning guests simply enter their email or phone and use a 6-digit one-time code to see their ported membership, remaining visits, and upcoming sessions, as walked through in the customer getting started guide and memberships help guide.

Common questions

Do members have to re-enter their credit cards when we switch to Zettlor?

No. Staff link existing Stripe subscriptions directly to customer profiles (or import them in bulk via Advanced -> Import), so billing continues on the original payment method and cycle without a second checkout. See port an existing membership.

Does Zettlor automatically email all our customers when we run a migration import?

No. Importing customers, credits, or memberships never blasts your guest list automatically. When you are ready to go live, you copy the day-before and booking-open notes from Advanced -> Migration and send them on your own schedule. See guest arrival notes.

What if two profiles for the same regular get merged by mistake during cutover?

Zettlor's Merge Customer tool in CRM -> Customers preserves bookings and credits on the surviving profile and includes an undo action if staff need to reverse a merge.

More resources

Zettlor is booking and operations software for commercial sauna and cold plunge rooms. See how it works.