Notificari
Sistemul de notificari — SMS inline, in-app, remindere programate, clopotelul de notificari
Canale de notificare
Oris trimite notificari pe trei canale:
SMS
Mesaje text trimise catre telefonul pacientului via Twilio.
Notificarile imediate (confirmare programare, primire cerere online) sunt trimise inline — fara intarziere de queue. Reminderele programate (24h/1h inainte) sunt procesate de un cron job.
Textul fiecarui tip de mesaj este personalizabil din Setari → Mesaje.
Emailuri trimise prin Resend cu template-uri HTML. Folosite pentru:
- Linkuri de formulare de completat
- Remindere de programari
In-app
Notificari interne afisate in clopotelul de notificari din bara laterala.
Clopotelul de notificari
In bara laterala stanga, deasupra link-ului "Centru de ajutor", se afla butonul de Notificari:
- Badge amber cu numarul de notificari necitite
- Click deschide un panou cu lista notificarilor recente
- Notificarile necitite au un punct amber si text alb
- Marcheaza citite — buton in header-ul panoului pentru a marca toate ca citite
- Click pe notificare → navigheaza la calendar si deschide automat dialogul de editare al programarii respective
Polling automat
Notificarile se actualizeaza automat la fiecare 30 de secunde fara a reincarca pagina.
Tipuri de notificari
Notificari catre pacienti (SMS)
| Eveniment | Moment trimitere | Metoda |
|---|---|---|
| Programare online creata | Imediat dupa ce pacientul se programeaza | Inline (fara delay) |
| Programare confirmata | Imediat dupa ce clinica aproba cererea online | Inline (fara delay) |
| Reminder 24h | 24 ore inainte de programare | Programat (cron) |
| Reminder 1h | 1 ora inainte de programare | Programat (cron) |
| Programare anulata | La anularea programarii | Programat (cron) |
| Link formular | Cand trimiteti un formular de completat | Programat (cron) |
Notificari catre clinica (in-app)
| Eveniment | Descriere |
|---|---|
| Programare online noua | Pacient s-a programat prin link-ul public |
| Formular completat | Pacientul a completat un formular digital |
| Pacient absent | Programare marcata ca absent |
Remindere automate
Cand se creeaza o programare, sistemul programeaza automat:
- 24 de ore inainte — SMS + email cu detaliile programarii
- 1 ora inainte — SMS + email concis
Reminderele:
- Se trimit doar daca pacientul nu a optat pentru opt-out
- Se anuleaza automat daca programarea este anulata sau reprogramata
- Nu se programeaza daca timpul reminder-ului este deja in trecut
Lifecycle automat
Sistemul gestioneaza automat statusul programarilor:
- Auto-complete — programarile cu check-in se marcheaza ca finalizate dupa ora de sfarsit
- Auto-no-show — programarile fara check-in se marcheaza ca absenta dupa ora de sfarsit
Preferinte pacient
Fiecare pacient poate opta sa nu primeasca notificari pe un canal:
- SMS opt-out — nu primeste mesaje text
- Email opt-out — nu primeste emailuri
Aceste preferinte se seteaza din fisa pacientului si sunt respectate automat.
Procesare si retry
Notificari imediate (SMS la confirmare/programare online):
- Se trimit sincron in handler-ul API
- Eroarea de trimitere nu blocheaza actiunea (try/catch)
- Erori sunt logate in consola serverului
Notificari programate (remindere, anulari):
- Stocate in tabela de notificari cu
scheduledFor - Procesate de endpoint-ul cron (
POST /cron/all) la fiecare minut - Daca o notificare esueaza, se reincearca de 3 ori
- Dupa 3 esecuri → marcata ca esuata permanent