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