\chapter{Toiminnot}
\section{Yleistä}
\begin{figure}[!h]
\IfFileExists{tikz}{
\input{navigointipuu.tex}
}{Proffalla ei ole LaTeXin TikZ-pakettia.}
\caption{Navigointipuu järjestelmän toiminnoista. Yhtenäiset viivat ilmaisevat
toimintojen hierarkiaa, eli loogista polkua eri toimintoihin. Katkoviivat ovat
linkkejä eri toimintojen välillä.}
\end{figure}

\subsection{Yläpalkki}
\label{yläpalkki}
\begin{figure}[htb]
\includegraphics{kayttoliittymakuvat/Ylapalkki.png}
\caption{Yläpalkki näkyy kaikilla sivuilla kun käyttäjä on kirjautunut sisään.}
\label{kuva_yläpalkki}
\end{figure}

Järjestelmän päätoimintoihin pääsee siirtymään yläpalkista (kuva \ref{kuva_yläpalkki}),
joka näkyy jokaisen sivun ylälaidassa. Yläpalkissa näkyvät kohdat riippuvat
käyttäjän rooleista, jotka on määritelty \luokka{Työntekijä}-tietueessa (\ref{työntekijä}):

Linkit \nappi{Asiakkaat} (\ref{asiakaslista}) ja \nappi{Laskut} (\ref{laskulista})
näkyvät kaikille, joilla on johdon tai asiakaspalvelun oikeudet.
Yrityksen johdolle näkyvät lisäksi kohdat \nappi{Työntekijät} (\ref{tyontekijalista})
ja \nappi{Hintatiedot} (\ref{hintalista}).

Kaikilla työntekijöillä näkyvät \nappi{Huoltopyynnöt} (\ref{huoltopyyntolista}).
Jos käyttäjällä on pelkät johdon oikeudet, \nappi{Oma työlista} (\ref{tyolista})
ei näy. Yrityksen johdon ei oleteta normaalisti osallistuvan huoltopyyntöjen
käsittelyyn.

\subsection{Järjestelmän ilmoitukset}
\label{ilmoitukset}
\begin{figure}[htb]
\includegraphics{kayttoliittymakuvat/varoitus_popup.png}
\caption{JavaScript-pohjainen varoitusikkuna, jota käytetään tärkeisiin
ilmoituksiin.}
\label{kuva_varoitus_popup}
\end{figure}

Järjestelmä käyttää kahta tapaa ilmoitusten esittämiseen: JavaScript-pohjaisia
varoitusikkunoita (kuva \ref{kuva_varoitus_popup}) sekä sivun alkuun sijoitettavaa
ilmoituslaatikkoa (kuva \ref{kuva_yhtäaikaiset_muokkaukset}). Useimmat ilmoitukset
esitetään varoitusikkunalla. Teknisistä syistä tietyt tilanteet havaitaan
vasta, kun pyyntöä käsitellään palvelimen puolella, jolloin ne täytyy esittää
ilmoituslaatikolla.

Jos ilmoitus ei ole kovin tärkeä, se sisällytetään sivun muun tekstin joukkoon
eikä käytetä erityistä ikkunaa tai laatikkoa.
Tällöin ilmoitusikkunat eivät häiritse järjestelmän käyttöä.
Esimerkiksi listoissa toimitaan näin, jos hakuehtoja vastaavia tietoja ei löydy.

\subsection{Hakutoiminnot}
\begin{figure}[htb]
\includegraphics{kayttoliittymakuvat/Hakutoiminnot.png}
\caption{Yhdistetty haku- ja valintatoiminto.}
\label{kuva_hakutoiminnot}
\end{figure}
\label{hakutoiminnot}
Asiakkaiden, vastuuhenkilöiden yms. valinnassa käytetään yhdistettyä haku-
ja valintakenttää (kuva \ref{kuva_hakutoiminnot}).
Jos hakusanaa ei ole syötetty, listassa näkyvät järjestelmän
kaikki kyseisen tyyppiset tietueet. Hakukenttään kirjoitettaessa lista päivittyy
heti ja näyttää vain hakusanan sisältävät tietueet. Hakusana voi esiintyä myös niissä
tietueen osissa, jotka eivät näy listassa.

Haluttu tietue valitaan listasta klikkaamalla.

\subsection{Yhtäaikaiset muokkaukset}
\label{yhtäaikaiset_muokkaukset}
\begin{figure}[htb]
\includegraphics{kayttoliittymakuvat/yhta-aikaiset_muokkaukset.png}
\caption{Jos kaksi käyttäjää muokkaa tietoja yhtäaikaisesti, käytetään eronäkymää
tilanteen ratkaisemiseksi.}
\label{kuva_yhtäaikaiset_muokkaukset}
\end{figure}

Muokattaessa järjestelmän tietoja (asiakkaat, huoltopyynnöt, jne.) voi käydä
niin, että toinen käyttäjä muokkaa tietoja yhtäaikaisesti. Tällöin myöhempi
tallennus voisi ylikirjoittaa aiempia muutoksia.

Tämän välttämiseksi muokkaussivua avattaessa tallennetaan istuntoon tiedot
sellaisina, kuin ne muokkauksen aluksi ovat. Jos
\nappi{Tallenna}-painiketta painettaessa havaitaan että järjestelmään tallennettuja
tietoja on sillä välin muutettu, näytetään erot käyttäjälle (kuva \ref{kuva_yhtäaikaiset_muokkaukset})
ja pyydetään vahvistamaan tallennus.

\subsection{Tietojen poistaminen}
\label{poisto}
\luokka{Asiakas}-, \luokka{Työlaji}-, \luokka{Tuote}- ja \luokka{Työntekijä}-tietueisiin liittyy huoltopyyntöjä. Näitä tietoja ei siten voida poistaa ennen kuin kaikki niihin liittyvät huoltopyynnöt ovat poistuneet kohdan \ref{kapasiteetti} mukaisesti. Jos näin ei ole, poistamista yritettäessä näytetään virheilmoitus \ilmoitus{Tiedon voi poistaa vasta, kun kaikki siihen liittyvät huoltopyynnöt ovat poistuneet.}

\section{Perustoiminnot}
\subsection{Järjestelmään kirjautuminen}
\label{kirjautuminen}
\begin{figure}[H]
\includegraphics{kayttoliittymakuvat/Kirjautuminen.png}
\caption{Järjestelmän kirjautumissivu.}
\label{kuva_kirjautuminen}
\end{figure}
\begin{reunaotsikot}
\kohta{Esittely:} Työntekijä syöttää tunnuksensa ja salasanansa kirjautuakseen järjestelmään.
Käyttöliittymä on esitetty kuvassa \ref{kuva_kirjautuminen}.

