From 6332bda92d8dc7491698b157f86364894863141d Mon Sep 17 00:00:00 2001
From: Mohamed Sami Jarmoud <mohamed.jarmoud@mni.thm.de>
Date: Fri, 5 Jun 2015 06:47:01 +0200
Subject: [PATCH] add swagger documentation to models

---
 .../java/de/thm/arsnova/entities/Answer.java  | 21 ++++++++
 .../arsnova/entities/InterposedQuestion.java  | 17 ++++++
 .../entities/InterposedReadingCount.java      |  7 +++
 .../entities/LearningProgressOptions.java     |  5 ++
 .../thm/arsnova/entities/PossibleAnswer.java  |  8 +++
 .../de/thm/arsnova/entities/Question.java     | 54 ++++++++++++++++++-
 .../java/de/thm/arsnova/entities/Session.java | 32 ++++++++++-
 .../thm/arsnova/entities/SessionFeature.java  |  8 +++
 .../de/thm/arsnova/entities/SessionInfo.java  | 17 ++++++
 .../de/thm/arsnova/entities/Statistics.java   | 17 ++++++
 .../arsnova/entities/transport/Answer.java    |  8 ++-
 .../transport/ImportExportSession.java        | 22 ++++++++
 .../transport/InterposedQuestion.java         | 23 ++++++--
 .../transport/LearningProgressValues.java     |  8 +++
 14 files changed, 238 insertions(+), 9 deletions(-)

diff --git a/src/main/java/de/thm/arsnova/entities/Answer.java b/src/main/java/de/thm/arsnova/entities/Answer.java
index 4aa859228..f4ea32b6c 100644
--- a/src/main/java/de/thm/arsnova/entities/Answer.java
+++ b/src/main/java/de/thm/arsnova/entities/Answer.java
@@ -18,12 +18,15 @@
 package de.thm.arsnova.entities;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.wordnik.swagger.annotations.ApiModel;
+import com.wordnik.swagger.annotations.ApiModelProperty;
 
 /**
  * Both a regular (single choice, evaluation, etc.) as well as a freetext answer.
  *
  * This class has additional fields to transport generated answer statistics.
  */
