Informační systém pro rezervaci pokojů hotelu SPORT

Podobné dokumenty
VŠB Technická univerzita Ostrava Fakulta elektrotechniky a informatiky BAKALÁŘSKÁ PRÁCE Radka Bystroňová

Informační systém pro rezervaci pokojů hotelu SPORT

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA

Databázové a informační systémy Informační systém prodejny nábytku. Jakub Kamrla, KAM087

Informační systém webhostingu

Informační systém pro nemocnici

Elektronická zdravotní karta

INFORMAČNÍ SYSTÉM PRODEJ LÍSTKŮ DO DIVADLA

Analýza IS autoservisu:

Hotelový Rezervační Systém HRS

1.1. Základní informace o aplikacích pro pacienta

BSAH: Strana 1 (celkem 42)

Global Payments Europe, s.r.o. obchodní oddělení: V Olšinách 80/626, Praha 10 fax:

Centrální autentizační webový informační systém

Vlastní tisk dokladu je proveden prostřednictvím tisku z náhledu, nebo přímo přes tlačítko tisk.

POKYNY K REGISTRACI PROFILU ZADAVATELE

MƏj úĭet Uživatelský manuál Verze 1.01/2010

Sázková kancelář Z pekla štěstí

8.2 Používání a tvorba databází

Registrace a aktivace uživatelského profilu k přístupu do systému erecept pro pacienta

Hotelový program. Grafické štafle-základní a rozšířené rozlišení:

Elektronický portál VAS UŽIVATELSKÁ PŘÍRUČKA

Specifikace požadavků. POHODA Web Interface. Verze 1.0. Datum: Autor: Ondřej Šrámek

Výtisk č.: Počet listů 12. Přílohy: 0 ÚZIS ČR. Příručka pro aktivaci účtu

Systém pro online rozhovory

HOTELOVÉ SYSTÉMY. ALTO PRAHA & Digital Action Hotelové systémy 1

České vysoké učení technické, Fakulta elektrotechnická Úvodní studie semestrálního projektu z X36SIN

Modul Kontakt s klientem SSP. OKcentrum. Uživatelská příručka. Poskytování součinnosti ÚP ČR

Rezervační systém Tvorba WWW stránek

INFORMATIKA pro LÁZEŇSTVÍ. Ing. Petr Janík

MANUÁL PRO UŽIVATELE WEBU ADRESÁŘ DESIGNÉRŮ

Nastavení provozního prostředí webového prohlížeče pro aplikaci

Manuál PVU dodavatel

PTÁČEK - velkoobchod. eshop. ZÁKAZNICKÝ pracovní postup

Analýza Redakční systém blogu (ADA274, BYS037, RAB020, SIV021)

Jednorázová hesla pro zvýšení bezpečnosti vzdáleného přístupu mobilních uživatelů

HOTELOVÉ SYSTÉMY. ALTO PRAHA & Digital Action Hotelové systémy 1

Manuál PVU dodavatel Platnost pro elektronický nástroj X-EN verze 3 a novější

SD Quick Book Rezervační systém MANUÁL Určeno pro přístupová práva RECEPČNÍ

Uživatelská příručka

Registr 200x. Registr smluv 200x. Příručka uživatele. Stanislav Matz Tel w-stránky:

1. Administrace služby Bezpečný Internet přes webovou aplikaci WebCare GTS

ZADÁVACÍ DOKUMENTACE Comenis 2.0

PŘHLAŠOVÁNÍ POUZE NA ZÁVODY S A M C

HOTEL HOTELOVÉ SYSTÉMY. Dokumentace změn v nastavení programu v souvislosti se změnou sazby DPH z 5% na 9% k

IS Autopůjčovna VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA INFORMAČNÍ SYSTÉMY A DATOVÉ SKLADY. (semestrální projekt) ZS

Manuál PVU dodavatel Platnost pro elektronický nástroj X-EN verze 3 a novější

Kontrolní hlášení DPH (CZ) od verze Klient 5.12.a

Obchodní podmínky. 1. Vymezení pojmů

Softwarové inženýrství

Nemocnice. Prvotní analýza a plán projektu

Use Case Model - Complete Report Grouped by Item Kind, Full Descriptions

Společnost MEFISTO SOFTWARE, a.s. uvádí na trh nový produkt Mefisto CAMPUS.

Internetová filmová databáze IFDB

HOTEL TIME, a.s. Manuál pro vyúčtování a check-out rezervace

Elektronická evidence tržeb (EET) v programu HARMONIK stav k

Návod k instalaci S O L U T I O N S

Pracovní výkazy. návod k použití. Internetová aplikace Pracovní výkazy slouží k zadávání pracovních výkazů od zaměstnanců a externích pracovníků.

Výtisk č.: Počet listů 19. Přílohy: 0 ÚZIS ČR. Role žadatel - postup

Zakládání poukázek. Uživatelská př ír učka

HOTEL TIME, a.s. Reporting v systému HotelTime

Artlingua Translation API

Zabezpečení proti SQL injection

NÁVOD K INSTALACI SOLUTIONS

Elektronická evidence tržeb (EET) v programu HARMONIK

Integrovaný modul DeCe SKLAD, verze 2014 DeCe COMPUTERS s.r.o. Děčín, ledn I. Obsah příručky

mbank.cz mtransfer Okamžitá notifikace o mtransferu Dokumentace pro externího partnera

Univerzální rezervační systém. Uživatelská příručka

Pravidla používání webového rezervačního systému bezpečnostních školení Letiště Praha, a. s. - firma

Informační systém ozdravných pobytů zdravotní pojišťovny

Uživatelský manuál

Příloha č. 1 Verze IS esyco business

REGISTRACE UŽIVATELSKÉHO ÚČTU NOVÉHO STUDENTA V CRO

Inspirace pro seminární práci předmětu Techniky a CASE nástroje vývoje IS

Provozní dokumentace. Seznam orgánů veřejné moci. Přihlášení do Agendového informačního systému Registru práv a povinností

NAHLAŠOVÁNÍ UBYTOVANÝCH CIZINCŮ PŘES PORTÁL UBYPORT

ZADÁVÁNÍ DAT DO SYSTÉMU PRO SPRÁVU MAJETKU

Uživatelská příručka SBOX

IS Restaurace. Semestrální práce. Tomáš Rumíšek V Brně dne Peter Ševčík

RDS Rapid Data Systém

ADS DOCHÁZKOVÝ SOFTWARE

Administrace služby IP komplet premium

On-line Broker MANUÁL

Vzorová úloha 1: Prokažte znalosti aplikace Microsoft Access na zvolené ukázkové databázi.

Administrace služby IP komplet premium

Česká pošta - podání on-line

Uživatelská dokumentace

Systém DV. Informační systém na podporu vzdělávacích aktivit a plánování osobního růstu zaměstnanců Ing.

UŽIVATELSKÁ PŘÍRUČKA PRO INTERNETOVÉ BANKOVNICTVÍ PPF banky a.s.

Jazz pro Účetní (export) Příručka uživatele

Personální evidence zaměstnanců

Úvod do databázových systémů

Administrační systém ústředen MD-110

Hromadné platby - inkaso

IS pro firmu vyrábějící potisky triček

Uživatelský manuál.

