@platform-modules/civil-aviation-authority 2.3.185 → 2.3.192

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 (67) hide show
  1. package/.env +17 -9
  2. package/dist/models/DocumentMetadataModel.d.ts +45 -0
  3. package/dist/models/DocumentMetadataModel.js +171 -0
  4. package/dist/models/DocumentationDepartmentsModel.d.ts +13 -0
  5. package/dist/models/DocumentationDepartmentsModel.js +53 -0
  6. package/dist/models/FolderModel.d.ts +16 -0
  7. package/dist/models/FolderModel.js +85 -0
  8. package/dist/models/PermissionModel.d.ts +18 -0
  9. package/dist/models/PermissionModel.js +68 -0
  10. package/dist/models/UUIDBaseModel.d.ts +14 -0
  11. package/dist/models/UUIDBaseModel.js +66 -0
  12. package/dist/models/role.d.ts +2 -1
  13. package/dist/models/role.js +7 -2
  14. package/dist/models/user.d.ts +3 -3
  15. package/dist/models/user.js +5 -5
  16. package/package.json +1 -1
  17. package/src/data-source.ts +389 -389
  18. package/src/index.ts +414 -414
  19. package/src/models/AccessCardRequestModel.ts +135 -135
  20. package/src/models/AccommodationApprovalModel.ts +8 -8
  21. package/src/models/AccommodationRequestModel.ts +8 -8
  22. package/src/models/AirportEntryPermitModel.ts +276 -276
  23. package/src/models/AnnualIncrementRequestEmployeeModel.ts +65 -65
  24. package/src/models/AnnualIncrementRequestModel.ts +25 -25
  25. package/src/models/AnnualTrainingPlanRequestModel.ts +153 -153
  26. package/src/models/AppealAgainstAdministrativeDecisionRequestModel.ts +23 -23
  27. package/src/models/CAAServices.ts +33 -33
  28. package/src/models/CAASubServices.ts +33 -33
  29. package/src/models/CAIRatingMasterModel.ts +39 -39
  30. package/src/models/CSRMBusinessImpactRatingMasterModel.ts +25 -25
  31. package/src/models/CSRMLikelihoodMasterModel.ts +25 -25
  32. package/src/models/CashAllowanceLeaveRequestModel.ts +11 -11
  33. package/src/models/DepartmentsModel.ts +25 -25
  34. package/src/models/DocumentDriveModel.ts +28 -28
  35. package/src/models/DocumentFolderModel.ts +45 -45
  36. package/src/models/HousingContractCancelChatModel.ts +56 -56
  37. package/src/models/HousingContractRenewalChatModel.ts +59 -59
  38. package/src/models/HrServiceRequestModel.ts +193 -193
  39. package/src/models/ITRequestAttachmentModel.ts +73 -73
  40. package/src/models/ITRequestChatModel.ts +74 -74
  41. package/src/models/ItApprovalsModel.ts +84 -84
  42. package/src/models/ItWorkflowModel.ts +55 -55
  43. package/src/models/MissionTravelPassportExpiryNotificationConfigModel.ts +36 -36
  44. package/src/models/PerformanceCyclePeriodModel.ts +26 -26
  45. package/src/models/PerformanceGoalMasterModel.ts +27 -27
  46. package/src/models/PerformanceManagementRequestGoalModel.ts +46 -46
  47. package/src/models/PerformanceManagementRequestModel.ts +14 -14
  48. package/src/models/PromotionRequestModel.ts +11 -11
  49. package/src/models/ResidentialUnitRentalChatModel.ts +56 -56
  50. package/src/models/ResidentialUnitRentalRequestModel.ts +218 -218
  51. package/src/models/RespondToEnquiriesRequestModel.ts +31 -31
  52. package/src/models/ServicesNotificationConfigModel.ts +55 -55
  53. package/src/models/StudyLeaveRequestModel.ts +144 -144
  54. package/src/models/TrainingRequestModel.ts +164 -164
  55. package/src/models/TrainingRoomBookingRequestModel.ts +142 -142
  56. package/src/models/TrainingRoomNotificationConfigModel.ts +30 -30
  57. package/src/models/UserSkillModel.ts +56 -56
  58. package/src/models/role.ts +7 -3
  59. package/src/models/user.ts +233 -233
  60. package/dist/models/ITApprovalSettings.d.ts +0 -7
  61. package/dist/models/ITApprovalSettings.js +0 -40
  62. package/dist/models/ITServicesTypesMuscatModel.d.ts +0 -6
  63. package/dist/models/ITServicesTypesMuscatModel.js +0 -34
  64. package/dist/models/ITServicesTypesSalalahModel.d.ts +0 -6
  65. package/dist/models/ITServicesTypesSalalahModel.js +0 -34
  66. package/dist/models/Workflows.d.ts +0 -9
  67. package/dist/models/Workflows.js +0 -31
