Przejdź do głównej zawartości

Klienci

Przegląd

Moduł klientów pozwala pracownikom (employee, admin) zarządzać listą klientów oraz przeglądać szczegóły każdego z nich. Klient to użytkownik, który ukończył onboarding.


Lista klientów (/dashboard/clients)

Dostęp: Tylko rola employee lub admin.

Tabela klientów

KolumnaOpis
Imię i nazwiskoZ tabeli user
E-mailAdres e-mail klienta
TelefonOpcjonalny numer telefonu
Typ kontaparent (rodzic) lub self_student (uczeń)
Stawka godzinowaIndywidualna stawka (zł/h)
Metoda płatnościGotówka / Online / Oba
Status onboardinguCzy onboarding ukończony
Liczba uczniówIlość uczniów przypisanych do klienta
Data utworzeniaData rejestracji

Akcje

  • Zaproś klienta — otwiera dialog zaproszenia
  • Kliknięcie wiersza — przechodzi do szczegółów klienta

Szczegóły klienta (/dashboard/clients/[id])

Dostęp: Tylko rola employee lub admin.

Sekcje

Informacje o kliencie

  • Imię, nazwisko, e-mail, telefon
  • Typ konta, data rejestracji

Ustawienia korepetycji

  • Stawka godzinowa (edytowalna)
  • Metoda płatności (edytowalna)
  • Notatki (edytowalne)

Uczniowie klienta

  • Tabela uczniów przypisanych do tego klienta
  • Imię, nazwisko, data urodzenia, poziom nauki

API

GET /api/clients/[id]

Pobiera dane klienta wraz z uczniami.

Dostęp: Employee/Admin lub właściciel konta.

Odpowiedź:

{
"id": "client-001",
"type": "parent",
"phone": "+48123456789",
"onboardingCompleted": true,
"customHourlyRate": 150,
"paymentMethod": "cash",
"notes": "Notatka",
"userName": "Jan Kowalski",
"userEmail": "jan@example.com",
"students": [
{
"id": "student-001",
"firstName": "Anna",
"lastName": "Kowalska",
"dateOfBirth": "2010-03-20T00:00:00.000Z",
"level": "podstawowa"
}
]
}

PATCH /api/clients/[id]

Aktualizuje dane klienta.

Dostęp:

  • Employee/Admin → może edytować: phone, customHourlyRate, paymentMethod, notes
  • Klient (właściciel) → może edytować tylko: phone

Body (JSON — wszystkie pola opcjonalne):

{
"phone": "+48987654321",
"customHourlyRate": 200,
"paymentMethod": "online",
"notes": "Nowa notatka"
}
KodOpis
200Zaktualizowano
400Nieprawidłowe dane (walidacja Zod)
401Niezalogowany
403Brak uprawnień
404Klient nie znaleziony