brynq-sdk-meta4 1.0.1__py3-none-any.whl

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.
@@ -0,0 +1,624 @@
1
+ from enum import Enum
2
+ from typing import Dict, Any
3
+
4
+
5
+ class MovementType(str, Enum):
6
+ """Movement types for employee data"""
7
+ ALTA = "1" # New Hire
8
+ BAJA = "2" # Terminate
9
+ MODIFICACION = "3" # Modification
10
+
11
+
12
+ class DocumentType(str, Enum):
13
+ """Document types for employee identification"""
14
+ DNI = "1" # National Identity Document
15
+ NIE = "6" # Foreigner Identity Number
16
+
17
+
18
+ class GenderType(str, Enum):
19
+ """Gender types"""
20
+ MALE = "1" # Male
21
+ FEMALE = "2" # Female
22
+
23
+
24
+ class MaritalStatusType(str, Enum):
25
+ """Marital status types"""
26
+ SINGLE = "01" # Single
27
+ MARRIED = "02" # Married
28
+ WIDOWED = "03" # Widowed
29
+ DIVORCED = "04" # Divorced
30
+ COMMON_LAW = "05" # Common-law partnership
31
+ SEPARATED = "06" # Separated
32
+ OTHER = "07" # Others
33
+
34
+
35
+ class StreetType(str, Enum):
36
+ """Street types for addresses"""
37
+ ACERA = "AC" # Sidewalk
38
+ ALDEA = "AD" # Village
39
+ ALAMEDA = "AL" # Avenue
40
+ AMPLIACION = "AM" # Extension
41
+ ANGOSTA = "AN" # Narrow
42
+ APARTAMENTOS = "AP" # Apartments
43
+ ACEQUIA = "AQ" # Ditch
44
+ APARTADO_CORREOS = "AS" # Post office box
45
+ ATAJO = "AT" # Shortcut
46
+ AVENIDA = "AV" # Avenue
47
+ BAJADA = "BA" # Descent
48
+ BARRANCO = "BC" # Ravine
49
+ BARRIADA = "BD" # Neighborhood
50
+ BOULEVARD = "BL" # Boulevard
51
+ BARRIO = "BO" # District
52
+ CALLEJA = "CA" # Alley
53
+ CALLEJUELA = "CE" # Small street
54
+ CHALET = "CH" # Chalet
55
+ CALLEJON = "CJ" # Alley
56
+ CALLE = "CL" # Street
57
+ CAMINO = "CM" # Road
58
+ COSTANILLA = "CN" # Slope
59
+ COLONIA = "CO" # Colony
60
+ COOPERATIVA = "CP" # Cooperative
61
+ CARRETERA = "CR" # Highway
62
+ CASERIO = "CS" # Hamlet
63
+ CUESTA = "CU" # Slope
64
+ CALZADA = "CZ" # Roadway
65
+ ESCALA = "EA" # Scale
66
+ EDIFICIO = "ED" # Building
67
+ ESCALINATA = "EL" # Staircase
68
+ ESCALERA = "ES" # Stairs
69
+ ESTRADA = "ET" # Road
70
+ GLORIETA = "GL" # Roundabout
71
+ GRUPO = "GR" # Group
72
+ CORRAL = "KO" # Corral
73
+ LUGAR = "LG" # Place
74
+ LLANO = "LL" # Plain
75
+ MERCADO = "MC" # Market
76
+ MUNICIPIO = "MN" # Municipality
77
+ MONTANA = "MO" # Mountain
78
+ MANZANA = "MZ" # Block
79
+ PASEO_ALTO = "PA" # High promenade
80
+ POBLADO = "PB" # Village
81
+ PARTICULAR = "PC" # Private
82
+ PASADIZO = "PD" # Passage
83
+ PLAZOLETA = "PE" # Small square
84
+ POLIGONO = "PG" # Polygon
85
+ PASILLO = "PI" # Corridor
86
+ PASAJE = "PJ" # Passage
87
+ PLACETA = "PL" # Small square
88
+ PROLONGACION = "PN" # Extension
89
+ PASEO_BAJO = "PO" # Low promenade
90
+ PASEO = "PP" # Promenade
91
+ PARQUE = "PQ" # Park
92
+ PORTALES = "PR" # Portals
93
+ PASO = "PS" # Step
94
+ PATIO = "PT" # Patio
95
+ PLAZUELA = "PU" # Small square
96
+ PRIVADA = "PV" # Private
97
+ PLAZA = "PZ" # Square
98
+ RAMAL = "RA" # Branch
99
+ RAMBLA = "RB" # Rambla
100
+ RINCONADA = "RC" # Corner
101
+ RONDA = "RD" # Round
102
+ RESIDENCIA = "RE" # Residence
103
+ RESIDENCIAL = "RL" # Residential
104
+ RINCON = "RN" # Corner
105
+ RAMPA = "RP" # Ramp
106
+ RIBERA = "RR" # Shore
107
+ SECTOR_SECCION = "SC" # Sector, Section
108
+ SENDA = "SD" # Path
109
+ PASSEIG = "SP" # Promenade (Catalan)
110
+ SENDERO = "SR" # Trail
111
+ SUBIDA = "SU" # Ascent
112
+ TRANSVERSAL = "TL" # Transversal
113
+ TORRE = "TO" # Tower
114
+ TRAVESIA = "TR" # Cross street
115
+ TRASERA = "TS" # Back
116
+ TORRENTE = "TT" # Stream
117
+ URBANIZACION = "UR" # Urbanization
118
+ VIA = "VI" # Way
119
+ VILLAS = "VL" # Villas
120
+ VIVIENDAS = "VV" # Dwellings
121
+ SIN_DATOS_DOMICILIARIOS = "XX" # Without residential data
122
+ ZONA = "ZO" # Zone
123
+ OTROS = "ZZ" # Others
124
+
125
+
126
+ class HoursType(str, Enum):
127
+ """Hours types"""
128
+ WEEKLY = "1" # Weekly
129
+ MONTHLY = "2" # Monthly
130
+ ANNUAL = "3" # Annual
131
+
132
+
133
+ class PartTimeType(str, Enum):
134
+ """Part-time schedule types"""
135
+ REGULAR = "R" # Regular
136
+ IRREGULAR = "I" # Irregular
137
+
138
+
139
+ class SSNumberType(str, Enum):
140
+ """With/Without SS Number"""
141
+ WITHOUT_SS = "0" # Without SS Number
142
+ WITH_SS = "1" # With SS Number
143
+
144
+
145
+ class YesNoType(str, Enum):
146
+ """Yes/No types"""
147
+ YES = "S" # Yes
148
+ NO = "N" # No
149
+
150
+
151
+ class SalaryType(str, Enum):
152
+ """Salary types"""
153
+ DAILY = "0" # Daily
154
+ MONTHLY = "1" # Monthly
155
+
156
+
157
+ class AdjustmentType(str, Enum):
158
+ """Adjustment types"""
159
+ WITHOUT_ADJUSTMENT = "0" # Without gross adjustment
160
+ WITH_ADJUSTMENT = "1" # With gross adjustment
161
+
162
+
163
+ class PaymentType(str, Enum):
164
+ """Payment types"""
165
+ CHECK = "2" # Check
166
+ BANK_TRANSFER = "4" # Bank transfer
167
+
168
+
169
+ class IRPFType(str, Enum):
170
+ """IRPF types"""
171
+ ALAVA = "ALA"
172
+ NO_RESIDENT_UE_EEE = "EUE" # Non-resident EU/EEA
173
+ EXPATRIATES = "EXPA" # Expatriates
174
+ FOREIGNER = "EXT" # Foreigner
175
+ GUIPUZCOA = "GUI"
176
+ NATIONAL = "NAC" # National
177
+ NAVARRA = "NAV"
178
+ CROSS_BORDER_FORAL_MOD_296 = "TRAF" # Cross-border Foral Mod 296
179
+ CROSS_BORDER_TCOMUN_MOD_296 = "TRAN" # Cross-border TCOMUN Mod 296
180
+ VIZCAYA = "VIZ"
181
+
182
+
183
+ class IRPFStatusType(str, Enum):
184
+ """IRPF status types"""
185
+ SINGLE_WIDOWED_DIVORCED_SEPARATED_WITH_MINORS = "1" # Single, Widowed, Divorced or Legally Separated with minors in charge
186
+ MARRIED_NOT_SEPARATED_WITH_DEPENDENT_SPOUSE = "2" # Married and not separated with dependent spouse
187
+ OTHER_SITUATIONS_OR_DOES_NOT_WISH = "3" # Other situations, or does not wish to
188
+
189
+
190
+ class DisabilityHRType(str, Enum):
191
+ """Disability HR types"""
192
+ FROM_33_TO_BELOW_65 = "M_33_65" # From 33% and below 65%
193
+ FROM_33_TO_BELOW_65_WITH_HELP = "M_33_65_A" # From 33% and below 65% with help
194
+ EQUAL_OR_GREATER_THAN_65 = "M_65" # Equal to or greater than 65%
195
+
196
+
197
+ class ManagementType(str, Enum):
198
+ """Management types"""
199
+ UNICA = "UNICA" # Unique
200
+
201
+
202
+ class PerceptionKeyType(str, Enum):
203
+ """Perception key types"""
204
+ A = "A"
205
+
206
+
207
+ # Termination reason types
208
+ # Note: This enum is related to UnemploymentCauseType through TERMINATION_REASON_TO_UNEMPLOYMENT_CAUSE mapping
209
+ class TerminationReasonType(str, Enum):
210
+ """Termination reason types - Related to UnemploymentCauseType via TERMINATION_REASON_TO_UNEMPLOYMENT_CAUSE mapping"""
211
+ BORRADO_PERSONAL = "000" # Borrado de personal
212
+ MOTIVOS_ECONOMICOS = "001" # Motivos Económicos
213
+ DESACUERDO_POLITICA_EMPRESARIAL = "002" # Desacuerdo con la Política Empresarial
214
+ DESCONTENTO_AMBIENTE = "003" # Descontento con el ambiente
215
+ DESPIDO = "004" # Despido
216
+ JUBILACION = "005" # Jubilación
217
+ BAJA_VOLUNTARIA = "006" # Baja Voluntaria
218
+ INDEMNIZACION_ESPECIAL_ERE_EXTINTIVO = "007" # Indemnización Especial ERE Extintivo
219
+ BAJA_VOLUNTARIA_NO_RECONTRATAR = "008" # Baja Voluntaria No Recontratar
220
+ TERMINACION_SIN_FINIQUITO = "009" # Terminación sin finiquito
221
+ FIN_CONTRATO = "010" # Fin Contrato
222
+ FIN_CONTRATO_CON_INDEMNIZACION = "011" # Fin Contrato con Indemnización
223
+ SUSPENSION_EMPLEO_SUELDO = "012" # Suspensión de Empleo y sueldo
224
+ INVALIDEZ = "013" # Invalidez
225
+ EXCEDENCIA_FORZOSA = "014" # Excedencia forzosa
226
+ EXTINCION_PUESTO_TRABAJO = "015" # Extinción Puesto Trabajo
227
+ CAMBIO_CONVENIO = "017" # Cambio de Convenio
228
+ DESPIDO_DIRECTIVO = "024" # Despido Directivo
229
+ EXCEDENCIA_ART_31 = "031" # Excedencia Art. 31
230
+ FIN_CONTRATO_COMISION_TERMINACION = "050" # Fin del contrato - Comisión de terminación del servicio
231
+ ACUERDO_REVOCADO = "051" # Acuerdo Revocado, basado en un motivo que permite gastos colec
232
+ BAJA_DESPIDO_DISCIPLINARIO_INDIVIDUAL = "053" # Baja por despido disciplinario individual
233
+ BAJA_FUSION_ABSORCION_EMPRESA = "055" # Baja por fusión/absorción de la empresa
234
+ BAJA_SUSPENSION_TEMPORAL_ERE = "069" # Baja por suspensión temporal de ERE
235
+ EXCEDENCIA_CUIDADO_FAMILIAR = "073" # Excedencia Cuidado Familiar
236
+ SUSPENSION_SERVICIO_TEMPORAL = "074" # Suspensión de servicio temporal
237
+ BAJA_DESPIDO_COLECTIVO = "077" # Baja por Despido Colectivo
238
+ SUSPENSION_VIOLENCIA_GENERO = "080" # Suspensión por violencia de género
239
+ CESE_PERIODO_PRUEBA_TRABAJADOR = "090" # Cese en periodo de prueba a instancia del trabajador
240
+ BAJA_DESPIDO_CAUSAS_OBJETIVAS_EMPRESA = "091" # Baja despido por causas objetivas (empresa)
241
+ BAJA_DESPIDO_CAUSAS_OBJETIVAS_TRABAJADOR = "092" # Baja despido causas objetivas (trabajador)
242
+ BAJA_PASE_INACTIVIDAD_FIJOS_DISCONTINUOS = "094" # Baja por pase a inactividad fijos discontinuos
243
+ SUBROGACION_CERTIFICADO_EMPRESA = "096" # Subrogación (con certificado de empresa)
244
+ CESE_TRASLADO_CENTRO_TRABAJO = "097" # Cese por Traslado de Centro de Trabajo
245
+ CAMBIO_EMPRESA = "098" # Cambio de Empresa
246
+ BAJA_MODIFICACION_SUSTANCIAL_CONDICIONES = "099" # Baja por modificación sustancial de las condiciones de trabajo
247
+ IMPORTACION_DATOS_BAJA = "100" # Importación de datos con baja
248
+ INCORPORACION_PLANTILLA = "101" # Por incorporación plantilla
249
+ FALLECIMIENTO = "111" # Fallecimiento
250
+ NO_SUPERACION_PERIODO_PRUEBA = "112" # No superación período de prueba
251
+ DESISTIMIENTO = "13" # Desistimiento
252
+ CAMBIO_FUNCIONES = "15" # Cambio de funciones
253
+ ERE_PARCIAL = "17" # ERE Parcial
254
+ DESPIDO_SIN_PREAVISO = "20" # Despido sin preaviso
255
+ BAJA_VOL_PTE_COMISIONES = "200" # Baja vol pte comisiones
256
+ BAJA_NO_VOL_PTE_COMISIONES = "201" # Baja No Vol pte comisiones
257
+ BAJA_VOL_PTE_PAGO = "202" # Baja Vol pte pago
258
+ BAJA_NO_VOL_PTE_PAGO = "203" # Baja No vol pte pago
259
+ BAJA_FIN_BECA = "204" # Baja por fin de beca
260
+ CAMBIO_DEVENGO_PAGAS_EXTRAS = "300" # Cambio devengo pagas extras
261
+ EXCEDENCIA_VOLUNTARIA = "333" # Excedencia Voluntaria
262
+ EXCEDENCIA_ESPECIAL = "334" # Excedencia Especial
263
+ EXCEDENCIA_FALLECIMIENTO_CONYUGE_HIJO_MENOR = "335" # Excedencia fallecimiento de cónyuge con hijo menor a cargo
264
+ EXCEDENCIA_FORZOSA_CARGO_PUBLICO = "336" # Excedencia forzosa. Cargo público.
265
+ EXCEDENCIA_TRAMITES_ADOPCION_INTERNACIONAL = "337" # Excedencia trámites adopción internacional. Gestiones en país
266
+ BAJA_VOLUNTARIA_TRABAJADOR = "51" # Baja voluntaria del trabajador
267
+ BAJA_DESPIDO_DISCIPLINARIO_PROCEDENTE = "53" # Baja por Despido disciplinario Procedente
268
+ BAJA_AGOTAMIENTO_IT = "65" # Baja por Agotamiento IT
269
+ EXCEDENCIA_CUIDADO_HIJOS_SIN_LIQUIDACION = "68" # Excedencia cuidado de hijos (sin liquidación)
270
+ EXCEDENCIA_CUIDADO_HIJOS_CON_LIQUIDACION = "69" # Excedencia cuidado de hijos (con liquidación)
271
+ MUTUO_ACUERDO = "700" # Mutuo acuerdo
272
+ FIN_EXPATRIACION = "701" # Fin expatriación
273
+ FIN_MISION = "702" # Fin misión
274
+ FIN_COMISION_SERVICIOS = "703" # Fin comisión de servicios
275
+ BAJA_INCENTIVADA = "704" # Baja incentivada
276
+ PREJUBILACION = "705" # Prejubilación
277
+ INICIO_EXPATRIACION = "706" # Inicio Expatriacion
278
+ TERMINACION_EMPLEADO_EVENTUAL = "777" # Terminación de empleado eventual
279
+ CAMBIO_PERIODO_GL_SIN_LIQUIDACION = "81" # Cambio periodo por GL (sin liquidación)
280
+ BAJA_DIMISION = "82" # Baja por Dimision
281
+ BAJA_EXTINCION_CONTRATO_PRUEBAS = "85" # Baja por extinción contrato en pruebas
282
+ BAJA_SIN_LIQUIDACION_NUEVO_PERIODO = "86" # Baja sin liquidación Nuevo Periodo
283
+ PERMISO_SIN_SUELDO = "87" # Permiso sin sueldo
284
+ CAMBIO_CONTRATO = "88" # Cambio de contrato
285
+ DESPIDO_SIN_INDEMNIZACION = "888" # Despido sin Indemnización
286
+ SUBROGACION = "889" # Subrogación
287
+ SUBROGACION_BAJA_SEGURIDAD_SOCIAL = "890" # Subrogación con Baja en Seguridad Social
288
+ CAMBIO_CENTRO_TRABAJO_SIN_LIQUIDACION = "98" # Cambio Centro Trabajo sin Liquidacion
289
+ FIN_INTERINIDAD = "987" # Fin Interinidad
290
+ ANULACION_ALTA_PREVIA = "988" # Anulación Alta Previa
291
+ INCAPACIDAD = "99" # Incapacidad
292
+ OTRAS_CAUSAS_BAJA = "991" # Otras Causas de Baja
293
+ BAJA_PERIODOS_FUERA_PLAZO = "992" # Baja para periodos fuera de plazo
294
+ ERE_EXTINTIVO = "999" # ERE Extintivo
295
+
296
+
297
+ # Contract types
298
+ class ContractType(str, Enum):
299
+ """Contract types"""
300
+ WITHOUT_CONTRACT = "0" # SIN CONTRATO
301
+ TEMPORARY_EMPLOYMENT_AGENCY = "1" # ETT
302
+ INTERN_STUDENT = "2" # BECARIO / ALUMNO
303
+ RETIRED = "3" # JUBILADO
304
+ SURPLUS = "4" # EXCEDENTES
305
+ SUBSIDIZED_INTERN = "5" # BECARIO BONIFICADO
306
+ ADVISOR = "6" # CONSEJERO
307
+ CHINA_AGREEMENT = "7" # CONVENIO CHINA
308
+ REGULAR_INDEFINITE_FULL_TIME = "1000" # ORDINARIO INDEFINIDO TP COMPLETO
309
+ INDEFINITE_FULL_TIME_OVER_45 = "1002" # INDEFINIDO TP COMPL. MAYORES 45
310
+ REGULAR_TEMPORARY_FULL_TIME = "2000" # ORDINARIO TEMPORAL TP COMPLETO
311
+ REGULAR_INDEFINITE_PART_TIME = "3000" # ORDINARIO INDEFINIDO TP PARCIAL
312
+ REGULAR_TEMPORARY_PART_TIME = "4000" # ORDINARIO TEMPORAL TP PARCIAL
313
+
314
+
315
+ # Labor relationship types
316
+ class LaborRelationshipType(str, Enum):
317
+ """Labor relationship types"""
318
+ HIGH_MANAGEMENT_PERSONNEL = "100" # Personal de alta dirección
319
+ PRISONERS_LEARNING_TRAINING = "301" # Penados en Instituciones Penitenciarias. Aprendizaje/Formación
320
+ PRISONERS_WORK_ACTIVITY = "302" # Penados en Instituciones Penitenciarias. Actividad Laboral
321
+ PRISONERS_COMMUNITY_BENEFIT = "303" # Penados en Instituciones Penitenciarias. Beneficio Comunidad
322
+ PRISONERS_MINORS = "304" # Penados en Instituciones Penitenciarias. Menores
323
+ STEVEDORES = "396" # Estibadores
324
+ PROFESSIONAL_ATHLETES = "409" # Deportistas profesionales
325
+ COMMERCIAL_REPRESENTATIVES = "500" # Representantes de comercio
326
+ ONCE_COUPON_SELLERS = "501" # Representantes de comercio -vendedores del cupón de la ONCE-
327
+ DISABLED_SPECIAL_EMPLOYMENT_CENTERS = "600" # Minusválidos en Centros Especiales de Empleo
328
+ DISABLED_LABOR_ENCLAVE = "601" # Minusválido procedente enclave laboral
329
+ DISABLED_NATIONAL_ORGANIZATION_BLIND = "602" # Discapacitado Organización Nacional de Ciegos
330
+ PORT_STEVEDORES = "700" # Estibadores portuarios
331
+ ARTISTS_PUBLIC_SHOWS = "800" # Artistas en espectáculos públicos
332
+ LAWYERS_LAW_FIRM = "900" # Abogados en despacho de abogados
333
+ ADVISOR_ADMINISTRATOR_SMC = "951" # Consejero-administrador SMC / Situación laboral asimilada a cuenta ajena
334
+ ADVISOR_ADMIN_SMC_LAB_SITUATION = "952" # CONSEJERO-ADMINIST.SMC./S.LAB.ASIMIL.C/A
335
+ RESEARCHERS_SPANISH_SCIENCE_TECHNOLOGY = "9901" # Investigadores del Sistema Español de Ciencia y Tecnología
336
+ INTERIM_RESIDENT_DOCTORS = "9902" # Médicos Interinos Residentes
337
+ PUBLIC_UNIVERSITY_ASSISTANT_PROFESSOR = "9903" # Universidad Pública -Profesor Ayudante
338
+ PUBLIC_UNIVERSITY_ASSISTANT_DOCTOR_PROFESSOR = "9904" # Universidad Pública -Profesor Ayudante Doctor
339
+ PUBLIC_UNIVERSITY_COLLABORATING_PROFESSOR = "9905" # Universidad Pública -Profesor Colaborador
340
+ PUBLIC_UNIVERSITY_CONTRACTED_DOCTOR_PROFESSOR = "9906" # Universidad Pública -Profesor Contratado Doctor
341
+ PUBLIC_UNIVERSITY_ASSOCIATE_PROFESSOR = "9907" # Universidad Pública -Profesor Asociado
342
+ PUBLIC_UNIVERSITY_VISITING_PROFESSOR = "9908" # Universidad Pública -Profesor Visitante
343
+ RESEARCH_STAFF_TRAINING_SCHOLARSHIP = "9909" # Personal investigador en formación - Beca
344
+ RESEARCH_STAFF_TRAINING_INTERNSHIP_CONTRACT = "9910" # Personal investigador en formación - Contrato prácticas
345
+ STUDENTS_WORKERS_WORKSHOP_SCHOOL_PROGRAMS = "9911" # Alumnos - Trabajadores en programas de escuela taller
346
+ STUDENTS_WORKERS_TRADE_HOUSE_PROGRAMS = "9912" # Alumnos - Trabajadores en programas de casas de oficios
347
+ STUDENTS_WORKERS_EMPLOYMENT_WORKSHOP_PROGRAMS = "9913" # Alumnos - Trabajadores en programas de talleres de empleo
348
+ DISABILITY_PENSIONER_SS = "9914" # Pensionista de incapacidad S.S.
349
+ DISABILITY_PENSIONER_PASSIVE_CLASSES = "9915" # Pensionista de incapacidad clases pasivas
350
+ RD_I_RESEARCH_STAFF = "9916" # Personal investigador I+D+I
351
+ TRAINING_CONTRACTS_EXTENSION_AFTER_2010 = "9918" # Contratos de Formación – Prorroga posterior 18-06-2010
352
+ NON_SUBSIDIZED_TRAINING_CONTRACT_AFTER_2011 = "9920" # Contrato de formación no bonificados. posterior 18.06.2011
353
+ PREDOCTORAL_CONTRACT = "9921" # Contrato predoctoral
354
+ PARTICIPANTS_TRAINING_PROGRAMS = "9922" # Participantes en programas para la formación
355
+ NON_LABOR_INTERNSHIPS_COMPANIES = "9923" # Prácticas no laborales en empresas
356
+ LABOR_SOCIETY_PARTNER = "9924" # Socio Sociedad Laboral
357
+ NON_PARTNER_LABOR_SOCIETY = "9925" # No socio Sociedad Laboral
358
+ EXTERNAL_ACADEMIC_INTERNSHIP = "9927" # PRACTIC.ACAD.EXTERNA
359
+ EXTERNAL_CURRICULAR_INTERNSHIPS = "9928" # Prácticas curriculares externas
360
+ CT_ALTERNATING_TRAINING_PROFESSIONALITY_CERTIFICATE_LEVEL_3 = "9935" # CT FORMACION ALTERNANCIA - CERTIFICADO PROFESIONALIDAD NIVEL 3
361
+ CT_ALTERNATING_TRAINING_UNIVERSITY_FP_STUDIES = "9936" # CT FORMACIÓN ALTERNANCIA - ESTUDIOS UNIVERSIDAD/FP
362
+ PAID_TRAINING_INTERNSHIPS_DA52LGSS = "9939" # PRÁCTICAS FORM.REMUNERADAS DA52LGSS
363
+
364
+
365
+ # Substitution cause types
366
+ class SubstitutionCauseType(str, Enum):
367
+ """Substitution cause types"""
368
+ NULL_SUBSTITUTION_CAUSE = "0" # Causa de sustitución nula (valor 0 para el AFI)
369
+ SUBSTITUTION_LEAVE_FAMILY_CARE = "1" # Sustitución por excedencia por cuidado de familiares
370
+ REST_BIRTH_CARE_MINOR_PREGNANCY_LACTATION_RISK = "2" # Descanso nacimiento cuidado menor- Riesgo embarazo/Lactancia
371
+ SUBSTITUTION_EARLY_RETIREE_64_YEARS = "3" # Sustitución jubilado anticipadamente a los 64 años
372
+ DISABLED_PERSON_SUBSTITUTION = "4" # Sustitución minusválido
373
+ DISABLED_PERSON_SUBSTITUTION_SICK_LEAVE = "5" # Sustitución minusválido en situación de IT
374
+ GENDER_VIOLENCE_VICTIMS = "6" # Víctimas violencia de género
375
+ COVERAGE_VACANCY_REDUCTION_PERMANENT_EMPLOYMENT = "7" # Cobertura vacante disminución empleo fijo
376
+ TEMPORARY_COVERAGE_JOB_POSITION_SELECTION_PROCESS = "8" # Cobertura temporal de puesto de trabajo durante el proceso de selección
377
+ SEXUAL_VIOLENCE_VICTIM_SUBSTITUTION = "9" # Sustitución víctima violencia sexual
378
+ REST_BIRTH_CARE_MINOR_RISK_SUBSTITUTE = "10" # Descanso nacimiento cuidado menor/ Riesgo-sustituto
379
+
380
+
381
+ # Unemployment cause types
382
+ # Note: This enum is related to TerminationReasonType through TERMINATION_REASON_TO_UNEMPLOYMENT_CAUSE mapping
383
+ class UnemploymentCauseType(str, Enum):
384
+ """Unemployment cause types - Related to TerminationReasonType via TERMINATION_REASON_TO_UNEMPLOYMENT_CAUSE mapping"""
385
+ UNKNOWN = "00" # Desconocida
386
+ WORKER_DISMISSAL = "01" # Despido del trabajador
387
+ OBJECTIVE_CAUSES_DISMISSAL = "02" # Despido por causas objetivas
388
+ PERMANENT_TOTAL_DISABILITY_CESSATION = "06" # Cese por declaración de invalidez permanente total del trabajador
389
+ EMPLOYER_TRIAL_PERIOD_CESSATION = "07" # Cese en período de prueba a instancia del empresario
390
+ WORKER_TRIAL_PERIOD_CESSATION = "09" # Cese en período de prueba a instancia del trabajador
391
+ TEMPORARY_CONTRACT_END = "11" # Fin de contrato temporal
392
+ TRANSFER_SUBSTANTIAL_MODIFICATION = "14" # Traslado o modificación sustancial de las condiciones de trabajo
393
+ FIXED_DISCONTINUOUS_ACTIVITY_END = "15" # Fin o interrupción de la actividad de los trabajadores fijos-discontinuos
394
+ ERE_CONTRACT_EXTINCTION = "16" # Extinción del contrato autorizada en E.R.E.
395
+ ERE_CONTRACT_SUSPENSION = "17" # Suspensión del contrato autorizada en E.R.E. o por auto judicial o constatada por la autoridad laboral en cooperativas
396
+ ERE_TEMPORARY_HOURS_REDUCTION = "18" # Reducción temporal de jornada autorizada en E.R.E. o por auto judicial o constatada por la autoridad laboral en cooperativas
397
+ GENDER_VIOLENCE_VOLUNTARY_SUSPENSION = "19" # Suspensión o extinción voluntaria del contrato en caso de víctimas de violencia de género
398
+ VOLUNTARY_WORKER_RESIGNATION = "21" # Baja voluntaria del trabajador
399
+ DEATH = "23" # Fallecimiento
400
+ LEAVE_OF_ABSENCE = "26" # Excedencia
401
+ OBJECTIVE_CAUSES_DISMISSAL_INCOMPETENCE = "30" # DESPIDO POR CAUSAS OBJETIVAS.INEPTITUD,FALTA DE ADAPTACION Y ASISTENCIA AL TRABAJO
402
+ WORKER_RESOLUTION_SUBSTANTIAL_MODIFICATION = "31" # RESOLUCIÓN DEL TRABAJADOR POR MODIFICACIÓN SUSTANCIAL DE LAS CONDICIONES DE TRABAJO
403
+ IT_EXHAUSTION_RESIGNATION = "65" # Baja por agotamiento I.T.
404
+ OTHER_SUSPENSION_CAUSES = "74" # Otras causas de suspensión
405
+ RETIREMENT = "88" # JUBILACION
406
+
407
+
408
+ # Reduction reason types
409
+ class ReductionReasonType(str, Enum):
410
+ """Reduction reason types"""
411
+ CARE_OF_MINOR = "001" # Care of minor
412
+ CARE_OF_DISABLED = "002" # Care of disabled person
413
+ CARE_OF_FAMILY_MEMBER = "003" # Care of family member
414
+ BREASTFEEDING_CO_RESPONSIBILITY = "004" # Breastfeeding co-responsibility
415
+ GENDER_VIOLENCE = "005" # Gender violence
416
+ PREMATURE_CHILD_BIRTH = "006" # Premature child birth
417
+ CARE_OF_MINOR_WITH_SERIOUS_ILLNESS = "007" # Care of minor with serious illness
418
+ CARE_OF_MINOR_WITH_SERIOUS_ILLNESS_PLUS_OTHER_REDUCTION = "008" # Care of minor with serious illness + other reduction
419
+ PARTIAL_SCHEDULE_REDUCTION_COVID = "009" # Partial schedule reduction COVID
420
+ TOTAL_SCHEDULE_REDUCTION_COVID_19 = "010" # Total schedule reduction COVID 19
421
+
422
+
423
+ # Termination reason mapping
424
+ TERMINATION_REASONS: Dict[str, str] = {
425
+ "000": "Borrado de personal",
426
+ "001": "Motivos Económicos",
427
+ "002": "Desacuerdo con la Política Empresarial",
428
+ "003": "Descontento con el ambiente",
429
+ "004": "Despido",
430
+ "005": "Jubilación",
431
+ "006": "Baja Voluntaria",
432
+ "007": "Indemnización Especial ERE Extintivo",
433
+ "008": "Baja Voluntaria No Recontratar",
434
+ "009": "Terminación sin finiquito",
435
+ "010": "Fin Contrato",
436
+ "011": "Fin Contrato con Indemnización",
437
+ "012": "Suspensión de Empleo y sueldo",
438
+ "013": "Invalidez",
439
+ "014": "Excedencia forzosa",
440
+ "015": "Extinción Puesto Trabajo",
441
+ "017": "Cambio de Convenio",
442
+ "024": "Despido Directivo",
443
+ "031": "Excedencia Art. 31",
444
+ "050": "Fin del contrato - Comisión de terminación del servicio",
445
+ "051": "Acuerdo Revocado, basado en un motivo que permite gastos colec",
446
+ "053": "Baja por despido disciplinario individual",
447
+ "055": "Baja por fusión/absorción de la empresa",
448
+ "069": "Baja por suspensión temporal de ERE",
449
+ "073": "Excedencia Cuidado Familiar",
450
+ "074": "Suspensión de servicio temporal",
451
+ "077": "Baja por Despido Colectivo",
452
+ "080": "Suspensión por violencia de género",
453
+ "090": "Cese en periodo de prueba a instancia del trabajador",
454
+ "091": "Baja despido por causas objetivas (empresa)",
455
+ "092": "Baja despido causas objetivas (trabajador)",
456
+ "094": "Baja por pase a inactividad fijos discontinuos",
457
+ "096": "Subrogación (con certificado de empresa)",
458
+ "097": "Cese por Traslado de Centro de Trabajo",
459
+ "098": "Cambio de Empresa",
460
+ "099": "Baja por modificación sustancial de las condiciones de trabajo",
461
+ "100": "Importación de datos con baja",
462
+ "101": "Por incorporación plantilla",
463
+ "111": "Fallecimiento",
464
+ "112": "No superación período de prueba",
465
+ "13": "Desistimiento",
466
+ "15": "Cambio de funciones",
467
+ "17": "ERE Parcial",
468
+ "20": "Despido sin preaviso",
469
+ "200": "Baja vol pte comisiones",
470
+ "201": "Baja No Vol pte comisiones",
471
+ "202": "Baja Vol pte pago",
472
+ "203": "Baja No vol pte pago",
473
+ "204": "Baja por fin de beca",
474
+ "300": "Cambio devengo pagas extras",
475
+ "333": "Excedencia Voluntaria",
476
+ "334": "Excedencia Especial",
477
+ "335": "Excedencia fallecimiento de cónyuge con hijo menor a cargo",
478
+ "336": "Excedencia forzosa. Cargo público.",
479
+ "337": "Excedencia trámites adopción internacional. Gestiones en país",
480
+ "51": "Baja voluntaria del trabajador",
481
+ "53": "Baja por Despido disciplinario Procedente",
482
+ "65": "Baja por Agotamiento IT",
483
+ "68": "Excedencia cuidado de hijos (sin liquidación)",
484
+ "69": "Excedencia cuidado de hijos (con liquidación)",
485
+ "700": "Mutuo acuerdo",
486
+ "701": "Fin expatriación",
487
+ "702": "Fin misión",
488
+ "703": "Fin comisión de servicios",
489
+ "704": "Baja incentivada",
490
+ "705": "Prejubilación",
491
+ "706": "Inicio Expatriacion",
492
+ "777": "Terminación de empleado eventual",
493
+ "81": "Cambio periodo por GL (sin liquidación)",
494
+ "82": "Baja por Dimision",
495
+ "85": "Baja por extinción contrato en pruebas",
496
+ "86": "Baja sin liquidación Nuevo Periodo",
497
+ "87": "Permiso sin sueldo",
498
+ "88": "Cambio de contrato",
499
+ "888": "Despido sin Indemnización",
500
+ "889": "Subrogación",
501
+ "890": "Subrogación con Baja en Seguridad Social",
502
+ "98": "Cambio Centro Trabajo sin Liquidacion",
503
+ "987": "Fin Interinidad",
504
+ "988": "Anulación Alta Previa",
505
+ "99": "Incapacidad",
506
+ "991": "Otras Causas de Baja",
507
+ "992": "Baja para periodos fuera de plazo",
508
+ "999": "ERE Extintivo"
509
+ }
510
+
511
+
512
+ # Unemployment cause mapping
513
+ CAUSE_OF_UNEMPLOYMENT: Dict[str, str] = {
514
+ "00": "Desconocida",
515
+ "01": "Despido del trabajador",
516
+ "02": "Despido por causas objetivas",
517
+ "06": "Cese por declaración de invalidez permanente total del trabajador",
518
+ "07": "Cese en período de prueba a instancia del empresario",
519
+ "09": "Cese en período de prueba a instancia del trabajador",
520
+ "11": "Fin de contrato temporal",
521
+ "14": "Traslado o modificación sustancial de las condiciones de trabajo",
522
+ "15": "Fin o interrupción de la actividad de los trabajadores fijos-discontinuos",
523
+ "16": "Extinción del contrato autorizada en E.R.E.",
524
+ "17": "Suspensión del contrato autorizada en E.R.E. o por auto judicial o constatada por la autoridad laboral en cooperativas",
525
+ "18": "Reducción temporal de jornada autorizada en E.R.E. o por auto judicial o constatada por la autoridad laboral en cooperativas",
526
+ "19": "Suspensión o extinción voluntaria del contrato en caso de víctimas de violencia de género",
527
+ "21": "Baja voluntaria del trabajador",
528
+ "23": "Fallecimiento",
529
+ "26": "Excedencia",
530
+ "30": "DESPIDO POR CAUSAS OBJETIVAS.INEPTITUD,FALTA DE ADAPTACION Y ASISTENCIA AL TRABAJO",
531
+ "31": "RESOLUCIÓN DEL TRABAJADOR POR MODIFICACIÓN SUSTANCIAL DE LAS CONDICIONES DE TRABAJO",
532
+ "65": "Baja por agotamiento I.T.",
533
+ "74": "Otras causas de suspensión",
534
+ "88": "JUBILACION"
535
+ }
536
+
537
+
538
+ # Termination reason to unemployment cause mapping
539
+ TERMINATION_REASON_TO_UNEMPLOYMENT_CAUSE: Dict[str, str] = {
540
+ "000": "00",
541
+ "001": "02",
542
+ "002": "21",
543
+ "003": "21",
544
+ "004": "01",
545
+ "005": "88",
546
+ "006": "21",
547
+ "007": "16",
548
+ "008": "21",
549
+ "009": "14",
550
+ "010": "11",
551
+ "011": "11",
552
+ "012": "74",
553
+ "013": "06",
554
+ "014": "26",
555
+ "015": "02",
556
+ "017": "00",
557
+ "024": "01",
558
+ "031": "26",
559
+ "050": "11",
560
+ "051": "11",
561
+ "053": "01",
562
+ "055": "00",
563
+ "069": "17",
564
+ "073": "26",
565
+ "074": "74",
566
+ "077": "01",
567
+ "080": "19",
568
+ "090": "09",
569
+ "091": "02",
570
+ "092": "30",
571
+ "094": "15",
572
+ "096": "11",
573
+ "097": "14",
574
+ "098": "14",
575
+ "099": "31",
576
+ "100": "00",
577
+ "101": "14",
578
+ "111": "23",
579
+ "112": "07",
580
+ "13": "21",
581
+ "15": "14",
582
+ "17": "18",
583
+ "20": "01",
584
+ "200": "21",
585
+ "201": "01",
586
+ "202": "21",
587
+ "203": "01",
588
+ "204": "00",
589
+ "300": "00",
590
+ "333": "26",
591
+ "334": "26",
592
+ "335": "26",
593
+ "336": "26",
594
+ "337": "26",
595
+ "51": "21",
596
+ "53": "01",
597
+ "65": "65",
598
+ "68": "26",
599
+ "69": "26",
600
+ "700": "01",
601
+ "701": "14",
602
+ "702": "14",
603
+ "703": "14",
604
+ "704": "01",
605
+ "705": "88",
606
+ "706": "74",
607
+ "777": "11",
608
+ "81": "00",
609
+ "82": "21",
610
+ "85": "07",
611
+ "86": "00",
612
+ "87": "26",
613
+ "88": "14",
614
+ "888": "01",
615
+ "889": "14",
616
+ "890": "74",
617
+ "98": "14",
618
+ "987": "11",
619
+ "988": "00",
620
+ "99": "65",
621
+ "991": "14",
622
+ "992": "00",
623
+ "999": "16"
624
+ }
@@ -0,0 +1,17 @@
1
+ Metadata-Version: 2.4
2
+ Name: brynq_sdk_meta4
3
+ Version: 1.0.1
4
+ Summary: Meta4 wrapper from BrynQ
5
+ Author: BrynQ
6
+ Author-email: support@brynq.com
7
+ License: BrynQ License
8
+ Requires-Dist: pandas>=1.5.0
9
+ Requires-Dist: pandera>=0.10.0
10
+ Requires-Dist: brynq-sdk-brynq<5,>=4
11
+ Requires-Dist: brynq-sdk-functions<3,>=2
12
+ Requires-Dist: brynq-sdk-ftp<4,>=3
13
+ Dynamic: author
14
+ Dynamic: author-email
15
+ Dynamic: license
16
+ Dynamic: requires-dist
17
+ Dynamic: summary
@@ -0,0 +1,14 @@
1
+ brynq_sdk_meta4/__init__.py,sha256=TMcqIRDd60e7ElcgkKKH_YUxvb68Suoc_5gh2Krhd6I,25
2
+ brynq_sdk_meta4/cost_centers.py,sha256=tEyNkfwXTwP_9L2sPuRkEKN2BOuCIY0ceGyYURpHYU8,2755
3
+ brynq_sdk_meta4/employees.py,sha256=m910-Vgs65-lWgOLrFZL446bDsyKIRiyqY2EnotVIdE,4080
4
+ brynq_sdk_meta4/jobs.py,sha256=a_0HZiRdN5byylCJCOnkMMHu6SenEiAWuGs23jStHY4,3866
5
+ brynq_sdk_meta4/meta4.py,sha256=-sipXoZcMIYY9iog9yqedTFICL0qP4fVeslrXCfZ1D8,5873
6
+ brynq_sdk_meta4/schemas/__init__.py,sha256=amkuQaBghg8JOYm6inq0tRY-XlbdlOovY8VmKzHnpNk,183
7
+ brynq_sdk_meta4/schemas/cost_center.py,sha256=UY6d2GizKe3Mw1zCeOjLeweHUBmRV_Me382NgsWos0A,1900
8
+ brynq_sdk_meta4/schemas/employee.py,sha256=JFM3sP9-bP7KAQEVyCHyZfSwLt0DXmbc2iA8bWXfUBs,17948
9
+ brynq_sdk_meta4/schemas/job.py,sha256=-twiW5UPdgT9z1Jb7OvMmRCj4hwHSsDjVc6j_mD7Df0,2844
10
+ brynq_sdk_meta4/schemas/reference_enums.py,sha256=LiyBvRyEYAK_h4l22tnrugP5amFQpMHG3YT2853Xbo0,27534
11
+ brynq_sdk_meta4-1.0.1.dist-info/METADATA,sha256=1uKtpuDMfcIprT74n5RnTSlkmr4XdD7bhEjxBcZ5NhY,430
12
+ brynq_sdk_meta4-1.0.1.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
13
+ brynq_sdk_meta4-1.0.1.dist-info/top_level.txt,sha256=OvKQecCdbKTJ0I2OpmvHk8uKuDnLuj3Opt2iOA3IV8M,16
14
+ brynq_sdk_meta4-1.0.1.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (80.10.2)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1 @@
1
+ brynq_sdk_meta4