Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Rezervační systém

Aktivity
Avatar
Jan Štěrba
Člen
Avatar
Jan Štěrba:14.7.2018 19:17

Ahoj,

tvořím si svůj první rezervační systém (rezervace pokojů v hotelu) a potřeboval bych poradit. Vím jak uložit zadané termíny do DB a zajistit aby se dané termíny nepřekrývaly. Potřeboval bych aby případný zákazník viděl již obsazené termíny přímo v datefieldu. Nevíte někdo jak na to?

Předem díky za všechny možné rady.

Odpovědět
14.7.2018 19:17
Jste-li uživateli OS X, zamilujete si ho. A jestli nejste, je načase se jím stát.
Avatar
Odpovídá na Jan Štěrba
Michal Šmahel:14.7.2018 22:21

Ahoj, záleží na tom, jak to přesně myslíš, popř. jak kalendář vykresluješ.

Pokud používáš HTML pole pro datum bez doplňků, není to možné. Tam lze (omezeně kvůli podpoře) nastavit pouze minimum a maximum.

Když sáhneš po jQuery datepicker, již se určité možnosti naskytují. Viděl bych to konkrétně na upravení nastavení (pro vykreslení) doplňku přidáním parametru s vlastní funkcí pro určení, zda se má právě iterovaný den zobrazit jako platný či nikoliv. Problematiku rozebírají na Stack Overflow. Data do pole v JS už předáš při výpisu stránky (či jinak, pokud chceš).

Další možností je využití doplňků z jiných zdrojů (samozřejmě dle tvých preferencí), popř. vlastní řešení. To je poté poměrně jednoduché, jelikož si jen při generování kalendáře tyto dny podchytneš (budeš je mít někde v poli a hlídat jejich výskyt)

Nahoru Odpovědět
14.7.2018 22:21
Nejdůležitější je motivace, ovšem musí být doprovázena činy.
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:17.7.2018 9:15

:) Vis, ty chces program, co vytvarel nekdo jiny mesice, zadarmo. Pripadne popsat, jak to udelat. Stavis pred dilema, pomoci ti krast nebo stravit tady cas vysvetlovanim. Oboje je ztratova zalezitost, ze ktere nekouka zisk. Penize na jidlo, bydleni, pritelkyni, dovolenou.

To, co popisujes, se nazyva kalendar akci. Je to cely komplexni program. Neni mozne to snadno vysvetlit, udelat. Mozna muzes zkusit vygooglovat nejaka free reseni, ale nevim, zda se v kodu vyznas.
Kdyby ti nevadilo sdilet data s googlem, dal by se mozna snadno implementovat google kalendar. Nezkousel jsem to, nevim.

Vlastni reseni zalezi pak na mnoha faktorech. U rezervaci pokoju se resi den od-do, ale i cas od-do. Kdyz cas vynecham, tak ti staci obycejna excelova tabulka.
V jednom sesite si udelas tabulku zakazniku, id_cislo + osobni udaje.
Ve druhem mas tabulku pokoju se dny, kde vyplnis cislo zakaznika.
Cili, to vypada nejak takto:

--- zakaznici ---
1 Franta
2 Tomas
3 Silvie

--- pokoj 1 ---
0 -
1 1
2 1
3 1
4 -
5 -
6 3
7 -
Pokoj 1 ma obsazeny Franta po 3 dny, Silvie 1 den. Dny jsou cislovane jako 0-365.

S pridanim casu by se to cele komplikovalo. Pokoj obvykle lze pronajmout do 14:00 a ukoncit ubytovani v 10:00. Mezitim tam jsou uklizecky, udrzbari, priprava pro dalsi hosty. A ted jsou ruzne komplikace, kdy v den odjezdu je pokoj obsazeny, ale i volny pro dalsi rezervaci. Pripadne nekdo chce prijet v 8 rano, protoze cestoval pres nocnim letem. Jak tohle resit?
Dne to, tabulku dni muzes zmenit na hodinovou. Takze muzes v programu povolit ruzne druhy rezervaci. 1 = zacatek ubytovani, 2 = cely den, 3 = konec ubytovani. Zadas podminku, ze v bunce muze byt typ jedenkrat 1 + jedenkrat 3 nebo jedenkrat 2.
A podobne komplikace :)

 
Nahoru Odpovědět
17.7.2018 9:15
Avatar
Odpovídá na Peter Mlich
Michal Šmahel:17.7.2018 15:11

