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,409 @@
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 nota de ajuste de un documento soporte (CreditNote 95). Se genera, no se expide: archivos `xml` y `dian_response`.
18
+ class SupportDocumentAdjustment < ApiModelBase
19
+ # sda_…
20
+ attr_accessor :id
21
+
22
+ # Valores conocidos: `support_document_adjustment`.
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`. Valores conocidos: `pending`, `sending`, `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`, `contapyme`.
38
+ attr_accessor :origin
39
+
40
+ attr_accessor :qr
41
+
42
+ attr_accessor :issued_at
43
+
44
+ attr_accessor :items
45
+
46
+ attr_accessor :payment
47
+
48
+ attr_accessor :currency
49
+
50
+ # Montos como texto decimal con 2 decimales, siempre en pesos. Con moneda extranjera, `currency` trae el equivalente.
51
+ attr_accessor :totals
52
+
53
+ attr_accessor :dian
54
+
55
+ # El documento soporte se genera, no se expide: no hay PDF, ZIP ni correo. Solo hay XML y la respuesta de la DIAN.
56
+ attr_accessor :delivery
57
+
58
+ attr_accessor :created_at
59
+
60
+ attr_accessor :updated_at
61
+
62
+ # El código único del documento (CUDS, 96 hex).
63
+ attr_accessor :cuds
64
+
65
+ attr_accessor :seller
66
+
67
+ attr_accessor :notes
68
+
69
+ attr_accessor :references
70
+
71
+ attr_accessor :allowance_charges
72
+
73
+ # Concepto de la nota (tabla 16.2.4): 1 a 5.
74
+ attr_accessor :concept
75
+
76
+ attr_accessor :description
77
+
78
+ attr_accessor :support_document
79
+
80
+ # Attribute mapping from ruby-style variable name to JSON key.
81
+ def self.attribute_map
82
+ {
83
+ :'id' => :'id',
84
+ :'object' => :'object',
85
+ :'environment' => :'environment',
86
+ :'status' => :'status',
87
+ :'number' => :'number',
88
+ :'prefix' => :'prefix',
89
+ :'external_id' => :'external_id',
90
+ :'origin' => :'origin',
91
+ :'qr' => :'qr',
92
+ :'issued_at' => :'issued_at',
93
+ :'items' => :'items',
94
+ :'payment' => :'payment',
95
+ :'currency' => :'currency',
96
+ :'totals' => :'totals',
97
+ :'dian' => :'dian',
98
+ :'delivery' => :'delivery',
99
+ :'created_at' => :'created_at',
100
+ :'updated_at' => :'updated_at',
101
+ :'cuds' => :'cuds',
102
+ :'seller' => :'seller',
103
+ :'notes' => :'notes',
104
+ :'references' => :'references',
105
+ :'allowance_charges' => :'allowance_charges',
106
+ :'concept' => :'concept',
107
+ :'description' => :'description',
108
+ :'support_document' => :'support_document'
109
+ }
110
+ end
111
+
112
+ # Returns attribute mapping this model knows about
113
+ def self.acceptable_attribute_map
114
+ attribute_map
115
+ end
116
+
117
+ # Returns all the JSON keys this model knows about
118
+ def self.acceptable_attributes
119
+ acceptable_attribute_map.values
120
+ end
121
+
122
+ # Attribute type mapping.
123
+ def self.openapi_types
124
+ {
125
+ :'id' => :'String',
126
+ :'object' => :'String',
127
+ :'environment' => :'String',
128
+ :'status' => :'String',
129
+ :'number' => :'String',
130
+ :'prefix' => :'String',
131
+ :'external_id' => :'String',
132
+ :'origin' => :'String',
133
+ :'qr' => :'String',
134
+ :'issued_at' => :'Time',
135
+ :'items' => :'Array<SupportAdjustmentItem>',
136
+ :'payment' => :'Payment',
137
+ :'currency' => :'SupportCurrency',
138
+ :'totals' => :'DocumentTotals',
139
+ :'dian' => :'DianResult',
140
+ :'delivery' => :'SupportDocumentDelivery',
141
+ :'created_at' => :'Time',
142
+ :'updated_at' => :'Time',
143
+ :'cuds' => :'String',
144
+ :'seller' => :'Seller',
145
+ :'notes' => :'Array<String>',
146
+ :'references' => :'References',
147
+ :'allowance_charges' => :'Array<AllowanceCharge>',
148
+ :'concept' => :'String',
149
+ :'description' => :'String',
150
+ :'support_document' => :'SupportDocumentReference'
151
+ }
152
+ end
153
+
154
+ # List of attributes with nullable: true
155
+ def self.openapi_nullable
156
+ Set.new([
157
+ :'number',
158
+ :'prefix',
159
+ :'external_id',
160
+ :'qr',
161
+ :'issued_at',
162
+ :'totals',
163
+ :'updated_at',
164
+ :'cuds',
165
+ ])
166
+ end
167
+
168
+ # Returns attribute type mapping
169
+ def self.acceptable_openapi_types
170
+ openapi_types
171
+ end
172
+
173
+ # Returns the nullable attributes
174
+ def self.acceptable_openapi_nullable
175
+ openapi_nullable
176
+ end
177
+
178
+ # Initializes the object
179
+ # @param [Hash] attributes Model attributes in the form of hash
180
+ def initialize(attributes = {})
181
+ if (!attributes.is_a?(Hash))
182
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TrevolGenerado::SupportDocumentAdjustment` initialize method"
183
+ end
184
+
185
+ # check to see if the attribute exists and convert string to symbol for hash key
186
+ acceptable_attribute_map = self.class.acceptable_attribute_map
187
+ attributes = attributes.each_with_object({}) { |(k, v), h|
188
+ if (!acceptable_attribute_map.key?(k.to_sym))
189
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TrevolGenerado::SupportDocumentAdjustment`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
190
+ end
191
+ h[k.to_sym] = v
192
+ }
193
+
194
+ if attributes.key?(:'id')
195
+ self.id = attributes[:'id']
196
+ end
197
+
198
+ if attributes.key?(:'object')
199
+ self.object = attributes[:'object']
200
+ end
201
+
202
+ if attributes.key?(:'environment')
203
+ self.environment = attributes[:'environment']
204
+ end
205
+
206
+ if attributes.key?(:'status')
207
+ self.status = attributes[:'status']
208
+ end
209
+
210
+ if attributes.key?(:'number')
211
+ self.number = attributes[:'number']
212
+ end
213
+
214
+ if attributes.key?(:'prefix')
215
+ self.prefix = attributes[:'prefix']
216
+ end
217
+
218
+ if attributes.key?(:'external_id')
219
+ self.external_id = attributes[:'external_id']
220
+ end
221
+
222
+ if attributes.key?(:'origin')
223
+ self.origin = attributes[:'origin']
224
+ end
225
+
226
+ if attributes.key?(:'qr')
227
+ self.qr = attributes[:'qr']
228
+ end
229
+
230
+ if attributes.key?(:'issued_at')
231
+ self.issued_at = attributes[:'issued_at']
232
+ end
233
+
234
+ if attributes.key?(:'items')
235
+ if (value = attributes[:'items']).is_a?(Array)
236
+ self.items = value
237
+ end
238
+ end
239
+
240
+ if attributes.key?(:'payment')
241
+ self.payment = attributes[:'payment']
242
+ end
243
+
244
+ if attributes.key?(:'currency')
245
+ self.currency = attributes[:'currency']
246
+ end
247
+
248
+ if attributes.key?(:'totals')
249
+ self.totals = attributes[:'totals']
250
+ end
251
+
252
+ if attributes.key?(:'dian')
253
+ self.dian = attributes[:'dian']
254
+ end
255
+
256
+ if attributes.key?(:'delivery')
257
+ self.delivery = attributes[:'delivery']
258
+ end
259
+
260
+ if attributes.key?(:'created_at')
261
+ self.created_at = attributes[:'created_at']
262
+ end
263
+
264
+ if attributes.key?(:'updated_at')
265
+ self.updated_at = attributes[:'updated_at']
266
+ end
267
+
268
+ if attributes.key?(:'cuds')
269
+ self.cuds = attributes[:'cuds']
270
+ end
271
+
272
+ if attributes.key?(:'seller')
273
+ self.seller = attributes[:'seller']
274
+ end
275
+
276
+ if attributes.key?(:'notes')
277
+ if (value = attributes[:'notes']).is_a?(Array)
278
+ self.notes = value
279
+ end
280
+ end
281
+
282
+ if attributes.key?(:'references')
283
+ self.references = attributes[:'references']
284
+ end
285
+
286
+ if attributes.key?(:'allowance_charges')
287
+ if (value = attributes[:'allowance_charges']).is_a?(Array)
288
+ self.allowance_charges = value
289
+ end
290
+ end
291
+
292
+ if attributes.key?(:'concept')
293
+ self.concept = attributes[:'concept']
294
+ end
295
+
296
+ if attributes.key?(:'description')
297
+ self.description = attributes[:'description']
298
+ end
299
+
300
+ if attributes.key?(:'support_document')
301
+ self.support_document = attributes[:'support_document']
302
+ end
303
+ end
304
+
305
+ # Show invalid properties with the reasons. Usually used together with valid?
306
+ # @return Array for valid properties with the reasons
307
+ def list_invalid_properties
308
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
309
+ invalid_properties = Array.new
310
+ invalid_properties
311
+ end
312
+
313
+ # Check to see if the all the properties in the model are valid
314
+ # @return true if the model is valid
315
+ def valid?
316
+ warn '[DEPRECATED] the `valid?` method is obsolete'
317
+ true
318
+ end
319
+
320
+ # Checks equality by comparing each attribute.
321
+ # @param [Object] Object to be compared
322
+ def ==(o)
323
+ return true if self.equal?(o)
324
+ self.class == o.class &&
325
+ id == o.id &&
326
+ object == o.object &&
327
+ environment == o.environment &&
328
+ status == o.status &&
329
+ number == o.number &&
330
+ prefix == o.prefix &&
331
+ external_id == o.external_id &&
332
+ origin == o.origin &&
333
+ qr == o.qr &&
334
+ issued_at == o.issued_at &&
335
+ items == o.items &&
336
+ payment == o.payment &&
337
+ currency == o.currency &&
338
+ totals == o.totals &&
339
+ dian == o.dian &&
340
+ delivery == o.delivery &&
341
+ created_at == o.created_at &&
342
+ updated_at == o.updated_at &&
343
+ cuds == o.cuds &&
344
+ seller == o.seller &&
345
+ notes == o.notes &&
346
+ references == o.references &&
347
+ allowance_charges == o.allowance_charges &&
348
+ concept == o.concept &&
349
+ description == o.description &&
350
+ support_document == o.support_document
351
+ end
352
+
353
+ # @see the `==` method
354
+ # @param [Object] Object to be compared
355
+ def eql?(o)
356
+ self == o
357
+ end
358
+
359
+ # Calculates hash code according to all attributes.
360
+ # @return [Integer] Hash code
361
+ def hash
362
+ [id, object, environment, status, number, prefix, external_id, origin, qr, issued_at, items, payment, currency, totals, dian, delivery, created_at, updated_at, cuds, seller, notes, references, allowance_charges, concept, description, support_document].hash
363
+ end
364
+
365
+ # Builds the object from hash
366
+ # @param [Hash] attributes Model attributes in the form of hash
367
+ # @return [Object] Returns the model itself
368
+ def self.build_from_hash(attributes)
369
+ return nil unless attributes.is_a?(Hash)
370
+ attributes = attributes.transform_keys(&:to_sym)
371
+ # include attributes inherited from allOf parents (the nearest declaration wins)
372
+ map = acceptable_attribute_map
373
+ transformed_hash = {}
374
+ acceptable_openapi_types.each_pair do |key, type|
375
+ if attributes.key?(map[key]) && attributes[map[key]].nil?
376
+ transformed_hash["#{key}"] = nil
377
+ elsif type =~ /\AArray<(.*)>/i
378
+ # check to ensure the input is an array given that the attribute
379
+ # is documented as an array but the input is not
380
+ if attributes[map[key]].is_a?(Array)
381
+ transformed_hash["#{key}"] = attributes[map[key]].map { |v| _deserialize($1, v) }
382
+ end
383
+ elsif !attributes[map[key]].nil?
384
+ transformed_hash["#{key}"] = _deserialize(type, attributes[map[key]])
385
+ end
386
+ end
387
+ new(transformed_hash)
388
+ end
389
+
390
+ # Returns the object in the form of hash
391
+ # @return [Hash] Returns the object in the form of hash
392
+ def to_hash
393
+ hash = {}
394
+ # include attributes inherited from allOf parents (the nearest declaration wins)
395
+ self.class.acceptable_attribute_map.each_pair do |attr, param|
396
+ value = self.send(attr)
397
+ if value.nil?
398
+ is_nullable = self.class.acceptable_openapi_nullable.include?(attr)
399
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
400
+ end
401
+
402
+ hash[param] = _to_hash(value)
403
+ end
404
+ hash
405
+ end
406
+
407
+ end
408
+
409
+ end