= Креирање резервација == Опис: Клиентот прави резервација на рута за превоз на роба == Актери: Клиент === Предуслов Корисникот да биде ненајавен. == Реализација: ==== Чекор 1. Корисникот има приказ на почетната страна на системот ==== Чекор 2. Корисникот се најавува преку формата за најава [[Image(Login.png)]] ==== Чекор 3. Корисникот има приказ на страната со достапни рути. [[Image("Available-routes-client.png")]] {{{ -- Приказ на сите достапни рути select od.grad_ime, dest.grad_ime, r.datum_poagjanje, r.datum_pristignuvanje from project.ruti as r join project.gradovi as od on r.zapocnuva_vo = od.grad_id join project.gradovi as dest on r.zavrsuva_vo = dest.grad_id where r.datum_poagjanje > now() -- Приказ на сите достапни рути филтрирани според датум select od.grad_ime, dest.grad_ime, r.datum_poagjanje, r.datum_pristignuvanje from project.ruti as r join project.gradovi as od on r.zapocnuva_vo = od.grad_id join project.gradovi as dest on r.zavrsuva_vo = dest.grad_id where r.datum_poagjanje > fromDate AND r.datum_pristignuvanje < toDate -- fromDate и toDate се датумите избрани од страна на корисникот преку формата за филтрирање }}} ==== Чекор 4. Корисникот ја избира посакуваната рута. ==== Чекор 5. Корисникот добива приказ на деталите за рутата која ја има избрано. {{{ -- Приказ на детали за селектираната рута select od.grad_ime, dest.grad_ime, ruta.datum_poagjanje, ruta.datum_pristignuvanje, komp.kompanija_ime, vozac.vraboten_ime, vozac.vraboten_prezime, tipVozilo.tip_ime, vozilo.vozilo_kapacitet from project.ruti as ruta join project.gradovi as od on ruta.zapocnuva_vo = od.grad_id join project.gradovi as dest on ruta.zavrsuva_vo = dest.grad_id join project.vozila as vozilo on ruta.vozilo_id = vozilo.vozilo_id join project.tipovi as tipVozilo on vozilo.tip_id = tipVozilo.tip_id join project.vozaci on ruta.vozac_id = vozaci.vozac_id join project.vraboteni as vozac on vozaci.vozac_id = vozac.vraboten_id join project.kompanii as komp on vozilo.kompanija_id = komp.kompanija_id where ruta.ruta_id = 1 -- id 1 е само за пример, во реалноста ќе се зема id-то од селектираната рута. }}} ==== Чекор 6. Корисникот избира категорија на роба за која сака да резервира превоз и ја завршува резервацијата со клик на копчето "Резервирај". [[Image("Route Details.png")]] {{{ -- Приказ на категории на роба при резервирање на рута select k.kategorija_ime from kategorii k -- Додавање резервација insert into project.rezervacii(rezervacija_id, rezervacija_status, klient_id, ruta_id) values (default, 'Kreirana', 1, 1) insert into project.roba(roba_id, roba_kolicina, kategorija_id, rezervacija_id) values (default, 3, 1, 1), (default, 2, 2, 1) -- во роба се додаваат ставките роба кои клиентот ќе ги селектира со соодветна категорија и количина. }}} ==== Чекор 7. Корисникот се пренасочува на страна каде се достапни сите негови резервации. [[Image("Client reservations.png")]] {{{ -- Приказ на мои резервации select od.grad_ime, dest.grad_ime, r.datum_poagjanje, r.datum_pristignuvanje from project.rezervacii as rezervacii join project.ruti as r on rezervacii.ruta_id = r.ruta_id join project.gradovi as od on r.zapocnuva_vo = od.grad_id join project.gradovi as dest on r.zavrsuva_vo = dest.grad_id where rezervacii.klient_id = 1 -- id 1 е само за пример, во реалноста ќе се зема id-то од тековниот корисник. }}} == //Алтернативни чекори:// ==== Чекор 6. Доколку внесе погрешни корисничко име или лозинка, добива соодветна порака за грешка. [[Image("Login - credentials error.png")]]