Podrobné popisy služby a detailní postupy naleznete v uživatelské příručce MojeBanka (dostupné na a v nápovědě.

Databázové systémy. Doc.Ing.Miloš Koch,CSc.

Výpisy Výsledek zpracování

Transkript:

VŠB Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra informatiky Informační systém pro rezervaci pokojů hotelu SPORT Analýza a návrh informačního systému Příloha bakalářské práce 2006 Radka Bystroňová

Obsah 1. Vývojové prostředí 4 2. Specifikace požadavků 5 2.1 K čemu bude IS sloužit... 5 2.2 Kdo s ním bude pracovat... 5 2.3 Jakým způsobem bude IS fungovat... 5 2.4 Jaké budou jeho základní funkce... 5 2.5 Jaké budou vstupy... 5 2.6 Jaké budou výstupy... 6 3. Datová analýza 8 3.1 E-R diagram... 8 3.2 Lineární zápis... 9 3.3 Popis vztahů... 9 3.4 Datový slovník... 11 4. Funkční analýza 18 4.1 Diagramy datových toků... 18 4.1.1 DFD - 0. úroveň... 18 4.1.2 DFD - 1. úroveň... 19 4.1.3 DFD - 2. úroveň... 20 4.1.4 DFD - 3. úroveň... 21 4.1.5 DFD - 4. úroveň... 22 4.1.6 DFD 5. úroveň... 23 4.1.7 DFD 6. úroveň... 23 4.2 Minispecifikace... 24 1.1 Nová rezervace... 24 1.2 Výběr hosta... 24 1.3 Výběr volného pokoje... 25 1.4 Zrušení rezervace... 25 1.5 Přehled aktivních rezervací... 25 1.6 Přehled archivovaných rezervací... 26 2.1 Ubytování... 26 2.2 Výběr hosta... 27 2.3 Výběr volného pokoje... 28 2.4 Výběr rezervace... 28 2.5 Výběr stravy... 28 2.6 Výběr příplatků a slev... 28 2.7 Výběr způsobu platby... 29 2.8 Přehled aktivních ubytování... 29 2.9 Přehled archivovaných ubytování... 29 2.10 Vystavení účtu... 30 1

2.11 Výpočet celkové ceny... 30 2.12 Odstěhování... 31 3.1 Vytvoření nového uživatele... 31 3.2 Změna dat uživatele... 32 3.3 Přehled uživatelů... 32 3.4 Detail uživatele... 33 3.5 Přihlášení uživatele... 33 3.6 Odhlášení uživatele... 34 4.1 Nový host... 34 4.2 Změna dat hosta... 35 4.3 Detail hosta... 35 4.4 Přehled hostů... 36 4.5 Změna dat firmy... 36 4.6 Nová firma... 36 4.7 Přehled firem... 37 4.8 Detail firmy... 37 5.1 Nový pokoj... 37 5.2 Změna dat pokoje... 38 5.3 Detail pokoje... 38 5.4 Přehled pokojů... 38 5.5 Nová strava... 39 5.6 Změna dat stravy... 39 5.7 Detail stravy... 39 5.8 Přehled stravy... 40 5.9 Nový způsob platby... 40 5.10 Změna dat způsobu platby... 40 5.11 Detail způsobu platby... 41 5.12 Přehled způsobů plateb... 41 5.13 Nový příplatek nebo sleva... 41 5.14 Změna dat příplatku nebo slevy... 41 5.15 Detail příplatku nebo slevy... 42 5.16 Přehled příplatků nebo slev... 42 6.1 Přehled vystavených účtů... 42 6.2 Přehled tržeb... 43 5. Use Case diagramy 44 5.1 Správa systému... 44 5.2 Správa pokojů... 44 5.3 Správa ubytování... 45 5.4 Statistiky... 46 5.5 Správa financí... 46 5.6 Správa firem a hostů... 47 5.7 Správa příplatků a slev... 47 5.8 Správa stravy... 48 5.9 Správa způsobů plateb... 48 6. Aktivitní diagramy 49 2

6.1 Ubytování hosta na pokoj... 49 6.2 Rezervace pokoje pro hosta... 50 6.3 Vystavení účtu a platba... 51 7. Návrh struktury aplikace 52 8. Návrh vzhledu výstupní sestavy 53 8.1 Příklad hotelového účtu... 53 9. Návrh vzhledu obrazovky 54 9.1 Úvodní stránka... 54 9.2 Úvodní stránka po přihlášení... 54 9.3 Formulář pro zadání nové firmy... 55 9.4 Formulář pro zadání nového hosta... 55 9.5 Změna hesla... 56 9.6 Formulář pro zadání nového uživatele... 56 10. Testovací provoz systému 59 3

1. Vývojové prostředí Z principu fungování internetové technologie WWW stránek je zřejmé, že IS hotelu Sport bude pracovat v architektuře Client-Server. Server je zde chápán, jako počítač či skupina počítačů, na kterých běží celý systém a provádějí se zde databázové a funkční operace. Pro potřeby provozu tohoto IS je možné použít jakýkoliv HTTP server splňující níže uvedené požadavky. Klientem je pak počítač, který se serverem komunikuje prostřednictvím internetu či intranetu a jediným jeho úkolem je komunikace s uživatelem pomocí klientského software (internetového prohlížeče). Pro implementaci a vývoj celé aplikace jsem zvolila platformu Microsoft.NET 2.0, konkrétně v prostředí pro tvorbu webových aplikací ASP.NET 2.0. Platforma Microsoft.NET Framework je nová technologie od Microsoftu pro vývoj aplikací, jak pro desktopové či mobilní zařízení, tak i pro web. Mimo své technické možnosti dokáže platforma také nabídnou širokou škálu programovacích jazyků: C# C++.NET VB.NET J# Tato aplikace byla implementována konkrétně v programovacím jazyce C#. Jako vývojové prostředí jsem zvolila Microsoft Visual Studio 2005, což je komplexní vývojové prostředí aplikace obsahující nejen výkonný editor zdrojových kódů, ale také nabízející rozšířené funkce, jako je ladění, krokování, správa projektů, atd. Dalším prvkem určujícím aplikační prostředí systému je SŘBD. Vazba systému na tuto část by měla být co nejmenší, aby byla zaručena co největší přenositelnost výsledného IS. Z tohoto důvodu zahrnuje návrh i implementace tzv. SQL layer. Jde o množinu tříd, ke kterým se při implementaci přistupuje jednotně, ale každá z nich provádí požadované funkce odlišně, v závislosti na použitém SŘBD. 4

2. Specifikace požadavků K čemu bude IS sloužit Kdo s ním bude pracovat Jakým způsobem bude IS fungovat Jaké budou jeho základní funkce Jaké budou vstupy Jaké budou výstupy 2.1 K čemu bude IS sloužit IS bude sloužit k evidenci rezervací, ubytování hostů pro hotel. K vytváření účtů za ubytování, správě uživatelů, přehledu pokojů a adresářů hostů a firem. 2.2 Kdo s ním bude pracovat Recepční Provozní Administrátor 2.3 Jakým způsobem bude IS fungovat Systém bude postaven na principech Internetové/Intranetové aplikace, kde se uživatel (recepční, administrátor, vedoucí hotelu) přihlásí prostřednictvím WWW prohlížeče a poté pracuje v systému. 2.4 Jaké budou jeho základní funkce Ubytování hosta Rezervace ubytování pro hosta či firmu Přehled a správa rezervací ubytování (včetně historie) Přehled a správa ubytovaných hostů (včetně historie) Správa informací o firmách, které vystupují jako zákazníci hotelu Správa informací o hostech (včetně cizinců) Správa financí (účty, vystavení účtu, platby, atd.) Správa pokojů (uvolnění pokoje, vytvoření nového pokoje, editace pokoje) Výstupní sestavy (přehled tržeb za zvolené období, přehled pokojů, stravy, příplatků, slev a způsobů plateb) Zabezpečení práce v systému (autorizace, autentifikace) Správa uživatelů 2.5 Jaké budou vstupy Následující seznam nabízí přehled dat či informací, které do systému vstupují z jeho okolí. Informace o pokojích - číslo pokoje, kapacita, druh pokoje, zařízení pokoje, cena pokoje, poznámky 5

Informace o hostech - titul, jméno, příjmení, číslo pasu nebo občanského průkazu, adresa, stát, telefon, email, datum narození, pouze cizinci (místo narození), poznámky Informace o firmách - název, adresa, IČO, DIČ, telefon, email, www, číslo bankovního účtu, poznámky Informace o rezervacích - datum příjezdu, datum odjezdu, číslo pokoje, informace o hostu nebo o firmě, poznámky Informace o uživatelích - přihlašovací jméno, jméno, příjmení, heslo, datum narození, adresa, telefon, email, poznámky Informace o ubytování - datum příjezdu, datum odjezdu, číslo pokoje, informace o hostu nebo firmě, cena pokoje, slevy/příplatky, strava, pouze cizinci (účel pobytu), poznámky Informace o stravě - název stravy, druh stravy, cena stravy, počet stravy Informace o příplatku nebo slevě - název příplatku nebo slevy, popis příplatku nebo slevy, cena příplatku nebo slevy, poznámky Informace o způsobu platby - název způsobu platby, popis způsobu platby, poznámky Informace o hotelu - název ubytovacího zařízení, IČO, DIČ, adresa, poznámky 2.6 Jaké budou výstupy Následující seznam opět shrnuje informace a data, která nějakým způsobem ze systému vystupují, a to v nejrůznějších podobách. Účty elektronické či písemné potvrzení o platbě (zahrnuje: číslo účtu, datum vystavení účtu, datum zdanitelného plnění, datum ubytování hosta (od, do), číslo pokoje, informace o hostu nebo firmě, cena pokoje, cena stravy, počet dní, cena slev/příplatků, cena celkem bez DPH, DPH, cena celkem s DPH, způsob úhrady, jméno vystavitele účtu, informace o hotelu) Přehled vystavených účtů stručný přehled všech vystavených účtů (viz účty) Seznamy pokojů stručný přehled všech pokojů v hotelu (zahrnuje: číslo pokoje, kapacita, druh pokoje, vybavení pokoje, cena pokoje, poznámky) Uzávěrky souhrnné informace o finančních pohybech za určité období (zahrnuje: viz přehled tržeb za zvolené období, viz přehled ubytovaných hostů za určité období, viz přehled vystavených účtů za určité období) Přehled rezervací stručný přehled všech rezervací (zahrnuje: datum příjezdu, datum odjezdu, číslo pokoje, informace o hostu nebo firmě, stav, poznámky) Přehled ubytovaných hostů přehled všech aktuálních hostů (zahrnuje: datum příjezdu, datum odjezdu, číslo pokoje, informace o hostu nebo firmě, cena pokoje, slevy/příplatky, strava, zaplaceno, poznámky) Přehled volných pokojů v daném období seznam všech pokojů, které nejsou ve zvoleném období obsazené či rezervované (zahrnuje: číslo pokoje, kapacita pokoje, druh pokoje, zařízení pokoje, cena pokoje, poznámky) Seznamy stravy stručný přehled nabízené stravy v hotelu (zahrnuje: název stravy, druh stravy, cena stravy, popis stravy, poznámky) Seznam příplatků nebo slev stručný přehled možných příplatků nebo slev v hotelu (zahrnuje: název příplatku nebo slevy, popis příplatku nebo slevy, cena příplatku nebo slevy, poznámky) Seznam způsobů plateb stručný přehled možných způsobů plateb v hotelu (zahrnuje: název způsobu platby, popis způsobu platby, poznámky) Přehled tržeb za zvolené období stručný přehled tržeb z plateb uskutečněných v daném období (zahrnuje: hotově celkem, kartou celkem, faktura celkem, ostatní platby celkem) 6

Archív ubytovaných hostů přehled dříve ubytovaných hostů (zahrnuje: viz přehled ubytovaných hostů) Archív rezervací přehled starých a propadlých rezervací (zahrnuje: viz přehled rezervací) 7

3. Datová analýza Skládá se z: E-R diagram lineární zápis popis a specifikace atributů datový slovník (entity, relace, atributy, atd.) 3.1 E-R diagram Šedě zvýrazněné elementy nejsou předmětem vývoje tohoto IS a jsou již nabízeny platformou ASP.NET 2.0. 8

3.2 Lineární zápis Accommodation (accommodation_id, a_from, a_to, time_of_accommodation, note, room_number, login_id, guest_id, bill_id, deactive) aspnet_applications (ApplicationName, LoweredApplicationName, ApplicationId, Description) aspnet_membership (ApplicationId, UserId, Password, PasswordFormat, PasswordSalt, MobilePIN, Email, LoweredEmail, PasswordQuestion, PasswordAnswer, IsApproved, IsLockedOut, CreateDate, LastLoginDate, LastPasswordChangedDate, LastLockoutDate, FailedPasswordAttemptCount, FailedPasswordAttemptWindowStart, FailedPasswordAnswerAttemptCount, FailedPasswordAnswerAttemptWindowStart, Comment, FirstName, Surname, Street, StreetNumber, City, DateOfBirdth, Phone) aspnet_roles (ApplicationId, RoleId, RoleName, LoweredRoleName, Description) aspnet_users (ApplicationId, UserId, UserName, LoweredUserName, MobileAlias, IsAnonymous, LastActivityDate) aspnet_usersinroles (UserId, RoleId) Bills (bill_id, total_price_with_dph, payment_method, time_of_payment, number_for_accounting, login_id ) Companies (ico, name, street, street_number, city, state, dic, phone, fax, email, www, bank_account, note) Extras (extra_id, name, price_without_dph, dph, note ) Foods (food_id, type, price_without_dph, dph, note ) Guests (guest_id, first_name, surname, street, street_number, city, state, place_of_birth, identity_card, date_of_birth, phone, fax, email, www, note, ico ) List_of_foods (list_id, food_id, bill_id, count ) List_of_extras (list_id, extra_id, bill_id ) Payment_methods (payment_method_id, payment_method) Reservations (reservation_id, r_from, r_to, time_of_reservation, note, login_id, room_number, guest_id, deactive, storno ) Rooms (room_number, count_of_bed, price_without_dph, dph, equipment, note) Legenda: [primární klíč, cizí klíč] 3.3 Popis vztahů User s details (aspnet_membership, aspnet_users) Users of Applications (aspnet_membership, aspnet_applications) Membership and Roles (aspnet_membership, aspnet_userinroles) User s Roles (aspnet_userinroles, aspnet_roles) Roles of Applications (aspnet_applications, aspnet_roles) User s reservation (aspnet_membership, Reservations) User s accommodation (aspnet_membership, Accommodation) Payment of the bill (aspnet_membership, Bills) Payment methods of bill (Payment_methods, Bills) Guest of company (Guests, Companies) Guest s reservation (Guests, Reservations) Guest s accommodation (Guests, Accommodation) Reservation room (Rooms, Reservations) 9

Accommodation room (Rooms, Accommodation) Bill of accommodation (Accommodation, Bills) Vazba M:N Foods of bill (Bills, Foods) Extras of bill (Bills, Extras) Rozložení vazby M:N Food of bill (Bills, List_of_foods) Food assignment (Foods, List_of_foods) Extra of bill (Bills, List_of_extras) Extra assignment (Extras, List_of_extras) 10

3.4 Datový slovník Podrobný popis atributů: Accommodation Název atributu Typ Primární klíč Null Index IO Popis accommodation_id int Y N Y automaticky generovaný klíč id ubytování a_from datetime N N Y dd.mm.rrr hh:mm:ss od a_to datetime N N Y dd.mm.rrr hh:mm:ss do time_of_accommodation datetime N N N dd.mm.rrr hh:mm:ss čas ubytování note ntext N Y N poznámka room_number nvarchar(5) N N Y cizí klíč z tabulky Rooms číslo pokoje login_id uniqueidentifier N N Y cizí klíč z tabulky aspnet_membership UserId, který vytvořil ubytování guest_id int N N Y cizí klíč z tabulky Guests id hosta bill_id int N Y Y cizí klíč z tabulky Bills id účtu deactive bit N Y Y stav ubytování (aktivní/neaktivní) aspnet_applications Název atributu Typ Primární klíč Null Index IO Popis ApplicationName nvarchar(256) N N N název aplikace LoweredApplicationName nvarchar(256) N N N název aplikace malým písmem ApplicationId uniqueidentifier Y N Y automaticky generovaný klíč id aplikace Description nvarchar(256) N Y N popis aspnet_membership Název atributu Typ Primární klíč Null Index IO Popis 11

ApplicationId uniqueidentifier N N Y cizí klíč z tabulky aspnet_applications id aplikace UserId uniqueidentifier Y N Y automaticky generovaný klíč id uživatele Password nvarchar(128) N N N heslo uživatele PasswordFormat int N N N formát hesla uživatele PasswordSalt nvarchar(128) N N N MobilePIN nvarchar(16) N Y N mobilní PIN Email nvarchar(256) N Y Y email uživatele LoweredEmail nvarchar(256) N Y Y email uživatele malým písmem PasswordQuestion nvarchar(256) N Y N bezpečnostní otázka PasswordAnswer nvarchar(128) N Y N bezpečnostní odpověď IsApproved bit N N Y je schválený IsLockedOut bit N N Y je blokovaný CreateDate datetime N N Y datum vytvoření uživatele LastLoginDate datetime N N Y datum posledního přihlášení LastPasswordChangedDate datetime N N Y datum poslední změny hesla LastLockoutDate datetime N N Y datum posledního blokování FailedPasswordAttemptCou nt int N N N počet neúspěšných pokusů zadání hesla FailedPasswordAttemptWin dowstart datetime N N N FailedPasswordAnswerAtte mptcount int N N N datum zadaní posledního neúspěšného hesla počet neúspěšných pokusů zadání odpovědi FailedPasswordAnswerAtte mptwindowstart datetime N N N Comment ntext N Y N poznámka FirstName nvarchar(30) N Y N jméno Surname nvarchar(50) N Y Y příjmení Street nvarchar(50) N Y N ulice datum zadaní poslední neúspěšné odpovědi 12

StreetNumber nvarchar(10) N Y N číslo popisné City nvarchar(50) N Y Y město DateOfBirdth datetime N Y N datum narození Phone nvarchar(13) N Y N telefon aspnet_roles Název atributu Typ Primární klíč Null Index IO Popis cizí klíč z tabulky ApplicationId uniqueidentifier N N Y aspnet_applications id aplikace RoleId uniqueidentifier Y N Y automaticky generovaný klíč id role RoleName nvarchar(256) N N Y název role LoweredRoleName nvarchar(256) N N N název role malým písmem Description nvarchar(256) N Y N popis aspnet_users Název atributu Typ Primární klíč Null Index IO Popis cizí klíč z tabulky ApplicationId uniqueidentifier Y N Y aspnet_applications id aplikace UserId uniqueidentifier Y N Y cizí klíč z tabulky aspnet_membership id uživatele UserName nvarchar(256) N N Y uživatelské jméno LoweredUserName nvarchar(256) N N N uživatelské jméno malým písmem MobileAlias nvarchar(16) N Y N mobilní alias IsAnonymous bit N N N je anonymní LastActivityDate datetime N N N datum poslední aktivity aspnet_usersinroles Název atributu Typ Primární klíč Null Index IO Popis 13

UserId uniqueidentifier Y N Y RoleId uniqueidentifier Y N Y cizí klíč z tabulky aspnet_membership cizí klíč z tabulky aspnet_roles id uživatele id role Bills Název atributu Typ Primární klíč Null Index IO Popis bill_id int Y N Y automaticky generovaný klíč id účtu total_price_with_dph decimal(18,2) N Y N cena celkem payment_method nvarchar(1) N N N cizí klíč z tabulky Payment_methods způsob placení time_of_payment datetime N Y N dd.mm.rrr hh:mm:ss čas zaplacení number_for_accounting nvarchar(11) N Y Y rok měsíc číslo např.2006311 číslo účtu login_id uniqueidentifier N Y Y cizí klíč z tabulky aspnet_membership UserId, který vytvořil učet pro zaplacení Companies Název atributu Typ Primární klíč Null Index IO Popis ico nvarchar(10) Y N Y IČO name nvarchar(50) N N Y název firmy street nvarchar(50) N N N ulice street_number nvarchar(10) N N N číslo popisné city nvarchar(50) N N N město state nvarchar(3) N N Y stát dic nvarchar(12) N Y N DIČ phone nvarchar(13) N Y N telefon fax nvarchar(13) N Y N fax email nvarchar(50) N Y N musí obsahovat znak @ email www nvarchar(50) N Y N www 14

bank_account nvarchar(50) N Y N číslo účtu/číslo banky bankovní účet note ntext N Y N poznámka Extras Název atributu Typ Primární klíč Null Index IO Popis extra_id int Y N Y automaticky generovaný klíč id příplatku nebo slevy name nvarchar(50) N N Y název příplatku nebo slevy price_without_dph decimal(18,2) N N N cena bez DPH dph int N N N DPH note ntext N Y N poznámka Foods Název atributu Typ Primární klíč Null Index IO Popis foot_id int Y N Y automaticky generovaný klíč id stravy type nvarchar(50) N N Y typ stravy price_without_dph decimal(18,2) N N N cena bez DPH dph int N N N DPH note ntext N Y N poznámka Guests Název atributu Typ Primární klíč Null Index IO Popis guest_id int Y N Y automaticky generovaný klíč id hosta first_name nvarchar(30) N N N jméno surname nvarchar(50) N N Y příjmení street nvarchar(50) N N N ulice street_number nvarchar(10) N N N číslo popisné city nvarchar(50) N N N město 15

state nvarchar(3) N N Y stát place_of_birth nvarchar(50) N Y N místo narození identity_card nvarchar(15) N N N číslo op nebo pasu date_of_birth datetime N N N dd.mm.rrr hh:mm:ss datum narození phone nvarchar(13) N Y N telefon fax nvarchar(13) N Y N fax email nvarchar(50) N Y N musí obsahovat znak @ email www nvarchar(50) N Y N www note ntext N Y N poznámka ico nvarchar(10) N Y N cizí klíč z tabulky Companies IČO List_of_extras Název atributu Typ Primární klíč Null Index IO Popis list_id int Y N Y automaticky generovaný klíč id listu příplatku a slev extra_id int N N Y cizí klíč z tabulky Extras id příplatku nebo slevy bill_id int N N Y cizí klíč z tabulky Bills id účtu List_of_foods Název atributu Typ Primární klíč Null Index IO Popis list_id int Y N Y automaticky generovaný klíč id listu stravy food_id int N N Y cizí klíč z tabulky Foods id stravy bill_id int N N Y cizí klíč z tabulky Bills id účtu count int N N N počet Payment_methods Název atributu Typ Primární klíč Null Index IO Popis payment_method_id nvarchar(1) Y N Y id způsobu platby 16

payment_method nvarchar(50) N N Y název způsobu platby Reservations Název atributu Typ Primární klíč Null Index IO Popis reservation_id int Y N Y automaticky generovaný klíč id rezervace r_from datetime N N Y dd.mm.rrr hh:mm:ss od r_to datetime N N Y dd.mm.rrr hh:mm:ss do time_of_reservation datetime N N N dd.mm.rrr hh:mm:ss čas rezervace note ntext N Y N poznámka login_id uniqueidentifier N Y Y cizí klíč z tabulky aspnet_membership UserId, který vytvořil rezervaci room_number nvarchar(5) N N Y cizí klíč z tabulky Rooms číslo pokoje guest_id int N N Y cizí klíč z tabulky Guests id hosta deactive bit N Y N je-li rezervace aktivní storno bit N Y N je-li rezervace stornovaná Rooms Název atributu Typ Primární klíč Null Index IO Popis room_number nvarchar(5) Y N Y číslo pokoje count_of_bed int N N N počet lůžek price_without_dph decimal(18,2) N N N cena bez DPH dph int N N N DPH equipment ntext N N N vybavení pokoje note ntext N Y N poznámka 17

4. Funkční analýza Skládá se z: diagramu datových toků (DFD) minispecifikace diagramů aktivit datového slovníku (datové toky, atd.) 4.1 Diagramy datových toků 4.1.1 DFD - 0. úroveň Administrátor Recepční Provozní 1 Rezervace Recepční 3 Správa systému Administrátor 2 Ubytování 4 Správa hostů Vedoucí 5 Správa číselníku 6 Správa financí 18

4.1.2 DFD - 1. úroveň 19

4.1.3 DFD - 2. úroveň paměť pro přihlášené uživatele 2.2 Výběr hosta Reservations 2.4 Výběr rezervace 2 2.9 Přehled archivovaných ubytování 2.1 Ubytování 2.8 Přehled aktivních ubytování 2.12 Odstěhování 2.7 Výběr způsobu platby 2.5 Výběr stravy Payment_methods Guests 2.3 Výběr pokoje Accomodation 2.6 Výběr příplatků nebo slev List_of_extras List_of_foods Extras Rooms Bills Foods 2.11 Výpočet ceny k placení 2.10 Vystavení účtu Companies Recepční / Provozní / Administrátor 20

4.1.4 DFD - 3. úroveň 3.1 Vytvoření nového uživatele 3 3.2 Změna dat uživatele Administrátor Users 3.3 Přehled uživatelů 3.4 Detail uživatele 3.5 Přihlášení uživatele paměť pro přihlášené uživatele 3.6 Odhlášení uživatele Recepční / Provozní / Administrátor 21

4.1.5 DFD - 4. úroveň Recepční / Provozní / Administrátor 4.1 Nový host 4 4.2 Změna dat hosta 4.4 Přehled hostů Guests 4.3 Detail hosta 4.6 Nová firma 4.5 Změna dat firmy Companies 4.8 Detail firmy 4.7 Přehled firem 22

4.1.6 DFD 5. úroveň Provozní / Administrátor 5.2 Změna dat pokoje 5.4 Přehled pokojů Recepční / Provozní / Administrátor 5.1 Nový pokoj 5.6 Změna dat stravy Rooms 5.3 Detail pokoje 5.11 Detail způsobu platby 5.5 Nová strava Payment methods Foods 5 5.12 Přehled způsobů plateb 5.7 Detail stravy 5.8 Přehled stravy Extras 5.9 Nový způsob platby 5.10 Změna dat způsobu platby 5.15 Detail příplatku nebo slevy 5.13 Nový příplatek nebo sleva Recepční / Provozní / Administrátor 5.16 Přehled příplatků a slev 5.14 Změna dat příplatku nebo slevy Provozní / Administrátor 4.1.7 DFD 6. úroveň 23

4.2 Minispecifikace Číslování minispecifikací odpovídá číslovaní jednotlivých DFD. 1.1 Nová rezervace Proces, který kontroluje správnost zadaných dat při rezervaci a v případě správnosti je zapíše. Guests (guest_id, first_name, surname, street, street_number, city, state, place_of_birth, identity_card, date_of_birth, phone, fax, email, www, note, ico ) Reservations (reservation_id, r_from, r_to, time_of_reservation, note, login_id, room_number, guest_id, deactive, storno ) Rooms (room_number, count_of_bed, price_without_dph, dph, equipment, note) od kdy, do kdy, identifikace hosta, číslo pokoje, poznámky zadání období rezervace JESTLIŽE datum od kdy je menši než datum zadávání rezervace PAK vypiš zprávu, že zadávané datum je špatné a ukonči PROVEĎ proces 1.3 PROVEĎ proces 1.2 JESTLIŽE nebyl vybrán žádný pokoj nebo host PAK vypiš že, nebyl vybrán pokoj nebo host a ukonči VLOŽ (Reservations.reservation_id = automaticky generované číslo, Reservations.r_from = od kdy, Reservations.r_to = do kdy, Reservations.time_of_reservation=aktualní datum a čas vytvoření rezervace, Reservations.note = poznámky, Reservations.login_id = UserId přihlášeného uživatele, Reservations.room_number = číslo vybraného pokoje, Reservations.guest_id = identifikace hosta, Reservations.deactive = false, Reservations.storno = null ) 1.2 Výběr hosta Proces, který zobrazí seznam hostů, a vybraného hosta odešle operaci, která tento proces vyvolala. Guests (guest_id, first_name, surname, street, street_number, city, state, place_of_birth, identity_card, date_of_birth, phone, fax, email, www, note, ico ) identifikace hosta ZOBRAZ všechny hosty v tabulce Guests výběr hosta JESTLIŽE nebyl vybrán žádný host PAK VRAŤ (null) a ukonči VRAŤ (Guests.guest_id = identifikace vybraného hosta) 24

1.3 Výběr volného pokoje Proces, který zobrazí seznam volných pokojů v daném období, a vybraný pokoj odešle operaci, která tento proces vyvolala. Rooms (room_number, count_of_bed, price_without_dph, dph, equipment, note) od kdy, do kdy NAJĎI volné pokoje podle zadaného období ZOBRAZ všechny volné pokoje výběr pokoje JESTLIŽE nebyl vybrán žádný pokoj PAK VRAŤ (null) a ukonči VRAŤ (Rooms.room_number = číslo vybraného pokoje) 1.4 Zrušení rezervace Proces, který provede zrušení vybrané rezervace. Reservations (reservation_id, r_from, r_to, time_of_reservation, note, login_id, room_number, guest_id, deactive, storno ) identifikace rezervace PROVEĎ proces 1.5 výběr rezervace, která se má zrušit JESTLIŽE nebyla vybrána rezervace PAK ukonči u vybrané rezervace PROVEĎ AKTUALIZUJ(Reservations.deactive = true, Reservations.storno = true) 1.5 Přehled aktivních rezervací Proces, který zobrazí seznam všech aktivních rezervací. Reservations (reservation_id, r_from, r_to, time_of_reservation, note, login_id, room_number, guest_id, deactive, storno ) ZOBRAZ všechny rezervace v tabulce Reservations, které jsou aktivní 25

1.6 Přehled archivovaných rezervací Proces, který zobrazí seznam všech rezervací v archívu Reservations (reservation_id, r_from, r_to, time_of_reservation, note, login_id, room_number, guest_id, deactive, storno ) ZOBRAZ všechny rezervace v tabulce Reservations, které nejsou aktivní 2.1 Ubytování Proces, který kontroluje správnost zadaných dat při ubytování a v případě správnosti je zapíše a provede ubytování. Guests (guest_id, first_name, surname, street, street_number, city, state, place_of_birth, identity_card, date_of_birth, phone, fax, email, www, note, ico ) Rooms (room_number, count_of_bed, price_without_dph, dph, equipment, note ) Accommodation (accommodation_id, a_from, a_to, time_of_accommodation, note, room_number, login_id, guest_id, bill_id, deactive) Bills (bill_id, total_price_with_dph, payment_method, time_of_payment, number_for_accounting, login_id ) Extras (extra_id, name, price_without_dph, dph, note ) Foods (food_id, type, price_without_dph, dph, note ) List_of_foods (list_id, food_id, bill_id, count ) List_of_extras (list_id, extra_id, bill_id ) Payment_methods (payment_method_id, payment_method) Reservations (reservation_id, r_from, r_to, time_of_reservation, note, login_id, room_number, guest_id, deactive, storno ) způsob ubytování, identifikace rezervace, od kdy, do kdy, poznámky, identifikace hosta, číslo pokoje, identifikace stravy, množství stravy, identifikace příplatků a slev, identifikace způsobu platby výběr způsobů ubytování JESTLIŽE byl vybrán způsob ubytování s rezervací PROVEĎ proces 2.4 JESTLIŽE nebyla vybrána žádná rezervace PAK vypiš zprávu, že nebyla vybrána rezervace a ukonči PROVEĎ proces 2.5 PROVEĎ proces 2.6 PROVEĎ proces 2.7 JESTLIŽE nebyl vybrán žádný způsob platby PAK vypiš zprávu, že nebyl vybrán způsob platby a ukonči 26

VLOŽ (Accommodation.accommodation_id = automaticky generované číslo, Accommodation.a_from = Reservations.r_from, Accommodation.a_to = Reservations.r_to, Accommodation.time_of_accommodation = aktualni datum a čas vytvoření ubytování, Accommodation.note = poznámky, Accommodation.room_number = Reservations.room_number, Accommodation.login = UserId přihlášeného uživatele, Accommodation.guest_id = Reservations.guest_id, Accommodation.bill_id = číslo účtu, Accommodation.deactive = false, Bills.bill_id = automaticky generované číslo, Bills.payment_method = identifikace způsobu platby) JESTLIŽE byl vybrán příplatek nebo sleva PAK VLOŽ (List_of_extras.list_id = automaticky generované číslo, List_of_extras.extra_id = identifikace příplatku nebo slevy, List_of_extras.bill_id = číslo účtu) JESTLIŽE byla vybrána strava PAK VLOŽ (List_of_foods.list_id = automaticky generované číslo, List_of_foods.food_id = identifikace stravy, List_of_foods.count = množství stravy, List_of_foods.bill_id = číslo účtu) JESTLIŽE byl vybrán způsob ubytování bez rezervace zadání období ubytování JESTLIŽE datum od kdy je menši než datum zadávání ubytování PAK vypiš zprávu, že zadávané datum je špatné a ukonči PROVEĎ proces 2.3 PROVEĎ proces 2.2 JESTLIŽE nebyl vybrán žádný pokoj nebo host PAK vypiš že, nebyl vybrán pokoj nebo host a ukonči PROVEĎ proces 2.5 PROVEĎ proces 2.6 PROVEĎ proces 2.7 JESTLIŽE nebyl vybrán žádný způsob platby PAK vypiš zprávu, že nebyl vybrán způsob platby a ukonči VLOŽ (Accommodation.accommodation_id = automaticky generované číslo, Accommodation.a_from = od kdy, Accommodation.a_to = do kdy, Accommodation.time_of_accommodation = aktualni datum a čas vytvoření ubytování, Accommodation.note = poznámky, Accommodation.room_number = číslo pokoje, Accommodation.login = UserId přihlášeného uživatele, Accommodation.guest_id = identifikace hosta, Accommodation.bill_id = číslo účtu, Accommodation.deactive = false, Bills.bill_id = automaticky generované číslo, Bills.payment_method = identifikace způsobu platby) JESTLIŽE byl vybrán příplatek nebo sleva PAK VLOŽ (List_of_extras.list_id = automaticky generované číslo, List_of_extras.extra_id = identifikace příplatku nebo slevy, List_of_extras.bill_id = číslo účtu) JESTLIŽE byla vybrána strava PAK VLOŽ (List_of_foods.list_id = automaticky generované číslo, List_of_foods.food_id = identifikace stravy, List_of_foods.count = množství stravy, List_of_foods.bill_id = číslo účtu) 2.2 Výběr hosta Stejné jak u procesu 1.2 27

2.3 Výběr volného pokoje Stejné jak u procesu 1.3 2.4 Výběr rezervace Proces, který zobrazí seznam rezervaci k aktuálnímu dni a pošle informace o vybrané rezervaci procesu, který tento proces vyvolal. Reservations (reservation_id, r_from, r_to, time_of_reservation, note, login_id, room_number, guest_id, deactive, storno ) identifikace rezervace ZOBRAZ všechny rezervace v tabulce Reservations, u kterých se položka r_from = aktuální datum výběr rezervace JESTLIŽE nebyla vybrána žádná rezervace PAK VRAŤ (null) a ukonči VRAŤ (Reservations.reservation_id = identifikace vybrané rezervace) 2.5 Výběr stravy Proces, který zobrazí seznam stravy a pošle informace o vybrané stravě a zadaném množství procesu, který tento proces vyvolal. Foods (food_id, type, price_without_dph, dph, note ) identifikace stravy, množství stravy ZOBRAZ všechny druhy stravy v tabulce Foods výběr stravy zadání množství stravy JESTLIŽE nebyla vybrána žádná strava nebo zadáno množství PAK VRAŤ (null, null) a ukonči VRAŤ (Foods.food_id = identifikace vybrané stravy, množství stravy) 2.6 Výběr příplatků a slev Proces, který zobrazí seznam příplatků a slev, a pošle informace o vybraném příplatku nebo slevě procesu, který tento proces vyvolal. Extras (extra_id, name, price_without_dph, dph, note ) 28

identifikace příplatku nebo slevy ZOBRAZ všechny příplatky a slevy v tabulce Extras výběr příplatku nebo slevy JESTLIŽE nebyl vybrán žádný příplatek nebo sleva PAK VRAŤ (null) a ukonči VRAŤ (Extras.extra_id = identifikace vybraného příplatku nebo slevy) 2.7 Výběr způsobu platby Proces, který zobrazí seznam způsobů plateb, a pošle informace o vybraném způsobu platby procesu, který tento proces vyvolal. Payment_methods (payment_method_id, payment_method) identifikace způsobu platby ZOBRAZ všechny příplatky a slevy v tabulce Payment_methods výběr způsobu platby JESTLIŽE nebyl vybrán žádný způsob platby PAK VRAŤ (null) a ukonči VRAŤ (Payment_methods.payment_method_id = identifikace vybraného způsobu platby) 2.8 Přehled aktivních ubytování Proces, který zobrazí seznam všech aktivních ubytování. Accommodation (accommodation_id, a_from, a_to, time_of_accommodation, note, room_number, login_id, guest_id, bill_id, deactive) ZOBRAZ všechny ubytování v tabulce Accommodation, které jsou aktivní 2.9 Přehled archivovaných ubytování Proces, který zobrazí seznam všech ubytování v archívu. Accommodation (accommodation_id, a_from, a_to, time_of_accommodation, note, room_number, login_id, guest_id, bill_id, deactive) ZOBRAZ všechny ubytování v tabulce Accommodation, které nejsou aktivní 29

2.10 Vystavení účtu Proces, který popisuje vystavení účtu. Bills (bill_id, total_price_with_dph, payment_method, time_of_payment, number_for_accounting, login_id ) Guests (guest_id, first_name, surname, street, street_number, city, state, place_of_birth, identity_card, date_of_birth, phone, fax, email, www, note, ico ) Companies (ico, name, street, street_number, city, state, dic, phone, fax, email, www, bank_account, note) Accommodation (accommodation_id, a_from, a_to, time_of_accommodation, note, room_number, login_id, guest_id, bill_id, deactive ) identifikace ubytování PROVEĎ proces 2.8 výběr ubytování, u kterého se má vystavit účet JESTLIŽE host u vybraného pokoje patří do firmy PAK v kolonce host budou údaje o firmě JINAK v kolonce host budou údaje o hostovi PROVEĎ proces 2.11 VYGENERUJ číslo účtu VYGENERUJ účet ZOBRAZ doklad o zaplaceni JESTLIŽE uživatel klikne na Tisk účtu PAK u vybraného ubytování PROVEĎ AKTUALIZUJ (Bills.total_price_with_dph = celková cena k placení s DPH, Bills.time_of_payment = aktuální datum a čas vystavení účtu, Bills.number_for_accounti ng = rok měsíc číslo účtu, Bills.login_id = UserId přihlášeného uživatele) VYTISKNI účet 2.11 Výpočet celkové ceny Proces, který vypočítá celkovou cenu k zaplacení, a pošle celkovou cenu k zaplacení procesu, který tento proces vyvolal. Bills (bill_id, total_price_with_dph, payment_method, time_of_payment, number_for_accounting, login_id ) Rooms (room_number, count_of_bed, price_without_dph, dph, equipment, note ) Accommodation (accommodation_id, a_from, a_to, time_of_accommodation, note, room_number, login_id, guest_id, bill_id, deactive) Extras (extra_id, name, price_without_dph, dph, note ) 30

Foods (food_id, type, price_without_dph, dph, note ) List_of_foods (list_id, food_id, bill_id, count ) List_of_extras (list_id, extra_id, bill_id ) z tabulky Accommodation u vybraného ubytování SPOČÍTEJ počet nocí (x = a_to a_from) VYPOČTI cenu pokoje s DPH za noc (price_without_dph * (dph / 100 + 1)) VYPOČTI cenu pokoje s DPH celkem (cena pokoje s DPH za noc * počet nocí) VYPOČTI cenu stravy s DPH za noc (price_without_dph * (dph / 100 + 1) * count) VYPOČTI cenu stravy s DPH celkem (cena pokoje s DPH za noc * počet nocí) VYPOČTI cenu příplatků nebo slev s DPH za noc (price_without_dph * (dph / 100 + 1)) VYPOČTI cenu příplatků nebo slev s DPH celkem (cena pokoje s DPH za noc * počet nocí) VYPOČTI celkovou cenu k placení s DPH (cena pokoje s DPH celkem + cena stravy s DPH celkem + cena příplatků nebo slev s DPH celkem) VRAŤ (Bills.total_price_with_dph = celková cena k placení s DPH) 2.12 Odstěhování Proces, který popisuje odstěhování. Bills (bill_id, total_price_with_dph, payment_method, time_of_payment, number_for_accounting, login_id ) Accommodation (accommodation_id, a_from, a_to, time_of_accommodation, note, room_number, login_id, guest_id, bill_id, deactive ) identifikace ubytování PROVEĎ proces 2.8 výběr ubytování, u které se má odstěhovat JESTLIŽE bylo vybráno ubytování a bylo zaplaceno PAK u vybraného ubytování PROVEĎ AKTUALIZUJ(Accommodation.deactive = true) 3.1 Vytvoření nového uživatele Proces, který vytvoří nového uživatele systému. aspnet_applications (ApplicationName, LoweredApplicationName, ApplicationId, Description) aspnet_membership (ApplicationId, UserId, Password, PasswordFormat, PasswordSalt, MobilePIN, Email, LoweredEmail, PasswordQuestion, PasswordAnswer, IsApproved, IsLockedOut, CreateDate, LastLoginDate, LastPasswordChangedDate, LastLockoutDate, FailedPasswordAttemptCount, FailedPasswordAttemptWindowStart, FailedPasswordAnswerAttemptCount, FailedPasswordAnswerAttemptWindowStart, Comment, FirstName, Surname, Street, StreetNumber, City, DateOfBirdth, Phone) 31

aspnet_roles (ApplicationId, RoleId, RoleName, LoweredRoleName, Description) aspnet_users (ApplicationId, UserId, UserName, LoweredUserName, MobileAlias, IsAnonymous, LastActivityDate) aspnet_usersinroles (UserId, RoleId) přihlašovací jméno, heslo, potvrzení hesla, bezpečnostní otázka, bezpečnostní odpověď, jméno, příjmení, role, datum narození, ulice, číslo popisné, město, email, www, telefonní číslo, poznámky tento algoritmus není předmětem vývoje tohoto IS a je již nabízeny platformou ASP.NET 2.0 3.2 Změna dat uživatele Proces, který aktualizuje údaje vybraného uživatele. aspnet_applications (ApplicationName, LoweredApplicationName, ApplicationId, Description) aspnet_membership (ApplicationId, UserId, Password, PasswordFormat, PasswordSalt, MobilePIN, Email, LoweredEmail, PasswordQuestion, PasswordAnswer, IsApproved, IsLockedOut, CreateDate, LastLoginDate, LastPasswordChangedDate, LastLockoutDate, FailedPasswordAttemptCount, FailedPasswordAttemptWindowStart, FailedPasswordAnswerAttemptCount, FailedPasswordAnswerAttemptWindowStart, Comment, FirstName, Surname, Street, StreetNumber, City, DateOfBirdth, Phone) aspnet_roles (ApplicationId, RoleId, RoleName, LoweredRoleName, Description) aspnet_users (ApplicationId, UserId, UserName, LoweredUserName, MobileAlias, IsAnonymous, LastActivityDate) aspnet_usersinroles (UserId, RoleId) přihlašovací jméno, heslo, potvrzení hesla, bezpečnostní otázka, bezpečnostní odpověď, jméno, příjmení, role, datum narození, ulice, číslo popisné, město, email, www, telefonní číslo, poznámky, blokace uživatele tento algoritmus není předmětem vývoje tohoto IS a je již nabízeny platformou ASP.NET 2.0 3.3 Přehled uživatelů Proces, který zobrazí seznam všech uživatelů. aspnet_users (ApplicationId, UserId, UserName, LoweredUserName, MobileAlias, IsAnonymous, LastActivityDate) 32

ZOBRAZ seznam všech uživatelů systému z tabulky aspnet_users 3.4 Detail uživatele Proces, který zobrazí detail přihlášeného uživatele. aspnet_applications (ApplicationName, LoweredApplicationName, ApplicationId, Description) aspnet_membership (ApplicationId, UserId, Password, PasswordFormat, PasswordSalt, MobilePIN, Email, LoweredEmail, PasswordQuestion, PasswordAnswer, IsApproved, IsLockedOut, CreateDate, LastLoginDate, LastPasswordChangedDate, LastLockoutDate, FailedPasswordAttemptCount, FailedPasswordAttemptWindowStart, FailedPasswordAnswerAttemptCount, FailedPasswordAnswerAttemptWindowStart, Comment, FirstName, Surname, Street, StreetNumber, City, DateOfBirdth, Phone) aspnet_roles (ApplicationId, RoleId, RoleName, LoweredRoleName, Description) aspnet_users (ApplicationId, UserId, UserName, LoweredUserName, MobileAlias, IsAnonymous, LastActivityDate) aspnet_usersinroles (UserId, RoleId) tento algoritmus není předmětem vývoje tohoto IS a je již nabízeny platformou ASP.NET 2.0 3.5 Přihlášení uživatele Proces, který umožňuje přihlášení uživatele do systému, na základě správnosti uživatelského jména, hesla. aspnet_applications (ApplicationName, LoweredApplicationName, ApplicationId, Description) aspnet_membership (ApplicationId, UserId, Password, PasswordFormat, PasswordSalt, MobilePIN, Email, LoweredEmail, PasswordQuestion, PasswordAnswer, IsApproved, IsLockedOut, CreateDate, LastLoginDate, LastPasswordChangedDate, LastLockoutDate, FailedPasswordAttemptCount, FailedPasswordAttemptWindowStart, FailedPasswordAnswerAttemptCount, FailedPasswordAnswerAttemptWindowStart, Comment, FirstName, Surname, Street, StreetNumber, City, DateOfBirdth, Phone) aspnet_roles (ApplicationId, RoleId, RoleName, LoweredRoleName, Description) aspnet_users (ApplicationId, UserId, UserName, LoweredUserName, MobileAlias, IsAnonymous, LastActivityDate) aspnet_usersinroles (UserId, RoleId) uživatelské jméno, heslo 33

tento algoritmus není předmětem vývoje tohoto IS a je již nabízeny platformou ASP.NET 2.0 3.6 Odhlášení uživatele Proces, který umožňuje odhlášení uživatele ze systému. tento algoritmus není předmětem vývoje tohoto IS a je již nabízeny platformou ASP.NET 2.0 4.1 Nový host Proces, který kontroluje správnost zadaných dat hosta a v případě správnosti je zapíše. Guests (guest_id, first_name, surname, street, street_number, city, state, place_of_birth, identity_card, date_of_birth, phone, fax, email, www, note, ico ) Companies (ico, name, street, street_number, city, state, dic, phone, fax, email, www, bank_account, note) jméno, příjmení, ulice, číslo popisné, město, stát, místo narození, číslo pasu nebo OP, datum narození, telefonní číslo, fax, email, www, poznámky, IČO firmy JESTLIŽE nebylo zadáno jméno nebo příjmení nebo ulice nebo číslo popisné nebo město nebo stát nebo číslo pasu či OP nebo datum narození PAK ukonči a oznam chybu výběr firmy, patří-li host k firmě JESTLIŽE byla vybrána firma PAK VLOŽ (Guests.guest_id = automaticky generované číslo, Guests.first_name = jméno, Guests.surname = příjmení, Guests.street = ulice, Guests.street_number = číslo popisné, Guests.city = město, Guests.state = stát, Guests.place_of_birdth = místo narození, Guests.identity_card = číslo pasu nebo OP, Guests.date_of_birth = datum narození, Guests.phone = telefonní číslo, Guests.fax = fax, Guests.email = email, Guests.www = www, Guests.note = poznámky, Guests.ico = ičo vybrané firmy) JINAK VLOŽ (Guests.guest_id = automaticky generované číslo, Guests.first_name = jméno, Guests.surname = příjmení, Guests.street = ulice, Guests.street_number = číslo popisné, Guests.city = město, Guests.state = stát, Guests.place_of_birdth = místo narození, Guests.identity_card = číslo pasu nebo OP, Guests.date_of_birth = datum narození, Guests.phone = telefonní číslo, Guests.fax = fax, Guests.email = email, Guests.www = www, Guests.note = poznámky, Guests.ico = null) 34

4.2 Změna dat hosta Proces, který aktualizuje údaje u vybraného hosta. Guests (guest_id, first_name, surname, street, street_number, city, state, place_of_birth, identity_card, date_of_birth, phone, fax, email, www, note, ico ) Companies (ico, name, street, street_number, city, state, dic, phone, fax, email, www, bank_account, note) identifikace hosta, jméno, příjmení, ulice, číslo popisné, město, stát, místo narození, číslo pasu nebo OP, datum narození, telefonní číslo, fax, email, www, poznámky, IČO firmy PROVEĎ proces 4.4 výběr hosta ke změně údajů ZBORAZ údaje vybraného hosta oprava údajů JESTLIŽE nebylo zadáno jméno nebo příjmení nebo ulice nebo číslo popisné nebo město nebo stát nebo číslo pasu nebo OP nebo datum narození PAK ukonči a vypiš chybu AKTUALIZUJ (Guests.guest_id = automaticky generované číslo, Guests.first_name = jméno, Guests.surname = příjmení, Guests.street = ulice, Guests.street_number = číslo popisné, Guests.city = město, Guests.state = stát, Guests.place_of_birdth = místo narození, Guests.identity_card = číslo pasu nebo OP, Guests.date_of_birth = datum narození, Guests.phone = telefonní číslo, Guests.fax = fax, Guests.email = email, Guests.www = www, Guests.note = poznámky, Guests.ico = ičo firmy) 4.3 Detail hosta Proces, který zobrazí všechny údaje hosta. Guests (guest_id, first_name, surname, street, street_number, city, state, place_of_birth, identity_card, date_of_birth, phone, fax, email, www, note, ico ) Companies (ico, name, street, street_number, city, state, dic, phone, fax, email, www, bank_account, note) identifikace hosta PROVEĎ proces 4.4 výběr hosta k zobrazení detailu ZBORAZ všechny údaje vybraného hosta 35

4.4 Přehled hostů Proces, který zobrazí seznam všech hostů. Guests (guest_id, first_name, surname, street, street_number, city, state, place_of_birth, identity_card, date_of_birth, phone, fax, email, www, note, ico ) Companies (ico, name, street, street_number, city, state, dic, phone, fax, email, www, bank_account, note) ZOBRAZ všechny hosty v tabulce Guests 4.5 Změna dat firmy Proces, který aktualizuje údaje u vybrané firmy. Companies (ico, name, street, street_number, city, state, dic, phone, fax, email, www, bank_account, note) IČO, název firmy, ulice, číslo popisné, město, stát, DIČ, telefonní číslo, fax, email, www, číslo bankovního účtu, poznámky PROVEĎ proces 4.7 výběr firmy ke změně údajů ZBORAZ údaje vybrané firmy oprava údajů JESTLIŽE nebyl zadán název nebo ulice nebo číslo popisné nebo město nebo stát nebo IČO PAK ukonči a vypiš chybu AKTUALIZUJ (Companies. name = název firmy, Companies.street = ulice, Companies.street_number = číslo popisné, Companies.city = město, Companies.state = stát, Companies.dic = DIČ, Companies.phone = telefonní číslo, Companies.fax = fax, Companies.email = email, Companies.www = www, Companies.bank_account = číslo bankovního účtu, Companies.note = poznámky) 4.6 Nová firma Proces, který kontroluje správnost zadaných údajů firmy a v případě správnosti je zapíše. Companies (ico, name, street, street_number, city, state, dic, phone, fax, email, www, bank_account, note ) IČO, název firmy, ulice, číslo popisné, město, stát, DIČ, telefonní číslo, fax, email, www, číslo bankovního účtu, poznámky 36

JESTLIŽE nebyl zadán název firmy nebo ulice nebo číslo popisné nebo město nebo stát nebo IČO PAK ukonči a vypiš chybu JESTLIŽE v tabulce není uložená firma se stejným IČO PAK VLOŽ (Companies.ico = IČO, Companies. name = název firmy, Companies.street = ulice, Companies.street_number = číslo popisné, Companies.city = město, Companies.state = stát, Companies.dic = DIČ, Companies.phone = telefonní číslo, Companies.fax = fax, Companies.email = email, Companies.www = www, Companies.bank_account = číslo bankovního účtu, Companies.note = poznámky) 4.7 Přehled firem Proces, který zobrazí seznam všech firem. Companies (ico, name, street, street_number, city, state, dic, phone, fax, email, www, bank_account, note) ZOBRAZ všechny firmy v tabulce Companies 4.8 Detail firmy Proces, který zobrazí všechny údaje hosta. Companies (ico, name, street, street_number, city, state, dic, phone, fax, email, www, bank_account, note) identifikace firmy PROVEĎ proces 4.7 výběr firmy k zobrazení detailu ZBORAZ všechny údaje vybrané firmy 5.1 Nový pokoj Proces, který kontroluje správnost zadaných údajů pokoje a v případě správnosti je zapíše. Rooms (room_number, count_of_bed, price_without_dph, dph, equipment, note) číslo pokoje, počet lůžek, cena bez DPH, DPH, vybavení, poznámky JESTLIŽE nebylo zadáno číslo pokoje, počet lůžek, cena bez DPH, DPH nebo vybavení 37

PAK ukonči a vypiš chybu JESTLIŽE v tabulce není uložen pokoj se stejným číslem pokoje PAK VLOŽ (Rooms.room_number = číslo pokoje, Rooms.count_of_bed = počet lůžek, Rooms.price_without_dph = cena bez DPH, Rooms.dph = DPH, Rooms.equipment = vybavení, Rooms.note = poznámky) 5.2 Změna dat pokoje Proces, který aktualizuje údaje u vybraného pokoje. Rooms (room_number, count_of_bed, price_without_dph, dph, equipment, note ) identifikace pokoje, počet lůžek, cena bez DPH, DPH, vybavení, poznámky PROVEĎ proces 5.4 výběr pokoje ke změně údajů ZBORAZ údaje vybraného pokoje oprava údajů JESTLIŽE nebyl zadán počet lůžek, cena bez DPH, DPH nebo vybavení PAK ukonči a vypiš chybu AKTUALIZUJ (Rooms.count_of_bed = počet lůžek, Rooms.price_without_dph = cena bez DPH, Rooms.dph = DPH, Rooms.equipment = vybavení, Rooms.note = poznámky) 5.3 Detail pokoje Proces, který zobrazí všechny údaje pokoje. Rooms (room_number, count_of_bed, price_without_dph, dph, equipment, note ) identifikace pokoje PROVEĎ proces 5.4 výběr pokoje k zobrazení detailu ZBORAZ všechny údaje vybraného pokoje 5.4 Přehled pokojů Proces, který zobrazí seznam všech pokojů. Rooms (room_number, count_of_bed, price_without_dph, dph, equipment, note ) 38

ZOBRAZ všechny pokoje v tabulce Rooms 5.5 Nová strava Proces, který kontroluje správnost zadaných údajů stravy a v případě správnosti je zapíše. Foods (food_id, type, price_without_dph, dph, note) typ, cena bez DPH, DPH, vybavení, poznámky JESTLIŽE nebylo zadán typ, cena bez DPH nebo DPH PAK ukonči a vypiš chybu VLOŽ (Foods.food_id = automaticky generované číslo, Foods.type = typ, Foods.price_without_dph = cena bez DPH, Foods.dph = DPH, Foods.note = poznámky) 5.6 Změna dat stravy Proces, který aktualizuje údaje u vybrané stravy. Foods (food_id, type, price_without_dph, dph, note) identifikace stravy, typ, cena bez DPH, DPH, poznámky PROVEĎ proces 5.8 výběr stravy ke změně údajů ZBORAZ údaje vybrané stravy oprava údajů JESTLIŽE nebyl zadán typ, cena bez DPH nebo DPH PAK ukonči a vypiš chybu AKTUALIZUJ (Foods.type = typ, Foods.price_without_dph = cena bez DPH, Foods.dph = DPH, Foods.note = poznámky) 5.7 Detail stravy Proces, který zobrazí všechny údaje vybrané stravy. Foods (food_id, type, price_without_dph, dph, note) identifikace stravy PROVEĎ proces 5.8 výběr stravy k zobrazení detailu 39

ZBORAZ všechny údaje vybrané stravy 5.8 Přehled stravy Proces, který zobrazí seznam stravy. Foods (food_id, type, price_without_dph, dph, note ) ZOBRAZ všechny možnosti stravy v tabulce Foods 5.9 Nový způsob platby Proces, který kontroluje správnost zadaných údajů způsobu platby a v případě správnosti je zapíše. Payment_methods (payment_method_id, payment_method) identifikace způsobu platby, způsob platby JESTLIŽE nebyla zadána identifikace způsobu platby nebo způsob platby PAK ukonči a vypiš chybu JESTLIŽE v tabulce není uložen způsob platby se stejnou identifikaci PAK VLOŽ (Payment_methods.payment_method_id = identifikace způsobu platby, Payment_methods.payment_method = způsob platby) 5.10 Změna dat způsobu platby Proces, který aktualizuje údaje u vybraného způsobu platby. Payment_methods (payment_method_id, payment_method) identifikace způsobu platby, způsob platby PROVEĎ proces 5.12 výběr způsobu platby ke změně údajů ZBORAZ údaje vybraného způsobu platby oprava údajů JESTLIŽE nebyl zadán způsob platby PAK ukonči a vypiš chybu AKTUALIZUJ (Payment_methods.payment_method = způsob platby) 40

5.11 Detail způsobu platby Proces, který zobrazí všechny údaje vybraného způsobu platby. Payment_methods (payment_method_id, payment_method) identifikace způsobu platby PROVEĎ proces 5.12 výběr způsobu platby k zobrazení detailu ZBORAZ všechny údaje vybraného způsobu platby 5.12 Přehled způsobů plateb Proces, který zobrazí seznam všech způsobů plateb. Payment_methods (payment_method_id, payment_method) ZOBRAZ všechny způsoby plateb v tabulce Payment_methods 5.13 Nový příplatek nebo sleva Proces, který kontroluje správnost zadaných údajů příplatku nebo slevy a v případě správnosti je zapíše. Extras (extra_id, name, price_without_dph, dph, note) název, cena bez DPH, DPH, poznámky JESTLIŽE nebylo zadán název, cena bez DPH nebo DPH PAK ukonči a vypiš chybu VLOŽ (Estras.extra_id = automaticky generované číslo, Extras.name = název, Extras.price_without_dph = cena bez DPH, Extras.dph = DPH, Extras.note = poznámky) 5.14 Změna dat příplatku nebo slevy Proces, který aktualizuje údaje u vybraného příplatku nebo slevy. Extras (extra_id, name, price_without_dph, dph, note) 41

identifikace příplatku nebo slevy, název, cena bez DPH, DPH, vybavení, poznámky PROVEĎ proces 5.16 výběr příplatku nebo slevy ke změně údajů ZBORAZ údaje vybraného příplatku nebo slevy oprava údajů JESTLIŽE nebyl zadán název, cena bez DPH nebo DPH PAK ukonči a vypiš chybu AKTUALIZUJ (Extras.name = název, Extras.price_without_dph = cena bez DPH, Extras.dph = DPH, Extras.note = poznámky) 5.15 Detail příplatku nebo slevy Proces, který zobrazí všechny údaje zvoleného příplatku nebo slevy. Extras (extra_id, name, price_without_dph, dph, note ) identifikace příplatku nebo slevy PROVEĎ proces 5.16 výběr příplatku nebo slevy k zobrazení detailu ZBORAZ všechny údaje vybraného příplatku nebo slevy 5.16 Přehled příplatků nebo slev Proces, který zobrazí seznam všech příplatků nebo slev. Extras (extra_id, name, price_without_dph, dph, note ) ZOBRAZ všechny příplatky nebo slevy v tabulce Extras 6.1 Přehled vystavených účtů Proces, který zobrazí seznam všech vystavených a zaplacených účtů. Bills (bill_id, total_price_with_dph, payment_method, time_of_payment, number_for_accounting, login_id ) ZOBRAZ všechny zaplacené účty v tabulce Bills 42

6.2 Přehled tržeb Proces, který zobrazí přehled tržeb za dané období. Bills (bill_id, total_price_with_dph, payment_method, time_of_payment, number_for_accounting, login_id ) od kdy, do kdy ZOBRAZ součet tržeb v daném období pro každý způsob platby zvlášť 43

5. Use Case diagramy 5.1 Správa systému Správa systému << include >> Administrátor << include >> Správa uživatelů Přidání uživatelů << include >> << include >> Provozní Přehled uživatelů Editace uživatelů Recepční 5.2 Správa pokojů 44

5.3 Správa ubytování 45

5.4 Statistiky 5.5 Správa financí Recepční Provozní Administrátor Správa účtů << include >> << include >> Vystavení účtu Přehled vystavených účtů 46

5.6 Správa firem a hostů 5.7 Správa příplatků a slev Provozní Administrátor Správa příplatků a slev Recepční Editace příplatků a slev << include >> << include >> << include >> Přidání nového příplatku nebo slevy Přehled příplatků a slev 47

5.8 Správa stravy 5.9 Správa způsobů plateb Provozní Administrátor << include >> Správa způsobů plateb Recepční Editace způsobů plateb << include >> << include >> Přidání nového způsobu plateb Přehled způsobů plateb 48

6. Aktivitní diagramy 6.1 Ubytování hosta na pokoj [ ubytování s rezervací ] [ ubytování bez rezrevace ] Výběr rezervace Zvolení období pro ubytování Přeměna rezervace na ubytování Ověřeni dostupnosti pokojů [ žádný volný pokoj ve vybraném období ] Výběr pokoje Zavedení nového hosta [ nový host ] Přiděleni hosta k pokoji Vlastní ubytování 49

6.2 Rezervace pokoje pro hosta 50

6.3 Vystavení účtu a platba Výběr ubytování k zaplacení Výpočet ceny Zjištění přihlašeného úživatele Podepsání účtů Tvorba a tisk účtů Operace platby Uzavření účtování pro dané ubytování 51

7. Návrh struktury aplikace 52

8. Návrh vzhledu výstupní sestavy 8.1 Příklad hotelového účtu 53

9. Návrh vzhledu obrazovky 9.1 Úvodní stránka 9.2 Úvodní stránka po přihlášení 54

9.3 Formulář pro zadání nové firmy 9.4 Formulář pro zadání nového hosta 55

9.5 Změna hesla 9.6 Formulář pro zadání nového uživatele 1. krok zadání přihlašovacích údajů 56

2. krok zadání detailu uživatele 3. krok výběr role uživatele 57

4. krok stav vytvoření nového uživatele 58