Sari la conținut

Custom booking system

Sistem de rezervari online custom — clinici, spa, fitness, multi-locatie

Construim sistem de rezervari pentru businessuri care au depasit Minup, Bookafy sau Calendly. Multi-locatie cu calendare separate, plata Stripe sau Netopia la rezervare, reminder SMS si WhatsApp automat, taxa no-show retinuta din card on file, pachete prepaid si abonamente. Cod care e al tau, fara abonament SaaS lunar.

Multi-locatie nativ
Plata Stripe / Netopia
Reminder SMS / WhatsApp
No-show fee automat

Ce include

Functionalitatile pe care SaaS-urile standard nu le acopera

Multi-locatie cu admin centralizat

Organization → locations → resources → schedules. Fiecare locatie cu propriul calendar, dar admin central agregeaza rapoarte. Subdomeniu per locatie (booking.firma.ro/cluj). Permisiuni granulare: receptia Cluj vede doar Cluj, managerul vede tot. Row-level security in Postgres, tenant context in Next.js middleware.

Plata online cu Stripe sau Netopia

Stripe Checkout pentru clienti internationali (1.4% SEPA), Netopia Payments pentru piata RO (BT Pay, Apple Pay, integrare e-Factura). Plata integrala, avans 30%, sau card on file pentru no-show fee. Webhook handler pentru payment_intent.succeeded confirma rezervarea automat, refund la anulare timpurie.

Reminder SMS si WhatsApp automat

Twilio sau MessageBird pentru SMS (0.04€/mesaj, livrare garantata). WhatsApp Business API via 360Dialog pentru template messages cu butoane Confirma / Reprogrameaza / Anuleaza. Fallback automat: WhatsApp first, SMS daca nu se citeste in 1h. Schedule configurabil: T-24h, T-2h, follow-up T+24h.

Taxa no-show retinuta automat

Card on file via Stripe SetupIntent la booking (autorizat, nu incasat). Cron job la T+30 min: daca status = scheduled si specialistul nu a marcat showed_up, trigger PaymentIntent automat. Reguli configurabile per serviciu (50% la anulare 2-24h, 100% la no-show). Reducere tipica no-show de la 18% la 4% in 3 luni.

Pachete prepaid si abonamente

Pachete: 10 sedinte cu 15% discount, validitate 6 luni, fiecare booking deduce 1. Abonamente Stripe Subscriptions: 200€/luna acces nelimitat, dunning automat la card expirat, suspendare cont dupa 3 retry. Combinate: Gold include 2 sedinte/luna + 30% extra. Gift voucher cu cod transferabil. KPI MRR, LTV, churn in dashboard.

Sincronizare Google Calendar si Outlook

OAuth 2.0 bidirectional cu Google Calendar API si Microsoft Graph. Rezervarile apar in calendarul personal al specialistului in 30 sec. Blocaje personale (concediu) blocheaza slot-uri in sistem. Apple Calendar via CalDAV. Conflict resolution cu alerta admin in caz de double-booking. iCal feed read-only pentru orice client extern.

Resurse multiple: specialisti, cabine, aparate

Modelare reala: o sedinta epilare laser ocupa specialistul + cabina + aparatul laser simultan. Sistemul verifica disponibilitatea tuturor resurselor inainte sa permita booking. Reguli de combinabilitate: aparatul 1 doar in cabina A. Specialisti cross-locatie (medic Bucuresti + Brasov). Time-buffer intre programari pentru curatare (15 min auto).

Portal client si PWA mobil

Portal client cu istoric rezervari, sold pachet, abonament activ, facturi descarcabile, dosarul medical (la clinici). PWA instalabila pe iPhone si Android cu push notifications pentru reminder. Booking in 3 click: serviciu → specialist → slot disponibil. Auto-completare date din ultima rezervare. Re-booking rapid din istoric.

Cum functioneaza

De la discovery la go-live in 30-60 zile

01

Discovery 5-7 zile

Mapam business-ul: ce servicii vinzi, cum se prelungesc, cate locatii, cati specialisti, cum facturezi, ce SaaS folosesti acum si de ce te-a limitat. Iesim cu specificatie tehnica + wireframe-uri + pricing fix.

02

Design UX si UI 7-10 zile

Designam flow-ul de booking (3 click maxim pana la confirmare), dashboard admin cu shortcut-uri operationale, portal client. Validam pe focus group cu 5 clienti reali ai tai inainte sa intram in cod.

03

Build backend si database 14-21 zile

