Skip to content

Organizacja (Multigabinet)

Od maja 2026 MIND obsługuje organizacje wielogabinetowe — kliniki, przychodnie i zespoły do 15 specjalistów (psycholog, psychoterapeuta, psychiatra, coach) korzystających z jednej instancji z wspólnym pool-em pacjentów, sesji i dokumentów.

W Ustawienia → Subskrypcja wybierz dodatek „Wielogabinetowość” (89 PLN/mies). Po zapisie MIND automatycznie:

  1. Tworzy Twoją organizację z Tobą jako administratorem
  2. Migruje Twoje dotychczasowe dane (pacjenci, sesje, notatki, załączniki, RODO consents) do wspólnego pool-u organizacji
  3. Dodaje pozycję 🏢 Organizacja w menu bocznym
  4. Resetuje zgody RODO Twoich pacjentów (status → „outdated”) — należy je odnowić z nowego org-level template

Pięć zakładek (od 2026-05-17):

Pełne dane podmiotu, które MIND wykorzystuje w nagłówkach aplikacji, na fakturach oraz w dokumentach dla pacjentów.

Identyfikacja:

  • Pełna nazwa (np. „Centrum Medyczne ALFA Sp. z o.o.”)
  • Krótka nazwa (max 24 znaki) — wyświetlana w pasku bocznym aplikacji obok logo
  • Logo organizacji (kwadratowe, max 5 MB) — zastępuje sygnet MIND w nagłówku aplikacji u wszystkich członków organizacji

Dane rejestrowe:

  • NIP (10 cyfr, walidacja długości)
  • REGON (9 lub 14 cyfr)
  • KRS (10 cyfr — opcjonalnie, jeśli organizacja ma osobowość prawną)

Adres siedziby: ulica, kod pocztowy, miasto, kraj.

Dane kontaktowe: e-mail, telefon, strona www, dodatkowo osobny e-mail rozliczeniowy (na który trafiają faktury).

Podmiot leczniczy (toggle): Jeśli organizacja jest wpisana do RPWDL (Rejestr Podmiotów Wykonujących Działalność Leczniczą):

  • Numer księgi RPWDL
  • Numer komórki organizacyjnej
  • Kierownik podmiotu leczniczego (imię i nazwisko)
  • Nr PWZ kierownika

Lista wszystkich osób w organizacji z:

  • Awatar (zdjęcie z profilu specjalisty)
  • Imię i nazwisko + e-mail
  • Badge ADMIN dla właściciela
  • Przypisane addony (mini-tagi)
  • Koszt miesięczny per osoba

Dodaj osobę — wpisujesz adres e-mail + opcjonalnie zaznaczasz addony, które od razu ma otrzymać. Wysyłany jest link zaproszenia na podany adres (ważny 7 dni).

Section titled “Menu „…” na każdym członku — cztery akcje”

Po kliknięciu w ikonę „…” przy karcie członka dostępne są:

🎛️ Addony — w dowolnym momencie możesz dorzucić lub zabrać dostęp do konkretnych modułów (VoiceBot, Strona WWW, Baza wiedzy itp.). Zmiany od razu propagują się do subscriptions/{uid}.selectedAddons — gating w UI reaguje natychmiast.

🎓 Zawód i typy sesji — admin edytuje:

  • Główny zawód członka (psycholog, psychoterapeuta, psychiatra, coach…)
  • Dostępne typy sesji — które typy ten specjalista może prowadzić (auto-dopełnione na podstawie zawodu, ale można nadpisać)

Wartości zapisywane do users/{uid}/settings/profile z polem editedByOrgAdmin (kto edytował, kiedy) — pełen ślad audytowy.

