Skip to content
Workflows Resources Case Studies Pricing About
Client work · Finance & AI operations

Aello Pilates Studio: one live view of money, members and messages

A pilates studio in Muscat, Oman sold classes and memberships across a booking platform, an online payment gateway and a bank account — three systems that never agreed with each other. We built the reconciliation layer, the dashboard and the bilingual AI assistant that connect them.

Delivered in phases Live on the client's server English + Arabic

At a glance

  • Client Aello Pilates Studio — Muscat, Oman.
  • Scope Reconciliation engine, KPI dashboard, AI assistant, bilingual chatbot layer.
  • Stack IN2, Paymob, Bank Muscat, n8n, Redis, ManyChat, OpenAI, MCP.
  • Status Live on the studio's VPS; dashboard and assistant in daily use.
The client

A studio that runs on three systems

Aello sells drop-in classes, class packages and memberships. Bookings and class attendance live in IN2, online payments run through Paymob, and the money finally lands in Bank Muscat.

Bookings in IN2

Customers, packages, passes and membership expiry all live in the studio's booking platform — the operational source of truth for who is a member and when they lapse.

Payments in Paymob

Online payments arrive through a gateway that takes its fee and VAT before settling. What the customer paid is not what reaches the bank.

Cash in the bank

Payouts arrive in batches, on their own schedule, alongside direct bank transfers. Matching a payout to the sales behind it was manual work.

The problem

The numbers never matched, so no one trusted them

  • Monthly reconciliation meant exporting reports from three systems and matching them by hand.
  • Gateway fees and VAT were mixed into revenue totals, so "sales" and "cash received" were quoted as if they were the same number.
  • Payout timing was invisible: what was still sitting at the gateway versus already in the bank took manual checking.
  • Membership expiry was tracked outside the finance picture, so re-engagement was guesswork.
  • Customer questions arrived by Instagram and WhatsApp and were answered manually, one at a time.

Why it happens

Each tool is accurate on its own and incomplete for the question that matters: how much did the business actually earn, and where is it now? Answering that by hand takes hours and produces a different number every time.

This describes the workflow gap we were asked to close.

What we built

A pipeline, a dashboard and an assistant

Built in phases: first the data layer that makes the numbers agree, then the views the team uses daily, then the conversational layer on top.

Reconciliation engine

Python parsers normalize IN2, Paymob and Bank Muscat exports into one record set, then match sales, settlements and bank credits. Output is a monthly money bridge with exception lists — not just totals, but everything that failed to match, so nothing hides.

Money-flow dashboard

A login-protected dashboard shows "Where the money goes": sales → collected → gateway fees and VAT → net expected → received in bank, plus pending payouts and direct transfers. Payments are split by channel: direct booking, payment link and bank transfer.

Membership visibility

Customers, memberships, packages and expiry sync live from the booking platform. Expiring memberships surface as a forecast instead of a surprise, which gives the team a re-engagement list before the customer silently lapses.

Bilingual AI assistant

The dashboard has a multi-turn assistant that answers questions from live data — memberships, coverage, money flow — and can rebuild reports or refresh live data through tools. The interface switches between English and Arabic with full RTL support.

Update-data panel

Staff drop raw exports into category zones. Files are validated before saving: the wrong file is rejected with a reason instead of corrupting the reports, and the dashboard rebuilds automatically after upload.

Chatbot layer on Instagram and WhatsApp

A bilingual assistant prompt and follow-up copy for the studio's channels, with an n8n workflow that answers approved questions, handles booking intent and can hand over or switch itself off when a human needs to take over.

Evidence

What the build logs show

These figures come from the delivery record for this project. They describe the system, not the studio's financial performance.

174
customers synced live from the booking platform, with 167 memberships tracked to expiry
19 / 19
exported gateway payouts confirmed by settlement matching after fixing a date-parsing bug
6
dashboard iterations shipped in the delivery window, each driven by client feedback
19
read-only tools exposed to Claude Desktop through an MCP server reading the live dashboard
Verified build facts

Every number on this page is taken from the project's delivery log and test output: records synced, settlements matched, iterations shipped and tools exposed. No revenue, time-saving or growth claims are made on the studio's behalf.

IN2PaymobBank Muscatn8nRedisManyChatOpenAIMCPCaddy HTTPS
Honest limits

What this case study does not claim

No performance claims

We show what was built and what the tests verified. We do not claim revenue growth, hours saved or member increases — those depend on the studio's operation and were not the measured deliverable.

Client data stays private

The dashboard is login-protected and lives on the client's own server. Reports, bank statements and customer records are never published here.

Phase 1 scope

Some integrations are still being rolled out with the client: remaining n8n workflow imports, credential rotation and fresh API keys. Delivery notes stay in the client's handover documents.

FAQ

Questions about this build

Does this replace the studio's accounting?
No. It reconciles the operational side — sales, gateway settlements and bank credits — into a view both the owner and the accountant can audit. Exceptions are listed, not hidden, so the accountant works from matched data instead of raw exports.
How does the assistant avoid inventing numbers?
It answers through tools that query the same live dashboard API the page uses, with a short cache and re-login on expiry. If a tool fails, it says so rather than guessing, and a deadline prevents a slow tool loop from leaving the question unanswered.
Can the team update the data without a developer?
Yes. Exports are dropped into category zones in the dashboard, validated before saving, and reports rebuild automatically. A rejected file explains why rather than failing silently.
What about the chatbot side?
Approved questions, booking intent and escalation rules are configured with the studio's own wording, and the AI can switch itself off when the goal is met or a human takes over. The knowledge base is the studio's content, not generic scripts.
Get your plan

Running your business across systems that never agree?

Tell us which tools hold your sales, payments and customers. On a free strategy call we will map the fastest way to one trustworthy view.

  • A free 15-minute AI strategy call — no obligation.
  • A scoped blueprint: the biggest data gap, and the first automation to fix it.
  • Honest fit check — we will tell you if automation is not your fastest win.

The fastest way in: answer six short questions and we will map your lead journey, find the biggest leak and show the fastest automation win — before we ever get on a call.

Free strategy call · No commitment · We reply by email

Ready to see where your money actually goes?

Book a free AI strategy call and we will walk your sales, payment and bank flow against this build.

Get Your AI Automation Plan