Schema Postgres cu Prisma sau Drizzle: organizations, locations, services, resources, schedules, bookings, payments. API routes Next.js. Integrari: Stripe sau Netopia, Twilio, Google Calendar OAuth, SmartBill pentru facturi automate.

04

Build frontend client si admin 14-21 zile

Next.js 16 App Router cu Server Components pentru SEO. Booking UI cu calendar interactiv (react-day-picker custom). Dashboard admin cu Tanstack Table pentru rapoarte. PWA pentru mobil. Real-time updates cu Server-Sent Events.

05

QA, migrare date 7-10 zile

Test plan complet: booking happy-path, edge cases (no-show, refund, double-booking attempt, plata esuata). Migrare clienti si rezervari viitoare din SaaS-ul vechi (Minup, Bookafy) prin export CSV si import script. Training echipa receptie.

06

Go-live + 90 zile suport

Switch DNS in fereastra trafic minim (3-5 AM). Monitoring intens primele 7 zile cu Sentry + LogRocket pentru session replay. 90 zile suport bug-uri inclus. Lunar review KPI: rata conversie booking, no-show rate, NPS clienti, revenue per slot.

Stack tehnic

Tehnologii alese pentru scalare si mentenanta usoara

Next.js 16 + TypeScript

App Router cu Server Components pentru SEO bun la paginile publice (pagina booking se indexeaza in Google pentru 'rezervare medic [oras]'). Server Actions pentru forme. TypeScript strict mode. Hostuit pe Cloudflare Pages sau Vercel.

Postgres + Prisma / Drizzle

Postgres pe Supabase sau Neon (serverless, scaleaza automat). Schema cu row-level security pentru multi-tenant. Migratii versionate. Indexare smart pentru query-uri de tip 'specialisti disponibili in interval'.

Stripe + Netopia Payments

Stripe pentru clienti EU/international (1.4% SEPA), Netopia pentru piata RO (BT Pay, Apple Pay, e-Factura). Webhook handler unificat cu idempotency keys. PCI compliance prin Stripe Elements sau Netopia hosted page.

Twilio + WhatsApp Business

Twilio Programmable Messaging pentru SMS in EU (0.04€/mesaj). WhatsApp Business API via Twilio sau 360Dialog pentru template messages cu butoane interactive. Fallback automat SMS daca WhatsApp nu se livreaza.

Google Calendar + Microsoft Graph

OAuth 2.0 cu refresh tokens criptate AES-256 in DB. Webhook push notifications pentru sincronizare in 30 secunde. Apple Calendar via CalDAV. iCal feed read-only pentru orice alt client de calendar.

SmartBill + Oblio facturare

Integrare SmartBill API pentru emiterea automata a facturilor la fiecare incasare cu CUI/CNP client preluat din profil. Suport e-Factura ANAF (SPV upload XML UBL). Alternativ Oblio sau FGO. Storno automat la refund Stripe.

Cui se potriveste

  • Clinici medicale si stomatologice cu 5+ medici si 2+ locatii
  • Spa, salon de beauty cu pachete prepaid si abonamente lunare
  • Fitness, pilates, yoga studios cu clase de grup si rezervare loc
  • Centre de recovery, fizioterapie cu sedinte recurente programate
  • Firme care au depasit Minup, Bookafy, Calendly si vor flow custom
  • Businessuri cu rata no-show 10-20% care vor card on file automat

Cui NU se potriveste

  • Cabinete individuale cu 1 specialist si sub 30 programari/luna — Minup la 15€/luna e perfect
  • Restaurante si saloane fara modele custom de pricing — TheFork sau Treatwell sunt suficiente
  • Firme fara echipa care sa adopte un sistem nou — custom cere training si discipline operationale
  • Cei care nu vor sa investeasca minim 4.500€ upfront si prefera SaaS lunar mic
  • Businessuri cu under 6 luni runway — custom recupereaza investitia in 8-14 luni
  • Firme care vor sa migreze in 2 saptamani — custom serios cere 30-60 zile minim

Pricing transparent

Trei tier-uri dupa complexitate

Single-Location

4.500€

30-40 zile livrare

  • 1 locatie, pana la 5 specialisti
  • Booking UI cu calendar interactiv
  • Plata Stripe Checkout integrala
  • Reminder SMS via Twilio
  • Sincronizare Google Calendar
  • Dashboard admin cu rapoarte simple
  • Portal client cu istoric
  • Migrare din Minup / Bookafy
  • 90 zile suport bug-uri
Cere oferta

Multi-Location

8.500€