+@ApiModel( value = "Answer" , description = "the Answer API")
 public class Answer {
 
 	private String _id;
@@ -50,6 +53,7 @@ public class Answer {
 		this.type = "skill_question_answer";
 	}
 
+	@ApiModelProperty(position = 1, required = true, value = "used to display _id")
 	public final String get_id() {
 		return _id;
 	}
@@ -58,6 +62,7 @@ public class Answer {
 		this._id = _id;
 	}
 
+	@ApiModelProperty(position = 2, required = true, value = "used to display _rev")
 	public final String get_rev() {
 		return _rev;
 	}
@@ -66,6 +71,7 @@ public class Answer {
 		this._rev = _rev;
 	}
 
+	@ApiModelProperty(position = 3, required = true, value = "used to display type")
 	public final String getType() {
 		return type;
 	}
@@ -74,6 +80,7 @@ public class Answer {
 		this.type = type;
 	}
 
+	@ApiModelProperty(position = 4, required = true, value = "used to display session id")
 	public final String getSessionId() {
 		return sessionId;
 	}
@@ -82,6 +89,7 @@ public class Answer {
 		this.sessionId = sessionId;
 	}
 
+	@ApiModelProperty(position = 5, required = true, value = "used to display question id")
 	public final String getQuestionId() {
 		return questionId;
 	}
@@ -90,6 +98,7 @@ public class Answer {
 		this.questionId = questionId;
 	}
 
+	@ApiModelProperty(position = 6, required = true, value = "used to display answer text")
 	public final String getAnswerText() {
 		return answerText;
 	}
@@ -98,6 +107,7 @@ public class Answer {
 		this.answerText = answerText;
 	}
 
+	@ApiModelProperty(position = 7, required = true, value = "used to display answer subject")
 	public final String getAnswerSubject() {
 		return answerSubject;
 	}
@@ -106,6 +116,7 @@ public class Answer {
 		this.answerSubject = answerSubject;
 	}
 
+	@ApiModelProperty(position = 8, required = true, value = "used to displaypi round ")
 	public int getPiRound() {
 		return piRound;
 	}
@@ -117,11 +128,13 @@ public class Answer {
 	/* TODO: use JsonViews instead of JsonIgnore when supported by Spring (4.1)
 	 * http://wiki.fasterxml.com/JacksonJsonViews
 	 * https://jira.spring.io/browse/SPR-7156 */
+	@ApiModelProperty(position = 9, required = true, value = "used to display user")
 	@JsonIgnore
 	public final String getUser() {
 		return user;
 	}
 
+	@ApiModelProperty(position = 10, required = true, value = "used to display answer image")
 	@JsonIgnore
 	public String getAnswerImage() {
 		return answerImage;
@@ -131,6 +144,7 @@ public class Answer {
 		this.answerImage = answerImage;
 	}
 
+	@ApiModelProperty(position = 11, required = true, value = "used to display answer thumbnail image")
 	public String getAnswerThumbnailImage() {
 		return answerThumbnailImage;
 	}
@@ -143,6 +157,7 @@ public class Answer {
 		this.user = user;
 	}
 
+	@ApiModelProperty(position = 12, required = true, value = "used to display timestamp")
 	public long getTimestamp() {
 		return timestamp;
 	}
@@ -151,6 +166,7 @@ public class Answer {
 		this.timestamp = timestamp;
 	}
 
+	@ApiModelProperty(position = 13, required = true, value = "read")
 	public boolean isRead() {
 		return read;
 	}
@@ -159,6 +175,7 @@ public class Answer {
 		this.read = read;
 	}
 
+	@ApiModelProperty(position = 14, required = true, value = "used to display answer count")
 	public final int getAnswerCount() {
 		return answerCount;
 	}
@@ -167,6 +184,7 @@ public class Answer {
 		this.answerCount = answerCount;
 	}
 
+	@ApiModelProperty(position = 15, required = true, value = "used to display abstention")
 	public boolean isAbstention() {
 		return abstention;
 	}
@@ -175,6 +193,7 @@ public class Answer {
 		this.abstention = abstention;
 	}
 
+	@ApiModelProperty(position = 16, required = true, value = "used to display abtention count ")
 	public int getAbstentionCount() {
 		return abstentionCount;
 	}
@@ -183,6 +202,7 @@ public class Answer {
 		this.abstentionCount = abstentionCount;
 	}
 
+	@ApiModelProperty(position = 17, required = true, value = "used to display question variant")
 	public String getQuestionVariant() {
 		return questionVariant;
 	}
@@ -191,6 +211,7 @@ public class Answer {
 		this.questionVariant = questionVariant;
 	}
 
+	@ApiModelProperty(position = 18, required = true, value = "used to display question value")
 	public int getQuestionValue() {
 		return questionValue;
 	}
diff --git a/src/main/java/de/thm/arsnova/entities/InterposedQuestion.java b/src/main/java/de/thm/arsnova/entities/InterposedQuestion.java
index 807297687..e3f6a7781 100644
--- a/src/main/java/de/thm/arsnova/entities/InterposedQuestion.java
+++ b/src/main/java/de/thm/arsnova/entities/InterposedQuestion.java
@@ -18,10 +18,13 @@
 package de.thm.arsnova.entities;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.wordnik.swagger.annotations.ApiModel;
+import com.wordnik.swagger.annotations.ApiModelProperty;
 
 /**
  * A question the user is asking the teacher. Also known as feedback or audience question.
  */
+@ApiModel( value = "audiencequestion" , description = "the Interposed Question API")
 public class InterposedQuestion {
 
 	private String _id;
@@ -39,48 +42,62 @@ public class InterposedQuestion {
 	private boolean read;
 	private String creator;
 
+	@ApiModelProperty(position = 1, required = true, value = "used to display question id")
 	public String get_id() {
 		return _id;
 	}
 	public void set_id(String _id) {
 		this._id = _id;
 	}
+	@ApiModelProperty(position = 2, required = true, value = "used to display rev")
 	public String get_rev() {
 		return _rev;
 	}
 	public void set_rev(String _rev) {
 		this._rev = _rev;
 	}
+	
+	@ApiModelProperty(position = 3, required = true, value = "is read")
 	public boolean isRead() {
 		return read;
 	}
 	public void setRead(boolean read) {
 		this.read = read;
 	}
+	
+	@ApiModelProperty(position = 4, required = true, value = "used to display The type")
 	public String getType() {
 		return type;
 	}
 	public void setType(String type) {
 		this.type = type;
 	}
+	
+	@ApiModelProperty(position = 5, required = true, value = "used to display Subject")
 	public String getSubject() {
 		return subject;
 	}
 	public void setSubject(String subject) {
 		this.subject = subject;
 	}
+	
+	@ApiModelProperty(position = 6, required = true, value = "used to display Text")
 	public String getText() {
 		return text;
 	}
 	public void setText(String text) {
 		this.text = text;
 	}
+	
+	@ApiModelProperty(position = 7, required = true, value = "used to display Session id")
 	public String getSessionId() {
 		return sessionId;
 	}
 	public void setSessionId(String sessionId) {
 		this.sessionId = sessionId;
 	}
+	
+	@ApiModelProperty(position = 8, required = true, value = "used to display Timetamp")
 	public long getTimestamp() {
 		return timestamp;
 	}
diff --git a/src/main/java/de/thm/arsnova/entities/InterposedReadingCount.java b/src/main/java/de/thm/arsnova/entities/InterposedReadingCount.java
index 179cc1b4b..43279913b 100644
--- a/src/main/java/de/thm/arsnova/entities/InterposedReadingCount.java
+++ b/src/main/java/de/thm/arsnova/entities/InterposedReadingCount.java
@@ -17,9 +17,13 @@
  */
 package de.thm.arsnova.entities;
 
+import com.wordnik.swagger.annotations.ApiModel;
+import com.wordnik.swagger.annotations.ApiModelProperty;
+
 /**
  * Wrapper class for counting read and unread interposed questions for a session or a single user.
  */
+@ApiModel(value = "audiencequestion/readcount" , description = "the Interposed reading count API")
 public class InterposedReadingCount {
 
 	private int read;
@@ -35,6 +39,7 @@ public class InterposedReadingCount {
 		this.unread = 0;
 	}
 
+	@ApiModelProperty(position = 1, required = true, value = "used to display read interposed questions")
 	public int getRead() {
 		return read;
 	}
@@ -43,6 +48,7 @@ public class InterposedReadingCount {
 		this.read = read;
 	}
 
+	@ApiModelProperty(position = 2, required = true, value = "used to display unread interposed questions")
 	public int getUnread() {
 		return unread;
 	}
@@ -51,6 +57,7 @@ public class InterposedReadingCount {
 		this.unread = unread;
 	}
 
+	@ApiModelProperty(position = 3, required = true, value = "used to display Total questions")
 	public int getTotal() {
 		return getRead() + getUnread();
 	}
diff --git a/src/main/java/de/thm/arsnova/entities/LearningProgressOptions.java b/src/main/java/de/thm/arsnova/entities/LearningProgressOptions.java
index fcde16cf3..aa489e9ae 100644
--- a/src/main/java/de/thm/arsnova/entities/LearningProgressOptions.java
+++ b/src/main/java/de/thm/arsnova/entities/LearningProgressOptions.java
@@ -17,9 +17,12 @@
  */
 package de.thm.arsnova.entities;
 
+import com.wordnik.swagger.annotations.ApiModel;
+import com.wordnik.swagger.annotations.ApiModelProperty;
 /**
  * A session's settings regarding the calculation of the learning progress.
  */
+@ApiModel( value = "learning progress options" , description = "the learning progress API")
 public class LearningProgressOptions {
 
 	private String type = "questions";
@@ -34,6 +37,7 @@ public class LearningProgressOptions {
 
 	public LearningProgressOptions() {}
 
+	@ApiModelProperty(position = 1, required = true, value = "used to display the Type")
 	public String getType() {
 		return type;
 	}
@@ -42,6 +46,7 @@ public class LearningProgressOptions {
 		this.type = learningProgressType;
 	}
 
+	@ApiModelProperty(position = 2, required = true, value = "used to display question variant")
 	public String getQuestionVariant() {
 		return questionVariant;
 	}
diff --git a/src/main/java/de/thm/arsnova/entities/PossibleAnswer.java b/src/main/java/de/thm/arsnova/entities/PossibleAnswer.java
index f66842389..4fff16d1a 100644
--- a/src/main/java/de/thm/arsnova/entities/PossibleAnswer.java
+++ b/src/main/java/de/thm/arsnova/entities/PossibleAnswer.java
@@ -17,9 +17,13 @@
  */
 package de.thm.arsnova.entities;
 
+import com.wordnik.swagger.annotations.ApiModel;
+import com.wordnik.swagger.annotations.ApiModelProperty;
+
 /**
  * This class represents an answer option of a question.
  */
+@ApiModel( value = "session/answer" , description = "the Possible Answer API")
 public class PossibleAnswer {
 
 	private String id;
@@ -27,6 +31,7 @@ public class PossibleAnswer {
 	private boolean correct;
 	private int value;
 
+	@ApiModelProperty(position = 1, required = true, value = "used to display id")
 	public String getId() {
 		return this.id;
 	}
@@ -35,6 +40,7 @@ public class PossibleAnswer {
 		this.id = id;
 	}
 
+	@ApiModelProperty(position = 3, required = true, value = "used to display text")
 	public String getText() {
 		return text;
 	}
@@ -43,6 +49,7 @@ public class PossibleAnswer {
 		this.text = text;
 	}
 
+	@ApiModelProperty(position = 4, required = true, value = "correct")
 	public boolean isCorrect() {
 		return correct;
 	}
@@ -51,6 +58,7 @@ public class PossibleAnswer {
 		this.correct = correct;
 	}
 
+	@ApiModelProperty(position = 5, required = true, value = "used to display value")
 	public int getValue() {
 		return value;
 	}
diff --git a/src/main/java/de/thm/arsnova/entities/Question.java b/src/main/java/de/thm/arsnova/entities/Question.java
index 8b1a8fd31..a004f1f1f 100644
--- a/src/main/java/de/thm/arsnova/entities/Question.java
+++ b/src/main/java/de/thm/arsnova/entities/Question.java
@@ -19,10 +19,13 @@ package de.thm.arsnova.entities;
 
 import java.util.Date;
 import java.util.List;
+import com.wordnik.swagger.annotations.ApiModel;
+import com.wordnik.swagger.annotations.ApiModelProperty;
 
 /**
  * A question the teacher is asking.
  */
+@ApiModel( value = "lecturerquestion" , description = "the Question API")
 public class Question {
 
 	private String type;
@@ -80,6 +83,7 @@ public class Question {
 	private String hint;
 	private String solution;
 
+	@ApiModelProperty(position = 1, required = true, value = "used to display type")
 	public final String getType() {
 		return type;
 	}
@@ -88,6 +92,7 @@ public class Question {
 		this.type = type;
 	}
 
+	@ApiModelProperty(position = 2, required = true, value = "used to display the question type")
 	public final String getQuestionType() {
 		return questionType;
 	}
@@ -96,6 +101,7 @@ public class Question {
 		this.questionType = questionType;
 	}
 
+	@ApiModelProperty(position = 3, required = true, value = "used to display question variant")
 	public final String getQuestionVariant() {
 		return questionVariant;
 	}
@@ -103,7 +109,7 @@ public class Question {
 	public final void setQuestionVariant(final String questionVariant) {
 		this.questionVariant = questionVariant;
 	}
-
+	@ApiModelProperty(position = 4, required = true, value = "used to display subject")
 	public final String getSubject() {
 		return subject;
 	}
@@ -112,6 +118,7 @@ public class Question {
 		this.subject = subject;
 	}
 
+	@ApiModelProperty(position = 5, required = true, value = "used to display text")
 	public final String getText() {
 		return text;
 	}
@@ -120,6 +127,7 @@ public class Question {
 		this.text = text;
 	}
 
+	@ApiModelProperty(position = 6, required = true, value = "active")
 	public final boolean isActive() {
 		return active;
 	}
@@ -128,6 +136,7 @@ public class Question {
 		this.active = active;
 	}
 
+	@ApiModelProperty(position = 7, required = true, value = "used to display released for")
 	public final String getReleasedFor() {
 		return releasedFor;
 	}
@@ -136,6 +145,7 @@ public class Question {
 		this.releasedFor = releasedFor;
 	}
 
+	@ApiModelProperty(position = 8, required = true, value = "used to display possible answers")
 	public final List<PossibleAnswer> getPossibleAnswers() {
 		return possibleAnswers;
 	}
@@ -144,6 +154,7 @@ public class Question {
 		this.possibleAnswers = possibleAnswers;
 	}
 
+	@ApiModelProperty(position = 9, required = true, value = "no correct")
 	public final boolean isNoCorrect() {
 		return noCorrect;
 	}
@@ -152,6 +163,7 @@ public class Question {
 		this.noCorrect = noCorrect;
 	}
 
+	@ApiModelProperty(position = 10, required = true, value = "used to display session id")
 	public final String getSessionId() {
 		return sessionId;
 	}
@@ -160,6 +172,7 @@ public class Question {
 		this.sessionId = sessionId;
 	}
 
+	@ApiModelProperty(position = 11, required = true, value = "used to display session id")
 	public final String getSession() {
 		return sessionId;
 	}
@@ -168,6 +181,7 @@ public class Question {
 		sessionId = session;
 	}
 
+	@ApiModelProperty(position = 12, required = true, value = "used to display session keyword")
 	public final String getSessionKeyword() {
 		return sessionKeyword;
 	}
@@ -176,6 +190,7 @@ public class Question {
 		sessionKeyword = keyword;
 	}
 
+	@ApiModelProperty(position = 13, required = true, value = "used to display timestamp")
 	public final long getTimestamp() {
 		return timestamp;
 	}
@@ -184,6 +199,7 @@ public class Question {
 		this.timestamp = timestamp;
 	}
 
+	@ApiModelProperty(position = 14, required = true, value = "used to display number")
 	public final int getNumber() {
 		return number;
 	}
@@ -192,10 +208,12 @@ public class Question {
 		this.number = number;
 	}
 
+	@ApiModelProperty(position = 15, required = true, value = "used to display duration")
 	public final int getDuration() {
 		return duration;
 	}
 
+	@ApiModelProperty(position = 16, required = true, value = "used to display image Question")
 	public final boolean isImageQuestion() {
 		return imageQuestion;
 	}
@@ -208,6 +226,7 @@ public class Question {
 		this.duration = duration;
 	}
 
+	@ApiModelProperty(position = 17, required = true, value = "used to display pi Round")
 	public int getPiRound() {
 		return piRound;
 	}
@@ -216,6 +235,7 @@ public class Question {
 		this.piRound = piRound;
 	}
 
+	@ApiModelProperty(position = 18, required = true, value = "used to display pi round end time")
 	public long getPiRoundEndTime() {
 		return piRoundEndTime;
 	}
@@ -224,6 +244,7 @@ public class Question {
 		this.piRoundEndTime = piRoundEndTime;
 	}
 
+	@ApiModelProperty(position = 19, required = true, value = "used to display pi round start time")
 	public long getPiRoundStartTime() {
 		return piRoundStartTime;
 	}
@@ -232,6 +253,7 @@ public class Question {
 		this.piRoundStartTime = piRoundStartTime;
 	}
 
+	@ApiModelProperty(position = 20, required = true, value = "piRoundActive ")
 	public boolean isPiRoundActive() {
 		return piRoundActive;
 	}
@@ -240,6 +262,7 @@ public class Question {
 		this.piRoundActive = piRoundActive;
 	}
 
+	@ApiModelProperty(position = 21, required = true, value = "piRoundFinished ")
 	public boolean isPiRoundFinished() {
 		return piRoundFinished;
 	}
@@ -248,6 +271,7 @@ public class Question {
 		this.piRoundFinished = piRoundFinished;
 	}
 
+	@ApiModelProperty(position = 22, required = true, value = "used to display showStatistic")
 	public boolean isShowStatistic() {
 		return showStatistic;
 	}
@@ -256,6 +280,7 @@ public class Question {
 		this.showStatistic = showStatistic;
 	}
 
+	@ApiModelProperty(position = 23, required = true, value = "used to display cvIsColored")
 	public boolean getCvIsColored() {
 		return cvIsColored;
 	}
@@ -264,6 +289,7 @@ public class Question {
 		this.cvIsColored = cvIsColored;
 	}
 
+	@ApiModelProperty(position = 24, required = true, value = "used to display showAnswer")
 	public boolean isShowAnswer() {
 		return showAnswer;
 	}
@@ -272,6 +298,7 @@ public class Question {
 		this.showAnswer = showAnswer;
 	}
 
+	@ApiModelProperty(position = 25, required = true, value = "used to display abstention")
 	public boolean isAbstention() {
 		return abstention;
 	}
@@ -280,6 +307,7 @@ public class Question {
 		this.abstention = abstention;
 	}
 
+	@ApiModelProperty(position = 26, required = true, value = "used to display _id")
 	public final String get_id() {
 		return _id;
 	}
@@ -288,6 +316,7 @@ public class Question {
 		this._id = _id;
 	}
 
+	@ApiModelProperty(position = 27, required = true, value = "used to display _rev")
 	public final String get_rev() {
 		return _rev;
 	}
@@ -296,6 +325,7 @@ public class Question {
 		this._rev = _rev;
 	}
 
+	@ApiModelProperty(position = 28, required = true, value = "used to display image")
 	public String getImage() {
 		return image;
 	}
@@ -304,6 +334,7 @@ public class Question {
 		this.image = image;
 	}
 
+	@ApiModelProperty(position = 29, required = true, value = "used to display fcImage")
 	public String getFcImage() {
 		return fcImage;
 	}
@@ -312,6 +343,7 @@ public class Question {
 		this.fcImage = fcImage;
 	}
 
+	@ApiModelProperty(position = 30, required = true, value = "used to display gridSize")
 	public int getGridSize() {
 		return gridSize;
 	}
@@ -320,6 +352,7 @@ public class Question {
 		this.gridSize = gridSize;
 	}
 
+	@ApiModelProperty(position = 31, required = true, value = "used to display offsetX")
 	public int getOffsetX() {
 		return offsetX;
 	}
@@ -328,6 +361,7 @@ public class Question {
 		this.offsetX = offsetX;
 	}
 
+	@ApiModelProperty(position = 32, required = true, value = "used to display offsetY")
 	public int getOffsetY() {
 		return offsetY;
 	}
@@ -336,6 +370,7 @@ public class Question {
 		this.offsetY = offsetY;
 	}
 
+	@ApiModelProperty(position = 33, required = true, value = "used to display zoomLvl")
 	public int getZoomLvl() {
 		return zoomLvl;
 	}
@@ -344,6 +379,7 @@ public class Question {
 		this.zoomLvl = zoomLvl;
 	}
 
+	@ApiModelProperty(position = 34, required = true, value = "used to display gridOffsetX")
 	public int getGridOffsetX() {
 		return gridOffsetX;
 	}
@@ -352,6 +388,7 @@ public class Question {
 		this.gridOffsetX = gridOffsetX;
 	}
 
+	@ApiModelProperty(position = 35, required = true, value = "used to display gridOffsetY")
 	public int getGridOffsetY() {
 		return gridOffsetY;
 	}
@@ -360,6 +397,7 @@ public class Question {
 		this.gridOffsetY = gridOffsetY;
 	}
 
+	@ApiModelProperty(position = 36, required = true, value = "used to display  grid zoom lvl")
 	public int getGridZoomLvl() {
 		return gridZoomLvl;
 	}
@@ -368,6 +406,7 @@ public class Question {
 		this.gridZoomLvl = gridZoomLvl;
 	}
 
+	@ApiModelProperty(position = 37, required = true, value = "used to display grid size X")
 	public int getGridSizeX() {
 		return gridSizeX;
 	}
@@ -376,6 +415,7 @@ public class Question {
 		this.gridSizeX = gridSizeX;
 	}
 
+	@ApiModelProperty(position = 38, required = true, value = "used to display grid size Y ")
 	public int getGridSizeY() {
 		return gridSizeY;
 	}
@@ -384,6 +424,7 @@ public class Question {
 		this.gridSizeY = gridSizeY;
 	}
 
+	@ApiModelProperty(position = 39, required = true, value = "grid is hidden")
 	public boolean getGridIsHidden() {
 		return gridIsHidden;
 	}
@@ -392,6 +433,7 @@ public class Question {
 		this.gridIsHidden = gridIsHidden;
 	}
 
+	@ApiModelProperty(position = 40, required = true, value = "used to display image rotation")
 	public int getImgRotation() {
 		return imgRotation;
 	}
@@ -400,6 +442,7 @@ public class Question {
 		this.imgRotation = imgRotation;
 	}
 
+	@ApiModelProperty(position = 41, required = true, value = "used to display toggel fields left")
 	public boolean getToggleFieldsLeft() {
 		return toggleFieldsLeft;
 	}
@@ -408,6 +451,7 @@ public class Question {
 		this.toggleFieldsLeft = toggleFieldsLeft;
 	}
 
+	@ApiModelProperty(position = 42, required = true, value = "used to display number clickable fields")
 	public int getNumClickableFields() {
 		return numClickableFields;
 	}
@@ -416,6 +460,7 @@ public class Question {
 		this.numClickableFields = numClickableFields;
 	}
 
+	@ApiModelProperty(position = 43, required = true, value = "used to display threshold correct answers")
 	public int getThresholdCorrectAnswers() {
 		return thresholdCorrectAnswers;
 	}
@@ -424,6 +469,7 @@ public class Question {
 		this.thresholdCorrectAnswers = thresholdCorrectAnswers;
 	}
 
+	@ApiModelProperty(position = 44, required = true, value = "used to display  grid line color")
 	public String getGridLineColor() {
 		return gridLineColor;
 	}
@@ -432,6 +478,7 @@ public class Question {
 		this.gridLineColor = gridLineColor;
 	}
 
+	@ApiModelProperty(position = 45, required = true, value = "used to display  number of dots")
 	public int getNumberOfDots() {
 		return numberOfDots;
 	}
@@ -440,6 +487,7 @@ public class Question {
 		this.numberOfDots = numberOfDots;
 	}
 
+	@ApiModelProperty(position = 46, required = true, value = "used to display the grid type")
 	public String getGridType() {
 		return gridType;
 	}
@@ -452,6 +500,7 @@ public class Question {
 		this.scaleFactor = scaleFactor;
 	}
 
+	@ApiModelProperty(position = 47, required = true, value = "used to display scale factor")
 	public String getScaleFactor() {
 		return this.scaleFactor;
 	}
@@ -460,10 +509,12 @@ public class Question {
 		this.gridScaleFactor = scaleFactor;
 	}
 
+	@ApiModelProperty(position = 48, required = true, value = "used to display grid scale factor")
 	public String getGridScaleFactor() {
 		return this.gridScaleFactor;
 	}
 
+	@ApiModelProperty(position = 49, required = true, value = "enabled text nswer")
 	public boolean isTextAnswerEnabled() {
 		return this.textAnswerEnabled;
 	}
@@ -472,6 +523,7 @@ public class Question {
 		this.textAnswerEnabled = textAnswerEnabled;
 	}
 
+	@ApiModelProperty(position = 50, required = true, value = "voting disabled")
 	public boolean isVotingDisabled() {
 		return votingDisabled;
 	}
diff --git a/src/main/java/de/thm/arsnova/entities/Session.java b/src/main/java/de/thm/arsnova/entities/Session.java
index 5994c219a..1d2c3362f 100644
--- a/src/main/java/de/thm/arsnova/entities/Session.java
+++ b/src/main/java/de/thm/arsnova/entities/Session.java
@@ -19,12 +19,15 @@ package de.thm.arsnova.entities;
 
 import java.io.Serializable;
 import java.util.List;
+import com.wordnik.swagger.annotations.ApiModel;
+import com.wordnik.swagger.annotations.ApiModelProperty;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
 
 /**
  * Represents an ARSnova session.
  */
+@ApiModel( value = "session" , description = "the Session API")
 public class Session implements Serializable {
 
 	private static final long serialVersionUID = 1L;
@@ -93,6 +96,7 @@ public class Session implements Serializable {
 		return copy;
 	}
 
+	@ApiModelProperty(position = 1, required = true, value = "used to display the Type")
 	public String getType() {
 		return type;
 	}
@@ -101,6 +105,7 @@ public class Session implements Serializable {
 		this.type = type;
 	}
 
+	@ApiModelProperty(position = 2, required = true, value = "used to display name")
 	public String getName() {
 		return name;
 	}
@@ -109,6 +114,7 @@ public class Session implements Serializable {
 		this.name = name;
 	}
 
+	@ApiModelProperty(position = 3, required = true, value = "used to display short name")
 	public String getShortName() {
 		return shortName;
 	}
@@ -117,6 +123,7 @@ public class Session implements Serializable {
 		this.shortName = shortName;
 	}
 
+	@ApiModelProperty(position = 4, required = true, value = "used to display keyword")
 	public String getKeyword() {
 		return keyword;
 	}
@@ -125,6 +132,7 @@ public class Session implements Serializable {
 		this.keyword = keyword;
 	}
 
+	@ApiModelProperty(position = 5, required = true, value = "used to display creator")
 	public String getCreator() {
 		return creator;
 	}
@@ -133,6 +141,7 @@ public class Session implements Serializable {
 		this.creator = creator;
 	}
 
+	@ApiModelProperty(position = 6, required = true, value = "is active")
 	public boolean isActive() {
 		return active;
 	}
@@ -141,6 +150,7 @@ public class Session implements Serializable {
 		this.active = active;
 	}
 
+	@ApiModelProperty(position = 7, required = true, value = "used to display the last owner activity")
 	public long getLastOwnerActivity() {
 		return lastOwnerActivity;
 	}
@@ -153,6 +163,7 @@ public class Session implements Serializable {
 		_id = id;
 	}
 
+	@ApiModelProperty(position = 8, required = true, value = "used to display id")
 	public String get_id() {
 		return _id;
 	}
@@ -161,6 +172,7 @@ public class Session implements Serializable {
 		_rev = rev;
 	}
 
+	@ApiModelProperty(position = 9, required = true, value = "used to display rev")
 	public String get_rev() {
 		return _rev;
 	}
@@ -169,6 +181,7 @@ public class Session implements Serializable {
 		_conflicts = conflicts;
 	}
 
+	@ApiModelProperty(position = 10, required = true, value = "used to display conflicts")
 	public List<String> get_conflicts() {
 		return _conflicts;
 	}
@@ -177,6 +190,7 @@ public class Session implements Serializable {
 		return user.getUsername().equals(creator);
 	}
 
+	@ApiModelProperty(position = 11, required = true, value = "used to display course type")
 	public String getCourseType() {
 		return courseType;
 	}
@@ -185,6 +199,7 @@ public class Session implements Serializable {
 		this.courseType = courseType;
 	}
 
+	@ApiModelProperty(position = 12, required = true, value = "used to display coures id")
 	public String getCourseId() {
 		return courseId;
 	}
@@ -198,6 +213,7 @@ public class Session implements Serializable {
 		return getCourseId() != null && !getCourseId().isEmpty();
 	}
 
+	@ApiModelProperty(position = 13, required = true, value = "used to display the creation time")
 	public long getCreationTime() {
 		return creationTime;
 	}
@@ -205,7 +221,8 @@ public class Session implements Serializable {
 	public void setCreationTime(long creationTime) {
 		this.creationTime = creationTime;
 	}
-
+	
+	@ApiModelProperty(position = 14, required = true, value = "used to display learnin progress options")
 	public LearningProgressOptions getLearningProgressOptions() {
 		return learningProgressOptions;
 	}
@@ -214,6 +231,7 @@ public class Session implements Serializable {
 		this.learningProgressOptions = learningProgressOptions;
 	}
 
+	@ApiModelProperty(position = 15, required = true, value = "used to display features")
 	public SessionFeature getFeatures() {
 		return features;
 	}
@@ -222,6 +240,7 @@ public class Session implements Serializable {
 		this.features = features;
 	}
 
+	@ApiModelProperty(position = 16, required = true, value = "used to display author name")
 	public String getPpAuthorName() {
 		return ppAuthorName;
 	}
@@ -230,6 +249,7 @@ public class Session implements Serializable {
 		this.ppAuthorName = ppAuthorName;
 	}
 
+	@ApiModelProperty(position = 17, required = true, value = "used to display author mail")
 	public String getPpAuthorMail() {
 		return ppAuthorMail;
 	}
@@ -237,7 +257,8 @@ public class Session implements Serializable {
 	public void setPpAuthorMail(final String ppAuthorMail) {
 		this.ppAuthorMail = ppAuthorMail;
 	}
-
+	
+	@ApiModelProperty(position = 18, required = true, value = "used to display university")
 	public String getPpUniversity() {
 		return ppUniversity;
 	}
@@ -246,6 +267,7 @@ public class Session implements Serializable {
 		this.ppUniversity = ppUniversity;
 	}
 
+	@ApiModelProperty(position = 19, required = true, value = "used to display logo")
 	public String getPpLogo() {
 		return ppLogo;
 	}
@@ -254,6 +276,7 @@ public class Session implements Serializable {
 		this.ppLogo = ppLogo;
 	}
 
+	@ApiModelProperty(position = 20, required = true, value = "used to display subject")
 	public String getPpSubject() {
 		return ppSubject;
 	}
@@ -262,6 +285,7 @@ public class Session implements Serializable {
 		this.ppSubject = ppSubject;
 	}
 
+	@ApiModelProperty(position = 21, required = true, value = "used to display license")
 	public String getPpLicense() {
 		return ppLicense;
 	}
@@ -270,6 +294,7 @@ public class Session implements Serializable {
 		this.ppLicense = ppLicense;
 	}
 
+	@ApiModelProperty(position = 22, required = true, value = "used to display description")
 	public String getPpDescription() {
 		return ppDescription;
 	}
@@ -278,6 +303,7 @@ public class Session implements Serializable {
 		this.ppDescription = ppDescription;
 	}
 
+	@ApiModelProperty(position = 23, required = true, value = "used to display faculty")
 	public String getPpFaculty() {
 		return ppFaculty;
 	}
@@ -286,6 +312,7 @@ public class Session implements Serializable {
 		this.ppFaculty = ppFaculty;
 	}
 
+	@ApiModelProperty(position = 24, required = true, value = "used to display level")
 	public String getPpLevel() {
 		return ppLevel;
 	}
@@ -294,6 +321,7 @@ public class Session implements Serializable {
 		this.ppLevel = ppLevel;
 	}
 
+	@ApiModelProperty(position = 25, required = true, value = "used to display the session type")
 	public String getSessionType() {
 		return sessionType;
 	}
diff --git a/src/main/java/de/thm/arsnova/entities/SessionFeature.java b/src/main/java/de/thm/arsnova/entities/SessionFeature.java
index a09cb402d..06bcaf33f 100644
--- a/src/main/java/de/thm/arsnova/entities/SessionFeature.java
+++ b/src/main/java/de/thm/arsnova/entities/SessionFeature.java
@@ -16,10 +16,13 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 package de.thm.arsnova.entities;
+import com.wordnik.swagger.annotations.ApiModel;
+import com.wordnik.swagger.annotations.ApiModelProperty;
 
 /**
  * Contains fields that describe which specific feature is activated for a session.
  */
+@ApiModel( value = "session feature" , description = "the Session feature API")
 public class SessionFeature {
 
 	private boolean jitt = true;
@@ -51,6 +54,7 @@ public class SessionFeature {
 		this.lecture = lecture;
 	}
 
+	@ApiModelProperty(position = 1, required = true, value = "jitt")
 	public boolean isJitt() {
 		return jitt;
 	}
@@ -59,6 +63,7 @@ public class SessionFeature {
 		this.jitt = jitt;
 	}
 
+	@ApiModelProperty(position = 2, required = true, value = "feedback")
 	public boolean isFeedback() {
 		return feedback;
 	}
@@ -67,6 +72,7 @@ public class SessionFeature {
 		this.feedback = feedback;
 	}
 
+	@ApiModelProperty(position = 3, required = true, value = "interposed")
 	public boolean isInterposed() {
 		return interposed;
 	}
@@ -75,6 +81,7 @@ public class SessionFeature {
 		this.interposed = interposed;
 	}
 
+	@ApiModelProperty(position = 4, required = true, value = "pi")
 	public boolean isPi() {
 		return pi;
 	}
@@ -83,6 +90,7 @@ public class SessionFeature {
 		this.pi = pi;
 	}
 
+	@ApiModelProperty(position = 5, required = true, value = "learning progress")
 	public boolean isLearningProgress() {
 		return learningProgress;
 	}
diff --git a/src/main/java/de/thm/arsnova/entities/SessionInfo.java b/src/main/java/de/thm/arsnova/entities/SessionInfo.java
index 9ef283b9f..e8354326f 100644
--- a/src/main/java/de/thm/arsnova/entities/SessionInfo.java
+++ b/src/main/java/de/thm/arsnova/entities/SessionInfo.java
@@ -19,11 +19,14 @@ package de.thm.arsnova.entities;
 
 import java.util.ArrayList;
 import java.util.List;
+import com.wordnik.swagger.annotations.ApiModel;
+import com.wordnik.swagger.annotations.ApiModelProperty;
 
 /**
  * Summary information of a specific session. For example, this is used to display list entries of 'my sessions' as well
  * as 'my visited sessions'.
  */
+@ApiModel( value = "session/import" , description = "the session info API")
 public class SessionInfo {
 
 	private String name;
@@ -64,6 +67,7 @@ public class SessionInfo {
 		return infos;
 	}
 
+	@ApiModelProperty(position = 1, required = true, value = "used to display name")
 	public String getName() {
 		return name;
 	}
@@ -72,6 +76,7 @@ public class SessionInfo {
 		this.name = name;
 	}
 
+	@ApiModelProperty(position = 2, required = true, value = "used to display short name")
 	public String getShortName() {
 		return shortName;
 	}
@@ -80,6 +85,7 @@ public class SessionInfo {
 		this.shortName = shortName;
 	}
 
+	@ApiModelProperty(position = 3, required = true, value = "used to display keyword")
 	public String getKeyword() {
 		return keyword;
 	}
@@ -88,6 +94,7 @@ public class SessionInfo {
 		this.keyword = keyword;
 	}
 
+	@ApiModelProperty(position = 4, required = true, value = "active")
 	public boolean isActive() {
 		return active;
 	}
@@ -96,6 +103,7 @@ public class SessionInfo {
 		this.active = active;
 	}
 
+	@ApiModelProperty(position = 5, required = true, value = "used to display the course type")
 	public String getCourseType() {
 		return courseType;
 	}
@@ -104,6 +112,7 @@ public class SessionInfo {
 		this.courseType = courseType;
 	}
 
+	@ApiModelProperty(position = 6, required = true, value = "used to display the session type")
 	public String getSessionType() {
 		return sessionType;
 	}
@@ -112,6 +121,7 @@ public class SessionInfo {
 		this.sessionType = sessionType;
 	}
 
+	@ApiModelProperty(position = 7, required = true, value = "used to display level")
 	public String getPpLevel() {
 		return ppLevel;
 	}
@@ -120,6 +130,7 @@ public class SessionInfo {
 		this.ppLevel = ppLevel;
 	}
 
+	@ApiModelProperty(position = 8, required = true, value = "used to display subject")
 	public String getPpSubject() {
 		return ppSubject;
 	}
@@ -128,6 +139,7 @@ public class SessionInfo {
 		this.ppSubject = ppSubject;
 	}
 
+	@ApiModelProperty(position = 9, required = true, value = "used to display questions number")
 	public int getNumQuestions() {
 		return numQuestions;
 	}
@@ -136,6 +148,7 @@ public class SessionInfo {
 		this.numQuestions = numQuestions;
 	}
 
+	@ApiModelProperty(position = 10, required = true, value = "used to display answers number")
 	public int getNumAnswers() {
 		return numAnswers;
 	}
@@ -144,6 +157,7 @@ public class SessionInfo {
 		this.numAnswers = numAnswers;
 	}
 
+	@ApiModelProperty(position = 11, required = true, value = "used to display interposed number")
 	public int getNumInterposed() {
 		return numInterposed;
 	}
@@ -152,6 +166,7 @@ public class SessionInfo {
 		this.numInterposed = numInterposed;
 	}
 
+	@ApiModelProperty(position = 12, required = true, value = "used to display unanswered number")
 	public int getNumUnanswered() {
 		return numUnanswered;
 	}
@@ -160,6 +175,7 @@ public class SessionInfo {
 		this.numUnanswered = numUnanswered;
 	}
 
+	@ApiModelProperty(position = 13, required = true, value = "used to display creation time")
 	public long getCreationTime() {
 		return creationTime;
 	}
@@ -168,6 +184,7 @@ public class SessionInfo {
 		this.creationTime = creationTime;
 	}
 
+	@ApiModelProperty(position = 14, required = true, value = "used to display unread interposed number")
 	public int getNumUnredInterposed() {
 		return numUnredInterposed;
 	}
diff --git a/src/main/java/de/thm/arsnova/entities/Statistics.java b/src/main/java/de/thm/arsnova/entities/Statistics.java
index 919e24234..44ad24eca 100644
--- a/src/main/java/de/thm/arsnova/entities/Statistics.java
+++ b/src/main/java/de/thm/arsnova/entities/Statistics.java
@@ -17,9 +17,13 @@
  */
 package de.thm.arsnova.entities;
 
+import com.wordnik.swagger.annotations.ApiModel;
+import com.wordnik.swagger.annotations.ApiModelProperty;
+
 /**
  * Collection of several statistics about ARSnova.
  */
+@ApiModel(value = "statistics" , description = "the Statistic API")
 public class Statistics {
 
 	private int answers;
@@ -34,6 +38,7 @@ public class Statistics {
 	private int interposedQuestions;
 	private int conceptQuestions;
 
+	@ApiModelProperty(position = 1, required = true, notes = "used to display Answers")
 	public int getAnswers() {
 		return answers;
 	}
@@ -42,6 +47,7 @@ public class Statistics {
 		this.answers = answers;
 	}
 
+	@ApiModelProperty(position = 2, required = true, notes = "used to display Lecture Questions")
 	public int getLectureQuestions() {
 		return lectureQuestions;
 	}
@@ -50,6 +56,7 @@ public class Statistics {
 		this.lectureQuestions = questions;
 	}
 
+	@ApiModelProperty(position = 3, required = true, notes = "used to display prepartion Questions")
 	public int getPreparationQuestions() {
 		return preparationQuestions;
 	}
@@ -58,10 +65,12 @@ public class Statistics {
 		this.preparationQuestions = questions;
 	}
 
+	@ApiModelProperty(position = 4, required = true, notes = "used to display Questions")
 	public int getQuestions() {
 		return getLectureQuestions() + getPreparationQuestions();
 	}
 
+	@ApiModelProperty(position = 5, required = true, notes = "used to display open Sessions")
 	public int getOpenSessions() {
 		return openSessions;
 	}
@@ -70,6 +79,7 @@ public class Statistics {
 		this.openSessions = openSessions;
 	}
 
+	@ApiModelProperty(position = 6, required = true, notes = "used to display closed Sessions")
 	public int getClosedSessions() {
 		return closedSessions;
 	}
@@ -78,10 +88,12 @@ public class Statistics {
 		this.closedSessions = closedSessions;
 	}
 
+	@ApiModelProperty(position = 7, required = true, notes = "used to display Sessions")
 	public int getSessions() {
 		return getOpenSessions() + getClosedSessions();
 	}
 
+	@ApiModelProperty(position = 8, required = true, notes = "used to display Active Users")
 	public int getActiveUsers() {
 		return activeUsers;
 	}
@@ -90,6 +102,7 @@ public class Statistics {
 		this.activeUsers = activeUsers;
 	}
 
+	@ApiModelProperty(position = 9, required = true, notes = "used to display logged in Users")
 	public int getLoggedinUsers() {
 		return loggedinUsers;
 	}
@@ -98,6 +111,7 @@ public class Statistics {
 		this.loggedinUsers = loggedinUsers;
 	}
 
+	@ApiModelProperty(position = 10, required = true, notes = "used to display interposed Questions")
 	public int getInterposedQuestions() {
 		return interposedQuestions;
 	}
@@ -106,6 +120,7 @@ public class Statistics {
 		this.interposedQuestions = interposedQuestions;
 	}
 
+	@ApiModelProperty(position = 11, required = true, notes = "used to display creators")
 	public int getCreators() {
 		return creators;
 	}
@@ -114,6 +129,7 @@ public class Statistics {
 		this.creators = creators;
 	}
 
+	@ApiModelProperty(position = 12, required = true, notes = "used to display concept Questions")
 	public int getConceptQuestions() {
 		return conceptQuestions;
 	}
@@ -122,6 +138,7 @@ public class Statistics {
 		this.conceptQuestions = conceptQuestions;
 	}
 
+	@ApiModelProperty(position = 13, required = true, notes = "used to display active Students")
 	public int getActiveStudents() {
 		return activeStudents;
 	}
diff --git a/src/main/java/de/thm/arsnova/entities/transport/Answer.java b/src/main/java/de/thm/arsnova/entities/transport/Answer.java
index dcc884721..6acc2aebb 100644
--- a/src/main/java/de/thm/arsnova/entities/transport/Answer.java
+++ b/src/main/java/de/thm/arsnova/entities/transport/Answer.java
@@ -20,6 +20,8 @@ package de.thm.arsnova.entities.transport;
 import java.util.Date;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
+import com.wordnik.swagger.annotations.ApiModel;
+import com.wordnik.swagger.annotations.ApiModelProperty;
 
 import de.thm.arsnova.entities.Question;
 import de.thm.arsnova.entities.User;
@@ -28,6 +30,7 @@ import de.thm.arsnova.entities.User;
  * A user's answer to a question.
  */
 @JsonInclude(JsonInclude.Include.NON_DEFAULT)
+@ApiModel( value = "session/answer" , description = "the Answer API")
 public class Answer {
 
 	private String answerSubject;
@@ -38,6 +41,7 @@ public class Answer {
 
 	private boolean abstention;
 
+	@ApiModelProperty(position = 1, required = true, value = "used to display text answer")
 	public String getAnswerText() {
 		return answerText;
 	}
@@ -45,7 +49,7 @@ public class Answer {
 	public void setAnswerText(String answerText) {
 		this.answerText = answerText;
 	}
-
+	@ApiModelProperty(position = 2, required = true, value = "used to display subject answer")
 	public String getAnswerSubject() {
 		return answerSubject;
 	}
@@ -54,6 +58,7 @@ public class Answer {
 		this.answerSubject = answerSubject;
 	}
 
+	@ApiModelProperty(position = 3, required = true, value = "abstention")
 	public boolean isAbstention() {
 		return abstention;
 	}
@@ -87,6 +92,7 @@ public class Answer {
 		return theAnswer;
 	}
 
+	@ApiModelProperty(position = 4, required = true, value = "used to display image answer")
 	public String getAnswerImage() {
 		return answerImage;
 	}
diff --git a/src/main/java/de/thm/arsnova/entities/transport/ImportExportSession.java b/src/main/java/de/thm/arsnova/entities/transport/ImportExportSession.java
index 6ce7606c3..10fcec883 100644
--- a/src/main/java/de/thm/arsnova/entities/transport/ImportExportSession.java
+++ b/src/main/java/de/thm/arsnova/entities/transport/ImportExportSession.java
@@ -23,10 +23,13 @@ import java.util.List;
 import de.thm.arsnova.entities.Question;
 import de.thm.arsnova.entities.Session;
 import de.thm.arsnova.entities.User;
+import com.wordnik.swagger.annotations.ApiModel;
+import com.wordnik.swagger.annotations.ApiModelProperty;
 
 /**
  * This class is used to allow the import and export of a session.
  */
+@ApiModel( value = "session/import and export" , description = "the import export session API")
 public class ImportExportSession {
 
 	private ImportExportSesssion session;
@@ -35,6 +38,7 @@ public class ImportExportSession {
 
 	private List<InterposedQuestion> feedbackQuestions;
 
+	@ApiModelProperty(position = 1, required = true, value = "used to display session")
 	public ImportExportSesssion getSession() {
 		return session;
 	}
@@ -43,6 +47,7 @@ public class ImportExportSession {
 		this.session = session;
 	}
 
+	@ApiModelProperty(position = 2, required = true, value = "used to display questions")
 	public List<ImportExportQuestion> getQuestions() {
 		return questions;
 	}
@@ -51,6 +56,7 @@ public class ImportExportSession {
 		this.questions = questions;
 	}
 
+	@ApiModelProperty(position = 3, required = true, value = "used to display questions feedback")
 	public List<InterposedQuestion> getFeedbackQuestions() {
 		return feedbackQuestions;
 	}
@@ -94,6 +100,7 @@ public class ImportExportSession {
 
 		private List<Answer> answers;
 
+		@ApiModelProperty(position = 4, required = true, value = " used to display answers")
 		public List<Answer> getAnswers() {
 			return answers;
 		}
@@ -113,6 +120,7 @@ public class ImportExportSession {
 
 		private PublicPool publicPool;
 
+		@ApiModelProperty(position = 19, required = true, value = "used to display short name")
 		public String getName() {
 			return name;
 		}
@@ -121,6 +129,7 @@ public class ImportExportSession {
 			this.name = name;
 		}
 
+		@ApiModelProperty(position = 5, required = true, value = "used to display short name")
 		public String getShortName() {
 			return shortName;
 		}
@@ -129,6 +138,7 @@ public class ImportExportSession {
 			this.shortName = shortName;
 		}
 
+		@ApiModelProperty(position = 6, required = true, value = "active")
 		public boolean isActive() {
 			return active;
 		}
@@ -137,6 +147,7 @@ public class ImportExportSession {
 			this.active = active;
 		}
 
+		@ApiModelProperty(position = 7, required = true, value = "used to display public pool")
 		public PublicPool getPublicPool() {
 			return publicPool;
 		}
@@ -170,6 +181,7 @@ public class ImportExportSession {
 
 		private String shortName;
 
+		@ApiModelProperty(position = 8, required = true, value = "used to display author name")
 		public String getPpAuthorName() {
 			return ppAuthorName;
 		}
@@ -178,6 +190,7 @@ public class ImportExportSession {
 			this.ppAuthorName = ppAuthorName;
 		}
 
+		@ApiModelProperty(position = 9, required = true, value = "used to display author mail")
 		public String getPpAuthorMail() {
 			return ppAuthorMail;
 		}
@@ -186,6 +199,7 @@ public class ImportExportSession {
 			this.ppAuthorMail = ppAuthorMail;
 		}
 
+		@ApiModelProperty(position = 10, required = true, value = "used to display university")
 		public String getPpUniversity() {
 			return ppUniversity;
 		}
@@ -194,6 +208,7 @@ public class ImportExportSession {
 			this.ppUniversity = ppUniversity;
 		}
 
+		@ApiModelProperty(position = 11, required = true, value = "used to display logo")
 		public String getPpLogo() {
 			return ppLogo;
 		}
@@ -202,6 +217,7 @@ public class ImportExportSession {
 			this.ppLogo = ppLogo;
 		}
 
+		@ApiModelProperty(position = 12, required = true, value = "used to display subject")
 		public String getPpSubject() {
 			return ppSubject;
 		}
@@ -210,6 +226,7 @@ public class ImportExportSession {
 			this.ppSubject = ppSubject;
 		}
 
+		@ApiModelProperty(position = 13, required = true, value = "used to display license")
 		public String getPpLicense() {
 			return ppLicense;
 		}
@@ -218,6 +235,7 @@ public class ImportExportSession {
 			this.ppLicense = ppLicense;
 		}
 
+		@ApiModelProperty(position = 14, required = true, value = "used to display level")
 		public String getPpLevel() {
 			return ppLevel;
 		}
@@ -226,6 +244,7 @@ public class ImportExportSession {
 			this.ppLevel = ppLevel;
 		}
 
+		@ApiModelProperty(position = 15, required = true, value = "used to display description")
 		public String getPpDescription() {
 			return ppDescription;
 		}
@@ -234,6 +253,7 @@ public class ImportExportSession {
 			this.ppDescription = ppDescription;
 		}
 
+		@ApiModelProperty(position = 16, required = true, value = "used to display faculty")
 		public String getPpFaculty() {
 			return ppFaculty;
 		}
@@ -242,6 +262,7 @@ public class ImportExportSession {
 			this.ppFaculty = ppFaculty;
 		}
 
+		@ApiModelProperty(position = 17, required = true, value = "used to display name")
 		public String getName() {
 			return name;
 		}
@@ -250,6 +271,7 @@ public class ImportExportSession {
 			this.name = name;
 		}
 
+		@ApiModelProperty(position = 18, required = true, value = "used to display short name")
 		public String getShortName() {
 			return shortName;
 		}
diff --git a/src/main/java/de/thm/arsnova/entities/transport/InterposedQuestion.java b/src/main/java/de/thm/arsnova/entities/transport/InterposedQuestion.java
index 7cf960a08..188d3fb85 100644
--- a/src/main/java/de/thm/arsnova/entities/transport/InterposedQuestion.java
+++ b/src/main/java/de/thm/arsnova/entities/transport/InterposedQuestion.java
@@ -19,17 +19,20 @@ package de.thm.arsnova.entities.transport;
 
 import java.util.ArrayList;
 import java.util.List;
+import com.wordnik.swagger.annotations.ApiModel;
+import com.wordnik.swagger.annotations.ApiModelProperty;
 
 /**
  * A question a student is asking. Also known as feedback or audience question.
  */
+@ApiModel(value = "audiencequestion/{questionId}" , description = "the Interposed Question API")
 public class InterposedQuestion {
 
-	private String id;
-	private String subject;
-	private String text;
-	private long timestamp;
-	private boolean read;
+	 private String id;
+	 private String subject;
+	 private String text;
+	 private long timestamp;
+	 private boolean read;
 
 	public static List<InterposedQuestion> fromList(List<de.thm.arsnova.entities.InterposedQuestion> questions) {
 		ArrayList<InterposedQuestion> interposedQuestions = new ArrayList<InterposedQuestion>();
@@ -40,15 +43,21 @@ public class InterposedQuestion {
 	}
 
 	public InterposedQuestion(de.thm.arsnova.entities.InterposedQuestion question) {
+		
 		this.id = question.get_id();
+		
 		this.subject = question.getSubject();
+		
 		this.text = question.getText();
+		
 		this.timestamp = question.getTimestamp();
+		
 		this.read = question.isRead();
 	}
 
 	public InterposedQuestion() {}
 
+	@ApiModelProperty(position = 1, required = true, value = "used to display Id")
 	public String getId() {
 		return id;
 	}
@@ -57,6 +66,7 @@ public class InterposedQuestion {
 		this.id = id;
 	}
 
+	@ApiModelProperty(position = 2, required = true, value = "used to display Subject")
 	public String getSubject() {
 		return subject;
 	}
@@ -65,6 +75,7 @@ public class InterposedQuestion {
 		this.subject = subject;
 	}
 
+	@ApiModelProperty(position = 3, required = true, value = "used to display Text")
 	public String getText() {
 		return text;
 	}
@@ -73,6 +84,7 @@ public class InterposedQuestion {
 		this.text = text;
 	}
 
+	@ApiModelProperty(position = 4, required = true, value = "used to display Timetamp")
 	public long getTimestamp() {
 		return timestamp;
 	}
@@ -81,6 +93,7 @@ public class InterposedQuestion {
 		this.timestamp = timestamp;
 	}
 
+	@ApiModelProperty(position = 5, required = true, value = "is read")
 	public boolean isRead() {
 		return read;
 	}
diff --git a/src/main/java/de/thm/arsnova/entities/transport/LearningProgressValues.java b/src/main/java/de/thm/arsnova/entities/transport/LearningProgressValues.java
index f7245143d..fcf2660e6 100644
--- a/src/main/java/de/thm/arsnova/entities/transport/LearningProgressValues.java
+++ b/src/main/java/de/thm/arsnova/entities/transport/LearningProgressValues.java
@@ -17,9 +17,13 @@
  */
 package de.thm.arsnova.entities.transport;
 
+import com.wordnik.swagger.annotations.ApiModel;
+import com.wordnik.swagger.annotations.ApiModelProperty;
+
 /**
  * The calculated learning progress along with meta-data.
  */
+@ApiModel( value = "session/{sessionkey}/learningprogress" , description = "the learning progress API")
 public class LearningProgressValues {
 
 	private int courseProgress;
@@ -34,6 +38,7 @@ public class LearningProgressValues {
 
 	private int numUsers;
 
+	@ApiModelProperty(position = 1, required = true, value = "used to display course progress")
 	public int getCourseProgress() {
 		return courseProgress;
 	}
@@ -42,6 +47,7 @@ public class LearningProgressValues {
 		this.courseProgress = courseProgress;
 	}
 
+	@ApiModelProperty(position = 2, required = true, value = "used to display my progress")
 	public int getMyProgress() {
 		return myProgress;
 	}
@@ -50,6 +56,7 @@ public class LearningProgressValues {
 		this.myProgress = myProgress;
 	}
 
+	@ApiModelProperty(position = 3, required = true, value = "used to display questions number")
 	public int getNumQuestions() {
 		return numQuestions;
 	}
@@ -74,6 +81,7 @@ public class LearningProgressValues {
 		this.denominator = denominator;
 	}
 
+	@ApiModelProperty(position = 4, required = true, value = "used to display user number")
 	public int getNumUsers() {
 		return numUsers;
 	}
-- 
GitLab