trevol 0.1.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 (231) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +15 -0
  3. data/GENERADO.md +14 -0
  4. data/LICENSE +21 -0
  5. data/README.md +173 -0
  6. data/lib/trevol/client.rb +94 -0
  7. data/lib/trevol/errors.rb +152 -0
  8. data/lib/trevol/llave.rb +21 -0
  9. data/lib/trevol/paginacion.rb +41 -0
  10. data/lib/trevol/transporte.rb +173 -0
  11. data/lib/trevol/webhook.rb +100 -0
  12. data/lib/trevol.rb +18 -0
  13. data/lib/trevol_generado/api/balance_api.rb +220 -0
  14. data/lib/trevol_generado/api/credit_notes_api.rb +671 -0
  15. data/lib/trevol_generado/api/debit_notes_api.rb +671 -0
  16. data/lib/trevol_generado/api/equivalent_document_adjustments_api.rb +691 -0
  17. data/lib/trevol_generado/api/equivalent_documents_api.rb +698 -0
  18. data/lib/trevol_generado/api/events_api.rb +231 -0
  19. data/lib/trevol_generado/api/general_api.rb +201 -0
  20. data/lib/trevol_generado/api/invoices_api.rb +736 -0
  21. data/lib/trevol_generado/api/payroll_adjustments_api.rb +637 -0
  22. data/lib/trevol_generado/api/payrolls_api.rb +637 -0
  23. data/lib/trevol_generado/api/radian_events_api.rb +431 -0
  24. data/lib/trevol_generado/api/requests_api.rb +97 -0
  25. data/lib/trevol_generado/api/support_document_adjustments_api.rb +565 -0
  26. data/lib/trevol_generado/api/support_documents_api.rb +565 -0
  27. data/lib/trevol_generado/api/webhook_endpoints_api.rb +556 -0
  28. data/lib/trevol_generado/api_client.rb +441 -0
  29. data/lib/trevol_generado/api_error.rb +58 -0
  30. data/lib/trevol_generado/api_model_base.rb +88 -0
  31. data/lib/trevol_generado/configuration.rb +392 -0
  32. data/lib/trevol_generado/models/acquirer.rb +209 -0
  33. data/lib/trevol_generado/models/air_collection.rb +205 -0
  34. data/lib/trevol_generado/models/air_extension.rb +216 -0
  35. data/lib/trevol_generado/models/allowance_charge.rb +250 -0
  36. data/lib/trevol_generado/models/alternative_currency.rb +180 -0
  37. data/lib/trevol_generado/models/balance.rb +244 -0
  38. data/lib/trevol_generado/models/balance_event_data.rb +172 -0
  39. data/lib/trevol_generado/models/balance_transaction.rb +265 -0
  40. data/lib/trevol_generado/models/balance_transaction_company.rb +172 -0
  41. data/lib/trevol_generado/models/balance_transaction_document.rb +173 -0
  42. data/lib/trevol_generado/models/balance_transaction_list.rb +191 -0
  43. data/lib/trevol_generado/models/carrier.rb +219 -0
  44. data/lib/trevol_generado/models/certificate_event_data.rb +180 -0
  45. data/lib/trevol_generado/models/cinema_extension.rb +214 -0
  46. data/lib/trevol_generado/models/cinema_screening.rb +256 -0
  47. data/lib/trevol_generado/models/company.rb +267 -0
  48. data/lib/trevol_generado/models/company_key.rb +182 -0
  49. data/lib/trevol_generado/models/company_numbering.rb +201 -0
  50. data/lib/trevol_generado/models/consumption.rb +246 -0
  51. data/lib/trevol_generado/models/consumption_adjustment.rb +204 -0
  52. data/lib/trevol_generado/models/contingency.rb +160 -0
  53. data/lib/trevol_generado/models/credit_note_list.rb +191 -0
  54. data/lib/trevol_generado/models/currency.rb +241 -0
  55. data/lib/trevol_generado/models/customer.rb +360 -0
  56. data/lib/trevol_generado/models/debit_note_list.rb +191 -0
  57. data/lib/trevol_generado/models/deleted_object.rb +178 -0
  58. data/lib/trevol_generado/models/delivery.rb +200 -0
  59. data/lib/trevol_generado/models/delivery_email.rb +181 -0
  60. data/lib/trevol_generado/models/delivery_terms.rb +169 -0
  61. data/lib/trevol_generado/models/dian_result.rb +182 -0
  62. data/lib/trevol_generado/models/dian_rule.rb +216 -0
  63. data/lib/trevol_generado/models/document.rb +432 -0
  64. data/lib/trevol_generado/models/document_event_data.rb +315 -0
  65. data/lib/trevol_generado/models/document_reference.rb +169 -0
  66. data/lib/trevol_generado/models/document_totals.rb +299 -0
  67. data/lib/trevol_generado/models/document_totals_currency.rb +197 -0
  68. data/lib/trevol_generado/models/document_totals_item.rb +196 -0
  69. data/lib/trevol_generado/models/document_totals_tax.rb +197 -0
  70. data/lib/trevol_generado/models/document_totals_withholding.rb +206 -0
  71. data/lib/trevol_generado/models/equivalent_adjustment_item.rb +374 -0
  72. data/lib/trevol_generado/models/equivalent_document.rb +470 -0
  73. data/lib/trevol_generado/models/equivalent_document_adjustment.rb +440 -0
  74. data/lib/trevol_generado/models/equivalent_document_adjustment_input.rb +388 -0
  75. data/lib/trevol_generado/models/equivalent_document_adjustment_list.rb +191 -0
  76. data/lib/trevol_generado/models/equivalent_document_contingency.rb +181 -0
  77. data/lib/trevol_generado/models/equivalent_document_contingency_backup.rb +171 -0
  78. data/lib/trevol_generado/models/equivalent_document_event_data.rb +313 -0
  79. data/lib/trevol_generado/models/equivalent_document_input.rb +365 -0
  80. data/lib/trevol_generado/models/equivalent_document_list.rb +191 -0
  81. data/lib/trevol_generado/models/equivalent_document_reference.rb +241 -0
  82. data/lib/trevol_generado/models/equivalent_item.rb +387 -0
  83. data/lib/trevol_generado/models/event.rb +223 -0
  84. data/lib/trevol_generado/models/event_claim.rb +170 -0
  85. data/lib/trevol_generado/models/event_delivery.rb +178 -0
  86. data/lib/trevol_generado/models/event_delivery_email.rb +161 -0
  87. data/lib/trevol_generado/models/event_dian_result.rb +173 -0
  88. data/lib/trevol_generado/models/event_dian_rule.rb +170 -0
  89. data/lib/trevol_generado/models/event_document_error.rb +170 -0
  90. data/lib/trevol_generado/models/event_equivalent_document_ref.rb +161 -0
  91. data/lib/trevol_generado/models/event_error.rb +170 -0
  92. data/lib/trevol_generado/models/event_invoice_ref.rb +161 -0
  93. data/lib/trevol_generado/models/event_list.rb +191 -0
  94. data/lib/trevol_generado/models/event_payroll_ref.rb +160 -0
  95. data/lib/trevol_generado/models/event_radian_invoice_ref.rb +181 -0
  96. data/lib/trevol_generado/models/event_resend_input.rb +177 -0
  97. data/lib/trevol_generado/models/event_support_document_ref.rb +161 -0
  98. data/lib/trevol_generado/models/extension.rb +215 -0
  99. data/lib/trevol_generado/models/foreign_address.rb +218 -0
  100. data/lib/trevol_generado/models/free_of_charge.rb +170 -0
  101. data/lib/trevol_generado/models/game.rb +203 -0
  102. data/lib/trevol_generado/models/game_credit.rb +204 -0
  103. data/lib/trevol_generado/models/games_extension.rb +216 -0
  104. data/lib/trevol_generado/models/games_venue.rb +204 -0
  105. data/lib/trevol_generado/models/interoperability.rb +205 -0
  106. data/lib/trevol_generado/models/interoperability_collection.rb +171 -0
  107. data/lib/trevol_generado/models/interoperability_data.rb +186 -0
  108. data/lib/trevol_generado/models/invoice_input.rb +364 -0
  109. data/lib/trevol_generado/models/invoice_list.rb +191 -0
  110. data/lib/trevol_generado/models/invoice_reference.rb +198 -0
  111. data/lib/trevol_generado/models/item.rb +439 -0
  112. data/lib/trevol_generado/models/item_allowance.rb +190 -0
  113. data/lib/trevol_generado/models/item_consignment.rb +286 -0
  114. data/lib/trevol_generado/models/item_mandator.rb +231 -0
  115. data/lib/trevol_generado/models/item_notary.rb +204 -0
  116. data/lib/trevol_generado/models/item_property.rb +223 -0
  117. data/lib/trevol_generado/models/item_tax.rb +246 -0
  118. data/lib/trevol_generado/models/item_withholding.rb +214 -0
  119. data/lib/trevol_generado/models/meter.rb +233 -0
  120. data/lib/trevol_generado/models/note_input.rb +329 -0
  121. data/lib/trevol_generado/models/numbering.rb +178 -0
  122. data/lib/trevol_generado/models/numbering_expiring_event_data.rb +209 -0
  123. data/lib/trevol_generado/models/numbering_low_event_data.rb +209 -0
  124. data/lib/trevol_generado/models/origin_note.rb +230 -0
  125. data/lib/trevol_generado/models/payment.rb +232 -0
  126. data/lib/trevol_generado/models/payment_method.rb +187 -0
  127. data/lib/trevol_generado/models/payroll.rb +455 -0
  128. data/lib/trevol_generado/models/payroll_adjustment.rb +467 -0
  129. data/lib/trevol_generado/models/payroll_adjustment_input.rb +362 -0
  130. data/lib/trevol_generado/models/payroll_adjustment_list.rb +191 -0
  131. data/lib/trevol_generado/models/payroll_basic.rb +204 -0
  132. data/lib/trevol_generado/models/payroll_compensated_vacation.rb +204 -0
  133. data/lib/trevol_generado/models/payroll_compensation.rb +205 -0
  134. data/lib/trevol_generado/models/payroll_deductions.rb +370 -0
  135. data/lib/trevol_generado/models/payroll_disability.rb +249 -0
  136. data/lib/trevol_generado/models/payroll_earnings.rb +406 -0
  137. data/lib/trevol_generado/models/payroll_employee.rb +437 -0
  138. data/lib/trevol_generado/models/payroll_employer.rb +238 -0
  139. data/lib/trevol_generado/models/payroll_epctv_bonus.rb +191 -0
  140. data/lib/trevol_generado/models/payroll_event_data.rb +303 -0
  141. data/lib/trevol_generado/models/payroll_files.rb +179 -0
  142. data/lib/trevol_generado/models/payroll_input.rb +420 -0
  143. data/lib/trevol_generado/models/payroll_leaves.rb +184 -0
  144. data/lib/trevol_generado/models/payroll_list.rb +191 -0
  145. data/lib/trevol_generado/models/payroll_loan.rb +204 -0
  146. data/lib/trevol_generado/models/payroll_novelty.rb +177 -0
  147. data/lib/trevol_generado/models/payroll_other_concept.rb +197 -0
  148. data/lib/trevol_generado/models/payroll_overtime.rb +262 -0
  149. data/lib/trevol_generado/models/payroll_paid_period.rb +222 -0
  150. data/lib/trevol_generado/models/payroll_payment.rb +215 -0
  151. data/lib/trevol_generado/models/payroll_percent_amount.rb +205 -0
  152. data/lib/trevol_generado/models/payroll_period.rb +247 -0
  153. data/lib/trevol_generado/models/payroll_place.rb +179 -0
  154. data/lib/trevol_generado/models/payroll_reference.rb +188 -0
  155. data/lib/trevol_generado/models/payroll_salary_amounts.rb +171 -0
  156. data/lib/trevol_generado/models/payroll_sanction.rb +205 -0
  157. data/lib/trevol_generado/models/payroll_service_bonus.rb +214 -0
  158. data/lib/trevol_generado/models/payroll_severance.rb +232 -0
  159. data/lib/trevol_generado/models/payroll_solidarity_fund.rb +191 -0
  160. data/lib/trevol_generado/models/payroll_totals.rb +188 -0
  161. data/lib/trevol_generado/models/payroll_transport.rb +181 -0
  162. data/lib/trevol_generado/models/payroll_unpaid_period.rb +195 -0
  163. data/lib/trevol_generado/models/payroll_vacation.rb +173 -0
  164. data/lib/trevol_generado/models/payroll_workplace.rb +188 -0
  165. data/lib/trevol_generado/models/period.rb +169 -0
  166. data/lib/trevol_generado/models/physical_document.rb +179 -0
  167. data/lib/trevol_generado/models/pos.rb +186 -0
  168. data/lib/trevol_generado/models/pos_buyer.rb +181 -0
  169. data/lib/trevol_generado/models/pos_register.rb +269 -0
  170. data/lib/trevol_generado/models/prepayment.rb +248 -0
  171. data/lib/trevol_generado/models/preview.rb +195 -0
  172. data/lib/trevol_generado/models/problem.rb +329 -0
  173. data/lib/trevol_generado/models/problem_error.rb +178 -0
  174. data/lib/trevol_generado/models/public_services_extension.rb +385 -0
  175. data/lib/trevol_generado/models/radian_event.rb +359 -0
  176. data/lib/trevol_generado/models/radian_event_data.rb +289 -0
  177. data/lib/trevol_generado/models/radian_event_input.rb +284 -0
  178. data/lib/trevol_generado/models/radian_event_invoice.rb +208 -0
  179. data/lib/trevol_generado/models/radian_event_list.rb +191 -0
  180. data/lib/trevol_generado/models/received_invoice.rb +200 -0
  181. data/lib/trevol_generado/models/received_invoice_issuer.rb +190 -0
  182. data/lib/trevol_generado/models/references.rb +182 -0
  183. data/lib/trevol_generado/models/request_list.rb +191 -0
  184. data/lib/trevol_generado/models/request_log.rb +275 -0
  185. data/lib/trevol_generado/models/seller.rb +385 -0
  186. data/lib/trevol_generado/models/shipment.rb +178 -0
  187. data/lib/trevol_generado/models/show_event.rb +276 -0
  188. data/lib/trevol_generado/models/show_extension.rb +203 -0
  189. data/lib/trevol_generado/models/show_producer.rb +212 -0
  190. data/lib/trevol_generado/models/standard_code.rb +169 -0
  191. data/lib/trevol_generado/models/stock_exchange_extension.rb +320 -0
  192. data/lib/trevol_generado/models/stock_exchange_prices.rb +169 -0
  193. data/lib/trevol_generado/models/support_adjustment_item.rb +295 -0
  194. data/lib/trevol_generado/models/support_adjustment_reference.rb +188 -0
  195. data/lib/trevol_generado/models/support_currency.rb +231 -0
  196. data/lib/trevol_generado/models/support_document.rb +401 -0
  197. data/lib/trevol_generado/models/support_document_adjustment.rb +409 -0
  198. data/lib/trevol_generado/models/support_document_adjustment_input.rb +331 -0
  199. data/lib/trevol_generado/models/support_document_adjustment_list.rb +191 -0
  200. data/lib/trevol_generado/models/support_document_delivery.rb +199 -0
  201. data/lib/trevol_generado/models/support_document_event_data.rb +305 -0
  202. data/lib/trevol_generado/models/support_document_input.rb +331 -0
  203. data/lib/trevol_generado/models/support_document_list.rb +191 -0
  204. data/lib/trevol_generado/models/support_document_reference.rb +198 -0
  205. data/lib/trevol_generado/models/support_item.rb +317 -0
  206. data/lib/trevol_generado/models/support_item_charge.rb +180 -0
  207. data/lib/trevol_generado/models/support_item_tax.rb +197 -0
  208. data/lib/trevol_generado/models/support_item_withholding.rb +205 -0
  209. data/lib/trevol_generado/models/tacit_acceptance.rb +224 -0
  210. data/lib/trevol_generado/models/tacit_acceptance_rule.rb +226 -0
  211. data/lib/trevol_generado/models/test_event_data.rb +171 -0
  212. data/lib/trevol_generado/models/third_party_charge.rb +277 -0
  213. data/lib/trevol_generado/models/third_party_company.rb +203 -0
  214. data/lib/trevol_generado/models/top_up.rb +199 -0
  215. data/lib/trevol_generado/models/top_up_buyer.rb +352 -0
  216. data/lib/trevol_generado/models/top_up_input.rb +187 -0
  217. data/lib/trevol_generado/models/top_up_wompi.rb +209 -0
  218. data/lib/trevol_generado/models/transport_extension.rb +281 -0
  219. data/lib/trevol_generado/models/webhook_delivery.rb +267 -0
  220. data/lib/trevol_generado/models/webhook_delivery_attempt.rb +192 -0
  221. data/lib/trevol_generado/models/webhook_delivery_list.rb +191 -0
  222. data/lib/trevol_generado/models/webhook_endpoint.rb +317 -0
  223. data/lib/trevol_generado/models/webhook_endpoint_input.rb +229 -0
  224. data/lib/trevol_generado/models/webhook_endpoint_list.rb +191 -0
  225. data/lib/trevol_generado/models/webhook_endpoint_rotate_input.rb +160 -0
  226. data/lib/trevol_generado/models/webhook_endpoint_update.rb +227 -0
  227. data/lib/trevol_generado/models/withholding.rb +224 -0
  228. data/lib/trevol_generado/tablas.rb +243 -0
  229. data/lib/trevol_generado/version.rb +15 -0
  230. data/lib/trevol_generado.rb +251 -0
  231. metadata +386 -0
