Korterid Kõrgel Künkal
Meeskond
- Edward Mardo
Idee
Korterite broneerimise veebirakendus. Kasutaja (klient) näeb veebis korterite pilte ja muid üksikasju. Klient näeb millisel ajal milline korter on vaba ning saab esitada broneeringu. Administraator saab broneeringu kinnitada, tühistada ja muuta selle üksikasju. Administraator saab määrata iga korteri ööpäevast hinda, vajadusel igale kuupäevale eraldi. Süsteemis hoitakse alles kõik varasemad broneeringud ning kliendid. Uue kliendi loomisel kontrollitakse isikukoodi, et mitte luua topeltkirjeid. Administraatoril on ülevaade klientidest, broneeringutest ja laekunud maksetest. Makse info sisestab administraator käsitsi.
Tehnoloogiad
- Asp.Net MVC
- SQL
Analüüs
Eesmärk
Tegemist on veebirakendusega, mis võimaldab korterite omanikul hallata temale kuuluvaid kortereid. Omanik saab lisada uusi kortereid ning muuta nende üksikasju, vajadusel ka kustutada. Ühtlasi saab omanik määrata korterite rendihindasid, seda ööpäeva täpsusega. Kliendil on võimalik tutvuda korterite infoga ning broneerida korteris viibimist. Enne brongeeringu jõustumist peab omanik selle kinnitama.
Üldine sisu
Lisaks esilehele on rakenduses kliendile nähtaval leheküljed, milles kajastuvad: korterid, valitud korter, broneerimise vorm, omaniku kontaktid, üldised tingimused. Administraatorile on nähtavad ka igasuguse info lisamise ning muutmise lehed.
Korterid
Kortereid on erinevat tüüpi. Omanik saab neid lisada ning määrab tüübi igale korterile. Kliendil on seeläbi võimalik korterite sirvimisel neid tüübi järgi filtreerida. Liikudes veebilehitsejas ühe korteri lehele, näeb klient kõiki vajalikke üksikasju: tubade arv, magamiskohtade arv, mitmendal korrusel asub korter, millises kandis korter asub (kesklinn, vanalinn või linnaosa), millised võimalused on korteris olemas (pesemine, köök, saun, wi-fi jne.), millistel kuupäevadel on korter hetkeseisuga vaba ning millised on vastavate päevade hinnad. Ühtlasi on kliendil võimalik valida talle sobiv periood broneerimiseks ning selle põhjal näha, millised korterid on neil aegadel vabad. Lisaks on olemas ka rakenduse kasutamise hetkel vabade korterite kuvamise võimalus, kui kliendil peaks olema soov kiiresti selleks samaks päevaks broneerida.
Broneerimine
Kliendil ei tohi olla võimalik esitada broneeringutaotlust päevadele, millel juba on omaniku poolt kinnitatud broneering vastavas korteris viibimiseks. Valiidse taotlemise puhul salvestatakse andmebaasi info nii kliendi kui ka broneeringu kohta. Enne kliendi salvestamist kontrollitakse eesnime, perekonnanime ning isikukoodi põhjal, kas selline klient juba eksisteerib süsteemis. Kui eksisteerib, siis uut klienti ei looda, vaid vajadusel uuendatakse muud infot. Iga kliendi kohta salvestatakse kolm kontakti: aadress, e-mail ning telefoninumber. Eduka taotluse jaoks on vaja kõiki kolme. Klient peab esitama ka info oma reisidokumendi kohta. Dokumendi kohta on teada selle tüüp (id-kaart, pass), dokumendi number ning selle omaniku isikukood. Kui taotlus on esitatud, saadetakse sisestatud e-mailile kiri sisuga, et taotlus on esitatud ning niipea kui see kinnitatakse (või mitte), teavitatakse klienti sellest. Korterite omanikul on ülevaade kõikidest kinnitatud ja kinnitamata broneeringutest. Kui samadele päevadele on sama korteri kohta mitu taotlust, kinnitab ta tõenäoliselt selle, mis on kõige kasumlikum. Kui broneering tehakse mõne muu kanali kaudu (näiteks telefoni teel), peab omanik saama selle süsteemi lisada. See aga toimub pisut teistsugustel tingimustel, kui kliendipoolse taotlemise puhul: broneering on koheselt kinnitatud ning see kajastub ka kliendile saadetavas e-mailis.
Omaniku ja kliendi eristamine
Korterite omaniku ja kliendi eristamiseks kasutatakse Asp.Net'i sisseehitatud rollijaotust. Antud rakenduse juures on oluline aga ainult üks roll, milleks on administraator, kuid valitud tehnoloogia võimaldab seda eristust üsna lihtsalt teostada. Lehekülgede sisu ja funktsionaalsus sõltub sellest, kas rakendust kasutab registreeritud kasutaja (kellel on ühtlasi administraatori roll) või mitte. Klient, st. ilma kasutaja ja rollita rakenduses tegutsev inimene, ei saa näha uue kasutaja registreerimise vormi. Sisselogimise vorm on aga leheküljel, mida menüüs ei kuvata. Esmane administraatorkasutaja luuakse rakenduse esimesel käivitamisel. Loodud kasutaja saab lisada uusi administraatorkasutajaid.
Arveldus
Iga kinnitatud broneeringu kohta koostatakse arve. Arve koosneb ridadest, kus iga rida kajastab ühte korteris viibijat ühel päeval. Sõltuvalt inimeste arvust on ka hind erinev. Põhihind, mis on on ühe päeva kohta määratud, kehtib ühe inimese (broneerija) kohta. Omanik saab korteri puhul määrata ka seda, kui suur on lisatasu iga inimese eest, kes korteris viibib lisaks broneerijale endale.
Võimalikud probleemid
Kõige problemaatilisemaks võib kujuneda hindade määramise süsteem, sest see peab olema väga dünaamiline ja täpne. Hindasid peab saama määrata päeva täpsusega, aga samas võib valida ka pikema ajaperioodi. Süsteem peab oskama valida kliendile kuvamiseks ja arve reale kirjutamiseks kõige hilisema sisestatud hinna, ning arvestama sellega, et hind ei pruugi olla päeva täpsusega sisestatud.
Kindlasti teostatavad funktsionaalsused
- Admin-liides
- Admin saab luua, muuta ja kustutada kortereid
- Admin saab luua ja muuta hinnakirja
- Admin saab meili, kui kasutaja on teinud broneeringu
- Admin saab kinnitada, muuta ja tühistada broneeringuid
- Kasutajaliides
- Kasutaja näeb korterite infot
- Kasutaja näeb antud või valitud ajahetkel vabu kortereid
- Kasutaja saab meili kui broneeringu taotlus on edukalt esitatud
- Kasutaja saab broneerida korteris viibimist, mille admin peab kinnitama
Võimalusel teostatavad funktsionaalsused
Rakenduses võiks olla integreeritud Google Maps’i teenus. Esiteks selleks, et klient näeks, kus asub korter, mis talle antud hetkel huvi pakub. Teisalt võiks olla võimalik valida piirkond või asukoht kaardil, ning selle põhjal kuvada kortereid kas valitud piirkonnas või valitud asukohale lähimast alates kaugeima korterini. Esmasel kaalutlemisel ei tundu, et see väga keeruline oleks, seega võib selleks isegi aega jätkuda. Teine lisafunktsionaalsus võiks olla PayPal maksete toetamine. Sellisel juhul ei peaks omanik enam broneeringut kinnitama, vaid õnnestunud makse korral teeb süsteem seda automaatselt. See oleks aga ilmselt kõige keerukam osa kogu rakenduse loomisel ning tõenäoliselt seda teostada ei jõua.
Blog
28.09.2016.
- Loodud projekt
- Lisatud VS-online keskkonda
20.10.2016.
- Wiki leht sai tehtud
- Kutse saadetud
01.11.2016.
- Lisatud rakenduse analüüs