The academy layer that plugs into everything.
Pista Academy OS runs the academy: students, groups, coaches, plans, payments and messages. It does not try to replace the club's booking app, POS or accounting. It connects to them. This page maps what Pista does, what it connects to in Europe, the Americas, the Middle East and Asia (checked against each vendor's own docs, October 2026), what it costs to build with AI, and the decisions only you can make.
What, why, how, how long.
If you only read one block, read this one.
A standalone SaaS that runs padel academies: groups and levels, monthly plans, coach hours, attendance, renewals, payments, LINE/WhatsApp messages, and AI agents that run on the academy's own Claude or ChatGPT.
Booking platforms keep academies closed: Playtomic's API is read-only, CourtReserve opens its API only on a $369/month plan, and no Asian platform has one. The open tools (Mindbody, Glofox) are built for gyms; the padel-native ones are European and closed. Nobody owns "academy", anywhere.
An academy core plus connectors, and an open API with signed webhooks. Version 1 connects Xendit, Stripe, LINE, WhatsApp, Setpoint, TPS, Playtomic (read), Loyverse, FlowAccount, Xero, iCal and CSV.
About 620 AI build hours in 10 phases, roughly 16–20 weeks with your review. Phase 0 (foundations) is already started. Payment and LINE/WhatsApp approvals run in parallel and take 2–6 weeks.
Settle the name, tell Nestor, and line up five founding academies (proposed: three in Asia, two in Spain) to run Pista in parallel for a month before selling to anyone.
Yours, built clean.
The AcademyOS work from September assumed we would extract Setpoint's academy module. Now that Pista is your own product, that plan no longer holds. Setpoint is Nestor's code. Building on it would make Pista his product too, or start a dispute.
Clean room: no Setpoint code, schema or private docs
Pista is written from scratch. What carries over is what you own: the academy rules from running PTP (plans, proration, pause, renewals, coach hours), the AcademyOS product definitions, and the research. Keep a short record of where each idea came from.
Setpoint becomes one connector, like Playtomic
Clubs on Setpoint (PTP today) connect through Setpoint's public API with a key the club gives us. Pista never needs Setpoint, and never reads Setpoint's database directly.
Tell Nestor before you build, not after
He builds PTP's software and he will notice. Say it plainly: PTP stays on Setpoint, Pista is a separate business, and Pista will integrate with Setpoint like any partner. A surprise here costs more than the conversation.
Stop running two academy builds at full speed
The Setpoint plan (ptp-academy-plan) is about 250 hours. Finish only what November billing needs, then pause the rest. Every hour that goes into Setpoint's academy module is an hour Pista competes against.
Thirteen modules, each fixing a pain we already know.
The pains come from running PTP in Bangkok and Bali and from the AcademyOS audit. They are not re-derived here. Each module says what it does and why it exists.
| Module | What it does | Why (the pain) | Version |
|---|---|---|---|
| Students & families | One record per student per academy: level, plan, parent contact, notes, consent, LINE/WhatsApp link. | Today student data sits in Sheets, the booking app and WhatsApp, and none of them match. | v1 |
| Groups & levels | Groups with level, slot, coach and court; seats, waitlist, move-up suggestions, a skills checklist per level. | Groups of 2 that should be 4, students stuck at one level, placement done from memory. | v1 |
| Schedule & courts | Week grid by court. Checks against bookings from the club's booking system before saving. Lessons are pushed to the system, or listed on a checklist when it has no write API. | Lessons double-booked against the club's own court bookings; coaches turning up to a taken court. | v1 |
| Plans & billing | Monthly plans, class packs, drop-ins, privates. Proration for mid-month joiners, pause rules, invoices on the 25th, renewals on the 1st, reminders, dunning. | Renewals chased by hand every month; lessons used up but never charged; Setpoint payments that never reach the POS. | v1 |
| Money ledger | An append-only record of every charge, payment, refund and credit, matched to the payment provider, with daily reconciliation. | Today nobody can say who trained without paying, or who paid without training. | v1 |
| Coaches | Availability, assignments, hours worked, pay rules, a coach app for check-in and notes. Coaches never see payment status. | Coach hours rebuilt from Slack every month; no per-coach reporting anywhere. | v1 |
| Messages | LINE and WhatsApp templates sent in the club's name: reminders, renewal links, class changes, monthly progress. | Staff paste the same reminder 40 times a month; parents miss changes. | v1 |
| Progress | The coach records a voice note, AI drafts it into a progress note, and the coach approves it. Optional video highlights from connected cameras. | Parents and adults pay for improvement they can't see; "deliver what we sell" (privates and video reviews) goes untracked. | v2 |
| Locations | One academy, several clubs: courts, coaches and groups belong to a location; switch between them or see all; numbers per location and together. | Growing academies run 2–5 sites and today keep a separate spreadsheet per club. | v1 |
| Club calendar | The whole club in one time grid: academy classes plus rentals, open matches, leagues and tournaments read from the booking app, with occupancy and free slots. | Lessons get planned blind to the rest of the club; free courts are found by phone. | v1 |
| Ask Pista | A small assistant inside the product that answers questions about the academy's own data and opens the right screen, running on the academy's own AI. | Owners shouldn't need to learn reports to know who hasn't paid or which group is too small. | v1 |
| Agents | Ready-made and custom AI agents (renewals, slips, at-risk, progress, groups, month-end, leads) plus a chat connector for the academy's own Claude or ChatGPT. | The admin work that still eats the week after everything else is automated: chasing, checking, writing. | v1 |
| Numbers | 8 KPIs posted on the 8th: active students, renewal rate, fill rate, revenue per court hour, at-risk count, coach hours, unpaid, trials converted. | The month closes without anyone knowing if the academy grew. | v1 |
A core, connectors, and an open door.
The core owns the academy data and the money ledger. Connectors talk to each outside system in whatever way that system allows. The open door (API, webhooks, Zapier, iCal, CSV) lets anyone else build on Pista without asking us.
One truth for the academy
- Students · groups · levels
- Schedule · courts · coaches
- Plans · ledger · invoices
- Messages · audit log
Two-way API. We read and write in real time. Example: Xendit, LINE, Loyverse.
We read on a schedule. No writes allowed. Example: Playtomic, polled every 5 minutes.
A file or calendar link. iCal or CSV, imported on a schedule or on upload.
They push to us. A partner calls our API or sends us webhooks.
No API exists. Pista lists what staff need to copy over and marks it done. We never pretend to be connected.
Rule kept from AcademyOS: no tables or columns named after one platform (no playtomic_* fields). Every connector maps into the same model, so adding the twentieth connector touches no core code.
Every region, connected by the club itself.
67 integrations across six regions, researched from vendor documentation in October 2026. The rule: if a club can't switch it on alone in minutes, it is labelled, planned and never sold as ready. Generated from data/integrations.json, the same file the website reads.
Worldwide
12 of 12 connected by the club itself.
| Integration | Type | Who switches it on | How | When | Note |
|---|---|---|---|---|---|
| Agents on your own API key | AI | Club connects it | Paste an Anthropic, OpenAI, Gemini or OpenRouter key; set a monthly cap | v1 | Pista never pays for AI |
| Claude / ChatGPT connector (MCP) | AI | Club connects it | Owner adds Pista as a connector in their own Claude or ChatGPT | v1 | Runs on the owner's subscription; plan support UNVERIFIED |
| Xero | Accounting | Club connects it | Connect Xero (OAuth) | v1 | Free up to 5 clubs, then from A$35/mo for Pista |
| Playtomic (read-only) | Booking | Club connects it | Club creates API credentials in Playtomic Manager | v1 | Champion/Master plans only; read-only; no webhooks |
| Google Calendar | Calendar | Club connects it | Connect Google (OAuth) | v1 | Pista must pass Google sensitive-scope verification before 100 users |
| iCal feeds | Calendar | Club connects it | Every coach and student gets a self-updating calendar link | v1 | Zero approval |
| Spreadsheet / CSV import | Data | Club connects it | Upload, map columns, preview, import | v1 | Also every booking app's export |
| Messages | Club connects it | Built in | v1 | Club's own domain optional (SPF/DKIM) | |
| WhatsApp Business | Messages | Club connects it | Club pastes its own token today; one-click Embedded Signup once Pista is a Meta Tech Provider | v1 | Tech Provider review: weeks; build on Embedded Signup v4 |
| Pista API + signed webhooks | Open | Club connects it | Scoped API keys and OAuth from Settings → Developers | v1 | Our own open door; documented in OpenAPI |
| Zapier & Make | Open | Club connects it | Private Pista app, joined by invite link | v1 | Public listing later (Zapier review) |
| Microsoft 365 | Calendar | Club connects it | Connect Microsoft (OAuth) | v2 | Publisher verification recommended |
Europe
10 of 17 connected by the club itself.
| Integration | Type | Who switches it on | How | When | Note |
|---|---|---|---|---|---|
| Fatture in Cloud | Accounting | Club connects it | Club pastes token or connects (OAuth) | v1 | Italy; also handles SdI |
| Holded | Accounting | Club connects it | Club pastes token or connects (OAuth) | v1 | Spain |
| SumUp | POS | Club connects it | Connect SumUp (OAuth) | v1 | Everywhere in Europe |
| Stripe | Payments | Club connects it | Hosted onboarding in minutes | v1 | Cards, SEPA Direct Debit, Bizum, iDEAL/Wero, Bancontact, Klarna |
| Moneybird | Accounting | Club connects it | Club pastes token or connects (OAuth) | v2 | Netherlands |
| lexoffice · sevDesk | Accounting | Club connects it | Club pastes token or connects (OAuth) | v2 | Germany; UNVERIFIED |
| SMS (Twilio) | Messages | Club connects it | Built in | v2 | Spain requires a registered sender alias |
| Square | POS | Club connects it | Connect Square (OAuth) | v2 | UK · IE · FR · ES |
| Mollie | Payments | Club connects it | Connect Mollie (OAuth) | v2 | NL · BE favourite |
| Satispay | Payments | Club connects it | Club key | later | Italy |
| Fortnox · Visma · Exact · Pennylane · DATEV | Accounting | Needs approval | Partner agreements | v2 | Sweden, NL/BE, France, Germany |
| MATCHi · Matchpoint | Booking | Needs approval | Partner API (Matchable proves the route) | v2 | Nordics, UK, Spain |
| Fiscal invoices (Verifactu, SdI, France 2026/27, DE 2027/28, PT) | Compliance | Needs approval | Pista issues receipts; invoices go to the club's certified accounting tool | rule | Avoids certifying in every country |
| Zettle · Lightspeed | POS | Needs approval | Partner programmes | later | |
| GoCardless | Payments | Needs approval | Partner app certification | v2 | UK Bacs + SEPA Direct Debit |
| Redsys · Swish · Adyen | Payments | Needs approval | Bank contracts or sales | later | Use Stripe for Bizum; Swish via PSP |
| Eversports · Taykus · Doinsport · ClubSpark · Padel Mates | Booking | No API | CSV or checklist | — |
North America
7 of 11 connected by the club itself.
| Integration | Type | Who switches it on | How | When | Note |
|---|---|---|---|---|---|
| QuickBooks Online | Accounting | Club connects it | Connect QuickBooks (OAuth) | v1 | Intuit production review once; free Builder tier |
| CourtReserve | Booking | Club connects it | Club creates an API key | v1 | Advance plan and up (~$369/mo); no webhooks |
| Waivers & parental consent | Legal | Club connects it | Built in (clickwrap; COPPA parent accounts) | v1 | Dropbox Sign optional |
| Stripe | Payments | Club connects it | Hosted onboarding in minutes | v1 | Cards, ACH bank debit, Apple Pay, Google Pay; Stripe Tax |
| Playbypoint | Booking | Club connects it | Club sets up webhooks | v2 | Public API status UNVERIFIED |
| Shopify POS | POS | Club connects it | Custom app per store | later | |
| Square | Payments | Club connects it | Connect Square (OAuth) | v2 | Payments, subscriptions and POS in one |
| SMS (10DLC) | Messages | Needs approval | Pista registers as a platform; one brand per club | v1 | Critical path: carrier review takes days to weeks |
| Mindbody · Club Automation | Booking | Needs approval | Partner review (days–weeks) | later | |
| Clover · Toast · PayPal platform | Payments | Needs approval | App-market or partner approval | later | |
| DUPR · UTR · World Padel Rating | Ratings | Needs approval | Partner programmes | v2 | Ratings shown next to Pista's own level |
Middle East
4 of 8 connected by the club itself.
| Integration | Type | Who switches it on | How | When | Note |
|---|---|---|---|---|---|
| Moyasar | Payments | Club connects it | Club pastes its keys | v2 | Saudi Arabia; mada, Apple Pay; card tokens for monthly plans |
| PayTabs | Payments | Club connects it | Club copies server key + profile ID | v2 | KSA · UAE |
| Tap Payments | Payments | Club connects it | Club generates a key | v2 | All GCC |
| Telr | Payments | Club connects it | Club copies store ID + auth key | v2 | UAE · KSA |
| UAE e-invoicing | Compliance | Needs approval | Integrate an accredited Peppol provider | before 2027 | Smaller businesses from Jul 2027 |
| ZATCA e-invoicing (KSA) | Compliance | Needs approval | Partner a certified provider (e.g. Wafeq, Qoyod) | before KSA | Every VAT-registered club in scope since Jun 2026 |
| Stripe UAE (platform) · Checkout.com · HyperPay · Tabby/Tamara | Payments | Needs approval | Sales or merchant agreements | later | |
| Malaeb · Padel Mates · local apps | Booking | No API | CSV or checklist | — |
Asia
12 of 17 connected by the club itself.
| Integration | Type | Who switches it on | How | When | Note |
|---|---|---|---|---|---|
| Setpoint | Booking | Club connects it | Club issues an API key | v1 | Scope of writes UNVERIFIED |
| LINE Official Account | Messages | Club connects it | Club pastes its channel token and secret | v1 | Thailand's main channel; replies free |
| Loyverse | POS | Club connects it | Club creates an access token (free, all plans) | v1 | Webhooks included |
| Bank transfer + slip | Payments | Club connects it | Built in: student uploads slip, desk confirms | v1 | How most Asian academies get paid |
| HitPay | Payments | Club connects it | Club pastes API key + salt | v1 | SG · MY · PH; GIRO in SG |
| Midtrans | Payments | Club connects it | Club pastes its server key | v1 | Indonesia; GoPay tokenisation |
| Omise | Payments | Club connects it | Club pastes its keys | v1 | TH · JP; Thai bank direct debit |
| PayMongo | Payments | Club connects it | Club pastes its keys | v1 | Philippines |
| Stripe (SG · MY · HK) | Payments | Club connects it | Hosted onboarding in minutes | v1 | Cards, PayNow |
| Xendit | Payments | Club connects it | Club pastes its secret key (Settings → Developers) | v1 | TH · ID · PH · MY · VN; QR can't auto-charge |
| Accurate Online | Accounting | Club connects it | Connect (OAuth) | v2 | Indonesia |
| The Padel Society | Booking | First-party | First-party partner | v1 | Classes published to players |
| FlowAccount · PEAK · Jurnal | Accounting | Needs approval | Developer application | v2 | Thailand / Indonesia |
| LINE MINI App (verified) | Messages | Needs approval | Certified-provider review | v2 | Unverified MINI Apps are self-serve since Mar 2026 |
| Zalo OA | Messages | Needs approval | OA verification (~7 working days) | later | Vietnam |
| Stripe Thailand · 2C2P | Payments | Needs approval | Sales-led | later | Thai Stripe platforms need Stripe sales |
| AYO · Courtsite · Hudle · Playo | Booking | No API | CSV export or checklist | — | No public APIs |
Latin America
1 of 2 connected by the club itself.
| Integration | Type | Who switches it on | How | When | Note |
|---|---|---|---|---|---|
| Mercado Pago | Payments | Club connects it | Connect Mercado Pago (OAuth) | v2 | Mexico, Argentina; marketplace split |
| CFDI (MX) · ARCA (AR) | Compliance | Needs approval | Via an invoicing API (e.g. Facturapi) / tax delegation | v2 |
One-time steps Pista must complete
These set the launch calendar, so they start in week one.
| Step | What it unlocks | Typical time | When |
|---|---|---|---|
| WhatsApp: Meta Tech Provider | Business verification + app review, then one-click Embedded Signup (v4) for every club | 2–6 weeks | Before launch |
| Google Calendar verification | Sensitive-scope OAuth review; needed past 100 users | 3–5 days, sometimes weeks | Before launch |
| US texting (A2P 10DLC) | Pista registers as a platform; one brand + campaign per club | Days to weeks per club | Before US pilots |
| Stripe Connect platform | Self-serve from a Singapore, EU or US entity; Thailand and UAE need Stripe sales | Minutes (self-serve markets) | With the company |
| Xero and QuickBooks apps | Register apps; Xero free to 5 clubs then paid; Intuit production review | Instant to ~2 weeks | Phase 4 |
| LINE provider · Zapier/Make private app | Create once | Instant | Phase 3–5 |
| Partnerships | MATCHi, GoCardless, Fortnox/Visma, Exact, Pennylane, Mindbody, DUPR/UTR, Playtomic Connect | Weeks to months | Start talks early |
| E-invoicing partners | Saudi ZATCA and UAE accredited providers; Mexico CFDI invoicing API | Weeks | Before those markets |
Bring your own AI. We bring the academy.
Every academy can use AI agents inside Pista, and Pista never pays for the AI. The academy connects the Claude, ChatGPT or other model it already pays for. Pista supplies the data, the actions and the safety rules.
Chat with your academy, from your own Claude or ChatGPT
Pista publishes a connector (an MCP server, the open standard Claude and ChatGPT use to plug in apps). The owner adds it once, then asks in plain words: "who is overdue this month?", "move Mai to B3 from November", "draft the November renewal messages". It runs on the owner's own subscription, so Pista's AI cost is zero. Which Claude and ChatGPT plans allow custom connectors: UNVERIFIED, check before building.
Limit: a personal subscription only works while someone is chatting. It can't run jobs on a schedule.
Agents that work on their own
For jobs that run without anyone watching, the academy pastes an API key (Anthropic, OpenAI, Google Gemini or OpenRouter). The key is stored encrypted per academy and is never visible again, and each academy sets a monthly spending cap. The academy pays its provider directly.
Why it works: AI spend scales with each academy's own use, never with Pista's margin.
| Ready-made agent | When it runs | What it does | Default |
|---|---|---|---|
| Renewal chaser | 25th, then 1st, 3rd, 7th | Writes each student's renewal message in their language, with the amount and pay link, and follows up when someone hasn't paid. | Draft, you approve |
| Slip checker | When a slip is uploaded | Reads the bank-transfer slip image, checks the amount, date and account against the invoice, and marks it ready to confirm or flags it. | Draft, you approve |
| At-risk watcher | Every evening | Spots students who missed 2 classes in 15 days or stopped booking, and tells the coach with a suggested message. | Auto (internal only) |
| Progress notes | After each class | Turns a coach's voice note into a short progress note for the student, in their language. | Coach approves |
| Group balancer | The 20th of each month | Proposes merges and moves for groups below 3 players or above level fit, using attendance and level. | Draft, you approve |
| Month-end report | The 8th | Writes the eight numbers in plain words: what grew, what slipped, and three things to do. | Auto |
| Lead follow-up | New trial request | Answers the enquiry, offers the next trial slots and books the one they pick. | Draft, you approve |
Building an agent takes five fields
When (a schedule or an event such as "payment overdue"), what to do (plain instructions), which Pista actions it may use (read only, or named write actions), approval (draft or auto), report to (Today list, LINE, WhatsApp, email). Every template is just these five fields filled in, so a copy can be edited in a minute.
Agents never move money
No agent can charge, refund or change a price. Sending a message or changing data starts as a draft until the owner switches that agent to auto. Every agent action goes into the audit log with the prompt and the result.
Any model, one rule set
The agent runner talks to providers through one interface, so an academy can switch from Claude to GPT to Gemini without rebuilding its agents. The same Pista actions power the chat connector, the agents and the public API, so there is one place to secure.
One product, local everywhere.
From the October 2026 research. These rules shape the core (billing, messaging, data, receipts), not just the connectors.
Europe: direct debit, consent and receipts
Monthly plans run on SEPA Direct Debit or saved cards: the first charge is authenticated once (SCA), later months are merchant-initiated. GDPR: EU hosting, a data processing agreement with every club, parent consent under the national age (13–16). Fiscal invoicing differs per country (Verifactu in Spain from 2027, SdI in Italy, France 2026/27, Germany 2027/28, Portugal certified software), so Pista issues receipts and hands invoices to the club's certified accounting tool.
North America: SMS, subscriptions law, kids' data
Texting is the channel and must be registered (A2P 10DLC) before launch, with consent stored per student and STOP honoured. Subscriptions follow California's auto-renewal rules nationwide: clear consent, reminders, online cancellation as easy as signing up. Under-13s only through a parent account (COPPA 2026). Coaching is usually tax-exempt but Pista's own fee is taxable in about 20 states, so use Stripe Tax.
Middle East: right-to-left, mada, e-invoicing
Full Arabic right-to-left layouts, Hijri dates in Saudi Arabia, bilingual receipts. Cards and mada through regional providers the club connects itself (Moyasar, Tap, PayTabs, Telr). Saudi ZATCA e-invoicing applies to every VAT-registered club since June 2026, and the UAE follows in 2027, so partner with a certified provider rather than certifying Pista.
Asia: QR can't auto-charge, slips are real
PromptPay, QRIS and PayNow need the student to approve every payment, so monthly plans use saved cards, bank direct debit or linked wallets, and Pista sends links and follows up for everyone else. Bank transfer with a slip is a first-class payment. LINE in Thailand, Zalo in Vietnam, WhatsApp elsewhere.
Latin America: Mercado Pago and stamped invoices
Mercado Pago connects by OAuth with marketplace splits. Mexico's CFDI and Argentina's ARCA invoices go through an invoicing API. WhatsApp is the channel.
A fast-growing sport, with no academy software of its own.
Padel is one of the fastest-growing sports in the world, and almost every club runs an academy. A product that serves academies has to win many small clubs, so it must be cheap to sell, quick to set up and local everywhere.
| Competitor | Padel-native | Where | Open (API / webhooks) | Price | Our angle |
|---|---|---|---|---|---|
| Playtomic Academy | Yes | Global | Read-only, Champion+ only | Champion plan and up | Works only if the whole club is on Playtomic. Pista works with any booking system and with local payments. |
| TieManager | Tennis/padel | Portugal, Spain | API add-on €30/mo | €63–113/mo | European, no LINE, no Thai or Indonesian payment methods. |
| Matchable | Racket sports | Nordics, Europe | No public API | 1.8% per booking | Tied to MATCHi; per-booking fee grows with the academy. |
| Mindbody · Glofox · TeamUp | No (fitness) | Global | Yes | From ~US$119/mo | No levels, court-linked groups or coach rotations; priced for gyms. |
| AcademyPRO and similar | No | Asia | No | Low | Generic class tools: closed, and no padel. |
| CourtReserve · Playbypoint | Racket clubs | USA | CourtReserve: API on $369+/mo plan; Playbypoint: webhooks | From $199/mo | Court software first; academies are a tab. Pista connects to both. |
| Eversports · Doinsport · ClubSpark | Partly | DE/AT · FR · UK | Partner only or none | Varies | National players, closed. Pista is open and multi-country. |
| AYO · Hudle (booking giants) | Multi-sport | ID · IN | No | n/a | The real threat: they could add an academy module for 1,000+ venues. Pista should aim to be their academy partner. |
Where the room is: an academy product that doesn't care which booking app the club uses, handles PromptPay, QRIS and bank slips natively, talks over LINE and WhatsApp, and is open by default. Plan for tennis and pickleball academies from day one. The data model is the same, and pickleball is growing across the same cities.
Priced by active students.
Coaches are unlimited, so academies never hide staff to save money. Prices are in US dollars and shown in local currency. Set against TieManager (€63–113), TeamUp (from US$119 for 100 customers) and Matchable (1.8% of every booking).
$39 / month
Up to 40 active students, one site.
- All v1 modules
- LINE or WhatsApp
- One payment connector
$99 / month
Up to 150 active students.
- All connectors
- API and webhooks
- Coach pay reports
$199 / month
Up to 400 students, several sites.
- Multi-site and roles
- Priority support
- Custom domain portal
Optional: Pista Payments takes 0.5% on top of the provider's fee through the Xendit split, and only when the club chooses it. Trial: 3 days with guided setup, no card needed (your rule from AcademyOS). These are starting defaults for the pilot, not market-tested prices. Re-check them after the first 5 paying clubs.
About 620 AI build hours.
AI build hours mean Claude building while you review and decide. Approvals from outside (payment KYC, LINE and WhatsApp business verification, Playtomic credentials, legal) run in parallel and are the real calendar risk. Start them in week one.
Foundations
Academies as tenants with row-level security, logins (email, Google, LINE), roles, audit log, Singapore hosting, backups, the design system from the brand guideline.
Academy core
Students and families, groups and levels, the week grid by court, attendance, coaches and hours. Importer for Sheets and CSV.
Plans & money
Plans, packs, drop-ins, proration, pause; invoices, reminders, follow-ups; money ledger and daily reconciliation; Xendit, Stripe, bank-slip flow.
Messages & student portal
LINE Official Account and LIFF portal, WhatsApp templates, email; the club's name on everything; Thai and Bahasa.
Connectors v1
Setpoint, TPS, Playtomic (read), iCal both ways, Loyverse, FlowAccount, Xero, the manual checklist mode.
Open door
Public REST API, OAuth and scoped keys, signed webhooks with retries, developer docs on the Night theme, rate limits.
Coach app
Phone web app that works offline: today's classes, check-in, voice notes, availability, hours. Readable in the sun.
Ready to sell
Self-serve signup, 3-screen setup, trial, Pista's own billing of clubs, help centre, status page, website in the Stage style.
Agents
Pista actions as one tool set; MCP connector for Claude and ChatGPT; agent runner with encrypted keys and spending caps; the 5-field agent builder; 7 templates; agent audit trail.
Security & pilot
Isolation tests between academies, an external penetration test, PDPA export and deletion, then one PTP site run in parallel for a full month-end.
Stack, in one line each. TypeScript everywhere, so one language serves app, connectors and API. Postgres in Singapore (Supabase), so row-level security keeps academies apart. Cloudflare Workers and Queues for connectors and webhooks, which are cheap and retry on their own. Money is written to an append-only ledger and is never edited in place. These hours are estimates from the scope above, not quotes. The pilot month is the real test.
Nine calls, each with a default.
If you don't object, the default stands and the work follows it.
| # | Decision | Default | Why |
|---|---|---|---|
| 1 | Name | Decide before launch: a padel club called Pista just opened in Bangkok | Not a legal problem, but clubs are the buyers and may read it as that club's software. Keep it and talk to the club, or rename (about 1 hour: the logo is generated from code). Then register the domains and run trademark searches in the EU, US and Asia. |
| 2 | Tell Nestor | This week, in person | PTP depends on Setpoint and on him. He should hear it from you first. |
| 3 | Setpoint academy plan | Finish only what November billing needs, pause the rest | Avoids paying twice for the same product and a conflict of interest. |
| 4 | Company | Pilot under an existing entity; Singapore Pte Ltd before the first external paying club | Stripe Connect and investors are simpler from Singapore, and Xendit covers TH and ID either way. Confirm with an accountant. |
| 5 | Pilot site | PTP Bali, one month in parallel with Setpoint | It mixes Setpoint, Playtomic and TPS bookings, so it tests the connectors properly. It's also smaller than Bangkok if something breaks. |
| 6 | Payment rail | Xendit (TH and ID) plus Stripe (SG) | The only combination with sub-accounts, fee splits and recurring charges in all three markets. |
| 7 | Sports | Padel first, data model ready for tennis and pickleball | Three times the market for almost no extra build. |
| 8 | Pricing | $39 / $99 / $199 by active students, coaches unlimited | Simple, cheaper than the European tools, and easy to sell to small clubs. |
| 9 | Where the docs live | This map + the brand guideline, updated in place | One source of truth, the way the PTP plan works. |
What could sink it.
Named now so each one has a plan before it happens.
Spread too thin
Six regions, each with its own payments, channels and tax rules. Plan: pilot in two (Asia and Spain), build every connector behind one interface, and only open a region when its self-serve payment and messaging set is ready.
A platform adds an academy module
Playtomic, AYO or Hudle could build one. Plan: be the open, any-platform option, and partner early with whoever is willing.
Payment approvals take weeks
Xendit KYC, the WhatsApp business check and LINE OA verification are slow. Plan: apply in week one, and bank slips work from day one.
Relationship with Nestor and PTP
Pista competes with Setpoint's academy module. Plan: tell him early, build clean-room, keep PTP on Setpoint until Pista proves itself.
One founder supporting many clubs
Support load can grow faster than revenue. Plan: self-serve setup, help centre, Claude-assisted support inbox, cap the pilot at 5 clubs.
Holding other people's money and data
One leak or wrong charge ends trust. Plan: money never moves without the ledger, isolation tests on every change, an external penetration test before the first outside club.
Where the facts come from.
Researched 6 October 2026 from vendor documentation. September's booking-platform audit is in the AcademyOS docs (integrations/_research-platform-apis.md).
Xendit xenPlatform, sub-accounts, split payments, subscriptions, direct debit: docs.xendit.co/docs/xenplatform-overview · /sub-accounts · /split-payments · /subscriptions-overview · /scb-direct-debit
Stripe Thailand marketplaces: support.stripe.com/questions/stripe-thailand-support-for-marketplaces · cross-border payouts: docs.stripe.com/connect/cross-border-payouts · PromptPay: docs.stripe.com/payments/promptpay
Omise schedules and Thai direct debit: docs.omise.co/schedules-api · docs.omise.co/direct-debit/thailand
Midtrans GoPay tokenisation: docs.midtrans.com/reference/gopay-tokenization-1 · PayMongo Platforms: developers.paymongo.com/docs/paymongo-platforms · HitPay: docs.hitpayapp.com
Playtomic Club API: third-party.playtomic.io · Playtomic Connect: playtomic.com/connect · MATCHi: docs.matchi.com · Playbypoint: api.playbypoint.dev
Loyverse API: developer.loyverse.com/docs · Odoo JSON-2: odoo.com/documentation/20.0/developer/reference/external_rpc_api.html
FlowAccount developers: flowaccount.com/en/developers · Xero app pricing: developer.xero.com/pricing · Mekari: developers.mekari.com · Accurate: accurate.id/api-integration
LINE Messaging API pricing: developers.line.biz/en/docs/messaging-api/pricing · LINE OA Thailand plans: lineforbusiness.com/th · WhatsApp pricing: developers.facebook.com/documentation/business-messaging/whatsapp/pricing
Malaysia e-invoice threshold RM3M: thestar.com.my (30 Aug 2026) · Philippines EIS deadline: fiscal-requirements.com · Vietnam Decree 70: vietnamnews.vn · Indonesia Coretax: fiscal-requirements.com
FIP Asia report (Nov 2025): padelfip.com/2025/11 · Playtomic Global Padel Report 2026: playtomic.com/global-padel-report · Indonesia courts: databoks.katadata.co.id (Feb 2026)
AYO Indonesia: ayo.co.id · Hudle: hudle.in · SportAI and Hudle Vision: sportai.com/news · PadelLevels: mynewsdesk.com/se/court22
TieManager pricing: tiesports.com/pricing · Matchable: playmore.matchi.com · Glofox webhooks: apidocs-plat.aws.glofox.com · Mindbody API: developers.mindbodyonline.com