45-55 zile livrare

  • Pana la 4 locatii, 15 specialisti
  • Subdomeniu per locatie
  • Plata Stripe + Netopia + e-Factura
  • Reminder SMS + WhatsApp template
  • No-show fee automat cu card on file
  • Pachete prepaid + abonamente Stripe
  • Sincronizare Google + Outlook bidir.
  • Dashboard cu rapoarte agregate
  • PWA mobil pentru clienti
  • Integrare SmartBill facturare
Cere oferta

Enterprise

13.500€+

60-90 zile livrare

  • 5+ locatii, fara limita specialisti
  • Multi-tenant cu permisiuni granulare
  • Integrare CRM custom sau HIS/EMR
  • App nativ iOS + Android (React Native)
  • Tabela ocupare cabine real-time
  • AI scheduling suggestions
  • Rapoarte BI cu Metabase / Looker
  • API public pentru integrari third-party
  • SLA 99.9% + tech lead dedicat
  • 180 zile suport + on-call
Cere oferta

Ce influenteaza pretul final

  • Numar locatii si specialisti — fiecare locatie adauga 800-1200€
  • Integrari externe — fiecare API custom 500-1500€ (CRM, HIS, ERP, e-Factura)
  • App mobil nativ vs PWA — nativ React Native +3000-5000€
  • Modele de pricing — pachete + abonamente + gift voucher cumulat +1500€
  • Migrare date din SaaS-ul actual — peste 1000 clienti +800€
  • SLA contractual 99.9% si on-call — pachet ongoing 600€/luna separat

Intrebari frecvente

Ce ne intreaba clinici, spa si fitness inainte sa aleaga custom

Cand am nevoie de sistem custom in loc de Minup, Bookafy sau Calendly?

Cand SaaS-ul standard te limiteaza in modele de business reale. Exemple concrete: ai 4 locatii cu echipe diferite si calendare separate dar vrei un singur cont admin si rapoarte consolidate — Minup iti cere abonament per locatie scump. Vinzi pachete prepaid de 10 sedinte cu validitate 6 luni — Bookafy nu suporta deduction din pachet. Vrei taxa no-show automata 50% retinuta din cardul salvat — niciun SaaS RO nu o face curat. Trebuie sa integrezi cu CRM-ul tau, factureaza prin SmartBill si trimite reminder WhatsApp prin Twilio — ai nevoie de cod custom. Sub 5 specialisti si flow simplu — ramai pe Minup, e mai ieftin. Peste 5 specialisti, multi-locatie sau flow special — custom recupereaza investitia in 8-14 luni prin reducere abandon si no-show.

Cum gestionez multi-locatie cu calendare separate dar admin unic?

Modelul pe care il livram: ierarhie organization → locations → resources (specialisti, cabine, aparate) → schedules. Admin central vede agregat tot, dar fiecare locatie are propriul subdomeniu sau path (ex: /booking/bucuresti, /booking/cluj) cu calendar izolat. Specialisti se pot lega de mai multe locatii (un medic care lucreaza si Bucuresti, si Brasov). Servicii configurabile per locatie (preturi diferite, durata diferita, disponibilitate diferita). Rapoarte: dashboard consolidate cu filtre per locatie, comparatii cross-location, KPI ocupare cabine, top 10 specialisti. Permisiuni granulare: receptia din Cluj vede doar Cluj, managerul vede tot. Tehnic implementat cu row-level security in Postgres + tenant context in Next.js middleware.

Pot avea plata online (Stripe / Netopia) integrata la rezervare?

Da, e una din diferentele cheie fata de SaaS-uri. Optiuni implementate: 1) Plata integrala la rezervare — Stripe Checkout sau Netopia hosted, suma incasata la booking, refund automat la anulare cu 24h+ inainte. 2) Plata partiala (avans 30%) — utila la clinici stomatologice cu sedinte 200-500€. 3) Card on file pentru no-show fee — salvam metoda de plata (Stripe SetupIntent), nu incasam la booking, dar putem retine 50% daca clientul nu vine si nu anuleaza in 24h. 4) Plata din pachet prepaid — clientul are 10 sedinte cumparate, fiecare booking deduce 1. Webhook handler proceseaza payment_intent.succeeded si confirma rezervarea automat. Integrare cu SmartBill pentru factura emisa la fiecare incasare cu CUI client.

Cum se trimit reminder-e SMS si WhatsApp catre clienti?