\kohta{Toiminta:} Tarkistetaan että tietokannassa on käyttäjätunnusta
vastaava \luokka{Työntekijä}-tietue, ja että sen salasana vastaa syötettyä.
Kirjautumisen onnistuminen ilmaistaan siirtymällä työlistaan (\ref{tyolista}).
Lisäksi kirjautunut henkilö näkyy aina sivujen yläpalkissa (\ref{yläpalkki}).

\kohta{Virhetilanteet:} Jos käyttäjätunnus tai salasana on väärä, näytetään
kirjautumissivu uudelleen ja tulostetaan sen alkuun
\ilmoitus{Käyttäjätunnus tai salasana on väärä.}
\end{reunaotsikot}

\subsection{Uloskirjautuminen}
\begin{reunaotsikot}
\kohta{Esittely:} Työntekijän istunto lopetetaan, jolloin käytön jatkamiseksi pitää
kirjautua uudelleen. Uloskirjautumistoiminto käynnistetään yläpalkin (\ref{yläpalkki})
linkistä.

\kohta{Toiminta:} Istunto merkitään päättyneeksi. Uloskirjautumisesta
näytetään ilmoituslaatikko (\ref{ilmoitukset}) \ilmoitus{Kirjauduit ulos.}, jossa on myös
linkki kirjautumissivulle.

\kohta{Virhetilanteet:} Ei virhetilanteita, jos järjestelmä toimii muuten oikein.
\end{reunaotsikot}

\section{Asiakastietojen ylläpito}
\subsection{Asiakaslista}
\begin{figure}[H]
\includegraphics{kayttoliittymakuvat/Asiakaslista.png}
\caption{Asiakaslistassa näkyvät kaikki järjestelmään syötetyt asiakkaat.}
\label{kuva_asiakaslista}
\end{figure}
\label{asiakaslista}
\begin{reunaotsikot}
\kohta{Esittely:} Kaikki järjestelmässä olevat asiakkaat näytetään listassa,
josta voidaan siirtyä yksittäisen asiakkaan tietoihin. Käyttöliittymässä
(kuva \ref{kuva_asiakaslista}) on lisäksi nappi uuden asiakkaan luomiseksi
(\ref{asiakkaan_lisaaminen}), hakukenttä ja linkki sivun vaihtamiseksi.

\kohta{Toiminta:} Käyttäjä voi syöttää hakusanan kenttään ja painaa \nappi{Etsi},
jolloin listassa näkyvät vain hakuehtoa vastaavat asiakkaat. Hakusana voi esiintyä
missä tahansa \luokka{Asiakas}-tietueen (\ref{asiakas}) kentässä.

Jos asiakkaita on paljon, ne jaetaan usealle sivulle, joiden välillä voi siirtyä
linkeillä \nappi{Seuraava sivu} ja \nappi{Edellinen sivu}.
Asiakaslistan yläpuolella kerrotaan tietueiden määrä:
\ilmoitus{Näkyvissä <a>-<b>, yhteensä <c> asiakasta.}
Luvut \emph{a} ja \emph{b} ilmaisevat mitkä asiakkaat näkyvät nykyisellä sivulla.
Luku \emph{c} on asiakkaiden yhteismäärä kaikilla sivuilla.


Käyttäjä voi siirtyä asiakkaan tietoihin (\ref{asiakkaan_tietojen_tarkastelu})
klikkaamalla asiakkaan nimeä. Käyttäjä voi siirtyä muokkaamaan asiakkaan tietoja
(\ref{asiakkaan_tietojen_muokkaaminen}) painamalla linkkiä \nappi{Muokkaa}
kyseisellä rivillä.

\kohta{Virhetilanteet:} Jos järjestelmässä ei ole yhtään hakusanaa vastaavaa
asiakasta, näytetään listan paikalla viesti \ilmoitus{Hakusanalla ei löytynyt yhtään asiakasta.}
Jos järjestelmässä ei ylipäätänsä ole yhtään asiakasta, näytetään viesti
\ilmoitus{Järjestelmässä ei ole yhtään asiakasta.}
\end{reunaotsikot}

\subsection{Asiakkaan lisääminen}
\begin{figure}[H]
\includegraphics{kayttoliittymakuvat/Lisaa_asiakas.png}
\caption{Asiakkaan lisääminen järjestelmään.}
\label{kuva_lisaa_asiakas}
\end{figure}
\label{asiakkaan_lisaaminen}
\begin{reunaotsikot}
\kohta{Esittely:} Asiakaspalvelija lisää asiakkaan tiedot järjestelmään
ensimmäisen huoltopyynnön yhteydessä, tai yrityksen johto lisää tiedot esimerkiksi
huoltosopimusta tehtäessä.

Käyttöliittymässä (kuva \ref{kuva_lisaa_asiakas}) on kentät asiakkaan nimelle,
osoitetiedoille, puhelinnumerolle ja sähköpostiosoitteelle. Näistä ainakin
asiakkaan nimi ja puhelinnumero on täytettävä.

\kohta{Toiminta:} Tiedot tallennetaan uudeksi \luokka{Asiakas}-tietueeksi
(\ref{asiakas}). Tallentamisen onnistuminen ilmaistaan siirtymällä asiakkaan
tietojen tarkastelusivulle (\ref{asiakkaan_tietojen_tarkastelu}).

\kohta{Virhetilanteet:} Jos kaikkia vaadittuja tietoja ei ole syötetty,
näytetään \nappi{Tallenna}-nappia painettaessa ilmoitus
\ilmoitus{Kohta <kentän nimi> on täytettävä}.
Jos saman niminen asiakas on jo järjestelmässä, näytetään ilmoitus
\ilmoitus{Asiakkaan nimi <asiakkaan nimi> on jo syötetty järjestelmään.}
\end{reunaotsikot}

\subsection{Asiakkaan tietojen tarkastelu}
\begin{figure}[H]
\includegraphics{kayttoliittymakuvat/Asiakkaan_tietojen_tarkastelu.png}
\caption{Asiakkaan tietojen tarkastelusivu.}
\label{kuva_asiakkaan_tietojen_tarkastelu}
\end{figure}
\label{asiakkaan_tietojen_tarkastelu}
\begin{reunaotsikot}
\kohta{Esittely:} Järjestelmään aiemmin syötetyn asiakkaan tiedot näytetään käyttäjälle.
Toiminto avataan asiakaslistan (\ref{asiakaslista}) kautta.