🛡️ Mianuj administratorem — przekazanie roli administratora organizacji innej osobie:

  • Wybrana osoba staje się adminem (orgRole='admin')
  • Obecny admin zostaje zwykłym członkiem (orgRole='user')
  • Custom Claims oraz dane org doc (adminUid) są zaktualizowane
  • Caveat: aktywna subskrypcja Stripe pozostaje przypisana do starego admina. Aby przenieść billing — stary admin musi anulować subskrypcję, nowy admin rozpocząć własną.
  • Akcja wymaga potwierdzenia w dialogu z opisem konsekwencji
  • Audit log: admin_transferred

🗑️ Usuń z organizacji — usunięcie członka z org:

  • Członek traci dostęp do danych organizacji
  • Pacjenci, sesje, notatki i załączniki utworzone przez tę osobę pozostają w org pool (są nadal własnością organizacji, zgodnie z Q11 spec)
  • Custom Claims zostają wyczyszczone, subskrypcja użytkownika „odmrażana” (może rozpocząć własną solo)
  • Nie można usunąć siebie ani innego admina (najpierw przekaż uprawnienia)
  • Audit log: member_removed

Miesięczny rachunek organizacji z breakdown:

ElementWartość
Liczba osób w orgN / 15
Suma podstawowa + addonyX PLN
Rabat (na podstawie liczby osób)-Y PLN
Do zapłaty miesięcznieX-Y PLN

Progi rabatowe (dotyczą całej faktury — podstawy + per-user addony, bez samego addonu Wielogabinetowość):

Liczba osóbRabat
1-20%
3-515%
6-1025%
11-1535%

Addon „Wielogabinetowość” (89 PLN) doliczany jest do rachunku osobno — bez rabatu, tylko raz na całą organizację.

Gdy zalogujesz się jako admin organizacji, prawy panel strony Subskrypcja pokazuje rozbicie kosztów zespołu:

Twój plan
─────────
Plan bazowy: 59 PLN
[Twoje addony…]
─────────
Twój koszt netto: XX PLN
🏢 Zespół · N specjalistów
Konta zespołu: YY PLN
Rabat zespołowy (-25%): -ZZ PLN
[Szczegóły zespołu →]
─────────
Razem netto: AA PLN
VAT 23%: BB PLN
─────────
ŁĄCZNIE BRUTTO CC PLN

Zmiany w Twoich addonach reagują na żywo. Zmiany w addonach zespołu — przeładuj stronę po edycji w /organization.

Lista oczekujących zaproszeń (jeszcze nie zaakceptowanych). Możesz każde odwołać (link w mailu zostaje natychmiast unieważniony).

Pełna historia akcji administracyjnych:

  • 🏢 Utworzenie organizacji (org_created)
  • ✏️ Aktualizacja profilu org (profile_updated) — wraz z listą zmienionych pól
  • 📨 Wysłane zaproszenia (invitation_sent)
  • ❌ Odwołane zaproszenia (invitation_revoked)
  • ✅ Dołączenie nowego członka (member_joined)
  • 🔧 Edycja addonów członka (member_addons_updated)
  • 🎓 Edycja zawodu/typów sesji członka (member_settings_updated)
  • 🛡️ Przekazanie uprawnień admina (admin_transferred)
  • 🗑️ Usunięcie członka z organizacji (member_removed)

Wymóg RODO Art. 30 — rejestr czynności przetwarzania.

Po kliknięciu w link /join-org/{token} w mailu:

  1. Strona z informacjami o organizacji (nazwa, kto zaprosił, jakie addony przyznano)
  2. Lista konsekwencji akceptacji:
    • Dostęp do wspólnego pool-u pacjentów i sesji organizacji
    • Migracja jego dotychczasowych danych do organizacji
    • Reset jego dotychczasowych addonów (admin przyzna nowe)
    • Reset zgód RODO jego pacjentów (status → outdated)
    • Subskrypcja i płatności przechodzą do administratora
  3. Przycisk „Akceptuję — dołącz do organizacji”
  • Wszystkie dane (pacjenci, sesje, notatki, załączniki) zaproszonego specjalisty migrują do org pool
  • Sesje zachowują flagę assignedTo wskazującą prowadzącego specjalistę
  • Wszyscy w organizacji widzą wszystkie sesje (z badge’em kto jest prowadzącym)
  • Subskrypcja zaproszonego zostaje zamrożona — admin platnik dalej
  • Custom Auth Claims są aktualizowane (orgId, orgRole=‘user’)

