@universis/accommodation 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/.gitlab-ci.yml +23 -0
  2. package/LICENSE +163 -0
  3. package/README.md +3 -0
  4. package/dist/AccommodationSchemaLoader.js +35 -0
  5. package/dist/AccommodationSchemaLoader.js.map +1 -0
  6. package/dist/AccommodationService.js +68 -0
  7. package/dist/AccommodationService.js.map +1 -0
  8. package/dist/DepartmentReplacer.js +54 -0
  9. package/dist/DepartmentReplacer.js.map +1 -0
  10. package/dist/StudentReplacer.js +75 -0
  11. package/dist/StudentReplacer.js.map +1 -0
  12. package/dist/config/models/Accommodation.json +96 -0
  13. package/dist/config/models/AccommodationCardEffectiveStatusType.json +107 -0
  14. package/dist/config/models/AccommodationCardEffectiveStatusTypeLocale.json +85 -0
  15. package/dist/config/models/AccommodationChildFinancialAttribute.json +46 -0
  16. package/dist/config/models/AccommodationGuardianFinancialAttribute.json +46 -0
  17. package/dist/config/models/AccommodationInscriptionModeTag.json +100 -0
  18. package/dist/config/models/AccommodationRequestAction.json +500 -0
  19. package/dist/config/models/AccommodationRequestActionMessage.json +46 -0
  20. package/dist/config/models/AccommodationRequestActionReview.json +31 -0
  21. package/dist/config/models/AccommodationRequestAttachmentConfiguration.json +72 -0
  22. package/dist/config/models/AccommodationRequestCategory.json +50 -0
  23. package/dist/config/models/AccommodationRequestEffectiveStatusType.json +212 -0
  24. package/dist/config/models/AccommodationRequestEffectiveStatusTypeLocale.json +85 -0
  25. package/dist/config/models/AccommodationRequestEvent.json +117 -0
  26. package/dist/config/models/AccommodationRequestFinancialAttribute.json +53 -0
  27. package/dist/config/models/AccommodationRoom.json +151 -0
  28. package/dist/config/models/AccommodationSiblingFinancialAttribute.json +57 -0
  29. package/dist/config/models/CancelAccommodationCardAction.json +32 -0
  30. package/dist/config/models/GuardianType.json +78 -0
  31. package/dist/config/models/Review.json +50 -0
  32. package/dist/config/models/RoomType.json +320 -0
  33. package/dist/config/models/RoomTypeLocale.json +86 -0
  34. package/dist/config/models/StudentAccommodationCard.json +158 -0
  35. package/dist/config/models/TestAction.json +50 -0
  36. package/dist/config/scope.access.js +148 -0
  37. package/dist/config/scope.access.js.map +1 -0
  38. package/dist/index.d.ts +2 -0
  39. package/dist/index.js +3 -0
  40. package/dist/index.js.map +1 -0
  41. package/dist/listeners/AddDefaultAttachmentConfiguration.js +44 -0
  42. package/dist/listeners/AddDefaultAttachmentConfiguration.js.map +1 -0
  43. package/dist/listeners/DefaultAttachmentConfigurations.json +277 -0
  44. package/dist/listeners/DefaultAttachmentTypes.json +523 -0
  45. package/dist/listeners/GenerateRequestNumberListener.js +87 -0
  46. package/dist/listeners/GenerateRequestNumberListener.js.map +1 -0
  47. package/dist/listeners/OnActionCompleteListener.js +96 -0
  48. package/dist/listeners/OnActionCompleteListener.js.map +1 -0
  49. package/dist/listeners/OnCancelAccommodationCardListener.js +87 -0
  50. package/dist/listeners/OnCancelAccommodationCardListener.js.map +1 -0
  51. package/dist/listeners/OnReactivateAccommodationCardListener.js +87 -0
  52. package/dist/listeners/OnReactivateAccommodationCardListener.js.map +1 -0
  53. package/dist/listeners/SendEmailAfterActionStatusChangeListener.js +98 -0
  54. package/dist/listeners/SendEmailAfterActionStatusChangeListener.js.map +1 -0
  55. package/dist/listeners/SendEmailAfterCardStatusChangeListener.js +139 -0
  56. package/dist/listeners/SendEmailAfterCardStatusChangeListener.js.map +1 -0
  57. package/dist/listeners/StudentAccommodationCardSaveListener.js +90 -0
  58. package/dist/listeners/StudentAccommodationCardSaveListener.js.map +1 -0
  59. package/dist/listeners/UpdateStudentAccommodationCardListener.js +70 -0
  60. package/dist/listeners/UpdateStudentAccommodationCardListener.js.map +1 -0
  61. package/dist/listeners/ValidateActionListener.js +348 -0
  62. package/dist/listeners/ValidateActionListener.js.map +1 -0
  63. package/dist/listeners/data-localization.js +209 -0
  64. package/dist/listeners/data-localization.js.map +1 -0
  65. package/dist/listeners/lookup-cache-listener.js +90 -0
  66. package/dist/listeners/lookup-cache-listener.js.map +1 -0
  67. package/dist/models/Accommodation.js +53 -0
  68. package/dist/models/Accommodation.js.map +1 -0
  69. package/dist/models/AccommodationRequestAction.js +214 -0
  70. package/dist/models/AccommodationRequestAction.js.map +1 -0
  71. package/dist/models/AccommodationRequestEvent.js +277 -0
  72. package/dist/models/AccommodationRequestEvent.js.map +1 -0
  73. package/dist/models/EnableAttachmentModel.js +210 -0
  74. package/dist/models/EnableAttachmentModel.js.map +1 -0
  75. package/dist/models/StudentAccommodationCard.js +93 -0
  76. package/dist/models/StudentAccommodationCard.js.map +1 -0
  77. package/dist/models/TestAction.d.ts +5 -0
  78. package/dist/models/TestAction.js +5 -0
  79. package/dist/models/TestAction.js.map +1 -0
  80. package/dist/templates/mail-after-dining-request-status-change/html.ejs +27 -0
  81. package/package.json +57 -0
  82. package/src/AccommodationSchemaLoader.js +35 -0
  83. package/src/AccommodationService.js +67 -0
  84. package/src/DepartmentReplacer.js +53 -0
  85. package/src/StudentReplacer.js +74 -0
  86. package/src/config/models/Accommodation.json +96 -0
  87. package/src/config/models/AccommodationCardEffectiveStatusType.json +107 -0
  88. package/src/config/models/AccommodationCardEffectiveStatusTypeLocale.json +85 -0
  89. package/src/config/models/AccommodationChildFinancialAttribute.json +46 -0
  90. package/src/config/models/AccommodationGuardianFinancialAttribute.json +46 -0
  91. package/src/config/models/AccommodationInscriptionModeTag.json +100 -0
  92. package/src/config/models/AccommodationRequestAction.json +500 -0
  93. package/src/config/models/AccommodationRequestActionMessage.json +46 -0
  94. package/src/config/models/AccommodationRequestActionReview.json +31 -0
  95. package/src/config/models/AccommodationRequestAttachmentConfiguration.json +72 -0
  96. package/src/config/models/AccommodationRequestCategory.json +50 -0
  97. package/src/config/models/AccommodationRequestEffectiveStatusType.json +212 -0
  98. package/src/config/models/AccommodationRequestEffectiveStatusTypeLocale.json +85 -0
  99. package/src/config/models/AccommodationRequestEvent.json +117 -0
  100. package/src/config/models/AccommodationRequestFinancialAttribute.json +53 -0
  101. package/src/config/models/AccommodationRoom.json +151 -0
  102. package/src/config/models/AccommodationSiblingFinancialAttribute.json +57 -0
  103. package/src/config/models/CancelAccommodationCardAction.json +32 -0
  104. package/src/config/models/GuardianType.json +78 -0
  105. package/src/config/models/Review.json +50 -0
  106. package/src/config/models/RoomType.json +320 -0
  107. package/src/config/models/RoomTypeLocale.json +86 -0
  108. package/src/config/models/StudentAccommodationCard.json +158 -0
  109. package/src/config/models/TestAction.json +50 -0
  110. package/src/config/scope.access.js +148 -0
  111. package/src/index.d.ts +2 -0
  112. package/src/index.js +2 -0
  113. package/src/listeners/AddDefaultAttachmentConfiguration.js +43 -0
  114. package/src/listeners/DefaultAttachmentConfigurations.json +277 -0
  115. package/src/listeners/DefaultAttachmentTypes.json +523 -0
  116. package/src/listeners/GenerateRequestNumberListener.js +86 -0
  117. package/src/listeners/OnActionCompleteListener.js +95 -0
  118. package/src/listeners/OnCancelAccommodationCardListener.js +86 -0
  119. package/src/listeners/OnReactivateAccommodationCardListener.js +86 -0
  120. package/src/listeners/SendEmailAfterActionStatusChangeListener.js +97 -0
  121. package/src/listeners/SendEmailAfterCardStatusChangeListener.js +138 -0
  122. package/src/listeners/StudentAccommodationCardSaveListener.js +89 -0
  123. package/src/listeners/UpdateStudentAccommodationCardListener.js +69 -0
  124. package/src/listeners/ValidateActionListener.js +347 -0
  125. package/src/listeners/data-localization.js +214 -0
  126. package/src/listeners/lookup-cache-listener.js +89 -0
  127. package/src/models/Accommodation.js +52 -0
  128. package/src/models/AccommodationRequestAction.js +195 -0
  129. package/src/models/AccommodationRequestEvent.js +276 -0
  130. package/src/models/EnableAttachmentModel.js +209 -0
  131. package/src/models/StudentAccommodationCard.js +92 -0
  132. package/src/models/TestAction.d.ts +5 -0
  133. package/src/models/TestAction.js +10 -0
  134. package/src/templates/mail-after-dining-request-status-change/html.ejs +27 -0
