diff --git a/VerkkokauppaUI.java b/VerkkokauppaUI.java
index 66ea3b2f2e93b455930dc0af9e1275f2164792fd..d3129df44bbc26455600819fc9c9dc7cc00f4757 100644
--- a/VerkkokauppaUI.java
+++ b/VerkkokauppaUI.java
@@ -31,8 +31,6 @@ public class VerkkokauppaUI {
         }
     }
 
-
-
     private void asiakasMenu() {
         int valinta = -1;
         while (valinta != 0) {
@@ -85,7 +83,7 @@ public class VerkkokauppaUI {
             System.out.println("4. Muuta hintaa");
             System.out.println("0. Poistu");
 
-            valinta = lueKokonaisluku(0, 4,"Anna valinta");
+            valinta = lueKokonaisluku(0, 4, "Anna valinta");
             if (valinta == 1) {
                 String nimi = lueMerkkijono("Nimi");
                 double hinta = lueDesimaaliluku(0, Tuote.MAKSIMIHINTA, "Anna hinta");
@@ -161,7 +159,78 @@ public class VerkkokauppaUI {
      * TODO: Toteuta tämä demojen 2. tehtävänä - katso demosta tarkemmat ohjeet
      */
     private void ostotapahtumaMenu() {
+        int valinta = -1;
+        while (valinta != 0) {
+            System.out.println(verkkokauppa.listaaTapahtumat());
+            System.out.println();
+            System.out.println("1. Lisää ostotapahtuma");
+            System.out.println("2. Poista ostotapahtuma");
+            System.out.println("0. Poistu");
+
+            valinta = lueKokonaisluku(0, 2, "Anna valinta");
+            if (valinta == 1) {
+                String myyjat = verkkokauppa.listaaMyyjat();
+                System.out.println(myyjat);
+                String valittuMyyja = lueMerkkijono("Anna myyjän tunniste: ");
+
+                Myyja myyja = verkkokauppa.annaMyyja(valittuMyyja);
+                if (myyja == null) {
+                    System.out.println("Myyjää ei löytynyt.");
+                    return;
+                }
+
+                String asiakkaat = verkkokauppa.listaaAsiakkaat();
+                System.out.println(asiakkaat);
+                String valittuAsiakas = lueMerkkijono("Anna asiakkaan tunniste: ");
+
+                Asiakas asiakas = verkkokauppa.annaAsiakas(valittuAsiakas);
+                if (asiakas == null) {
+                    System.out.println("Asiakasta ei löytynyt.");
+                    return;
+                }
 
+                String tuotteet = verkkokauppa.listaaTuotteet();
+                System.out.println(tuotteet);
+                String valittuTuote = lueMerkkijono("Anna tuotteen nimi: ");
+
+                Tuote tuote = verkkokauppa.annaTuote(valittuTuote);
+                if (tuote == null) {
+                    System.out.println("Tuotetta ei löytynyt.");
+                    return;
+                }
+
+                int tuoteMaara = lueKokonaisluku(0, tuote.getSaldo(), "Anna ostettavien tuotteiden määrä: ");
+
+                Ostotapahtuma ostotapahtuma = new Ostotapahtuma(asiakas, myyja, tuote, tuoteMaara);
+                int ale = asiakas.getAlennusprosentti();
+                double hinta = ostotapahtuma.getHinta();
+
+                hinta = hinta - hinta * (ale / 100.0);
+
+                System.out.println("Hinta: " + hinta + " euroa.");
+
+                verkkokauppa.lisaaTapahtuma(ostotapahtuma);
+                asiakas.lisaaOsto(hinta);
+                myyja.lisaaProvisio(hinta * 0.1);
+                tuote.setSaldo(tuote.getSaldo() - tuoteMaara);
+                System.out.println("Ostotapahtuma lisätty!");
+            } else if (valinta == 2) {
+                String tapahtumat = verkkokauppa.listaaTapahtumat();
+                System.out.println(tapahtumat);
+
+                String valittuTapahtuma = lueMerkkijono("Anna poistettavan tapahtuman tunniste: ");
+
+                int valittuTapahtumaInt = Integer.parseInt(valittuTapahtuma) - 1;
+                Ostotapahtuma tapahtuma = verkkokauppa.annaTapahtuma(valittuTapahtumaInt);
+                if (tapahtuma == null) {
+                    System.out.println("Tapahtumaa ei löytynyt.");
+                    return;
+                }
+                verkkokauppa.poistaOstotapahtuma(tapahtuma);
+                System.out.println("Ostotapahtuma poistettu!");
+
+            }
+        }
     }
 
     private void tulostaMenu() {
@@ -172,14 +241,13 @@ public class VerkkokauppaUI {
         System.out.println("0. Poistu");
     }
 
-
     /**
      * Lukee käyttäjältä syötteen ja palauttaa sen kokonaislukuna.
      * Kokonaisluvun tulee olla annetun minimi ja maksimiarvon välissä.
      *
      * @param minimi  pienin sallittu arvo
      * @param maksimi suurin sallittu arvo
-     * @param kehote käyttäjälle näytetty kehote
+     * @param kehote  käyttäjälle näytetty kehote
      * @return käyttäjän syötteen kokonaislukuna
      */
     private int lueKokonaisluku(int minimi, int maksimi, String kehote) {
@@ -204,7 +272,7 @@ public class VerkkokauppaUI {
      *
      * @param minimi  pienin sallittu arvo
      * @param maksimi suurin sallittu arvo
-     * @param kehote käyttäjälle näytetty kehote
+     * @param kehote  käyttäjälle näytetty kehote
      * @return käyttäjän syötteen liukulukuna
      */
     private double lueDesimaaliluku(double minimi, double maksimi, String kehote) {