Tarkastelusivulla (kuva \ref{kuva_asiakkaan_tietojen_tarkastelu})
on \luokka{Asiakas}-tietueen tietojen lisäksi napit \nappi{Muokkaa} ja \nappi{Poista}. Näistä edellisellä siirrytään toimintoon  \ref{asiakkaan_tietojen_muokkaaminen} ja jälkimmäinen poistaa asiakkaan tiedot kohdan \ref{poisto} mukaisesti.

Lisäksi linkistä \nappi{näytä} keskeneräisten huoltopyyntöjen kohdalla
siirrytään huoltopyyntölistaan (\ref{huoltopyyntolista}). Hakuehdoksi täytetään
valmiiksi asiakkaan nimi.

\kohta{Toiminta:} Toiminto hakee tiedot \luokka{Asiakas}-tietueesta.
Keskeneräiset huoltopyynnöt lasketaan käymällä läpi
\luokka{Asiakas}--\luokka{Huoltopyyntö} -yhteydet.

\kohta{Virhetilanteet:} Jos kyseistä asiakasta ei ole enää järjestelmässä,
näytetään ilmoitus \ilmoitus{Valittua asiakasta ei ole järjestelmässä}. Näin voi
tapahtua esimerkiksi jos käyttäjä seuraa vanhentunutta linkkiä toiselta sivulta.
\end{reunaotsikot}

\subsection{Asiakkaan tietojen muokkaaminen}
\label{asiakkaan_tietojen_muokkaaminen}
\begin{reunaotsikot}
\kohta{Esittely:} Aikaisemmin järjestelmään syötetyn asiakkaan tietoja muokataan.
Käyttöliittymä on sama kuin kohdassa \ref{asiakkaan_lisaaminen}
(asiakkaan lisääminen), mutta otsikko on "Muokkaa asiakkaan tietoja" ja kentissä
on valmiina nykyiset tiedot.

\kohta{Toiminta:} Kuten asiakkaan lisäämisessä. Lisäksi huomioon otetaan
yhtäaikaiset muokkaukset (\ref{yhtäaikaiset_muokkaukset}).

\kohta{Virhetilanteet:} Kuten asiakkaan lisäämisessä.
\end{reunaotsikot}

\section{Hintatietojen ylläpito}
\subsection{Hintalista}
\label{hintalista}
\begin{figure}[H]
\includegraphics{kayttoliittymakuvat/hintatiedot_tarkastelu.png}
\caption{Hintalistassa näkyvät kaikki järjestelmään tallennetut tuotteet ja
työlajit.}
\label{kuva_hintalista}
\end{figure}

\begin{reunaotsikot}
\kohta{Esittely:} Kaikki järjestelmässä olevat tuotenimikkeet ja hinnat näytetään listassa (kuva \ref{kuva_hintalista}). Lisäksi listasta löytyvät työlajit ja vastaavat tuntihinnat.  Käyttöliittymässä on myös nappi edellä mainittujen tietojen muokkaamiseen (\ref{hintatiedon_muokkaaminen}). 

\kohta{Toiminta:} Syöttämällä tuotehakukenttään jonkin sanan tai osan sanasta, järjestelmä näyttää hakua vastaavat tulokset. Tietojen selaus tapahtuu palkkia vierittämällä molemmissa tapauksissa.

\kohta{Virhetilanteet:} Jos yhtään hakua vastaavaa tulosta ei löydy, tulostetaan sivulle viesti  Hakusanaa vastaavia tuotteita ei löytynyt.
\end{reunaotsikot}

\subsection{Hintatiedon muokkaaminen}
\label{hintatiedon_muokkaaminen}
\begin{figure}[H]
\includegraphics{kayttoliittymakuvat/hintatiedot_muokkaus.png}
\caption{Hintatietojen muokkaussivulla voidaan lisätä, muokata ja poistaa tietoja.}
\label{kuva_hintamuokkaus}
\end{figure}

\begin{reunaotsikot}
\kohta{Esittely:} Toiminnolla voidaan muokata hintalistan tietoja ja luoda kokonaan uusia tuotteita sekä näihin liittyviä hintoja. 
Käyttöliittymä on kuvassa \ref{kuva_hintamuokkaus}.
Lisäksi voidaan poistaa kokonaan jo vanhentuneita tai turhaksi käyneitä hintalistan tietoja.

\kohta{Toiminta:} Hakutoiminto toimii samalla tavalla kuin kohdassa (\ref{hintalista}). Jos käyttäjä haluaa lisätä uuden tuotteen ja hinnan, hän painaa nappia \nappi{Lisää uusi tuote ja hinta}. Tällöin hän kirjaa järjestelmään uuden tuotteen nimen ja hintatiedot. Jos käyttäjä haluaa poistaa tuotteen ja hinnan, hän painaa nappia \nappi{Poista tuote ja hinta}. Lopuksi käyttäjä painaa halutessaan joko  \nappi{Tallenna}-nappia tai \nappi{Palaa tekemättä muutoksia} -nappia. Jompaa kumpaa nappia painaessa järjestelmä palaa hintalistaan. Työlajien ja tuntihintojen tapauksessa toiminnalliset ominaisuudet ovat samat. 

\kohta{Virhetilanteet:} Hakutoiminnoissa eteen voi tulla sama tilanne kuin kohdassa (\ref{hintalista}). Jos vaadittuja tietoja ei ole täytetty, painettaessa \nappi{Tallenna} aukeaa virheilmoitus \ilmoitus{Kohta <Kentän nimi> on täytettävä}.
\end{reunaotsikot}

\section{Työntekijätietojen ylläpito}
Työntekijöiden tietoja voi tarkastella ja muokata vain yrityksen johto. Jokainen työntekijä pääsee kuitenkin muokkaamaan omia tietojaan sivun yläpalkin (\ref{yläpalkki}) linkistä \nappi{omat tiedot}.

\subsection{Työntekijälista}
\label{tyontekijalista}
\begin{figure}[H]
\includegraphics{kayttoliittymakuvat/tyontekijalista.png}
\caption{Työntekijälista}
\label{kuva_tyontekijalista}
\end{figure}

