data-and-reporting-sdk 1.0.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 (178) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +28 -0
  3. data/README.md +104 -0
  4. data/lib/shell_data_reporting_ap_is/api_helper.rb +10 -0
  5. data/lib/shell_data_reporting_ap_is/client.rb +84 -0
  6. data/lib/shell_data_reporting_ap_is/configuration.rb +110 -0
  7. data/lib/shell_data_reporting_ap_is/controllers/base_controller.rb +66 -0
  8. data/lib/shell_data_reporting_ap_is/controllers/customer_controller.rb +478 -0
  9. data/lib/shell_data_reporting_ap_is/controllers/invoice_controller.rb +470 -0
  10. data/lib/shell_data_reporting_ap_is/controllers/o_auth_authorization_controller.rb +42 -0
  11. data/lib/shell_data_reporting_ap_is/controllers/transaction_controller.rb +878 -0
  12. data/lib/shell_data_reporting_ap_is/exceptions/api_exception.rb +10 -0
  13. data/lib/shell_data_reporting_ap_is/exceptions/default_error_exception.rb +32 -0
  14. data/lib/shell_data_reporting_ap_is/exceptions/error_object_exception.rb +54 -0
  15. data/lib/shell_data_reporting_ap_is/exceptions/error_user_access_error1_exception.rb +32 -0
  16. data/lib/shell_data_reporting_ap_is/exceptions/o_auth_provider_exception.rb +48 -0
  17. data/lib/shell_data_reporting_ap_is/http/auth/basic_auth.rb +50 -0
  18. data/lib/shell_data_reporting_ap_is/http/auth/bearer_token.rb +89 -0
  19. data/lib/shell_data_reporting_ap_is/http/http_call_back.rb +10 -0
  20. data/lib/shell_data_reporting_ap_is/http/http_method_enum.rb +10 -0
  21. data/lib/shell_data_reporting_ap_is/http/http_request.rb +10 -0
  22. data/lib/shell_data_reporting_ap_is/http/http_response.rb +10 -0
  23. data/lib/shell_data_reporting_ap_is/models/account_access.rb +128 -0
  24. data/lib/shell_data_reporting_ap_is/models/account_request.rb +252 -0
  25. data/lib/shell_data_reporting_ap_is/models/account_response.rb +111 -0
  26. data/lib/shell_data_reporting_ap_is/models/account_response_accounts_items.rb +750 -0
  27. data/lib/shell_data_reporting_ap_is/models/accounts.rb +65 -0
  28. data/lib/shell_data_reporting_ap_is/models/address.rb +174 -0
  29. data/lib/shell_data_reporting_ap_is/models/associated_account.rb +98 -0
  30. data/lib/shell_data_reporting_ap_is/models/audit_request.rb +256 -0
  31. data/lib/shell_data_reporting_ap_is/models/audit_response.rb +111 -0
  32. data/lib/shell_data_reporting_ap_is/models/audit_response_audits_items.rb +450 -0
  33. data/lib/shell_data_reporting_ap_is/models/bank_account.rb +192 -0
  34. data/lib/shell_data_reporting_ap_is/models/base_model.rb +62 -0
  35. data/lib/shell_data_reporting_ap_is/models/bonus_configuration.rb +419 -0
  36. data/lib/shell_data_reporting_ap_is/models/bonus_history.rb +444 -0
  37. data/lib/shell_data_reporting_ap_is/models/card_day_time_restrictions.rb +159 -0
  38. data/lib/shell_data_reporting_ap_is/models/card_exceptions.rb +268 -0
  39. data/lib/shell_data_reporting_ap_is/models/card_group_request.rb +178 -0
  40. data/lib/shell_data_reporting_ap_is/models/card_group_response.rb +109 -0
  41. data/lib/shell_data_reporting_ap_is/models/card_group_response_card_groups_items.rb +301 -0
  42. data/lib/shell_data_reporting_ap_is/models/card_type_request.rb +145 -0
  43. data/lib/shell_data_reporting_ap_is/models/card_type_response.rb +79 -0
  44. data/lib/shell_data_reporting_ap_is/models/card_type_response_customer_card_types_items.rb +470 -0
  45. data/lib/shell_data_reporting_ap_is/models/card_type_response_error.rb +60 -0
  46. data/lib/shell_data_reporting_ap_is/models/card_usage_restrictions.rb +281 -0
  47. data/lib/shell_data_reporting_ap_is/models/card_usage_summary_request.rb +159 -0
  48. data/lib/shell_data_reporting_ap_is/models/card_usage_summary_response.rb +79 -0
  49. data/lib/shell_data_reporting_ap_is/models/col_co_access.rb +88 -0
  50. data/lib/shell_data_reporting_ap_is/models/current_volume.rb +99 -0
  51. data/lib/shell_data_reporting_ap_is/models/customer_contract.rb +63 -0
  52. data/lib/shell_data_reporting_ap_is/models/customer_detail_request.rb +123 -0
  53. data/lib/shell_data_reporting_ap_is/models/customer_detail_response.rb +437 -0
  54. data/lib/shell_data_reporting_ap_is/models/customer_price_list_request.rb +200 -0
  55. data/lib/shell_data_reporting_ap_is/models/customer_price_list_response.rb +82 -0
  56. data/lib/shell_data_reporting_ap_is/models/default_error_fault.rb +60 -0
  57. data/lib/shell_data_reporting_ap_is/models/default_error_fault_detail.rb +50 -0
  58. data/lib/shell_data_reporting_ap_is/models/delivery_addresses.rb +258 -0
  59. data/lib/shell_data_reporting_ap_is/models/eid_access.rb +75 -0
  60. data/lib/shell_data_reporting_ap_is/models/eid_document.rb +166 -0
  61. data/lib/shell_data_reporting_ap_is/models/eid_document_response.rb +140 -0
  62. data/lib/shell_data_reporting_ap_is/models/eid_download_req.rb +86 -0
  63. data/lib/shell_data_reporting_ap_is/models/eid_download_request.rb +50 -0
  64. data/lib/shell_data_reporting_ap_is/models/eid_search_req.rb +160 -0
  65. data/lib/shell_data_reporting_ap_is/models/eid_search_request.rb +70 -0
  66. data/lib/shell_data_reporting_ap_is/models/error_details.rb +81 -0
  67. data/lib/shell_data_reporting_ap_is/models/error_status.rb +60 -0
  68. data/lib/shell_data_reporting_ap_is/models/error_user_access.rb +50 -0
  69. data/lib/shell_data_reporting_ap_is/models/error_user_access_error.rb +60 -0
  70. data/lib/shell_data_reporting_ap_is/models/exception_product.rb +65 -0
  71. data/lib/shell_data_reporting_ap_is/models/exception_site_location.rb +63 -0
  72. data/lib/shell_data_reporting_ap_is/models/fee_item.rb +977 -0
  73. data/lib/shell_data_reporting_ap_is/models/fee_item_summary_all_of0.rb +194 -0
  74. data/lib/shell_data_reporting_ap_is/models/fee_rule_location.rb +153 -0
  75. data/lib/shell_data_reporting_ap_is/models/fee_rule_product.rb +98 -0
  76. data/lib/shell_data_reporting_ap_is/models/fee_rule_tier.rb +74 -0
  77. data/lib/shell_data_reporting_ap_is/models/fee_summary_response.rb +85 -0
  78. data/lib/shell_data_reporting_ap_is/models/fees_fee_rule_tiers.rb +124 -0
  79. data/lib/shell_data_reporting_ap_is/models/finance_currency.rb +98 -0
  80. data/lib/shell_data_reporting_ap_is/models/fuel_consumption_card.rb +73 -0
  81. data/lib/shell_data_reporting_ap_is/models/fuel_consumption_data.rb +267 -0
  82. data/lib/shell_data_reporting_ap_is/models/fuel_consumption_request.rb +197 -0
  83. data/lib/shell_data_reporting_ap_is/models/fuel_consumption_response.rb +79 -0
  84. data/lib/shell_data_reporting_ap_is/models/invoice_dates_data.rb +62 -0
  85. data/lib/shell_data_reporting_ap_is/models/invoice_dates_request.rb +50 -0
  86. data/lib/shell_data_reporting_ap_is/models/invoice_dates_request_filters.rb +146 -0
  87. data/lib/shell_data_reporting_ap_is/models/invoice_dates_response_data.rb +80 -0
  88. data/lib/shell_data_reporting_ap_is/models/invoice_distribution_method.rb +99 -0
  89. data/lib/shell_data_reporting_ap_is/models/invoice_download_req.rb +99 -0
  90. data/lib/shell_data_reporting_ap_is/models/invoice_download_request.rb +50 -0
  91. data/lib/shell_data_reporting_ap_is/models/invoice_search_additional_document.rb +80 -0
  92. data/lib/shell_data_reporting_ap_is/models/invoice_search_details.rb +913 -0
  93. data/lib/shell_data_reporting_ap_is/models/invoice_search_request.rb +91 -0
  94. data/lib/shell_data_reporting_ap_is/models/invoice_search_request_filters.rb +344 -0
  95. data/lib/shell_data_reporting_ap_is/models/invoice_search_response.rb +127 -0
  96. data/lib/shell_data_reporting_ap_is/models/invoice_summary_details.rb +129 -0
  97. data/lib/shell_data_reporting_ap_is/models/invoice_summary_request.rb +50 -0
  98. data/lib/shell_data_reporting_ap_is/models/invoice_summary_request_filters.rb +345 -0
  99. data/lib/shell_data_reporting_ap_is/models/invoice_summary_response.rb +79 -0
  100. data/lib/shell_data_reporting_ap_is/models/invoices_summaries.rb +221 -0
  101. data/lib/shell_data_reporting_ap_is/models/last_statement_of_account.rb +421 -0
  102. data/lib/shell_data_reporting_ap_is/models/logged_in_user_request.rb +107 -0
  103. data/lib/shell_data_reporting_ap_is/models/logged_in_user_response.rb +394 -0
  104. data/lib/shell_data_reporting_ap_is/models/monthly_invoice_trend.rb +112 -0
  105. data/lib/shell_data_reporting_ap_is/models/multi_priced_transaction_request.rb +360 -0
  106. data/lib/shell_data_reporting_ap_is/models/multi_priced_transaction_request_accounts_items.rb +84 -0
  107. data/lib/shell_data_reporting_ap_is/models/multi_priced_transaction_response.rb +110 -0
  108. data/lib/shell_data_reporting_ap_is/models/multi_priced_transaction_response_transactions_items.rb +1724 -0
  109. data/lib/shell_data_reporting_ap_is/models/o_auth_provider_error_enum.rb +45 -0
  110. data/lib/shell_data_reporting_ap_is/models/o_auth_token.rb +100 -0
  111. data/lib/shell_data_reporting_ap_is/models/past_statement_of_accounts.rb +502 -0
  112. data/lib/shell_data_reporting_ap_is/models/payer_access.rb +147 -0
  113. data/lib/shell_data_reporting_ap_is/models/payer_details.rb +1412 -0
  114. data/lib/shell_data_reporting_ap_is/models/payer_request.rb +126 -0
  115. data/lib/shell_data_reporting_ap_is/models/payer_response.rb +115 -0
  116. data/lib/shell_data_reporting_ap_is/models/payers.rb +109 -0
  117. data/lib/shell_data_reporting_ap_is/models/payments_since_last_soa.rb +322 -0
  118. data/lib/shell_data_reporting_ap_is/models/pin_advice_types.rb +80 -0
  119. data/lib/shell_data_reporting_ap_is/models/price_list.rb +485 -0
  120. data/lib/shell_data_reporting_ap_is/models/price_trans_summary_request.rb +477 -0
  121. data/lib/shell_data_reporting_ap_is/models/price_transaction_request.rb +572 -0
  122. data/lib/shell_data_reporting_ap_is/models/priced_request_data.rb +485 -0
  123. data/lib/shell_data_reporting_ap_is/models/priced_response_data.rb +2132 -0
  124. data/lib/shell_data_reporting_ap_is/models/priced_trans_summary_response.rb +79 -0
  125. data/lib/shell_data_reporting_ap_is/models/priced_trans_summary_response_transactions_summary_items.rb +242 -0
  126. data/lib/shell_data_reporting_ap_is/models/priced_transaction_items_location_items.rb +67 -0
  127. data/lib/shell_data_reporting_ap_is/models/priced_transaction_req_v2_invoice_status_enum.rb +27 -0
  128. data/lib/shell_data_reporting_ap_is/models/priced_transaction_req_v2_period_enum.rb +27 -0
  129. data/lib/shell_data_reporting_ap_is/models/priced_transaction_req_v2_sort_order_enum.rb +37 -0
  130. data/lib/shell_data_reporting_ap_is/models/priced_transaction_request_v2.rb +72 -0
  131. data/lib/shell_data_reporting_ap_is/models/priced_transaction_resp_v2_refund_flag_enum.rb +23 -0
  132. data/lib/shell_data_reporting_ap_is/models/priced_transaction_response.rb +59 -0
  133. data/lib/shell_data_reporting_ap_is/models/priced_transaction_response_transactions_items.rb +1719 -0
  134. data/lib/shell_data_reporting_ap_is/models/priced_transaction_response_v2.rb +110 -0
  135. data/lib/shell_data_reporting_ap_is/models/pricing_current_volume.rb +115 -0
  136. data/lib/shell_data_reporting_ap_is/models/pricing_history.rb +105 -0
  137. data/lib/shell_data_reporting_ap_is/models/purchase_categories.rb +114 -0
  138. data/lib/shell_data_reporting_ap_is/models/recent_transaction_req.rb +217 -0
  139. data/lib/shell_data_reporting_ap_is/models/recent_transaction_request.rb +66 -0
  140. data/lib/shell_data_reporting_ap_is/models/recent_transactions.rb +918 -0
  141. data/lib/shell_data_reporting_ap_is/models/recent_transactions_response.rb +110 -0
  142. data/lib/shell_data_reporting_ap_is/models/role.rb +102 -0
  143. data/lib/shell_data_reporting_ap_is/models/search_doc_req.rb +269 -0
  144. data/lib/shell_data_reporting_ap_is/models/search_documents_invoice.rb +204 -0
  145. data/lib/shell_data_reporting_ap_is/models/search_documents_request.rb +70 -0
  146. data/lib/shell_data_reporting_ap_is/models/search_documents_response.rb +122 -0
  147. data/lib/shell_data_reporting_ap_is/models/search_soa_req.rb +197 -0
  148. data/lib/shell_data_reporting_ap_is/models/search_statement_of_account.rb +220 -0
  149. data/lib/shell_data_reporting_ap_is/models/search_statement_of_account_request.rb +70 -0
  150. data/lib/shell_data_reporting_ap_is/models/search_statement_of_account_response.rb +120 -0
  151. data/lib/shell_data_reporting_ap_is/models/site_location.rb +67 -0
  152. data/lib/shell_data_reporting_ap_is/models/statement_of_account_request.rb +50 -0
  153. data/lib/shell_data_reporting_ap_is/models/statement_of_account_request_filters.rb +197 -0
  154. data/lib/shell_data_reporting_ap_is/models/statement_of_account_resp.rb +138 -0
  155. data/lib/shell_data_reporting_ap_is/models/statement_of_account_response.rb +80 -0
  156. data/lib/shell_data_reporting_ap_is/models/tier.rb +167 -0
  157. data/lib/shell_data_reporting_ap_is/models/transaction_exceptions.rb +1267 -0
  158. data/lib/shell_data_reporting_ap_is/models/transaction_exceptions_request.rb +267 -0
  159. data/lib/shell_data_reporting_ap_is/models/transaction_exceptions_response.rb +100 -0
  160. data/lib/shell_data_reporting_ap_is/models/transaction_fees_request.rb +348 -0
  161. data/lib/shell_data_reporting_ap_is/models/transaction_fees_response.rb +111 -0
  162. data/lib/shell_data_reporting_ap_is/models/update_odometer.rb +62 -0
  163. data/lib/shell_data_reporting_ap_is/models/update_odometer_reference.rb +67 -0
  164. data/lib/shell_data_reporting_ap_is/models/update_odometer_request.rb +146 -0
  165. data/lib/shell_data_reporting_ap_is/models/update_odometer_response.rb +93 -0
  166. data/lib/shell_data_reporting_ap_is/models/usage_summary.rb +202 -0
  167. data/lib/shell_data_reporting_ap_is/models/volume_based_bonus_request.rb +118 -0
  168. data/lib/shell_data_reporting_ap_is/models/volume_based_bonus_response.rb +120 -0
  169. data/lib/shell_data_reporting_ap_is/models/volume_based_pricing_request.rb +103 -0
  170. data/lib/shell_data_reporting_ap_is/models/volume_based_pricing_response.rb +120 -0
  171. data/lib/shell_data_reporting_ap_is/utilities/date_time_helper.rb +11 -0
  172. data/lib/shell_data_reporting_ap_is/utilities/file_wrapper.rb +16 -0
  173. data/lib/shell_data_reporting_ap_is.rb +229 -0
  174. data/test/controllers/controller_test_base.rb +34 -0
  175. data/test/controllers/test_invoice_controller.rb +398 -0
  176. data/test/controllers/test_transaction_controller.rb +235 -0
  177. data/test/http_response_catcher.rb +19 -0
  178. metadata +302 -0
