About this page

SPORTSERVA is the operations platform for sports clubs, gyms, badminton/squash/pickleball/tennis courts, fitness academies, golf clubs and martial-arts studios, built by VYROX INTERNATIONAL SDN BHD in Malaysia and powered by VYROX AI — the AI that specializes in business operation management together with IoT. It unifies court bookings, class and coach scheduling, memberships, smart access at the turnstile (RFID, face, licence-plate, QR), POS for the cafe and pro-shop, payments, MyInvois e-invoicing, helpdesk and AIoT hardware into one operations screen. SPORTSERVA is multi-tenant, MyInvois-ready, deployed across Malaysia, Singapore, Indonesia, Thailand, Vietnam and the Philippines, with 24/7 WhatsApp support direct to Patrick at +60 19-688 3338.

SPORT
POWERED BY VYROX AI SPORTS · OPS · ONE SCREEN

ONE PLATFORM.
EVERY OPERATION.

SPORTSERVA collapses bookings, memberships, smart access, payments and MyInvois e-invoicing into a single operations screen — with AIoT hardware bound to membership status in real time. Built by VYROX, powered by VYROX AI, live in 2–4 weeks rather than the 90-day cutover most legacy vendors quote.

  • MyInvois (LHDN) ready
  • Multi-tenant SaaS
  • Direct line to Patrick
  • Role-based & audit-logged
  • AIoT-compatible
  • Singapore-hosted
{{ s.value }}{{ s.unit }}
{{ s.label }}
{{ s.note }}
SPORTSERVA· POWERED BY VYROX AI· BUILT IN MALAYSIA· MyInvois READY· COURTS · CLASSES · COACHES· 24/7 SUPPORT· FACE · RFID · QR· BOOKINGS · MEMBERSHIPS · ACCESS· SPORTSERVA· POWERED BY VYROX AI· BUILT IN MALAYSIA· MyInvois READY· COURTS · CLASSES · COACHES· 24/7 SUPPORT· FACE · RFID · QR· BOOKINGS · MEMBERSHIPS · ACCESS·
Powered by VYROX AI
Built by VYROX
MyInvois (LHDN) Ready
Sports Ops · One Screen
SEA-wide Deployment
24/7 Support
PROOF ACROSS SPORTSERVA

NUMBERS THAT MATTER.

[ TLDR ]
Six code-verifiable architectural facts about the SPORTSERVA engine: invoice types, MyInvois format, auto-billable GL codes, RBAC privilege bits, device cipher, ops monitoring posture.

Architectural facts about the SPORTSERVA engine — each one verifiable in the codebase. Patrick will walk the source files with your IT lead on request.

27+
INVOICE TYPES
Standard · rental · deposit · fire-safety · consolidated · CN · refund · termination
UBL 2.1
MyInvois FORMAT
LHDN preprod + live endpoints, walk-in TIN fallback EI00000000010, MSIC code list
14
AUTO-BILLABLE GLs
GL codes pre-wired to the auto-billing rule engine (auto_payments.php)
34+
RBAC PRIVILEGES
Bit-set role capabilities enforced page-by-page
SM4-32
DEVICE CIPHER
Chinese national 32-round block cipher (sm4.php)
24/7
OPS MONITORING
Best-effort availability, monitored continuously
Each figure derives from a specific SPORTSERVA source file — auto_payments.php, sm4.php, functions.php, accounts.php — open to inspection on request.
12 PILLARS ONE PLATFORM

EVERY OPERATION.
ONE SCREEN.

[ TLDR ]
Twelve operational pillars stitched into one screen — books, MyInvois, bookings, members, access, POS, automation and four mobile apps.

Tap any pillar — every module is built into one SPORTSERVA core, with shared RBAC, a single audit trail, native FPX / Xendit payments and the same RFID/face/LPR access engine. No bolt-ons, no exports, no spreadsheets.

PILLAR · {{ String(pillarTab+1).padStart(2,'0') }} / 12

{{ pillars[pillarTab].title }}

{{ pillars[pillarTab].lede }}

{{ pillars[pillarTab].lead }}

KEY BENEFITS
  • bolt {{ b }}
REAL-WORLD EXAMPLE

{{ pillars[pillarTab].example }}

SUB-FEATURES
  • check_circle {{ f }}
STAT BLOCK
{{ s.value }}{{ s.unit }}
{{ s.label }}
arrow_forward ASK ABOUT THIS
DEEP DIVE 12 PILLARS

EVERY PILLAR, FULL DEPTH.

[ TLDR ]
Click through every pillar with the lead paragraph, three benefits and a real-world example pulled from a live operator.
01

Accounting, Invoicing & E-Invoice

Run your books, MyInvois and consumption tax from the same screen as bookings and access.

Most clubs duct-tape spreadsheets, an accounting tool and a POS together. SPORTSERVA collapses that stack into a single GL-aware ledger that issues e-invoices the moment a booking, membership or POS sale happens.

KEY BENEFITS
  • boltReal-time MyInvois (LHDN) submission with auto-retry, share-URL retrieval and walk-in TIN fallback.
  • boltStandard, consolidated, utility, rental, fire and deposit invoice templates — all post to GL.
  • boltCredit notes, invoice adjustments, refunds and voids with full audit trail.
  • boltAuto-generated maintenance fees, sinking fund, late-payment interest, rentals and statements.
  • boltConsumption tax setup with MSIC code list bundled.
  • boltBank reconciliation against Xendit, FPX, e-wallet and statement lines.
REAL-WORLD EXAMPLE

Capability: every booking, membership renewal and POSERVA sale posts a GL entry (gl.php, gl_items) and fires a MyInvois UBL 2.1 payload via submit_einvoice.php — sandbox or production endpoint configured in functions.php:32-38, walk-in TIN fallback EI00000000010 for cash sales.

02

Payments & Collections

Charge cards, sweep banks, verify receipts and post the GL — automatically.

Collections is where money leaks. SPORTSERVA runs an auto-billing engine on cron with multi-gateway failover and a verification queue.

