One platform, two industries: salons and medical practices

ThinkCRM sells a CRM, calendar and point of sale to beauty salons and to medical practices. We built both editions on one shared platform, each made for its industry, and both carrying real money and regulated reporting.

Client
ThinkCRM
Sector
SaaS
Kind of work
WebMaintenance

The situation

ThinkCRM’s salon edition serves beauty salons and skin clinics. Its medical edition serves physiotherapy, paediatric and optician practices in Cyprus. Both run appointments, clients, payments and invoicing for many businesses at once.

What made it hard

Two industries with different rules had to share one platform, while handling live card payments, Greek e-invoicing and Cyprus national health-system (GESY) reporting that cannot be wrong.

What we did

  1. Built one Laravel platform with two editions that share most of their code, so a fix to the core reaches both and each industry keeps its own features.
  2. Built Viva online and in-store payments, other card terminals, SMS, VAT checks and myDATA e-invoicing into the shared platform.
  3. Added GESY support to the medical edition: visit counters, referrals, diagnosis history, and a patient app with bookings and payments.
  4. Gave each edition a mobile API for its staff and patient apps.
  5. Moved each practice’s history from the previous system, including a repair that relinked appointments to the right clients after a date-format fault in the old data.

Before and after

What made it hardWhat we built
Two industries, different rulesOne platform, two editions
Live paymentsViva and card terminals built in
National health reportingGESY in the medical edition
Old data to carry overAppointments relinked to the right clients

What we would do differently

Keeping two editions in step by porting features between them works, but it costs a little on every change. Our next step is a switch per edition inside a single codebase, and the gym platform is already built that way.

Built with

PHP · Laravel · Viva Payments · GESY · myDATA

Ready to build something great?

Tell us what’s breaking, or what you need built. You talk to the engineer who does the work.