Weekly drag-drop schedule
Visual calendar with drag-and-drop rescheduling and instant toast feedback.
The complete feature list — every one shipped and live in production. If something isn't here, we don't do it yet. No surprises after signup.
Set your recurring classes once and the week rebuilds itself. Edit a single Tuesday without touching the rest of the series, run two rooms at the same time, and keep every class at the right time through the daylight-saving switch.
Visual calendar with drag-and-drop rescheduling and instant toast feedback.
Repeat a session weekly and edit a single instance without breaking the series.
Run multiple classes at once, each capped to its own room capacity.
Color-coded class types with light and dark mode support — scan the week at a glance.
Each studio's schedule stays correct through every daylight-saving transition.
Instructors only see and manage the sessions they teach — full schedule visibility is opt-in.
Configurable cancellation windows per class — no more arguing at the front desk.
Book a regular, hold a spot for a walk-in, or let a class pack cover it. Credits come off automatically, and every booking keeps the price you charged that day — so raising your rates next month never changes last month's numbers.
Reserve a known client into a session in one tap.
Capture walk-ins and friend-of-a-member spots without forcing a full client record.
Sell 10-packs that unlock specific class types — yoga only, reformer only, anything.
Open-ended monthly passes for members on subscription pricing.
Set a default drop-in rate and override at the session level when needed.
Credits debit on booking and refund on eligible cancellation, with a full audit trail.
Bookings store the price they sold at — past revenue stays correct when you raise rates.
Portal bookings are de-duplicated automatically — retried network requests never double-book a class.
Draw your room as a visual grid — bikes, reformers, mats, benches, whatever — and let clients pick their spot when they book, or auto-assign one. Optional per room and per class, so a single quiet stretch class doesn't have to use it.
Drag-drop grid editor for any room. Drop spots, give them icons (bike, reformer, mat, bench, chair, equipment), and rename them — Bike 1, Reformer A, by the window. Save once, every session in that room inherits the map.
Add orientation aids that aren't spots — walls, doors, windows, instructor podium, mirrors, fans, speakers. Single cells or multi-cell strips. Renders on the admin map and the portal picker so clients know which way they're facing.
Customise the four orientation labels around the perimeter — Front: Stage, Back: Door, Window side, Door side — so every map matches how your studio actually talks about the room.
Off (no spots), Let clients pick (CHOOSE), or Auto-assign (random). Pick mode per session — even recurring series — so a stretch class on Sunday doesn't have to inherit the spin-class behaviour.
Clients see the live room map when booking — taken spots, blocked spots, your studio's icons, and orientation. One-tap to pick a seat, with a hover description for spots like "by the window".
Members can star a spot as their favourite. Next time they book, the picker highlights it for one-tap re-selection. A quiet retention loop with zero front-desk effort.
When a member's class is about to start, the portal surfaces a banner with the class, the room, the assigned seat, and a one-tap "Tap to check in" button. Clients self-check-in from their phone; your front desk just confirms.
Click any seat on the live Seating Chart to see who's sat there before — perfect for spotting regulars who claim a specific bike or reformer week after week.
Swap a member's seat from the attendee row in one tap — no leaving the session modal, no rebooking. Already-assigned spots grey out so nobody gets double-booked.
When you queue members onto a class, each row lets staff pick a seat for them (or shows the auto-assign hint). Bulk-add a friend group without losing the seat plan.
A third tab on the session modal shows the live seating chart — who's where, who's blocked, who's empty. Click any spot for the client's recent history. Print-friendly layout for the front desk.
Reserve a seat for a guest, a private lesson, a broken bike, anything. Blocked spots count against capacity and show as unavailable in the portal.
Late additions, no-shows, or just a fresh start — reshuffle every booked spot for a session in one action. The system asks before it overwrites anything.
The .ics invite for an assigned-seat booking includes the spot label in the calendar event location — so the seat is right there in the client's Apple, Google, or Outlook calendar.
Past bookings keep their spot label forever — even if you change the room layout later. Member schedule history shows exactly which seat they took, every time.
A per-room heatmap shows which spots are the popular ones over any date range. Spot the loyalists, find the spots nobody picks, and price your front-row classes accordingly.
Off by default for every room. Turn it on only for the rooms where assigned seating actually matters — your spin studio gets it, your meditation room doesn't.
Monthly and fixed-term plans for the clients who'd rather pay once than buy packs. Freeze it when they travel, and the plan discount follows them onto everything else they buy.
Monthly, fixed-term, or open-ended plans with optional class-type scoping. Past assignments stay locked when you raise rates.
Apply a saved or custom discount to a specific assignment, or stack a one-off surcharge. Snapshots keep reports correct.
An active member's plan discount carries over to their next package purchase or drop-in — no front-desk lookup needed.
Mark a package type as member-only and the system gates it at sale time — only active or frozen members can buy it.
Pause a membership while a client travels or recovers. The end date extends by the days frozen, with a live preview before you confirm.
Enforced at the database level — at most one active or frozen membership per client. No accidental double-billing.
Issue an invoice from a membership in one click. Voiding it or cancelling the assignment keeps both records — and revenue reports — in sync.
A dedicated Memberships tab surfaces pending AR, active members, and collected revenue — with inline status changes from the same screen.
A self-service booking experience at your studio's subdomain. Clients book, cancel, and manage their own packages — your front desk gets its time back.
Clients browse the schedule, book classes, and cancel within your policy window.
Six-digit code to a mobile inbox. No passwords, no friction.
Clients see remaining credits, expiration dates, and purchase history.
Clients see their outstanding balance due and available account credit in their profile — the same figures staff see — so they always know what they owe and what credit applies to their next purchase.
Add to home screen for an app-like experience — no App Store, no review queue.
Turn the portal on or off per studio — useful if you want admin-only bookings during onboarding.
Match your studio's brand. Set primary, accent, and sidebar colors and pick a font and border radius.
Upload a cover image of your choice — the portal landing greets clients with your studio's vibe, not ours.
When achievements are on, the portal nav gains a Badges link straight to a full /my/achievements page — level card, total points, and a colour-coded gallery of every badge with the date earned. Members get a swipeable strip of recent badges on My Bookings too.
The profile page now has an Edit button on the Details card and a View all link straight to achievements — no more hunting for the avatar to update info.
Confirmed upcoming bookings show a Seat A4 / View seat chip — tap it to open a read-only map of the room with your spot highlighted in green. Past bookings carry the seat label inline too.
Let clients buy a package straight from the portal — they start using credits immediately and your studio collects payment offline, recording it when it lands. Off by default; turn it on per studio.
Ring up retail, drop-ins, and class passes from one screen. Take the whole amount or part of it, leave the rest on the client's tab, and see what each product actually earns you after cost.
Line-item checkout for retail, supplements, drop-ins, and class passes.
Reverse a transaction with one click. Inventory and reports update accordingly.
Define your payment methods once: cash, card, OMT, WhatsApp transfer, whatever your studio takes. They show up on every payment, not just the POS register, and reports group by your labels.
Take part of a payment now and the rest later, on packages, memberships, walk-ins, and POS sales. Each item shows what's paid and what's still owed, with a pending / partial / paid status.
Let a client run a tab. Each client has a live balance-due view, and unpaid totals roll into your reports automatically.
Hold a credit balance for each client, funded by a pre-payment, an overpayment, or a goodwill credit, and apply it to any charge. Overpayments roll into the client's credit instead of getting lost.
Put a client's store credit toward what they owe right inside the payment box — on a package, a membership, or a POS sale — instead of going back to the member page first. The credit comes off the amount owed as you record it.
Add a one-off charge, write off a balance, record a goodwill credit, or refund credit to cash. Every adjustment needs a reason and is recorded.
Open a client's account history to see every charge, payment, credit, and adjustment in one timeline — each with its date, amount, payment method, who recorded it, and any note.
Mark all of a client's outstanding items — packages, bookings, memberships, and shop orders — paid in a single action.
Per-product cost tracking, margin analysis, and stock-purchase history.
Log off-platform payments with notes and user attribution for a clean ledger.
Saved discount rules applicable to bookings, packages, and POS line items.
Invoices pull straight from the booking, package, or POS sale that created them, carry your logo, and download as a PDF. Move one from draft to sent to paid without re-typing a line.
Skip data entry — invoices populate from the activity that produced them.
Studio-branded server-side PDF rendering — print, email, or archive.
Draft → Sent → Paid → Voided, with timestamps at every step.
Roll bookings, POS charges, and package fees into a single invoice.
Every invoice for a client, sorted, filterable, exportable.
Session fees and per-client bonuses calculated from real bookings. Past sessions stay locked when you change rates.
Base fee plus a bonus for every client who shows up. Override at the session level when needed.
Same model for room rent — base fee plus per-client share.
Add bonuses, deductions, or one-off corrections by staff or room with category and note.
Track every payout with amount, date, method, and audit trail.
Generate a payroll summary for any date range and hand it to your accountant.
Each pay period freezes the calculation as JSON — auditable forever.
Bulk-apply rate changes without rewriting history.
Revenue by instructor, by room, by class type, paid vs. still owed. Filter to any date range and export the table when your accountant asks for it.
Totals, paid vs pending, trends, and breakdowns by instructor and room.
Bookings led, attendance rate, revenue generated, pay efficiency.
Sessions held, capacity utilization, per-room revenue.
Active vs inactive, package patterns, attendance frequency, lifetime value.
No-shows, late cancellations, guest vs member split, capacity utilization.
Every report exports for spreadsheet, email, or accounting.
See which classes fill, which clients have quietly stopped showing up, and who's worth a personal message this week — before they cancel, not after. Gated by a single Insights permission you grant per role.
Day-of-week × time-of-day grid showing where attendance concentrates. Reschedule the dead slots, defend the peak ones.
A risk score per client based on visit recency, frequency change, and package state. Filter by tier and reach out before they cancel — not after.
Every Monday morning, an email summary of clients moving into the at-risk bucket lands in the owner's inbox. No dashboard required.
Pull up an at-risk client, pick a template, and send a personalized win-back email through ChronixHub or your own inbox. Outreach attempts log against the client.
A weekly view of clients with birthdays this week and a tenant-wide CRM notes index — send a wish, jot a follow-up, never lose context across staff handovers.
Configure a rule and birthday emails go out at the hour you choose, in the studio's timezone, on the right day. Template is editable; manual send still works for the personal touch.
A Performance page that ranks every instructor and every room side by side over any date range — fill rate against the studio average, attendance, no-show rate, client retention, and (with payroll) earnings. Sort any column, medals for the top three, and click through to the full per-instructor or per-room breakdown.
Owners always have access. Admins and instructors get nothing by default — grant Insights from the permissions page when you trust them with retention data.
An AI co-pilot built into your admin dashboard. Ask Kairos to find a client, summarize the week, pull up an invoice, or check who's on the schedule. Every write goes through a Confirm/Cancel card, so nothing changes without your click. Included free on every plan.
Kairos is included with every Chronix Hub plan, including the free trial. No add-on, no per-message fee.
Open Kairos from anywhere in the admin app. Ask questions about clients, bookings, schedules, payroll, packages, invoices, rooms, and staff — in plain English.
Kairos doesn't just answer — it can pull up records, summarize a date range, and run common admin actions on your behalf, with the same permissions as the staff member asking.
Every write — bookings, payments, sessions, memberships, refunds — renders a Confirm/Cancel card under Kairos's reply with the exact summary of what's about to happen. Nothing commits until you click. You can also flip on Edit to fix a value in the preview — a capacity, a time — before you confirm.
Small misspellings in client names, class types, and other lookups still find the right record. No more retyping.
Kairos can book a member into a specific seat, move them to a different one, block a seat for maintenance, or toggle spot booking on a whole series — every change still routes through a Confirm card.
See today's AI activity and the last 7 days at a glance from your Subscription page — no surprise charges, no metering.
Instructors only see their own classes. Permission gates that apply in the admin app apply to Kairos too — it can't surface or change anything the user couldn't access directly.
A live, full-screen dashboard built for the TV in your lobby or staff room. Three viewports update in real time — class in progress, who just checked in, and the pulse of the day.
The class currently running, attendance against capacity, instructor, room, and time remaining — at a glance, from across the room.
Recent arrivals as they happen — who's in, what they booked, and when. Doubles as a hype reel for your reception area.
Today's totals: sessions run, clients checked in, payments collected, revenue so far. The day's heartbeat on one screen.
Forced dark theme tuned for TV displays — high contrast, no blinding white, no toolbar chrome to distract.
Live data stays behind the same auth as the admin app. No public exposure, no shared link to leak.
Cycle viewports without a mouse — perfect for the TV at the front desk that nobody wants to touch.
Reward the regulars. Around 40 built-in badges and a level system unlock automatically from bookings, attendance streaks, and milestones — surfacing right inside the client portal. Off by default; a single toggle turns it on per studio.
A catalog of unlock criteria — first class, attendance streaks, class-type milestones, anniversaries, early-bird, comeback after a break, and more. No setup required.
Every badge earns points; points roll up into levels visible on the client's portal profile. Easy progress to celebrate, hard progress to fake.
A nightly job re-checks every client against the catalog and unlocks newly-earned badges. No manual admin step, no missed milestones.
Owners and admins can grant any badge to a client (perfect for milestones the catalog doesn't know about — a first competition, a referral) and revoke ones added by mistake. Searchable picker hides already-earned badges so you don't double up.
Staff see exactly which badges a client has unlocked, when, and which they're closest to next — handy for personal touches and win-back conversations.
Clients get a full /my/achievements page (level, points, every unlocked badge with the date earned), plus a swipeable strip of recent unlocks on My Bookings and a Badges link in the nav. A real reason to come back next week.
Achievements are off until you turn them on. Toggle the whole feature for your studio if it's not a fit for your clientele.
Email, WhatsApp, and push notifications that actually arrive — with delivery tracking and one-click opt-out. Clients who install the portal as a home-screen app get booking confirmations and class reminders straight on their phone, no app store needed.
Pre-class email reminders sent on a per-tenant offset. Manual override per session.
Sent, delivered, bounced, complained — every status logged with full audit trail.
Per-client unsubscribe respected automatically.
Configure recipients, channels, and event triggers per studio.
See exactly what clients will receive before you ship the rule.
Edit the studio's birthday email once. Send manually from the client record for a personal touch, or pair with the auto-send rule in Insights for hands-off delivery.
Connect your WhatsApp Business number and send any notification rule over WhatsApp instead of, or alongside, email. Per-rule template picker, same delivery log.
WhatsApp messages debit from a pre-paid balance you top up with us; failed sends refund automatically. Tenant owners see the running balance on the Plan page.
Clients who add the portal to their home screen get app-style notifications — booking confirmations and class reminders delivered straight to their phone, no app store needed. Enable the push channel on any notification rule alongside email and WhatsApp.
Running more than one studio? Group them under a single org for a cross-studio dashboard, side-by-side comparisons, combined trends, and org-level roles — without losing any per-studio independence.
One screen for every studio in your org: net revenue, active members, staff, upcoming sessions, alerts, and a combined revenue trend chart. Filter to any preset or custom date range.
Each studio gets a card with net revenue in its own currency, member and staff counts, a 7-day sparkline, and a vs-prior-period growth chip. Click through to jump into that studio.
Sort by revenue, members, growth, sessions this week, or last activity. Spot the standout and the laggard in seconds.
Single-currency orgs see one multi-line chart overlaying each studio's daily or weekly trend. Mixed-currency orgs see a per-studio split so the math stays honest — no fake conversions.
Surfaces studios with low active members, no upcoming sessions in the next week, no recent payments, or a subscription that's past due — so a single quiet studio never gets lost in a busy org.
Two roles, distinct from per-studio roles. Owners can invite, promote, and remove org members; Admins get cross-studio visibility without management privileges.
Turn an existing studio Owner or Admin into an org-level member, optionally propagating their seat across every studio in the org — capped per-studio, with rollback if any studio is at its seat limit.
Beyond the dashboard: a studios directory, members management, org billing, an activity feed, and settings — all separate from any individual studio.
Users who belong to more than one org get a dropdown in the nav header to hop between them — no going back to the picker.
Multi-studio owners land directly on the org dashboard. Single-studio owners still go straight to their studio. Mixed users get the picker with a Your-organizations strip on top.
Growth chips compare against the actual prior calendar period — April for May's 'this month', Q1 for 'this quarter', last year for 'this year' — instead of a sliding fixed-length window.
Every studio gets its own subdomain, colors, logo, and currency. Clients book on a page that looks like your studio, not like a software vendor.
Customize the portal and admin theme to match your studio's identity.
Upload a separate portrait-friendly background for Shareable Schedule Cards.
Each studio lives at yourgym.chronixhub.com with cross-subdomain auth.
Pick one ISO-4217 currency per studio — shown consistently across the admin, portal, and invoices. Each tenant runs in its own currency.
Run your studio in the language that works for your team and your clients. Chronix Hub ships in English, Arabic, and French — with Arabic right-to-left layout built in. More languages are on the way.
The full product — admin dashboard, client portal, and marketing site — is available in all three languages out of the box.
Arabic ships with complete RTL layout support — every screen, every component mirrors correctly so the interface reads naturally.
The localization foundation is in place. Additional languages are in progress and will roll out without requiring any changes to your studio setup.
Three roles, fine-grained per-feature access, and a soft-delete audit trail. A redesigned permissions screen groups every capability into tabs — Schedule, Business, Finance, Insights, Assistant — with labeled Admins and Instructors sections and simple None / Read / Write toggles. Give people exactly the permissions they need.
Three escalating role tiers covering 95% of staff structures out of the box.
Granular access control on sessions, bookings, payroll, revenue, payments, POS, members, packages, invoices, and Insights.
Control exactly who can collect payments and move client money — record payments, apply credit, top up accounts, write off balances, refund — separately from who manages bookings or runs the till. Admins and instructors start with no access until you grant it.
Limit instructors to their own classes — or grant full-schedule visibility per person.
Nothing is ever truly gone. Deactivate staff or clients and keep the history intact.
Suspend a member without losing their record, packages, or booking history.
Each staff member's profile page has a tiny pet that wanders along — pick from a cat, dog, hamster, parrot, or fox. A small bit of joy on the page you visit every day.
Every team member gets their own profile page to update their name, phone, date of birth, bio, and photo, with a sticky save bar so nothing gets lost. Instructors can keep their own details current without waiting for an owner or admin.
Bring your old system over in minutes with a state-of-the-art, AI-assisted importer — included free. Every importer has a preview step that catches errors before commit.
Drop every export from your old system at once — up to 10 CSV or Excel files. AI suggests the category and column matches for each file, you review and confirm everything, then one button imports it all in the right order. Free on every plan.
Upload any CSV export — columns are matched to Chronix Hub fields automatically (Mindbody, Glofox, and IN2 files recognized out of the box) and you confirm every match before anything imports.
When a file doesn't match a known template, AI reads your column headers and suggests the right Chronix Hub field for each one — cleaner, faster imports at no extra cost. Nothing is imported until you confirm.
Excel files import directly — no saving as CSV first. The first worksheet is read and goes through the same mapping, preview, and validation steps as a CSV.
Bulk-import clients with phone, email, date of birth, and conflict resolution.
Move your class catalog and room setup over in one upload.
Import package offerings (with credit counts and pricing) and saved discount rules.
Reconcile legacy transactions from your old system, with historical dates preserved.
Bulk catalog upload and historical sales import for accurate margin reporting from day one.
Inventory cost history so margin numbers reflect reality — not just sticker price.
Every import shows row-level errors before anything writes to the database.
A full read/write REST API and an OpenAPI 3.1 spec your engineers can drop into Postman, an SDK generator, or a Zapier-style flow — pull ChronixHub data into your own tools, and push bookings, clients, and packages back in.
Read sessions, clients, bookings, packages, class types, staff and rooms — and create, update, or cancel bookings, clients, sessions, classes, rooms and package assignments from your own systems. JSON in, JSON out, paginated by default.
Generate per-integration keys from the admin dashboard. Plaintext is shown exactly once — only `keyId` and `SHA-256(secret)` are stored on our side.
Each key gets its own 60 req/min budget with `X-Public-API-RateLimit-*` headers on every response. Issue separate keys per integration to partition traffic.
v1 is stable. Any future breaking changes ship as a new version path with at least 90 days of advance notice — never as silent edits.
Public spec at chronixhub.com/openapi/v1.json. Import it directly into Postman, generate client SDKs, or feed it into your own internal docs.
Payroll, fee snapshots, payment amounts, and PII not strictly needed for integrations are intentionally absent from the public surface.
Each API key carries least-privilege scope toggles — read for GETs, write for create/update, delete for removals — so an integration only gets the access it needs.
GET /api/v1/export streams every record your studio owns as NDJSON — clients, bookings, packages, and more — for backups, BI, or a GDPR-style data request.
Add ?format=csv or ?format=ndjson to any list endpoint to pull data straight into a spreadsheet or a streaming pipeline — JSON stays the default.
Get early access — 14-day free trial, no credit card.