diff --git a/varaaminen-1.py b/varaaminen-1.py
new file mode 100644
index 0000000000000000000000000000000000000000..387d58d4ce98e968bfdad8ec2fbd892fdc1dec91
--- /dev/null
+++ b/varaaminen-1.py
@@ -0,0 +1,141 @@
+import copy
+import json
+
+eka_sali = [[1,2,3,4,5,6,7,8,9,10],
+            [11,12,13,14,15,16,17,18,19,20],
+            [21,22,23,24,25,26,27,28,29,30],
+            [31,32,33,34,35,36,37,38,39,40],
+            [41,42,43,44,45,46,47,48,49,50],
+            [51,52,53,54,55,56,57,58,59,60],
+            [61,62,63,64,65,66,67,68,69,70],
+            [71,72,73,74,75,76,77,78,79,80],
+            [81,82,83,84,85,86,87,88,89,90],
+            [91,92,93,94,95,96,97,98,99,100]]
+
+toka_sali = [[1,2,3,4,5,6,7],  
+            [8,9,10,11,12,13,14], 
+            [15,16,17,18,19,21,22],
+            [23,24,25,26,27,28,29],
+            [30,31,32,33,34,35,36],
+            [37,38,39,40,41,42,43],
+            [44,45,46,47,48,49,50]]
+
+kolmas_sali = [[1,2,3,4,5,],
+               [6,7,8,9,10],
+               [11,12,13,14,15],
+               [16,17,18,19,20],
+               [21,22,23,24,25]]
+
+elokuvalista = {'Nälkäpeli': ('2h 37min', 16), 'Dune': ('3h 30min', 12)}
+naytosajat = {'Nälkäpeli': [["12.12 12:00", "3 sali", copy.deepcopy(kolmas_sali)],
+                            ["13.12 14:30", "2 sali", copy.deepcopy(toka_sali)]],
+               'Dune': []}
+  
+
+
+def tulosta_naytokset(elokuva):
+    for i in range(len(naytosajat[elokuva])):
+        print(naytosajat[elokuva][i][0], naytosajat[elokuva][i][1])
+
+def tulosta_sali(lista):
+    for rivi in lista:
+        print(rivi)
+
+def varaa_paikka(sali, paikka):
+    for rivi in sali:
+        for penkki in rivi:
+            if penkki == paikka:
+                penkki == "X"
+
+def on_varattavissa(sali, paikka):
+    for rivi in sali:
+        for penkki in rivi:
+            if penkki == paikka:
+                if penkki == "X":
+                    return False
+    return True
+
+def tee_varaus(elokuva,naytos):
+    
+    onVarannut = False
+    salikartta = naytosajat[elokuva][naytos][2]
+    while not onVarannut:
+        paikka = int(input("Anna paikan numero: "))
+        if on_varattavissa(salikartta, paikka):
+            varaa_paikka(salikartta, paikka)
+            onVarannut = True
+        else:
+            print("Varaa toinen paikka.")
+    return paikka
+
+def varaa_elokuva():
+    elokuvaValittu = False
+    while not elokuvaValittu:
+        elokuva = input("Valitse haluamasi elokuva: ")#syötetään haluttu elokuvan nimi
+        if elokuva in naytosajat: #käy läpi onko elokuva näytosajat sanakirjassa
+            elokuvaValittu = True
+             #jos on, tulostaa elokuvaa vastaavat näytökset
+        else: 
+            print("Elokuva ei ole ohjelmistossa.") #jos elokuva ei ole näytösajoissa, kertoo että elokuva ei ole nähtävissä
+    tulosta_naytokset(elokuva)
+
+    naytos = int(input("Valitse haluamasi näytös: "))# 0 eka näytös, 1 toinen näytös, 2 kolmas näytös
+    #TODO tee silmukka, jossa käyt elokuvan näytösajat
+    
+    sali = naytosajat[elokuva][naytos][2]
+    if  sali == eka_sali:
+        tulosta_sali(eka_sali)
+        nimi = input("Anna nimi, jolle varaus tehdään: ")
+        paikka = tee_varaus(elokuva,naytos)
+               
+    elif sali == toka_sali:
+        tulosta_sali(toka_sali)
+        nimi = input("Anna nimi, jolle varaus tehdään: ")
+        paikka = tee_varaus(elokuva,naytos)
+
+    elif sali == kolmas_sali:
+        tulosta_sali(kolmas_sali)
+        nimi = input("Anna nimi, jolle varaus tehdään: ")
+        paikka = tee_varaus(elokuva,naytos)
+                     
+
+    varaus = {"Elokuva" : elokuva, "Näytös" : naytos, "Nimi": nimi, "Paikka" : paikka}
+    with open("varaukset.txt", mode="a", encoding="utf-16") as f:
+        f.write(json.dumps(varaus))
+        
+    print(varaus)
+    print("Kiitos varauksesta!")
+    main_varaus()
+    
+
+def muokkaa_varausta():
+    muokkaa = input("Anna näytös, jonka varausta haluat muokata: ")
+    print(muokkaa) #pitäs printata näytöksen salikartan
+    v_paikka = input("Anna edellisen paikan numero:")
+     # X muuttuu takaisin oikeaksi numeroksi, jolloin varaus peruuntunut, en osaa tehdä
+    print("Varaus peruutettu!")
+    print("1 en halua tehdä uutta varausta (palaa aloitusvalikkoon)")
+    print("2 haluan tehdä uuden varauksen")
+    arvo = int(input("Anna toiminto: "))
+    if arvo == 1:
+        main_varaus()
+    elif arvo == 2:
+        varaa_elokuva()
+
+
+def main_varaus():
+    #TODO lue varaukset tiedostosta
+    print("1 varaa elokuva")
+    print("2 muokkaa varausta")
+    print("3 palaa etusivulle")
+    arvo = int(input("Anna toiminto: "))
+    if arvo == 1:
+        varaa_elokuva()
+    elif arvo == 2:
+        muokkaa_varausta()
+    elif arvo == 3:
+        print("Kiitos ja hei! (palaa etusivulle)")
+       # main() #pitäskö alotus laittaa omana funktiona niin pääsis varauksesta ja administ helpost etusivulle vai oonko ihan tyhäm?
+
+
+main_varaus()