= Релационен модел == ЕР Дијаграм [[Image(BeautyBook.jpg, 1400px)]] == Дополнителен Опис * Базата на податоци е поделена на неколку логички слоеви кои овозможуваат целосно управување со еден салон или мрежа од салони. Основниот слој го сочинуваат табелите `Company`, `Company_Location` и `Company_Category`. Преку `Business_Hours` се дефинира работното време за секоја локација посебно. * Системот за корисници е изграден врз табелата `User`, со специјализирани подтипови преку табелите `Client`, `Owner` и `Staff`. * Табелата `Staff_Type` го дефинира профилот на вработените (на пример: фризер, козметичар), користејќи го енум типот `staff_role_type_enum`. * `Staff_Availability` и `Blocked_Time` се клучни за менаџирање на работниот календар, каде се чуваат периодите кога вработениот е достапен за закажување, како и периодите кога е отсутен или недостапен. * Делот за услуги е дефиниран преку `Service` и `Service_Category`. * Табелата `Staff_Service` ги поврзува вработените со услугите кои тие ги нудат. * `Service_Price_History` ги чува сите историски промени на цените, овозможувајќи точна пресметка и анализа на приходите за различни временски периоди. * Процесот на закажување е централизиран во табелата `Appointment`, каде се поврзуваат клиентите, вработените и локациите. * Статусот на терминот е дефиниран преку `appointment_status_enum`. * За потребите на пребарување на слободни термини, табелата `Staff_Time_Slot` овозможува прецизно планирање врз основа на времетраењето на услугите и расположливоста на вработените. * Финансискиот слој и лојалноста се опфатени преку: * `Invoice`, каде се генерира финалната сметка за терминот, вклучувајќи ја и примената на `Promo_Code`. * `Inventory` и `Appointment_Product`, кои овозможуваат следење на продуктите и потрошните материјали употребени за време на терминот, како и управување со залихите. * `Review`, која им овозможува на клиентите да го оценат искуството и квалитетот на услугата. * `Loyalty_Transaction`, која претставува систем за следење на движењето на поените кај клиентите, без разлика дали тие се заработени или искористени. * Во табелите `Appointment_Service` и `Appointment_Product` постои контролирана денормализација со цел зачувување на историски точни податоци за фактурирање. Во нив се чуваат цените и количините кои важеле во моментот на креирање на терминот, бидејќи оригиналните вредности мора да останат непроменети дури и ако цените на услугите или продуктите се изменат во иднина.