Booking, built in.
Your domain. Your data. No third-party fees. Included with every Care Plan. Custom-built per workflow for premium salons, aesthetic clinics, cosmetic dental practices, and spas in KL.
Owning the booking layer is the difference between
renting customers and keeping them.
Most KL premium operators pay RM 150–400/month to Aoikumo or Fresha for salon bookings, or RM 800–3,500/month to Senna for dental — and the customer transaction happens on someone else's domain, with someone else's pixel firing, in someone else's analytics. The booking confirmation email comes from a brand that isn't yours. The retargeting data the booking platform collects? Theirs, not yours.
Trellis builds the booking system into your site, on your own domain, and runs it as part of the Care Plan. No separate software bill. The pixel fires on your domain. The customer's first impression is your brand, not your booking vendor's. The data — every customer, every booking history, every contactable lead — lives in your account and travels with you if you ever leave.
What you get when booking lives where it should.
-
01
Your booking lives on your domain
Customers book at yoursalon.com/book — not aoikumo.com or fresha.com or senna.app. The transaction stays on your brand. The data stays in your account. The retargeting pixel fires on a page you own, so warm-lead audiences are yours, not your vendor's.
-
02
Included in your Care Plan
No third-party software fees. No per-seat pricing. No add-on tier to unlock a feature you needed three months ago. Saves roughly RM 150–400/month vs Aoikumo for salons, and RM 800–3,500/month vs Senna for cosmetic dental clinics. Over twelve months that's a five-figure line item — gone.
-
03
Custom-built per workflow
A salon books a stylist for a service slot. An aesthetic clinic books a doctor for a consult. A dental practice books a chair, a procedure, and an assistant. A spa books a room. Every vertical gets its own admin and its own customer flow — not a generic calendar with workarounds.
-
04
Integrates natively with everything else
Reactivation campaigns read directly from your booking history. Monthly reports pull live numbers. WhatsApp reminders fire off the booking record. Review request flows trigger 24 hours after appointment. No Zapier, no API delays, no integration tax — because it's all one system.
-
05
Owner + staff tools that actually work
Per-staff accounts with role boundaries. Audit log of every change. Drag-to-reschedule on the calendar. Automated confirmations + reminders. Mobile-first admin so the owner can run the floor from their phone, the receptionist can update from the desk, and the stylist can check their day before they leave the house.
The view you actually run the business from.
Mobile-first by default. Same admin works on the desk, on a tablet at the front, or on your phone while you're between appointments. Below: an illustration of the calendar view a salon owner sees on a typical morning.
-
Today view
The first screen on login: today's bookings, today's revenue, today's open slots, today's no-show flags. Everything you need before the first appointment walks in.
-
Calendar with drag-to-reschedule
Click a booking, drag it to a new slot, customer gets the WhatsApp reminder updated automatically. No "let me call you back to confirm the new time."
-
Reactivation campaign creation
Filter customers by last-visit date, service history, or spend tier. Compose one message. Send to WhatsApp + SMS. Revenue attributed back to the campaign by line item.
-
Settings & module toggle
Turn no-show recovery on or off per service. Adjust deposit thresholds. Toggle the dental compliance overlay. Change opening hours for a public holiday. All without writing a support ticket.
What the booking journey looks like
from the customer's phone.
The journey from "I should book that facial" to confirmation, in under three taps. Optimised for the screen 90% of your traffic is on.
Brand landing
Customer lands on yoursalon.com/book from your Instagram bio, WhatsApp, or Google Maps. Your brand at the top. Not a Fresha header.
Service picker
A clean tap-through of your services — grouped, priced, with duration. Add-ons surfaced where relevant. No clutter from services you don't offer.
Resource picker
For salons: stylist. For aesthetic: doctor. For dental: chair + doctor + assistant matched on availability. For spas: room + therapist. Customer-friendly language, business-aware logic underneath.
Date + time
Only real availability shown — driven by live staff calendars, not a generic "request a slot." Deposit collection inline for high-value bookings. Confirmation in under a second.
Confirmation
Email + WhatsApp confirmation, both from your brand and number. Calendar invite. 48-hour and 24-hour reminders queued. Customer can reschedule or cancel from a single link without ever calling.
Premium operators deserve boring infrastructure.
The exciting part of booking is everything that brings revenue in. The reliable part is everything below — the kind of work you only notice when it fails. Trellis Booking is built so it doesn't.
-
Multi-tenant isolation
Each client's data is partitioned at the database layer. Cross-tenant data access is impossible by design — not "blocked by permissions you could turn off." A query for another tenant's record returns empty, not "forbidden."
-
PDPA-aware customer data
Customer fields collected are documented, justified, and minimised — no "field-of-the-month" creep. PDPA notice is part of the booking flow. Data deletion on customer request is built into the admin.
-
Audit log of every admin action
Every booking edit, customer record change, refund issued, or settings toggle is logged with who, when, and what changed. Searchable for the last 12 months. The kind of trail you want when something goes sideways at 11pm on a Saturday.
-
Per-staff role boundaries
Owner sees everything. Receptionist sees the calendar and customer contact, not financial reports. Stylist sees their own day, not the full ledger. Roles enforced at the API, not just hidden in the UI.
-
32+ stress tests passing
Double-booking attempts, race conditions on simultaneous slot grabs, deposit collection failures, no-show recovery edge cases — all in the automated test suite. The build doesn't ship if they fail.
-
Automatic backups, 30-day retention
Every customer record, every booking, every audit entry — backed up nightly, retained 30 days, restorable to a point in time. Because "the database is the business" is true for booking systems more than anything else.
Versus the platforms you'd otherwise be paying for.
| Trellis Booking | Aoikumo | Fresha | Senna | |
|---|---|---|---|---|
| Booking on YOUR domain | Yes | No | No | No |
| Monthly cost | Included with Care Plan | RM 150–400 | Free + ~20% commission | RM 800–3,500 |
| Per-staff accounts | Yes | Yes | Limited | Yes |
| Custom workflows per vertical | Yes | Limited (salon-led) | No | Dental-only |
| Integrates with reactivation + WhatsApp + reports | Yes (native) | No | No | No |
| Your customer data, exportable, yours | Yes | Yes, limited | Restricted | Yes, limited |
Pricing comparisons reflect publicly-advertised tiers as of 2026-06. Aoikumo & Senna tiers vary by feature set; figures are mid-range.
Things people actually ask.
What if I'm already on Aoikumo / Fresha / Senna?
Migration is part of the Onboarding. We export your customer list, your booking history, your service catalogue, and your staff records out of your current platform and into Trellis Booking. The cutover window is planned around your lowest-traffic week, with a fallback to keep the existing platform open in parallel until you're confident. Most migrations take two to three weeks end-to-end.
What happens to my data if I leave Trellis?
Your customer records, booking history, audit log, and all settings are exportable as CSV at any time, from inside the admin. If you cancel the Care Plan, the export is part of the off-boarding — you walk away with everything in a format your next platform can import. The data is yours; Trellis doesn't hold it hostage.
Can I customize the booking flow per service?
Yes. Services can have different durations, different deposit rules, different staff requirements, different intake questions, different cancellation windows. A consult can require a deposit, a routine cut might not. A facial might have a 24-hour cancellation window, a colour service 48. Set per-service, applied automatically in the customer flow.
Does it work for multi-outlet?
Yes — that's the Multi-outlet Care Plan tier. One booking system, every outlet's calendar in it, customers can book at any location through one flow. Cross-outlet customer history rolls up so a VIP at outlet A is recognised as a VIP at outlet B. Per-outlet financial reporting still works. See the Multi-outlet tier.
Is the customer data PDPA-compliant?
The booking flow includes the PDPA notice and consent capture. Customer fields collected are documented and minimised. Customer data deletion on request is a built-in admin action, not a "raise a support ticket" pathway. Trellis isn't your PDPA legal counsel — but the booking platform is built so PDPA compliance is the default state, not something you have to chase.
Can I try a demo before booking a call?
Yes — message me on WhatsApp and I'll send a one-tap demo link with sample tenant credentials so you can poke around the admin. Faster than scheduling a call if you just want to see what the calendar feels like before you decide whether to talk.
Want to see it
in your hands?
Two ways in: a 30-minute discovery call where I walk you through the admin and the customer flow with your business in mind, or a one-tap demo link sent over WhatsApp so you can poke at it on your own.