@@ -1,276 +1,276 @@
1
- import { Entity, Column } from 'typeorm';
2
- import { BaseModel } from './BaseModel';
3
-
4
- export enum AirportEntryPermitCategory {
5
- ISSUING_NEW_PERMIT = "Issuing New Permit",
6
- RENEWAL_OF_PERMIT = "Renewal of Permit",
7
- AMENDING = "Amending",
8
- REPLACING_LOST = "Replacing lost",
9
- CANCELLING_AIRPORT_SECURITY_PERMITS = "Cancelling airport security permits"
10
- }
11
-
12
- export enum AirportEntryPermitType {
13
- PERMANENT = "Permanent",
14
- TEMPORARY = "Temporary"
15
- }
16
-
17
- export enum AirportEntryPermitLocation {
18
- MUSCAT = "Muscat",
19
- SALALAH = "Salalah",
20
- MARMUL = "Marmul",
21
- DURUM = "Durum",
22
- SOHAR = "Sohar",
23
- FUHUD = "Fuhud",
24
- MUKHAZINA = "Mukhazina"
25
- }
26
-
27
- export enum AirportEntryPermitArea {
28
- PURPLE = "VIP Building",
29
- HEAVENLY = "Cargo Building (Imports & Exports)",
30
- ORANGE = "Arrivals Hall / Arrivals Building",
31
- GREEN = "Departures Hall / Departures Building",
32
- YELLOW = "Information Center / Control Tower",
33
- BLUE = "Aircraft Parking Area, Aircraft Maintenance Building, Vehicle Repair Workshop, Fire Station, and Fueling Stations",
34
- PINK = "Baggage Sorting Area",
35
- GRAY = "Catering Building",
36
- BLACK = "Aircraft Maintenance Building",
37
- GOLD = "Gold Building",
38
- RED = "All Civil Airports"
39
- }
40
-
41
- export enum AirportEntryPermitStatus {
42
- PENDING = "Pending",
43
- APPROVED = "Approved",
44
- REJECTED = "Rejected",
45
- IN_PROGRESS = "In Progress"
46
- }
47
-
48
- export enum VisitorOption {
49
- VISA_TYPE = "Visa Type",
50
- VISA_NO = "Visa No",
51
- DATE_EXPIRY_VISA = "Date Expiry Visa"
52
- }
53
-
54
- export enum AdditionalServices {
55
- LAPTOP_TABLET = "Laptop / Tablet",
56
- BOARDING_THE_AIRCRAFT = "Boarding the Aircraft",
57
- EMPLOYEE_ASSISTING_PEOPLE_WITH_SPECIAL_NEEDS = "Employee Assisting People with Special Needs"
58
- }
59
-
60
- @Entity({ name: 'airport_entry_permits' })
61
- export class AirportEntryPermit extends BaseModel {
62
- // Workflow fields
63
- @Column({ type: 'int', nullable: true })
64
- req_user_department_id: number | null;
65
-
66
- @Column({ type: 'int', nullable: true })
67
- req_user_section_id: number | null;
68
-
69
- @Column({ type: 'int', nullable: true })
70
- service_id: number | null;
71
-
72
- @Column({ type: 'int', nullable: true })
73
- sub_service_id: number | null;
74
-
75
- @Column({ type: 'varchar', length: 20, nullable: true })
76
- service_type: string | null;
77
-
78
- @Column({ type: 'varchar', nullable: true })
79
- workflow_execution_id: string | null;
80
-
81
- @Column({
82
- type: "enum",
83
- enum: AirportEntryPermitStatus,
84
- default: AirportEntryPermitStatus.PENDING,
85
- nullable: false,
86
- })
87
- status: AirportEntryPermitStatus;
88
-
89
- @Column({ nullable: false })
90
- user_id: number;
91
-
92
- // Request ID - Auto generated
93
- @Column({ type: 'varchar', length: 50, nullable: true, unique: true })
94
- request_id: string | null;
95
-
96
- // User fields from requirements
97
- @Column({ type: 'varchar', length: 255, nullable: false })
98
- name_full_family_name: string;
99
-
100
- @Column({ type: 'varchar', length: 100, nullable: false })
101
- nationality: string;
102
-
103
- @Column({ type: 'date', nullable: false })
104
- dob: Date;
105
-
106
- @Column({ type: 'varchar', length: 255, nullable: false })
107
- place: string;
108
-
109
- @Column({ type: 'varchar', length: 50, nullable: false })
110
- passport_id_card_no: string;
111
-
112
- @Column({
113
- type: "enum",
114
- enum: AirportEntryPermitCategory,
115
- nullable: false,
116
- })
117
- category_of_permit: AirportEntryPermitCategory;
118
-
119
- @Column({ type: 'date', nullable: false })
120
- date_of_submission: Date;
121
-
122
- @Column({ type: 'varchar', length: 20, nullable: false })
123
- phone_number: string;
124
-
125
- @Column({
126
- type: "enum",
127
- enum: AirportEntryPermitLocation,
128
- nullable: false,
129
- })
130
- location: AirportEntryPermitLocation;
131
-
132
- @Column({
133
- type: "enum",
134
- enum: AirportEntryPermitType,
135
- nullable: false,
136
- })
137
- type_of_permit: AirportEntryPermitType;
138
-
139
- @Column({ type: 'date', nullable: true })
140
- temporary_start_time: Date | null;
141
-
142
- @Column({ type: 'varchar', length: 100, nullable: true })
143
- temporary_duration: string | null;
144
-
145
- @Column({ type: 'jsonb', nullable: true })
146
- permission_to_required_areas: Array<{ permit: string; text: string }>;
147
-
148
- @Column({ type: 'text', nullable: true })
149
- attachment_url: string | null;
150
-
151
- @Column({ type: 'text', nullable: false })
152
- details: string;
153
-
154
- @Column({ type: 'varchar', length: 255, nullable: false })
155
- occupation_staff: string;
156
-
157
- // Visitor fields (optional)
158
- @Column({ type: 'text', array: true, nullable: true })
159
- for_visitor: VisitorOption[] | null;
160
-
161
- // Additional Services (optional)
162
- @Column({ type: 'text', array: true, nullable: true })
163
- additional_services: AdditionalServices[] | null;
164
-
165
- // Acknowledgement fields (from form checkboxes)
166
- @Column({ type: 'boolean', default: false })
167
- acknowledge_security_policies: boolean;
168
-
169
- @Column({ type: 'boolean', default: false })
170
- acknowledge_disciplinary_action: boolean;
171
-
172
- // Consent fields (for approvers - not in create form)
173
- @Column({ type: 'boolean', default: false })
174
- consent_approve_to_issue_permit: boolean;
175
-
176
- @Column({ type: 'boolean', default: false })
177
- consent_do_not_approve_to_issue_permit: boolean;
178
-
179
- @Column({ type: 'text', nullable: true })
180
- consent_justification: string | null;
181
-
182
- @Column({ type: 'varchar', length: 100, nullable: false })
183
- requested_by: string;
184
-
185
- @Column({ type: 'date', nullable: true })
186
- expiration_date: Date | null;
187
-
188
- @Column({ type: 'timestamptz', nullable: true })
189
- end_date: Date | null;
190
-
191
- @Column({ type: 'varchar', length: 255, nullable: true })
192
- device_serial_number: string | null;
193
-
194
- @Column({ type: 'varchar', length: 500, nullable: true })
195
- new_permit_issuance_file: string | null;
196
-
197
- @Column({ type: 'varchar', length: 500, nullable: true })
198
- forms_attachment_file: string | null;
199
-
200
- @Column({ type: 'varchar', length: 500, nullable: true })
201
- permit_renewal_file: string | null;
202
-
203
- constructor(
204
- name_full_family_name: string,
205
- nationality: string,
206
- dob: Date,
207
- place: string,
208
- passport_id_card_no: string,
209
- category_of_permit: AirportEntryPermitCategory,
210
- date_of_submission: Date,
211
- phone_number: string,
212
- location: AirportEntryPermitLocation,
213
- type_of_permit: AirportEntryPermitType,
214
- permission_to_required_areas: Array<{ permit: string; text: string }>,
215
- details: string,
216
- occupation_staff: string,
217
- requested_by: string,
218
- user_id: number,
219
- status: AirportEntryPermitStatus = AirportEntryPermitStatus.PENDING,
220
- service_id?: number | null,
221
- sub_service_id?: number | null,
222
- service_type?: string | null,
223
- workflow_execution_id?: string | null,
224
- req_user_department_id?: number | null,
225
- req_user_section_id?: number | null,
226
- attachment_url?: string | null,
227
- temporary_start_time?: Date | null,
228
- temporary_duration?: string | null,
229
- for_visitor?: VisitorOption[] | null,
230
- additional_services?: AdditionalServices[] | null,
231
- acknowledge_security_policies: boolean = false,
232
- acknowledge_disciplinary_action: boolean = false,
233
- consent_approve_to_issue_permit: boolean = false,
234
- consent_do_not_approve_to_issue_permit: boolean = false,
235
- consent_justification?: string | null,
236
- request_id?: string | null,
237
- expiration_date?: Date | null
238
- ) {
239
- super();
240
- this.name_full_family_name = name_full_family_name;
241
- this.nationality = nationality;
242
- this.dob = dob;
243
- this.place = place;
244
- this.passport_id_card_no = passport_id_card_no;
245
- this.category_of_permit = category_of_permit;
246
- this.date_of_submission = date_of_submission;
247
- this.phone_number = phone_number;
248
- this.location = location;
249
- this.type_of_permit = type_of_permit;
250
- this.permission_to_required_areas = permission_to_required_areas;
251
- this.details = details;
252
- this.occupation_staff = occupation_staff;
253
- this.requested_by = requested_by;
254
- this.user_id = user_id;
255
- this.status = status;
256
- this.service_id = service_id ?? null;
257
- this.sub_service_id = sub_service_id ?? null;
258
- this.service_type = service_type ?? null;
259
- this.workflow_execution_id = workflow_execution_id ?? null;
260
- this.req_user_department_id = req_user_department_id ?? null;
261
- this.req_user_section_id = req_user_section_id ?? null;
262
- this.attachment_url = attachment_url ?? null;
263
- this.temporary_start_time = temporary_start_time ?? null;
264
- this.temporary_duration = temporary_duration ?? null;
265
- this.for_visitor = for_visitor ?? null;
266
- this.additional_services = additional_services ?? null;
267
- this.acknowledge_security_policies = acknowledge_security_policies;
268
- this.acknowledge_disciplinary_action = acknowledge_disciplinary_action;
269
- this.consent_approve_to_issue_permit = consent_approve_to_issue_permit;
270
- this.consent_do_not_approve_to_issue_permit = consent_do_not_approve_to_issue_permit;
271
- this.consent_justification = consent_justification ?? null;
272
- this.request_id = request_id ?? null;
273
- this.expiration_date = expiration_date ?? null;
274
- }
275
- }
276
-
1
+ import { Entity, Column } from 'typeorm';
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ export enum AirportEntryPermitCategory {
5
+ ISSUING_NEW_PERMIT = "Issuing New Permit",
6
+ RENEWAL_OF_PERMIT = "Renewal of Permit",
7
+ AMENDING = "Amending",
8
+ REPLACING_LOST = "Replacing lost",
9
+ CANCELLING_AIRPORT_SECURITY_PERMITS = "Cancelling airport security permits"
10
+ }
11
+
12
+ export enum AirportEntryPermitType {
13
+ PERMANENT = "Permanent",
14
+ TEMPORARY = "Temporary"
15
+ }
16
+
17
+ export enum AirportEntryPermitLocation {
18
+ MUSCAT = "Muscat",
19
+ SALALAH = "Salalah",
20
+ MARMUL = "Marmul",
21
+ DURUM = "Durum",
22
+ SOHAR = "Sohar",
23
+ FUHUD = "Fuhud",
24
+ MUKHAZINA = "Mukhazina"
25
+ }
26
+
27
+ export enum AirportEntryPermitArea {
28
+ PURPLE = "VIP Building",
29
+ HEAVENLY = "Cargo Building (Imports & Exports)",
30
+ ORANGE = "Arrivals Hall / Arrivals Building",
31
+ GREEN = "Departures Hall / Departures Building",
32
+ YELLOW = "Information Center / Control Tower",
33
+ BLUE = "Aircraft Parking Area, Aircraft Maintenance Building, Vehicle Repair Workshop, Fire Station, and Fueling Stations",
34
+ PINK = "Baggage Sorting Area",
35
+ GRAY = "Catering Building",
36
+ BLACK = "Aircraft Maintenance Building",
37
+ GOLD = "Gold Building",
38
+ RED = "All Civil Airports"
39
+ }
40
+
41
+ export enum AirportEntryPermitStatus {
42
+ PENDING = "Pending",
43
+ APPROVED = "Approved",
44
+ REJECTED = "Rejected",
45
+ IN_PROGRESS = "In Progress"
46
+ }
47
+
48
+ export enum VisitorOption {
49
+ VISA_TYPE = "Visa Type",
50
+ VISA_NO = "Visa No",
51
+ DATE_EXPIRY_VISA = "Date Expiry Visa"
52
+ }
53
+
54
+ export enum AdditionalServices {
55
+ LAPTOP_TABLET = "Laptop / Tablet",
56
+ BOARDING_THE_AIRCRAFT = "Boarding the Aircraft",
57
+ EMPLOYEE_ASSISTING_PEOPLE_WITH_SPECIAL_NEEDS = "Employee Assisting People with Special Needs"
58
+ }
59
+
60
+ @Entity({ name: 'airport_entry_permits' })
61
+ export class AirportEntryPermit extends BaseModel {
62
+ // Workflow fields
63
+ @Column({ type: 'int', nullable: true })
64
+ req_user_department_id: number | null;
65
+
66
+ @Column({ type: 'int', nullable: true })
67
+ req_user_section_id: number | null;
68
+
69
+ @Column({ type: 'int', nullable: true })
70
+ service_id: number | null;
71
+
72
+ @Column({ type: 'int', nullable: true })
73
+ sub_service_id: number | null;
74
+
75
+ @Column({ type: 'varchar', length: 20, nullable: true })
76
+ service_type: string | null;
77
+
78
+ @Column({ type: 'varchar', nullable: true })
79
+ workflow_execution_id: string | null;
80
+
81
+ @Column({
82
+ type: "enum",
83
+ enum: AirportEntryPermitStatus,
84
+ default: AirportEntryPermitStatus.PENDING,
85
+ nullable: false,
86
+ })
87
+ status: AirportEntryPermitStatus;
88
+
89
+ @Column({ nullable: false })
90
+ user_id: number;
91
+
92
+ // Request ID - Auto generated
93
+ @Column({ type: 'varchar', length: 50, nullable: true, unique: true })
94
+ request_id: string | null;
95
+
96
+ // User fields from requirements
97
+ @Column({ type: 'varchar', length: 255, nullable: false })
98
+ name_full_family_name: string;
99
+
100
+ @Column({ type: 'varchar', length: 100, nullable: false })
101
+ nationality: string;
102
+
103
+ @Column({ type: 'date', nullable: false })
104
+ dob: Date;
105
+
106
+ @Column({ type: 'varchar', length: 255, nullable: false })
107
+ place: string;
108
+
109
+ @Column({ type: 'varchar', length: 50, nullable: false })
110
+ passport_id_card_no: string;
111
+
112
+ @Column({
113
+ type: "enum",
114
+ enum: AirportEntryPermitCategory,
115
+ nullable: false,
116
+ })
117
+ category_of_permit: AirportEntryPermitCategory;
118
+
119
+ @Column({ type: 'date', nullable: false })
120
+ date_of_submission: Date;
121
+
122
+ @Column({ type: 'varchar', length: 20, nullable: false })
123
+ phone_number: string;
124
+
125
+ @Column({
126
+ type: "enum",
127
+ enum: AirportEntryPermitLocation,
128
+ nullable: false,
129
+ })
130
+ location: AirportEntryPermitLocation;
131
+
132
+ @Column({
133
+ type: "enum",
134
+ enum: AirportEntryPermitType,
135
+ nullable: false,
136
+ })
137
+ type_of_permit: AirportEntryPermitType;
138
+
139
+ @Column({ type: 'date', nullable: true })
140
+ temporary_start_time: Date | null;
141
+
142
+ @Column({ type: 'varchar', length: 100, nullable: true })
143
+ temporary_duration: string | null;
144
+
145
+ @Column({ type: 'jsonb', nullable: true })
146
+ permission_to_required_areas: Array<{ permit: string; text: string }>;
147
+
148
+ @Column({ type: 'text', nullable: true })
149
+ attachment_url: string | null;
150
+
151
+ @Column({ type: 'text', nullable: false })
152
+ details: string;
153
+
154
+ @Column({ type: 'varchar', length: 255, nullable: false })
155
+ occupation_staff: string;
156
+
157
+ // Visitor fields (optional)
158
+ @Column({ type: 'text', array: true, nullable: true })
159
+ for_visitor: VisitorOption[] | null;
160
+
161
+ // Additional Services (optional)
162
+ @Column({ type: 'text', array: true, nullable: true })
163
+ additional_services: AdditionalServices[] | null;
164
+
165
+ // Acknowledgement fields (from form checkboxes)
166
+ @Column({ type: 'boolean', default: false })
167
+ acknowledge_security_policies: boolean;
168
+
169
+ @Column({ type: 'boolean', default: false })
170
+ acknowledge_disciplinary_action: boolean;
171
+
172
+ // Consent fields (for approvers - not in create form)
173
+ @Column({ type: 'boolean', default: false })
174
+ consent_approve_to_issue_permit: boolean;
175
+
176
+ @Column({ type: 'boolean', default: false })
177
+ consent_do_not_approve_to_issue_permit: boolean;
178
+
179
+ @Column({ type: 'text', nullable: true })
180
+ consent_justification: string | null;
181
+
182
+ @Column({ type: 'varchar', length: 100, nullable: false })
183
+ requested_by: string;
184
+
185
+ @Column({ type: 'date', nullable: true })
186
+ expiration_date: Date | null;
187
+
188
+ @Column({ type: 'timestamptz', nullable: true })
189
+ end_date: Date | null;
190
+
191
+ @Column({ type: 'varchar', length: 255, nullable: true })
192
+ device_serial_number: string | null;
193
+
194
+ @Column({ type: 'varchar', length: 500, nullable: true })
195
+ new_permit_issuance_file: string | null;
196
+
197
+ @Column({ type: 'varchar', length: 500, nullable: true })
198
+ forms_attachment_file: string | null;
199
+
200
+ @Column({ type: 'varchar', length: 500, nullable: true })
201
+ permit_renewal_file: string | null;
202
+
203
+ constructor(
204
+ name_full_family_name: string,
205
+ nationality: string,
206
+ dob: Date,
207
+ place: string,
208
+ passport_id_card_no: string,
209
+ category_of_permit: AirportEntryPermitCategory,
210
+ date_of_submission: Date,
211
+ phone_number: string,
212
+ location: AirportEntryPermitLocation,
213
+ type_of_permit: AirportEntryPermitType,
214
+ permission_to_required_areas: Array<{ permit: string; text: string }>,
215
+ details: string,
216
+ occupation_staff: string,
217
+ requested_by: string,
218
+ user_id: number,
219
+ status: AirportEntryPermitStatus = AirportEntryPermitStatus.PENDING,
220
+ service_id?: number | null,
221
+ sub_service_id?: number | null,
222
+ service_type?: string | null,
223
+ workflow_execution_id?: string | null,
224
+ req_user_department_id?: number | null,
225
+ req_user_section_id?: number | null,
226
+ attachment_url?: string | null,
227
+ temporary_start_time?: Date | null,
228
+ temporary_duration?: string | null,
229
+ for_visitor?: VisitorOption[] | null,
230
+ additional_services?: AdditionalServices[] | null,
231
+ acknowledge_security_policies: boolean = false,
232
+ acknowledge_disciplinary_action: boolean = false,
233
+ consent_approve_to_issue_permit: boolean = false,
234
+ consent_do_not_approve_to_issue_permit: boolean = false,
235
+ consent_justification?: string | null,
236
+ request_id?: string | null,
237
+ expiration_date?: Date | null
238
+ ) {
239
+ super();
240
+ this.name_full_family_name = name_full_family_name;
241
+ this.nationality = nationality;
242
+ this.dob = dob;
243
+ this.place = place;
244
+ this.passport_id_card_no = passport_id_card_no;
245
+ this.category_of_permit = category_of_permit;
246
+ this.date_of_submission = date_of_submission;
247
+ this.phone_number = phone_number;
248
+ this.location = location;
249
+ this.type_of_permit = type_of_permit;
250
+ this.permission_to_required_areas = permission_to_required_areas;
251
+ this.details = details;
252
+ this.occupation_staff = occupation_staff;
253
+ this.requested_by = requested_by;
254
+ this.user_id = user_id;
255
+ this.status = status;
256
+ this.service_id = service_id ?? null;
257
+ this.sub_service_id = sub_service_id ?? null;
258
+ this.service_type = service_type ?? null;
259
+ this.workflow_execution_id = workflow_execution_id ?? null;
260
+ this.req_user_department_id = req_user_department_id ?? null;
261
+ this.req_user_section_id = req_user_section_id ?? null;
262
+ this.attachment_url = attachment_url ?? null;
263
+ this.temporary_start_time = temporary_start_time ?? null;
264
+ this.temporary_duration = temporary_duration ?? null;
265
+ this.for_visitor = for_visitor ?? null;
266
+ this.additional_services = additional_services ?? null;
267
+ this.acknowledge_security_policies = acknowledge_security_policies;
268
+ this.acknowledge_disciplinary_action = acknowledge_disciplinary_action;
269
+ this.consent_approve_to_issue_permit = consent_approve_to_issue_permit;
270
+ this.consent_do_not_approve_to_issue_permit = consent_do_not_approve_to_issue_permit;
271
+ this.consent_justification = consent_justification ?? null;
272
+ this.request_id = request_id ?? null;
273
+ this.expiration_date = expiration_date ?? null;
274
+ }
275
+ }
276
+