| 11 | | - Системот за корисници и авторизација е изграден врз табелата `User`, која се специјализира во три основни подтипови преку табелите `Client`, `Owner` и `Staff`. |
| 12 | | - Табелата `Staff_Type` (на пример: фризер, козметичар) го дефинира профилот на вработените, додека `Staff_Roles` овозможува еден вработен да има повеќе улоги во системот. |
| 13 | | - `Staff_Availability` и `Blocked_Time` се клучни за менаџирање на работниот календар, каде се чуваат информации за тоа кога вработениот е слободен за нови клиенти, а кога е на пауза или отсутен. |
| | 11 | * Системот за корисници е изграден врз табелата `User`, со специјализирани подтипови преку табелите `Client`, `Owner` и `Staff`. |
| 19 | | - Финансискиот слој и лојалноста се опфатени преку: |
| 20 | | - `Invoice` и `Invoice_Item`: каде се генерираат финалните сметки по завршување на терминот, вклучувајќи ја и примената на `Promo_Code` за попусти. |
| 21 | | - `Inventory` и `Product_Usage`: овие табели овозможуваат следење на потрошните материјали (продукти) кои се трошат при извршување на одредена услуга во рамките на еден термин. |
| 22 | | - `Review`: им овозможува на клиентите да го оценат искуството од терминот, што директно влијае на рејтингот на салонот и вработените. |
| 23 | | - `Loyalty_Points` и `Loyalty_Transaction`: систем за наградување каде клиентите собираат поени со секое плаќање, кои подоцна можат да ги заменат за попусти. |
| | 18 | * Табелата `Staff_Service` ги поврзува вработените со услугите кои тие ги нудат. |
| | 19 | * `Service_Price_History` ги чува сите историски промени на цените, овозможувајќи точна пресметка и анализа на приходите за различни временски периоди. |
| 25 | | - Во табелите `Appointment_Service` и `Product_Usage` постојат специфични денормализации со цел побрзо пребарување. На пример, во `Appointment_Service` се чува `price_at_time`, бидејќи цената на услугата може да се промени во иднина, но оригиналниот износ на кој е направено закажувањето мора да остане непроменет за потребите на фактурирањето. |
| | 21 | * Процесот на закажување е централизиран во табелата `Appointment`, каде се поврзуваат клиентите, вработените и локациите. |
| | 22 | |
| | 23 | * Статусот на терминот е дефиниран преку `appointment_status_enum`. |
| | 24 | * За потребите на пребарување на слободни термини, табелата `Staff_Time_Slot` овозможува прецизно планирање врз основа на времетраењето на услугите и расположливоста на вработените. |
| | 25 | |
| | 26 | * Финансискиот слој и лојалноста се опфатени преку: |
| | 27 | |
| | 28 | * `Invoice`, каде се генерира финалната сметка за терминот, вклучувајќи ја и примената на `Promo_Code`. |
| | 29 | * `Inventory` и `Appointment_Product`, кои овозможуваат следење на продуктите и потрошните материјали употребени за време на терминот, како и управување со залихите. |
| | 30 | * `Review`, која им овозможува на клиентите да го оценат искуството и квалитетот на услугата. |
| | 31 | * `Loyalty_Transaction`, која претставува систем за следење на движењето на поените кај клиентите, без разлика дали тие се заработени или искористени. |
| | 32 | |
| | 33 | * Во табелите `Appointment_Service` и `Appointment_Product` постои контролирана денормализација со цел зачувување на историски точни податоци за фактурирање. Во нив се чуваат цените и количините кои важеле во моментот на креирање на терминот, бидејќи оригиналните вредности мора да останат непроменети дури и ако цените на услугите или продуктите се изменат во иднина. |