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,187 @@
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 PaymentMethod < ApiModelBase
18
+ # Código (texto).
19
+ attr_accessor :code
20
+
21
+ attr_accessor :reference
22
+
23
+ # Attribute mapping from ruby-style variable name to JSON key.
24
+ def self.attribute_map
25
+ {
26
+ :'code' => :'code',
27
+ :'reference' => :'reference'
28
+ }
29
+ end
30
+
31
+ # Returns attribute mapping this model knows about
32
+ def self.acceptable_attribute_map
33
+ attribute_map
34
+ end
35
+
36
+ # Returns all the JSON keys this model knows about
37
+ def self.acceptable_attributes
38
+ acceptable_attribute_map.values
39
+ end
40
+
41
+ # Attribute type mapping.
42
+ def self.openapi_types
43
+ {
44
+ :'code' => :'String',
45
+ :'reference' => :'String'
46
+ }
47
+ end
48
+
49
+ # List of attributes with nullable: true
50
+ def self.openapi_nullable
51
+ Set.new([
52
+ ])
53
+ end
54
+
55
+ # Returns attribute type mapping
56
+ def self.acceptable_openapi_types
57
+ openapi_types
58
+ end
59
+
60
+ # Returns the nullable attributes
61
+ def self.acceptable_openapi_nullable
62
+ openapi_nullable
63
+ end
64
+
65
+ # Initializes the object
66
+ # @param [Hash] attributes Model attributes in the form of hash
67
+ def initialize(attributes = {})
68
+ if (!attributes.is_a?(Hash))
69
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TrevolGenerado::PaymentMethod` initialize method"
70
+ end
71
+
72
+ # check to see if the attribute exists and convert string to symbol for hash key
73
+ acceptable_attribute_map = self.class.acceptable_attribute_map
74
+ attributes = attributes.each_with_object({}) { |(k, v), h|
75
+ if (!acceptable_attribute_map.key?(k.to_sym))
76
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TrevolGenerado::PaymentMethod`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
77
+ end
78
+ h[k.to_sym] = v
79
+ }
80
+
81
+ if attributes.key?(:'code')
82
+ self.code = attributes[:'code']
83
+ else
84
+ self.code = nil
85
+ end
86
+
87
+ if attributes.key?(:'reference')
88
+ self.reference = attributes[:'reference']
89
+ end
90
+ end
91
+
92
+ # Show invalid properties with the reasons. Usually used together with valid?
93
+ # @return Array for valid properties with the reasons
94
+ def list_invalid_properties
95
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
96
+ invalid_properties = Array.new
97
+ if @code.nil?
98
+ invalid_properties.push('invalid value for "code", code cannot be nil.')
99
+ end
100
+
101
+ invalid_properties
102
+ end
103
+
104
+ # Check to see if the all the properties in the model are valid
105
+ # @return true if the model is valid
106
+ def valid?
107
+ warn '[DEPRECATED] the `valid?` method is obsolete'
108
+ return false if @code.nil?
109
+ true
110
+ end
111
+
112
+ # Custom attribute writer method with validation
113
+ # @param [Object] code Value to be assigned
114
+ def code=(code)
115
+ if code.nil?
116
+ fail ArgumentError, 'code cannot be nil'
117
+ end
118
+
119
+ @code = code
120
+ end
121
+
122
+ # Checks equality by comparing each attribute.
123
+ # @param [Object] Object to be compared
124
+ def ==(o)
125
+ return true if self.equal?(o)
126
+ self.class == o.class &&
127
+ code == o.code &&
128
+ reference == o.reference
129
+ end
130
+
131
+ # @see the `==` method
132
+ # @param [Object] Object to be compared
133
+ def eql?(o)
134
+ self == o
135
+ end
136
+
137
+ # Calculates hash code according to all attributes.
138
+ # @return [Integer] Hash code
139
+ def hash
140
+ [code, reference].hash
141
+ end
142
+
143
+ # Builds the object from hash
144
+ # @param [Hash] attributes Model attributes in the form of hash
145
+ # @return [Object] Returns the model itself
146
+ def self.build_from_hash(attributes)
147
+ return nil unless attributes.is_a?(Hash)
148
+ attributes = attributes.transform_keys(&:to_sym)
149
+ # include attributes inherited from allOf parents (the nearest declaration wins)
150
+ map = acceptable_attribute_map
151
+ transformed_hash = {}
152
+ acceptable_openapi_types.each_pair do |key, type|
153
+ if attributes.key?(map[key]) && attributes[map[key]].nil?
154
+ transformed_hash["#{key}"] = nil
155
+ elsif type =~ /\AArray<(.*)>/i
156
+ # check to ensure the input is an array given that the attribute
157
+ # is documented as an array but the input is not
158
+ if attributes[map[key]].is_a?(Array)
159
+ transformed_hash["#{key}"] = attributes[map[key]].map { |v| _deserialize($1, v) }
160
+ end
161
+ elsif !attributes[map[key]].nil?
162
+ transformed_hash["#{key}"] = _deserialize(type, attributes[map[key]])
163
+ end
164
+ end
165
+ new(transformed_hash)
166
+ end
167
+
168
+ # Returns the object in the form of hash
169
+ # @return [Hash] Returns the object in the form of hash
170
+ def to_hash
171
+ hash = {}
172
+ # include attributes inherited from allOf parents (the nearest declaration wins)
173
+ self.class.acceptable_attribute_map.each_pair do |attr, param|
174
+ value = self.send(attr)
175
+ if value.nil?
176
+ is_nullable = self.class.acceptable_openapi_nullable.include?(attr)
177
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
178
+ end
179
+
180
+ hash[param] = _to_hash(value)
181
+ end
182
+ hash
183
+ end
184
+
185
+ end
186
+
187
+ end
@@ -0,0 +1,455 @@
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
+ # Una nómina electrónica individual (102). Archivos `xml`, `zip` y `dian_response`.
18
+ class Payroll < ApiModelBase
19
+ # pr_…
20
+ attr_accessor :id
21
+
22
+ # Valores conocidos: `payroll`.
23
+ attr_accessor :object
24
+
25
+ # Valores conocidos: `test`, `live`.
26
+ attr_accessor :environment
27
+
28
+ # `validating`: el set de pruebas de la DIAN (habilitación) recibió la nómina y todavía la valida; no es un error, responde 202 en las dos versiones y Trevol solo consulta (nunca reenvía). `processing`: solo en la versión 2026-10-22, la DIAN no contestó y Trevol sigue resolviendo el documento. Valores conocidos: `pending`, `sending`, `validating`, `accepted`, `rejected`, `error`, `processing`.
29
+ attr_accessor :status
30
+
31
+ attr_accessor :number
32
+
33
+ attr_accessor :prefix
34
+
35
+ attr_accessor :external_id
36
+
37
+ # Valores conocidos: `api`, `app`.
38
+ attr_accessor :origin
39
+
40
+ # El código único de la nómina (CUNE, 96 hex).
41
+ attr_accessor :cune
42
+
43
+ attr_accessor :qr
44
+
45
+ attr_accessor :issued_at
46
+
47
+ # `sync`: SendNominaSync; `test_set`: el set de pruebas de habilitación. Valores conocidos: `sync`, `test_set`.
48
+ attr_accessor :submission
49
+
50
+ attr_accessor :period
51
+
52
+ attr_accessor :pay_period
53
+
54
+ attr_accessor :currency
55
+
56
+ # Tasa de cambio a pesos. Obligatoria con una moneda distinta de COP y prohibida con COP.
57
+ attr_accessor :exchange_rate
58
+
59
+ attr_accessor :novelty
60
+
61
+ attr_accessor :notes
62
+
63
+ attr_accessor :employee
64
+
65
+ attr_accessor :payment
66
+
67
+ attr_accessor :payment_dates
68
+
69
+ attr_accessor :earnings
70
+
71
+ attr_accessor :deductions
72
+
73
+ # Redondeo hasta 2.00; no suma a los totales.
74
+ attr_accessor :rounding
75
+
76
+ attr_accessor :generation_place
77
+
78
+ attr_accessor :employer
79
+
80
+ # Montos como texto decimal con 2 decimales. Null en un ajuste Eliminar.
81
+ attr_accessor :totals
82
+
83
+ attr_accessor :dian
84
+
85
+ # Qué archivos hay (…/xml, …/zip, …/dian_response). No hay PDF.
86
+ attr_accessor :files
87
+
88
+ attr_accessor :created_at
89
+
90
+ attr_accessor :updated_at
91
+
92
+ # Attribute mapping from ruby-style variable name to JSON key.
93
+ def self.attribute_map
94
+ {
95
+ :'id' => :'id',
96
+ :'object' => :'object',
97
+ :'environment' => :'environment',
98
+ :'status' => :'status',
99
+ :'number' => :'number',
100
+ :'prefix' => :'prefix',
101
+ :'external_id' => :'external_id',
102
+ :'origin' => :'origin',
103
+ :'cune' => :'cune',
104
+ :'qr' => :'qr',
105
+ :'issued_at' => :'issued_at',
106
+ :'submission' => :'submission',
107
+ :'period' => :'period',
108
+ :'pay_period' => :'pay_period',
109
+ :'currency' => :'currency',
110
+ :'exchange_rate' => :'exchange_rate',
111
+ :'novelty' => :'novelty',
112
+ :'notes' => :'notes',
113
+ :'employee' => :'employee',
114
+ :'payment' => :'payment',
115
+ :'payment_dates' => :'payment_dates',
116
+ :'earnings' => :'earnings',
117
+ :'deductions' => :'deductions',
118
+ :'rounding' => :'rounding',
119
+ :'generation_place' => :'generation_place',
120
+ :'employer' => :'employer',
121
+ :'totals' => :'totals',
122
+ :'dian' => :'dian',
123
+ :'files' => :'files',
124
+ :'created_at' => :'created_at',
125
+ :'updated_at' => :'updated_at'
126
+ }
127
+ end
128
+
129
+ # Returns attribute mapping this model knows about
130
+ def self.acceptable_attribute_map
131
+ attribute_map
132
+ end
133
+
134
+ # Returns all the JSON keys this model knows about
135
+ def self.acceptable_attributes
136
+ acceptable_attribute_map.values
137
+ end
138
+
139
+ # Attribute type mapping.
140
+ def self.openapi_types
141
+ {
142
+ :'id' => :'String',
143
+ :'object' => :'String',
144
+ :'environment' => :'String',
145
+ :'status' => :'String',
146
+ :'number' => :'String',
147
+ :'prefix' => :'String',
148
+ :'external_id' => :'String',
149
+ :'origin' => :'String',
150
+ :'cune' => :'String',
151
+ :'qr' => :'String',
152
+ :'issued_at' => :'Time',
153
+ :'submission' => :'String',
154
+ :'period' => :'PayrollPeriod',
155
+ :'pay_period' => :'String',
156
+ :'currency' => :'String',
157
+ :'exchange_rate' => :'String',
158
+ :'novelty' => :'PayrollNovelty',
159
+ :'notes' => :'Array<String>',
160
+ :'employee' => :'PayrollEmployee',
161
+ :'payment' => :'PayrollPayment',
162
+ :'payment_dates' => :'Array<Date>',
163
+ :'earnings' => :'PayrollEarnings',
164
+ :'deductions' => :'PayrollDeductions',
165
+ :'rounding' => :'String',
166
+ :'generation_place' => :'PayrollPlace',
167
+ :'employer' => :'PayrollEmployer',
168
+ :'totals' => :'PayrollTotals',
169
+ :'dian' => :'DianResult',
170
+ :'files' => :'PayrollFiles',
171
+ :'created_at' => :'Time',
172
+ :'updated_at' => :'Time'
173
+ }
174
+ end
175
+
176
+ # List of attributes with nullable: true
177
+ def self.openapi_nullable
178
+ Set.new([
179
+ :'number',
180
+ :'prefix',
181
+ :'external_id',
182
+ :'cune',
183
+ :'qr',
184
+ :'issued_at',
185
+ :'submission',
186
+ :'totals',
187
+ :'updated_at'
188
+ ])
189
+ end
190
+
191
+ # Returns attribute type mapping
192
+ def self.acceptable_openapi_types
193
+ openapi_types
194
+ end
195
+
196
+ # Returns the nullable attributes
197
+ def self.acceptable_openapi_nullable
198
+ openapi_nullable
199
+ end
200
+
201
+ # Initializes the object
202
+ # @param [Hash] attributes Model attributes in the form of hash
203
+ def initialize(attributes = {})
204
+ if (!attributes.is_a?(Hash))
205
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TrevolGenerado::Payroll` initialize method"
206
+ end
207
+
208
+ # check to see if the attribute exists and convert string to symbol for hash key
209
+ acceptable_attribute_map = self.class.acceptable_attribute_map
210
+ attributes = attributes.each_with_object({}) { |(k, v), h|
211
+ if (!acceptable_attribute_map.key?(k.to_sym))
212
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TrevolGenerado::Payroll`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
213
+ end
214
+ h[k.to_sym] = v
215
+ }
216
+
217
+ if attributes.key?(:'id')
218
+ self.id = attributes[:'id']
219
+ end
220
+
221
+ if attributes.key?(:'object')
222
+ self.object = attributes[:'object']
223
+ end
224
+
225
+ if attributes.key?(:'environment')
226
+ self.environment = attributes[:'environment']
227
+ end
228
+
229
+ if attributes.key?(:'status')
230
+ self.status = attributes[:'status']
231
+ end
232
+
233
+ if attributes.key?(:'number')
234
+ self.number = attributes[:'number']
235
+ end
236
+
237
+ if attributes.key?(:'prefix')
238
+ self.prefix = attributes[:'prefix']
239
+ end
240
+
241
+ if attributes.key?(:'external_id')
242
+ self.external_id = attributes[:'external_id']
243
+ end
244
+
245
+ if attributes.key?(:'origin')
246
+ self.origin = attributes[:'origin']
247
+ end
248
+
249
+ if attributes.key?(:'cune')
250
+ self.cune = attributes[:'cune']
251
+ end
252
+
253
+ if attributes.key?(:'qr')
254
+ self.qr = attributes[:'qr']
255
+ end
256
+
257
+ if attributes.key?(:'issued_at')
258
+ self.issued_at = attributes[:'issued_at']
259
+ end
260
+
261
+ if attributes.key?(:'submission')
262
+ self.submission = attributes[:'submission']
263
+ end
264
+
265
+ if attributes.key?(:'period')
266
+ self.period = attributes[:'period']
267
+ end
268
+
269
+ if attributes.key?(:'pay_period')
270
+ self.pay_period = attributes[:'pay_period']
271
+ end
272
+
273
+ if attributes.key?(:'currency')
274
+ self.currency = attributes[:'currency']
275
+ end
276
+
277
+ if attributes.key?(:'exchange_rate')
278
+ self.exchange_rate = attributes[:'exchange_rate']
279
+ end
280
+
281
+ if attributes.key?(:'novelty')
282
+ self.novelty = attributes[:'novelty']
283
+ end
284
+
285
+ if attributes.key?(:'notes')
286
+ if (value = attributes[:'notes']).is_a?(Array)
287
+ self.notes = value
288
+ end
289
+ end
290
+
291
+ if attributes.key?(:'employee')
292
+ self.employee = attributes[:'employee']
293
+ end
294
+
295
+ if attributes.key?(:'payment')
296
+ self.payment = attributes[:'payment']
297
+ end
298
+
299
+ if attributes.key?(:'payment_dates')
300
+ if (value = attributes[:'payment_dates']).is_a?(Array)
301
+ self.payment_dates = value
302
+ end
303
+ end
304
+
305
+ if attributes.key?(:'earnings')
306
+ self.earnings = attributes[:'earnings']
307
+ end
308
+
309
+ if attributes.key?(:'deductions')
310
+ self.deductions = attributes[:'deductions']
311
+ end
312
+
313
+ if attributes.key?(:'rounding')
314
+ self.rounding = attributes[:'rounding']
315
+ end
316
+
317
+ if attributes.key?(:'generation_place')
318
+ self.generation_place = attributes[:'generation_place']
319
+ end
320
+
321
+ if attributes.key?(:'employer')
322
+ self.employer = attributes[:'employer']
323
+ end
324
+
325
+ if attributes.key?(:'totals')
326
+ self.totals = attributes[:'totals']
327
+ end
328
+
329
+ if attributes.key?(:'dian')
330
+ self.dian = attributes[:'dian']
331
+ end
332
+
333
+ if attributes.key?(:'files')
334
+ self.files = attributes[:'files']
335
+ end
336
+
337
+ if attributes.key?(:'created_at')
338
+ self.created_at = attributes[:'created_at']
339
+ end
340
+
341
+ if attributes.key?(:'updated_at')
342
+ self.updated_at = attributes[:'updated_at']
343
+ end
344
+ end
345
+
346
+ # Show invalid properties with the reasons. Usually used together with valid?
347
+ # @return Array for valid properties with the reasons
348
+ def list_invalid_properties
349
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
350
+ invalid_properties = Array.new
351
+ invalid_properties
352
+ end
353
+
354
+ # Check to see if the all the properties in the model are valid
355
+ # @return true if the model is valid
356
+ def valid?
357
+ warn '[DEPRECATED] the `valid?` method is obsolete'
358
+ true
359
+ end
360
+
361
+ # Checks equality by comparing each attribute.
362
+ # @param [Object] Object to be compared
363
+ def ==(o)
364
+ return true if self.equal?(o)
365
+ self.class == o.class &&
366
+ id == o.id &&
367
+ object == o.object &&
368
+ environment == o.environment &&
369
+ status == o.status &&
370
+ number == o.number &&
371
+ prefix == o.prefix &&
372
+ external_id == o.external_id &&
373
+ origin == o.origin &&
374
+ cune == o.cune &&
375
+ qr == o.qr &&
376
+ issued_at == o.issued_at &&
377
+ submission == o.submission &&
378
+ period == o.period &&
379
+ pay_period == o.pay_period &&
380
+ currency == o.currency &&
381
+ exchange_rate == o.exchange_rate &&
382
+ novelty == o.novelty &&
383
+ notes == o.notes &&
384
+ employee == o.employee &&
385
+ payment == o.payment &&
386
+ payment_dates == o.payment_dates &&
387
+ earnings == o.earnings &&
388
+ deductions == o.deductions &&
389
+ rounding == o.rounding &&
390
+ generation_place == o.generation_place &&
391
+ employer == o.employer &&
392
+ totals == o.totals &&
393
+ dian == o.dian &&
394
+ files == o.files &&
395
+ created_at == o.created_at &&
396
+ updated_at == o.updated_at
397
+ end
398
+
399
+ # @see the `==` method
400
+ # @param [Object] Object to be compared
401
+ def eql?(o)
402
+ self == o
403
+ end
404
+
405
+ # Calculates hash code according to all attributes.
406
+ # @return [Integer] Hash code
407
+ def hash
408
+ [id, object, environment, status, number, prefix, external_id, origin, cune, qr, issued_at, submission, period, pay_period, currency, exchange_rate, novelty, notes, employee, payment, payment_dates, earnings, deductions, rounding, generation_place, employer, totals, dian, files, created_at, updated_at].hash
409
+ end
410
+
411
+ # Builds the object from hash
412
+ # @param [Hash] attributes Model attributes in the form of hash
413
+ # @return [Object] Returns the model itself
414
+ def self.build_from_hash(attributes)
415
+ return nil unless attributes.is_a?(Hash)
416
+ attributes = attributes.transform_keys(&:to_sym)
417
+ # include attributes inherited from allOf parents (the nearest declaration wins)
418
+ map = acceptable_attribute_map
419
+ transformed_hash = {}
420
+ acceptable_openapi_types.each_pair do |key, type|
421
+ if attributes.key?(map[key]) && attributes[map[key]].nil?
422
+ transformed_hash["#{key}"] = nil
423
+ elsif type =~ /\AArray<(.*)>/i
424
+ # check to ensure the input is an array given that the attribute
425
+ # is documented as an array but the input is not
426
+ if attributes[map[key]].is_a?(Array)
427
+ transformed_hash["#{key}"] = attributes[map[key]].map { |v| _deserialize($1, v) }
428
+ end
429
+ elsif !attributes[map[key]].nil?
430
+ transformed_hash["#{key}"] = _deserialize(type, attributes[map[key]])
431
+ end
432
+ end
433
+ new(transformed_hash)
434
+ end
435
+
436
+ # Returns the object in the form of hash
437
+ # @return [Hash] Returns the object in the form of hash
438
+ def to_hash
439
+ hash = {}
440
+ # include attributes inherited from allOf parents (the nearest declaration wins)
441
+ self.class.acceptable_attribute_map.each_pair do |attr, param|
442
+ value = self.send(attr)
443
+ if value.nil?
444
+ is_nullable = self.class.acceptable_openapi_nullable.include?(attr)
445
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
446
+ end
447
+
448
+ hash[param] = _to_hash(value)
449
+ end
450
+ hash
451
+ end
452
+
453
+ end
454
+
455
+ end