A salon owner in Kuala Lumpur told us she was losing $800/month to no-shows and follow-up labour, even though she had a booking system. Her problem wasn't the calendar—it was that client history lived in three places (the booking tool, her phone, email drafts), and invoicing didn't sync with who actually came. Most service businesses (salons, physiotherapy clinics, consulting practices, coaching studios) pick a booking tool and hope it solves the problem. It doesn't. A booking system that doesn't connect to invoicing, client records, and team schedules quietly bleeds margin. You chase invoices. You re-enter client notes. You double-book because nobody sees the full picture. This is why the real question isn't "which booking tool is prettiest"—it's "which one stops my team from working in silos." We tested Acuity, Orin, and Square Appointments across the metrics that actually matter to appointment-heavy service businesses. The cost structure: per-appointment fees hide the real damage All three platforms charge per appointment, per user, or per month. But the headline number lies. Acuity Scheduling starts at $15/month for one service provider, then $50/month for a second provider. No per-appointment fee. That looks cheap until you hire a team. A salon with 5 staff: $15 + (4 × $50) = $215/month, or $2,580/year. If you want invoicing, you need to bolt on Square Payments or Stripe—and you're handling tax receipts separately. Square Appointments is free for basic booking, but only if you process payments through Square (which takes 2.6% + $0.10 per transaction). A $100 service costs $2.60 in fees. Run 100 appointments/month at $100 average: $260/month in payment processing alone. The trap: Square Appointments invoicing is skeletal. You can't template invoice language, add line-item notes, or set payment terms. Most service businesses bolt on Wave or Stripe invoicing, turning a "free" tool into a three-tool mess. Orin is $129/month all-in for a single user (includes CRM, booking, invoicing, unified messaging). Each additional user is $49/month. Five staff: $129 + (4 × $49) = $325/month, or $3,900/year. No per-appointment fees. Invoicing, client history, and team chat are built in—not add-ons. The math: Acuity + Stripe invoicing (~$30/month) + manual data entry labour ($150–300/month in time cost) = closer to $350–400/month in true cost. Square + invoicing bolt-on + payment processing overhead = $450–550/month. Orin, at $325/month, includes everything, but the real win is labour saved. Invoicing depth: where most booking tools fail A physiotherapy clinic books a 60-minute session. The therapist notices the client's condition requires additional strengthening exercises. They add a $40 exercise program to the invoice. That's a $140 session, not $100. Acuity and Square don't easily handle this. You can set a base price per service, but adding line items, custom fees, or package adjustments requires manual invoicing outside the system or workarounds that take 10 minutes per client. Over 50 invoices/month, that's 8+ hours of re-entry. Orin's invoicing module links directly to the appointment. You book the session, the client attends, you add the line item (exercise program: $40) at point of service or after, and the invoice auto-populates with client history, payment terms, and tax settings. You can save invoice templates, set auto-reminders for unpaid invoices, and see which clients are 30+ days overdue without leaving the system. Key difference: Acuity and Square treat invoicing as an afterthought. Orin treats it as part of the client lifecycle. If you're issuing more than 30 invoices/month, the time saved alone justifies the platform cost. Client retention features: the appointment system as a relationship engine A massage therapist in Singapore keeps a mental note: "Client Sarah always books Thursday at 6pm, prefers deep tissue, has lower-back pain." When Sarah books, the therapist should see that history instantly. When Sarah doesn't book for 8 weeks, the business should send a thoughtful re-engagement message—not a generic "we miss you" blast. Acuity stores appointment history and can attach notes, but client profiles are thin. You see past bookings and service notes, but not a timeline of all interactions (calls, emails, cancellations). Re-engagement is manual—you have to remember to reach out. Integrations with email marketing tools like Mailchimp exist, but data flows one way. Square Appointments has even thinner client profiles. You see their phone number, email, and past bookings. Custom fields exist, but there's no relationship timeline or automated re-engagement. You're managing client retention outside Square—in a spreadsheet, email, or separate CRM. Orin logs every interaction: bookings, no-shows, messages (SMS, WhatsApp, email all in one inbox), calls, and notes. You can set automations: "If a client hasn't booked in 6 weeks and isn't already in a re-engagement flow, send them a WhatsApp message with the