\begin{reunaotsikot}
\kohta{Esittely:} Kaikki järjestelmät työntekijät näkyvät työntekijälistassa, johon päästään käyttöliittymän yläpalkin (\ref{yläpalkki}) \nappi{Työntekijät}-linkistä.
Listasta on mahdollista etsiä työntekijöitä hakutoiminnolla.
Työntekijälistasta (kuva \ref{kuva_tyontekijalista}) pääsee työntekijöiden tarkasteluun (\ref{työntekijän_tarkastelu}) klikkaamalla \nappi{Tarkastele}-linkkiä. \nappi{Lisää työntekijä}-nappia painamalla pääsee työntekijän lisäämiseen (\ref{työntekijän_lisääminen}).

\kohta{Toiminta:} Käyttäjä voi etsiä työntekijöitä syöttämällä hakusanan \nappi{Etsi}-kenttään, jolloin listassa näkyvät hakusanaa vastaavien työntekijöiden nimet sekä lisäksi näihin liittyvät työaika ja oikeudet. Käyttäjä näkee listasta työntekijän nimen, tehdyt työtunnit eli työajan sekä järjestelmään liittyvät käyttöoikeudet.

\kohta{Virhetilanteet:} Jos yhtään hakua vastaavaa työntekijää ei löydy, tulostetaan sivulle viesti \ilmoitus{Hakusanaa vastaavia työntekijöitä ei löytynyt}.
\end{reunaotsikot}

\subsection{Työntekijän lisääminen}
\label{työntekijän_lisääminen}
\begin{reunaotsikot}
\kohta{Esittely:} Käyttäjä pystyy lisäämään uuden työntekijän tiedot. Käyttöliittymä on sama kuin työntekijän tietojen muokkaamisessa (\ref{työntekijän_muokkaaminen}), vain otsikko muuttuu ''Työntekijän lisääminen''-nimiseksi. 

\kohta{Toiminta:} Samanlainen toiminta kuin työntekijän tietojen muokkaamisessa. Kentät vain ovat tässä tapauksessa tyhjiä ja oikeuksien valinta tapahtuu klikkaamalla ruksi valintaruutuun halutun oikeuden kohdalle. 

\kohta{Virhetilanteet:} Samat virhetilanteet kuin työntekijän tietojen muokkaamisessa.
\end{reunaotsikot}


\subsection{Työntekijän tietojen tarkastelu}
\label{työntekijän_tarkastelu}
\begin{figure}[H]
\includegraphics{kayttoliittymakuvat/tyontekijatarkastelu.png}
\caption{Työntekijän tietojen tarkastelunäkymä.}
\label{kuva_tyontekijatarkastelu}
\end{figure}

