Idepoo Software

An aesthetic clinic platform: from online booking to magazine and campaigns

A web platform for aesthetic, skin and hair clinics: booking by treatment and practitioner on a Jalali calendar, a before-and-after gallery, a specialist magazine with a page builder, campaigns with countdowns, and one admin panel for all of it.

Which clinics it is for

Aesthetic, skin and hair clinics, and any practice doing two things at once: taking appointments and building trust.

The problem is usually one of three. Booking tied to the telephone: a client decides at eleven at night, and if they cannot book then, by morning they may have chosen somewhere else. Scattered content and results: nobody decides on a procedure from a banner — they decide from an article, from before-and-after work, and from seeing the practitioner, and if those have no structure they are neither found in Google nor findable on the site. Dependence on an engineering team: a clinic that has to wait for a developer to launch a campaign cancels the campaign.

This platform solves all three, and there is a deployed instance running today.

Booking and clients

  • Booking with practitioner choice

    The client selects a treatment and a practitioner, sees the Jalali calendar and the free slots, and books — at any hour, without a phone call.

  • Capacity and appointment status

    Capacity is defined per treatment and practitioner, and status is managed along the way; reception has advanced filters to run the working day from the same screen.

  • Client accounts

    Mobile registration and login, profiles, appointment history and notifications, and the groundwork for a loyalty club.

Trust and content

  • Before-and-after gallery

    Categorised by treatment, several images per case, linked to the practitioner and that treatment's landing page, with featured selection for the home page.

  • A specialist magazine

    Multi-level categories, a proper editor, comments, related posts, featured articles and pagination — a real magazine rather than a few posts.

  • Technical and content SEO

    Meta and canonical, sitemap and robots, Open Graph and JSON-LD, and optimised URLs and images — because most clients arrive from Google.

Independence from the engineering team

  • Page builder

    Build your own landing page for a treatment or campaign — with an HTML, CSS and JS editor for when you need full control, and independent SEO settings per page.

  • Tree menu builder

    You arrange the multi-level menus yourself; adding a new treatment to the menu is not a support request.

  • Campaigns and offers

    Dynamic banners, discounts, countdowns, custom image, text and button, and scheduled display — set a campaign up in advance and it runs itself.

An installable app, with notifications that cost nothing

The site is a PWA: it installs on a phone and stays on the home screen, has a service worker, works through a dropped connection, and sends Web Push notifications.

That is not a technical detail, it is a monthly saving: appointment reminders, campaign announcements and periodic messages over Web Push carry no SMS cost. For a clinic sending hundreds of reminders a month, the difference shows up on the invoice.

The admin panel: one tool for three roles

The manager, the content producer and the receptionist work in one dashboard, with separated roles and permissions:

Business — users, clients, roles and permissions; treatments, practitioners, schedules and bookings; portfolio, reviews and contact messages; banners, campaigns and site-wide notifications.

Content — articles, categories and comments; page builder, menu builder and CTA management; a rich text editor and a code editor; and global image, file and video upload.

Architecture and stack

The back end is .NET 10 with Clean Architecture and CQRS — the domain at the centre, the application layer around it, infrastructure and the API outside. The public site is Next.js with server rendering for SEO, and the admin panel is a standalone React application. SQL Server and Redis for data and cache, deployed with Docker and nginx.

Why that matters: when you later want a second branch, online deposits, or a CRM connection, they are added onto this architecture rather than requiring a rewrite.

Frequently asked

How many practitioners and treatments does it support?

The software imposes no limit; treatments, practitioners and schedules are defined from the panel, with capacity set per item. Nor does the price change with the number of users or branches — what moves it is the scope of customisation and the volume of content to migrate.

How many branches can it run?

The architecture is ready for additional branches, and the multi-branch structure is configured during discovery around how many sites you run and how appointments and reporting should be separated.

Does it take online deposits?

Payment can be added, and the gateway you want is chosen during discovery and implemented at deployment.

Will our existing content be migrated?

Yes; articles, images, treatments and portfolio move across, and redirects are created for the old URLs so rankings survive. Your content volume determines the effort.

Do clients install the app from a store?

No. The site is a web app and installs to the phone's home screen straight from the browser — no app store — and Web Push works from there too.

What does it cost and how long does it take?

Setup starts at 90m toman, with annual support at 20% of the setup fee. The final figure follows a short demo, once the number of treatments, practitioners and the content volume are clear.

A demo with your own treatments

In the demo we set up your treatments and practitioners on the system, so you see what booking and the panel actually look like.

The clinic name, how many treatments and practitioners, and how bookings are taken today — those three answers are enough to set up a demo.