Nie można zaprosić osoby która jest administratorem innej organizacji — musi najpierw rozwiązać swoją.

Nie można zaprosić osoby która już jest w innej organizacji — musi z niej wystąpić.

Limit 15 osób w organizacji (admin + 14 user-ów). Po osiągnięciu limitu przycisk „Zaproś osobę” jest wyłączony.

Po wgraniu logo i ustawieniu krótkiej nazwy organizacji, wszyscy członkowie (admin + user-zy) zobaczą w sidebar:

  • Kwadratowe logo organizacji w miejscu sygnetu MIND
  • Krótką nazwę organizacji obok logo (gdy sidebar jest rozwinięty)
  • Mały podpis „organizacja” pod nazwą

Po zwinięciu sidebar-a do wąskiej kolumny — widoczne pozostaje samo logo.

W trybie solo (bez organizacji) sidebar wyświetla „MIND” / „synapsa.app” w dwóch wierszach obok sygnetu aplikacji.

Subskrypcja organizacji jest jedna — przypisana do admina. Wszyscy członkowie dziedziczą od niego:

PoleCo znaczy
statustrial / active / cancelled / past_due
trialEnddata zakończenia okresu próbnego
periodEnddata końca opłaconego okresu
cancelAtPeriodEndczy subskrypcja zakończy się na koniec okresu
billingIntervalmonth / year

Implikacje:

  • Jeśli admin jest w trial → wszyscy członkowie też są w trial (do tej samej daty)
  • Jeśli adminowi kończy się subskrypcja → członkom również
  • Jeśli admin anuluje na koniec okresu → wszyscy członkowie tracą dostęp w tej samej chwili

Synchronizacja dzieje się automatycznie przez Firestore trigger propagate_org_admin_subscription przy każdej zmianie statusu admina.

Po dołączeniu do organizacji jako zwykły członek (orgRole='user'):

Widoczne:

  • Dashboard, Pacjenci (org pool), Sesje (org pool), Notatki, Załączniki, Kalendarz, Analityka, Strona WWW (własna), Mindbook, Ustawienia → Profil

Niewidoczne / wyłączone:

  • Subskrypcja — rozlicza administrator
  • Panel administratora Multigabinet — tylko admin widzi
  • Przyjmowanie płatności pacjentów przez Stripe — admin zbiera wszystko
  • Migracja z Supabase (oldUid legacy) — niedostępne dla user-ów org
  • Edycja szablonu zgód RODO — szablon na poziomie organizacji, admin edytuje

Organizacja staje się współadministratorem danych pacjentów (RODO art. 26). Wszyscy specjaliści w org widzą wszystkich pacjentów + wszystkie sesje. Wymaga to:

  • Wewnętrznego porozumienia o podziale ról administratorskich
  • Aktualizacji klauzul informacyjnych dla pacjentów — pacjent musi wiedzieć kto będzie miał dostęp do jego danych
  • Odnowienia zgód RODO — po wejściu do organizacji wszystkie istniejące zgody są oznaczane jako outdated; należy wysłać nowe z org-level template

Każda akcja administracyjna (zaproszenie, odwołanie, edycja addonów, dołączenie członka) jest zapisywana w logu organizacji. Niedostępna dla user-ów, tylko dla admina.

Po dołączeniu do organizacji Twój token Firebase Auth otrzymuje pola:

  • orgId — identyfikator organizacji
  • orgRoleadmin lub user

Firestore rules używają tych claimów do izolacji danych między organizacjami (członek org A nie widzi org B).