Proiect realizat · CRM operațional

CRM pentru SPA-ul Ramada

Activitatea de bazin din SPA-ul hotelului Ramada Plaza · București

CRM custom pentru înscrieri, abonamente, programări, prezență și plăți. Participantul, pachetul, antrenorul și ședințele sunt conectate în același flux operațional.

Portaluri distincte pentru management, echipă și clienți, cu permisiuni pe locație. Aplicație web independentă, cu programări reale și istoric păstrat.

Abonamente și programări Portal client și antrenor Acces pe roluri PHP + MySQL

Ce am construit

Relația cu clientul și activitatea bazinului, în același sistem

Un abonament promite un număr de ședințe, într-o perioadă și în condiții definite. O programare rezervă un interval pentru un participant și un antrenor. Prezența înregistrează ceea ce s-a întâmplat. CRM-ul conectează aceste niveluri, astfel încât o modificare de program să nu fie confundată cu o ședință efectuată sau cu o plată încasată.

Înscrieri și profiluri de participanți

Formularele publice și interne colectează cererile în același flux. Participanții minori și adulți sunt tratați distinct, iar tutorele este păstrat separat de identitatea cursantului. Membrii aceleiași familii pot avea profiluri proprii, fără duplicarea necontrolată a conturilor.

Abonamente, programări și prezență

Pachetele păstrează valabilitatea, ședințele și programul ales. Aparițiile recurente devin programări reale, iar prezența actualizează soldul prin aceeași mecanică centrală. Reprogramările și corecțiile păstrează legătura dintre intervalul inițial și cel activ.

Echipă, capacitate și acces pe locație

Programul antrenorilor, grupele, disponibilitatea și excepțiile operaționale sunt evaluate împreună. Accesul este legat de responsabilitatea și locația utilizatorului; același antrenor poate avea atribuții de coordonare într-un bazin și acces strict de antrenor în altul.

Plăți, reduceri și raportare

Aplicația diferențiază sumele solicitate de încasările confirmate și păstrează legătura cu cererea sau abonamentul. Cupoanele au condiții și limite de utilizare. Rapoartele urmăresc programările și activitatea efectivă, iar notificările completează fluxul operațional.

Arhitectura funcțională

Trei zone de lucru, aceeași sursă de date

Website-ul public și CRM-ul au responsabilități diferite. Aplicația operațională rulează separat, iar înscrierea, portalurile autentificate și panoul de administrare folosesc aceleași reguli și aceeași bază de date a CRM-ului.

Înscriere și portal client

Interfața prin care se transmite cererea și se urmărește propriul abonament.

  • Pachet, program și participant
  • Date proprii și solicitări
  • Legătura dintre tutore și cursanți
Nucleu operațional PHP/MySQL

Regulile comune, legăturile dintre entități și starea curentă a datelor.

  • Abonamente și programări reale
  • Validări și tranzacții
  • Plăți, reduceri și jurnal
Administrare și portal antrenor

Instrumentele de lucru sunt disponibile potrivit rolului și locației.

  • Program, capacitate și prezență
  • Aprobări și intervenții controlate
  • Rapoarte și notificări
CRM-ul conectează suprafețe diferite de lucru fără să creeze registre paralele pentru abonamente, prezență sau plăți.
1

Owner și administrator de club

Coordonează operațiunile și echipa. Drepturile sensibile ale Ownerului rămân distincte de administrarea operațională: setări de integrare, controlul conturilor și acțiuni cu impact extins.

2

Manager operațional

Lucrează cu înscrierile, abonamentele, programul și prezența în locațiile autorizate. Funcția poate fi acordată și unui antrenor, numai pentru bazinul în care are această responsabilitate.

3

Antrenor

Consultă activitatea proprie și poate trimite solicitări pentru program, disponibilitate, concediu sau reprogramare. Portalul său nu oferă implicit control administrativ asupra întregii baze de clienți.

4

Client sau tutore

Accesează informațiile și solicitările asociate propriului cont. Pentru familii, profilurile participanților sunt distincte, astfel încât abonamentul și istoricul unui copil să nu fie confundate cu ale altuia.

5

Vizualizator de evidență

Consultă datele operaționale permise pentru locațiile alocate, fără drepturile necesare modificării lor. Accesul de consultare este separat de atribuțiile unui manager.

Workflow-ul unei înscrieri

De la cerere la abonament și ședințe efectuate

