diff --git a/smash/web/admin.py b/smash/web/admin.py
index 8c38f3f3dad51e4585f3984282c2a4bec5349c1e..33e2f64faae706eff5339c00ade67c9057eae1f9 100644
--- a/smash/web/admin.py
+++ b/smash/web/admin.py
@@ -1,3 +1,15 @@
 from django.contrib import admin
 
+from models import *
 # Register your models here.
+admin.site.register(Subject)
+admin.site.register(Visit)
+admin.site.register(Item)
+admin.site.register(Room)
+admin.site.register(AppType)
+admin.site.register(Language)
+admin.site.register(Worker)
+admin.site.register(FlyingTeam)
+admin.site.register(Avaibility)
+admin.site.register(Holiday)
+admin.site.register(Appointment)
diff --git a/smash/web/models.py b/smash/web/models.py
index bd4b2abe9e8520ac85fee31e2fd7ed02997b4eaa..d4a477f1d6f30213c8a18c468f6de6862adf1015 100644
--- a/smash/web/models.py
+++ b/smash/web/models.py
@@ -1,5 +1,110 @@
 from __future__ import unicode_literals
 
 from django.db import models
+from django.utils import timezone
+from django.contrib.auth.models import User
+
+
+class Subject(models.Model):
+    sex = models.CharField(max_length=1)
+    firstName = models.CharField(max_length=50)
+    lastName = models.CharField(max_length=50)
+    language = models.CharField(max_length=20)
+    phoneNo = models.CharField(max_length=20)
+    email = models.EmailField()
+    born = models.DateField()
+    address = models.CharField(max_length=255)
+    postalCode = models.CharField(max_length=6)
+    city = models.CharField(max_length=50)
+    screeningNo = models.CharField(max_length=50)
+    ndno = models.CharField(max_length=6)
+    visitNumber = models.IntegerField()
+    mpowerId = models.CharField(max_length=20)
+    subjectStatus = models.CharField(max_length=3)
+    mainPseudonym = models.CharField(max_length=45)
+    comments = models.CharField(max_length=2000)
+
+
+class Visit(models.Model):
+    subject = models.ForeignKey(Subject, on_delete=models.CASCADE)
+    visitBegin = models.DateTimeField()
+    visitEnd = models.DateTimeField()
+    assesmentNo = models.IntegerField()
+    visitType = models.IntegerField()
+    visitFinished = models.BooleanField()
+
+
+class Item (models.Model):
+    isFixed = models.BooleanField
+    name = models.CharField(max_length = 255)
+
+
+class Room (models.Model):
+    possEquipment = models.ManyToManyField(Item)
+    owner = models.CharField(max_length = 50)
+    address = models.CharField(max_length = 255)
+    city = models.CharField(max_length = 50)
+    roomNo = models.IntegerField()
+    floor = models.IntegerField()
+    isVehicle = models.BooleanField()
+
+
+class AppType (models.Model):
+    reqEquipment = models.ManyToManyField(Item)
+    followUp = models.ForeignKey('self')
+    apCode = models.CharField(max_length = 20)
+    apDescription = models.CharField(max_length = 2000)
+    apDefaultTime = models.IntegerField()
+    apRestTime = models.IntegerField()
+
+
+class Language (models.Model):
+    name = models.CharField(max_length = 20)
+    image = models.ImageField()
+
+
+class Worker (models.Model):
+    languages = models.ManyToManyField(Language)
+    appointments = models.ManyToManyField('Appointment')
+    user = models.OneToOneField(User)
+    firstName = models.CharField(max_length=50)
+    lastName = models.CharField(max_length=50)
+    phoneNo = models.CharField(max_length=20)
+    email = models.EmailField()
+    role = models.CharField(max_length=20)
+    specialization = models.CharField(max_length=20)
+
+
+class FlyingTeam(models.Model):
+    doctor = models.ForeignKey(Worker, related_name='FlyingTeamDoctor')
+    nurse = models.ForeignKey(Worker, related_name='FlyingTeamNurse')
+    psychologist = models.ForeignKey(Worker, related_name='FlyingTeamPsychologist')
+    dateTimeCalled = models.DateTimeField()
+    dateTimeUntil = models.DateTimeField()
+
+
+class Avaibility(models.Model):
+    person = models.ForeignKey(Worker, on_delete=models.CASCADE)
+    dayNo = models.IntegerField()
+    availFro = models.TimeField()
+    availTil = models.TimeField()
+    current = models.BooleanField()
+
+class Holiday(models.Model):
+    person = models.ForeignKey(Worker, on_delete=models.CASCADE)
+    holidayStart = models.DateTimeField()
+    holidayEnd = models.DateTimeField()
+
+class Appointment(models.Model):
+    flyingTeam = models.ForeignKey(FlyingTeam)
+    appType = models.ForeignKey(AppType)
+    room = models.ForeignKey(Room)
+    visit = models.ForeignKey(Visit)
+    appDateTime = models.DateTimeField()
+    appLength = models.IntegerField()
+    appFinished = models.BooleanField()
+
+
+
 
 # Create your models here.