diff --git a/build.gradle.kts b/build.gradle.kts
index 4949d93..5ed3aa6 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -11,7 +11,7 @@ plugins {
 }
 
 group = "com.aitrainer"
-version = "1.0.53"
+version = "1.0.54"
 java.sourceCompatibility = JavaVersion.VERSION_1_8
 
 repositories {
diff --git a/data/db/update_1_0_54.sql b/data/db/update_1_0_54.sql
new file mode 100644
index 0000000..5e1e53e
--- /dev/null
+++ b/data/db/update_1_0_54.sql
@@ -0,0 +1,20 @@
+START TRANSACTION;
+
+CREATE TABLE `training_program` (
+	`training_program_id` INT(11) NOT NULL AUTO_INCREMENT,
+	`name` CHAR(50) NOT NULL COLLATE 'utf8mb4_general_ci',
+	PRIMARY KEY (`training_program_id`) USING BTREE
+)
+COLLATE='utf8mb4_general_ci'
+ENGINE=InnoDB
+;
+
+ALTER TABLE `training_plan`
+	ADD COLUMN `training_program_id` INT NULL DEFAULT NULL AFTER `tree_id`;
+
+ALTER TABLE `training_plan`
+	ADD COLUMN `weeks` INT NULL DEFAULT NULL AFTER `active`;
+
+UPDATE configuration set config_value = "1.0.54", date_change=CURRENT_DATE WHERE config_key = "db_version";
+
+COMMIT;
diff --git a/src/main/kotlin/com/aitrainer/api/controller/PackageController.kt b/src/main/kotlin/com/aitrainer/api/controller/PackageController.kt
index 39485c7..6e5fcb8 100644
--- a/src/main/kotlin/com/aitrainer/api/controller/PackageController.kt
+++ b/src/main/kotlin/com/aitrainer/api/controller/PackageController.kt
@@ -28,7 +28,8 @@ class PackageController(private val exerciseAbilityRepository: ExerciseAbilityRe
                         private val trainingPlanRepository: TrainingPlanRepository,
                         private val splitTestsRepository: SplitTestsRepository,
                         private val trainingPlanDayRepository: TrainingPlanDayRepository,
-                        private val appTextRepository: AppTextRepository
+                        private val appTextRepository: AppTextRepository,
+                        private val trainingProgramRepository: TrainingProgramRepository
 ) {
     private val logger = LoggerFactory.getLogger(javaClass)
 
@@ -91,6 +92,9 @@ class PackageController(private val exerciseAbilityRepository: ExerciseAbilityRe
         val listAppText = appTextRepository.findAll()
         val listAppTextJson = gson.toJson(listAppText)
 
+        val listTrainingProgram = trainingProgramRepository.findAll()
+        val listTrainingProgramJson = gson.toJson(listTrainingProgram)
+
         val packageJson: String =
                     getClassRecord(ExerciseDevice::class.simpleName, listDevicesJson) +
            "|||" +  getClassRecord(Product::class.simpleName, listProductsJson) +
@@ -108,7 +112,8 @@ class PackageController(private val exerciseAbilityRepository: ExerciseAbilityRe
            "|||" +  getClassRecord(TrainingPlan::class.simpleName, listTrainingPlanJson) +
            "|||" +  getClassRecord(SplitTests::class.simpleName, listSplitTestsJson) +
            "|||" +  getClassRecord(TrainingPlanDay::class.simpleName, listTrainingPlanDayJson) +
-           "|||" +  getClassRecord(AppText::class.simpleName, listAppTextJson)
+           "|||" +  getClassRecord(AppText::class.simpleName, listAppTextJson)  +
+           "|||" +  getClassRecord(TrainingProgram::class.simpleName, listTrainingProgramJson)
 
         return if (packageJson.isEmpty()) ResponseEntity.notFound().build() else
             ResponseEntity.ok().body(packageJson)
diff --git a/src/main/kotlin/com/aitrainer/api/model/TrainingProgram.kt b/src/main/kotlin/com/aitrainer/api/model/TrainingProgram.kt
new file mode 100644
index 0000000..40e9c4c
--- /dev/null
+++ b/src/main/kotlin/com/aitrainer/api/model/TrainingProgram.kt
@@ -0,0 +1,14 @@
+package com.aitrainer.api.model
+
+import com.google.gson.annotations.Expose
+import org.hibernate.annotations.Fetch
+import org.hibernate.annotations.FetchMode
+import org.springframework.lang.NonNull
+import javax.persistence.*
+
+@Entity
+data class TrainingProgram (
+    @Expose @Id  @GeneratedValue(strategy = GenerationType.IDENTITY) @get: NonNull var trainingProgramId: Long = 0,
+    @Expose @get: NonNull var name: String,
+
+)
\ No newline at end of file
diff --git a/src/main/kotlin/com/aitrainer/api/repository/TrainingProgramRepository.kt b/src/main/kotlin/com/aitrainer/api/repository/TrainingProgramRepository.kt
new file mode 100644
index 0000000..cf5f704
--- /dev/null
+++ b/src/main/kotlin/com/aitrainer/api/repository/TrainingProgramRepository.kt
@@ -0,0 +1,9 @@
+package com.aitrainer.api.repository
+
+import com.aitrainer.api.model.TrainingProgram
+import org.springframework.data.jpa.repository.JpaRepository
+import org.springframework.stereotype.Repository
+
+@Repository
+interface TrainingProgramRepository: JpaRepository<TrainingProgram, Int> {
+}
\ No newline at end of file
diff --git a/src/main/resources/application-prod.properties b/src/main/resources/application-prod.properties
index 50aa032..d8cd67f 100644
--- a/src/main/resources/application-prod.properties
+++ b/src/main/resources/application-prod.properties
@@ -17,6 +17,6 @@ logging.config=classpath:logback-spring.xml
 logging.file=logs
 
 # if the database structure has been changed, increment this version number
-application.version=1.0.53
+application.version=1.0.54
 
 jwt.secret=aitrainer
\ No newline at end of file
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index f15356d..769658f 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -17,7 +17,7 @@ logging.config=classpath:logback-spring.xml
 logging.file=logs
 
 # if the database structure has been changed, increment this version number
-application.version=1.0.53
+application.version=1.0.54
 
 jwt.secret=aitrainer
 jasypt.encryptor.password=Tibor
diff --git a/src/test/kotlin/com/aitrainer/api/test/AppPackageTest.kt b/src/test/kotlin/com/aitrainer/api/test/AppPackageTest.kt
index e49f964..73ab10d 100644
--- a/src/test/kotlin/com/aitrainer/api/test/AppPackageTest.kt
+++ b/src/test/kotlin/com/aitrainer/api/test/AppPackageTest.kt
@@ -51,6 +51,8 @@ class AppPackageTest {
     private lateinit var trainingPlanDayRepository: TrainingPlanDayRepository
     @Autowired
     private lateinit var appTextRepository: AppTextRepository
+    @Autowired
+    private lateinit var trainingProgramRepository: TrainingProgramRepository
 
     @Test
     fun testAppPackage() {
@@ -73,7 +75,8 @@ class AppPackageTest {
             trainingPlanRepository,
             splitTestsRepository,
             trainingPlanDayRepository,
-            appTextRepository
+            appTextRepository,
+            trainingProgramRepository
         )
         val response: ResponseEntity<*> = controller.getPackageData()
 
@@ -211,6 +214,13 @@ class AppPackageTest {
                 assertEquals(texts.size, 2)
                 assertEquals(texts[0].translations[0].translation, "Done!")
                 assertEquals(texts[0].translations[1].translation, "Kész!")
+            } else if (record[0] == TrainingProgram::class.simpleName) {
+                val trainingProgramJson: String = record[1]
+                val type = object : TypeToken<List<TrainingProgram?>?>() {}.type
+                val programs: List<TrainingProgram> = gson.fromJson(trainingProgramJson, type)
+                assertEquals(programs.size, 2)
+                assertEquals(programs[0].name, "TopForm")
+                assertEquals(programs[1].name, "WeightLoss")
             }
         }
     }