Nechci se tě nijak dotknout, ale on má většinu tvého postupu již za sebou. To, že existují hotové varianty neznamená, že nemůže takový problém řešit znovu. Může k tomu mít různé důvody - řešení, která jsou dostupná zdarma mu nedostačují; chce se na tom učit apod. Není dobré řešit jen peníze, nejprve se musí naučit, jak daná technologie funguje a následně ji využívat.

Ještě k tomu tvému řešení... Ty tabulky by se dali poskládat i lépe. Je nesmysl mít pro každý pokoj jinou tabulku. Chtělo by to tedy tabulky: zákazníci, pokoje, zákazníci v pokojích (provazující M:N tabulka). To je samozřejmě jen základ. Poté je potřeba hlídat překrývání. Jestli se bude hlídat i čas nebo jen datum už je skoro jedno, pouze se kontrolky trochu rozvedou.

Nahoru Odpovědět
17.7.2018 15:11
Nejdůležitější je motivace, ovšem musí být doprovázena činy.
Avatar
Odpovídá na Peter Mlich
Neaktivní uživatel:17.7.2018 15:24

Peter Mlich
Samozřejmě se jedná o komplexnější otázku, na kterou jen tak někdo nedokáže odpovědět, a samotná odpověď nebude ve dvou větách. Ale i takové otázky sem patří.

Od toho je fórum – abychom se vzájemně nakopli, nasměrovali. Nikdo z lidí, kteří přispívají na fórum, z toho nemá žádný zisk – z pohledu času to tedy je ztrátové. Nicméně kdyby nebyla fóra, (s nadsázkou řečeno :) ) nebyli by ani programátoři. Neříkej, že ty jsi se nikdy nedíval na StackOverflow, nebo na nějaká podobná.
Jinak takových řešení jsou určitě mraky, nikdo nikomu nic nekrade. Pokud ty jsi nějaké takové řešení vyvinul a máš pocit, že ti ho někdo krade – nikdo tě nenutí na tuto otázku odpovídat.

Jan Štěrba
Hodně to závisí na tom, jak moc obecné řešení chceš, případně na specifických požadavcích daného hotelu.

Editováno 17.7.2018 15:25
Nahoru Odpovědět
17.7.2018 15:24
Neaktivní uživatelský účet
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:18.7.2018 6:22

Michal Šmahel - Podle toho, co pise, tak nema nic hotove, promyslene. Nevim, z ceho jsi usoudil opak. Smula, ze html zatim nema na tohle prvek, ktery by resil sam. Ale, tos mu uz psal ty.

Daniel Vítek - StackOverflow, neustale. :) Jen chci rici, ze, oc zada je know-how, o ktere se nejspis nebude chtit nikdo podelit, protoze mu prinasi zisk. At neceka neco hotove. Podle jeho reakce, nic nemam, nic jsem pro to neudelal (googlovani, vlastni kod zadny), zachrante mne, to tak vypadalo. Od pohledu je mi takovy pristup nesympaticky.

 
Nahoru Odpovědět
18.7.2018 6:22
Avatar
Odpovídá na Peter Mlich
Neaktivní uživatel:18.7.2018 9:40

Nejjednodušší řešení asi bude, když ukáže co už má (opravdu vše, včetně všelijakých pokusů a nefunkčních částí). Pak se přece uvidí, jak to je, ne? A <strong>každý</stron­g> někdy něco takového studoval a díky tomu může vydělávat. Samozřejmě záleží i na tom, jak se k problému postaví on. Jestli kódí ve dne v noci on nebo ostatní.

Nahoru Odpovědět
18.7.2018 9:40
Neaktivní uživatelský účet
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.