Clientul selectează locația, pachetul și programul disponibil. Cererea intră în verificare, nu devine automat o încasare sau o ședință efectuată. Aprobarea conectează participantul, abonamentul, programările și starea plății.

Înscriere și identificarea participantului
Alegerea pachetului, antrenorului și programului
Verificarea disponibilității, capacității și condițiilor
Decizie operațională și confirmare
Cerere aprobată Abonament și programări reale

Conversia leagă cererea de abonament, program și plata aferentă. Ședințele viitoare pot fi urmărite în calendar și în evidența operațională.

Program de ajustat Reverificare înainte de confirmare

Un interval sau o alocare schimbată cere reevaluarea disponibilității. Abaterile operaționale permise necesită avertizare și confirmare explicită.

Cerere nefinalizată Stare și istoric păstrate

O cerere respinsă sau închisă nu este tratată ca abonament activ. Decizia rămâne identificabilă, fără a produce artificial prezență sau încasări.

După activare, prezența actualizează ședințele prin funcții centrale. Reprogramarea păstrează traseul intervalului schimbat; reînnoirea este verificată pe starea curentă, astfel încât o cerere veche sau un dublu submit să nu creeze două operațiuni identice.
Fluxul înscrierii este conectat cu execuția zilnică: abonament, programare, prezență, sold și istoric.

Decizii tehnice

Date coerente când mai mulți oameni lucrează în același CRM

Complexitatea proiectului se află în regulile comune: ce poate modifica fiecare rol, când se consumă o ședință, cum se verifică programul și cum sunt tratate cererile concurente. Funcționalitățile descrise privesc activitatea acvatică; aplicația nu este prezentată drept sistem de rezervare a camerelor sau de gestionare a tratamentelor SPA.

Aplicație independentă de WordPress

Runtime-ul este PHP, cu MariaDB/MySQL și interfețe HTML/CSS/JavaScript. CRM-ul are infrastructura, configurația și baza sa de date, separate de website-ul public. Logica operațională nu este mutată în paginile de prezentare sau în pluginuri WordPress.

Permisiuni verificate pe server

Ascunderea unui buton nu este considerată control suficient. Acțiunile verifică utilizatorul, rolul și contextul locației. Consultarea, operarea și administrarea sensibilă sunt separate; o schimbare de rol poate revoca sesiunile și accesul anterior.

Program real, cu disponibilitate și capacitate

Programările țin cont de antrenor, interval, pachet și tipul activității. Sunt gestionate atât sesiuni individuale, cât și grupe, cu program recurent sau ore selectate. Excepțiile confirmabile sunt diferențiate de datele invalide și de conflictele care trebuie blocate.

Protecții pentru operațiuni concurente

La modificări sensibile, serverul recitește starea curentă și folosește tranzacții, blocări și revizii ale formularelor. O fereastră rămasă deschisă nu trebuie să suprascrie o modificare ulterioară sau să consume ori să restituie aceeași ședință de două ori.

Plăți și reduceri cu identitate coerentă

O plată rămâne legată de aceeași intenție economică atunci când cererea devine abonament. Pachetele cu doi participanți pot avea abonamente distincte și o singură plată comună. Situațiile ambigue sunt semnalate pentru verificare, nu transformate automat în încasări. Evidența CRM nu înlocuiește contabilitatea oficială.

Istoric, notificări și rapoarte operaționale

Jurnalul urmărește actorul și intervențiile asupra programărilor, abonamentelor și accesului. Notificările sunt păstrate într-un outbox, cu livrare și remindere controlate. Rapoartele pornesc de la activitatea și programările reale, nu confundă planificarea cu prezența și păstrează istoricul relevant.

Experiența WebHat

Software construit în jurul regulilor unei activități reale

Proiectul demonstrează experiența WebHat în modelarea proceselor, nu doar în construirea unor ecrane. Am conectat entități care se schimbă împreună — participant, abonament, antrenor, programare și plată — păstrând responsabilitățile echipei și traseul operațiunilor. Aceeași disciplină poate fi aplicată unui CRM pentru servicii, educație sau activități cu rezervări și resurse limitate, după analiza regulilor proprii.

  • Înscrieri și profiluri legate de activitatea operațională
  • Abonamente, programări, prezență și sold coerente
  • Acces diferențiat pentru echipă, clienți și locații
  • Tranzacții, audit și verificări ale stării curente
  • Aplicație independentă, utilizabilă pe mobil și desktop