Appointments, classes, reservations, and rentals run on one booking engine — with deposits, reminders, waitlists, and policies built in. Because it lives on sparx, every booking writes to the customer you already have: the deposit, the reminder, the no-show, the re-book all land in one system, not five disconnected tools.
An appointment, a class, a reservation, and a rental aren't four products — they're one booking engine with a type discriminator. The same availability math, the same deposits and reminders, the same reports. Switch on the shapes a business needs; nothing is a separate tool to learn or pay for.
One slot of one service with one or more resources.
capacity 1salon · clinic · tutor · mechanic · lawA scheduled session with a capped roster and a waitlist.
capacity N + waitlistfitness · workshops · cohortsA time-block on a finite resource matched to party size.
by resourcerestaurants · venues · toursA time-block allocation of an asset to one renter.
1 per assetrooms · bays · courts · equipmentMost tools check for conflicts in code, then hope the check ran before someone else booked. sparx enforces it in the database itself: a resource cannot hold two overlapping bookings at the same time, full stop. A racing second request fails cleanly and is offered the next open slot — even if your calendar sync lags.
INSERT booking_resources resource = Nora P. range = [1:00 PM, 3:15 PM)
The overlap never commits. The customer is shown the next open time instead of a double-booked staff member — no apology email, no awkward call.
Enforced by a Postgres exclusion constraint on every exclusive resource — staff, tables, rooms, bays, equipment. Pooled capacity (intentional overbooking) is a separate, deliberate setting, never an accident.
No-show protection is the single highest-ROI feature in booking. Choose it per service and mix it across your catalog: a free slot here, a deposit there, a card hold for the ones that hurt. When a fee fires, the policy the customer accepted, the reminders sent, and the booking timeline are all on record — the evidence you need, captured automatically.
Book with nothing held — for low-stakes slots where a no-show costs little.
Authorize a card at booking; capture a no-show or late-cancel fee only if the policy fires, then auto-void the hold.
Capture a fixed amount or a percentage up front and apply it to the final total.
Take the full service price at booking — the strongest commitment, ideal for classes and rentals.
Deposits and reminders are the highest-ROI things a booking tool does. sparx sends confirmations, reminders, and follow-ups by email and SMS on the cadence you set — and when someone cancels, the waitlist auto-promotes the next person before the slot ever sits empty.
No spreadsheet, no copy-paste. Subscribe to your sparx schedule in any calendar, and import the busy time from the calendars you already keep so external commitments block your slots. And whatever a synced feed says, the double-booking guarantee holds at the database — degraded sync never degrades the core promise.
Every resource gets a private, signed iCal feed. Add it once to Google, Apple, or Outlook and your sparx bookings appear in the calendar you already live in.
Point sparx at the calendars where your outside commitments live — by secret iCal URL or a CalDAV connection — and that busy time blocks your sparx availability so nothing books over it.
Every scheduling SaaS is an island: the booking is in a booking app, the customer in a CRM, the deposit in a payment tool, the reminder in an SMS tool, and the no-show never updates lifetime value. On sparx it's one loop, because sparx already owns the customer, the money, the messaging, and the site.
From your branded site, the customer portal, the phone, or an AI assistant — every channel hits one engine.
lives in SchedulingEmail and SMS on your cadence, deduped and logged — the same pipeline your other sends already use.
lives in Email + SMSThrough your own connected gateway at your own rates — held, captured, or refunded by policy.
lives in PaymentsCheck in, complete, no-show, or reschedule — every state captured on the booking timeline.
lives in SchedulingEvery booking and no-show is tied to the customer record or B2B account it belongs to.
lives in CRMA re-book nudge or review ask runs on its own — turning one visit into the next.
lives in AutomationScheduling is never bundled and never required by another module — it stands fully on its own. But it lives on the same platform as your customers, your money, and your messaging, so connecting them turns booking into a loop instead of an island.
Scheduling is a complete product by itself. Activate only this module, connect a gateway if you want deposits, and run your entire booking operation — no other module required.
Because it shares the platform, Scheduling gets stronger the more of sparx you use — but it never depends on any of it. Each connection is a bonus, not a requirement.
A salon, a restaurant, a studio, a clinic, a makerspace, and a fleet shop all run on this one engine. They differ only in which booking shapes and capabilities they switch on — never in which product they had to buy.
Customer picks the stylist, leaves a deposit, and books in seconds.
Tables matched to party size, reservations by the slot — and no per-cover fee, ever.
Capped rosters, waitlist auto-promote, and auto-generated recurring class schedules.
Recurring series, reminders on the cadence you set, and bookings on the patient’s record.
Rooms, bays, courts, and equipment booked by the block — one renter per asset.
Bookings linked to a B2B account and a fleet vehicle, with the visit on the account’s history.
The two things people hate most about booking software — features yanked into higher tiers and per-seat pricing that punishes growth — are impossible here by policy. Add the staff, add the rooms, add the locations. The price doesn’t move.
Pricing, deposits, calendars, no-shows, and how it fits the rest of sparx — answered straight. Still deciding? Read the scheduling docs or start the 14-day trial.
A flat $29/mo for unlimited staff, resources, locations, and bookings. No per-seat, no per-staff, and no per-cover fee — the one flat fee beats every per-seat competitor the moment you have more than one person taking bookings. Every feature is included; nothing is ever gated into a higher tier. The only metered cost is SMS send volume, billed as a physical cost like email. Start on a 14-day free trial; no card required to begin.