@@ -0,0 +1,977 @@
1
+ # shell_data_reporting_ap_is
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module ShellDataReportingApIs
7
+ # FeeItem Model.
8
+ class FeeItem < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Fee Item unique identifier in the H3 Cards Platform
13
+ # @return [Integer]
14
+ attr_accessor :fee_item_id
15
+
16
+ # Account Id
17
+ # @return [Integer]
18
+ attr_accessor :account_id
19
+
20
+ # Account Number
21
+ # @return [String]
22
+ attr_accessor :account_number
23
+
24
+ # Account short Number
25
+ # @return [String]
26
+ attr_accessor :account_short_name
27
+
28
+ # Invoice Account Id
29
+ # @return [Integer]
30
+ attr_accessor :invoice_account_id
31
+
32
+ # Invoice Account Number
33
+ # @return [String]
34
+ attr_accessor :invoice_account_number
35
+
36
+ # Invoice Account short Name
37
+ # @return [String]
38
+ attr_accessor :invoice_account_short_name
39
+
40
+ # Payer Id
41
+ # @return [Integer]
42
+ attr_accessor :payer_id
43
+
44
+ # Payer Number
45
+ # @return [String]
46
+ attr_accessor :payer_number
47
+
48
+ # Payer short Name
49
+ # @return [String]
50
+ attr_accessor :payer_short_name
51
+
52
+ # Unique Card Id
53
+ # @return [Integer]
54
+ attr_accessor :card_id
55
+
56
+ # Card PAN
57
+ # @return [String]
58
+ attr_accessor :pan
59
+
60
+ # Card Group Id
61
+ # @return [Integer]
62
+ attr_accessor :card_group_id
63
+
64
+ # Card Group Name
65
+ # @return [String]
66
+ attr_accessor :card_group_name
67
+
68
+ # Fee type identifier.
69
+ # @return [Integer]
70
+ attr_accessor :fee_type_id
71
+
72
+ # Fee type description
73
+ # @return [String]
74
+ attr_accessor :fee_type
75
+
76
+ # Fee type group in under which the Fee item is generated.
77
+ # Example:
78
+ # Account
79
+ # Card
80
+ # Others
81
+ # @return [String]
82
+ attr_accessor :fee_type_group
83
+
84
+ # Fee rule identifier
85
+ # @return [Integer]
86
+ attr_accessor :fee_rule_id
87
+
88
+ # Fee rule description
89
+ # @return [String]
90
+ attr_accessor :fee_rule_description
91
+
92
+ # Fee rule description
93
+ # @return [Array[FeesFeeRuleTiers]]
94
+ attr_accessor :fee_rule_tiers
95
+
96
+ # Local Fee Item Date of when the transaction took place
97
+ # Format: yyyyMMdd
98
+ # @return [String]
99
+ attr_accessor :fee_item_date
100
+
101
+ # Local Fee Item Time of where the transaction took place
102
+ # Format: HH:mm:ss (24 hours format)
103
+ # @return [String]
104
+ attr_accessor :fee_item_time
105
+
106
+ # True/False.
107
+ # Is manual
108
+ # @return [TrueClass | FalseClass]
109
+ attr_accessor :is_manual
110
+
111
+ # True/False.
112
+ # Is cancelled
113
+ # @return [TrueClass | FalseClass]
114
+ attr_accessor :is_cancelled
115
+
116
+ # ISO currency code
117
+ # Example: GBP
118
+ # @return [String]
119
+ attr_accessor :customer_currency_code
120
+
121
+ # Currency symbol of the Currency Code
122
+ # Example: £, $
123
+ # @return [String]
124
+ attr_accessor :customer_currency_symbol
125
+
126
+ # Product Id
127
+ # Example: Sample list of product ids and description.
128
+ # 100 Service fee
129
+ # 102 Invoice production fee
130
+ # 103 Account fee
131
+ # 104 Transaction fee
132
+ # 105 Card membership fee
133
+ # @return [Integer]
134
+ attr_accessor :product_id
135
+
136
+ # Product Code – Global as per GFN configuration
137
+ # Example:
138
+ # 2 Service fee
139
+ # 4 Invoice production fee
140
+ # 5 Account fee
141
+ # 6 Transaction fee
142
+ # 7 Card membership fee
143
+ # @return [String]
144
+ attr_accessor :product_code
145
+
146
+ # Product Name
147
+ # Example: Sample list of product ids and description.
148
+ # Service fee
149
+ # Invoice production fee
150
+ # @return [String]
151
+ attr_accessor :product_name
152
+
153
+ # Product Group Id
154
+ # Example: Sample list
155
+ # 22 Card related fees
156
+ # 23 Monetary Adjustment
157
+ # @return [Integer]
158
+ attr_accessor :product_group_id
159
+
160
+ # Product Group Name
161
+ # Example: Sample list
162
+ # 22 Card related fees
163
+ # 23 Monetary Adjustment
164
+ # @return [String]
165
+ attr_accessor :product_group_name
166
+
167
+ # Line Item Description generally the quantity as printed on Invoice or the
168
+ # manually keyed in description for manual fees
169
+ # @return [String]
170
+ attr_accessor :line_item_description
171
+
172
+ # Quantity
173
+ # @return [Integer]
174
+ attr_accessor :quantity
175
+
176
+ # True/False.
177
+ # Is fee item invoiced
178
+ # @return [TrueClass | FalseClass]
179
+ attr_accessor :is_invoiced
180
+
181
+ # VAT country ISO code
182
+ # @return [String]
183
+ attr_accessor :vat_country_code
184
+
185
+ # VAT country name
186
+ # @return [String]
187
+ attr_accessor :vat_country_name
188
+
189
+ # VAT percentage
190
+ # @return [Float]
191
+ attr_accessor :vat_percentage
192
+
193
+ # VAT Category identifier
194
+ # @return [Integer]
195
+ attr_accessor :vat_category_id
196
+
197
+ # VAT Category description
198
+ # @return [String]
199
+ attr_accessor :vat_category_description
200
+
201
+ # Legislative region id
202
+ # @return [Integer]
203
+ attr_accessor :legislative_region_id
204
+
205
+ # Legislative region name
206
+ # @return [String]
207
+ attr_accessor :legislative_region_name
208
+
209
+ # System entry date
210
+ # @return [String]
211
+ attr_accessor :system_entry_date
212
+
213
+ # System entry time
214
+ # @return [String]
215
+ attr_accessor :system_entry_time
216
+
217
+ # ColCo net amount
218
+ # @return [Float]
219
+ attr_accessor :col_co_net_amount
220
+
221
+ # ColCoVAT amount
222
+ # @return [Float]
223
+ attr_accessor :col_co_vat_amount
224
+
225
+ # ColCo gross amount
226
+ # @return [Float]
227
+ attr_accessor :col_co_gross_amount
228
+
229
+ # Interim invoice id
230
+ # @return [Integer]
231
+ attr_accessor :interim_invoice_id
232
+
233
+ # Interim invoice number
234
+ # @return [String]
235
+ attr_accessor :interim_invoice_number
236
+
237
+ # Invoice id
238
+ # @return [Integer]
239
+ attr_accessor :invoice_id
240
+
241
+ # Invoice number
242
+ # @return [String]
243
+ attr_accessor :invoice_number
244
+
245
+ # Invoice date
246
+ # Format: yyyyMMdd
247
+ # @return [String]
248
+ attr_accessor :invoice_date
249
+
250
+ # Customer exchange rate
251
+ # @return [Float]
252
+ attr_accessor :customer_exchange_rate
253
+
254
+ # Invoice net amount
255
+ # @return [Float]
256
+ attr_accessor :invoice_net_amount
257
+
258
+ # Invoice gross amount
259
+ # @return [Float]
260
+ attr_accessor :invoice_gross_amount
261
+
262
+ # Invoice VAT amount
263
+ # @return [Float]
264
+ attr_accessor :invoice_vat_amount
265
+
266
+ # True/False.
267
+ # Reverse charge.
268
+ # @return [TrueClass | FalseClass]
269
+ attr_accessor :reverse_charge
270
+
271
+ # Original Fee Item id.
272
+ # @return [Integer]
273
+ attr_accessor :original_fee_item_id
274
+
275
+ # Original FeeItem Currency ISO code.
276
+ # @return [String]
277
+ attr_accessor :original_currency_code
278
+
279
+ # Original FeeItem currency symbol
280
+ # @return [String]
281
+ attr_accessor :original_currency_symbol
282
+
283
+ # Original FeeItem unit price
284
+ # @return [Float]
285
+ attr_accessor :original_unit_price
286
+
287
+ # Original FeeItem net amount
288
+ # @return [Float]
289
+ attr_accessor :original_net_amount
290
+
291
+ # Original FeeItem VAT amount
292
+ # @return [Float]
293
+ attr_accessor :original_vat_amount
294
+
295
+ # Original FeeItem gross amount
296
+ # @return [Float]
297
+ attr_accessor :original_gross_amount
298
+
299
+ # Original FeeItem exchange rate
300
+ # @return [Float]
301
+ attr_accessor :original_exchange_rate
302
+
303
+ # Original legislative region id
304
+ # @return [Integer]
305
+ attr_accessor :original_legislative_region_id
306
+
307
+ # Original legislative region name
308
+ # @return [String]
309
+ attr_accessor :original_legislative_region_name
310
+
311
+ # Fee frequency derived from Fee rules if applicable
312
+ # Returns ID-Description in one field
313
+ # Example:
314
+ # 1- Daily (all days)
315
+ # 2-Daily (only working days)
316
+ # 3-Weekly – Monday
317
+ # 4-Weekly - Tuesday
318
+ # @return [String]
319
+ attr_accessor :frequency
320
+
321
+ # Fee breakup at card level for Fee Items where applicable.
322
+ # @return [String]
323
+ attr_accessor :fee_item_card_level_breakup
324
+
325
+ # Invoice Id/ Billing Document Id of the original fee item (when not null).
326
+ # Applicable only for fee items that are refund to an original fee item that
327
+ # is already invoiced.
328
+ # @return [Integer]
329
+ attr_accessor :original_fee_item_invoice_id
330
+
331
+ # Invoice Number of the original fee item (when not null).
332
+ # Applicable only for fee items that are refund to an original fee item that
333
+ # is already invoiced.
334
+ # @return [String]
335
+ attr_accessor :original_fee_item_invoice_number
336
+
337
+ # Invoice Date of the original fee item (when not null).
338
+ # Applicable only for fee items that are refund to an original fee item that
339
+ # is already invoiced.
340
+ # Format: yyyyMMdd
341
+ # @return [String]
342
+ attr_accessor :original_fee_item_invoice_date
343
+
344
+ # Driver name embossed on the Card
345
+ # @return [String]
346
+ attr_accessor :driver_name
347
+
348
+ # Text embossed on the Card
349
+ # @return [String]
350
+ attr_accessor :emboss_text
351
+
352
+ # Reg. Number embossed on the Card
353
+ # @return [String]
354
+ attr_accessor :vrn
355
+
356
+ # A mapping from model property names to API property names.
357
+ def self.names
358
+ @_hash = {} if @_hash.nil?
359
+ @_hash['fee_item_id'] = 'FeeItemId'
360
+ @_hash['account_id'] = 'AccountId'
361
+ @_hash['account_number'] = 'AccountNumber'
362
+ @_hash['account_short_name'] = 'AccountShortName'
363
+ @_hash['invoice_account_id'] = 'InvoiceAccountId'
364
+ @_hash['invoice_account_number'] = 'InvoiceAccountNumber'
365
+ @_hash['invoice_account_short_name'] = 'InvoiceAccountShortName'
366
+ @_hash['payer_id'] = 'PayerId'
367
+ @_hash['payer_number'] = 'PayerNumber'
368
+ @_hash['payer_short_name'] = 'PayerShortName'
369
+ @_hash['card_id'] = 'CardId'
370
+ @_hash['pan'] = 'PAN'
371
+ @_hash['card_group_id'] = 'CardGroupId'
372
+ @_hash['card_group_name'] = 'CardGroupName'
373
+ @_hash['fee_type_id'] = 'FeeTypeId'
374
+ @_hash['fee_type'] = 'FeeType'
375
+ @_hash['fee_type_group'] = 'FeeTypeGroup'
376
+ @_hash['fee_rule_id'] = 'FeeRuleId'
377
+ @_hash['fee_rule_description'] = 'FeeRuleDescription'
378
+ @_hash['fee_rule_tiers'] = 'FeeRuleTiers'
379
+ @_hash['fee_item_date'] = 'FeeItemDate'
380
+ @_hash['fee_item_time'] = 'FeeItemTime'
381
+ @_hash['is_manual'] = 'IsManual'
382
+ @_hash['is_cancelled'] = 'IsCancelled'
383
+ @_hash['customer_currency_code'] = 'CustomerCurrencyCode'
384
+ @_hash['customer_currency_symbol'] = 'CustomerCurrencySymbol'
385
+ @_hash['product_id'] = 'ProductId'
386
+ @_hash['product_code'] = 'ProductCode'
387
+ @_hash['product_name'] = 'ProductName'
388
+ @_hash['product_group_id'] = 'ProductGroupId'
389
+ @_hash['product_group_name'] = 'ProductGroupName'
390
+ @_hash['line_item_description'] = 'LineItemDescription'
391
+ @_hash['quantity'] = 'Quantity'
392
+ @_hash['is_invoiced'] = 'IsInvoiced'
393
+ @_hash['vat_country_code'] = 'VATCountryCode'
394
+ @_hash['vat_country_name'] = 'VATCountryName'
395
+ @_hash['vat_percentage'] = 'VATPercentage'
396
+ @_hash['vat_category_id'] = 'VATCategoryID'
397
+ @_hash['vat_category_description'] = 'VATCategoryDescription'
398
+ @_hash['legislative_region_id'] = 'LegislativeRegionId'
399
+ @_hash['legislative_region_name'] = 'LegislativeRegionName'
400
+ @_hash['system_entry_date'] = 'SystemEntryDate'
401
+ @_hash['system_entry_time'] = 'SystemEntryTime'
402
+ @_hash['col_co_net_amount'] = 'ColCoNetAmount'
403
+ @_hash['col_co_vat_amount'] = 'ColCoVATAmount'
404
+ @_hash['col_co_gross_amount'] = 'ColCoGrossAmount'
405
+ @_hash['interim_invoice_id'] = 'InterimInvoiceId'
406
+ @_hash['interim_invoice_number'] = 'InterimInvoiceNumber'
407
+ @_hash['invoice_id'] = 'InvoiceId'
408
+ @_hash['invoice_number'] = 'InvoiceNumber'
409
+ @_hash['invoice_date'] = 'InvoiceDate'
410
+ @_hash['customer_exchange_rate'] = 'CustomerExchangeRate'
411
+ @_hash['invoice_net_amount'] = 'InvoiceNetAmount'
412
+ @_hash['invoice_gross_amount'] = 'InvoiceGrossAmount'
413
+ @_hash['invoice_vat_amount'] = 'InvoiceVATAmount'
414
+ @_hash['reverse_charge'] = 'ReverseCharge'
415
+ @_hash['original_fee_item_id'] = 'OriginalFeeItemId'
416
+ @_hash['original_currency_code'] = 'OriginalCurrencyCode'
417
+ @_hash['original_currency_symbol'] = 'OriginalCurrencySymbol'
418
+ @_hash['original_unit_price'] = 'OriginalUnitPrice'
419
+ @_hash['original_net_amount'] = 'OriginalNetAmount'
420
+ @_hash['original_vat_amount'] = 'OriginalVATAmount'
421
+ @_hash['original_gross_amount'] = 'OriginalGrossAmount'
422
+ @_hash['original_exchange_rate'] = 'OriginalExchangeRate'
423
+ @_hash['original_legislative_region_id'] = 'OriginalLegislativeRegionId'
424
+ @_hash['original_legislative_region_name'] =
425
+ 'OriginalLegislativeRegionName'
426
+ @_hash['frequency'] = 'Frequency'
427
+ @_hash['fee_item_card_level_breakup'] = 'FeeItemCardLevelBreakup'
428
+ @_hash['original_fee_item_invoice_id'] = 'OriginalFeeItemInvoiceId'
429
+ @_hash['original_fee_item_invoice_number'] =
430
+ 'OriginalFeeItemInvoiceNumber'
431
+ @_hash['original_fee_item_invoice_date'] = 'OriginalFeeItemInvoiceDate'
432
+ @_hash['driver_name'] = 'DriverName'
433
+ @_hash['emboss_text'] = 'EmbossText'
434
+ @_hash['vrn'] = 'VRN'
435
+ @_hash
436
+ end
437
+
438
+ # An array for optional fields
439
+ def self.optionals
440
+ %w[
441
+ fee_item_id
442
+ account_id
443
+ account_number
444
+ account_short_name
445
+ invoice_account_id
446
+ invoice_account_number
447
+ invoice_account_short_name
448
+ payer_id
449
+ payer_number
450
+ payer_short_name
451
+ card_id
452
+ pan
453
+ card_group_id
454
+ card_group_name
455
+ fee_type_id
456
+ fee_type
457
+ fee_type_group
458
+ fee_rule_id
459
+ fee_rule_description
460
+ fee_rule_tiers
461
+ fee_item_date
462
+ fee_item_time
463
+ is_manual
464
+ is_cancelled
465
+ customer_currency_code
466
+ customer_currency_symbol
467
+ product_id
468
+ product_code
469
+ product_name
470
+ product_group_id
471
+ product_group_name
472
+ line_item_description
473
+ quantity
474
+ is_invoiced
475
+ vat_country_code
476
+ vat_country_name
477
+ vat_percentage
478
+ vat_category_id
479
+ vat_category_description
480
+ legislative_region_id
481
+ legislative_region_name
482
+ system_entry_date
483
+ system_entry_time
484
+ col_co_net_amount
485
+ col_co_vat_amount
486
+ col_co_gross_amount
487
+ interim_invoice_id
488
+ interim_invoice_number
489
+ invoice_id
490
+ invoice_number
491
+ invoice_date
492
+ customer_exchange_rate
493
+ invoice_net_amount
494
+ invoice_gross_amount
495
+ invoice_vat_amount
496
+ reverse_charge
497
+ original_fee_item_id
498
+ original_currency_code
499
+ original_currency_symbol
500
+ original_unit_price
501
+ original_net_amount
502
+ original_vat_amount
503
+ original_gross_amount
504
+ original_exchange_rate
505
+ original_legislative_region_id
506
+ original_legislative_region_name
507
+ frequency
508
+ fee_item_card_level_breakup
509
+ original_fee_item_invoice_id
510
+ original_fee_item_invoice_number
511
+ original_fee_item_invoice_date
512
+ driver_name
513
+ emboss_text
514
+ vrn
515
+ ]
516
+ end
517
+
518
+ # An array for nullable fields
519
+ def self.nullables
520
+ %w[
521
+ fee_item_id
522
+ account_id
523
+ account_number
524
+ account_short_name
525
+ invoice_account_id
526
+ invoice_account_number
527
+ invoice_account_short_name
528
+ payer_id
529
+ payer_number
530
+ payer_short_name
531
+ card_id
532
+ pan
533
+ card_group_id
534
+ card_group_name
535
+ fee_type_id
536
+ fee_type
537
+ fee_type_group
538
+ fee_rule_id
539
+ fee_rule_description
540
+ fee_item_date
541
+ fee_item_time
542
+ is_manual
543
+ is_cancelled
544
+ customer_currency_code
545
+ customer_currency_symbol
546
+ product_id
547
+ product_code
548
+ product_name
549
+ product_group_id
550
+ product_group_name
551
+ line_item_description
552
+ quantity
553
+ is_invoiced
554
+ vat_country_code
555
+ vat_country_name
556
+ vat_percentage
557
+ vat_category_id
558
+ vat_category_description
559
+ legislative_region_id
560
+ legislative_region_name
561
+ system_entry_date
562
+ system_entry_time
563
+ col_co_net_amount
564
+ col_co_vat_amount
565
+ col_co_gross_amount
566
+ interim_invoice_id
567
+ interim_invoice_number
568
+ invoice_id
569
+ invoice_number
570
+ invoice_date
571
+ customer_exchange_rate
572
+ invoice_net_amount
573
+ invoice_gross_amount
574
+ invoice_vat_amount
575
+ reverse_charge
576
+ original_fee_item_id
577
+ original_currency_code
578
+ original_currency_symbol
579
+ original_unit_price
580
+ original_net_amount
581
+ original_vat_amount
582
+ original_gross_amount
583
+ original_exchange_rate
584
+ original_legislative_region_id
585
+ original_legislative_region_name
586
+ frequency
587
+ fee_item_card_level_breakup
588
+ original_fee_item_invoice_id
589
+ original_fee_item_invoice_number
590
+ original_fee_item_invoice_date
591
+ driver_name
592
+ emboss_text
593
+ vrn
594
+ ]
595
+ end
596
+
597
+ def initialize(fee_item_id = SKIP,
598
+ account_id = SKIP,
599
+ account_number = SKIP,
600
+ account_short_name = SKIP,
601
+ invoice_account_id = SKIP,
602
+ invoice_account_number = SKIP,
603
+ invoice_account_short_name = SKIP,
604
+ payer_id = SKIP,
605
+ payer_number = SKIP,
606
+ payer_short_name = SKIP,
607
+ card_id = SKIP,
608
+ pan = SKIP,
609
+ card_group_id = SKIP,
610
+ card_group_name = SKIP,
611
+ fee_type_id = SKIP,
612
+ fee_type = SKIP,
613
+ fee_type_group = SKIP,
614
+ fee_rule_id = SKIP,
615
+ fee_rule_description = SKIP,
616
+ fee_rule_tiers = SKIP,
617
+ fee_item_date = SKIP,
618
+ fee_item_time = SKIP,
619
+ is_manual = SKIP,
620
+ is_cancelled = SKIP,
621
+ customer_currency_code = SKIP,
622
+ customer_currency_symbol = SKIP,
623
+ product_id = SKIP,
624
+ product_code = SKIP,
625
+ product_name = SKIP,
626
+ product_group_id = SKIP,
627
+ product_group_name = SKIP,
628
+ line_item_description = SKIP,
629
+ quantity = SKIP,
630
+ is_invoiced = SKIP,
631
+ vat_country_code = SKIP,
632
+ vat_country_name = SKIP,
633
+ vat_percentage = SKIP,
634
+ vat_category_id = SKIP,
635
+ vat_category_description = SKIP,
636
+ legislative_region_id = SKIP,
637
+ legislative_region_name = SKIP,
638
+ system_entry_date = SKIP,
639
+ system_entry_time = SKIP,
640
+ col_co_net_amount = SKIP,
641
+ col_co_vat_amount = SKIP,
642
+ col_co_gross_amount = SKIP,
643
+ interim_invoice_id = SKIP,
644
+ interim_invoice_number = SKIP,
645
+ invoice_id = SKIP,
646
+ invoice_number = SKIP,
647
+ invoice_date = SKIP,
648
+ customer_exchange_rate = SKIP,
649
+ invoice_net_amount = SKIP,
650
+ invoice_gross_amount = SKIP,
651
+ invoice_vat_amount = SKIP,
652
+ reverse_charge = SKIP,
653
+ original_fee_item_id = SKIP,
654
+ original_currency_code = SKIP,
655
+ original_currency_symbol = SKIP,
656
+ original_unit_price = SKIP,
657
+ original_net_amount = SKIP,
658
+ original_vat_amount = SKIP,
659
+ original_gross_amount = SKIP,
660
+ original_exchange_rate = SKIP,
661
+ original_legislative_region_id = SKIP,
662
+ original_legislative_region_name = SKIP,
663
+ frequency = SKIP,
664
+ fee_item_card_level_breakup = SKIP,
665
+ original_fee_item_invoice_id = SKIP,
666
+ original_fee_item_invoice_number = SKIP,
667
+ original_fee_item_invoice_date = SKIP,
668
+ driver_name = SKIP,
669
+ emboss_text = SKIP,
670
+ vrn = SKIP)
671
+ @fee_item_id = fee_item_id unless fee_item_id == SKIP
672
+ @account_id = account_id unless account_id == SKIP
673
+ @account_number = account_number unless account_number == SKIP
674
+ @account_short_name = account_short_name unless account_short_name == SKIP
675
+ @invoice_account_id = invoice_account_id unless invoice_account_id == SKIP
676
+ @invoice_account_number = invoice_account_number unless invoice_account_number == SKIP
677
+ unless invoice_account_short_name == SKIP
678
+ @invoice_account_short_name =
679
+ invoice_account_short_name
680
+ end
681
+ @payer_id = payer_id unless payer_id == SKIP
682
+ @payer_number = payer_number unless payer_number == SKIP
683
+ @payer_short_name = payer_short_name unless payer_short_name == SKIP
684
+ @card_id = card_id unless card_id == SKIP
685
+ @pan = pan unless pan == SKIP
686
+ @card_group_id = card_group_id unless card_group_id == SKIP
687
+ @card_group_name = card_group_name unless card_group_name == SKIP
688
+ @fee_type_id = fee_type_id unless fee_type_id == SKIP
689
+ @fee_type = fee_type unless fee_type == SKIP
690
+ @fee_type_group = fee_type_group unless fee_type_group == SKIP
691
+ @fee_rule_id = fee_rule_id unless fee_rule_id == SKIP
692
+ @fee_rule_description = fee_rule_description unless fee_rule_description == SKIP
693
+ @fee_rule_tiers = fee_rule_tiers unless fee_rule_tiers == SKIP
694
+ @fee_item_date = fee_item_date unless fee_item_date == SKIP
695
+ @fee_item_time = fee_item_time unless fee_item_time == SKIP
696
+ @is_manual = is_manual unless is_manual == SKIP
697
+ @is_cancelled = is_cancelled unless is_cancelled == SKIP
698
+ @customer_currency_code = customer_currency_code unless customer_currency_code == SKIP
699
+ @customer_currency_symbol = customer_currency_symbol unless customer_currency_symbol == SKIP
700
+ @product_id = product_id unless product_id == SKIP
701
+ @product_code = product_code unless product_code == SKIP
702
+ @product_name = product_name unless product_name == SKIP
703
+ @product_group_id = product_group_id unless product_group_id == SKIP
704
+ @product_group_name = product_group_name unless product_group_name == SKIP
705
+ @line_item_description = line_item_description unless line_item_description == SKIP
706
+ @quantity = quantity unless quantity == SKIP
707
+ @is_invoiced = is_invoiced unless is_invoiced == SKIP
708
+ @vat_country_code = vat_country_code unless vat_country_code == SKIP
709
+ @vat_country_name = vat_country_name unless vat_country_name == SKIP
710
+ @vat_percentage = vat_percentage unless vat_percentage == SKIP
711
+ @vat_category_id = vat_category_id unless vat_category_id == SKIP
712
+ @vat_category_description = vat_category_description unless vat_category_description == SKIP
713
+ @legislative_region_id = legislative_region_id unless legislative_region_id == SKIP
714
+ @legislative_region_name = legislative_region_name unless legislative_region_name == SKIP
715
+ @system_entry_date = system_entry_date unless system_entry_date == SKIP
716
+ @system_entry_time = system_entry_time unless system_entry_time == SKIP
717
+ @col_co_net_amount = col_co_net_amount unless col_co_net_amount == SKIP
718
+ @col_co_vat_amount = col_co_vat_amount unless col_co_vat_amount == SKIP
719
+ @col_co_gross_amount = col_co_gross_amount unless col_co_gross_amount == SKIP
720
+ @interim_invoice_id = interim_invoice_id unless interim_invoice_id == SKIP
721
+ @interim_invoice_number = interim_invoice_number unless interim_invoice_number == SKIP
722
+ @invoice_id = invoice_id unless invoice_id == SKIP
723
+ @invoice_number = invoice_number unless invoice_number == SKIP
724
+ @invoice_date = invoice_date unless invoice_date == SKIP
725
+ @customer_exchange_rate = customer_exchange_rate unless customer_exchange_rate == SKIP
726
+ @invoice_net_amount = invoice_net_amount unless invoice_net_amount == SKIP
727
+ @invoice_gross_amount = invoice_gross_amount unless invoice_gross_amount == SKIP
728
+ @invoice_vat_amount = invoice_vat_amount unless invoice_vat_amount == SKIP
729
+ @reverse_charge = reverse_charge unless reverse_charge == SKIP
730
+ @original_fee_item_id = original_fee_item_id unless original_fee_item_id == SKIP
731
+ @original_currency_code = original_currency_code unless original_currency_code == SKIP
732
+ @original_currency_symbol = original_currency_symbol unless original_currency_symbol == SKIP
733
+ @original_unit_price = original_unit_price unless original_unit_price == SKIP
734
+ @original_net_amount = original_net_amount unless original_net_amount == SKIP
735
+ @original_vat_amount = original_vat_amount unless original_vat_amount == SKIP
736
+ @original_gross_amount = original_gross_amount unless original_gross_amount == SKIP
737
+ @original_exchange_rate = original_exchange_rate unless original_exchange_rate == SKIP
738
+ unless original_legislative_region_id == SKIP
739
+ @original_legislative_region_id =
740
+ original_legislative_region_id
741
+ end
742
+ unless original_legislative_region_name == SKIP
743
+ @original_legislative_region_name =
744
+ original_legislative_region_name
745
+ end
746
+ @frequency = frequency unless frequency == SKIP
747
+ unless fee_item_card_level_breakup == SKIP
748
+ @fee_item_card_level_breakup =
749
+ fee_item_card_level_breakup
750
+ end
751
+ unless original_fee_item_invoice_id == SKIP
752
+ @original_fee_item_invoice_id =
753
+ original_fee_item_invoice_id
754
+ end
755
+ unless original_fee_item_invoice_number == SKIP
756
+ @original_fee_item_invoice_number =
757
+ original_fee_item_invoice_number
758
+ end
759
+ unless original_fee_item_invoice_date == SKIP
760
+ @original_fee_item_invoice_date =
761
+ original_fee_item_invoice_date
762
+ end
763
+ @driver_name = driver_name unless driver_name == SKIP
764
+ @emboss_text = emboss_text unless emboss_text == SKIP
765
+ @vrn = vrn unless vrn == SKIP
766
+ end
767
+
768
+ # Creates an instance of the object from a hash.
769
+ def self.from_hash(hash)
770
+ return nil unless hash
771
+
772
+ # Extract variables from the hash.
773
+ fee_item_id = hash.key?('FeeItemId') ? hash['FeeItemId'] : SKIP
774
+ account_id = hash.key?('AccountId') ? hash['AccountId'] : SKIP
775
+ account_number = hash.key?('AccountNumber') ? hash['AccountNumber'] : SKIP
776
+ account_short_name =
777
+ hash.key?('AccountShortName') ? hash['AccountShortName'] : SKIP
778
+ invoice_account_id =
779
+ hash.key?('InvoiceAccountId') ? hash['InvoiceAccountId'] : SKIP
780
+ invoice_account_number =
781
+ hash.key?('InvoiceAccountNumber') ? hash['InvoiceAccountNumber'] : SKIP
782
+ invoice_account_short_name =
783
+ hash.key?('InvoiceAccountShortName') ? hash['InvoiceAccountShortName'] : SKIP
784
+ payer_id = hash.key?('PayerId') ? hash['PayerId'] : SKIP
785
+ payer_number = hash.key?('PayerNumber') ? hash['PayerNumber'] : SKIP
786
+ payer_short_name =
787
+ hash.key?('PayerShortName') ? hash['PayerShortName'] : SKIP
788
+ card_id = hash.key?('CardId') ? hash['CardId'] : SKIP
789
+ pan = hash.key?('PAN') ? hash['PAN'] : SKIP
790
+ card_group_id = hash.key?('CardGroupId') ? hash['CardGroupId'] : SKIP
791
+ card_group_name =
792
+ hash.key?('CardGroupName') ? hash['CardGroupName'] : SKIP
793
+ fee_type_id = hash.key?('FeeTypeId') ? hash['FeeTypeId'] : SKIP
794
+ fee_type = hash.key?('FeeType') ? hash['FeeType'] : SKIP
795
+ fee_type_group = hash.key?('FeeTypeGroup') ? hash['FeeTypeGroup'] : SKIP
796
+ fee_rule_id = hash.key?('FeeRuleId') ? hash['FeeRuleId'] : SKIP
797
+ fee_rule_description =
798
+ hash.key?('FeeRuleDescription') ? hash['FeeRuleDescription'] : SKIP
799
+ # Parameter is an array, so we need to iterate through it
800
+ fee_rule_tiers = nil
801
+ unless hash['FeeRuleTiers'].nil?
802
+ fee_rule_tiers = []
803
+ hash['FeeRuleTiers'].each do |structure|
804
+ fee_rule_tiers << (FeesFeeRuleTiers.from_hash(structure) if structure)
805
+ end
806
+ end
807
+
808
+ fee_rule_tiers = SKIP unless hash.key?('FeeRuleTiers')
809
+ fee_item_date = hash.key?('FeeItemDate') ? hash['FeeItemDate'] : SKIP
810
+ fee_item_time = hash.key?('FeeItemTime') ? hash['FeeItemTime'] : SKIP
811
+ is_manual = hash.key?('IsManual') ? hash['IsManual'] : SKIP
812
+ is_cancelled = hash.key?('IsCancelled') ? hash['IsCancelled'] : SKIP
813
+ customer_currency_code =
814
+ hash.key?('CustomerCurrencyCode') ? hash['CustomerCurrencyCode'] : SKIP
815
+ customer_currency_symbol =
816
+ hash.key?('CustomerCurrencySymbol') ? hash['CustomerCurrencySymbol'] : SKIP
817
+ product_id = hash.key?('ProductId') ? hash['ProductId'] : SKIP
818
+ product_code = hash.key?('ProductCode') ? hash['ProductCode'] : SKIP
819
+ product_name = hash.key?('ProductName') ? hash['ProductName'] : SKIP
820
+ product_group_id =
821
+ hash.key?('ProductGroupId') ? hash['ProductGroupId'] : SKIP
822
+ product_group_name =
823
+ hash.key?('ProductGroupName') ? hash['ProductGroupName'] : SKIP
824
+ line_item_description =
825
+ hash.key?('LineItemDescription') ? hash['LineItemDescription'] : SKIP
826
+ quantity = hash.key?('Quantity') ? hash['Quantity'] : SKIP
827
+ is_invoiced = hash.key?('IsInvoiced') ? hash['IsInvoiced'] : SKIP
828
+ vat_country_code =
829
+ hash.key?('VATCountryCode') ? hash['VATCountryCode'] : SKIP
830
+ vat_country_name =
831
+ hash.key?('VATCountryName') ? hash['VATCountryName'] : SKIP
832
+ vat_percentage = hash.key?('VATPercentage') ? hash['VATPercentage'] : SKIP
833
+ vat_category_id =
834
+ hash.key?('VATCategoryID') ? hash['VATCategoryID'] : SKIP
835
+ vat_category_description =
836
+ hash.key?('VATCategoryDescription') ? hash['VATCategoryDescription'] : SKIP
837
+ legislative_region_id =
838
+ hash.key?('LegislativeRegionId') ? hash['LegislativeRegionId'] : SKIP
839
+ legislative_region_name =
840
+ hash.key?('LegislativeRegionName') ? hash['LegislativeRegionName'] : SKIP
841
+ system_entry_date =
842
+ hash.key?('SystemEntryDate') ? hash['SystemEntryDate'] : SKIP
843
+ system_entry_time =
844
+ hash.key?('SystemEntryTime') ? hash['SystemEntryTime'] : SKIP
845
+ col_co_net_amount =
846
+ hash.key?('ColCoNetAmount') ? hash['ColCoNetAmount'] : SKIP
847
+ col_co_vat_amount =
848
+ hash.key?('ColCoVATAmount') ? hash['ColCoVATAmount'] : SKIP
849
+ col_co_gross_amount =
850
+ hash.key?('ColCoGrossAmount') ? hash['ColCoGrossAmount'] : SKIP
851
+ interim_invoice_id =
852
+ hash.key?('InterimInvoiceId') ? hash['InterimInvoiceId'] : SKIP
853
+ interim_invoice_number =
854
+ hash.key?('InterimInvoiceNumber') ? hash['InterimInvoiceNumber'] : SKIP
855
+ invoice_id = hash.key?('InvoiceId') ? hash['InvoiceId'] : SKIP
856
+ invoice_number = hash.key?('InvoiceNumber') ? hash['InvoiceNumber'] : SKIP
857
+ invoice_date = hash.key?('InvoiceDate') ? hash['InvoiceDate'] : SKIP
858
+ customer_exchange_rate =
859
+ hash.key?('CustomerExchangeRate') ? hash['CustomerExchangeRate'] : SKIP
860
+ invoice_net_amount =
861
+ hash.key?('InvoiceNetAmount') ? hash['InvoiceNetAmount'] : SKIP
862
+ invoice_gross_amount =
863
+ hash.key?('InvoiceGrossAmount') ? hash['InvoiceGrossAmount'] : SKIP
864
+ invoice_vat_amount =
865
+ hash.key?('InvoiceVATAmount') ? hash['InvoiceVATAmount'] : SKIP
866
+ reverse_charge = hash.key?('ReverseCharge') ? hash['ReverseCharge'] : SKIP
867
+ original_fee_item_id =
868
+ hash.key?('OriginalFeeItemId') ? hash['OriginalFeeItemId'] : SKIP
869
+ original_currency_code =
870
+ hash.key?('OriginalCurrencyCode') ? hash['OriginalCurrencyCode'] : SKIP
871
+ original_currency_symbol =
872
+ hash.key?('OriginalCurrencySymbol') ? hash['OriginalCurrencySymbol'] : SKIP
873
+ original_unit_price =
874
+ hash.key?('OriginalUnitPrice') ? hash['OriginalUnitPrice'] : SKIP
875
+ original_net_amount =
876
+ hash.key?('OriginalNetAmount') ? hash['OriginalNetAmount'] : SKIP
877
+ original_vat_amount =
878
+ hash.key?('OriginalVATAmount') ? hash['OriginalVATAmount'] : SKIP
879
+ original_gross_amount =
880
+ hash.key?('OriginalGrossAmount') ? hash['OriginalGrossAmount'] : SKIP
881
+ original_exchange_rate =
882
+ hash.key?('OriginalExchangeRate') ? hash['OriginalExchangeRate'] : SKIP
883
+ original_legislative_region_id =
884
+ hash.key?('OriginalLegislativeRegionId') ? hash['OriginalLegislativeRegionId'] : SKIP
885
+ original_legislative_region_name =
886
+ hash.key?('OriginalLegislativeRegionName') ? hash['OriginalLegislativeRegionName'] : SKIP
887
+ frequency = hash.key?('Frequency') ? hash['Frequency'] : SKIP
888
+ fee_item_card_level_breakup =
889
+ hash.key?('FeeItemCardLevelBreakup') ? hash['FeeItemCardLevelBreakup'] : SKIP
890
+ original_fee_item_invoice_id =
891
+ hash.key?('OriginalFeeItemInvoiceId') ? hash['OriginalFeeItemInvoiceId'] : SKIP
892
+ original_fee_item_invoice_number =
893
+ hash.key?('OriginalFeeItemInvoiceNumber') ? hash['OriginalFeeItemInvoiceNumber'] : SKIP
894
+ original_fee_item_invoice_date =
895
+ hash.key?('OriginalFeeItemInvoiceDate') ? hash['OriginalFeeItemInvoiceDate'] : SKIP
896
+ driver_name = hash.key?('DriverName') ? hash['DriverName'] : SKIP
897
+ emboss_text = hash.key?('EmbossText') ? hash['EmbossText'] : SKIP
898
+ vrn = hash.key?('VRN') ? hash['VRN'] : SKIP
899
+
900
+ # Create object from extracted values.
901
+ FeeItem.new(fee_item_id,
902
+ account_id,
903
+ account_number,
904
+ account_short_name,
905
+ invoice_account_id,
906
+ invoice_account_number,
907
+ invoice_account_short_name,
908
+ payer_id,
909
+ payer_number,
910
+ payer_short_name,
911
+ card_id,
912
+ pan,
913
+ card_group_id,
914
+ card_group_name,
915
+ fee_type_id,
916
+ fee_type,
917
+ fee_type_group,
918
+ fee_rule_id,
919
+ fee_rule_description,
920
+ fee_rule_tiers,
921
+ fee_item_date,
922
+ fee_item_time,
923
+ is_manual,
924
+ is_cancelled,
925
+ customer_currency_code,
926
+ customer_currency_symbol,
927
+ product_id,
928
+ product_code,
929
+ product_name,
930
+ product_group_id,
931
+ product_group_name,
932
+ line_item_description,
933
+ quantity,
934
+ is_invoiced,
935
+ vat_country_code,
936
+ vat_country_name,
937
+ vat_percentage,
938
+ vat_category_id,
939
+ vat_category_description,
940
+ legislative_region_id,
941
+ legislative_region_name,
942
+ system_entry_date,
943
+ system_entry_time,
944
+ col_co_net_amount,
945
+ col_co_vat_amount,
946
+ col_co_gross_amount,
947
+ interim_invoice_id,
948
+ interim_invoice_number,
949
+ invoice_id,
950
+ invoice_number,
951
+ invoice_date,
952
+ customer_exchange_rate,
953
+ invoice_net_amount,
954
+ invoice_gross_amount,
955
+ invoice_vat_amount,
956
+ reverse_charge,
957
+ original_fee_item_id,
958
+ original_currency_code,
959
+ original_currency_symbol,
960
+ original_unit_price,
961
+ original_net_amount,
962
+ original_vat_amount,
963
+ original_gross_amount,
964
+ original_exchange_rate,
965
+ original_legislative_region_id,
966
+ original_legislative_region_name,
967
+ frequency,
968
+ fee_item_card_level_breakup,
969
+ original_fee_item_invoice_id,
970
+ original_fee_item_invoice_number,
971
+ original_fee_item_invoice_date,
972
+ driver_name,
973
+ emboss_text,
974
+ vrn)
975
+ end
976
+ end
977
+ end