diff --git a/appointment-import/src/main/java/smash/appointment/parse/AppointmentDao.java b/appointment-import/src/main/java/smash/appointment/parse/AppointmentDao.java
index fc4da7b88eb461775a053f569a2727d98f9d337e..6f627c8315c59053ecefea8260746110c042d521 100644
--- a/appointment-import/src/main/java/smash/appointment/parse/AppointmentDao.java
+++ b/appointment-import/src/main/java/smash/appointment/parse/AppointmentDao.java
@@ -62,9 +62,9 @@ public class AppointmentDao {
 				String date1 = o1.getDay().substring(0, 10);
 				String date2 = o2.getDay().substring(0, 10);
 				if (date1.compareTo(date2) == 0) {
-					if (o1.getTypes().contains(AppointmentType.LEVEL_A) || o1.getTypes().contains(AppointmentType.LEVEL_A_TQ)) {
+					if (o1.getTypes().contains(AppointmentType.LEVEL_AQUEST) || o1.getTypes().contains(AppointmentType.LEVEL_A_TQ)) {
 						return -1;
-					} else if (o2.getTypes().contains(AppointmentType.LEVEL_A) || o2.getTypes().contains(AppointmentType.LEVEL_A_TQ)) {
+					} else if (o2.getTypes().contains(AppointmentType.LEVEL_AQUEST) || o2.getTypes().contains(AppointmentType.LEVEL_A_TQ)) {
 						return 1;
 					} else {
 						return 0;
@@ -79,7 +79,7 @@ public class AppointmentDao {
 		List<Visit> result = new ArrayList<>();
 		Visit currentVisit = new Visit(subject);
 		for (AppointmentEntry appointmentEntry : list) {
-			if (appointmentEntry.getTypes().contains(AppointmentType.LEVEL_A) || appointmentEntry.getTypes().contains(AppointmentType.LEVEL_A_TQ)) {
+			if (appointmentEntry.getTypes().contains(AppointmentType.LEVEL_AQUEST) || appointmentEntry.getTypes().contains(AppointmentType.LEVEL_A_TQ)) {
 				if (currentVisit.getAppointments().size() > 0) {
 					result.add(currentVisit);
 				}
diff --git a/appointment-import/src/main/java/smash/appointment/parse/AppointmentType.java b/appointment-import/src/main/java/smash/appointment/parse/AppointmentType.java
index bceb087694fe573ae698e4251a7364557624f402..a4e9aec8774b7cec2379e17d3e78ae89c7f42168 100644
--- a/appointment-import/src/main/java/smash/appointment/parse/AppointmentType.java
+++ b/appointment-import/src/main/java/smash/appointment/parse/AppointmentType.java
@@ -6,7 +6,11 @@ public enum AppointmentType {
 	LEVEL_SB(30,"SB"), //
 
 	LEVEL_A_TQ(120,"A_TQ"), //
-	LEVEL_A(120,"A"), //
+	LEVEL_AN(60,"AN"), //
+	LEVEL_ANP(60,"ANP"), //
+	LEVEL_ASAMP(60,"ASAMP"), //
+	LEVEL_AWELC(15,"AWELC"), //
+	LEVEL_AQUEST(0,"AQUEST"), //
 	LEVEL_B(90,"B"), //
 	LEVEL_B_M_POWER(70,"mPower"), //
 	OTHER(60,"OTHER"), //
diff --git a/appointment-import/src/main/java/smash/appointment/parse/AppointmentTypeCollection.java b/appointment-import/src/main/java/smash/appointment/parse/AppointmentTypeCollection.java
index 63797a4d2e20e4276b351e7a724e4fd992e64d7a..27ddfc495fe599f005a70562a2e8b4404dc04bd2 100644
--- a/appointment-import/src/main/java/smash/appointment/parse/AppointmentTypeCollection.java
+++ b/appointment-import/src/main/java/smash/appointment/parse/AppointmentTypeCollection.java
@@ -1,9 +1,9 @@
 package smash.appointment.parse;
 
 public enum AppointmentTypeCollection {
-	LEVEL_A_BV_BG(new AppointmentType[] { AppointmentType.LEVEL_A, AppointmentType.LEVEL_BV, AppointmentType.LEVEL_BG }, //
+	LEVEL_A_BV_BG(new AppointmentType[] { AppointmentType.LEVEL_ANP, AppointmentType.LEVEL_BV, AppointmentType.LEVEL_BG }, //
 			new String[] { "BV + BG + neuro level A" }), //
-	LEVEL_A_B(new AppointmentType[] { AppointmentType.LEVEL_A, AppointmentType.LEVEL_B }, //
+	LEVEL_A_B(new AppointmentType[] { AppointmentType.LEVEL_ANP, AppointmentType.LEVEL_B }, //
 			new String[] { "level B + level A neuro" }), //
 	
 	LEVEL_B_BV_SB(new AppointmentType[] { AppointmentType.LEVEL_B, AppointmentType.LEVEL_BV, AppointmentType.LEVEL_SB }, //
@@ -42,7 +42,7 @@ public enum AppointmentTypeCollection {
 
 	LEVEL_A_TQ(new AppointmentType[] { AppointmentType.LEVEL_A_TQ }, //
 			new String[] { "TQ" }), //
-	LEVEL_A(new AppointmentType[] { AppointmentType.LEVEL_A }, //
+	LEVEL_A(new AppointmentType[] { AppointmentType.LEVEL_AWELC, AppointmentType.LEVEL_AN, AppointmentType.LEVEL_ANP, AppointmentType.LEVEL_AQUEST, AppointmentType.LEVEL_ASAMP,  }, //
 			new String[] { "level A" }), //
 	LEVEL_B(new AppointmentType[] { AppointmentType.LEVEL_B }, //
 			new String[] { "evel B" }), //
diff --git a/appointment-import/src/main/java/smash/appointment/parse/RedcapParser.java b/appointment-import/src/main/java/smash/appointment/parse/RedcapParser.java
index 2f4615a2f9bf9e82ebd980a1a31301119dd70e17..59e8eaf9cf7e9c07a289e19a01196c3c91e8a820 100644
--- a/appointment-import/src/main/java/smash/appointment/parse/RedcapParser.java
+++ b/appointment-import/src/main/java/smash/appointment/parse/RedcapParser.java
@@ -166,7 +166,7 @@ public class RedcapParser {
 		entry.setSubject(subject);
 		entry.setSource("Imported from RedCap");
 		entry.setTime(time);
-		entry.addType(AppointmentType.LEVEL_A);
+		entry.addTypes(AppointmentTypeCollection.LEVEL_A.getTypes());
 		entry.setLocation(subject.getToBeSeenAt());
 		return entry;
 	}
diff --git a/appointment-import/src/test/java/smash/appointment/parse/AppointmentDaoTest.java b/appointment-import/src/test/java/smash/appointment/parse/AppointmentDaoTest.java
index 98c1a8ad0fb2f444c7506a4c44b24efcf62fab45..c0339f690a2c346a0aaf65a7865f8824996bd79b 100644
--- a/appointment-import/src/test/java/smash/appointment/parse/AppointmentDaoTest.java
+++ b/appointment-import/src/test/java/smash/appointment/parse/AppointmentDaoTest.java
@@ -34,7 +34,7 @@ public class AppointmentDaoTest {
 		AppointmentEntry appointment = new AppointmentEntry();
 		appointment.setSubject(subject1);
 		appointment.setDay("2026-02-02");
-		appointment.addType(AppointmentType.LEVEL_A);
+		appointment.addType(AppointmentType.LEVEL_AQUEST);
 
 		AppointmentEntry appointment2 = new AppointmentEntry();
 		appointment2.setSubject(subject1);
@@ -44,7 +44,7 @@ public class AppointmentDaoTest {
 		AppointmentEntry appointment3 = new AppointmentEntry();
 		appointment3.setSubject(subject1);
 		appointment3.setDay("2021-02-02");
-		appointment3.addType(AppointmentType.LEVEL_A);
+		appointment3.addType(AppointmentType.LEVEL_AQUEST);
 
 		AppointmentDao appointmentDao = new AppointmentDao();
 		appointmentDao.addAppointment(appointment);
@@ -60,7 +60,7 @@ public class AppointmentDaoTest {
 		AppointmentEntry appointment = new AppointmentEntry();
 		appointment.setSubject(subject1);
 		appointment.setDay("2026-02-02");
-		appointment.addType(AppointmentType.LEVEL_A);
+		appointment.addType(AppointmentType.LEVEL_AQUEST);
 
 		AppointmentEntry appointment3 = new AppointmentEntry();
 		appointment3.setSubject(subject2);
diff --git a/appointment-import/src/test/java/smash/appointment/parse/CellParserTest.java b/appointment-import/src/test/java/smash/appointment/parse/CellParserTest.java
index 56ae493787677dad7bf08861061720b5302a161e..a65cd381888763c02cadf27da9a8bab5aedd833e 100644
--- a/appointment-import/src/test/java/smash/appointment/parse/CellParserTest.java
+++ b/appointment-import/src/test/java/smash/appointment/parse/CellParserTest.java
@@ -28,8 +28,8 @@ public class CellParserTest extends TestBase {
 
 		testCases = new ArrayList<CellParseTestCase>();
 
-		testCases.add(new CellParseTestCase("Piotr Gawron level A FU V3", piotrGawron, null, new AppointmentType[] { AppointmentType.LEVEL_A }));
-		testCases.add(new CellParseTestCase("09:00 Jan Kowalski-Nowak level A", janKowalskiNowak, "09:00", new AppointmentType[] { AppointmentType.LEVEL_A }));
+		testCases.add(new CellParseTestCase("Piotr Gawron level A FU V3", piotrGawron, null, AppointmentTypeCollection.LEVEL_A.getTypes()));
+		testCases.add(new CellParseTestCase("09:00 Jan Kowalski-Nowak level A", janKowalskiNowak, "09:00", AppointmentTypeCollection.LEVEL_A.getTypes()));
 		testCases.add(
 				new CellParseTestCase(
 						"ND0002 l664574645 (sms)evel BV ©  + SB ©", janKowalskiNowak, null, new AppointmentType[] { AppointmentType.LEVEL_BV, AppointmentType.LEVEL_SB }));
@@ -45,16 +45,16 @@ public class CellParserTest extends TestBase {
 				new CellParseTestCase(
 						"Cate Kowalsky level BV + BG + SB + m-Power", cateKowalsky, null,
 						new AppointmentType[] { AppointmentType.LEVEL_BV, AppointmentType.LEVEL_BG, AppointmentType.LEVEL_SB, AppointmentType.LEVEL_B_M_POWER }));
-		testCases.add(new CellParseTestCase("sb name level A", null, null, new AppointmentType[] { AppointmentType.LEVEL_A }));
-		testCases.add(new CellParseTestCase("Andrew Dude level A FU V3", andrewDude, null, new AppointmentType[] { AppointmentType.LEVEL_A }));
+		testCases.add(new CellParseTestCase("sb name level A", null, null, AppointmentTypeCollection.LEVEL_A.getTypes()));
+		testCases.add(new CellParseTestCase("Andrew Dude level A FU V3", andrewDude, null, AppointmentTypeCollection.LEVEL_A.getTypes()));
 		testCases.add(
 				new CellParseTestCase(
 						"Gawron Piotr BV + BG + neuro level A (FU)", piotrGawron, null,
-						new AppointmentType[] { AppointmentType.LEVEL_A, AppointmentType.LEVEL_BV, AppointmentType.LEVEL_BG }));
+						new AppointmentType[] { AppointmentType.LEVEL_ANP, AppointmentType.LEVEL_BV, AppointmentType.LEVEL_BG }));
 
 		testCases.add(
 				new CellParseTestCase(
-						"Gawron Piotr level B © + level A neuro  ©", piotrGawron, null, new AppointmentType[] { AppointmentType.LEVEL_A, AppointmentType.LEVEL_B }));
+						"Gawron Piotr level B © + level A neuro  ©", piotrGawron, null, new AppointmentType[] { AppointmentType.LEVEL_ANP, AppointmentType.LEVEL_B }));
 
 		testCases.add(
 				new CellParseTestCase(
diff --git a/appointment-import/src/test/java/smash/appointment/parse/RedcapParserTest.java b/appointment-import/src/test/java/smash/appointment/parse/RedcapParserTest.java
index e912829f7d1345aeedb3b5aa079e1d35c0eff59b..ba1be9f13d5c784e651537a48585808616e1cba9 100644
--- a/appointment-import/src/test/java/smash/appointment/parse/RedcapParserTest.java
+++ b/appointment-import/src/test/java/smash/appointment/parse/RedcapParserTest.java
@@ -43,7 +43,7 @@ public class RedcapParserTest extends TestBase{
 		int levelSBCount = 0;
 		int levelMPowerCount = 0;
 		for (AppointmentEntry appointmentEntry : entries) {
-			if (appointmentEntry.getTypes().contains(AppointmentType.LEVEL_A)) {
+			if (appointmentEntry.getTypes().contains(AppointmentType.LEVEL_AQUEST)) {
 				levelACount++;
 			}
 			if (appointmentEntry.getTypes().contains(AppointmentType.LEVEL_B)) {