KEY BENEFITS
  • boltXendit gateway — QR (DuitNow), credit & debit cards, FPX, Direct Debit and e-wallets (Touch'n Go, Boost, GrabPay, ShopeePay).
  • boltRazer/FiUU sandbox integration available (db.php:37-49).
  • boltAuto-payments / saved cards with retry, dunning and reminder cadences.
  • boltManual payment-proof verification queue with approval workflow.
  • boltBA / CC / GA charge bookkeeping and bank-in matching against expected dues.
  • boltRefund lifecycle with approval, app callbacks and full audit.
REAL-WORLD EXAMPLE

Capability: auto-billing engine (auto_payments.php) attempts the configured payment method on schedule, retries failures, and emails dunning reminders through PHPMailer — Days Sales Outstanding contracts because the cron does the chasing. Auto-renewal (auto_renew_mem in functions.php) generates the next invoice ~30 days before expiry.

03

Bookings & Reservations

Courts, classes, coaches and common areas — one calendar, zero double-bookings.

Walk-ins, phone bookings and an old web form add up to a daily mess. SPORTSERVA gives every venue one canonical booking calendar.

KEY BENEFITS
  • boltReal-time conflict guard across web, customer app and walk-in front desk.
  • boltRecurring bookings, court-change, cart bookings, bulk bookings and refund flow.
  • boltCut-off time rules, public-holiday calendar and peak/off-peak/PH rate cards.
  • boltClass bookings tied to memberships and class passes — auto-deduct on check-in.
  • boltCoaches roster with individual rate cards and payouts.
  • boltQR confirmations turn the front desk into scan-and-go; auto-reminders cut no-shows.
  • boltFacility utilisation report — see exactly which courts pay rent and which don't.
REAL-WORLD EXAMPLE

Capability: real-time conflict guard across web, customer app and walk-in front desk (bookings.php) prevents double-booking; peak / off-peak / public-holiday rate cards (calendar.php) apply automatically; class passes (classes_pass.php) gate court access at the turnstile.

04

Membership & Customer Management

Master records, sub-accounts, lease-style agreements, document upload and a self-service customer dashboard.

A member is more than a row: it is plans, sub-accounts, family passes, uploaded ICs and a history of every change.

KEY BENEFITS
  • boltSub-accounts and family memberships under one master login — no duplicate identities.
  • boltDocument upload (IC, passport, medical clearance) attached to the member record.
  • boltSelf-service info-change requests routed through an approval trail.
  • boltLease-style agreement lifecycle: proposal → in-force → not-in-force, with rentals auto-generated.
  • boltOwner bulk import via CSV; first-time login flow with guided onboarding.
  • boltTenant accounts, tenancy agreements and management-committee roles all native.
REAL-WORLD EXAMPLE

Capability: class types, class passes, coach roster and member CRM all live under one members table (members.php:46-47, mem_t = 1/2/3 primary/branch/affiliate) with auto-renewal driven by auto_renew_mem in functions.php — no separate identities, no duplicate tools.

05

Smart Access Control & AIoT

One access stack — RFID, face, plate, intercom, lift, parking-lock, smart mirror, smart light, power monitor and IP cam.

Access control fragments fast. SPORTSERVA is brand-agnostic; generic IP cameras (HTTP snapshot & event ingest), MIFARE-compatible RFID smart cards, face/LPR and smart intercoms all feed the same audit log.

KEY BENEFITS
  • boltMembership-bound access: tap card or face at the gym door → system checks plan active/paid/suspended → unlocks or routes to reception.
  • boltRFID smart cards (MIFARE-compatible), SmartFACE face recognition, SmartVE licence-plate recognition, SmartINTE smart intercoms.
  • boltLift access binds to membership tier; smart parking locks bind to bay rights.
  • boltSmart mirror access requests via micode; smart-lighting automation and power monitoring on the same board.
  • boltQR keys (qr_keys.php) issue rotating access tokens for amenities, lockers and contractor doors; the printable property QR landing page lives at dlcsp.php / dlcsp_qr.php.
  • boltOne action audit log across face, card, plate and QR — written via in_syslog() to debugv_access, with SM4 device-protocol crypto (sm4.php).
  • boltHeartbeat probes on every device — check_iot_up.php pings each access device on cron; gate offline shows on the ops board in under a minute.
REAL-WORLD EXAMPLE

Capability: membership-bound access (members → smartfaces / smartcards / smartves) means a lapsed plan auto-stops at the turnstile; visitor passes (visits table, 30-char long_id UUID) carry photo and ID on every entry — zero paperwork.

06

Property & Facility Setup

Map your venues end-to-end — units, blocks, floors, zones, courts, common areas, lockers, EV bays, parking bays, rates and fees.

If your facility map lives in the manager's head, every new hire pays a tax to learn it.

KEY BENEFITS
  • boltOne source of truth for every facility, court, zone, locker and bay.
  • boltParking bay setup with parking-lot types (visitor / reserved / paid / EV / clamp).
  • boltPer-zone rate cards with peak/off-peak/PH and class-of-member modifiers.
  • boltPublic-holiday calendar drives booking rules and billing cycles.
  • boltProperty QR codes per amenity — scan to book or report a fault.
  • boltFacility types, rental types, revenue definitions and ticket types all configurable.
REAL-WORLD EXAMPLE

Capability: blocks → floors → units → zones → common areas → amenities (amenities.php, common_area.php) are all scoped by pid (property id) and feed the same GL — one tree, one P&L, no spreadsheet duplication.

07

Visitors, Guests & Parking

Pre-register, approve, scan in. QR-first visitor flow with audit trail, live dashboard and visitor parking allocation.

Visitor logbooks are a security liability. SPORTSERVA replaces them with member-driven pre-registration, QR passes and a visitor parking pass.

KEY BENEFITS
  • boltMembers pre-register guests from the customer app; QR pass arrives by email.
  • boltVisitor types, document upload and car-photo capture at the gate.
  • boltBlacklist / whitelist enforcement; most-visited and repeat-visitor analytics.
  • boltVisitor parking, reserved parking, paid parking and EV charging lots.
  • boltSmart parking-lock device control + wheel-clamp module for stubborn cases.
  • boltMulti-level approval routes high-risk visitors to security.
REAL-WORLD EXAMPLE

Capability: members pre-register guests in the customer app; visitor_pass.php issues a 30-char long_id UUID; on arrival the QR scans through qrcode_check.php and the entry is photographed and timestamped against the visits table — replacing paper logbooks end to end.

08

Security Operations

A live security board with badge counts, swipe & access audit, incident logs, emergency SOS and an emergency-numbers directory.

Gyms are often unattended at night. SPORTSERVA is a live board with a one-tap panic button.

KEY BENEFITS
  • boltLive Security Monitor for intrusion, photo and digital events.
  • boltEmergency SOS button on the member app — one-tap escalation to security.
  • boltEmergency phone numbers directory at the customer's fingertips.
  • boltIncident reports with owners, photos and SLA clock.
  • boltCard-swipes audit, card-access logs and intrusion server ingest.
  • boltDedicated security-guard mobile app with QR scan and photo capture.
REAL-WORLD EXAMPLE

Capability: a single live Security Monitor (security_monitor.php) aggregates intrusion events, IP camera log (cam_rece_log.php) and SOS pings (emergency_sos.php) across every property scoped to the operator; incidents (incidents.php) move New → Processing → Completed with an SLA clock and audit trail.

09

Concierge, Complaints & Helpdesk

Lifecycle ticketing for complaints, suggestions, concierge requests, lost & found, internal mail, announcements and contractor permits.

Email threads and chat groups are where complaints die. SPORTSERVA gives every request a ticket, owner and SLA clock.

KEY BENEFITS
  • boltAnnouncements broadcast to all members; internal mail for private comms.
  • boltComplaints, suggestions and incident reports with multi-tier routing.
  • boltConcierge services with type setup and SLA.
  • boltLost & found register with photo + claim flow.
  • boltTukangMan handyman link-out for contractor jobs.
  • boltContractor service permits with check-in/out and audit photo.
  • boltTickets and ticket types route automatically to the right team.
REAL-WORLD EXAMPLE

Capability: complaints.php, concierge.php, helpdesk.php, lost_and_found.php and the bookings change queue all share the ticket lifecycle (new → processing → completed) and an SLA clock — every request has a category, an owner and a status, written via in_syslog() to the audit log.

10

POS, Marketplace & Memberships

POSERVA point-of-sale, stocks, marketplace, campaigns, membership plans and class passes.

The cafe, pro shop and merch counter are usually three different systems. POSERVA is built in and posts to GL.

KEY BENEFITS
  • boltPOSERVA POS settings, stock master, stock groups and classification.
  • boltDaily sales tape with per-shift cash reconciliation.
  • boltCommunity marketplace with merchants, captive logins and campaigns.
  • boltMembership plans at the admin level + per-project memberships, classes, class passes and coaches.
  • boltSelf-service laundry / amenities with QR check-in.
  • boltMembership-plan promotions auto-applied at checkout.
REAL-WORLD EXAMPLE

Capability: POSERVA (sales.php, stocks.php, stocks_group.php) posts every line to the same GL the booking and membership engines write to — the cafe, the pro shop and the merch counter all roll into one P&L.

11

Automation, Cron & Reporting

Cron-driven automations and a full reporting layer — financials, cashflow, GL, facility utilisation and analytics.

Recurring work eats hours. SPORTSERVA runs minute and 5-minute cron jobs for billing, reminders, IoT heartbeats and cleanups.

KEY BENEFITS
  • boltAuto-generation: rentals, maintenance fees, sinking fund, late-payment interest, statements.
  • boltAuto-billing config + auto-reminder cadences with dunning rules.
  • boltCron-driven amenity auto-stop, expired-booking cleanup, child-membership purge, intrusion-photo cleanup.
  • boltIoT heartbeat + swipe heartbeat checks every minute.
  • boltReports: financial, cashflow, GL invoices/CNs, facility utilisation, most-visited, member analytics.
  • boltAudit log (in_syslog) and debug log (in_debugv) across every page.
REAL-WORLD EXAMPLE

Capability: cron_minute_work.php / cron_minute_work_2.php / cron_minute_work_5.php execute the recurring work — auto-stop amenities, expire stale bookings, generate rentals, generate maintenance fees, generate sinking fund, generate late-payment interest, sweep heartbeats. The chase routine is a rule table, not a person.

12

Mobile Apps, QR & Self-Service

Four role-based apps — customer, staff, security, delivery — plus QR shortcuts for every flow.

Operations live on the move. Four PWAs install to the home screen with zero app-store gatekeeping; every role gets its own purpose-built surface.

KEY BENEFITS
  • boltCustomer / owner app: bookings, payments, visitor pre-reg, SOS, info-changes.
  • boltStaff / management app with role-based screens.
  • boltSecurity guard app — QR scan, face/RFID lookup, incident reporting.
  • boltDelivery courier app for delivery-locker drops.
  • boltProperty QR, invoice QR, visitor QR, QR keys, amenity QR, locker QR, CSA QR.
  • boltFirst-login flow, password reset, captive signup/forgot for every role.
REAL-WORLD EXAMPLE

Capability: four role-based PHP-rendered WebView apps (app.php, staffapp.php, security_app.php, delivery_app.php) install as PWAs with iOS splash screens at app.php:67-77, integrate instascan.min.js for QR scanning and tesseract.js for OCR — bookings, payments, visitor pre-reg, SOS, info-changes all self-served.

DIFFERENTIATOR MEMBERSHIP × AIoT LIVE BINDING

TAP, CHECK, UNLOCK.

SPORTSERVA's #1 differentiator: every door, turnstile, lift and locker checks the live membership ledger before it opens. No nightly export. No "sync at midnight". One audit log.

01
TAP

Member taps RFID card / shows face at the gym door / scans QR at the locker.

02
CHECK

SPORTSERVA hits the member ledger: plan active? paid? class pass available? suspended? blacklisted?

03
DECIDE

Allow → unlock. Soft-fail → route to reception. Hard-fail → deny + alert security.

04
LOG

Event written to the action audit log via in_syslog() to debugv_access with member, device, photo and timestamp.

05
NOTIFY

If denied: push notification to the member's app explains why and offers a one-tap pay link.

REAL-WORLD EXAMPLE · 24/7 GYM

Lapsed-payment member taps in at 2am. SPORTSERVA checks the ledger in <200ms, refuses entry, snaps a face photo to the access log, and pushes a "renew to enter" notification to the member's phone with a Xendit pay link. Member pays via DuitNow QR, presents card again — door opens. Zero front-desk staff. Zero arguments. Full audit trail.

SPORT VERTICAL CORE CLASSES · PASSES · COACHES

THE FULL PLAYBOOK.

Built for academies, multi-court racquet clubs, fitness studios and combat gyms. Classes, class types, passes, bookings and coaches — one module, all wired to the ledger and the access gate.

CLASSES & TYPES
  • boltClass master + class types (yoga, HIIT, boxing, badminton drill, junior squad).
  • boltCapacity, duration, recurring schedule and prerequisite checks.
  • boltCoach assignment per class slot with auto-payout calc.
  • boltPublic holiday + cut-off rules drive the booking window.
CLASS BOOKINGS
  • boltMember self-book from the app — pass deducted, GL posted, QR issued.
  • boltWalk-in booking with same-class conflict guard.
  • boltAuto-reminder before class; no-show rule deducts the pass.
  • boltCheck-in at the door binds to access (RFID/face) — no roll call.
CLASS PASSES
  • boltPunch-card passes, time-bound passes and unlimited-monthly passes.
  • boltclass_passes_list ledger — see exactly what each member has left.
  • boltAuto-renewal with Xendit; expiry reminders 7/3/1 days out.
  • boltFamily / sub-account sharing for academies.
COACHES
  • boltCoach roster with rates, specialisations and certifications.
  • boltPer-coach calendar — see utilisation and revenue at a glance.
  • boltCoach payouts auto-calculated from confirmed sessions.
  • boltCoach mobile flow: confirm attendance, log notes, get paid.
MEMBERSHIPS
  • boltAdmin-level membership plans + per-project memberships.
  • boltSub-accounts and family memberships under one master record.
  • boltPlan promotions auto-applied at POS and renewal.
  • boltCron-purged child memberships keep the ledger clean.
REPORTING
  • boltClass fill-rate by hour / coach / type.
  • boltCoach payout report, member-utilisation report.
  • boltPass-expiry pipeline — who's about to lapse.
  • boltRevenue per court / per coach / per class type.
PARKING & EV LPR · LOCKS · CLAMPS

EVERY BAY, ACCOUNTED FOR.

Clubs have car parks. SPORTSERVA treats them as first-class revenue and security surface — not an afterthought.

VISITOR PARKING

Time-bound visitor bays issued via QR pass; SmartVE LPR auto-detects plate at the gate.

RESERVED PARKING

Bay assigned to member or unit; tap or plate match unlocks the lot.

PAID PARKING

Hourly / daily rate cards; auto-charge via Xendit or scan-to-pay QR.

EV CHARGING LOTS

EV bay metering, session start/stop API and deposit handling.

SMART PARKING LOCK

Parking_locks_config + plc_response — remote raise/lower bollards from the ops board.

WHEEL-CLAMP MODULE

Issue, photograph, release and bill clamping events with a full audit trail.

INTEGRATIONS EVERYTHING WE TALK TO

WIRED INTO YOUR STACK.

MyInvois / LHDN Xendit Gateway DuitNow QR Touch'n Go Boost GrabPay ShopeePay Razer / FiUU (sandbox) FPX Credit / Debit Card Direct Debit AutoCount (read API) VYROX-AutoCount-Connector Bearer-token push sync Generic IP cameras MIFARE-compatible RFID SmartFACE SmartVE (LPR) SmartINTE (intercom) SM4 device cipher DLCSP printable property QR PHPMailer (email) TukangMan link-out VYROX AI (parent) Mobile API namespace UBL 2.1 e-invoice payload MSIC code list

AutoCount sync runs through the VYROX-AutoCount-Connector middleware with Bearer-token auth — invoice / payment / cancel / undo flows all wire-supported. WhatsApp / SMS not bundled — email via PHPMailer is the audited outbound channel.

FULL INDEX EVERY CAPABILITY ONE BOARD

EVERY CAPABILITY. ONE BOARD.

A scannable, comprehensive index of every feature SPORTSERVA ships — grouped by inventory domain. Bookmark this. Send it to your CFO, your ops head and your IT lead.

ACCOUNTING & INVOICING
  • chevron_rightStandard invoice
  • chevron_rightConsolidated invoice
  • chevron_rightUtility billing (water/electricity)
  • chevron_rightRental invoice
  • chevron_rightFire-charge invoice
  • chevron_rightStandard deposit + refund invoice
  • chevron_rightCredit notes + preview
  • chevron_rightInvoice adjustments
  • chevron_rightInvoice QR + payment QR
  • chevron_rightLate-payment interest
  • chevron_rightSinking fund auto-gen
  • chevron_rightMaintenance fee auto-gen
  • chevron_rightStatements + statement pay
  • chevron_rightVoided invoices
  • chevron_rightExternal pay public link
PAYMENTS & GATEWAYS
  • chevron_rightXendit: QR / CC / DC / FPX / Direct Debit
  • chevron_rightE-wallets: TNG, Boost, GrabPay, ShopeePay
  • chevron_rightDuitNow QR
  • chevron_rightRazer / FiUU sandbox integration available
  • chevron_rightAuto-payments / saved cards
  • chevron_rightManual payment-proof approvals
  • chevron_rightReceipts + receipt history
  • chevron_rightRefunds (single + bulk)
  • chevron_rightBA / CC / GA charge bookkeeping
  • chevron_rightApp success/failure callbacks
BANKING, GL & CASHFLOW
  • chevron_rightBank accounts
  • chevron_rightBank reconciliation
  • chevron_rightCash book
  • chevron_rightGL master + transactions
  • chevron_rightGL invoices / credit notes / statements
  • chevron_rightFinancial reports
  • chevron_rightFacility utilisation report
  • chevron_rightWithdrawals (rental payouts)
  • chevron_rightCustomer advances
  • chevron_rightManual GL adjustments
CUSTOMER & MEMBERS
  • chevron_rightCustomer accounts master
  • chevron_rightCustomer dashboard / info
  • chevron_rightSub-users / sub-accounts
  • chevron_rightFamily memberships
  • chevron_rightDocument upload (IC/passport)
  • chevron_rightInfo-change requests + approval
  • chevron_rightOwner bulk CSV import
  • chevron_rightStaff user accounts
  • chevron_rightFirst-time login flow
  • chevron_rightForgot password / reset
  • chevron_rightCaptive signup
LEASE / AGREEMENTS
  • chevron_rightTenancy proposals
  • chevron_rightAgreements in-force / not-in-force
  • chevron_rightRentals + rental types
  • chevron_rightAuto-generate rentals
  • chevron_rightTenancy agreements
  • chevron_rightTenant accounts
MEMBERSHIPS · CLASSES · COACHES
  • chevron_rightMemberships (paid plans)
  • chevron_rightMembership plans (admin-level)
  • chevron_rightClasses + class types
  • chevron_rightClass bookings
  • chevron_rightClass passes
  • chevron_rightclass_passes_list ledger
  • chevron_rightCoaches roster + rates
  • chevron_rightCoach payouts
BOOKINGS & RESERVATIONS
  • chevron_rightFacility bookings
  • chevron_rightBooking changes (court-change)
  • chevron_rightBulk add bookings
  • chevron_rightRefund booking
  • chevron_rightCart bookings
  • chevron_rightFacility types
  • chevron_rightCommon area bookings
  • chevron_rightCut-off time rules
  • chevron_rightPublic holiday calendar
  • chevron_rightFacility utilisation reporting
PROPERTY & FACILITY SETUP
  • chevron_rightUnits / Blocks / Floors / Zones
  • chevron_rightParking bay setup
  • chevron_rightParking lot types
  • chevron_rightCommon areas
  • chevron_rightProperty features master
  • chevron_rightProperty QR code
  • chevron_rightPublic holidays
  • chevron_rightRates, fees and charges
  • chevron_rightRevenue definition
  • chevron_rightTicket types
PARKING & EV
  • chevron_rightVisitor parking
  • chevron_rightReserved parking
  • chevron_rightPaid parking
  • chevron_rightEV charging lots + sessions
  • chevron_rightSmart parking lock control
  • chevron_rightWheel-clamp module
  • chevron_rightLPR (SmartVE) entry/exit
VISITORS & GUESTS
  • chevron_rightVisitor records + types
  • chevron_rightVisitor docs upload
  • chevron_rightVisitor car photo
  • chevron_rightVisitor pass + QR
  • chevron_rightVisitor parking allocation
  • chevron_rightBlacklist / whitelist
  • chevron_rightMost-visited analytics
  • chevron_rightPre-registration from app
  • chevron_rightMulti-level approval
SMART ACCESS & AIoT
  • chevron_rightRFID smart cards (MIFARE)
  • chevron_rightCard types + card audit
  • chevron_rightSmartFACE face recognition
  • chevron_rightSmartVE plate recognition
  • chevron_rightSmartINTE smart intercom
  • chevron_rightIntegrated smart access
  • chevron_rightSmart mirror access + micode
  • chevron_rightLift access control
  • chevron_rightAIoT device registry
  • chevron_rightSM4 device cipher
  • chevron_rightAccess-device heartbeat
  • chevron_rightQR keys + QR access check
  • chevron_rightThird-party stranger-detection device support
  • chevron_rightDLCSP printable property QR landing
  • chevron_rightMembership-to-access binding
IoT MONITORING
  • chevron_rightGeneric IP cameras + snapshot ingest
  • chevron_rightCamera event log
  • chevron_rightIntrusion server receiver
  • chevron_rightIP server receiver
  • chevron_rightSmart lighting + automation
  • chevron_rightPower monitoring
  • chevron_rightSmart mirrors
  • chevron_rightDelivery lockers
  • chevron_rightDelivery courier app
SECURITY OPERATIONS
  • chevron_rightLive Security Monitor
  • chevron_rightSecurity mobile app
  • chevron_rightEmergency SOS button
  • chevron_rightEmergency phone numbers
  • chevron_rightBlacklist / whitelist enforcement
  • chevron_rightLogs + audit
  • chevron_rightCard-swipes audit
  • chevron_rightIncident reports
  • chevron_rightAccess-log screenshots
CONCIERGE & HELPDESK
  • chevron_rightConcierge services + types
  • chevron_rightComplaints
  • chevron_rightSuggestions
  • chevron_rightIncident reports
  • chevron_rightTickets + ticket types
  • chevron_rightHelp desk
  • chevron_rightLost & found
  • chevron_rightInternal mail
  • chevron_rightTukangMan link-out
  • chevron_rightAnnouncements
  • chevron_rightContractor service permits
POS / POSERVA / MARKETPLACE
  • chevron_rightPOSERVA POS settings
  • chevron_rightStock master + groups
  • chevron_rightStock classification
  • chevron_rightDaily sales tape
  • chevron_rightMerchants
  • chevron_rightMerchant captive login
  • chevron_rightCommunity marketplace
  • chevron_rightCampaigns
  • chevron_rightSelf-service laundry / amenities
APPROVALS & WORKFLOW
  • chevron_rightApprovals master
  • chevron_rightManagement approvals
  • chevron_rightPayment approvals
  • chevron_rightCompany approval flow
  • chevron_rightSub-account change approvals
  • chevron_rightBooking approvals + refunds
AUTOMATION & CRON
  • chevron_rightPer-minute cron worker
  • chevron_right5-minute cron worker
  • chevron_rightAuto-billing config
  • chevron_rightAuto-reminders + dunning
  • chevron_rightAuto-gen maintenance fee
  • chevron_rightAuto-gen sinking fund
  • chevron_rightAuto-gen late interest
  • chevron_rightAuto-gen rentals
  • chevron_rightAuto-gen statements
  • chevron_rightAuto-payments
  • chevron_rightAuto-lighting check
  • chevron_rightIoT heartbeat
  • chevron_rightSwipe heartbeat
  • chevron_rightAmenity auto-stop
  • chevron_rightExpired-booking cleanup
  • chevron_rightChild-membership purge
  • chevron_rightIntrusion-photo cleanup
REPORTS & ANALYTICS
  • chevron_rightFinancial reports
  • chevron_rightFacility utilisation
  • chevron_rightMost-visited report
  • chevron_rightOperator dashboard
  • chevron_rightCustomer dashboard
  • chevron_rightSystem logs
  • chevron_rightDebug logs (in_debugv)
  • chevron_rightAudit logs (in_syslog)
MOBILE APPS (PWA)
  • chevron_rightCustomer / owner app
  • chevron_rightStaff / management app
  • chevron_rightSecurity guard app
  • chevron_rightDelivery courier app
  • chevron_rightMerchant captive login
  • chevron_rightPublic captive flows
  • chevron_rightFirst-login + reset
QR CODES (CROSS-CUTTING)
  • chevron_rightProperty QR
  • chevron_rightInvoice payment QR
  • chevron_rightVisitor pass QR
  • chevron_rightQR keys
  • chevron_rightGeneric QR access + check
  • chevron_rightSelf-service laundry QR
  • chevron_rightDelivery locker QR
  • chevron_rightCSA QR
SELF-SERVICE PORTAL
  • chevron_rightSelf-service laundry
  • chevron_rightAmenities check-in QR
  • chevron_rightCaptive payment page
  • chevron_rightExternal pay invoice
  • chevron_rightOwner first-login
  • chevron_rightPassword reset
  • chevron_rightPublic signup
ADMIN / PROJECTS / STAFF
  • chevron_rightManagement bodies (companies)
  • chevron_rightProjects
  • chevron_rightEmployees / staff
  • chevron_rightOperator settings
  • chevron_rightPrivacy / terms / disclaimer
  • chevron_rightAPI documentation page
  • chevron_rightAI tooling endpoint
  • chevron_rightPDF rendering + paper sizes
TAX / MyInvois COMPLIANCE
  • chevron_rightConsumption tax types
  • chevron_rightSingle tax setup
  • chevron_rightUBL 2.1 payload builder
  • chevron_rightMyInvois submit + share URL
  • chevron_rightMSIC code list bundled
  • chevron_rightWalk-in TIN fallback (EI00000000010)
  • chevron_rightSandbox + production
  • chevron_righte_invoicing audit table
INTEGRATIONS
  • chevron_rightMyInvois / LHDN
  • chevron_rightXendit gateway
  • chevron_rightAutoCount read API
  • chevron_rightAutoCount push sync (Bearer)
  • chevron_rightVYROX-AutoCount-Connector middleware
  • chevron_rightTukangMan link-out
  • chevron_rightVYROX AI (parent)
  • chevron_rightPHPMailer email
  • chevron_rightMobile API namespace
DEVELOPER / API
  • chevron_rightPublic API documentation
  • chevron_rightDocumented endpoint surface at /api_doc.php
  • chevron_rightEV charging deposit + session API
  • chevron_rightVisitor API
  • chevron_rightSub-account API
  • chevron_rightAnnouncements API
  • chevron_rightMobile login API
  • chevron_rightMySQL connector layer
  • chevron_rightAI tooling endpoint (Bearer)
CROSS-CUTTING
  • chevron_rightMulti-tenant SaaS (per-project tg_prop switching)
  • chevron_rightRBAC privilege bitmap
  • chevron_rightAudit + debug logs
  • chevron_rightNotification + mute toggle
  • chevron_rightFile / backup management
  • chevron_rightPDF generation
  • chevron_rightProprietary safe_de2() token wrapping
  • chevron_rightSM4 device cipher
  • chevron_rightTLS in transit

Comprehensive feature index — derived from the audited SPORTSERVA codebase (~389 in-scope PHP files). Not every feature applies to every venue; Patrick will tailor the toggle set during onboarding.

SEE IT 6 MOCKUPS

SEE SPORTSERVA IN ACTION.

[ TLDR ]
Six chunky-bordered UI mockups — dashboard, MyInvois invoice, mobile app, access log, booking grid and AIoT panel — rendered in pure SVG.

No staged screenshots — every mockup is rendered in pure inline SVG so we can update it the same day a feature ships.

01 · DASHBOARD LIVE
BOOKINGS · TODAY
SYNCED
SM4-32
Device cipher
RM 38.4k
Auto-billed today
UBL 2.1
MyInvois payload
100%
MyInvois
Live ops board — sidebar with the 12 pillars, header KPIs and a 7-day revenue trend.
02 · MyInvois VALIDATED
SPORTSERVA
VYROX INTERNATIONAL SDN BHD · 201501012345
INV-2026-04812
2026-05-08
verified MyInvois VALIDATED
DESCQTYRATEAMT
Court 3 · 7-8pm rental (peak)460.00240.00
Coach session · Razak1120.00120.00
Pro-shop merch · grip tape215.0030.00
TOTAL (MYR)RM 390.00
UUID: 9f2c-3a14-77bb-eef0 · LHDN ack 2026-05-08T14:22:08+08:00
A B2B invoice with line items, tax block and the green “MyInvois Validated” pill at the top.
03 · MOBILE 4 APPS
SPORTSERVA · CUSTOMER
PAY INVOICE
RM 390.00
INV-2026-04812 · due tomorrow
BOOK BBQ PIT
SAT · 7-9PM
2 of 4 slots free
VISITOR QR
3 guests
Sat · 6pm
Approved
Phone frame with three stacked cards: pay invoice, book BBQ pit, generate visitor QR.
04 · ACCESS LOG LIVE
#
Member
Time
Method
Status
AR
Ahmad Razak
14:22
FACE
IN
MT
Michelle Tan
14:19
RFID
IN
BS
Budi Santoso
14:15
QR
IN
SR
Somchai R.
14:11
FACE
OUT
LM
Lim Wei Ming
14:08
RFID
IN
NH
Nurul Hidayah
14:02
FACE
DENIED
DC
David Chua
13:58
LPR
IN
PK
Priya Krishnan
13:54
RFID
OUT
Last 8 swipes with avatar, member name, timestamp and an entry/exit/denied pill.
05 · BOOKING GRID WK 19
TIME
MON
TUE
WED
THU
FRI
SAT
SUN
5pm
·
·
free
·
x
·
free
6pm
·
x
·
·
·
·
·
7pm
·
·
YOU
·
·
·
·
8pm
free
·
·
x
·
·
x
9pm
x
free
·
·
free
·
·
free booked blocked Court 3 · Wed 7-8pm · YOU
Week × timeslot grid — Court 3 · 7-8pm highlighted as your slot, walls of free/booked/blocked around it.
06 · AIoT PANEL 14k DEVICES
videocam IP CAMERA · Lobby A
ONLINE
badge RFID READER · Gate 3
ONLINE
elevator LIFT · Tower B (L1-L24)
SYNCING
lock SMART LOCK · Locker 0124
ONLINE
lightbulb SMART LIGHTING · Pool Deck
ONLINE
directions_car LPR CAMERA · EV bay 7
OFFLINE
computer SMART MIRROR · Studio 2
ONLINE
electric_bolt POWER MONITOR · Plant Room
SYNCING
Eight hardware items — cameras, lifts, locks, lighting — each with an online / offline / syncing pill.
LIVE BOARD YOUR NUMBERS, VISUALIZED

FILL THE COURTS. WATCH IT LIVE.

[ TLDR ]
An interactive ops board — flip the date preset and the court-utilisation, active-member, class-fill, revenue and no-show numbers recompute, the peak-hour heatmap repaints and the utilisation donut spins. These are the figures your reports already produce, drawn as a live dashboard.

SPORTSERVA computes facility utilisation by hour, member counts, class fill rate, revenue by period and no-shows from your own transactions. This board visualises exactly those metrics — change the period and everything below recalculates.

Interactive SPORTSERVA analytics dashboard. Date presets are Today, This Week, This Month and This Year. For This Month the key performance indicators are: court utilisation 74 percent, active members 1342, class fill rate 81 percent, today's revenue RM 138,210, and 177 no-shows. A seven-day by seven-time-band heatmap shows peak-hour court utilisation, with the highest demand on Friday and Saturday evenings between 6pm and 10pm. A donut chart shows overall court utilisation at 74 percent. Every figure is derived by SQL aggregation over the operator's own booking, membership, class and payment tables and is exportable to PDF and Excel.

OPERATIONS · ANALYTICS
12-MAY-2026 ~ 21-MAY-2026 (This Month)
Court utilisation
0
Active members
0
Class fill rate
0
Revenue (RM)
RM 138,210
No-shows
0
PEAK-HOUR COURT UTILISATION · darker = busier
6a9a12p3p6p8p10p
MON
TUE
WED
THU
FRI
SAT
SUN
Low Peak
COURT UTILISATION
74%
utilised

Off-peak headroom is where promo passes and coach blocks pay for themselves.

LIVE OPS
  • Court booked · Court 3 · 8:00–9:00pm · RM 48.00 · FPX
  • Member tapped in · Turnstile A · face match · plan active
  • Class full · HIIT 7:00pm · 18/18 · waitlist opened
  • Payment cleared · INV-2026-04417 · RM 220.00 · DuitNow QR
  • Pass renewed · 10-class pack · auto-billed · receipt emailed
  • e-Invoice validated · MyInvois · UUID issued · cleared
  • No-show flagged · Court 1 · 6:00pm · slot released
CLICK AROUND 4 LIVE SCREENS

THE REAL SCREENS.

[ TLDR ]
Four working mock screens rebuilt from the real SPORTSERVA UI — a clickable court-slot grid, member tier cards, the class & coach schedule and the POS till. Tap a tab to switch; tap a slot to book it.
BOOKINGS · COURT GRID FRI 22-MAY-2026 ▾ + NEW BOOKING

A clickable court booking grid for Friday 22 May 2026. Rows are courts 1 to 5, columns are hourly slots from 4pm to 10pm. White slots are free, orange slots are temporarily held, dark grey slots are already booked and locked. Tapping a free slot holds it, tapping again confirms the booking. A real-time conflict guard prevents double-booking across the web, the customer app and the walk-in front desk; peak, off-peak and public-holiday rate cards apply automatically.

4pm
5pm
6pm
7pm
8pm
9pm
10pm
COURT 1
COURT 2
COURT 3
COURT 4
COURT 5
Free Held (tap once) Booked Tap a free slot to hold → tap again to confirm.
MyInvois LHDN · UBL 2.1

DRAFT TO CLEARED.

[ TLDR ]
Watch a court fee or pro-shop sale become a cleared LHDN e-invoice — Draft → MyInvois validate → Submit → Cleared → Paid — built on UBL 2.1 JSON, the bundled MSIC code list and the walk-in TIN fallback for cash buyers.

SPORTSERVA e-invoice flow stepper with five stages: Draft, MyInvois validate, Submit to LHDN, Cleared, and Paid. Each booking, membership renewal and point-of-sale line is rendered as a UBL 2.1 JSON payload, validated against the LHDN MyInvois schema with bundled MSIC industry codes, submitted to the preproduction sandbox or live production endpoint, cleared with a returned UUID and sharing URL, then reconciled against payment. Cash and walk-in buyers use the LHDN-mandated walk-in TIN EI00000000010 so the queue never blocks.

  1. 1 DRAFT

    Booking, renewal or POS line builds a UBL 2.1 JSON invoice.

  2. 2 MyInvois VALIDATE

    Schema + MSIC + TIN checks before anything leaves the building.

  3. 3 SUBMIT (LHDN)

    Posted to the sandbox or live MyInvois endpoint with auto-retry.

  4. 4 CLEARED

    UUID + sharing URL returned; the green validated pill appears.

  5. 5 PAID

    Xendit / FPX / e-wallet receipt reconciles against the ledger.

UBL 2.1 + MSIC

Every invoice is generated as a Universal Business Language 2.1 JSON payload (submit_einvoice.php / functions_einv.php). The bundled MSIC code list keeps each line item classified to the right Malaysia Standard Industrial Classification before submission.

Walk-in TIN EI00000000010

A walk-in buys a drink and a tube of shuttles for cash — no TIN, no problem. SPORTSERVA falls back to the LHDN-mandated walk-in TIN EI00000000010 so cash sales never jam the e-invoice queue.

Sandbox → Production

Endpoints are configured in functions.php (preprod.myinvois.hasil.gov.my for sandbox, myinvois.hasil.gov.my for live). Test the full flow in preproduction, then flip to production with one config switch — credit-note linkage and validation-failure retries carry over.

THE NUMBERS DECIDE CODE-GROUNDED

YOUR DATA ALREADY KNOWS.

[ TLDR ]
The reports SPORTSERVA already computes — court utilisation by hour, member lifecycle, arrears aging, class fill rate and cashflow by period — each map to a concrete operating decision. No machine-learning crystal ball; just SQL aggregation over your own transactions, exported to PDF and Excel.

Court utilisation by hour → peak / off-peak pricing & scheduling

The facility utilisation report (facility_util.php) totals booked minutes per court, per facility type, per hour. Read across a week and the shape of demand is unmistakable: courts run hot on Friday and Saturday evenings and sit half-empty on weekday mornings. That single fact drives two decisions. First, the peak / off-peak / public-holiday rate cards in calendar.php let you charge what the prime slots are worth and discount the dead hours to fill them. Second, the same heatmap tells you where to drop a coaching block, a junior clinic or a members-only social — you schedule against the gap, not against a guess. When a slot is genuinely scarce, the real-time conflict guard in bookings.php stops walk-ins from quietly stealing the peak inventory your regulars expect.

Member lifecycle → renewals & churn

Every member row carries first-joined date, subscribed plan, days remaining, deposit and fee (members.php). Sort by days-remaining and your renewal queue writes itself: the members lapsing in the next ten days are exactly who to call, and the ones who let a 10-class pack run dry are your churn signal. SPORTSERVA does not wait for a human to notice — auto_renew_mem generates the next invoice roughly thirty days before expiry and the auto-billing engine attempts the saved payment method, so renewal becomes a default rather than a chase. The member CRM keeps primary, family and affiliate identities (mem_t 1/2/3) under one master record, so a lapsed family pass is one decision, not four scattered rows.

Arrears aging → the dunning cascade

Collections is where the money quietly leaks. SPORTSERVA computes balance per account as amount minus paid minus unposted, then buckets it into current, 1–30, 31–60 and 60-plus days. Those buckets decide who gets chased and when. The dunning cascade in reminder.php fires on a schedule, not a mood: the invoice and its PDF go out immediately, an overdue reminder lands seven days before the due date, the first letter on day one overdue, the second on day thirty-one, the third on day sixty-one, plus a card-expiry nudge seven days before a saved card lapses. The cron does the chasing, so Days Sales Outstanding contracts without a single staff hour spent on the phone.

Class fill rate → coach scheduling

Class bookings (class_bookings.php) record capacity against registrations, so fill rate is a number, not a feeling. A HIIT class that hits 18 of 18 every week is a signal to add a second session and a second coach block; a 9-of-12 drills class is a signal to move it to a hotter slot or fold it into a pass promotion. Coaches carry individual rate cards and payouts (coaches.php), so the fill-rate decision and the payout cost sit on the same screen — you schedule the sessions that pay for themselves and retire the ones that do not.

Cashflow by period → liquidity

The cashflow report (cashflow.php) projects receipts by day, month and year and by revenue type — court fees, memberships, class passes, POS, deposits. Read it forward and you know whether next month's coach payouts and rent are covered before the month starts, and read it by revenue line and you know which part of the operation is actually carrying the lights. Pair it with the revenue summary (discount, tax, rounding, paid, left, average daily revenue) and the liquidity decision — when to push a renewal drive, when to hold a capital purchase — stops being a hunch. Every figure on this page is a SQL aggregation over your own ledger, exportable to PDF and Excel; SPORTSERVA visualises the data your reports already produce, it does not invent forecasts.

LIVE BOARD FRONT-DESK VIEW

FILL EVERY COURT.

[ TLDR ]
A live occupancy board for every court, studio and lane — in-use slots tick down a countdown, free courts can be held with one tap, and the next booking is always in view. Illustrative mock of the booking board the front desk runs from bookings.php.
A live court occupancy board showing eight resources. Court 1, Court 3, Studio A and the Pool lane are in use with live countdown timers showing time remaining on the current booking. Court 2 and Court 5 are free and can be held with a tap. Court 4 is booked next at 18:00 and Court 6 is reserved for a coaching block. Each card uses a coloured pop-shadow: orange for in-use, lime for free, violet for held, grey for booked. Clicking a free court holds it for ten minutes pending confirmation, flipping it to a held state.
In use Free · tap to hold Held Booked next
COURT 1In use
45:15
Badminton · M. Tan +1
COURT 2Free
Tap to hold 10 min
COURT 3In use
18:50
Squash · Off-peak
COURT 4Booked 18:00
18:00
Peak rate · Confirmed
COURT 5Free
Tap to hold 10 min
COURT 6Booked 17:30
17:30
Coaching · Coach Aziz
STUDIO AIn use
10:12
HIIT · 16 of 18 in
POOLIn use
37:20
Lane 2 · Members

Countdowns and held states are an illustrative simulation. In the live software the same board is driven by the real-time conflict guard in bookings.php, with peak / off-peak / public-holiday rate cards from calendar.php applied automatically — no double-bookings, no walk-in stealing a regular's slot.

PLAN BUILDER ILLUSTRATIVE

BUILD A MEMBERSHIP.

[ TLDR ]
Pick a tier, toggle the add-ons, watch the estimated monthly figure move. An illustrative simulator of the membership plans, class passes and family sub-accounts SPORTSERVA configures in membership.php — not a price quote.
An interactive membership tier simulator with three plans — Off-Peak, Peak and Family — each with a base monthly fee of RM 79, RM 149 and RM 239 respectively. Toggling add-ons such as a personal locker (plus RM 25), a ten-class pass (plus RM 90) or an extra family sub-account member (plus RM 49) updates the estimated monthly total shown on each plan card. All figures are illustrative and do not constitute a price quote; real plans, class passes and family sub-accounts are configured per club in the membership module.
OFF-PEAK WEEKDAY

Court & gym access before 5pm on weekdays.

RM 79 / mo*
PEAK ALL HOURS

Unlimited access including peak evenings & weekends.

RM 149 / mo*
FAMILY SUB-ACCOUNTS

Two members under one master login, peak access.

RM 239 / mo*

*Figures are illustrative and not a price quote. Real membership plans, class passes (auto-deducted on check-in) and family sub-accounts under one master login (members.php, mem_t 1/2/3) are configured per club; auto-renewal generates the next invoice ~30 days before expiry.

AT THE GATE MEMBER × AIoT

TAP IN. PLAN CHECKED.

[ TLDR ]
Tap a card or face at the door and SPORTSERVA checks the membership in real time — active & paid opens the gate, suspended routes to reception. Illustrative mock of membership-bound access (smartcards / smartfaces → members).
A turnstile check-in mockup. Two buttons simulate a member tapping their RFID card or presenting their face at the gate. A scanning animation runs while the system checks the membership status, then shows a verdict. An active, paid member sees ACCESS GRANTED and the boom-gate arm lifts. A suspended or unpaid member sees SEE RECEPTION and the gate stays closed. This illustrates membership-bound access where smart cards and face templates are bound to the member record and a lapsed plan auto-stops at the turnstile.
Turnstile · Main Entrance
READY — TAP TO CHECK IN
Card or face is matched against the member record, then plan status is checked.
Gate

Illustrative simulation. In the live software, taps and face matches resolve against the member's plan (memberssmartfaces / smartcards); a lapsed or suspended plan auto-stops at the turnstile and every entry is written to the action audit log via in_syslog().

CALCULATOR ~30 SEC

WHAT WILL YOU SAVE?

[ TLDR ]
Plug your numbers in and SPORTSERVA returns an estimate of monthly admin savings — Patrick will verify the figure for your operation.
YOUR NUMBERS
ESTIMATED MONTHLY SAVINGS
RM {{ roiSavings.toLocaleString('en-MY', {maximumFractionDigits:0}) }}
Per month, before any uplift on collection rate. Patrick will model your specific operation under NDA.
RM {{ roiTime.toLocaleString('en-MY', {maximumFractionDigits:0}) }}
Time freed
RM {{ roiInvoice.toLocaleString('en-MY', {maximumFractionDigits:0}) }}
Invoice efficiency
RM {{ roiCollection.toLocaleString('en-MY', {maximumFractionDigits:0}) }}
Collection uplift
[ HOW WE ESTIMATE ]

Time freed = hours/week × 4.33 weeks × staff RM/hour × 0.7 (we assume 70% of manual billing time is automatable).

Invoice efficiency = invoices/month × RM 0.50 saved per invoice (paper, postage, manual chase).

Collection uplift = units × RM 1.20 (typical lift from auto-billing + dunning rules).

Estimate only — Patrick will confirm for your specific operation, with line-by-line modelling and references to similar operators.

Estimate only — Patrick will confirm for your specific operation.
FACE RECOGNITION· RFID· QR ACCESS· SMART INTERCOM· LICENCE PLATE· LIFT CONTROL· PARKING LOCK· SMART LIGHTING· FACE RECOGNITION· RFID· QR ACCESS· SMART INTERCOM· LICENCE PLATE· LIFT CONTROL· PARKING LOCK· SMART LIGHTING·
ON RIGHT NOW

LIVE OPS. NO SPREADSHEETS.

[ TLDR ]
Six code-verifiable architectural facts about the SPORTSERVA engine: invoice types, MyInvois format, auto-billable GL codes, RBAC privilege bits, device cipher, ops monitoring posture.
INVOICE TYPES
27+
Native invoice templates
Standard · rental · deposit · fire · consolidated · CN · refund · termination
AUTO-BILL GLs
14codes
Auto-billable GL codes
Pre-wired to auto_payments.php rule engine
RBAC
34+ bits
Privilege bitset
Role capabilities enforced page-by-page
24/7
Best-effort availability
SM4-32
Device cipher (sm4.php)
0
Double-bookings · conflict guard
24/7
Support window
PLAYS WITH

WORKS WITH WHAT YOU ALREADY RUN.

[ TLDR ]
Six integration lanes — MyInvois (UBL 2.1 + MSIC), Xendit (QR/card/Direct Debit), the Autocount middleware, PHPMailer email & invoice delivery, generic IP cameras + RFID/face/LPR/intercom, and IP-controlled lifts and lockers — covered out of the box. Plus a public REST API at /api_doc.php documenting the endpoint surface.

No rip-and-replace. SPORTSERVA plugs into your gateways, hardware and accounting tools out of the box.

MyInvois (LHDN) Xendit Autocount PHPMailer Email Public REST API Generic IP Cameras MIFARE RFID Face Recognition Licence-Plate Cameras Smart Intercoms Lift Controllers Parking-Lock Controllers Smart Lighting Power Monitors Smart Mirrors Delivery Lockers
FRONT DESK POS + CHECK-IN

RING UP THE CAFE.
WAVE THEM IN.

One screen at reception: the café / pro-shop till on the left, member check-in on the right. Sales post straight to the ledger and MyInvois; check-ins verify membership status before the gate opens.

A point-of-sale till showing café and pro-shop line items — Protein Shake RM 14.00, Grip Tape RM 9.00, Court Hire 1hr RM 30.00 — with a running total of RM 53.00 paid by DuitNow QR and an E-Invoice Validated badge, next to a member check-in panel listing arriving members, their plan, days remaining and a paid or due status.
POS · FRONT DESK TILL22-MAY-2026 · Shift A
Protein ShakeRM 14.00
Grip Tape ×2RM 9.00
Court Hire · 1 hr (off-peak)RM 30.00
TOTALRM 53.00
Tendered · DuitNow QR (Xendit) E-INVOICE VALIDATED ✓
MEMBER CHECK-IN · LIVE RECEPTION
  • Aishah R. · Peak Individual
    214 days remaining
    PAID · IN
  • Daniel T. · Family (4)
    31 days remaining
    RENEW SOON
  • Wei Lun · Off-Peak
    Plan lapsed 4 days ago
    SEE DESK
  • Priya N. · Day Pass
    Paid at till · RM 18
    PAID · IN

Check-in reads the same membership record the turnstile and auto-renewal use — no separate roster to keep in sync.

FILL THE FLOOR ROSTERS + LEAGUES

EVERY CLASS FULL.
EVERY TIE TRACKED.

Class capacity fill comes straight from registration counts; the league bracket maps your event ties. Spot the half-empty Tuesday slot and the open final at a glance.

Class roster fill bars: HIIT Mon 7pm 18 of 20 booked, Spin Tue 6am 7 of 16 booked, Pickleball clinic Wed 8pm 12 of 12 full, Yoga Sat 9am 22 of 25 booked.
CLASS ROSTER FILL · THIS WEEK
HIIT · Mon 7:00pm18 / 20
Spin · Tue 6:00am7 / 16
Pickleball Clinic · Wed 8:00pm12 / 12 · FULL
Yoga Flow · Sat 9:00am22 / 25

Low-fill slots are the ones to promo with off-peak passes or a coach block.

A single-elimination league bracket: semi-final 1 Falcons beat Strikers, semi-final 2 Rovers beat Aces, final Falcons versus Rovers to be played.
CLUB LEAGUE · KNOCKOUT BRACKET
Falcons
Strikers
Rovers
Aces
Falcons
Rovers
Final · TBD

Ties are bookings against your courts, so the fixture and the slot reservation are one and the same record.

WHO'S ON COACH GRID

COACHES × TIME. SORTED.

A coaches-by-time-slot board: on-floor sessions, scheduled classes and off blocks at a glance — no double-booking a coach against a court.

Coach scheduling grid for Friday: Coach Lim has an on-floor session at 4pm, a class at 6pm and 7pm; Coach Sara is off until 5pm then on-floor; Coach Devan teaches classes at 4pm and 5pm and is off at 7pm.
COACH SCHEDULE · FRI 22-MAY
Coach4pm5pm6pm7pm8pm
Lim1-on-1ClassClassOff
SaraOffSquadSquadClass
DevanClassClassOff1-on-1
On-floor session Class Off / available
POWERED BY VYROX AI OPERATIONAL INTELLIGENCE

ASK. THE NUMBERS ANSWER.

VYROX AI surfaces and automates the reports your data already produces — lapsed members by last-visit flag, peak-hour utilisation, today's revenue. It reads your operations; it does not invent forecasts.

VYROX AI answer panel showing computed answers: lapsed members flagged by last-visit date, underused court hours from the utilisation report, today's revenue total from posted payments, and the auto-renewal queue.
VYROX AI

28 members flagged as lapsed (no visit in 60+ days).

Built from each member's last check-in date — a last-visit flag, not a prediction. Top of the list: Wei Lun (lapsed 64d, plan due), Hana (71d), Kumar (88d).

Source: members + visits tables · export to PDF / Excel · push to a win-back campaign.

SET IT · FORGET IT CRON RULES ENGINE

WHAT RUNS WHEN.

Real cron rules — not AI guesswork. Auto-billing, the dunning cascade, membership auto-renewal and booking auto-cancel fire on a fixed schedule. Toggle a rule to see what it does.

Automation timeline of cron rules: auto-billing on the 1st of the month, dunning reminders at 7 days before due, day 1, day 31 and day 61 overdue, membership auto-renewal 30 days before expiry, and auto-cancel of expired unpaid bookings — each a toggleable rule.
AUTOMATION RULES
Auto-billing · 1st of month
Generates membership, court-package and service-charge invoices, then submits MyInvois.
Dunning cascade · −7d / day 1 / day 31 / day 61
Reminder 7 days before due, then overdue letters at 1, 31 and 61 days.
Membership auto-renewal · 30 days pre-expiry
Raises the renewal invoice ~30 days before the plan lapses (upass_pe).
Auto-cancel expired bookings
Releases unpaid held slots so the court frees up for the next member.
Device heartbeat check
Pings access devices; flags any reader that misses its sync window.
EXEC VIEW BI / KPI WALL

THE WHOLE CLUB. ONE WALL.

A denser board for the owner: small-multiple tiles drawn from the same reports — collection rate, court utilisation, class fill, retention and revenue trend. Figures are illustrative of the metrics the software computes.

A KPI wall of tiles: collection rate 94 percent, court utilisation 78 percent, class fill 82 percent, active members 612, today's revenue RM 4,180, no-shows 6 this week, retention 88 percent, MyInvois validated 100 percent — all illustrative of computed metrics.
Collection rate
94%
Court utilisation
78%
Class fill rate
82%
Active members
612
Today's revenue
RM 4,180
No-shows · wk
6
Retention
88%
MyInvois validated
100%

Illustrative dashboard — the numbers your SQL reports and PDF/Excel exports already produce, visualised.

KEEP THEM RETENTION

CATCH THE DRIFTERS.

A lapsed-visit flag (last check-in date vs today — operational, not ML) plus the renewal queue, so the front desk knows exactly who to call before the plan lapses.

Lapsed-member watchlist: Wei Lun last visited 64 days ago plan due, Hana 71 days ago, Kumar 88 days ago plan lapsed — each flagged by last-visit date.
LAPSED-VISIT WATCHLIST
Wei Lun · Off-Peak64dDUE
Hana M. · Peak71dQUIET
Kumar S. · Family88dLAPSED

Flag = days since last recorded visit. No prediction — just the date the data already holds.

Renewal queue sorted by days remaining: Daniel T family plan 31 days, Aishah peak 9 days, Marcus off-peak 4 days — auto-renewal raises the invoice about 30 days before expiry.
RENEWAL QUEUE · DAYS REMAINING
Daniel T. · Family31d
Aishah R. · Peak9d
Marcus L. · Off-Peak4d

Auto-renewal fires the next invoice ~30 days before expiry so nobody silently drops off.

A DAY IN THE LIFE SCENARIOS

REAL SHIFTS. REAL FLOWS.

7AM · MONTH-END CLOSE

Auto-billing has already raised the month's invoices and pushed MyInvois overnight. The owner opens the BI wall, exports collections to Excel and works the 60+ aging bucket with the dunning queue.

Modules: auto-billing · MyInvois · reporting · dunning.

6PM · PEAK RUSH

Members tap in at the turnstile — active plans open the gate, lapsed ones route to reception. The court board shows live countdowns; the café till rings sales straight to the ledger.

Modules: turnstile access · court board · POS.

11PM · QUIET TUESDAY

VYROX AI flags the under-filled Tuesday spin slot and 28 lapsed members. The manager schedules an off-peak promo pass and a win-back campaign — and lets auto-cancel free the unpaid held courts.

Modules: Ask VYROX AI · campaigns · automation.

WIRED IN ECOSYSTEM HUB

PLAYS WELL WITH EVERYTHING.

Third-party integrations that keep SPORTSERVA at the centre of your stack — compliance, payments, accounting, hardware, maps and an open API.

MyInvois / LHDN

MyInvois LHDN e-invoice integration.

Real-time UBL 2.1 e-invoice submission with sandbox & production, MSIC codes and walk-in TIN fallback.

Xendit

Xendit payment gateway integration.

FPX, cards, DuitNow QR and e-wallets (TNG, Boost, GrabPay) with webhook auto-reconciliation.

AutoCount

AutoCount accounting sync integration.

Bidirectional sync of customers, invoices and payments via the VYROX-AutoCount Connector (Bearer token).

Access hardware

Access control hardware integration.

MIFARE RFID, face cameras, licence-plate readers, smart intercoms, lifts and lockers — SM4-encrypted device protocol.

HERE Maps

HERE Maps integration for staff and delivery apps.

Geolocation and routing in the staff and delivery courier apps.

REST API & webhooks

REST API and webhooks integration surface.

Documented endpoints at /api_doc.php for invoices, payments, members, bookings and access events.

TAP IT IN LIVE TILL

RING IT. WAVE THEM THROUGH.

Tap a café, pro-shop or court-hire button and watch the total build — then tap a member in. Every sale posts to the ledger and MyInvois, and the gate only opens for an active plan. Try it.

An interactive front-desk till: tapping product buttons such as Protein Shake RM 14, Grip Tape RM 9, Court Hire one hour RM 30, Day Pass RM 18 and Towel Hire RM 5 adds line items and updates a running total that is tendered by DuitNow QR and validated as an e-invoice. Beside it a member tap-in list shows Aishah on a Peak plan paid and in, Daniel on a Family plan due for renewal, Wei Lun whose plan lapsed routed to the desk, and a day-pass guest paid at the till.
POS · FRONT-DESK TILL22-MAY-2026 · Shift A
  • Tap a product above to start a sale.
TOTALRM 0.00
DUITNOW QR · E-INVOICE ✓
MEMBER TAP-IN · LIVE RECEPTION
  • Aishah R. · Peak Individual
    214 days remaining
    PAID · IN
  • Daniel T. · Family (4)
    31 days remaining
    RENEW SOON
  • Wei Lun · Off-Peak
    Plan lapsed 4 days ago
    SEE DESK
  • Day-pass guest
    Paid at till · RM 18
    PAID · IN

The tap-in reads the same membership record the turnstile and auto-renewal use — one source of truth, no second roster to sync.

Illustrative simulation. In the live software, POS sales (sales.php / POSERVA) post a GL entry and fire a MyInvois UBL 2.1 submission, while check-in binds to the member record so a lapsed plan cannot tap through.

NEVER A DEAD SLOT WAITLIST AUTO-FILL

A NO-SHOW FREES.
THE WAITLIST FILLS.

When auto-cancel releases an unpaid held slot, the next person on the waitlist gets promoted automatically. Tap Release on a no-show and watch the slot recover.

A no-show recovery board. The left panel lists at-risk slots: Court 2 at 7pm with a guest unpaid past the hold window, and a Spin class seat unconfirmed. Releasing a slot moves it to the right panel where the next waitlisted member is auto-promoted into it. The board illustrates the auto-cancel of expired bookings and waitlist promotion the cron performs.
AT-RISK SLOTS · HOLD EXPIRING
Court 2 · 7:00pm
Guest hold · unpaid 11 min
Spin · 6:00am seat
Unconfirmed · 1 of 16 open
Court 5 · 8:30pm
Peak slot · hold 4 min left
WAITLIST · NEXT IN LINE
  • Release a slot on the left — the next waitlisted member fills it here.
In queue: Priya N. · Marcus L. · Hana M. · Faris K.

Illustrative. Auto-cancel of expired bookings runs on the minute-level cron (cron_minute_work.php), freeing unpaid held slots so peak hours stay full.

PRICE THE PEAK RATE-CARD GRID

CHARGE MORE WHEN IT'S BUSY.

Utilisation by time band tells you where the demand is — the rate card prices it. Soft mornings get an off-peak rate to fill them; Friday and Saturday evenings sit at peak. Tap a cell to read the band.

A weekly court rate-card grid by time band. Mornings before 5pm are off-peak at RM 22 per hour and run softer utilisation; the 5pm to 8pm window on Friday and Saturday is peak at RM 40 per hour and runs near full; public-holiday all-day sits at the peak rate. Tapping a cell reveals the band, the rate and the typical utilisation.
COURT RATE CARD · BY TIME BAND
BandMonTueWedThuFriSatSun
6–9am22222222303030
9am–5pm22222230304040
5–8pm30304040404040
8–11pm30303030404030
Off-peak · fill it Standard Peak · charge it Tap a cell for band & utilisation

Illustrative. Rate cards (peak / off-peak / public-holiday) come from calendar.php and apply automatically at booking; utilisation by time band comes from the facility-utilisation report (facility_util.php).

CLEAR THE QUEUE APPROVALS

ONE TAP. APPROVED.

Booking changes, payment postings and refund requests all land in one queue. Accept or reject — each decision is timestamped to the audit log. Try clearing a few.

An approvals queue with four pending items: a booking change request to move a Saturday peak court, an unposted bank-in payment of RM 564.50 to verify, a refund request of RM 80 for a cancelled clinic, and a family sub-account add. Each row has Approve and Reject buttons; a decision marks the row as approved or rejected.
PENDING APPROVALS 4 pending
Booking change · Court 3 → Court 5
Sat 7:00pm peak · M. Tan · pending change approval
Payment posting · RM 564.50
FPX bank-in · unposted batch · verify & post to GL
Refund request · RM 80.00
Cancelled pickleball clinic · pending refund approval
Family sub-account add · Daniel T.
+1 child pass · self-service change · pending approval

Illustrative. Real approval workflows (approvals.php, payment_approvals.php, bookings_chg.php) route each decision through RBAC and write to the audit log via in_syslog().

WHO SHOWS UP ENGAGEMENT BANDS

VISITS DON'T LIE.

Visit frequency from the check-in log sorts members into engagement bands — Regulars to reward, Steady to nurture, Fading to win back. It is counted, not predicted: every entry is a real recorded visit.

Regulars band: members visiting eight or more times in the last thirty days, such as Aishah twelve visits and Faris ten visits — reward and upsell candidates.
REGULARS8+ / 30d
  • Aishah R. · Peak12 visits
  • Faris K. · Peak10 visits
  • Priya N. · Family9 visits

Reward, refer-a-friend, upsell to peak.

Steady band: members visiting four to seven times in the last thirty days, such as Daniel six visits and Sofia four visits — keep them engaged.
STEADY4–7 / 30d
  • Daniel T. · Family6 visits
  • Sofia A. · Off-Peak5 visits
  • Jason L. · Peak4 visits

Nudge into a class or a regular slot.

Fading band: members visiting three or fewer times in the last thirty days, such as Hana two visits and Wei Lun one visit — win-back candidates flagged by last visit date.
FADING≤3 / 30d
  • Hana M. · Peak2 visits
  • Wei Lun · Off-Peak1 visit
  • Kumar S. · Family0 visits

Win-back campaign before the plan lapses.

Illustrative. Visit frequency, first visit and last visit come straight from the visits table — a counted engagement band, not a churn prediction. Export to PDF / Excel or push a band into a campaign.

PLAYBOOK 4 STEPS

LIVE IN DAYS.
NOT MONTHS.

[ TLDR ]
Four phases over four weeks: discovery and import, configuration and training, AIoT pairing and soft launch, full cutover and growth.
01

ONBOARD YOUR PROPERTY OR BUSINESS

Spin up your venues, blocks, courts, classes and units. Bring your existing member database with our import wizard.

02

CONFIGURE YOUR MODULES

Switch on bookings, memberships, billing, helpdesk, POS, marketplace and security operations — only what you need.

03

CONNECT AIoT HARDWARE

Pair RFID, face cameras, intercoms, lifts, parking locks and lockers — all into one access and audit log.

04

GO LIVE — AND GROW

Train staff, switch on auto-billing and MyInvois, open the customer mobile app — and start tracking ops on one screen.

FITS

ONE STACK · EIGHT PLAYBOOKS.

[ TLDR ]
Eight industries we serve under a single platform: condos, mixed-use, sports clubs, gyms, parking, residential communities, retail/F&B and clubhouses.
Condos & Strata Mixed-Use Buildings Sports Clubs Gyms Smart Parking & EV Residential Communities Retail / F&B Clubhouses
39 TOGGLES FROM functions.php EVERY MODULE

EVERY FEATURE
IN SPORTSERVA.

[ TLDR ]
Every customer-facing feature toggle in SPORTSERVA — all 39 of them. Operators flip them on per project, so you only see what your venue uses.

SPORTSERVA exposes 39 customer-facing feature toggles via property_ava() in the codebase. Operators flip them on per venue, so SPORTSERVA only renders what your operation actually uses. Below is the canonical list — pulled straight from the codebase.

  • 01
    Invoicing

    Standard, consolidated, rental, fire-charge, deposit and credit-note flows on one ledger.

  • 02
    Utility Billing

    Water, electricity and metered-utility invoicing tied to unit and meter reading.

  • 03
    Visitors

    Pre-registration, QR pass, type-based routing, doc upload and car-photo capture.

  • 04
    Facility Bookings

    Courts, halls and common areas with cut-off, PH rules and recurring slots.

  • 05
    Golf Bookings

    Tee-time scheduling and group-booking workflow, separate from generic facility bookings.

  • 06
    Participant Check-Ins

    Class, event and amenity check-in records with timestamp and audit trail.

  • 07
    Announcements

    Targeted broadcast notices to residents, members or specific zones.

  • 08
    Suggestions

    Resident/member suggestion box with status lifecycle.

  • 09
    Internal Mails

    In-app messaging between management, staff and customers.

  • 10
    Complaints

    Lifecycle ticketing for resident or member complaints with SLA clock.

  • 11
    Incident Reports

    Security incident logging with photo evidence and owner assignment.

  • 12
    Defect Reports

    Property/facility defect tickets routed to maintenance staff.

  • 13
    Management Accounts

    MC/JMB management-body accounts with sub-MC support.

  • 14
    Meeting Minutes

    Board, AGM and committee minutes archived per management body.

  • 15
    Emergency Numbers

    Tap-to-call directory of emergency contacts inside the customer app.

  • 16
    Emergency SOS Requests

    One-tap SOS into the security console with location pin.

  • 17
    Sub-Users

    Family member, employee or sub-account users under a master record.

  • 18
    Card Access

    MIFARE-compatible RFID smart-card access with audit log.

  • 19
    Face Recognition Access

    SmartFACE template-based face access at gates and lifts.

  • 20
    Vehicle Plate Recognition Access

    SmartVE LPR for vehicle entry/exit with paid-parking integration.

  • 21
    Contractor Service Permits

    Permit-to-work tickets with check-in/out and audit photo.

  • 22
    Tickets

    Cross-cutting ticketing engine for help-desk, complaints and concierge work.

  • 23
    POSERVA

    Native point-of-sale tied to GL, with stocks, groups and classification.

  • 24
    Community Marketplace

    Tenant/merchant catalogue with campaign-driven promos.

  • 25
    Concierge Services

    Bookable concierge requests — laundry, fetch, errands.

  • 26
    TukangMan

    Handyman link-out to tukangman.com for ad-hoc home services.

  • 27
    Self-Service Laundry

    QR-driven laundry/amenity machine sessions with auto-stop.

  • 28
    Memberships

    Paid plan management with auto-renew, class passes and member rate cards.

  • 29
    Tenancy Agreements

    Lease lifecycle: proposal → in-force → not-in-force, with rentals.

  • 30
    Tenant Accounts

    Tenant master records separate from owner accounts, with statements.

  • 31
    Management Committee

    MC member roster, voting record and approval routing.

  • 32
    Delivery Lockers

    Smart locker assignment, courier app and pickup QR (delivery_lockers.php + qr_keys.php).

  • 33
    EV Charging Parking Lots

    EV bay metering, deposit + session APIs and auto-billing.

  • 34
    Lost and Found

    Logged-and-searchable lost-and-found inventory with claim flow.

  • 35
    Property QR Code

    One QR per property — landing for guests, residents and amenity scan-to-act.

  • 36
    Help Desk

    Operator-facing help-desk queue with SLA tiers.

  • 37
    Integrated Smart Access

    SmartINTE intercom + linked card/face/plate access on one device.

  • 38
    Files

    Per-customer document vault with retention rules and signature capture.

  • 39
    Classes

    Yoga/fitness/coach scheduling with class passes and participant check-in.

SOURCE-OF-TRUTH NOTE

This list is generated from functions.php → property_ava() in the SPORTSERVA codebase. Public REST API at /api_doc.php documents the endpoint surface across these toggles — visitor, EV charging, sub-account, announcements and more. Powered by VYROX AI — the AI that specializes in business operation management together with IoT.

VS THE FIELD 10 ROUNDS

WHY SPORTSERVA OVER
THE ALTERNATIVES.

[ TLDR ]
Ten head-to-head rounds against spreadsheets and single-purpose legacy software — capability by capability, no marketing fluff.

A direct head-to-head against spreadsheets and single-purpose legacy software. Ten rounds, no spin.

Capability SPORTSERVA Spreadsheets / Manual Legacy / Single-Purpose
MyInvois (LHDN) e-invoice YES
Native, real-time submission
NO
Manual upload, error-prone
PARTIAL
Often missing or paid add-on
Workflow automation YES
Cron + rules engine
NO
None — humans chase
PARTIAL
Limited; not cross-module
AIoT / access control YES
Brand-agnostic, native
NO
Not possible
PARTIAL
Single-vendor lock-in
Multi-property / multi-tenant YES
Native, role-based
NO
Spreadsheet per site
PARTIAL
Per-site licence
Resident / customer mobile app YES
4 apps + QR shortcuts
NO
None
PARTIAL
Optional add-on
Real-time dashboards YES
Live ops board
NO
Daily-batch at best
PARTIAL
Static reports
Audit trail YES
Action log via debugv_access
NO
Track-changes hell
PARTIAL
Partial, per module
Payment automation YES
Xendit + bank rails + auto-recon
NO
Manual entry
PARTIAL
Limited gateways
Integrations YES
MyInvois, Xendit, Autocount, IoT
NO
Copy-paste
PARTIAL
One-off connectors
Support response YES
Direct line to Patrick + email
NO
You are the support
PARTIAL
Ticket queue, days
PLAYBOOKS 8 INDUSTRIES

EIGHT INDUSTRIES.
ONE STACK.

[ TLDR ]
Eight industry playbooks — strata, mixed-use, sports clubs, gyms, parking, communities, retail/F&B and clubhouses — each with a live-operator example.
01
Condos & Strata

JMB and MC committees managing multi-block strata properties with sinking-fund and management-fee billing.

Top pain: Endless paper notices, late maintenance fees, and visitor logbooks that nobody reads.

check_circleAccounting + MyInvois for monthly bills
check_circleVisitor + access control with face/QR
check_circleHelpdesk lifecycle for complaints
QUANTIFIED OUTCOME

Capability: generate_ma.php + generate_sink.php produce maintenance-fee and sinking-fund invoices on cron; auto-payments + dunning chase overdue accounts without staff effort; complaints.php gives every ticket an owner and an SLA clock.

02
Mixed-Use Buildings

Office + retail + residential towers with very different operational rhythms under one roof.

Top pain: Different teams running different systems for the same gate, lift and lobby.

check_circleProperty & facility setup with per-zone rates
check_circleLift + parking-lock control with audit log
check_circlePOSERVA for retail tenants and merchants
QUANTIFIED OUTCOME

Capability: zones.php, parking lots, lift access controllers and POSERVA all share one pid-scoped GL — office, retail, residence and hotel rhythms run on the same ops screen without duplicate licences.

03
Sports Clubs

Multi-court racquet and ball clubs with peak-hour scarcity and recurring members.

Top pain: Walk-ins stealing peak slots, no-shows on recurring bookings, MyInvois headache on cafe sales.

check_circleBookings with cut-off + PH rules
check_circleMemberships with auto-renew + class passes
check_circlePOS for cafe + pro shop tied to GL
QUANTIFIED OUTCOME

Capability: bookings.php real-time conflict guard, peak / off-peak / PH rules in calendar.php and POSERVA tied to the booking GL — courts, cafe and pro shop all roll into one ledger with the MyInvois pipeline already wired up.

04
Gyms

Single-site or multi-branch fitness studios with high-volume daily check-ins.

Top pain: Fronth-desk queues, lapsed members tapping in, and a spaghetti of CCTV/RFID/POS.

check_circleFace access at the entrance with membership binding
check_circleAuto-billing engine for renewals
check_circleClass passes and coach payouts
QUANTIFIED OUTCOME

Capability: smartface.php binds face templates to active members; auto_payments.php cycles renewals on cron with PHPMailer dunning — the front desk stops being the billing department.

05
Smart Parking & EV

Operators managing reserved bays, visitor parking and EV charging revenue.

Top pain: Disputes over bay usage, manual charging-fee collection, and no real-time view of utilisation.

check_circleParking-lock + LPR (SmartVE) for entry/exit
check_circleEV bay metering and auto-billing
check_circleVisitor parking pass with QR
QUANTIFIED OUTCOME

Capability: ev_parking_lots.php meters EV bays against electricity.php usage; smartve.php (LPR) gates entry; auto-billing applies the active peak / off-peak rate card per slot — no spreadsheet, no disputes.

06
Residential Communities

Gated communities with mixed family demographics and active resident apps.

Top pain: Complaint backlogs, visitor approval friction, and unclear who paid what.

check_circleResident mobile app for bookings + payments
check_circleVisitor pre-registration with QR
check_circleConcierge + complaints with SLA
QUANTIFIED OUTCOME

Capability: residents pre-register guests in app.php; visitor_pass.php issues a QR (long_id UUID); residents pay invoices and book amenities from the same app, with Xendit handling QR / FPX / card / e-wallet rails.

07
Retail / F&B

Mall tenants and stand-alone outlets needing POS, MyInvois and tenant billing.

Top pain: Disconnected POS, daily manual MyInvois, and cash-flow blind spots.

check_circlePOSERVA point-of-sale tied to GL
check_circleMyInvois auto-submission per sale
check_circleMarketplace + campaigns engine
QUANTIFIED OUTCOME

Capability: every POSERVA sale (sales.php) auto-fires a MyInvois UBL 2.1 submission via submit_einvoice.php with walk-in TIN fallback EI00000000010 for cash buyers; Xendit webhooks reconcile the receipt against the customer ledger in one step.

08
Clubhouses

Resort, country and community clubhouses balancing members, walk-ins and event bookings.

Top pain: Fragmented event bookings, member benefits forgotten, and a helpdesk that lives in chat threads.

check_circleClass + facility booking with member rate cards
check_circleLost-and-found + concierge tickets
check_circleEvent-day visitor pass batch
QUANTIFIED OUTCOME

Capability: guest journey is QR + face end to end — bookings.php for the slot, the customer app to pay (Xendit), smartface.php at the door, and visitor_pass.php for non-members; every event lands in the same audit log.

CLIENTS 12 ANONYMISED UNDER NDA

OPERATORS WE SERVE.

[ TLDR ]
Twelve anonymised operators we serve, drawn from the live deployment base — happy to introduce on request.

A snapshot of live operations on the platform — anonymised by request. Happy to introduce on a NDA-protected reference call.

01 HIGH-RISE CONDO
Strata
Auto-billing + face access for residents.
02 BADMINTON CENTRE
Multi-court
Online booking + peak / off-peak rates.
03 MIXED-USE CLUBHOUSE
Community
POS + amenities + visitor management.
04 MULTI-LIFT BLOCK
Strata
Lift access + smart parking.
05 FUTSAL ARENA
Sports
Recurring class bookings + Xendit payments.
06 RETIREMENT VILLAGE
Community
Concierge services + helpdesk.
07 EV CARPARK
Parking
LPR entry + paid parking.
08 STRATA RESIDENTIAL
JMB / MC
JMB billing + sinking fund auto-generation.
09 SWIM COMPLEX
Sports
Class passes + coach scheduling.
10 SERVICED APARTMENTS
Property
Sub-account billing + statements.
11 BOWLING ALLEY
Leisure
POS + membership plans + leaderboards.
12 SPORTS CENTRE
Multi-facility
Multi-facility bookings + auto-reminders.
SWITCHING 4 PATHS

MOVING FROM SPREADSHEETS,
PAPER, OR LEGACY SOFTWARE.

[ TLDR ]
Four migration paths — from spreadsheets, paper, single-purpose legacy software or in-house custom tools — each with a parallel-run plan.

Whatever you ran before, there is a parallel-run path that protects finance and operations during cutover. No big-bang go-lives.

01
PARALLEL OK

FROM SPREADSHEETS

Bring your members, units, contracts and historical invoices in via CSV/Excel templates. Patrick walks the field-mapping in Week 1, then runs a parallel reconciliation against your existing sheet for one billing cycle so finance can sanity-check every figure before cutover.

  • arrow_forward CSV / Excel ingestion templates
  • arrow_forward Field-mapping with Patrick on a call
  • arrow_forward One parallel billing cycle for sanity check
  • arrow_forward Historical invoices preserved with original numbers
02
PARALLEL OK

FROM PAPER / MANUAL

If your last decade lives in a filing cabinet, we run an OCR + structured-data onboarding workflow. Past contracts and receipts are scanned, indexed against the new customer record and tagged with the original date so the audit trail is unbroken — even when the source is paper.

  • arrow_forward OCR ingest of past records
  • arrow_forward Per-customer document indexing
  • arrow_forward Original-date tagging on every artefact
  • arrow_forward Digital signature capture going forward
03
PARALLEL OK

FROM LEGACY SOFTWARE

Bridge integrations let your old system keep posting payments while SPORTSERVA owns bookings, MyInvois and access. We run parallel for two cycles, then flip the GL across in a single weekend with finance present. No big-bang go-live, no 90-day spreadsheet of failed records.

  • arrow_forward Bridge integration during cutover
  • arrow_forward Two-cycle parallel run
  • arrow_forward Single-weekend GL cutover with finance on call
  • arrow_forward Read-only archive of the old system retained
04
PARALLEL OK

FROM CUSTOM IN-HOUSE

For teams cutting over from a custom-built ERP or PHP/Excel mashup, we work directly with your developer to schema-map the export, normalise data into SPORTSERVA primitives, and archive the old DB read-only. Webhooks and the REST API keep any homegrown tools that still earn their keep.

  • arrow_forward Direct developer-to-developer schema mapping
  • arrow_forward Data normalisation into SPORTSERVA primitives
  • arrow_forward Read-only archival of the source DB
  • arrow_forward REST + webhooks for surviving in-house tools
PLAYS WITH DEEP DIVE

EVERY INTEGRATION, EXPLAINED.

[ TLDR ]
Six deep-integration lanes — MyInvois (UBL 2.1), Xendit (QR/card/Direct Debit), Autocount middleware, email & invoice delivery via PHPMailer, generic IP cameras + RFID/face/LPR/intercom and IP-controlled lifts and lockers.
MyInvois (LHDN)

Malaysian e-invoice compliance via UBL 2.1 JSON payload generation, with real-time submission, sharing-URL retrieval, credit-note linkage and consolidated invoice support. Walk-in buyer fallback ships the LHDN-mandated TIN EI00000000010 so cash sales never block the queue, and the bundled MSIC code list keeps line items compliant. Sandbox and production are both first-class.

Xendit

Multi-method payment gateway. Confirmed methods in the integration: QR (DuitNow / e-wallet QR), credit & debit card, and Direct Debit. Webhook reconciliation against the customer ledger, refund workflow with approval, and failover with retry/dunning. One integration, one ledger.

Autocount

Bidirectional sync via the hosted VYROX-AutoCount-Connector middleware with Bearer-token auth — invoice, payment, cancel and undo flows are all wire-supported. Autocount-native finance teams keep their workflow while ops runs SPORTSERVA; daily reconciliation runs on cron with an exception report.

Email & invoice delivery (PHPMailer)

Outbound email, invoice delivery, statement notifications and late-payment reminders go out via PHPMailer. Every send is logged against the customer record so the audit trail is unbroken — the same engine drives MyInvois share-link emails and ticket replies.

Generic IP cameras + RFID + face + LPR + intercom

Brand-agnostic. Generic IP cameras with HTTP snapshot & event ingest, MIFARE-compatible RFID smart cards, SmartFACE face recognition, SmartVE licence-plate recognition and SmartINTE smart intercoms — all feed the same audit log. Swap hardware without losing history.

Lifts, parking-lock controllers, smart lighting, smart mirrors, lockers

Relay-based and IP-controlled hardware integration on low-voltage and high-voltage paths. Brand-agnostic. Lift access binds to membership; parking-lock binds to bay rights; smart lighting and power monitors feed the energy dashboard.

ROLLOUT 4 PHASES · 4 WEEKS

LIVE IN 4 WEEKS.
PROVEN PLAYBOOK.

[ TLDR ]
A 4-week rollout broken down by week, with what Patrick handles and what your team owns at each phase.
DISCOVERY· CONFIGURE· TRAIN· PAIR AIoT· CUTOVER· GROW· DISCOVERY· CONFIGURE· TRAIN· PAIR AIoT· CUTOVER· GROW·
01
Week 1

DISCOVERY & DATA IMPORT

Patrick on-site or video. Map your operations to SPORTSERVA modules. Bulk import members, courts, classes, contracts and historical invoices. Decide which modules go live first and which follow.

02
Week 2

CONFIGURATION & TRAINING

Configure rates, fees, MyInvois TIN, payment gateway, branding and role-based user accounts. Run 2–3 hands-on training sessions for finance, ops, security and front-desk teams.

03
Week 3-4

AIoT PAIRING & SOFT LAUNCH

Pair access devices, cameras, lifts and parking-locks. Roll out the resident/customer mobile app. Parallel-run with the old system so finance can sanity-check.

04
Week 5+

FULL CUTOVER & GROWTH

Old system retired. Quarterly reviews, performance dashboards, and adoption of new modules as the operation scales.

DATA · SECURITY PDPA · LHDN

LOCKED DOWN. AUDIT-READY.

[ TLDR ]
Operational controls covering Singapore-hosted data residency, TLS in transit, RBAC, off-site backups, MyInvois pipeline integrity, PDPA-aligned retention and SM4 device-protocol crypto.

Operational software touches money, identity and physical access. SPORTSERVA enforces PDPA-aligned retention, TLS in transit and an action audit trail on every access event — the security console below maps controls to the threats they actually mitigate.

Data residency Singapore

Production data is hosted in Singapore by default; on-prem and other regions are scoped per deployment.

Encryption in transit TLS

All client and server traffic uses TLS in transit.

Role-based access RBAC + audit

Granular roles for finance, ops, security and front-desk; an action log via in_syslog() captures changes to debugv_access.

Backups Off-site

Off-site backups of the database and uploaded files.

MyInvois flow LHDN-aligned

MyInvois UBL 2.1 payloads submitted directly — no third-party broker holds your invoice data.

PDPA & privacy Purpose-limited

Face/ANPR/visitor data is purpose-limited with consent capture at enrolment.

Device crypto SM4 + safe_de2()

Device protocol uses SM4 cipher; API tokens wrapped via proprietary safe_de2().

Monitored ops 24/7

Ops board monitors cron, IoT heartbeats and gateway health around the clock.

Engineering Provenance

SPORTSERVA’s AI and IoT integration was developed under the consultation of Ts. Dr. Leong Yee Rock (Alex), in accordance with industry best practices and ISO-aligned methodologies.

THE ACTUAL FRONT-DESK

THE FRONT-DESK CONSOLE

This is the screen your counter staff actually live in — the real left-rail menu, the date-range bar, the members list and the booking slot grid, all on one console. Switch the tabs, drag a date preset, and tap a free court slot to hold it. Powered by VYROX AI.

A faithful mockup of the SPORTSERVA front-desk staff console. On the left is the navigation rail with staff sections: Operation Insights (current), Security Monitor, Customer Accounts, Cash Book, General Ledger, Reports, Suppliers, and admin items, each with a red count badge that hides at zero. The top bar shows the page title, a centred date-range pill reading 22-May-2026 ~ 22-May-2026 (This Month), and an orange New Member button. A pill-tab content card switches between two views. The Members view is a table with columns No., First Joined, Customer Account ID, Membership ID, Member, Subscribed Membership Plan, Days Remaining, Deposit, Membership Fee, Start Date and Expiry Date for eight gym and club members on Peak Access, Off-Peak and Family plans, with a footer offering PDF, Excel, Print and Settings exports, a Showing 1 to 8 of 312 members counter and Prev/Next paging. The Booking view is a slot grid of court and studio rows across half-hour time slots, where white cells are available, orange cells are temporarily held, grey cells are booked and darker grey cells are expired; clicking a free slot holds it then books it. A Things to Do panel lists payments pending verification, facility bookings pending approval, bookings ready for check-in and deposit-refund requests.
Members
No.First JoinedCustomer Account IDMembership IDMember Subscribed Membership PlanDays RemainingDepositMembership Fee Start DateExpiry Date
114-Jan-2024CA-100482MBR-0481Marcus TanPeak Access4RM 300.00RM 180.0022-May-202526-May-2026···
203-Mar-2024CA-100517MBR-0517Aishah RahmanFamily9RM 500.00RM 320.0031-May-202531-May-2026···
321-Jun-2024CA-100603MBR-0603Daniel LimOff-Peak31RM 150.00RM 99.0022-Jun-202522-Jun-2026···
409-Aug-2024CA-100711MBR-0711Priya NairPeak Access58RM 300.00RM 180.0019-Jul-202519-Jul-2026···
502-Oct-2024CA-100844MBR-0844Wei Lun NgOff-Peak86RM 150.00RM 99.0016-Aug-202516-Aug-2026···
618-Nov-2024CA-100912MBR-0912Hana MohdFamily121RM 500.00RM 320.0020-Sep-202520-Sep-2026···
705-Jan-2025CA-101033MBR-1033Faris KarimPeak Access164RM 300.00RM 180.0002-Nov-202502-Nov-2026···
827-Feb-2025CA-101188MBR-1188Kumar RajOff-Peak203RM 150.00RM 99.0011-Dec-202511-Dec-2026···
Showing 1 to 8 of 312 members

Things to Do

5 payment(s) amounting to RM 2,340.00 pending for management verification
4 facility booking(s) pending for management approval
6 facility booking(s) ready for check-in
2 request(s) of deposit refund amounting to RM 600.00 pending for management approval
SUPPORT 24/7 MONITORED OPS

WHATSAPP PATRICK.
ANY HOUR.

[ TLDR ]
Six support tiers from P1 outage to onboarding and quarterly review — every tier has a stated response window.

Direct line, not a ticket queue. Response targets are measured and reported per quarter.

P1 · Outage
1h response

Production outage, payment gateway down, MyInvois down, access gates jammed.

P2 · Degraded
4h response

One module misbehaving, slow performance, isolated hardware fault.

P3 · Question
Next business day

How-to questions, configuration changes, new feature requests.

Onboarding
Included

2–3 live training sessions in Week 2 plus role-based playbooks for every team.

Quarterly review
Included

Patrick walks every operator through usage, cost saves and module roadmap each quarter.

Direct WhatsApp
Patrick

One line, not a ticket queue — message Patrick directly during any incident.

THE SALES LEDGER

CLUB INVOICES, ONE LIST

Membership fees, class passes, court hire and pro-shop sales all post to the same invoices list — the real column order, the All / Unpaid / Paid / Overdue / Outstanding filter pills, and PDF / Excel export. The numbers your reports already produce. Powered by VYROX AI.

A faithful mockup of the SPORTSERVA invoices and sales list. The top bar reads Invoices, a centred date-range pill shows 01-May-2026 to 22-May-2026 This Month, and an orange New Invoice button sits at the right. Above the table are filter pills All, Unpaid, Paid, Overdue and Outstanding with counts. The table columns in order are a leading blank cell, No., Issued On, Due Date, Document No., Invoice item, Payable, Paid, Balance and an actions cell. Nine club rows are listed covering membership fees, class passes, court hire and pro-shop sales, each with a document number such as INV-2026-00418, an item name with a grey sub-detail line, right-aligned Payable, Paid and Balance amounts in ringgit, a green LHDN-validated e-invoice mark on cleared rows, and a red balance on unpaid or overdue rows. A footer toolbar offers PDF, Excel, Print and Settings exports, reads Showing 1 to 9 of 1,284 invoices, and has Prev and Next paging buttons.
Invoices
date_range01-May-2026 ~ 22-May-2026 (This Month)expand_more
No.Issued OnDue DateDocument No.Invoice PayablePaidBalance
102-May-202602-May-2026 INV-2026-00418 Peak Access membership — monthly
Plan PEAK-12 · Auto-billed 1st
189.00189.000.00 verifiede-Invoice
203-May-202610-May-2026 INV-2026-00419 10-Class Pass — group fitness
Pass CLP-10 · 10 sessions
320.00320.000.00 verifiede-Invoice
305-May-202605-May-2026 INV-2026-00431 Court hire — Court 3 (peak)
19:00–20:30 · 1.5 hr
75.0075.000.00 More
406-May-202606-May-2026 INV-2026-00444 Pro-shop — grip tape ×3, shuttles
POS · Counter 1
58.5058.500.00 verifiede-Invoice
508-May-202615-May-2026 INV-2026-00460 Family plan membership — monthly
Plan FAM-12 · 4 members
410.00200.00210.00 More
609-May-202616-May-2026 INV-2026-00471 Personal training — 5 sessions
Coach: Faiz · PT-5
650.000.00650.00 More
711-May-202611-May-2026 INV-2026-00488 Squash court hire — Court 1
07:00–08:00 · off-peak
28.0028.000.00 verifiede-Invoice
801-Apr-202608-Apr-2026 INV-2026-00355 Off-Peak membership — monthly
Plan OFF-12 · OVERDUE 44 days
129.000.00129.00 More
912-May-202619-May-2026 INV-2026-00502 League entry fee — doubles
Spring league · Team #7
90.0090.000.00 verifiede-Invoice
Showing 1 to 9 of 1,284 invoices
TAP IN AT THE TURNSTILE

THE MEMBER ACCESS PASS

Every active member carries a virtual pass: photo, plan, a green Active status, a valid-until date and a dynamic Access Control QR-Key that rotates on a timer so it can't be screenshotted and shared. Powered by VYROX AI.

A faithful mockup of a SPORTSERVA member access pass card, styled like the visitor-pass card. It shows the club name SPORTSERVA Racquet & Fitness, a member ID, a green Active status pill, a circular photo placeholder, the member name Nurul Aida, the Peak Access plan, and a Valid Until date of 31-May-2026. Below is an Access Control QR-Key block with a QR code, a live countdown reading Expire in mm:ss that ticks down because the QR is dynamic and rotates over time, and a note explaining the rotation. An Access Point Granted list shows Main Turnstile, Gym Floor, Court Wing Door and Members Lift access.
ACTIVE
SPORTSERVA Racquet & Fitness
Member Pass · MBR-000731
Nurul Aida
Peak Access · PEAK-12
Valid Until 31-May-2026
Access Control QR-Key
Expire in 04:30

This QR-Key is dynamic and changes over time. Use it to pass through the turnstile, doors and the members lift.

Access Point Granted
  • Main Turnstile
  • Gym Floor
  • Court Wing Door
  • Members Lift
THE NUMBERS, NOT THE GUESSWORK

CASH BOOK & REVENUE REPORT

Summary cards on top, a tabular SQL revenue report by service line below — with PDF and Excel export. This is aggregation over your real transactions, not a forecast. Powered by VYROX AI.

A faithful mockup of the SPORTSERVA Cash Book and revenue report. The top bar reads Cash Book with an Export Report button. Four summary cards show Today's revenue RM 4,820.50, Court utilisation 78 percent, Active members 1,043 and No-shows today 6. Below is a tabular SQL revenue report grouped by service line with columns Service Line, Transactions, Gross, Discount, Tax (SST 8 percent), Rounding, Paid and Outstanding, for Memberships, Court Hire, Class Passes, Personal Training, Pro-Shop, League Fees and Cafe, with a totals row. A footer toolbar offers PDF and Excel export and reads Showing 1 to 7 of 7 service lines.
Cash Book · 22-May-2026 (Today)
date_range22-May-2026 (Today)expand_more
Today's Revenue
RM 4,820.50
Court Utilisation
78%
Active Members
1,043
No-shows Today
6
Service LineTransactionsGrossDiscount Tax (SST 8%)RoundingPaidOutstanding
Memberships21438,640.001,200.002,995.200.0239,210.221,225.00
Court Hire46821,330.00640.001,655.20-0.0322,345.170.00
Class Passes13314,920.00880.001,123.200.0115,163.210.00
Personal Training5718,250.00450.001,424.000.0018,574.00650.00
Pro-Shop3019,845.50120.00777.96-0.0410,503.420.00
League Fees423,780.000.00302.400.004,082.400.00
Café3896,210.000.00496.800.076,706.870.00
TOTAL1,604112,975.503,290.008,774.760.00116,585.291,875.00
Showing 1 to 7 of 7 service lines
EVERY CENT, ACCOUNTED

GENERAL LEDGER STATEMENT

The Cash Book is separate from the General Ledger. The GL statement tracks every entry through its real states — processing, posted, unposted, deposits, advances and the refund lifecycle — with a running balance. Powered by VYROX AI.

A faithful mockup of the SPORTSERVA General Ledger statement. The top bar reads General Ledger with a centred date-range pill for 01-May-2026 to 22-May-2026. Filter pills cover the real GL states Processing, Posted, Unposted, Deposits, Advances, Refund Request, Refund Approved and Refunded with counts. The ledger table has columns No., Posted On, Reference, Description, State, Debit, Credit and Balance, with eight entries covering membership payment posting, court-hire revenue, an unposted café float, a customer deposit, a customer advance, a refund request, a refund approval and a refunded payout, ending with a running balance. A footer toolbar offers PDF and Excel export and reads Showing 1 to 8 of 642 ledger entries.
General Ledger
date_range01-May-2026 ~ 22-May-2026expand_more
No.Posted OnReferenceDescriptionState DebitCreditBalance
102-May-2026GL-26-0588Membership payment posted — INV-2026-00418Posted189.00189.00
203-May-2026GL-26-0591Class pass payment posted — INV-2026-00419Posted320.00509.00
305-May-2026GL-26-0604Court hire revenue — Court 3 peakPosted75.00584.00
406-May-2026GL-26-0612Café float top-up (awaiting close)Unposted300.00284.00
508-May-2026GL-26-0627Customer deposit — locker bondDeposits50.00334.00
609-May-2026GL-26-0633Customer advance — prepaid PT blockAdvances650.00984.00
711-May-2026GL-26-0648Deposit refund — awaiting approvalRefund Request50.00934.00
812-May-2026GL-26-0659Deposit refund paid out — FPXRefunded120.00814.00
Showing 1 to 8 of 642 ledger entries
SIGN THEM UP IN SECONDS

THE NEW-MEMBER FORM

The same modal staff use to enrol a member at the counter — plan, deposit, fee and start date. Open it to see the real form layout. Powered by VYROX AI.

A faithful mockup of the SPORTSERVA New Member enrolment modal. A New Member button opens a dialog with a title New Member and a close button. The form has fields for First Name, Last Name, Mobile No., Email, Customer Account ID, Membership ID, a Subscribed Membership Plan dropdown offering Peak Access, Off-Peak and Family, a Membership Fee field, a Deposit field, a Start Date and an Expiry Date. A primary orange Save Member button submits and a Cancel button closes the dialog.
FILL EVERY CLASS

CLASS TIMETABLE & PASSES

The weekly class schedule with start / end times, coach and availability — beside the class-pass list that tracks Booking Remaining as “X of Y” with a colour swatch per pass. Drive the peak hours, fill the soft ones. Powered by VYROX AI.

A faithful mockup of the SPORTSERVA class schedule and class passes. The top bar reads Class Schedule with a week date pill and a New Class button. A weekly timetable grid runs Monday to Friday down five time bands from 7am to 7pm, with coloured class blocks naming the class type, coach and remaining seats: HIIT Circuit with Coach Lim, Beginner Badminton with Coach Tan, Spin 45 with Coach Aida, Yoga Flow with Coach Mei, Junior Tennis with Coach Raj, and a full Boxing Fundamentals block marked Full. Below is the class passes list with columns No., Customer Account ID, Customer Name, Colour, Pass Name, Booking Remaining, Charge and Status, showing five passes in active, suspended and expired states with their remaining booking counts as X of Y, and a footer toolbar with PDF and Excel export reading Showing 1 to 5 of 318 class passes.
Class Schedule · Mon 18-May ~ Fri 22-May
date_rangeWeek 21 · 2026expand_more

Class Passes

No.Customer Account IDCustomer NameColourPass Name Booking RemainingChargeStatus
1ACC-04812Nurul Aida10-Class Studio Pass7 of 10320.00Active
2ACC-04790Marcus Tan20-Class Court Pass2 of 20560.00Active
3ACC-04688Priya RamanUnlimited Yoga (Monthly)149.00Suspended
4ACC-04501Daniel Wong5-Class Trial Pass0 of 599.00Expired
5ACC-04477Siti Hajar10-Class Studio Pass9 of 10320.00Active
Showing 1 to 5 of 318 class passes
YOUR ROSTER, ON ONE SCREEN

COACHES & CLASS TYPES

The coach roster with photo, joined date and active state — beside the class-type catalogue that defines each bookable class. Build the timetable from the people and the products you already have. Powered by VYROX AI.

A faithful mockup of the SPORTSERVA coaches list. The top bar reads Coaches with a New Coach button. The table has columns Photo, No., Created, Coach Name and Status, listing six coaches — Lim Wei Sheng, Tan Mei Ling, Aida Rahman, Mei Chen, Raj Kumar and Faiz Abdullah — each with a join date and an Active or Suspended status. A footer reads Showing 1 to 6 of 11 coaches.
Coaches
No.CreatedCoach NameStatus
person104-Jan-2024Lim Wei Sheng
HIIT · Strength
Active
person218-Feb-2024Tan Mei Ling
Badminton
Active
person302-Mar-2024Aida Rahman
Spin · Cardio
Active
person421-Jun-2024Mei Chen
Yoga · Mobility
Active
person509-Sep-2024Raj Kumar
Tennis · Juniors
Active
person614-Jan-2025Faiz Abdullah
Boxing
Suspended
Showing 1 to 6 of 11 coaches
A faithful mockup of the SPORTSERVA class types catalogue. The top bar reads Class Types with a New Class Type button. The table has columns No., Class Type Name, Default Coach, Capacity, Duration and Default Rate, listing six class types — HIIT Circuit, Beginner Badminton, Spin 45, Yoga Flow, Junior Tennis and Boxing Fundamentals — with their capacities, durations and per-session rates. A footer reads Showing 1 to 6 of 6 class types.
Class Types · Settings
No.Class Type NameDefault CoachCapacityDurationDefault Rate
1 HIIT CircuitLim Wei Sheng1645 min35.00
2 Beginner BadmintonTan Mei Ling1260 min28.00
3 Spin 45Aida Rahman2045 min32.00
4 Yoga FlowMei Chen1860 min30.00
5 Junior TennisRaj Kumar860 min45.00
6 Boxing FundamentalsFaiz Abdullah1460 min38.00
Showing 1 to 6 of 6 class types
EVERY BOOKING, EVERY STATE

COURT BOOKING MANAGEMENT

Court bookings move through real states — Pending Booking Approval, Pending Customer Payment, Confirmed, Pending Changes Approval, Changed Confirmed, Rejected and Expired — surfaced as filter pills over the bookings list. Approve, chase or reject, and keep the courts full. Powered by VYROX AI.

A faithful mockup of the SPORTSERVA court booking management screen. The top bar reads Bookings with a date-range pill and a New Booking button. Filter pills cover the real booking states All, Upcoming, Pending Booking Approval, Pending Customer Payment, Confirmed, Pending Changes Approval, Changed Confirmed, Rejected and Expired with counts. The bookings table has columns No., Created, Booking ID, Customer Account ID, Booked For, Facility, Start Time, End Time, Rate and Status, listing seven bookings across the different states for courts and the futsal pitch. A footer toolbar offers PDF and Excel export and reads Showing 1 to 7 of 1284 bookings.
Bookings · Upcoming
date_range22-May-2026 ~ 29-May-2026expand_more
No.CreatedBooking IDCustomer Account IDBooked For FacilityStart TimeEnd TimeRateStatus
120-May-2026 09:14BK-26-10488ACC-04812Nurul AidaCourt 1 (Badminton)22-May 19:0022-May 20:0042.00Pending Booking Approval
220-May-2026 10:02BK-26-10491ACC-04790Marcus TanCourt 3 (Badminton)22-May 20:0022-May 21:0048.00Pending Customer Payment
319-May-2026 16:40BK-26-10463ACC-04688Priya RamanFutsal Pitch A23-May 18:0023-May 19:0090.00Confirmed
421-May-2026 08:55BK-26-10502ACC-04501Daniel WongCourt 2 (Badminton)24-May 07:0024-May 08:0030.00Pending Changes Approval
518-May-2026 14:12BK-26-10440ACC-04477Siti HajarSquash Court 124-May 19:3024-May 20:3036.00Changed Confirmed
617-May-2026 21:30BK-26-10401ACC-04318Kevin LeeCourt 4 (Badminton)20-May 21:0020-May 22:0048.00Rejected
716-May-2026 12:08BK-26-10377ACC-04205Hafiz OmarFutsal Pitch B18-May 18:0018-May 19:0090.00Expired
Showing 1 to 7 of 1284 bookings
SEE WHERE THE DEMAND SITS

FACILITY UTILISATION REPORT

Booked minutes per facility, drawn as a peak-hour utilisation chart and the real 14-column analytics table — member, non-member and total utilisation. This is SQL aggregation over your real bookings, exportable to Excel; not a forecast. Powered by VYROX AI.

A faithful mockup of the SPORTSERVA facility utilisation report. The top bar reads Facility Utilisation with facility-type, facility and duration selectors. A bar chart shows total utilisation percentage for six facilities — Court 1 at 84 percent, Court 2 at 71 percent, Court 3 at 78 percent, Court 4 at 52 percent, Futsal Pitch A at 66 percent and Squash Court 1 at 41 percent — with peak bars highlighted. Below is the 14-column analytics table with columns Facility, Booking Count, Average Duration in Hours, Average Rate, Average Charge, Total Charge, Total Bookable Hours, Non-Member Booked Hours, Member Booked Hours, Total Booked Hours, Non-Member Utilisation percent, Member Utilisation percent and Total Utilisation percent, plus a totals row. A footer toolbar exports to PDF and Excel and reads Showing 1 to 6 of 6 facilities.
Facility Utilisation
categoryAll Typesexpand_more date_rangeThis Monthexpand_more
100% 75% 50% 25% 0% 84% 71% 78% 52% 66% 41% Court 1 Court 2 Court 3 Court 4 Futsal A Squash 1
FacilityBooking CountAvg Duration (Hrs)Avg Rate Avg ChargeTotal ChargeTotal Bookable (Hrs) Non-Member Booked (Hrs)Member Booked (Hrs)Total Booked (Hrs) Non-Member Util (%)Member Util (%)Total Util (%)
Court 1 (Badminton)3121.042.0042.0013,104.003729421831225.358.684.0
Court 2 (Badminton)2641.042.0042.0011,088.003727119326419.151.971.0
Court 3 (Badminton)2901.044.0044.0012,760.003728220829022.055.978.0
Court 4 (Badminton)1931.042.0042.008,106.003725513819314.837.152.0
Futsal Pitch A1231.090.0090.0011,070.00186388512320.445.766.0
Squash Court 11531.036.0036.005,508.003724410915311.829.341.0
TOTAL1,3351.061,636.002,0463849511,33518.846.565.3
Showing 1 to 6 of 6 facilities
CLOSE THE LOOP

COMPLAINTS & SUGGESTIONS

Member complaints and suggestions flow through New, Processing and Completed — with an Outstanding (Day) counter so nothing rots in the queue, and a Like widget so members can second a request. Acknowledge, process, resolve. Powered by VYROX AI.

A faithful mockup of the SPORTSERVA complaints and suggestions screen. The top bar reads Complaints with a New Complaint button. Filter pills cover Pending Acknowledgement, Processing and Resolved with counts. The table has columns No., Submitted, Member, Category, Title, Outstanding in Days, Likes and Status, listing six items in New, Processing and Completed states — a flickering court light, a broken locker, a request for an earlier weekend opening, a slow café queue, a request for more spin bikes and a fixed shower issue — each with an outstanding-day counter and a like count. A footer reads Showing 1 to 6 of 41 complaints.
Complaints · Pending Acknowledgement
No.SubmittedMemberCategoryTitle Outstanding (Day)LikesStatus
121-May-2026Nurul AidaFacilitiesCourt 2 light flickering1favorite12New
220-May-2026Marcus TanLockersLocker 18 door jammed2favorite4New
318-May-2026Priya RamanSuggestionOpen earlier on weekends4favorite38Processing
417-May-2026Daniel WongCaféLong queue at peak5favorite21Processing
512-May-2026Siti HajarSuggestionAdd more spin bikesfavorite57Completed
609-May-2026Kevin LeeFacilitiesShower 3 no hot waterfavorite9Completed
Showing 1 to 6 of 41 complaints
PRO-SHOP STOCK ON THE SHELF

PRO-SHOP STOCKS & STOCK GROUPS

Racquets, grips, shuttles, protein and merch — every item carries an Item Code, Product Group, Cost Price and Selling Price, with a live stock-level meter so the counter never sells air. Each group rolls up to a Sales GL so the till and the books agree. Powered by VYROX AI.

A faithful mockup of the SPORTSERVA pro-shop stocks screen. The top bar reads Stocks with a New Item button and Active and Discontinued filter pills. The table has columns No., Item Code, Item Description, Product Group, Cost Price, Selling Price, Quantity in Stock, Remark and Status, listing six items: a badminton racquet, a tin of shuttlecocks, an overgrip pack, a club tee shirt, a whey protein tub and a sweat towel. Two items are flagged low stock and one is out of stock. A footer reads Showing 1 to 6 of 184 stock items.
Stocks · Pro-Shop Inventory
inventory_2All Groups
No.Item CodeItem DescriptionProduct Group Cost PriceSelling PriceQuantity in StockRemarkStatus
1RKT-ARC11Arc-11 Carbon RacquetRacquets189.00329.00 36Strung 24 lbActive
2SHT-AS50AS-50 Feather Shuttle (tube of 12)Shuttles62.0098.00 9Reorder soonLow
3GRP-OVG3Overgrip Pack (3 pcs)Accessories7.5015.00 142Active
4APP-CTEEClub Training Tee (M)Apparel22.0049.00 28Sizes S–XLActive
5SUP-WHEYWhey Protein 1 kg (Vanilla)Supplements98.00169.00 0On orderOut of Stock
6TWL-SWTMicrofibre Sweat TowelAccessories9.0022.00 11Low
Showing 1 to 6 of 184 stock items
A faithful mockup of the SPORTSERVA stock-group catalogue. The table has columns No., Stock Group Code, Group Name, Description, Associated Sales GL, Remark and Status, listing five product groups: Racquets, Shuttles, Accessories, Apparel and Supplements, each linked to a 4000-series sales GL account.
Stock Groups · Catalog

categoryProduct groups roll up to Sales GL

No.Stock Group CodeGroup NameAssociated Sales GLStatus
1GRP-RKTRacquets4010 · Pro-Shop SalesActive
2GRP-SHTShuttles4010 · Pro-Shop SalesActive
3GRP-ACCAccessories4010 · Pro-Shop SalesActive
4GRP-APPApparel4020 · Merch SalesActive
5GRP-SUPSupplements4030 · F&B / NutritionActive

Group fields: Stock Group Code · Group Name · Description · Associated Sales GL · Remark · Status. Every sale posts against the group’s Sales GL so the till reconciles to the books.

VENDORS & CONTRACTORS

SUPPLIERS & SERVICE PERMITS

Keep your stringers, court resurfacers, AC techs and shuttle distributors in one supplier book — and gate every contractor on site with a service permit that carries a deposit, start and expiry dates and an approval state. The service-type catalog sets the deposit, rate and whether a permit auto-approves. Powered by VYROX AI.

A faithful mockup of the SPORTSERVA contractor service permits screen. The top bar reads Contractor Service Permits with a New Permit button and Pending Management Approval, Confirmed and Expired filter pills. The table has columns No., Created, Property No., Applicant, Permit Type, Start Date, Expiry Date, Deposit and Status, listing five permits: court resurfacing, air-conditioning service, racquet stringing, CCTV maintenance and pool cleaning, in pending, confirmed and expired states. A footer reads Showing 1 to 5 of 47 permits. Beside it is a suppliers list with Type and Supplier columns and a service-type catalogue with Name, Deposit, Rate and Auto-approved columns.
Contractor Service Permits · Pending Management Approval
date_range01-MAY-2026 ~ 31-MAY-2026 (This Month)
No.CreatedProperty No.ApplicantPermit Type Start DateExpiry DateDepositStatus
120-May-2026HALL-AGreenline CourtsCourt Resurfacing24-May-202627-May-2026500.00Pending Approval
219-May-2026GYM-01CoolAir ServicesAir-Conditioning Service22-May-202622-May-2026200.00Pending Approval
318-May-2026SHOP-01StringProRacquet Stringing21-May-202621-May-20260.00Pending Approval
411-May-2026SITESecureCam Sdn BhdCCTV Maintenance14-May-202616-May-2026300.00Confirmed
502-May-2026POOLAquaCleanPool Cleaning05-May-202605-May-2026150.00Expired
Showing 1 to 5 of 47 permits

local_shippingSuppliers

No.CreatedTypeSupplier
114-Mar-2026EquipmentShuttle World Distributors
202-Mar-2026ApparelActiveWear Supply Co.
321-Feb-2026MaintenanceGreenline Courts
409-Feb-2026NutritionFitFuel Trading

handymanService Types

No.NameDepositRateAuto-approved
1Court Resurfacing500.00120.00No
2Air-Conditioning Service200.0080.00No
3Racquet Stringing0.0025.00Yes
4Pool Cleaning150.0060.00No

Service-type fields: Name · Deposit · Rate · Auto-approved. Auto-approved types skip the management-approval step.

SELL THE EXTRAS MERCHANTS & MARKETPLACE

MERCHANTS & MARKETPLACE

Let your physio, smoothie bar and racquet-restring partners list to members from inside the club app. Each merchant gets an account with a person in charge and an item count; every listing carries a Type, Title, Price and the seller who uploaded it — staff, club owner or merchant. Powered by VYROX AI.

A faithful mockup of the SPORTSERVA merchants screen. The top bar reads Merchants with a New Merchant button. The table has columns No., Created, Business Name, Person In Charge, Mobile Phone No., WhatsApp No., Username and Item Count, listing four merchant accounts: a physio clinic, a smoothie bar, a restring service and a sportswear stall. A footer reads Showing 1 to 4 of 12 merchants.
Merchants · Marketplace Sellers
No.CreatedBusiness NamePerson In ChargeWhatsApp No.UsernameItem Count
105-Apr-2026FlexPhysio ClinicDr. Lim Wei+60 12-555 0190flexphysio6
228-Mar-2026Rally Smoothie BarAisha Karim+60 13-422 7781rallybar9
316-Mar-2026StringPro RestringTan Boon Hock+60 16-908 3320stringpro3
402-Mar-2026SmashWear StallNadia Yusof+60 11-238 4456smashwear14
Showing 1 to 4 of 12 merchants
A faithful mockup of the SPORTSERVA marketplace listings screen. The table has columns No., Created, Type, a thumbnail image column, Title, Price and Uploaded by, listing five published listings: a recovery massage session, a post-match smoothie, a same-day restring, a club hoodie and a coaching gift voucher, each uploaded by a merchant, the club owner or staff and all in a published state.
Marketplace · Published
No.CreatedTypeTitlePriceUploaded by
118-May-2026ServicespaRecovery Massage · 45 minRM 90Merchant
217-May-2026F&Blocal_drinkPost-Match SmoothieRM 15Merchant
315-May-2026ServicebuildSame-Day Racquet RestringRM 35Merchant
412-May-2026MerchcheckroomClub Hoodie · Limited DropRM 89Club Owner
509-May-2026Vouchercard_giftcardPrivate Coaching Gift VoucherRM 120Staff

Seller type is recorded per listing — Staff, Club Owner or Merchant — and published listings (status published) surface in the member app marketplace grid.

IN YOUR POCKET STAFF FIELD APP

STAFF APP — APPS LAUNCHER

Your front-desk and floor team carry the whole club in a PWA. The Apps tab is a tile launcher — bookings, class bookings, check-ins, memberships, visitors, access, marketplace, concierge, lockers — each gated by what your club has switched on. Bottom nav: Dashboard, Apps, Notifications, Me. Powered by VYROX AI.

A faithful mockup of the SPORTSERVA staff field-app Apps launcher on a phone. The header reads SPORTSERVA Staff with an Apps title and a search bar. A grid of feature tiles shows Facility Bookings, Class Bookings, Golf Bookings, Participant Check-Ins, Memberships, Visitors, Card Access, Face Recognition Access, Community Marketplace, Concierge Services, Delivery Lockers and Help Desk, with red count badges on Facility Bookings, Participant Check-Ins and Visitors. A four-tab bottom navigation shows Dashboard, Apps (selected), Notifications and Me.
SPORTSERVA Staff
  • 7event_availableFacility Bookings
  • event_noteClass Bookings
  • golf_courseGolf Bookings
  • 12how_to_regParticipant Check-Ins
  • card_membershipMemberships
  • 3badgeVisitors
  • credit_cardCard Access
  • faceFace Recognition Access
  • storefrontCommunity Marketplace
  • room_serviceConcierge Services
  • local_shippingDelivery Lockers
  • support_agentHelp Desk

Every module, gated to your club

The launcher only shows the tiles your club has enabled. The full set the field app can surface includes Facility Bookings, Class Bookings, Golf Bookings, Participant Check-Ins, Memberships, Visitors, Card Access, Face Recognition Access, Integrated Smart Access, Vehicle Plate Recognition Access, Contractor Service Permits, Community Marketplace, Concierge Services, Delivery Lockers, EV Charging Parking Lots, Complaints, Suggestions, Incident Reports, Emergency SOS Requests, Help Desk and Files.

Red badges count what is waiting — bookings to approve, members to check in, visitors at the gate. The Dashboard tab carries the same Things-to-Do list as the back office; Notifications mirrors the alert feed; Me holds the staff profile and sign-out. It is a real PWA — installable, offline-aware shell, no app store needed.

PWA · INSTALLABLE FOUR-TAB NAV GATED TILES
WHITE-GLOVE

CONCIERGE SERVICES

Premium members ask, the front desk delivers — locker valet, equipment hire, towel service, guest day-passes. Each request binds to a unit and a member, carries the concierge service, a deposit and a charge, and the service catalog sets the standard deposit and charge per service. Powered by VYROX AI.

A faithful mockup of the SPORTSERVA concierge services screen. The top bar reads Concierge Services with a New Request button. The table has columns No., Created, Unit, User, Concierge Service, Deposit and Charge, listing five requests: locker valet, racquet hire, towel service, a guest day-pass and equipment storage, each bound to a member and unit with a deposit and a charge. A footer reads Showing 1 to 5 of 29 concierge requests. Beside it is a concierge-type catalogue with Concierge Service, Deposit and Charge columns.
Concierge Services · Member Requests
date_range01-MAY-2026 ~ 31-MAY-2026 (This Month)

room_serviceRequests

No.CreatedUnitUserConcierge ServiceDeposit (RM)Charge (RM)
121-May-2026VIP-04Marcus TanLocker Valet50.0020.00
220-May-2026VIP-11Priya RamanPremium Racquet Hire100.0030.00
319-May-2026FAM-02Daniel WongTowel Service0.0010.00
418-May-2026VIP-04Marcus TanGuest Day-Pass0.0045.00
516-May-2026FAM-07Siti HajarEquipment Storage80.0025.00
Showing 1 to 5 of 29 concierge requests

menu_bookConcierge Service Catalog

No.Concierge ServiceDepositCharge
1Locker Valet50.0020.00
2Premium Racquet Hire100.0030.00
3Towel Service0.0010.00
4Guest Day-Pass0.0045.00
5Equipment Storage80.0025.00

Catalog fields: Concierge Service · Deposit · Charge · Description. The standard deposit and charge default onto each new request, and refundable deposits flow back through the General Ledger.

PRICING 3 BANDS · CUSTOM

TRANSPARENT, CUSTOM.

[ TLDR ]
Three pricing bands — small, mid and large — same 12-pillar feature set, different volume tiers and support depth.

Free demo and trial. No setup fee on the standard SKU. Custom per-property monthly subscription scaled to your size.

SMALL
< 100 customers
MYR · Custom · from RM low-3-figures/mo
  • check_circleAll 12 pillars, no feature gating
  • check_circleMyInvois auto-submission
  • check_circleUp to 3 staff users
  • check_circle1 venue / 1 entity
  • check_circleDirect line to Patrick + email support
  • check_circleNo setup fee on standard SKU
chat TALK TO PATRICK
MID
100–1,000 customers
MYR · Custom · per-property monthly
  • check_circleAll 12 pillars + multi-tenant
  • check_circleAIoT hardware bundle option
  • check_circleUnlimited staff users
  • check_circleUp to 5 venues / entities
  • check_circlePriority direct line to Patrick
  • check_circleQuarterly review included
chat TALK TO PATRICK
LARGE
1,000+ customers
MYR · Custom · enterprise
  • check_circleEverything in MID
  • check_circleMulti-entity / multi-venue scale
  • check_circleDedicated success manager
  • check_circleCustom integrations & API
  • check_circlePriority feature roadmap
  • check_circleDirect line to Patrick + engineering
chat TALK TO PATRICK

Optional add-ons: AIoT hardware bundle, e-invoice volume tier and custom integrations. Contact Patrick for a written quote.

PLAIN ENGLISH 25 TERMS

EVERY ACRONYM, DEFINED.

[ TLDR ]
Twenty-five plain-English definitions for every acronym used on this page — bookmarkable per term.
AIoT
Artificial-Intelligence-of-Things — networked devices (cameras, RFID, intercoms) with on-device intelligence.
ANPR / LPR
Automatic Number-Plate / Licence-Plate Recognition — cameras that read vehicle plates for entry control.
Audit trail
Action log of changes written via in_syslog() to the debugv_access table with user and timestamp.
Bin (PDPA)
In PDPA terms, the limited-purpose container holding personal data with retention rules.
Cron
Time-based job scheduler used to run recurring tasks like billing and reminders.
e-Invoice / MyInvois / LHDN
Malaysia’s mandatory e-invoicing standard administered by LHDN; SPORTSERVA submits in real time.
FPX
Financial Process Exchange — Malaysia’s shared online banking payment rail.
GL
General Ledger — the accounting system of record where every transaction posts.
JMB / MC
Joint Management Body / Management Corporation — strata governing bodies under Malaysian law.
Multi-tenant SaaS
One platform instance serving many independent operators with strict data isolation.
DLCSP
Printable property QR landing page (dlcsp.php, dlcsp_qr.php) that maps a printed QR to a property record via csa_qr_static — not a hardware protocol; door / locker access tokens issue through qr_keys.php.
MIFARE
Industry-standard 13.56 MHz RFID smart-card family used for the access cards SPORTSERVA reads.
PDPA
Personal Data Protection Act — Singapore PDPA 2012 governs the data hosted on our Singapore servers; Malaysian operators also work under Malaysia&rsquo;s PDPA 2010.
POS
Point-of-Sale — the cafe/pro-shop checkout layer; in SPORTSERVA it is POSERVA, native to the GL.
QR
Two-dimensional barcode used for invoices, access keys and amenity check-in.
RBAC
Role-Based Access Control — permissions assigned by role rather than by user.
RFID
Radio-Frequency Identification — card or fob technology for access control.
SLA
Service Level Agreement — committed response and resolution times.
SmartFACE / SmartVE / SmartINTE
SPORTSERVA’s face-recognition, licence-plate and smart-intercom modules.
Sinking fund
Strata reserve fund for major repairs, billed via maintenance fees.
Sub-account
A dependent account (family member, employee) under a master customer record.
TLS
Transport Layer Security — encryption protocol for data in transit; SPORTSERVA uses TLS 1.3.
Webhook
HTTP callback fired on events (payment received, member created) for external integrations.
SM4
32-round Chinese block cipher used for device-protocol encryption in the SPORTSERVA AIoT stack.
DLCSP
Printable property QR landing page (dlcsp.php / dlcsp_qr.php / services.php:77) — a public scan-to-act entry surface, NOT a hardware protocol. Door and locker tokens are issued via the standard qr_keys.php QR-key system.
MIFARE
13.56 MHz contactless smart-card family — the chip generation behind SPORTSERVA card access.
UBL 2.1
Universal Business Language 2.1 — the JSON payload schema used for MyInvois (LHDN) e-invoice submission.
MSIC
Malaysia Standard Industrial Classification — the LHDN code list SPORTSERVA bundles for compliant e-invoice line items.
PWA
Progressive Web App — what the customer/staff/security/delivery SPORTSERVA apps technically are; installs to home screen, no store gatekeepers.
VOICES 12 OPERATORS

OPERATORS WHO RUN HOT.

[ TLDR ]
Twelve operator voices across the SEA region — sports clubs, gyms, academies, multi-court venues, community clubs and resort sports leads.

Twelve clubs, gyms, academies and facilities across SEA running on SPORTSERVA today.

format_quote TICKET · {{ String(i+1).padStart(2,'0') }}

{{ t.quote }}

{{ t.name }}
{{ t.role }}
{{ t.city }}
VERIFIED
CONTACT

TALK TO PATRICK.
GO LIVE.

[ TLDR ]
Three direct rails — message Patrick on WhatsApp, email enquiry@vyrox.com or call +60 19-688 3338. No funnel, no SDR.

Ready to switch on bookings, memberships, smart access and MyInvois on one platform? Patrick will scope it with you in one short call.

EXPLAINER LHDN

HOW SPORTSERVA HANDLES MyInvois.

[ TLDR ]
Real-time submission to LHDN, sandbox-to-production switch, validation-failure queue and credit-note linkage — explained for finance and ops leads.

Malaysia's MyInvois (LHDN) e-invoicing mandate moves invoicing from a private, downstream artefact to a real-time, validated transaction with the tax authority. SPORTSERVA submits every B2B invoice to LHDN at the moment of issue — no nightly batch, no manual upload, no broker holding your payload.

Sandbox and production environments are first-class. Operators can dry-run a full quarter against the sandbox before flipping a single config to production — the same code path, the same validation rules, the same credit-note linkage. Validation failures route to an operator queue with the specific field highlighted; you correct in place and resubmit, and the corrected document keeps its original audit trail intact.

Credit notes are linked to the original invoice with the LHDN UUID, and consolidated invoice handling — a meaningful concern for clubs running 1,800+ invoices a month — is built into the same engine that handles standard, rental, fire and deposit templates. The whole pipeline runs over TLS in transit, with an action audit log written via in_syslog() to debugv_access.

PIPELINE
  1. Invoice fires from a booking, membership renewal or POS sale.
  2. SPORTSERVA validates structure against the LHDN XML schema locally.
  3. Submission is signed and sent to LHDN over TLS.
  4. LHDN UUID + ack timestamp are stamped on the customer-visible PDF and the GL.
  5. Failures route to an operator queue; corrected documents resubmit with original ID.
FAQ 41 ANSWERS

QUESTIONS, ANSWERED.

[ TLDR ]
Twenty-five frequently-asked questions covering rollout, MyInvois, hardware, privacy, data export, training, pricing and what is NOT included.
{{ q.a }}

TALK TO PATRICK NOW — NO SLIDES, NO FUNNEL.

Just a direct conversation about whether SPORTSERVA fits your operation.