Doua canale principale, alegerea depinde de target. SMS via Twilio sau MessageBird: 0.03-0.05€/mesaj, livrare garantata, citit in 3 minute media. Util pentru clienti 50+ ani sau zone fara internet stabil. Trimite: confirmare la booking (T+0), reminder la T-24h, reminder la T-2h, follow-up post-vizita la T+24h pentru recenzii. WhatsApp Business API via Twilio sau 360Dialog: 0.005-0.02€ pentru template message in 24h interval, gratuit pentru replies. Util pentru clienti tineri, suporta poze (foto inainte/dupa), butoane interactive (Confirma / Reprogrameaza / Anuleaza) care actualizeaza calendarul automat. Implementam ambele cu fallback: trimit WhatsApp, daca nu se citeste in 1h, trimit SMS.

Pot pune taxa automata pentru no-show sau anulari tarzii?

Da, e unul din motivele principale pentru care firmele cumpara custom. Mecanism: la booking obligi card on file via Stripe SetupIntent (clientul autorizeaza dar nu se incaseaza). Reguli configurate per serviciu: anulare cu peste 24h inainte = gratuit, anulare 2-24h = retinem 50% din pret, anulare sub 2h sau no-show = retinem 100%. Cron job ruleaza la 30 min dupa programare si daca status = scheduled si specialistul nu a marcat 'showed_up', trigger auto-charge prin Stripe PaymentIntent. Clientul primeste email + SMS cu chitanta si motivul. Important legal: trebuie afisat clar in T&C la booking si checkbox explicit. Rezultat tipic: reducere no-show de la 15-20% la 3-5% in 3 luni, recuperare directa 200-500€/luna in clinici medii.

Se integreaza cu Google Calendar sau Outlook pentru specialisti?

Da, sincronizare bidirectionala cu Google Calendar API si Microsoft Graph pentru Outlook 365. Bidirectional inseamna: 1) Rezervarile facute in sistem apar in calendarul personal Google al specialistului in 30 secunde. 2) Daca medicul isi blocheaza in Google Calendar 'Concediu' 12-16 august, sistemul de booking nu mai accepta rezervari in acel interval. 3) Sedintele de tip personal (medic la copil scoala) blocheaza slot-ul si in Google. Implementare OAuth 2.0 cu refresh tokens stocate criptat, webhook Google push notifications pentru update-uri instant in loc de polling. Integrare Apple Calendar via CalDAV pentru iPhone users. iCal feed read-only pentru orice client de calendar care suporta subscribe. Conflict resolution: in caz de double-booking accidental, sistemul afiseaza alerta admin si propune resolve manual.

Cat costa un sistem custom de rezervari si ce influenteaza pretul?

Intervalul realist: 4.500€ - 15.000€ implementare + 0€ recurent (codul tau, hostuit pe Cloudflare / VPS). 4.500-6.500€ pentru sistem single-location, 3-5 specialisti, plata Stripe, reminder SMS, sincronizare Google Calendar, dashboard admin simplu. 7.000-10.000€ pentru multi-locatie (2-4 locatii), pachete prepaid, abonamente, taxa no-show, integrare WhatsApp, dashboard cu rapoarte. 11.000-15.000€ pentru sistem complex: 5+ locatii, integrare CRM custom, app mobil pentru clienti (PWA sau React Native), tabela ocupare cabine real-time, integrare cu sisteme medicale (ex: HIS / EMR), portal pacient cu istoric. Pretul creste cu: numar integrari externe (fiecare API = 500-1500€), nivel automatizari, complexitate rapoarte, dorinta de app mobil nativ vs PWA.

Suporta abonamente lunare si pachete prepaid de sedinte?

Da, ambele modele sunt cele mai cerute la fitness, beauty si clinici de recovery. Abonamente lunare via Stripe Subscriptions: clientul plateste 200€/luna pentru acces nelimitat la X servicii sau pana la Y sedinte/luna (cu carry-over configurabil), renewal automat la 30 zile, dunning automat la card expirat (3 retry-uri, apoi suspendare cont). Pachete prepaid: clientul cumpara 10 sedinte de 80€ cu 15% discount (680€ total), validitate 6 luni, fiecare booking deduce 1 sedinta cu tracking sold. Combinate: abonament Gold include 2 sedinte/luna + 30% reducere la sedinte extra. Sistem de credite si reward (10 sedinte = 1 gratis). Cadouri (gift voucher cu cod unic transferabil). Toate cu rapoarte LTV, churn, MRR pentru analiza business.

Servicii complementare

Pachet complet pentru o operatiune end-to-end

Vrei sistem rezervari online custom pentru businessul tau?

Trimite-ne business-ul tau, cate locatii ai si ce SaaS te-a limitat. Primesti in 4 ore o evaluare cu pricing fix si timeline realist, fara obligatii.