@@ -0,0 +1,420 @@
1
+ =begin
2
+ #API de Trevol
3
+
4
+ #Trevol API. Documentación: https://platform.trevol.si/docs
5
+
6
+ The version of the OpenAPI document: 2026-10-22
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.26.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module TrevolGenerado
17
+ class PayrollInput < ApiModelBase
18
+ # Tu identificador del documento: único entre los documentos API de la empresa y el ambiente. En las nóminas es único entre las nóminas y sus ajustes (aparte de las facturas y los eventos).
19
+ attr_accessor :external_id
20
+
21
+ # El periodo que se liquida y el tiempo laborado (`time_worked` se calcula si no se manda: años de 360 días y meses de 30).
22
+ attr_accessor :period
23
+
24
+ # Periodo de nómina (tabla 5.5.1): \"1\" semanal, \"2\" decenal, \"3\" catorcenal, \"4\" quincenal, \"5\" mensual, \"6\" otro.
25
+ attr_accessor :pay_period
26
+
27
+ # Moneda (ISO 4217). Por defecto COP; con otra va `exchange_rate`.
28
+ attr_accessor :currency
29
+
30
+ # Tasa de cambio a pesos. Obligatoria con una moneda distinta de COP y prohibida con COP.
31
+ attr_accessor :exchange_rate
32
+
33
+ # El CUNE del documento con la novedad contractual, si la hay. Solo en la nómina.
34
+ attr_accessor :novelty
35
+
36
+ attr_accessor :notes
37
+
38
+ # El trabajador. Sus datos solo salen en las respuestas a esta llave (la del empleador): nunca en webhooks, en el registro de peticiones ni en lo que se guarda de la idempotencia.
39
+ attr_accessor :employee
40
+
41
+ attr_accessor :payment
42
+
43
+ # Las fechas de pago (1 a 31).
44
+ attr_accessor :payment_dates
45
+
46
+ attr_accessor :earnings
47
+
48
+ attr_accessor :deductions
49
+
50
+ # Redondeo hasta 2.00; no suma a los totales.
51
+ attr_accessor :rounding
52
+
53
+ # Dónde se generó el documento. Por defecto, el municipio de la empresa.
54
+ attr_accessor :generation_place
55
+
56
+ # Solo si la empresa es persona natural: sus apellidos y nombres (si la razón social no se separa bien en «apellido1 apellido2 nombre1»).
57
+ attr_accessor :employer
58
+
59
+ # Attribute mapping from ruby-style variable name to JSON key.
60
+ def self.attribute_map
61
+ {
62
+ :'external_id' => :'external_id',
63
+ :'period' => :'period',
64
+ :'pay_period' => :'pay_period',
65
+ :'currency' => :'currency',
66
+ :'exchange_rate' => :'exchange_rate',
67
+ :'novelty' => :'novelty',
68
+ :'notes' => :'notes',
69
+ :'employee' => :'employee',
70
+ :'payment' => :'payment',
71
+ :'payment_dates' => :'payment_dates',
72
+ :'earnings' => :'earnings',
73
+ :'deductions' => :'deductions',
74
+ :'rounding' => :'rounding',
75
+ :'generation_place' => :'generation_place',
76
+ :'employer' => :'employer'
77
+ }
78
+ end
79
+
80
+ # Returns attribute mapping this model knows about
81
+ def self.acceptable_attribute_map
82
+ attribute_map
83
+ end
84
+
85
+ # Returns all the JSON keys this model knows about
86
+ def self.acceptable_attributes
87
+ acceptable_attribute_map.values
88
+ end
89
+
90
+ # Attribute type mapping.
91
+ def self.openapi_types
92
+ {
93
+ :'external_id' => :'String',
94
+ :'period' => :'PayrollPeriod',
95
+ :'pay_period' => :'String',
96
+ :'currency' => :'String',
97
+ :'exchange_rate' => :'String',
98
+ :'novelty' => :'PayrollNovelty',
99
+ :'notes' => :'Array<String>',
100
+ :'employee' => :'PayrollEmployee',
101
+ :'payment' => :'PayrollPayment',
102
+ :'payment_dates' => :'Array<Date>',
103
+ :'earnings' => :'PayrollEarnings',
104
+ :'deductions' => :'PayrollDeductions',
105
+ :'rounding' => :'String',
106
+ :'generation_place' => :'PayrollPlace',
107
+ :'employer' => :'PayrollEmployer'
108
+ }
109
+ end
110
+
111
+ # List of attributes with nullable: true
112
+ def self.openapi_nullable
113
+ Set.new([
114
+ ])
115
+ end
116
+
117
+ # Returns attribute type mapping
118
+ def self.acceptable_openapi_types
119
+ openapi_types
120
+ end
121
+
122
+ # Returns the nullable attributes
123
+ def self.acceptable_openapi_nullable
124
+ openapi_nullable
125
+ end
126
+
127
+ # Initializes the object
128
+ # @param [Hash] attributes Model attributes in the form of hash
129
+ def initialize(attributes = {})
130
+ if (!attributes.is_a?(Hash))
131
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TrevolGenerado::PayrollInput` initialize method"
132
+ end
133
+
134
+ # check to see if the attribute exists and convert string to symbol for hash key
135
+ acceptable_attribute_map = self.class.acceptable_attribute_map
136
+ attributes = attributes.each_with_object({}) { |(k, v), h|
137
+ if (!acceptable_attribute_map.key?(k.to_sym))
138
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TrevolGenerado::PayrollInput`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
139
+ end
140
+ h[k.to_sym] = v
141
+ }
142
+
143
+ if attributes.key?(:'external_id')
144
+ self.external_id = attributes[:'external_id']
145
+ end
146
+
147
+ if attributes.key?(:'period')
148
+ self.period = attributes[:'period']
149
+ else
150
+ self.period = nil
151
+ end
152
+
153
+ if attributes.key?(:'pay_period')
154
+ self.pay_period = attributes[:'pay_period']
155
+ else
156
+ self.pay_period = nil
157
+ end
158
+
159
+ if attributes.key?(:'currency')
160
+ self.currency = attributes[:'currency']
161
+ end
162
+
163
+ if attributes.key?(:'exchange_rate')
164
+ self.exchange_rate = attributes[:'exchange_rate']
165
+ end
166
+
167
+ if attributes.key?(:'novelty')
168
+ self.novelty = attributes[:'novelty']
169
+ end
170
+
171
+ if attributes.key?(:'notes')
172
+ if (value = attributes[:'notes']).is_a?(Array)
173
+ self.notes = value
174
+ end
175
+ end
176
+
177
+ if attributes.key?(:'employee')
178
+ self.employee = attributes[:'employee']
179
+ else
180
+ self.employee = nil
181
+ end
182
+
183
+ if attributes.key?(:'payment')
184
+ self.payment = attributes[:'payment']
185
+ else
186
+ self.payment = nil
187
+ end
188
+
189
+ if attributes.key?(:'payment_dates')
190
+ if (value = attributes[:'payment_dates']).is_a?(Array)
191
+ self.payment_dates = value
192
+ end
193
+ else
194
+ self.payment_dates = nil
195
+ end
196
+
197
+ if attributes.key?(:'earnings')
198
+ self.earnings = attributes[:'earnings']
199
+ else
200
+ self.earnings = nil
201
+ end
202
+
203
+ if attributes.key?(:'deductions')
204
+ self.deductions = attributes[:'deductions']
205
+ else
206
+ self.deductions = nil
207
+ end
208
+
209
+ if attributes.key?(:'rounding')
210
+ self.rounding = attributes[:'rounding']
211
+ end
212
+
213
+ if attributes.key?(:'generation_place')
214
+ self.generation_place = attributes[:'generation_place']
215
+ end
216
+
217
+ if attributes.key?(:'employer')
218
+ self.employer = attributes[:'employer']
219
+ end
220
+ end
221
+
222
+ # Show invalid properties with the reasons. Usually used together with valid?
223
+ # @return Array for valid properties with the reasons
224
+ def list_invalid_properties
225
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
226
+ invalid_properties = Array.new
227
+ if @period.nil?
228
+ invalid_properties.push('invalid value for "period", period cannot be nil.')
229
+ end
230
+
231
+ if @pay_period.nil?
232
+ invalid_properties.push('invalid value for "pay_period", pay_period cannot be nil.')
233
+ end
234
+
235
+ if @employee.nil?
236
+ invalid_properties.push('invalid value for "employee", employee cannot be nil.')
237
+ end
238
+
239
+ if @payment.nil?
240
+ invalid_properties.push('invalid value for "payment", payment cannot be nil.')
241
+ end
242
+
243
+ if @payment_dates.nil?
244
+ invalid_properties.push('invalid value for "payment_dates", payment_dates cannot be nil.')
245
+ end
246
+
247
+ if @earnings.nil?
248
+ invalid_properties.push('invalid value for "earnings", earnings cannot be nil.')
249
+ end
250
+
251
+ if @deductions.nil?
252
+ invalid_properties.push('invalid value for "deductions", deductions cannot be nil.')
253
+ end
254
+
255
+ invalid_properties
256
+ end
257
+
258
+ # Check to see if the all the properties in the model are valid
259
+ # @return true if the model is valid
260
+ def valid?
261
+ warn '[DEPRECATED] the `valid?` method is obsolete'
262
+ return false if @period.nil?
263
+ return false if @pay_period.nil?
264
+ return false if @employee.nil?
265
+ return false if @payment.nil?
266
+ return false if @payment_dates.nil?
267
+ return false if @earnings.nil?
268
+ return false if @deductions.nil?
269
+ true
270
+ end
271
+
272
+ # Custom attribute writer method with validation
273
+ # @param [Object] period Value to be assigned
274
+ def period=(period)
275
+ if period.nil?
276
+ fail ArgumentError, 'period cannot be nil'
277
+ end
278
+
279
+ @period = period
280
+ end
281
+
282
+ # Custom attribute writer method with validation
283
+ # @param [Object] pay_period Value to be assigned
284
+ def pay_period=(pay_period)
285
+ if pay_period.nil?
286
+ fail ArgumentError, 'pay_period cannot be nil'
287
+ end
288
+
289
+ @pay_period = pay_period
290
+ end
291
+
292
+ # Custom attribute writer method with validation
293
+ # @param [Object] employee Value to be assigned
294
+ def employee=(employee)
295
+ if employee.nil?
296
+ fail ArgumentError, 'employee cannot be nil'
297
+ end
298
+
299
+ @employee = employee
300
+ end
301
+
302
+ # Custom attribute writer method with validation
303
+ # @param [Object] payment Value to be assigned
304
+ def payment=(payment)
305
+ if payment.nil?
306
+ fail ArgumentError, 'payment cannot be nil'
307
+ end
308
+
309
+ @payment = payment
310
+ end
311
+
312
+ # Custom attribute writer method with validation
313
+ # @param [Object] payment_dates Value to be assigned
314
+ def payment_dates=(payment_dates)
315
+ if payment_dates.nil?
316
+ fail ArgumentError, 'payment_dates cannot be nil'
317
+ end
318
+
319
+ @payment_dates = payment_dates
320
+ end
321
+
322
+ # Custom attribute writer method with validation
323
+ # @param [Object] earnings Value to be assigned
324
+ def earnings=(earnings)
325
+ if earnings.nil?
326
+ fail ArgumentError, 'earnings cannot be nil'
327
+ end
328
+
329
+ @earnings = earnings
330
+ end
331
+
332
+ # Custom attribute writer method with validation
333
+ # @param [Object] deductions Value to be assigned
334
+ def deductions=(deductions)
335
+ if deductions.nil?
336
+ fail ArgumentError, 'deductions cannot be nil'
337
+ end
338
+
339
+ @deductions = deductions
340
+ end
341
+
342
+ # Checks equality by comparing each attribute.
343
+ # @param [Object] Object to be compared
344
+ def ==(o)
345
+ return true if self.equal?(o)
346
+ self.class == o.class &&
347
+ external_id == o.external_id &&
348
+ period == o.period &&
349
+ pay_period == o.pay_period &&
350
+ currency == o.currency &&
351
+ exchange_rate == o.exchange_rate &&
352
+ novelty == o.novelty &&
353
+ notes == o.notes &&
354
+ employee == o.employee &&
355
+ payment == o.payment &&
356
+ payment_dates == o.payment_dates &&
357
+ earnings == o.earnings &&
358
+ deductions == o.deductions &&
359
+ rounding == o.rounding &&
360
+ generation_place == o.generation_place &&
361
+ employer == o.employer
362
+ end
363
+
364
+ # @see the `==` method
365
+ # @param [Object] Object to be compared
366
+ def eql?(o)
367
+ self == o
368
+ end
369
+
370
+ # Calculates hash code according to all attributes.
371
+ # @return [Integer] Hash code
372
+ def hash
373
+ [external_id, period, pay_period, currency, exchange_rate, novelty, notes, employee, payment, payment_dates, earnings, deductions, rounding, generation_place, employer].hash
374
+ end
375
+
376
+ # Builds the object from hash
377
+ # @param [Hash] attributes Model attributes in the form of hash
378
+ # @return [Object] Returns the model itself
379
+ def self.build_from_hash(attributes)
380
+ return nil unless attributes.is_a?(Hash)
381
+ attributes = attributes.transform_keys(&:to_sym)
382
+ # include attributes inherited from allOf parents (the nearest declaration wins)
383
+ map = acceptable_attribute_map
384
+ transformed_hash = {}
385
+ acceptable_openapi_types.each_pair do |key, type|
386
+ if attributes.key?(map[key]) && attributes[map[key]].nil?
387
+ transformed_hash["#{key}"] = nil
388
+ elsif type =~ /\AArray<(.*)>/i
389
+ # check to ensure the input is an array given that the attribute
390
+ # is documented as an array but the input is not
391
+ if attributes[map[key]].is_a?(Array)
392
+ transformed_hash["#{key}"] = attributes[map[key]].map { |v| _deserialize($1, v) }
393
+ end
394
+ elsif !attributes[map[key]].nil?
395
+ transformed_hash["#{key}"] = _deserialize(type, attributes[map[key]])
396
+ end
397
+ end
398
+ new(transformed_hash)
399
+ end
400
+
401
+ # Returns the object in the form of hash
402
+ # @return [Hash] Returns the object in the form of hash
403
+ def to_hash
404
+ hash = {}
405
+ # include attributes inherited from allOf parents (the nearest declaration wins)
406
+ self.class.acceptable_attribute_map.each_pair do |attr, param|
407
+ value = self.send(attr)
408
+ if value.nil?
409
+ is_nullable = self.class.acceptable_openapi_nullable.include?(attr)
410
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
411
+ end
412
+
413
+ hash[param] = _to_hash(value)
414
+ end
415
+ hash
416
+ end
417
+
418
+ end
419
+
420
+ end
@@ -0,0 +1,184 @@
1
+ =begin
2
+ #API de Trevol
3
+
4
+ #Trevol API. Documentación: https://platform.trevol.si/docs
5
+
6
+ The version of the OpenAPI document: 2026-10-22
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.26.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module TrevolGenerado
17
+ class PayrollLeaves < ApiModelBase
18
+ attr_accessor :maternity_paternity
19
+
20
+ attr_accessor :paid
21
+
22
+ attr_accessor :unpaid
23
+
24
+ # Attribute mapping from ruby-style variable name to JSON key.
25
+ def self.attribute_map
26
+ {
27
+ :'maternity_paternity' => :'maternity_paternity',
28
+ :'paid' => :'paid',
29
+ :'unpaid' => :'unpaid'
30
+ }
31
+ end
32
+
33
+ # Returns attribute mapping this model knows about
34
+ def self.acceptable_attribute_map
35
+ attribute_map
36
+ end
37
+
38
+ # Returns all the JSON keys this model knows about
39
+ def self.acceptable_attributes
40
+ acceptable_attribute_map.values
41
+ end
42
+
43
+ # Attribute type mapping.
44
+ def self.openapi_types
45
+ {
46
+ :'maternity_paternity' => :'Array<PayrollPaidPeriod>',
47
+ :'paid' => :'Array<PayrollPaidPeriod>',
48
+ :'unpaid' => :'Array<PayrollUnpaidPeriod>'
49
+ }
50
+ end
51
+
52
+ # List of attributes with nullable: true
53
+ def self.openapi_nullable
54
+ Set.new([
55
+ ])
56
+ end
57
+
58
+ # Returns attribute type mapping
59
+ def self.acceptable_openapi_types
60
+ openapi_types
61
+ end
62
+
63
+ # Returns the nullable attributes
64
+ def self.acceptable_openapi_nullable
65
+ openapi_nullable
66
+ end
67
+
68
+ # Initializes the object
69
+ # @param [Hash] attributes Model attributes in the form of hash
70
+ def initialize(attributes = {})
71
+ if (!attributes.is_a?(Hash))
72
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TrevolGenerado::PayrollLeaves` initialize method"
73
+ end
74
+
75
+ # check to see if the attribute exists and convert string to symbol for hash key
76
+ acceptable_attribute_map = self.class.acceptable_attribute_map
77
+ attributes = attributes.each_with_object({}) { |(k, v), h|
78
+ if (!acceptable_attribute_map.key?(k.to_sym))
79
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TrevolGenerado::PayrollLeaves`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
80
+ end
81
+ h[k.to_sym] = v
82
+ }
83
+
84
+ if attributes.key?(:'maternity_paternity')
85
+ if (value = attributes[:'maternity_paternity']).is_a?(Array)
86
+ self.maternity_paternity = value
87
+ end
88
+ end
89
+
90
+ if attributes.key?(:'paid')
91
+ if (value = attributes[:'paid']).is_a?(Array)
92
+ self.paid = value
93
+ end
94
+ end
95
+
96
+ if attributes.key?(:'unpaid')
97
+ if (value = attributes[:'unpaid']).is_a?(Array)
98
+ self.unpaid = value
99
+ end
100
+ end
101
+ end
102
+
103
+ # Show invalid properties with the reasons. Usually used together with valid?
104
+ # @return Array for valid properties with the reasons
105
+ def list_invalid_properties
106
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
107
+ invalid_properties = Array.new
108
+ invalid_properties
109
+ end
110
+
111
+ # Check to see if the all the properties in the model are valid
112
+ # @return true if the model is valid
113
+ def valid?
114
+ warn '[DEPRECATED] the `valid?` method is obsolete'
115
+ true
116
+ end
117
+
118
+ # Checks equality by comparing each attribute.
119
+ # @param [Object] Object to be compared
120
+ def ==(o)
121
+ return true if self.equal?(o)
122
+ self.class == o.class &&
123
+ maternity_paternity == o.maternity_paternity &&
124
+ paid == o.paid &&
125
+ unpaid == o.unpaid
126
+ end
127
+
128
+ # @see the `==` method
129
+ # @param [Object] Object to be compared
130
+ def eql?(o)
131
+ self == o
132
+ end
133
+
134
+ # Calculates hash code according to all attributes.
135
+ # @return [Integer] Hash code
136
+ def hash
137
+ [maternity_paternity, paid, unpaid].hash
138
+ end
139
+
140
+ # Builds the object from hash
141
+ # @param [Hash] attributes Model attributes in the form of hash
142
+ # @return [Object] Returns the model itself
143
+ def self.build_from_hash(attributes)
144
+ return nil unless attributes.is_a?(Hash)
145
+ attributes = attributes.transform_keys(&:to_sym)
146
+ # include attributes inherited from allOf parents (the nearest declaration wins)
147
+ map = acceptable_attribute_map
148
+ transformed_hash = {}
149
+ acceptable_openapi_types.each_pair do |key, type|
150
+ if attributes.key?(map[key]) && attributes[map[key]].nil?
151
+ transformed_hash["#{key}"] = nil
152
+ elsif type =~ /\AArray<(.*)>/i
153
+ # check to ensure the input is an array given that the attribute
154
+ # is documented as an array but the input is not
155
+ if attributes[map[key]].is_a?(Array)
156
+ transformed_hash["#{key}"] = attributes[map[key]].map { |v| _deserialize($1, v) }
157
+ end
158
+ elsif !attributes[map[key]].nil?
159
+ transformed_hash["#{key}"] = _deserialize(type, attributes[map[key]])
160
+ end
161
+ end
162
+ new(transformed_hash)
163
+ end
164
+
165
+ # Returns the object in the form of hash
166
+ # @return [Hash] Returns the object in the form of hash
167
+ def to_hash
168
+ hash = {}
169
+ # include attributes inherited from allOf parents (the nearest declaration wins)
170
+ self.class.acceptable_attribute_map.each_pair do |attr, param|
171
+ value = self.send(attr)
172
+ if value.nil?
173
+ is_nullable = self.class.acceptable_openapi_nullable.include?(attr)
174
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
175
+ end
176
+
177
+ hash[param] = _to_hash(value)
178
+ end
179
+ hash
180
+ end
181
+
182
+ end
183
+
184
+ end