@@ -0,0 +1,277 @@
1
+ [
2
+ {
3
+ "attachmentType": {
4
+ "alternateName": "schorlashipCertificate"
5
+ },
6
+ "requiredRule": "(category != null && category.alternateName === 'normal') && (foreignScholarStudent != null && foreignScholarStudent === true)",
7
+ "numberOfAttachments": 1
8
+ },
9
+ {
10
+ "attachmentType": {
11
+ "alternateName": "disabilityCertificate"
12
+ },
13
+ "requiredRule": "(category != null && category.alternateName === 'normal') && (studentDisabledPerson != null && studentDisabledPerson === true)",
14
+ "numberOfAttachments": 1
15
+ },
16
+ {
17
+ "attachmentType": {
18
+ "alternateName": "familyDeclaration"
19
+ },
20
+ "requiredRule": "(((studentHouseResident != null && studentHouseResident === false) && (sameDegreeHolder != null && sameDegreeHolder === false) && (mobilityProgramStudent != null && mobilityProgramStudent === false) && (foreignScholarStudent != null && foreignScholarStudent === false) && (lessThan25yrs != null && lessThan25yrs === true)) || ((studentHouseResident != null && studentHouseResident === false) && (sameDegreeHolder != null && sameDegreeHolder === false) && (mobilityProgramStudent != null && mobilityProgramStudent === false) && (foreignScholarStudent != null && foreignScholarStudent === false) && (lessThan25yrs != null && lessThan25yrs === true)) ||((studentHouseResident != null && studentHouseResident === false) && (sameDegreeHolder != null && sameDegreeHolder === false) && (mobilityProgramStudent != null && mobilityProgramStudent === false) && (foreignScholarStudent != null && foreignScholarStudent === false) && (lessThan25yrs != null && lessThan25yrs === false) && (maritalStatus != null && maritalStatus.alternateName === 'married') && (studentSpouseReceivesUnemploymentBenefit != null && studentSpouseReceivesUnemploymentBenefit === false)))",
21
+ "numberOfAttachments": 1
22
+ },
23
+ {
24
+ "attachmentType": {
25
+ "alternateName": "documentOfPermanentFamilyAddress"
26
+ },
27
+ "requiredRule": "(category != null && category.alternateName === 'normal') && ((studentGuardianReceivesUnemploymentBenefit === false && institutionOrClubLocationSameAsStudentPermanentResidence != null && institutionOrClubLocationSameAsStudentPermanentResidence === true ) || (studentGuardianReceivesUnemploymentBenefit === false && institutionOrClubLocationSameAsGuardianPermanentResidence != null && institutionOrClubLocationSameAsGuardianPermanentResidence === true))",
28
+ "numberOfAttachments": 1
29
+ },
30
+ {
31
+ "attachmentType": {
32
+ "alternateName": "deathCertificate"
33
+ },
34
+ "requiredRule": "(category != null && category.alternateName === 'normal') && (foreignStudentOrChildOfGreekExpatriate != null && foreignStudentOrChildOfGreekExpatriate === false && studentSubmitsTaxReportInGreece != null && studentSubmitsTaxReportInGreece === true && ( studentSpouseReceivesUnemploymentBenefit == null || studentSpouseReceivesUnemploymentBenefit == false ) && ( studentGuardianReceivesUnemploymentBenefit == null || studentGuardianReceivesUnemploymentBenefit == false ))",
35
+ "numberOfAttachments": 1
36
+ },
37
+ {
38
+ "attachmentType": {
39
+ "alternateName": "studentTaxIncomeDocument"
40
+ },
41
+ "requiredRule": "(category != null && category.alternateName === 'normal') && (foreignStudentOrChildOfGreekExpatriate != null && foreignStudentOrChildOfGreekExpatriate === false && studentSubmitsTaxReportInGreece != null && studentSubmitsTaxReportInGreece === true && ( studentSpouseReceivesUnemploymentBenefit == null || studentSpouseReceivesUnemploymentBenefit == false ) && ( studentGuardianReceivesUnemploymentBenefit == null || studentGuardianReceivesUnemploymentBenefit == false ))",
42
+ "numberOfAttachments": 1
43
+ },
44
+ {
45
+ "attachmentType": {
46
+ "alternateName": "studentTaxE1Document"
47
+ },
48
+ "requiredRule": "(category != null && category.alternateName === 'normal') && (foreignStudentOrChildOfGreekExpatriate != null && foreignStudentOrChildOfGreekExpatriate === false && studentSubmitsTaxReportInGreece != null && studentSubmitsTaxReportInGreece === true && ( studentSpouseReceivesUnemploymentBenefit == null || studentSpouseReceivesUnemploymentBenefit == false ) && ( studentGuardianReceivesUnemploymentBenefit == null || studentGuardianReceivesUnemploymentBenefit == false ))",
49
+ "numberOfAttachments": 1
50
+ },
51
+ {
52
+ "attachmentType": {
53
+ "alternateName": "studentIncomeCertificate"
54
+ },
55
+ "requiredRule": "(category != null && category.alternateName === 'normal') && ((studentSubmitsTaxReportInGreece != null && studentSubmitsTaxReportInGreece === false) && (foreignScholarStudent != null && foreignScholarStudent === false) && (studentHouseResident != null && studentHouseResident === false) && (sameDegreeHolder != null && sameDegreeHolder === false) && (foreignScholarStudent != null && foreignScholarStudent === false) && (mobilityProgramStudent != null && mobilityProgramStudent === false) && guardianType != null && guardianType.alternateName === 'nobody')",
56
+ "numberOfAttachments": 1
57
+ },
58
+ {
59
+ "attachmentType": {
60
+ "alternateName": "studentSpouseUnemploymentCertificate"
61
+ },
62
+ "requiredRule": "(category != null && category.alternateName === 'normal') && (studentSpouseReceivesUnemploymentBenefit != null && studentSpouseReceivesUnemploymentBenefit === true && maritalStatus != null && maritalStatus.alternateName === 'married')",
63
+ "numberOfAttachments": 1
64
+ },
65
+ {
66
+ "attachmentType": {
67
+ "alternateName": "studentSpouseTaxIncomeDocument"
68
+ },
69
+ "requiredRule": "(category != null && category.alternateName === 'normal') && (studentSpouseReceivesUnemploymentBenefit != null && studentSpouseReceivesUnemploymentBenefit === true && maritalStatus != null && maritalStatus.alternateName === 'married')",
70
+ "numberOfAttachments": 1
71
+ },
72
+ {
73
+ "attachmentType": {
74
+ "alternateName": "studentSpouseTaxE1Document"
75
+ },
76
+ "requiredRule": "(category != null && category.alternateName === 'normal') && (studentSpouseReceivesUnemploymentBenefit != null && studentSpouseReceivesUnemploymentBenefit === true && maritalStatus != null && maritalStatus.alternateName === 'married')",
77
+ "numberOfAttachments": 1
78
+ },
79
+ {
80
+ "attachmentType": {
81
+ "alternateName": "studentParentsUnemploymentCertificate"
82
+ },
83
+ "requiredRule": "(category != null && category.alternateName === 'normal') && (studentGuardianReceivesUnemploymentBenefit !== null && studentGuardianReceivesUnemploymentBenefit === true && foreignStudentOrChildOfGreekExpatriate === false)",
84
+ "numberOfAttachments": 1
85
+ },
86
+ {
87
+ "attachmentType": {
88
+ "alternateName": "studentParentsTaxIncomeDocument"
89
+ },
90
+ "requiredRule": "(category != null && category.alternateName === 'normal') && (((studentGuardianSubmitsTaxReportInGreece != null && studentGuardianSubmitsTaxReportInGreece === true) || (accommodationGuardianFinancialAttributes != null && accommodationGuardianFinancialAttributes.length != 0 && accommodationGuardianFinancialAttributes.filter((el)=>el.hasTaxDeclaration === true).length != 0) ) && (maritalStatus != null && maritalStatus.alternateName === 'single') && (lessThan25yrs != null && lessThan25yrs === true) && (guardianType != null && guardianType.alternateName !== 'nobody') && (studentGuardianReceivesUnemploymentBenefit != null && studentGuardianReceivesUnemploymentBenefit === false ) && ( foreignStudentOrChildOfGreekExpatriate !== null && foreignStudentOrChildOfGreekExpatriate === false)) ",
91
+ "numberOfAttachments": 1
92
+ },
93
+ {
94
+ "attachmentType": {
95
+ "alternateName": "studentParentsTaxE1Document"
96
+ },
97
+ "requiredRule": "(category != null && category.alternateName === 'normal') && (((studentGuardianSubmitsTaxReportInGreece != null && studentGuardianSubmitsTaxReportInGreece === true) || (accommodationGuardianFinancialAttributes != null && accommodationGuardianFinancialAttributes.length != 0 && accommodationGuardianFinancialAttributes.filter((el)=>el.hasTaxDeclaration === true).length != 0) ) && (maritalStatus != null && maritalStatus.alternateName === 'single') && (lessThan25yrs != null && lessThan25yrs === true) && (guardianType != null && guardianType.alternateName !== 'nobody') && (studentGuardianReceivesUnemploymentBenefit != null && studentGuardianReceivesUnemploymentBenefit === false ) && ( foreignStudentOrChildOfGreekExpatriate !== null && foreignStudentOrChildOfGreekExpatriate === false)) ",
98
+ "numberOfAttachments": 1
99
+ },
100
+ {
101
+ "attachmentType": {
102
+ "alternateName": "solemnDeclaration"
103
+ },
104
+ "requiredRule": "(category != null && category.alternateName === 'normal') && ((childOfUnmarriedMother != null && childOfUnmarriedMother === false) && (studentOrphan != null && studentOrphan === false) && (studentGuardianReceivesUnemploymentBenefit != null && studentGuardianReceivesUnemploymentBenefit === false) && (maritalStatus != null && maritalStatus.alternateName === 'single') && (lessThan25yrs != null && lessThan25yrs === true && guardianType != null) && ( guardianType.alternateName === 'father' || guardianType.alternateName === 'mother')) ",
105
+ "numberOfAttachments": 1
106
+ },
107
+ {
108
+ "attachmentType": {
109
+ "alternateName": "familyIncomeCertificate"
110
+ },
111
+ "requiredRule": "(category != null && category.alternateName === 'normal') && ((maritalStatus != null && maritalStatus.alternateName === 'single') && lessThan25yrs != null && lessThan25yrs === true && guardianType != null && ( guardianType.alternateName === 'mother' || guardianType.alternateName === 'father' ) && (studentGuardianReceivesUnemploymentBenefit != null && studentGuardianReceivesUnemploymentBenefit === false ) &&( studentGuardianSubmitsTaxReportInGreece != null && studentGuardianSubmitsTaxReportInGreece === false ))",
112
+ "numberOfAttachments": 1
113
+ },
114
+ {
115
+ "attachmentType": {
116
+ "alternateName": "studentParentsFamilyWithManyChildrenCertificate"
117
+ },
118
+ "requiredRule": "(category != null && category.alternateName === 'normal') && ((maritalStatus != null && maritalStatus.alternateName === 'single') && lessThan25yrs != null && lessThan25yrs === true && guardianType != null && guardianType.alternateName === 'parents' && guardianNoOfChildren != null && guardianNoOfChildren > 3) ",
119
+ "numberOfAttachments": 1
120
+ },
121
+ {
122
+ "attachmentType": {
123
+ "alternateName": "studentFamilyWithManyChildrenCertificate"
124
+ },
125
+ "requiredRule": "(category != null && category.alternateName === 'normal') && ((maritalStatus != null && maritalStatus.alternateName != 'single') && (noOfChildren != null && noOfChildren > 3)) ",
126
+ "numberOfAttachments": 1
127
+ },
128
+ {
129
+ "attachmentType": {
130
+ "alternateName": "copyOrRetirementDeed"
131
+ },
132
+ "requiredRule": "(category != null && category.alternateName === 'normal') && ((lessThan25yrs != null && lessThan25yrs === true)) ",
133
+ "numberOfAttachments": 1
134
+ },
135
+ {
136
+ "attachmentType": {
137
+ "alternateName": "divorceJudgment"
138
+ },
139
+ "requiredRule": "(category != null && category.alternateName === 'normal') && ((childOfUnmarriedMother != null && childOfUnmarriedMother === false) && (studentOrphan != null && studentOrphan === false) && studentGuardianReceivesUnemploymentBenefit === false && (maritalStatus != null && maritalStatus.alternateName === 'single') && (lessThan25yrs != null && lessThan25yrs === true) && (guardianType != null && ( guardianType.alternateName === 'father' || guardianType.alternateName === 'mother') ) )",
140
+ "numberOfAttachments": 1
141
+ },
142
+ {
143
+ "attachmentType": {
144
+ "alternateName": "foreignFamilyIncomeCertificate"
145
+ },
146
+ "requiredRule": "(category != null && category.alternateName === 'normal') && (((studentGuardianSubmitsTaxReportInGreece != null && studentGuardianSubmitsTaxReportInGreece === true) || (accommodationGuardianFinancialAttributes != null && accommodationGuardianFinancialAttributes.length != 0 ) ) && (foreignStudentOrChildOfGreekExpatriate != null && foreignStudentOrChildOfGreekExpatriate === true) && (lessThan25yrs != null && lessThan25yrs === true) && ( studentSpouseReceivesUnemploymentBenefit == null || studentSpouseReceivesUnemploymentBenefit == false ) && ( studentGuardianReceivesUnemploymentBenefit === null || studentGuardianReceivesUnemploymentBenefit === false ))",
147
+ "numberOfAttachments": 1
148
+ },
149
+ {
150
+ "attachmentType": {
151
+ "alternateName": "studentSpouseForeignIncomeCertificate"
152
+ },
153
+ "requiredRule": "(category != null && category.alternateName === 'normal') && ((foreignStudentOrChildOfGreekExpatriate != null && foreignStudentOrChildOfGreekExpatriate === true) && maritalStatus != null && maritalStatus.alternateName === 'married' && ( studentSpouseReceivesUnemploymentBenefit == null || studentSpouseReceivesUnemploymentBenefit == false ))",
154
+ "numberOfAttachments": 1
155
+ },
156
+ {
157
+ "attachmentType": {
158
+ "alternateName": "studentChildrenForeignIncomeCertificate"
159
+ },
160
+ "requiredRule": "(category != null && category.alternateName === 'normal') && ((accommodationChildrenFinancialAttributes != null && accommodationChildrenFinancialAttributes.length != 0 && accommodationChildrenFinancialAttributes.filter((el)=>el.hasTaxDeclaration === true).length != 0) && (foreignStudentOrChildOfGreekExpatriate != null && foreignStudentOrChildOfGreekExpatriate === true) && maritalStatus != null && maritalStatus.alternateName === 'married' && ( studentSpouseReceivesUnemploymentBenefit == null || studentSpouseReceivesUnemploymentBenefit == false ) && ( noOfChildren != null && noOfChildren > 0))",
161
+ "numberOfAttachments": 1
162
+ },
163
+ {
164
+ "attachmentType": {
165
+ "alternateName": "educationCertificate"
166
+ },
167
+ "requiredRule": "(category != null && category.alternateName === 'normal') && ((maritalStatus != null && maritalStatus.alternateName === 'single') && (lessThan25yrs != null && lessThan25yrs === true) && (guardianType != null && (guardianType.alternateName === 'parents' || guardianType.alternateName === 'father' || guardianType.alternateName === 'mother')) && (numberOfStudyingSiblings != null && numberOfStudyingSiblings > 0) && (studyingSiblingsHaveOtherPermanentResidence != null && studyingSiblingsHaveOtherPermanentResidence === true)) ",
168
+ "numberOfAttachmentsProperty": "numberOfStudyingSiblings",
169
+ "numberOfAttachments": 1
170
+ },
171
+ {
172
+ "attachmentType": {
173
+ "alternateName": "militaryActiveCertificate"
174
+ },
175
+ "requiredRule": "(category != null && category.alternateName === 'normal') && ((maritalStatus != null && maritalStatus.alternateName === 'single') && (lessThan25yrs != null && lessThan25yrs === true) && (guardianType != null && (guardianType.alternateName === 'parents' || guardianType.alternateName === 'father' || guardianType.alternateName === 'mother')) && (numberOfMilitaryActiveSiblings != null && numberOfMilitaryActiveSiblings > 0))",
176
+ "numberOfAttachmentsProperty": "numberOfMilitaryActiveSiblings",
177
+ "numberOfAttachments": 1
178
+ },
179
+ {
180
+ "attachmentType": {
181
+ "alternateName": "studentChildrenTaxIncomeDocument"
182
+ },
183
+ "requiredRule": "(category != null && category.alternateName === 'normal') && ((accommodationChildrenFinancialAttributes != null && accommodationChildrenFinancialAttributes.length != 0 && accommodationChildrenFinancialAttributes.filter((el)=>el.hasTaxDeclaration === true).length != 0) && (maritalStatus != null && maritalStatus.alternateName === 'married') && (noOfChildren != null && noOfChildren > 0) && ( studentSpouseReceivesUnemploymentBenefit == null || studentSpouseReceivesUnemploymentBenefit == false ))",
184
+ "numberOfAttachments": 1
185
+ },
186
+ {
187
+ "attachmentType": {
188
+ "alternateName": "studentChildrenTaxE1Document"
189
+ },
190
+ "requiredRule": "(category != null && category.alternateName === 'normal') && ((accommodationChildrenFinancialAttributes != null && accommodationChildrenFinancialAttributes.length != 0 && accommodationChildrenFinancialAttributes.filter((el)=>el.hasTaxDeclaration === true).length != 0) && (maritalStatus != null && maritalStatus.alternateName === 'married') && (noOfChildren != null && noOfChildren > 0) && ( studentSpouseReceivesUnemploymentBenefit == null || studentSpouseReceivesUnemploymentBenefit == false ))",
191
+ "numberOfAttachments": 1
192
+ },
193
+ {
194
+ "attachmentType": {
195
+ "alternateName": "studentSiblingTaxIncomeDocument"
196
+ },
197
+ "requiredRule": "(category != null && category.alternateName === 'normal') && ((accommodationSiblingFinancialAttributes != null && accommodationSiblingFinancialAttributes.length != 0 && accommodationSiblingFinancialAttributes.filter((el)=>el.hasTaxDeclaration === true).length != 0) && (maritalStatus != null && maritalStatus.alternateName === 'single') && ( guardianNoOfChildren != null && guardianNoOfChildren > 1) && guardianNoOfChildrenLessThan18yrs != null && guardianNoOfChildrenLessThan18yrs > 0 && (studentGuardianReceivesUnemploymentBenefit == null || studentGuardianReceivesUnemploymentBenefit === false ) && (foreignStudentOrChildOfGreekExpatriate != null && foreignStudentOrChildOfGreekExpatriate === false)",
198
+ "numberOfAttachments": 1
199
+ },
200
+ {
201
+ "attachmentType": {
202
+ "alternateName": "studentSiblingTaxE1Document"
203
+ },
204
+ "requiredRule": "(category != null && category.alternateName === 'normal') && ((accommodationSiblingFinancialAttributes != null && accommodationSiblingFinancialAttributes.length != 0 && accommodationSiblingFinancialAttributes.filter((el)=>el.hasTaxDeclaration === true).length != 0) && (maritalStatus != null && maritalStatus.alternateName === 'single') && ( guardianNoOfChildren != null && guardianNoOfChildren > 1) && guardianNoOfChildrenLessThan18yrs != null && guardianNoOfChildrenLessThan18yrs > 0 && (studentGuardianReceivesUnemploymentBenefit == null || studentGuardianReceivesUnemploymentBenefit === false ) && (foreignStudentOrChildOfGreekExpatriate != null && foreignStudentOrChildOfGreekExpatriate === false)",
205
+ "numberOfAttachments": 1
206
+ },
207
+ {
208
+ "attachmentType": {
209
+ "alternateName": "childOfUnmarriedMotherCertificate"
210
+ },
211
+ "requiredRule": "(category != null && category.alternateName === 'normal') && (childOfUnmarriedMother != null && childOfUnmarriedMother === true)",
212
+ "numberOfAttachments": 1
213
+ },
214
+ {
215
+ "attachmentType": {
216
+ "alternateName": "studentHasDisabledSiblingsCertificate"
217
+ },
218
+ "requiredRule": "(category != null && category.alternateName === 'normal') && (studentHasDisabledSiblings != null && studentHasDisabledSiblings === true)",
219
+ "numberOfAttachments": 1
220
+ },
221
+ {
222
+ "attachmentType": {
223
+ "alternateName": "studentSiblingForeignIncomeCertificate"
224
+ },
225
+ "requiredRule": "(category != null && category.alternateName === 'normal') && ((accommodationSiblingFinancialAttributes != null && accommodationSiblingFinancialAttributes.length != 0 && accommodationSiblingFinancialAttributes.filter((el)=>el.hasTaxDeclaration === true).length != 0) && (foreignStudentOrChildOfGreekExpatriate != null && foreignStudentOrChildOfGreekExpatriate === true) && (maritalStatus != null && maritalStatus.alternateName === 'single') && ( studentSpouseReceivesUnemploymentBenefit == null || studentSpouseReceivesUnemploymentBenefit == false ) && (guardianNoOfChildren != null && guardianNoOfChildren > 1) && (guardianNoOfChildrenLessThan18yrs != null && guardianNoOfChildrenLessThan18yrs > 0) && ( studentGuardianReceivesUnemploymentBenefit == null || studentGuardianReceivesUnemploymentBenefit == false ))",
226
+ "numberOfAttachments": 1
227
+ },
228
+ {
229
+ "attachmentType": {
230
+ "alternateName": "studentParentsForeignUnemploymentCertificate"
231
+ },
232
+ "requiredRule": "(category != null && category.alternateName === 'normal') && ((foreignStudentOrChildOfGreekExpatriate != null && foreignStudentOrChildOfGreekExpatriate === true) && maritalStatus != null && maritalStatus.alternateName === 'single' && ( studentGuardianReceivesUnemploymentBenefit !== null && studentGuardianReceivesUnemploymentBenefit == true ))",
233
+ "numberOfAttachments": 1
234
+ },
235
+ {
236
+ "attachmentType": {
237
+ "alternateName": "studentForeignIncomeCertificate"
238
+ },
239
+ "requiredRule": "(category != null && category.alternateName === 'normal') && ((foreignStudentOrChildOfGreekExpatriate != null && foreignStudentOrChildOfGreekExpatriate === true) && ( studentSpouseReceivesUnemploymentBenefit != null && studentSpouseReceivesUnemploymentBenefit == false ) && ( studentGuardianReceivesUnemploymentBenefit != null && studentGuardianReceivesUnemploymentBenefit == false ) && studentSubmitsTaxReportInGreece != null && studentSubmitsTaxReportInGreece === true)",
240
+ "numberOfAttachments": 1
241
+ },
242
+ {
243
+ "attachmentType": {
244
+ "alternateName": "specialCategoryParticipantRelativityDeclaration"
245
+ },
246
+ "requiredRule": "category != null && category.alternateName === 'tempi' && specialCategorySelfParticipant != null && specialCategorySelfParticipant === false",
247
+ "numberOfAttachments": 1
248
+ },
249
+ {
250
+ "attachmentType": {
251
+ "alternateName": "specialCategoryRelativeParticipantOtherDocument"
252
+ },
253
+ "requiredRule": "category != null && category.alternateName === 'tempi' && specialCategorySelfParticipant != null && specialCategorySelfParticipant === false",
254
+ "numberOfAttachments": 1
255
+ },
256
+ {
257
+ "attachmentType": {
258
+ "alternateName": "specialCategoryRelativeParticipantDocument"
259
+ },
260
+ "requiredRule": "category != null && category.alternateName === 'tempi' && specialCategorySelfParticipant != null && specialCategorySelfParticipant === false",
261
+ "numberOfAttachments": 1
262
+ },
263
+ {
264
+ "attachmentType": {
265
+ "alternateName": "specialCategorySelfParticipantDocument"
266
+ },
267
+ "requiredRule": "category != null && category.alternateName === 'tempi' && specialCategorySelfParticipant != null && specialCategorySelfParticipant === true",
268
+ "numberOfAttachments": 1
269
+ },
270
+ {
271
+ "attachmentType": {
272
+ "alternateName": "notesDocument"
273
+ },
274
+ "requiredRule": "comment != null",
275
+ "numberOfAttachments": 0
276
+ }
277
+ ]