\begin{reunaotsikot}
\kohta{Esittely:} Toiminnolla voidaan tarkastella työntekijään liittyviä tietoja. Toimintoon siirrytään työntekijälistasta (\ref{tyontekijalista}) kunkin työntekijän kohdalla olevan Tarkastele-linkkiä painamalla. Tarkastelunäkymässä (kuva \ref{kuva_tyontekijatarkastelu} näkyvät työntekijän nimi, käyttäjätunnus, salasana, työaika sekä järjestelmän käyttöön liittyvät oikeudet.

\kohta{Toiminta:} Tietojen tarkastelusta voidaan siirtyä työntekijän tietojen muokkaamiseen painamalla nappia \nappi{Muokkaa}. Lisäksi on mahdollista poistaa työntekijän tiedot järjestelmästä painamalla nappia \nappi{Poista}. Poistettaessa aukeaa varoitusikkuna (\ref{ilmoitukset}), jossa toiminto voidaan hyväksyä painamalla OK-nappia tai vielä peruuttaa painamalla Peruuta-nappia.

\kohta{Virhetilanteet:} Poistettaessa työntekijään liittyy vielä huoltopyyntöjä, ks. kohta \ref{poisto}.
\end{reunaotsikot}

\subsection{Työntekijän tietojen muokkaaminen}
\label{työntekijän_muokkaus}
\begin{figure}[H]
\includegraphics{kayttoliittymakuvat/tyontekijamuokkaus.png}
\caption{Työntekijän tietojen muokkaussivu.}
\label{kuva_tyontekijamuokkaus}
\end{figure}

\begin{reunaotsikot}
\kohta{Esittely:} Käyttäjä voi toiminnolla muokata työntekijään liittyviä tietoja. Tietojen muokkaamiseen siirrytään tietojen tarkastelusta (\ref{työntekijän_tarkastelu}) painamalla nappia \nappi{Muokkaa}. Työntekijän tietojen muokkaamisessa on kentät työntekijän nimelle, käyttäjätunnukselle ja salasanalle (kuva \ref{kuva_tyontekijamuokkaus}).
Lisäksi voidaan kirjoittaa työntekijän työaika vapaamuotoisesti
sekä valita valintaruuduillta työntekijän käyttöoikeudet järjestelmään.

\kohta{Toiminta:} Tietojen muokkaaminen tapahtuu siirtymällä halutun kentän kohdalle ja korvaamalla vanhat tiedot. Järjestelmään liittyviä oikeuksia muutetaan poistamalla ensiksi ruksi oikeuden kohdalla olevasta valintaruudusta klikkaamalla sitä. Tämän jälkeen lisätään haluttu oikeus klikkaamalla uusi ruksi valintaruutuun halutun oikeuden kohdalle. Kun kaikki kentät on täytetty ja toimenpiteet halutaan tallentaa, painetaan \nappi{Tallenna}-nappia. Muutokset on mahdollista myös peruuttaa painamalla \nappi{Peruuta}-nappia.

\kohta{Virhetilanteet:} Jos jotakin kentistä ei ole täytetty, aukeaa käyttäjälle virheilmoitus kyseisen kentän virheellisestä käytöstä. 
\end{reunaotsikot}

\section{Huoltopyyntöjen hallinta}
\subsection{Huoltopyyntölista}
\begin{figure}[H]
\includegraphics[scale=0.5]{kayttoliittymakuvat/huoltopyyntolista}
\caption{Kaikki järjestelmässä olevat huoltopyynnöt löytyvät listasta.}
\label{kuva_huoltopyyntolista}
\end{figure}
\label{huoltopyyntolista}

\begin{reunaotsikot}
\kohta{Esittely:} Kaikki järjestelmän huoltopyynnöt näytetään listassa, josta niitä voi etsiä yksityiskohtaisempaa tarkastelua tai muokkausta varten. Toimintoon päästään käyttöliittymän yläpalkin (\ref{yläpalkki}) \nappi{Huoltopyynnöt} linkistä.  

Huoltopyyntölistasta (kuva \ref{kuva_huoltopyyntolista}) pääsee huoltopyynnön tarkasteluun (\ref{pyynnontarkastelu}) klikkaamalla \nappi{Tarkastele} linkkiä. Asiakkaan tietojen tarkastelusivulle  (\ref{asiakkaan_tietojen_tarkastelu}) pääsee klikkaamalla asiakkaan nimeä. \nappi{Luo uusi huoltopyyntö}-napilla pääsee uuden huoltopyynnön lisäämiseen (\ref{pyynnonlisays}). 

\kohta{Toiminta:} Käyttäjä voi etsiä huoltopyyntöä syöttämällä hakusanan \nappi{Etsi} kenttään, jolloin sivulla näytetään vain hakusanaa vastaavat huoltopyynnöt. Hakusanaa etsitään asiakkaiden nimistä, sekä \luokka{Huoltopyyntö}-tietueen (\ref{huoltopyyntö}) "tunnistenumero", "vastaanottoaika", "ongelman kuvaus" ja "lisätiedot" kentistä. Käyttäjä voi \nappi{näytä}-pudotusvalikosta valita, missä tilassa olevat huoltopyynnöt hän haluaa ainoastaan nähdä. 

Klikkaamalla listan sarakkeiden otsikkoa \nappi{Asiakas}, \nappi{Päivämäärä} tai \nappi{Tilanne} saa listan järjestettyä asiakkaan nimen, huoltopyynnön kirjauspäivämäärän tai huoltopyynnön tilanteen mukaan. Huoltopyynnölle on viisi mahdollista tilannetta, "tehtäviä luotava", "kesken", "valmis", "laskutettu" tai "maksettu". 

\kohta{Virhetilanteet:}  Jos yhtään hakusanaa vastaavaa huoltopyyntöä ei löydy, tulostetaan sivulle viesti \ilmoitus{Hakusanaa vastaavia huoltopyyntöjä ei löytynyt}.
\end{reunaotsikot}

\subsection{Huoltopyynnön lisääminen}
\begin{figure}[H]
\includegraphics[scale = 0.5] {kayttoliittymakuvat/huoltopyynnon_lisaaminen.png}
\caption{Huoltopyynnön lisääminen järjestelmään.}
\label{kuva_lisaa_huoltopyynto}
\end{figure}
\label{pyynnonlisays}

\begin{reunaotsikot}
\kohta{Esittely:} Toiminnolla syötetään asiakkaalta esimerkiksi puhelimitse tullut huoltopyyntö järjestelmään. Huoltopyyntö osoitetaan tietylle vastuuhenkilölle. Käyttöliittymässä (kuva \ref{kuva_lisaa_huoltopyynto}) on kentät  \nappi{Asiakas}, \nappi{Vastaanottoaika}, \nappi{Ongelman kuvaus}, \nappi{Lisätiedot} ja  \nappi{Vastuuhenkilö}.

\kohta{Toiminta:} \nappi{Asiakas} valitaan hakutoiminnon (\ref{hakutoiminnot}) avulla. \nappi{Vastaanottoaika}-kentässä on oletusarvona nykyinen ajanhetki, mutta sitä voi myös muuttaa. \nappi{Ongelman kuvaus} on vapaamuotoinen tekstikenttä. \nappi{Lisätiedot} on myös vapaamuotoinen tekstikenttä, johon syötetään esimerkiksi tiedot laitteiden hakemisesta tai huollosta paikan päällä. \nappi{Vastuuhenkilö} valitaan hakutoiminnon avulla.

Kentät \nappi{Asiakas}, \nappi{Vastaanottoaika}, \nappi{Ongelman kuvaus} ja \nappi{Vastuuhenkilö} ovat pakollisia. Huoltopyynnölle luodaan automaattisesti uniikki tunnistenumero ja tiedot tallennetaan uudeksi \luokka{Huoltopyyntö}-tietueeksi (\ref{huoltopyyntö}). Tallennuksen onnistuminen ilmaistaan siirtymällä huoltopyynnön tarkastelusivulle (\ref{pyynnontarkastelu}). 

\kohta{Virhetilanteet:} Jos kaikkia vaadittuja tietoja ei ole täytetty, painettaessa \nappi{Tallenna} aukeaa virheilmoitus \ilmoitus{Kohta <kentän nimi> on täytettävä}. 
\end{reunaotsikot}

\subsection{Huoltopyynnön tarkastelu}
\begin{figure}[H]
\includegraphics[scale=0.5]{kayttoliittymakuvat/huoltopyynnon_tarkastelu}
\caption{Huoltopyynnön tarkastelunäkymä.}
\label{kuva_huoltopyynnon_tarkastelu}
\end{figure}
\label{pyynnontarkastelu}

\begin{reunaotsikot}
\kohta{Esittely:} Käyttäjä näkee huoltopyynnöstä ja siihen liittyvistä huoltotehtävistä tallennetut tiedot (kuva \ref{kuva_huoltopyynnon_tarkastelu}). Toimintoon tullaan, joko huoltopyyntölistan (\ref{huoltopyyntolista}) tai oman työlistan (\ref{tyolista}) kautta. 

Sivun nappien \nappi{Muokkaa huoltopyyntöä}, \nappi{Lisää huoltotehtävä} ja \nappi{Laskuta} kautta siirrytään kohtiin  (\ref{pyynnonmuokkaaminen}), (\ref{tehtavanlisaaminen}) ja (\ref{laskunluominen}). Huoltopyynnön voi merkitä valmiiksi (\ref{pyynnon_valmiiksi_merkitseminen}) painamalla \nappi{Merkitse valmiiksi}-nappia tai poistaa järjestelmästä painamalla \nappi{poista}-nappia.
 
Huoltotehtävän kohdalla olevaa \nappi{Muokkaa}-nappia klikkaamalla pääsee kyseisen huoltotehtävän muokkaamiseen (\ref{tehtavanmuokkaus}). Jokaisen huoltotehtävän kohdalla on myös napit \nappi{Valmis} ja \nappi{Poista}, joita painamalla voidaan huoltotehtävä joko merkitä valmiiksi tai poistaa järjestelmästä.

\kohta{Toiminta:} Toiminto hakee tiedot \luokka{Huoltopyyntö}-tietueesta (\ref{huoltopyyntö}). Huoltopyyntöön liittyvien huoltotehtävien tiedot (\ref{huoltotehtävä}) saadaan \luokka{Huoltopyyntö}-\luokka{Huoltotehtävä} yhteyden kautta.

\kohta{Virhetilanteet:} Ei virhetilanteita.
\end{reunaotsikot}

\subsection{Huoltopyynnön muokkaaminen}
\label{pyynnonmuokkaaminen}

\begin{reunaotsikot}
\kohta{Esittely:} Käyttäjä pystyy muokkaamaan järjestelmään tallennetun huoltopyynnön tietoja. Sama käyttöliittymä kuin huoltopyynnön lisäämisessä (\ref{pyynnonlisays}), mutta sivun otsikko on "Muokkaa huoltopyyntöä". 

\kohta{Toiminta:} Samanlainen toiminta kuin huoltopyynnön lisäämisessä (\ref{pyynnonlisays}). Lisäksi käyttäjä voi merkitä huoltopyynnön valmiiksi tai takaisin keskeneräiseksi muokkaamalla \nappi{Huoltopyyntö on valmis} valintaruutua (kuva \ref{kuva_lisaa_huoltopyynto}). Tallennettaessa uudet syötteet korvaavat huoltopyynnön vanhat tiedot.

\kohta{Virhetilanteet:} Samat virhetilanteet kuin huoltopyynnön lisäämisessä (\ref{pyynnonlisays}).
\end{reunaotsikot}

\subsection{Huoltopyynnön merkitseminen valmiiksi}
\label{pyynnon_valmiiksi_merkitseminen}

\begin{reunaotsikot}
\kohta{Esittely:} Huoltopyynnön vastuuhenkilö merkitsee huoltopyynnön suoritetuksi, jotta se voidaan laskuttaa.

\kohta{Toiminta} Toiminto tapahtuu painamalla \nappi{Merkitse valmiiksi} huoltopyynnön tarkastelusivulla (kuva \ref{kuva_huoltopyynnon_tarkastelu}). Järjestelmä tarkistaa, että kaikki huoltopyyntöön liittyvät huoltotehtävät ovat valmiita. Huoltopyynnön uusi tila tallennetaan järjestelmään. Toiminnon onnistuminen ilmaistaan siirtymällä huoltopyyntölistaan (\ref{huoltopyyntolista}), jossa huoltopyyntö näkyy valmiina.

\kohta{Virhetilanteet:} Jos kaikkia huoltopyyntöön liittyviä huoltotehtäviä ei ole vielä suoritettu, aukeaa virheilmoitus \ilmoitus{Huoltopyynnössä on vielä suorittamattomia tehtäviä}.
\end{reunaotsikot}


\section{Huoltotehtävien hallinta}
\subsection{Huoltotehtävän lisääminen}
\begin{figure}[H]
\includegraphics[scale=0.5]{kayttoliittymakuvat/huoltotehtavan_lisays}
\caption{Huoltotehtävän luominen huoltopyyntöön.}
\label{kuva_tehtavan_lisays}
\end{figure}
\label{tehtavanlisaaminen}

\begin{reunaotsikot}
\kohta{Esittely:} Toiminnolla lisätään huoltopyyntöön yksi huoltotehtävä ja osoitetaan se jollekin työntekijälle.

\kohta{Toiminta:}  \nappi{Kuvaus}-kenttään kirjoitetaan vapaamuotoinen kuvaus huoltotehtävästä. \nappi{Valmis viimeistään}-kenttään syötetään päivämäärä jolloin tehtävän tulisi olla suoritettu. Työntekijän nimi, jolle huoltotehtävä osoitetaan syötetään \nappi{Työntekijä}-kenttään. \nappi{Työlaji} kohdasta valitaan millaista työtä tehtävä sisältää, esimerkiksi ohjelmiston asennus. Järjestelmässä on valmiiksi syötettynä työlajeja ja niiden tuntihintoja.

Tallennettaessa tarkistetaan, että kaikki käyttöliittymässä (kuva \ref{kuva_tehtavan_lisays}) näkyvät kentät on täytetty. Huoltotehtävälle luodaan automaattisesti uniikki tunnistenumero ja tiedot tallennetaan uudeksi \luokka{Huoltotehtävä}-tietueeksi (\ref{huoltotehtävä}). Huoltotehtävän tallentumisesta ilmoitetaan siirtymällä takaisin huoltopyynnön tarkasteluun (\ref{pyynnontarkastelu}), jossa juuri luotu huoltotehtävä näkyy.

\kohta{Virhetilanteet:} Jos jokin kentistä on täyttämättä, painettaessa \nappi{Tallenna} aukeaa virheilmoitus \ilmoitus{Kohta <kentän nimi> on täytettävä}.
\end{reunaotsikot}

\subsection{Huoltotehtävän muokkaaminen}
\begin{figure}[H]
\includegraphics[scale=0.5]{kayttoliittymakuvat/huoltotehtavan_muokkaus}
\caption{Huoltotehtävän muokkaus.}
\label{tehtavan_muokkaus}
\end{figure}
\label{tehtavanmuokkaus}

\begin{reunaotsikot}
\kohta{Esittely:} Työntekijä muokkaa aikaisemmin lisätyn huoltotehtävän (\ref{huoltotehtävä}) tietoja. Hän voi merkitä tehtävän suorittamiseen liittyneitä toimenpiteitä, käytetyt työtunnit sekä ostetut tuotteet. Käyttöliittymässä (kuva \ref{tehtavan_muokkaus}) on  myös mahdollisuus merkitä huoltotehtävä valmiiksi. 

\kohta{Toiminta:} Sama kuin huoltotehtävän lisäämisessä (\ref{tehtavanlisaaminen}). Lisäksi \nappi{Toimenpiteet}-kenttä, johon käyttäjä voi vapaamuotoisesti kirjoittaa tehtävän suoritukseen liittyneitä toimenpiteitä. \nappi{Työtunnit}-kenttään merkitään huoltotehtävän suoritukseen kuluneet työtunnit. 

Käyttäjä voi etsiä ja lisätä huoltotehtävän suorittamiseen tarvittavia tuotteita kirjoittamalla hakusanan \nappi{Lisää tuote}-kenttään. Hakusanaa vastaavat tuotteet näytetään listassa, josta niitä voidaan valita. Valitut tuotteet ja niiden hinnat näytetään \nappi{Tuotteet}-taulukossa. Tuotteita voi myös poistaa taulukosta \nappi{Poista}-napilla. Huoltotehtävän voi merkitä valmiiksi laittamalla ruksin kohtaan \nappi{Huoltotehtävä on valmis}.

Tallennettaessa tarkistetaan, että kentät  \nappi{Kuvaus}, \nappi{Valmis viimeistään}, \nappi{Työntekijä} ja \nappi{Työlaji} on täytetty. Syötetyt tiedot tallentuvat vanhan huoltopyynnön tietojen päälle. Tietojen tallentuminen ilmaistaan palaamalla huoltopyynnön tarkastelunäkymään (\ref{pyynnontarkastelu}).

\kohta{Virhetilanteet:} Jos jokin pakollisista kentistä on täyttämättä, painettaessa \nappi{Tallenna} aukeaa virheilmoitus \ilmoitus{Kohta <kentän nimi> on täytettävä}.
\end{reunaotsikot}

\section{Työlistat}

\label{tyolista}

\begin{figure}[H]
\includegraphics{kayttoliittymakuvat/Tyolista.PNG}
\caption{Työlista}
\label{kuva_Tyolista}
\end{figure}

Työlistassa (kuva \ref{kuva_Tyolista} ) näkyvät huoltopyynnöt, joihin käyttäjällä on mahdollista tehdä muutoksia. Huoltopyynnöistä esitetään kohdassa \ref{huoltopyyntö} määritellyt tiedot. Asiakaspalvelijalle näkyvät kaikki maksamattomat huoltopyynnöt. Vastuuhenkilölle näkyvät hänen vastuullaan olevat huoltopyynnöt. Huoltotyöntekijälle näkyvät huoltopyynnöt, joihin hänelle on luotu huoltotehtäviä.

Jos käyttäjällä on useampia oikeuksia, työlista järjestetään aina järjestyksessä: vastuuhenkilön, huoltotyöntekijän ja asiakaspalvelijan huoltopyynnöt.

\subsection{Asiakaspalvelun työlista}
\begin{reunaotsikot}
\kohta{Esittely:} Asiakaspalvelun työlista toimii kuten huoltopyyntölista (\ref{huoltopyyntolista}). Poikkeuksena asiakaspalvelija näkee vain huoltopyynnöt, joita ei ole vielä merkitty maksetuiksi.

\kohta{Toiminta:} Kuten huoltopyyntölista (\ref{huoltopyyntolista}). Asiakaspalvelu voi lisäksi luoda uusia huoltopyyntöjä \nappi{Luo uusi huoltopyyntö} painikkeesta, josta pääsee huoltopyynnön lisäämiseen (\ref{pyynnonlisays}). Asiakaspalvelija ei voi valita \nappi{Näytä} valikosta vaihtoehtoa "Maksettu".

\kohta{Virhetilanteet:} Ei virhetilanteita.
\end{reunaotsikot}

\subsection{Vastuuhenkilön työlista}
\begin{reunaotsikot}
\kohta{Esittely:} Vastuuhenkilön työlista toimii kuten huoltopyyntölista (\ref{huoltopyyntolista}). Poikkeuksena työntekijä näkee vain keskeneräiset huoltopyynnöt, joihin hänet on merkitty vastuuhenkilöksi. Vastuuhenkilöllä ei myöskään ole oikeuksia luoda uusia huoltopyyntöjä. 

\kohta{Toiminta:} Vastuuhenkilö pääsee \nappi{Tarkastele} linkistä kyseisen huoltopyynnön tarkasteluun \ref{pyynnontarkastelu}, josta hän voi lisätä uusia huoltotehtäviä ja merkitä huoltopyynnön valmiiksi. Vastuuhenkilö voi valita \nappi{Näytä} valikosta vain vaihtoehdot "Tehtäviä luotava" tai "Kesken".

\kohta{Virhetilanteet:} Ei virhetilanteita.
\end{reunaotsikot}

\subsection{Huoltotyöntekijän työlista}

\begin{figure}[H]
\includegraphics{kayttoliittymakuvat/Tyolista_huoltotyontekija.PNG}
\caption{Huoltotyöntekijän työlista}
\label{kuva_huoltotyontekijan_tyolista}
\end{figure}

\begin{reunaotsikot}
\kohta{Esittely:} Huoltotyöntekijän työlista (kuva \ref{kuva_huoltotyontekijan_tyolista}) toimii kuten huoltopyyntölista (\ref{huoltopyyntolista}). Poikkeuksena työntekijä näkee vain huoltopyynnöt, joihin hänelle on merkitty keskeneräisiä työtehtäviä. Omista työtehtävistä näkyy työlistassa huoltopyynnön \nappi{Kuvaus} -sarakkeessa huoltotehtävän kuvaus \ref{huoltotehtävä} . Huoltotyöntekijällä ei ole oikeuksia luoda uusia huoltopyyntöjä.

\kohta{Toiminta:} Huoltotyöntekijä pääsee \nappi{Tarkastele} linkistä kyseisen huoltopyynnön tarkasteluun \ref{pyynnontarkastelu}, josta hän voi muokata omia huoltotehtäviään ja merkitä niitä valmiiksi.

\kohta{Virhetilanteet:} Ei virhetilanteita.

\end{reunaotsikot}

\section{Laskutustoiminnot}

\subsection{Laskulista}
\label{laskulista}

\begin{figure}[H]
\includegraphics{kayttoliittymakuvat/Laskulista.PNG}
\caption{Laskulista}
\label{kuva_laskulista}
\end{figure}

\begin{reunaotsikot}

\kohta{Esittely:} Toimintoon pääsee yläpalkissa olevan linkin \nappi{Laskulista} kautta. Laskulistassa (kuva \ref{kuva_laskulista}) näkyvät kaikki yrityksen laskut. Laskuista esitetään kappaleessa \ref{lasku} esitetyt tiedot. Laskuja voi etsiä asiakkaan, eräpäivän ja hinnan mukaan. Listasta pääsee lakun tarkasteluun.
\kohta{Toiminta:} Laskulistan etsintäkenttään syötetään joko etsittävä asiakas, eräpäivä tai hinta. Painamalla \nappi{Etsi} painiketta järjestelmä etsii parametrejä vastaavat laskut ja esittää ne etsintäkentän alla olevassa taulukossa. Järjestelmässä voi valita \nappi{Näytä maksetut laskut} -painikkeella näyttääkö järjestelmä jo maksetut laskut.
Klikkaamalla \nappi{Asiakas}, \nappi{Eräpäivä} tai \nappi{Tilanne} kentässä olevaa nuolta käyttäjä voi järjestää taulukon laskut kenttien mukaan. Klikkaamalla asiakkaan nimeä käyttäjä pääsee asiakkaan tietojen tarkasteluun (\ref{asiakkaan_tietojen_tarkastelu}). \nappi{Tarkastele} linkistä pääsee laskun tarkasteluun (\ref{laskuntarkastelu}).
\kohta{Virhetilanteet:} Ei virhetilanteita.

\end{reunaotsikot}

\subsection{Laskun luominen}
\label{laskunluominen}

\begin{reunaotsikot}

\kohta{Esittely:} Kun käyttäjä luo laskun huoltopyynnön tarkastelun kautta (\ref{pyynnontarkastelu}), järjestelmä luo automaattisesti laskun huoltopyynnön ja asiakastietojen avulla.
\kohta{Toiminta:} Varsinainen toiminto tapahtuu automaattisesti ja käyttäjä siirtyy huoltopyynnön tarkastelusta luodun laskun tarkasteluun (\ref{laskuntarkastelu}).
\kohta{Virhetilanteet:} Ei virhetilanteita.

\end{reunaotsikot}

\subsection{Laskun tarkastelu}
\label{laskuntarkastelu}

\begin{figure}[H]
\includegraphics{kayttoliittymakuvat/Laskun_tarkastelu.PNG}
\caption{Laskun tarkastelu}
\label{kuva_laskun_tarkastelu}
\end{figure}

\begin{reunaotsikot}

\kohta{Esittely:} Laskun tarkastelussa (kuva \ref{kuva_laskun_tarkastelu}) näkyy kenelle lasku on osoitettu, milloin sen eräpäivä on, mihin huoltopyyntöön se liittyy ja mitä tuotteita ja palveluja laskuun kuuluu. Tarkastelussa näkyy myös milloin ja millaisia (e-mail tai tulostettu) laskuja laskusta on lähetetty. Laskun tarkasteluun siirrytään joko huoltopyynnön tarkastelusta (\ref{pyynnontarkastelu}) tai laskulistasta (\ref{laskulista}). Tarkastelusta pääsee laskun muokkaukseen (\ref{laskunmuokkaus}) ja lähetykseen (\ref{laskunlähetys}). Laskun voi myös merkitä maksetuksi.
\kohta{Toiminta:} Klikkaamalla asiakkaan nimeä pääsee asiakastietojen tarkasteluun (\ref{asiakkaan_tietojen_tarkastelu}). Painamalla \nappi{Muokkaa} painiketta siirrytään laskun muokkaamiseen \ref{Laskun muokkaus}. \nappi{Tulosta} ja \nappi{Lähetä sähköpostina} napeista siirrytään laskun lähetykseen \ref{laskunlähetys}. \nappi{Merkitse maksetuksi} painikkeesta lasku merkitään maksetuksi. \nappi{Huoltopyynto} linkistä siirrytään huoltopyynnön tarkasteluun \ref{pyynnontarkastelu}.
\kohta{Virhetilanteet:} Ei virhetilanteita.

\end{reunaotsikot}

\subsection{Laskun muokkaus}
\label{laskunmuokkaus}

\begin{figure}[H]
\includegraphics{kayttoliittymakuvat/Laskun_muokkaus.PNG}
\caption{Laskun muokkaus}
\label{kuva_laskun_muokkaus}
\end{figure}

\begin{reunaotsikot}

\kohta{Esittely:} Laskun muokkaukseen (kuva \ref{kuva_laskun_muokkaus} siirrytään laskun tarkastelusta (\ref{laskuntarkastelu}). Tilassa voi muokata laskun saajan nimeä ja osoitetta, laskun eräpäivää ja laskuun liittyviä tuotteita ja palveluja. Muokkauksessa näkyy myös maksun saajan tiedot( pankki, tilinumero ja saaja ). 
\kohta{Toiminta:}  Laskun tiedot on esitäytetty laskua luodessa (\ref{laskunluominen}). \nappi{Nimi} ja \nappi{Osoite} kenttään syötetään laskun saajan nimi ja osoite. \nappi{Eräpäivä} kenttään syötetään laskun eräpäivä. 
Laskuun liittyviä tuotteita voi poistaa klikkaamalla tuotteen vieressä olevaa \nappi{Poista} painiketta. Tuotteita voi lisätä syöttämällä \nappi{lisää} painikkeen viereisiin kenttiin tuotteen kuvauksen ja hinnan ja painamalla \nappi{lisää} painiketta.
Tehdyt muutokset tallennetaan painamalla \nappi{Hyväksy} painiketta. Painamalla \nappi{Peruuta} painiketta peruutetaan tehdyt muutokset. Kun muutokset on joko peruutettu tai hyväksytty, siirrytään takaisin laskun tarkasteluun (\ref{laskuntarkastelu}). 
\kohta{Virhetilanteet:} Jos käyttäjän painaessa \nappi{Hyväksy} painiketta jotakin kentistä ei ole täytetty tai laskusta on poistettu kaikki tuotteet, annetaan virheilmoitus (\ref{ilmoitukset}) kyseisen kentän virheellisestä täytöstä.

\end{reunaotsikot}

\subsection{Laskun lähetys}
\label{laskunlähetys}

\begin{figure}[H]
\includegraphics{kayttoliittymakuvat/Laskun_lahetys.PNG}
\caption{Laskun lähetys}
\label{kuva_laskun_lahetys}
\end{figure}

\begin{reunaotsikot}

\kohta{Esittely:} Laskun lähetykseen (kuva \ref{kuva_laskun_lahetys}) siirrytään laskun tarkastelusta(\ref{laskuntarkastelu}). Laskun lähetyksessä näkyy kaikki laskun muokkauksessa esitetyt tiedot \ref{laskunmuokkaus}. Käyttäjä voi vielä tässä tilassa varmistaa, että kaikki laskuun liittyvät tiedot ovat oikein. 
\kohta{Toiminta:} Painamalla \nappi{Peruuta} painiketta siirrytään takaisin laskun tarkasteluun. \nappi{Hyväksy} painikkeesta lasku joko tulostetaan tai lähetetään asiakkaan sähköpostiin riippuen siitä, tultiinko tilaan laskun tarkastelun painikkeesta \nappi{Tulosta} vai \nappi{Lähetä sähköpostina}.
\kohta{Virhetilanteet:} Jos lasku on tarkoitus lähettää sähköpostina ja asiakkaalle ei ole merkitty sähköpostiosoitetta, annetaan käyttäjälle virheilmoitus (\ref{ilmoitukset}).

\end{reunaotsikot}

