Skip to content

4. Datový model (entity)

Ověřený fakt — zdrojová data z adresáře base44/entities/. Celkem 28 entit.

Hlavní entity

CalendarEvent

Centrální entita systému. Reprezentuje termín, blokaci nebo dovolenou v kalendáři.

Pole Typ Povinné Popis
event_type enum ano appointment / blockage / vacation
therapist_id string ano ID primárního terapeuta
therapist_ids array[string] ne IDs všech terapeutů (párová terapie)
room_id string ne ID místnosti
client_id string ne ID klienta (jen appointment)
booking_id string ne ID rezervace (pokud vznikla z portálu)
is_online_booking boolean ne Rezervováno klientem přes portál
date date ano Datum události
start_time string ano HH:MM
end_time string ano HH:MM
all_day boolean ne Celodenní událost
color string ne Vlastní barva (přepíše barvu terapeuta)
service_type string ne Název výkonu
status enum ne reserved, paid, confirmed, completed, excused, no_show_paid, no_show_unpaid, cancelled, auto_cancelled_unpaid, cancelled_late
payment_status enum ne unpaid, pending, paid, refunded, partially_refunded
payment_due_date string ne Termín pro úhradu (ISO datetime)
notes string ne Poznámky
is_recurring boolean ne Opakující se událost
recurrence_rule string ne weekly, biweekly, monthly
ms_outlook_event_id string ne ID události v MS Outlook (sync)

Booking

Rezervace — vzniká při objednání klientem nebo přes portál.

Pole Typ Popis
client_id string Klient
therapist_id string Terapeut
room_id string Místnost
event_id string Propojení na CalendarEvent
date, start_time, end_time string Kdy
service_type string Výkon
status enum Stav rezervace
payment_status enum Stav platby
payment_due_date string Splatnost
is_online_booking boolean Portálová rezervace
cancellation_reason string Důvod storna
refund_amount number Vrácená částka

AvailabilityBlock

Kapacitní blok terapeuta — definuje kdy a kde může terapeut pracovat.

Pole Typ Popis
therapist_id string Terapeut
room_id string Místnost
date date Datum (nebo start recurring)
start_time, end_time string HH:MM
slot_duration_minutes number Délka slotu (default 50 min)
service_types array Povolené výkony (prázdné = vše)
is_recurring boolean Opakující se blok
recurrence_pattern enum daily, weekly, biweekly, monthly
recurrence_days string JSON array dnů ["monday","tuesday"]
recurrence_start_date date Začátek opakování
recurrence_end_date date Konec opakování (null = neomezené)
is_public boolean Viditelné pro klienty v portálu

Client

Evidence klientů.

Pole Typ Popis
first_name, last_name string Jméno
email, phone string Kontakty
date_of_birth date Datum narození
segment enum standard, vip, child, couple
category_ids array Přiřazené kategorie
is_active boolean Aktivní/archivovaný

Service

Výkony nabízené klinikou.

Pole Typ Popis
name string Název výkonu
duration_minutes number Délka trvání
price number Cena v Kč
vat_rate enum 0%, 12%, 21%
is_online boolean Online sezení
allow_multiple_therapists boolean Párová terapie
pohoda_code string Kód pro export do účetního SW Pohoda

Therapist

Evidence terapeutů.

Pole Typ Popis
name string Jméno
email string E-mail (pro notifikace)
color string Barva v kalendáři
microsoft_calendar_id string ID kalendáře v MS Outlook

Room

Místnosti kliniky.

Pole Typ Popis
name string Název
color string Barva v kalendáři
capacity number Kapacita (0 = neomezená, 1 = ordinace)

PaymentLog

Záznamy o platbách.

Pole Typ Popis
client_id string Klient
booking_id string Rezervace
calendar_event_id string Událost
amount number Částka v Kč
payment_method enum credit, package, card, cash, transfer, demo, gateway
status enum pending, paid, failed, refunded
gateway_transaction_id string ID transakce platební brány

Podpůrné entity

Entita Účel
ClientCredit Kreditní účet klienta (zůstatek)
CreditTransaction Pohyby na kreditním účtu (topup, payment, refund)
ClientPackage Zakoupený balíček sezení klienta
ServicePackage Definice balíčků (10+1 terapií, cena, platnost)
ClientCategory Barevné kategorie klientů
RoomCategory Kategorie místností
ServiceCategory Kategorie výkonů
AppointmentStatus Konfigurovatelné stavy termínů
CalendarSettings Provozní hodiny, granularita slotů
NotificationSettings Šablony e-mailů a SMS (HTML/rich-text)
NotificationLog Deduplication log odeslaných notifikací
ActivityLog Auditní log všech akcí
OtpCode Jednorázové kódy pro přihlášení klientů
SystemSettings Globální nastavení: odesílatel, testovací režim
PaymentSettings Storno lhůty, splatnost, min. hodiny před termínem
Invoice Faktury
DemoUser Demo účty pro přepínání rolí

Vztahy mezi entitami

Client ──────────────── Booking ─────── CalendarEvent
  │                        │                  │
  ├── ClientCredit          │              Therapist
  │     └── CreditTransaction              Room
  │                         │
  ├── ClientPackage ── ServicePackage
  │
  └── ClientCategory

CalendarEvent ──── PaymentLog
                       │
                   CreditTransaction

Poznámka: Base44 NoSQL databáze nepotvrzuje referenční integritu — vztahy jsou udržovány pouze na aplikační úrovni pomocí ID referencí.