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,1719 @@
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
+ # PricedTransactionResponseTransactionsItems Model.
8
+ class PricedTransactionResponseTransactionsItems < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TransactionType is the type of transaction.
13
+ # Example: SalesItem /FeeItem
14
+ # @return [String]
15
+ attr_accessor :type
16
+
17
+ # Unique Card Id
18
+ # @return [Integer]
19
+ attr_accessor :card_id
20
+
21
+ # Card PAN
22
+ # @return [String]
23
+ attr_accessor :card_pan
24
+
25
+ # Card Expiry Date
26
+ # @return [String]
27
+ attr_accessor :card_expiry
28
+
29
+ # Local Transaction Date of where the transaction took place
30
+ # @return [String]
31
+ attr_accessor :transaction_date
32
+
33
+ # Local Transaction Time of where the transaction took place
34
+ # @return [String]
35
+ attr_accessor :transaction_time
36
+
37
+ # UTC Offset extracted from Sales Date time.
38
+ # Note: This may not be accurate for all TPN transactions
39
+ # Format: +/-HH:mm:ss (24 hours format)
40
+ # Note: - The value could be null/blank for fees item.
41
+ # @return [String]
42
+ attr_accessor :utc_offset
43
+
44
+ # Fleet Id Input as entered by the drivers at the time of transaction
45
+ # Example: XYZ1234
46
+ # Note: - The value could be null/blank for fees item.
47
+ # @return [String]
48
+ attr_accessor :fleet_id_input
49
+
50
+ # Odometer Input as entered by the drivers at the time of transaction
51
+ # Example: 12345
52
+ # Note: - The value could be null/blank for fees item.
53
+ # @return [Integer]
54
+ attr_accessor :odometer_input
55
+
56
+ # Driver Name embossed on the card
57
+ # Example: ANDREW GILBERRY
58
+ # @return [String]
59
+ attr_accessor :driver_name
60
+
61
+ # Vehicle Registration Number embossed on the card
62
+ # Example: MV65YLH
63
+ # @return [String]
64
+ attr_accessor :vehicle_registration
65
+
66
+ # ISO currency code
67
+ # Example: GBP
68
+ # @return [String]
69
+ attr_accessor :invoice_currency_code
70
+
71
+ # Currency symbol of the Invoice Currency Code
72
+ # Example: £, $
73
+ # @return [String]
74
+ attr_accessor :invoice_currency_symbol
75
+
76
+ # ISO currency code
77
+ # @return [String]
78
+ attr_accessor :transaction_currency_code
79
+
80
+ # Currency symbol of the Transaction Currency Code
81
+ # Example: £, $
82
+ # @return [String]
83
+ attr_accessor :transaction_currency_symbol
84
+
85
+ # Net Amount
86
+ # @return [Float]
87
+ attr_accessor :transaction_net_amount
88
+
89
+ # Tax Amount
90
+ # @return [Float]
91
+ attr_accessor :transaction_tax
92
+
93
+ # Gross Amount
94
+ # @return [Float]
95
+ attr_accessor :transaction_gross_amount
96
+
97
+ # Invoiced Net Amount
98
+ # Note: For a fee item, this parameter will be populated with fee
99
+ # InvoiceNetAmount.
100
+ # @return [Float]
101
+ attr_accessor :invoice_net_amount
102
+
103
+ # Invoiced Tax Amount
104
+ # @return [Float]
105
+ attr_accessor :invoice_tax
106
+
107
+ # Invoice Gross Amount
108
+ # Note: For a fee item, this parameter will be populated with fee
109
+ # InvoiceGrossAmount.
110
+ # @return [Float]
111
+ attr_accessor :invoice_gross_amount
112
+
113
+ # Country of Purchase
114
+ # @return [String]
115
+ attr_accessor :purchased_in_country
116
+
117
+ # Account Id
118
+ # Example: 29484
119
+ # @return [Integer]
120
+ attr_accessor :account_id
121
+
122
+ # Account Number
123
+ # @return [String]
124
+ attr_accessor :account_number
125
+
126
+ # Account Name
127
+ # @return [String]
128
+ attr_accessor :account_name
129
+
130
+ # Account Short Name
131
+ # @return [String]
132
+ attr_accessor :account_short_name
133
+
134
+ # Quantity/Volume
135
+ # @return [Integer]
136
+ attr_accessor :quantity
137
+
138
+ # True if the product on transaction is listed as a fuel product else return
139
+ # false
140
+ # @return [TrueClass | FalseClass]
141
+ attr_accessor :fuel_product
142
+
143
+ # Product Unit Price in transaction currency
144
+ # @return [Float]
145
+ attr_accessor :unit_price_in_transaction_currency
146
+
147
+ # Product Unit Price in invoice currency
148
+ # @return [Float]
149
+ attr_accessor :unit_price_in_invoice_currency
150
+
151
+ # Unit Discount in transaction currency
152
+ # @return [Float]
153
+ attr_accessor :unit_discount_transaction_currency
154
+
155
+ # Unit Discount in invoice currency
156
+ # Note: - The value could be null/blank for fees item.
157
+ # @return [Float]
158
+ attr_accessor :unit_discount_invoice_currency
159
+
160
+ # True when the transaction is already invoice, else return False
161
+ # @return [TrueClass | FalseClass]
162
+ attr_accessor :is_invoiced
163
+
164
+ # Invoice Number if invoiced
165
+ # S04500493
166
+ # @return [String]
167
+ attr_accessor :invoice_number
168
+
169
+ # Invoice Date
170
+ # Format: yyyyMMdd HH:mm:ss
171
+ # @return [String]
172
+ attr_accessor :invoice_date
173
+
174
+ # Site Code
175
+ # Example:
176
+ # 050001 - CHARNOCK RICHARD NTHBOUND MWSA 0755
177
+ # 050002 - CHARNOCK RICHARD STHBOUND MWSA 0755
178
+ # @return [String]
179
+ attr_accessor :site_code
180
+
181
+ # Site Name
182
+ # Example:
183
+ # 050001 - CHARNOCK RICHARD NTHBOUND MWSA 0755
184
+ # 050002 - CHARNOCK RICHARD STHBOUND MWSA 0755
185
+ # @return [String]
186
+ attr_accessor :site_name
187
+
188
+ # Site Country
189
+ # Example: France, Germany
190
+ # Note: - The value could be null/blank for fees item.
191
+ # Geography Location entity for Site Location
192
+ # Note: - The value could be null/blank for fees item.
193
+ # @return [String]
194
+ attr_accessor :site_country
195
+
196
+ # Geography Location entity for Site Location
197
+ # Note: - The value could be null/blank for fees item
198
+ # @return [Array[PricedTransactionItemsLocationItems]]
199
+ attr_accessor :location
200
+
201
+ # Card Group Name
202
+ # @return [String]
203
+ attr_accessor :card_group_name
204
+
205
+ # Receipt Number
206
+ # @return [String]
207
+ attr_accessor :receipt_number
208
+
209
+ # Product Code
210
+ # 10 TMF Charges
211
+ # 11 Tunnel/Bridges
212
+ # 12 Motorway toll
213
+ # 13 Ferries
214
+ # @return [String]
215
+ attr_accessor :product_code
216
+
217
+ # Product Name
218
+ # Unleaded - High octane
219
+ # Unleaded - Medium octane
220
+ # Unleaded - Low octane
221
+ # Unleaded Environmental
222
+ # @return [String]
223
+ attr_accessor :product_name
224
+
225
+ # Product Group Id
226
+ # Example:
227
+ # 1 Parent Product Group
228
+ # 2 All Fuels
229
+ # 3 Motor gasoline
230
+ # 4 2 stroke
231
+ # 5 Autogas
232
+ # 6 CNG
233
+ # @return [Integer]
234
+ attr_accessor :product_group_id
235
+
236
+ # Product Group Name
237
+ # Example:
238
+ # 1 Parent Product Group
239
+ # 2 All Fuels
240
+ # 3 Motor gasoline
241
+ # 4 2 stroke
242
+ # 5 Autogas
243
+ # 6 CNG
244
+ # 7 Automotive Gas Oil
245
+ # @return [String]
246
+ attr_accessor :product_group_name
247
+
248
+ # DelCo Exchange Rate (Site exchange rate)
249
+ # @return [Float]
250
+ attr_accessor :del_co_exchange_rate
251
+
252
+ # ColCo Exchange Rate (Customer exchange rate)
253
+ # @return [Float]
254
+ attr_accessor :col_co_exchange_rate
255
+
256
+ # True when transaction occurred at a Shell site else return False
257
+ # Note: - The value could be null/blank for fees item.
258
+ # @return [TrueClass | FalseClass]
259
+ attr_accessor :is_shell_site
260
+
261
+ # Network as configured in GFN (Shell PH, ESSO, etc.,)
262
+ # 100013 STEINDORFER
263
+ # 100015 S.A. BELGIAN SHELL N.V.
264
+ # 100016 ESSO BE
265
+ # Note: - The value could be null/blank for fees item
266
+ # @return [String]
267
+ attr_accessor :network
268
+
269
+ # Site Group Id
270
+ # Example: 202
271
+ # Note: - The value could be null/blank for fees item.
272
+ # @return [Integer]
273
+ attr_accessor :site_group_id
274
+
275
+ # Site Group Name
276
+ # Example: CZ 9100 ECONOMY NETWORK
277
+ # @return [String]
278
+ attr_accessor :site_group_name
279
+
280
+ # Transaction Posting Date
281
+ # Format: yyyyMMdd HHmmss
282
+ # @return [String]
283
+ attr_accessor :posting_date
284
+
285
+ # First digits of the Card PAN
286
+ # 7002 = Fleet
287
+ # 7077 = CRT
288
+ # @return [String]
289
+ attr_accessor :issuer_code
290
+
291
+ # ISO code of the country where the transaction took place
292
+ # Example: “NL”
293
+ # @return [String]
294
+ attr_accessor :purchased_in_country_code
295
+
296
+ # ISO code of the Customer Country
297
+ # @return [String]
298
+ attr_accessor :customer_country_code
299
+
300
+ # Name of the Customer Country
301
+ # @return [String]
302
+ attr_accessor :customer_country
303
+
304
+ # Release code, 7th Digit of the Card PAN
305
+ # @return [String]
306
+ attr_accessor :release_code
307
+
308
+ # Card group ID
309
+ # @return [String]
310
+ attr_accessor :card_group_id
311
+
312
+ # 3 digits, Card sequence number and Check digit
313
+ # @return [String]
314
+ attr_accessor :card_sequence_number
315
+
316
+ # Check digit, Last number of the card pan
317
+ # @return [String]
318
+ attr_accessor :check_digit
319
+
320
+ # FleetId/CRN description in Card Platform configured at the account level
321
+ # @return [String]
322
+ attr_accessor :fleet_id_description
323
+
324
+ # VAT Percentage
325
+ # 0.20 for 20%
326
+ # @return [Float]
327
+ attr_accessor :vat_rate
328
+
329
+ # VAT Category Id-Description
330
+ # 1-Zero Rated
331
+ # 2-A1 PH-O 12% Sales Domestic
332
+ # 3-VAT exempt
333
+ # @return [String]
334
+ attr_accessor :vat_category
335
+
336
+ # VAT Country
337
+ # @return [String]
338
+ attr_accessor :vat_country
339
+
340
+ # Effective Discount (excluding VAT, in transaction currency) 4 digits
341
+ # Example: 0.0000
342
+ # Note: - The value could be null/blank for fees item.
343
+ # @return [Float]
344
+ attr_accessor :effective_discount_in_trx_currency
345
+
346
+ # Transaction Type
347
+ # Example: Purchase when Card is Present else Blank
348
+ # Note: - The value could be null/blank for fees item.
349
+ # @return [String]
350
+ attr_accessor :transaction_type
351
+
352
+ # Pin Indicator (Indicates whether PIN used or not used at the time of
353
+ # transaction)
354
+ # Example: “PIN Used'” or “No PIN” or “Unknown”
355
+ # Note: - The value could be null/blank for fees item
356
+ # @return [String]
357
+ attr_accessor :pin_indicator
358
+
359
+ # Is VAT Applicable for this transaction
360
+ # @return [String]
361
+ attr_accessor :vat_applicable
362
+
363
+ # Net Invoice Indicator, Will the customer receive an invoice without VAT?
364
+ # Example: “Y” or “N”
365
+ # @return [String]
366
+ attr_accessor :net_invoice_indicator
367
+
368
+ # Customer currency code
369
+ # @return [String]
370
+ attr_accessor :customer_currency_code
371
+
372
+ # Customer currency Symbol
373
+ # @return [String]
374
+ attr_accessor :customer_currency_symbol
375
+
376
+ # Effective Unit Discount (excluding VAT in Customer currency)
377
+ # Note: - The value could be null/blank for fees item.
378
+ # @return [Float]
379
+ attr_accessor :effective_unit_discount_in_customer_currency
380
+
381
+ # Effective Discount (excluding VAT in Customer currency)
382
+ # Note: - The value could be null/blank for fees item
383
+ # @return [Float]
384
+ attr_accessor :effective_discount_in_customer_currency
385
+
386
+ # VAT on Net Amount (in Customer currency)
387
+ # @return [Float]
388
+ attr_accessor :va_ton_net_amount_in_customer_currency
389
+
390
+ # Discount Type
391
+ # Example: 1-None
392
+ # 2-Pence per unit
393
+ # 3-Percentage
394
+ # Note: - The value could be null/blank for fees item
395
+ # @return [String]
396
+ attr_accessor :discount_type
397
+
398
+ # Transaction status "U" or "I"
399
+ # “U” stands for Uninvoiced
400
+ # “I” stands for Invoiced
401
+ # @return [String]
402
+ attr_accessor :transaction_status
403
+
404
+ # Unique Sales Item Identifier
405
+ # Example: 18315958002
406
+ # Note: For a fee item, this parameter will be populated with SalesItemId.
407
+ # @return [Integer]
408
+ attr_accessor :sales_item_id
409
+
410
+ # Payer Group applicable for the Large Customer NL+8 digit code
411
+ # @return [String]
412
+ attr_accessor :payer_group
413
+
414
+ # Payer Group Name
415
+ # @return [String]
416
+ attr_accessor :payer_group_name
417
+
418
+ # Refund Flag “N” for Not Refunded and “Y” for Refunded.
419
+ # @return [String]
420
+ attr_accessor :refund_flag
421
+
422
+ # Shows Sales Item Id of the original item that was refunded
423
+ # @return [String]
424
+ attr_accessor :original_sales_item_id
425
+
426
+ # Delco Name
427
+ # @return [String]
428
+ attr_accessor :delco_name
429
+
430
+ # Delco Code
431
+ # @return [String]
432
+ attr_accessor :delco_code
433
+
434
+ # Payer number (Country code+8 digits)
435
+ # @return [String]
436
+ attr_accessor :payer_number
437
+
438
+ # Payer name
439
+ # Example: V.M. LE COMTE
440
+ # @return [String]
441
+ attr_accessor :payer_name
442
+
443
+ # Year/Month of the Card Expiry captured on the transaction
444
+ # @return [String]
445
+ attr_accessor :card_expiry_period
446
+
447
+ # Authorisation code of the transaction
448
+ # Example: 011256
449
+ # Note: - The value could be null/blank for fees item
450
+ # @return [String]
451
+ attr_accessor :authorisation_code
452
+
453
+ # Unique id of the transaction that may include one or more salesitems
454
+ # @return [String]
455
+ attr_accessor :transaction_id
456
+
457
+ # Transaction line item number
458
+ # @return [String]
459
+ attr_accessor :transaction_line
460
+
461
+ # Is the Sales Item allowed for clearing? i.e. not written off
462
+ # Example: “Y” or “N”
463
+ # Note: - The value could be null/blank for fees item.
464
+ # @return [String]
465
+ attr_accessor :allow_clearing
466
+
467
+ # CRM Case number if the sales item is in dispute
468
+ # Note: - The value could be null/blank for fees item.
469
+ # @return [String]
470
+ attr_accessor :crm_number
471
+
472
+ # Sales Item Dispute Status if disputed
473
+ # 0 No Dispute
474
+ # 1 In Dispute
475
+ # 2 Re-Instated
476
+ # 3 Adjusted
477
+ # 4 Written Off by Colco
478
+ # 5 Written Off by Delco
479
+ # 6 Charged Back to Site
480
+ # Note: - The value could be null/blank for fees item.
481
+ # @return [String]
482
+ attr_accessor :dispute_status
483
+
484
+ # Unit discount in customer currency.
485
+ # Example: 28.279000
486
+ # Note: - The value could be null/blank for fees item
487
+ # @return [Float]
488
+ attr_accessor :rebate_rate
489
+
490
+ # Exchange rate from transaction currency to customer currency.
491
+ # Example: 1
492
+ # Note: - The value could be null/blank for fees item
493
+ # @return [Float]
494
+ attr_accessor :del_co_to_col_co_exchange_rate
495
+
496
+ # Net euro amount.
497
+ # Example: 37.93
498
+ # Note: - The value could be null/blank for fees item
499
+ # @return [Float]
500
+ attr_accessor :net_euro_amount
501
+
502
+ # Euro rebate amount.
503
+ # Example: 0
504
+ # Note: - The value could be null/blank for fees item
505
+ # @return [Float]
506
+ attr_accessor :euro_rebate_amount
507
+
508
+ # Euro VAT amount.
509
+ # Example: 7.96
510
+ # Note: - The value could be null/blank for fees item
511
+ # @return [Float]
512
+ attr_accessor :euro_vat_amount
513
+
514
+ # Parent customer number
515
+ # @return [String]
516
+ attr_accessor :parent_customer_number
517
+
518
+ # Parent customer name.
519
+ # @return [String]
520
+ attr_accessor :parent_customer_name
521
+
522
+ # Parent customer id.
523
+ # @return [Integer]
524
+ attr_accessor :parent_customer_id
525
+
526
+ # Incoming Site Number
527
+ # Example: 100021
528
+ # Note: - The value could be null/blank for fees item.
529
+ # @return [String]
530
+ attr_accessor :incoming_site_number
531
+
532
+ # Incoming Site Description
533
+ # Example: HN3 INTI_02-82.02
534
+ # Note: - The value could be null/blank for fees item.
535
+ # @return [String]
536
+ attr_accessor :incoming_site_description
537
+
538
+ # Incoming Currency Code
539
+ # Example: GBP
540
+ # Note: - The value could be null/blank for fees item
541
+ # @return [String]
542
+ attr_accessor :incoming_currency_code
543
+
544
+ # Incoming Product Code
545
+ # Example: 30
546
+ # @return [String]
547
+ attr_accessor :incoming_product_code
548
+
549
+ # Credit Debit Code
550
+ # Example: “D” or “C”
551
+ # The value could be null/blank for fees item.
552
+ # @return [String]
553
+ attr_accessor :credit_debit_code
554
+
555
+ # Correction Flag
556
+ # Example: “Y” or “N”
557
+ # The value could be null/blank for fees item.
558
+ # @return [String]
559
+ attr_accessor :correction_flag
560
+
561
+ # Additional1
562
+ # @return [String]
563
+ attr_accessor :additional1
564
+
565
+ # Additional2
566
+ # @return [String]
567
+ attr_accessor :additional2
568
+
569
+ # Additional3
570
+ # @return [String]
571
+ attr_accessor :additional3
572
+
573
+ # Additional4
574
+ # @return [String]
575
+ attr_accessor :additional4
576
+
577
+ # Rebate on Net Amount In Customer Currency
578
+ # Example: -0.735000000000
579
+ # Note: - The value could be null/blank for fees item.
580
+ # @return [Float]
581
+ attr_accessor :rebateon_net_amount_in_customer_currency
582
+
583
+ # Rebate on Net Amount In Transaction Currency
584
+ # Example: -0.735000000000
585
+ # Note: - The value could be null/blank for fees item.
586
+ # @return [Float]
587
+ attr_accessor :rebateon_net_amount_in_transaction_currency
588
+
589
+ # Network Code
590
+ # Example: AVEE PTUAZONW CUBFAO COSFS
591
+ # Note: - The value could be null/blank for fees item
592
+ # @return [String]
593
+ attr_accessor :network_code
594
+
595
+ # Transaction Identifier
596
+ # @return [String]
597
+ attr_accessor :trn_identifier
598
+
599
+ # Card Type
600
+ # @return [String]
601
+ attr_accessor :card_type
602
+
603
+ # Delco List Price Unit Net
604
+ # Example: 30.500000
605
+ # @return [Float]
606
+ attr_accessor :delco_list_price_unit_net
607
+
608
+ # Retail Net Price (or pump net price) per Unit in transaction currency
609
+ # Example: 1.921000
610
+ # @return [Float]
611
+ attr_accessor :delco_retail_price_unit_net
612
+
613
+ # Retail gross price (or pump gross price) per unit in transaction currency
614
+ # @return [Float]
615
+ attr_accessor :delco_retail_price_unit_gross
616
+
617
+ # Retail net price (or net pump price) in transaction currency
618
+ # @return [Float]
619
+ attr_accessor :delco_retail_value_total_net
620
+
621
+ # Retail gross price (or gross pump price) in transaction currency
622
+ # @return [Float]
623
+ attr_accessor :delco_retail_value_total_gross
624
+
625
+ # Retail gross price (or pump gross price) per unit in customer currency
626
+ # @return [Float]
627
+ attr_accessor :customer_retail_price_unit_gross
628
+
629
+ # Retail gross price (or gross pump price) in customer currency
630
+ # @return [Float]
631
+ attr_accessor :customer_retail_value_total_gross
632
+
633
+ # Retail gross price (or gross pump price) in customer currency
634
+ # Retail net price (or net pump price) in customer currency
635
+ # @return [Float]
636
+ attr_accessor :customer_retail_value_total_net
637
+
638
+ # Transaction Type Description
639
+ # Note: - The value could be null/blank for fees item
640
+ # @return [String]
641
+ attr_accessor :transaction_type_description
642
+
643
+ # Transaction Type Description
644
+ # Note: - The value could be null/blank for fees item
645
+ # @return [ErrorStatus]
646
+ attr_accessor :error
647
+
648
+ # API Request Id
649
+ # @return [String]
650
+ attr_accessor :request_id
651
+
652
+ # A mapping from model property names to API property names.
653
+ def self.names
654
+ @_hash = {} if @_hash.nil?
655
+ @_hash['type'] = 'Type'
656
+ @_hash['card_id'] = 'CardId'
657
+ @_hash['card_pan'] = 'CardPAN'
658
+ @_hash['card_expiry'] = 'CardExpiry'
659
+ @_hash['transaction_date'] = 'TransactionDate'
660
+ @_hash['transaction_time'] = 'TransactionTime'
661
+ @_hash['utc_offset'] = 'UTCOffset'
662
+ @_hash['fleet_id_input'] = 'FleetIdInput'
663
+ @_hash['odometer_input'] = 'OdometerInput'
664
+ @_hash['driver_name'] = 'DriverName'
665
+ @_hash['vehicle_registration'] = 'VehicleRegistration'
666
+ @_hash['invoice_currency_code'] = 'InvoiceCurrencyCode'
667
+ @_hash['invoice_currency_symbol'] = 'InvoiceCurrencySymbol'
668
+ @_hash['transaction_currency_code'] = 'TransactionCurrencyCode'
669
+ @_hash['transaction_currency_symbol'] = 'TransactionCurrencySymbol'
670
+ @_hash['transaction_net_amount'] = 'TransactionNetAmount'
671
+ @_hash['transaction_tax'] = 'TransactionTax'
672
+ @_hash['transaction_gross_amount'] = 'TransactionGrossAmount'
673
+ @_hash['invoice_net_amount'] = 'InvoiceNetAmount'
674
+ @_hash['invoice_tax'] = 'InvoiceTax'
675
+ @_hash['invoice_gross_amount'] = 'InvoiceGrossAmount'
676
+ @_hash['purchased_in_country'] = 'PurchasedInCountry'
677
+ @_hash['account_id'] = 'AccountId'
678
+ @_hash['account_number'] = 'AccountNumber'
679
+ @_hash['account_name'] = 'AccountName'
680
+ @_hash['account_short_name'] = 'AccountShortName'
681
+ @_hash['quantity'] = 'Quantity'
682
+ @_hash['fuel_product'] = 'FuelProduct'
683
+ @_hash['unit_price_in_transaction_currency'] =
684
+ 'UnitPriceInTransactionCurrency'
685
+ @_hash['unit_price_in_invoice_currency'] = 'UnitPriceInInvoiceCurrency'
686
+ @_hash['unit_discount_transaction_currency'] =
687
+ 'UnitDiscountTransactionCurrency'
688
+ @_hash['unit_discount_invoice_currency'] = 'UnitDiscountInvoiceCurrency'
689
+ @_hash['is_invoiced'] = 'IsInvoiced'
690
+ @_hash['invoice_number'] = 'InvoiceNumber'
691
+ @_hash['invoice_date'] = 'InvoiceDate'
692
+ @_hash['site_code'] = 'SiteCode'
693
+ @_hash['site_name'] = 'SiteName'
694
+ @_hash['site_country'] = 'SiteCountry'
695
+ @_hash['location'] = 'Location'
696
+ @_hash['card_group_name'] = 'CardGroupName'
697
+ @_hash['receipt_number'] = 'ReceiptNumber'
698
+ @_hash['product_code'] = 'ProductCode'
699
+ @_hash['product_name'] = 'ProductName'
700
+ @_hash['product_group_id'] = 'ProductGroupId'
701
+ @_hash['product_group_name'] = 'ProductGroupName'
702
+ @_hash['del_co_exchange_rate'] = 'DelCoExchangeRate'
703
+ @_hash['col_co_exchange_rate'] = 'ColCoExchangeRate'
704
+ @_hash['is_shell_site'] = 'IsShellSite'
705
+ @_hash['network'] = 'Network'
706
+ @_hash['site_group_id'] = 'SiteGroupId'
707
+ @_hash['site_group_name'] = 'SiteGroupName'
708
+ @_hash['posting_date'] = 'PostingDate'
709
+ @_hash['issuer_code'] = 'IssuerCode'
710
+ @_hash['purchased_in_country_code'] = 'PurchasedInCountryCode'
711
+ @_hash['customer_country_code'] = 'CustomerCountryCode'
712
+ @_hash['customer_country'] = 'CustomerCountry'
713
+ @_hash['release_code'] = 'ReleaseCode'
714
+ @_hash['card_group_id'] = 'CardGroupId'
715
+ @_hash['card_sequence_number'] = 'CardSequenceNumber'
716
+ @_hash['check_digit'] = 'CheckDigit'
717
+ @_hash['fleet_id_description'] = 'FleetIDDescription'
718
+ @_hash['vat_rate'] = 'VATRate'
719
+ @_hash['vat_category'] = 'VATCategory'
720
+ @_hash['vat_country'] = 'VATCountry'
721
+ @_hash['effective_discount_in_trx_currency'] =
722
+ 'EffectiveDiscountInTrxCurrency'
723
+ @_hash['transaction_type'] = 'TransactionType'
724
+ @_hash['pin_indicator'] = 'PINIndicator'
725
+ @_hash['vat_applicable'] = 'VATApplicable'
726
+ @_hash['net_invoice_indicator'] = 'NetInvoiceIndicator'
727
+ @_hash['customer_currency_code'] = 'CustomerCurrencyCode'
728
+ @_hash['customer_currency_symbol'] = 'CustomerCurrencySymbol'
729
+ @_hash['effective_unit_discount_in_customer_currency'] =
730
+ 'EffectiveUnitDiscountInCustomerCurrency'
731
+ @_hash['effective_discount_in_customer_currency'] =
732
+ 'EffectiveDiscountInCustomerCurrency'
733
+ @_hash['va_ton_net_amount_in_customer_currency'] =
734
+ 'VATonNetAmountInCustomerCurrency'
735
+ @_hash['discount_type'] = 'DiscountType'
736
+ @_hash['transaction_status'] = 'TransactionStatus'
737
+ @_hash['sales_item_id'] = 'SalesItemId'
738
+ @_hash['payer_group'] = 'PayerGroup'
739
+ @_hash['payer_group_name'] = 'PayerGroupName'
740
+ @_hash['refund_flag'] = 'RefundFlag'
741
+ @_hash['original_sales_item_id'] = 'OriginalSalesItemId'
742
+ @_hash['delco_name'] = 'DelcoName'
743
+ @_hash['delco_code'] = 'DelcoCode'
744
+ @_hash['payer_number'] = 'PayerNumber'
745
+ @_hash['payer_name'] = 'PayerName'
746
+ @_hash['card_expiry_period'] = 'CardExpiryPeriod'
747
+ @_hash['authorisation_code'] = 'AuthorisationCode'
748
+ @_hash['transaction_id'] = 'TransactionId'
749
+ @_hash['transaction_line'] = 'TransactionLine'
750
+ @_hash['allow_clearing'] = 'AllowClearing'
751
+ @_hash['crm_number'] = 'CRMNumber'
752
+ @_hash['dispute_status'] = 'DisputeStatus'
753
+ @_hash['rebate_rate'] = 'RebateRate'
754
+ @_hash['del_co_to_col_co_exchange_rate'] = 'DelCoToColCoExchangeRate'
755
+ @_hash['net_euro_amount'] = 'NetEuroAmount'
756
+ @_hash['euro_rebate_amount'] = 'EuroRebateAmount'
757
+ @_hash['euro_vat_amount'] = 'EuroVATAmount'
758
+ @_hash['parent_customer_number'] = 'ParentCustomerNumber'
759
+ @_hash['parent_customer_name'] = 'ParentCustomerName'
760
+ @_hash['parent_customer_id'] = 'ParentCustomerId'
761
+ @_hash['incoming_site_number'] = 'IncomingSiteNumber'
762
+ @_hash['incoming_site_description'] = 'IncomingSiteDescription'
763
+ @_hash['incoming_currency_code'] = 'IncomingCurrencyCode'
764
+ @_hash['incoming_product_code'] = 'IncomingProductCode'
765
+ @_hash['credit_debit_code'] = 'CreditDebitCode'
766
+ @_hash['correction_flag'] = 'CorrectionFlag'
767
+ @_hash['additional1'] = 'Additional1'
768
+ @_hash['additional2'] = 'Additional2'
769
+ @_hash['additional3'] = 'Additional3'
770
+ @_hash['additional4'] = 'Additional4'
771
+ @_hash['rebateon_net_amount_in_customer_currency'] =
772
+ 'RebateonNetAmountInCustomerCurrency'
773
+ @_hash['rebateon_net_amount_in_transaction_currency'] =
774
+ 'RebateonNetAmountInTransactionCurrency'
775
+ @_hash['network_code'] = 'NetworkCode'
776
+ @_hash['trn_identifier'] = 'TrnIdentifier'
777
+ @_hash['card_type'] = 'CardType'
778
+ @_hash['delco_list_price_unit_net'] = 'DelcoListPriceUnitNet'
779
+ @_hash['delco_retail_price_unit_net'] = 'DelcoRetailPriceUnitNet'
780
+ @_hash['delco_retail_price_unit_gross'] = 'DelcoRetailPriceUnitGross'
781
+ @_hash['delco_retail_value_total_net'] = 'DelcoRetailValueTotalNet'
782
+ @_hash['delco_retail_value_total_gross'] = 'DelcoRetailValueTotalGross'
783
+ @_hash['customer_retail_price_unit_gross'] =
784
+ 'CustomerRetailPriceUnitGross'
785
+ @_hash['customer_retail_value_total_gross'] =
786
+ 'CustomerRetailValueTotalGross'
787
+ @_hash['customer_retail_value_total_net'] =
788
+ 'CustomerRetailValueTotalNet'
789
+ @_hash['transaction_type_description'] = 'TransactionTypeDescription'
790
+ @_hash['error'] = 'Error'
791
+ @_hash['request_id'] = 'RequestId'
792
+ @_hash
793
+ end
794
+
795
+ # An array for optional fields
796
+ def self.optionals
797
+ %w[
798
+ type
799
+ card_id
800
+ card_pan
801
+ card_expiry
802
+ transaction_date
803
+ transaction_time
804
+ utc_offset
805
+ fleet_id_input
806
+ odometer_input
807
+ driver_name
808
+ vehicle_registration
809
+ invoice_currency_code
810
+ invoice_currency_symbol
811
+ transaction_currency_code
812
+ transaction_currency_symbol
813
+ transaction_net_amount
814
+ transaction_tax
815
+ transaction_gross_amount
816
+ invoice_net_amount
817
+ invoice_tax
818
+ invoice_gross_amount
819
+ purchased_in_country
820
+ account_id
821
+ account_number
822
+ account_name
823
+ account_short_name
824
+ quantity
825
+ fuel_product
826
+ unit_price_in_transaction_currency
827
+ unit_price_in_invoice_currency
828
+ unit_discount_transaction_currency
829
+ unit_discount_invoice_currency
830
+ is_invoiced
831
+ invoice_number
832
+ invoice_date
833
+ site_code
834
+ site_name
835
+ site_country
836
+ location
837
+ card_group_name
838
+ receipt_number
839
+ product_code
840
+ product_name
841
+ product_group_id
842
+ product_group_name
843
+ del_co_exchange_rate
844
+ col_co_exchange_rate
845
+ is_shell_site
846
+ network
847
+ site_group_id
848
+ site_group_name
849
+ posting_date
850
+ issuer_code
851
+ purchased_in_country_code
852
+ customer_country_code
853
+ customer_country
854
+ release_code
855
+ card_group_id
856
+ card_sequence_number
857
+ check_digit
858
+ fleet_id_description
859
+ vat_rate
860
+ vat_category
861
+ vat_country
862
+ effective_discount_in_trx_currency
863
+ transaction_type
864
+ pin_indicator
865
+ vat_applicable
866
+ net_invoice_indicator
867
+ customer_currency_code
868
+ customer_currency_symbol
869
+ effective_unit_discount_in_customer_currency
870
+ effective_discount_in_customer_currency
871
+ va_ton_net_amount_in_customer_currency
872
+ discount_type
873
+ transaction_status
874
+ sales_item_id
875
+ payer_group
876
+ payer_group_name
877
+ refund_flag
878
+ original_sales_item_id
879
+ delco_name
880
+ delco_code
881
+ payer_number
882
+ payer_name
883
+ card_expiry_period
884
+ authorisation_code
885
+ transaction_id
886
+ transaction_line
887
+ allow_clearing
888
+ crm_number
889
+ dispute_status
890
+ rebate_rate
891
+ del_co_to_col_co_exchange_rate
892
+ net_euro_amount
893
+ euro_rebate_amount
894
+ euro_vat_amount
895
+ parent_customer_number
896
+ parent_customer_name
897
+ parent_customer_id
898
+ incoming_site_number
899
+ incoming_site_description
900
+ incoming_currency_code
901
+ incoming_product_code
902
+ credit_debit_code
903
+ correction_flag
904
+ additional1
905
+ additional2
906
+ additional3
907
+ additional4
908
+ rebateon_net_amount_in_customer_currency
909
+ rebateon_net_amount_in_transaction_currency
910
+ network_code
911
+ trn_identifier
912
+ card_type
913
+ delco_list_price_unit_net
914
+ delco_retail_price_unit_net
915
+ delco_retail_price_unit_gross
916
+ delco_retail_value_total_net
917
+ delco_retail_value_total_gross
918
+ customer_retail_price_unit_gross
919
+ customer_retail_value_total_gross
920
+ customer_retail_value_total_net
921
+ transaction_type_description
922
+ error
923
+ request_id
924
+ ]
925
+ end
926
+
927
+ # An array for nullable fields
928
+ def self.nullables
929
+ %w[
930
+ type
931
+ card_id
932
+ card_pan
933
+ card_expiry
934
+ transaction_date
935
+ transaction_time
936
+ utc_offset
937
+ fleet_id_input
938
+ odometer_input
939
+ driver_name
940
+ vehicle_registration
941
+ invoice_currency_code
942
+ invoice_currency_symbol
943
+ transaction_currency_code
944
+ transaction_currency_symbol
945
+ transaction_net_amount
946
+ transaction_tax
947
+ transaction_gross_amount
948
+ invoice_net_amount
949
+ invoice_tax
950
+ invoice_gross_amount
951
+ purchased_in_country
952
+ account_id
953
+ account_number
954
+ account_name
955
+ account_short_name
956
+ quantity
957
+ fuel_product
958
+ unit_price_in_transaction_currency
959
+ unit_price_in_invoice_currency
960
+ unit_discount_transaction_currency
961
+ unit_discount_invoice_currency
962
+ is_invoiced
963
+ invoice_number
964
+ invoice_date
965
+ site_code
966
+ site_name
967
+ site_country
968
+ card_group_name
969
+ receipt_number
970
+ product_code
971
+ product_name
972
+ product_group_id
973
+ product_group_name
974
+ del_co_exchange_rate
975
+ col_co_exchange_rate
976
+ is_shell_site
977
+ network
978
+ site_group_id
979
+ site_group_name
980
+ posting_date
981
+ issuer_code
982
+ purchased_in_country_code
983
+ customer_country_code
984
+ customer_country
985
+ release_code
986
+ card_group_id
987
+ card_sequence_number
988
+ check_digit
989
+ fleet_id_description
990
+ vat_rate
991
+ vat_category
992
+ vat_country
993
+ effective_discount_in_trx_currency
994
+ transaction_type
995
+ pin_indicator
996
+ vat_applicable
997
+ net_invoice_indicator
998
+ customer_currency_code
999
+ customer_currency_symbol
1000
+ effective_unit_discount_in_customer_currency
1001
+ effective_discount_in_customer_currency
1002
+ va_ton_net_amount_in_customer_currency
1003
+ discount_type
1004
+ transaction_status
1005
+ sales_item_id
1006
+ payer_group
1007
+ payer_group_name
1008
+ refund_flag
1009
+ original_sales_item_id
1010
+ delco_name
1011
+ delco_code
1012
+ payer_number
1013
+ payer_name
1014
+ card_expiry_period
1015
+ authorisation_code
1016
+ transaction_id
1017
+ transaction_line
1018
+ allow_clearing
1019
+ crm_number
1020
+ dispute_status
1021
+ rebate_rate
1022
+ del_co_to_col_co_exchange_rate
1023
+ net_euro_amount
1024
+ euro_rebate_amount
1025
+ euro_vat_amount
1026
+ parent_customer_number
1027
+ parent_customer_name
1028
+ parent_customer_id
1029
+ incoming_site_number
1030
+ incoming_site_description
1031
+ incoming_currency_code
1032
+ incoming_product_code
1033
+ credit_debit_code
1034
+ correction_flag
1035
+ additional1
1036
+ additional2
1037
+ additional3
1038
+ additional4
1039
+ rebateon_net_amount_in_customer_currency
1040
+ rebateon_net_amount_in_transaction_currency
1041
+ network_code
1042
+ trn_identifier
1043
+ card_type
1044
+ delco_list_price_unit_net
1045
+ delco_retail_price_unit_net
1046
+ delco_retail_price_unit_gross
1047
+ delco_retail_value_total_net
1048
+ delco_retail_value_total_gross
1049
+ customer_retail_price_unit_gross
1050
+ customer_retail_value_total_gross
1051
+ customer_retail_value_total_net
1052
+ transaction_type_description
1053
+ ]
1054
+ end
1055
+
1056
+ def initialize(type = SKIP,
1057
+ card_id = SKIP,
1058
+ card_pan = SKIP,
1059
+ card_expiry = SKIP,
1060
+ transaction_date = SKIP,
1061
+ transaction_time = SKIP,
1062
+ utc_offset = SKIP,
1063
+ fleet_id_input = SKIP,
1064
+ odometer_input = SKIP,
1065
+ driver_name = SKIP,
1066
+ vehicle_registration = SKIP,
1067
+ invoice_currency_code = SKIP,
1068
+ invoice_currency_symbol = SKIP,
1069
+ transaction_currency_code = SKIP,
1070
+ transaction_currency_symbol = SKIP,
1071
+ transaction_net_amount = SKIP,
1072
+ transaction_tax = SKIP,
1073
+ transaction_gross_amount = SKIP,
1074
+ invoice_net_amount = SKIP,
1075
+ invoice_tax = SKIP,
1076
+ invoice_gross_amount = SKIP,
1077
+ purchased_in_country = SKIP,
1078
+ account_id = SKIP,
1079
+ account_number = SKIP,
1080
+ account_name = SKIP,
1081
+ account_short_name = SKIP,
1082
+ quantity = SKIP,
1083
+ fuel_product = SKIP,
1084
+ unit_price_in_transaction_currency = SKIP,
1085
+ unit_price_in_invoice_currency = SKIP,
1086
+ unit_discount_transaction_currency = SKIP,
1087
+ unit_discount_invoice_currency = SKIP,
1088
+ is_invoiced = SKIP,
1089
+ invoice_number = SKIP,
1090
+ invoice_date = SKIP,
1091
+ site_code = SKIP,
1092
+ site_name = SKIP,
1093
+ site_country = SKIP,
1094
+ location = SKIP,
1095
+ card_group_name = SKIP,
1096
+ receipt_number = SKIP,
1097
+ product_code = SKIP,
1098
+ product_name = SKIP,
1099
+ product_group_id = SKIP,
1100
+ product_group_name = SKIP,
1101
+ del_co_exchange_rate = SKIP,
1102
+ col_co_exchange_rate = SKIP,
1103
+ is_shell_site = SKIP,
1104
+ network = SKIP,
1105
+ site_group_id = SKIP,
1106
+ site_group_name = SKIP,
1107
+ posting_date = SKIP,
1108
+ issuer_code = SKIP,
1109
+ purchased_in_country_code = SKIP,
1110
+ customer_country_code = SKIP,
1111
+ customer_country = SKIP,
1112
+ release_code = SKIP,
1113
+ card_group_id = SKIP,
1114
+ card_sequence_number = SKIP,
1115
+ check_digit = SKIP,
1116
+ fleet_id_description = SKIP,
1117
+ vat_rate = SKIP,
1118
+ vat_category = SKIP,
1119
+ vat_country = SKIP,
1120
+ effective_discount_in_trx_currency = SKIP,
1121
+ transaction_type = SKIP,
1122
+ pin_indicator = SKIP,
1123
+ vat_applicable = SKIP,
1124
+ net_invoice_indicator = SKIP,
1125
+ customer_currency_code = SKIP,
1126
+ customer_currency_symbol = SKIP,
1127
+ effective_unit_discount_in_customer_currency = SKIP,
1128
+ effective_discount_in_customer_currency = SKIP,
1129
+ va_ton_net_amount_in_customer_currency = SKIP,
1130
+ discount_type = SKIP,
1131
+ transaction_status = SKIP,
1132
+ sales_item_id = SKIP,
1133
+ payer_group = SKIP,
1134
+ payer_group_name = SKIP,
1135
+ refund_flag = SKIP,
1136
+ original_sales_item_id = SKIP,
1137
+ delco_name = SKIP,
1138
+ delco_code = SKIP,
1139
+ payer_number = SKIP,
1140
+ payer_name = SKIP,
1141
+ card_expiry_period = SKIP,
1142
+ authorisation_code = SKIP,
1143
+ transaction_id = SKIP,
1144
+ transaction_line = SKIP,
1145
+ allow_clearing = SKIP,
1146
+ crm_number = SKIP,
1147
+ dispute_status = SKIP,
1148
+ rebate_rate = SKIP,
1149
+ del_co_to_col_co_exchange_rate = SKIP,
1150
+ net_euro_amount = SKIP,
1151
+ euro_rebate_amount = SKIP,
1152
+ euro_vat_amount = SKIP,
1153
+ parent_customer_number = SKIP,
1154
+ parent_customer_name = SKIP,
1155
+ parent_customer_id = SKIP,
1156
+ incoming_site_number = SKIP,
1157
+ incoming_site_description = SKIP,
1158
+ incoming_currency_code = SKIP,
1159
+ incoming_product_code = SKIP,
1160
+ credit_debit_code = SKIP,
1161
+ correction_flag = SKIP,
1162
+ additional1 = SKIP,
1163
+ additional2 = SKIP,
1164
+ additional3 = SKIP,
1165
+ additional4 = SKIP,
1166
+ rebateon_net_amount_in_customer_currency = SKIP,
1167
+ rebateon_net_amount_in_transaction_currency = SKIP,
1168
+ network_code = SKIP,
1169
+ trn_identifier = SKIP,
1170
+ card_type = SKIP,
1171
+ delco_list_price_unit_net = SKIP,
1172
+ delco_retail_price_unit_net = SKIP,
1173
+ delco_retail_price_unit_gross = SKIP,
1174
+ delco_retail_value_total_net = SKIP,
1175
+ delco_retail_value_total_gross = SKIP,
1176
+ customer_retail_price_unit_gross = SKIP,
1177
+ customer_retail_value_total_gross = SKIP,
1178
+ customer_retail_value_total_net = SKIP,
1179
+ transaction_type_description = SKIP,
1180
+ error = SKIP,
1181
+ request_id = SKIP)
1182
+ @type = type unless type == SKIP
1183
+ @card_id = card_id unless card_id == SKIP
1184
+ @card_pan = card_pan unless card_pan == SKIP
1185
+ @card_expiry = card_expiry unless card_expiry == SKIP
1186
+ @transaction_date = transaction_date unless transaction_date == SKIP
1187
+ @transaction_time = transaction_time unless transaction_time == SKIP
1188
+ @utc_offset = utc_offset unless utc_offset == SKIP
1189
+ @fleet_id_input = fleet_id_input unless fleet_id_input == SKIP
1190
+ @odometer_input = odometer_input unless odometer_input == SKIP
1191
+ @driver_name = driver_name unless driver_name == SKIP
1192
+ @vehicle_registration = vehicle_registration unless vehicle_registration == SKIP
1193
+ @invoice_currency_code = invoice_currency_code unless invoice_currency_code == SKIP
1194
+ @invoice_currency_symbol = invoice_currency_symbol unless invoice_currency_symbol == SKIP
1195
+ unless transaction_currency_code == SKIP
1196
+ @transaction_currency_code =
1197
+ transaction_currency_code
1198
+ end
1199
+ unless transaction_currency_symbol == SKIP
1200
+ @transaction_currency_symbol =
1201
+ transaction_currency_symbol
1202
+ end
1203
+ @transaction_net_amount = transaction_net_amount unless transaction_net_amount == SKIP
1204
+ @transaction_tax = transaction_tax unless transaction_tax == SKIP
1205
+ @transaction_gross_amount = transaction_gross_amount unless transaction_gross_amount == SKIP
1206
+ @invoice_net_amount = invoice_net_amount unless invoice_net_amount == SKIP
1207
+ @invoice_tax = invoice_tax unless invoice_tax == SKIP
1208
+ @invoice_gross_amount = invoice_gross_amount unless invoice_gross_amount == SKIP
1209
+ @purchased_in_country = purchased_in_country unless purchased_in_country == SKIP
1210
+ @account_id = account_id unless account_id == SKIP
1211
+ @account_number = account_number unless account_number == SKIP
1212
+ @account_name = account_name unless account_name == SKIP
1213
+ @account_short_name = account_short_name unless account_short_name == SKIP
1214
+ @quantity = quantity unless quantity == SKIP
1215
+ @fuel_product = fuel_product unless fuel_product == SKIP
1216
+ unless unit_price_in_transaction_currency == SKIP
1217
+ @unit_price_in_transaction_currency =
1218
+ unit_price_in_transaction_currency
1219
+ end
1220
+ unless unit_price_in_invoice_currency == SKIP
1221
+ @unit_price_in_invoice_currency =
1222
+ unit_price_in_invoice_currency
1223
+ end
1224
+ unless unit_discount_transaction_currency == SKIP
1225
+ @unit_discount_transaction_currency =
1226
+ unit_discount_transaction_currency
1227
+ end
1228
+ unless unit_discount_invoice_currency == SKIP
1229
+ @unit_discount_invoice_currency =
1230
+ unit_discount_invoice_currency
1231
+ end
1232
+ @is_invoiced = is_invoiced unless is_invoiced == SKIP
1233
+ @invoice_number = invoice_number unless invoice_number == SKIP
1234
+ @invoice_date = invoice_date unless invoice_date == SKIP
1235
+ @site_code = site_code unless site_code == SKIP
1236
+ @site_name = site_name unless site_name == SKIP
1237
+ @site_country = site_country unless site_country == SKIP
1238
+ @location = location unless location == SKIP
1239
+ @card_group_name = card_group_name unless card_group_name == SKIP
1240
+ @receipt_number = receipt_number unless receipt_number == SKIP
1241
+ @product_code = product_code unless product_code == SKIP
1242
+ @product_name = product_name unless product_name == SKIP
1243
+ @product_group_id = product_group_id unless product_group_id == SKIP
1244
+ @product_group_name = product_group_name unless product_group_name == SKIP
1245
+ @del_co_exchange_rate = del_co_exchange_rate unless del_co_exchange_rate == SKIP
1246
+ @col_co_exchange_rate = col_co_exchange_rate unless col_co_exchange_rate == SKIP
1247
+ @is_shell_site = is_shell_site unless is_shell_site == SKIP
1248
+ @network = network unless network == SKIP
1249
+ @site_group_id = site_group_id unless site_group_id == SKIP
1250
+ @site_group_name = site_group_name unless site_group_name == SKIP
1251
+ @posting_date = posting_date unless posting_date == SKIP
1252
+ @issuer_code = issuer_code unless issuer_code == SKIP
1253
+ unless purchased_in_country_code == SKIP
1254
+ @purchased_in_country_code =
1255
+ purchased_in_country_code
1256
+ end
1257
+ @customer_country_code = customer_country_code unless customer_country_code == SKIP
1258
+ @customer_country = customer_country unless customer_country == SKIP
1259
+ @release_code = release_code unless release_code == SKIP
1260
+ @card_group_id = card_group_id unless card_group_id == SKIP
1261
+ @card_sequence_number = card_sequence_number unless card_sequence_number == SKIP
1262
+ @check_digit = check_digit unless check_digit == SKIP
1263
+ @fleet_id_description = fleet_id_description unless fleet_id_description == SKIP
1264
+ @vat_rate = vat_rate unless vat_rate == SKIP
1265
+ @vat_category = vat_category unless vat_category == SKIP
1266
+ @vat_country = vat_country unless vat_country == SKIP
1267
+ unless effective_discount_in_trx_currency == SKIP
1268
+ @effective_discount_in_trx_currency =
1269
+ effective_discount_in_trx_currency
1270
+ end
1271
+ @transaction_type = transaction_type unless transaction_type == SKIP
1272
+ @pin_indicator = pin_indicator unless pin_indicator == SKIP
1273
+ @vat_applicable = vat_applicable unless vat_applicable == SKIP
1274
+ @net_invoice_indicator = net_invoice_indicator unless net_invoice_indicator == SKIP
1275
+ @customer_currency_code = customer_currency_code unless customer_currency_code == SKIP
1276
+ @customer_currency_symbol = customer_currency_symbol unless customer_currency_symbol == SKIP
1277
+ unless effective_unit_discount_in_customer_currency == SKIP
1278
+ @effective_unit_discount_in_customer_currency =
1279
+ effective_unit_discount_in_customer_currency
1280
+ end
1281
+ unless effective_discount_in_customer_currency == SKIP
1282
+ @effective_discount_in_customer_currency =
1283
+ effective_discount_in_customer_currency
1284
+ end
1285
+ unless va_ton_net_amount_in_customer_currency == SKIP
1286
+ @va_ton_net_amount_in_customer_currency =
1287
+ va_ton_net_amount_in_customer_currency
1288
+ end
1289
+ @discount_type = discount_type unless discount_type == SKIP
1290
+ @transaction_status = transaction_status unless transaction_status == SKIP
1291
+ @sales_item_id = sales_item_id unless sales_item_id == SKIP
1292
+ @payer_group = payer_group unless payer_group == SKIP
1293
+ @payer_group_name = payer_group_name unless payer_group_name == SKIP
1294
+ @refund_flag = refund_flag unless refund_flag == SKIP
1295
+ @original_sales_item_id = original_sales_item_id unless original_sales_item_id == SKIP
1296
+ @delco_name = delco_name unless delco_name == SKIP
1297
+ @delco_code = delco_code unless delco_code == SKIP
1298
+ @payer_number = payer_number unless payer_number == SKIP
1299
+ @payer_name = payer_name unless payer_name == SKIP
1300
+ @card_expiry_period = card_expiry_period unless card_expiry_period == SKIP
1301
+ @authorisation_code = authorisation_code unless authorisation_code == SKIP
1302
+ @transaction_id = transaction_id unless transaction_id == SKIP
1303
+ @transaction_line = transaction_line unless transaction_line == SKIP
1304
+ @allow_clearing = allow_clearing unless allow_clearing == SKIP
1305
+ @crm_number = crm_number unless crm_number == SKIP
1306
+ @dispute_status = dispute_status unless dispute_status == SKIP
1307
+ @rebate_rate = rebate_rate unless rebate_rate == SKIP
1308
+ unless del_co_to_col_co_exchange_rate == SKIP
1309
+ @del_co_to_col_co_exchange_rate =
1310
+ del_co_to_col_co_exchange_rate
1311
+ end
1312
+ @net_euro_amount = net_euro_amount unless net_euro_amount == SKIP
1313
+ @euro_rebate_amount = euro_rebate_amount unless euro_rebate_amount == SKIP
1314
+ @euro_vat_amount = euro_vat_amount unless euro_vat_amount == SKIP
1315
+ @parent_customer_number = parent_customer_number unless parent_customer_number == SKIP
1316
+ @parent_customer_name = parent_customer_name unless parent_customer_name == SKIP
1317
+ @parent_customer_id = parent_customer_id unless parent_customer_id == SKIP
1318
+ @incoming_site_number = incoming_site_number unless incoming_site_number == SKIP
1319
+ unless incoming_site_description == SKIP
1320
+ @incoming_site_description =
1321
+ incoming_site_description
1322
+ end
1323
+ @incoming_currency_code = incoming_currency_code unless incoming_currency_code == SKIP
1324
+ @incoming_product_code = incoming_product_code unless incoming_product_code == SKIP
1325
+ @credit_debit_code = credit_debit_code unless credit_debit_code == SKIP
1326
+ @correction_flag = correction_flag unless correction_flag == SKIP
1327
+ @additional1 = additional1 unless additional1 == SKIP
1328
+ @additional2 = additional2 unless additional2 == SKIP
1329
+ @additional3 = additional3 unless additional3 == SKIP
1330
+ @additional4 = additional4 unless additional4 == SKIP
1331
+ unless rebateon_net_amount_in_customer_currency == SKIP
1332
+ @rebateon_net_amount_in_customer_currency =
1333
+ rebateon_net_amount_in_customer_currency
1334
+ end
1335
+ unless rebateon_net_amount_in_transaction_currency == SKIP
1336
+ @rebateon_net_amount_in_transaction_currency =
1337
+ rebateon_net_amount_in_transaction_currency
1338
+ end
1339
+ @network_code = network_code unless network_code == SKIP
1340
+ @trn_identifier = trn_identifier unless trn_identifier == SKIP
1341
+ @card_type = card_type unless card_type == SKIP
1342
+ unless delco_list_price_unit_net == SKIP
1343
+ @delco_list_price_unit_net =
1344
+ delco_list_price_unit_net
1345
+ end
1346
+ unless delco_retail_price_unit_net == SKIP
1347
+ @delco_retail_price_unit_net =
1348
+ delco_retail_price_unit_net
1349
+ end
1350
+ unless delco_retail_price_unit_gross == SKIP
1351
+ @delco_retail_price_unit_gross =
1352
+ delco_retail_price_unit_gross
1353
+ end
1354
+ unless delco_retail_value_total_net == SKIP
1355
+ @delco_retail_value_total_net =
1356
+ delco_retail_value_total_net
1357
+ end
1358
+ unless delco_retail_value_total_gross == SKIP
1359
+ @delco_retail_value_total_gross =
1360
+ delco_retail_value_total_gross
1361
+ end
1362
+ unless customer_retail_price_unit_gross == SKIP
1363
+ @customer_retail_price_unit_gross =
1364
+ customer_retail_price_unit_gross
1365
+ end
1366
+ unless customer_retail_value_total_gross == SKIP
1367
+ @customer_retail_value_total_gross =
1368
+ customer_retail_value_total_gross
1369
+ end
1370
+ unless customer_retail_value_total_net == SKIP
1371
+ @customer_retail_value_total_net =
1372
+ customer_retail_value_total_net
1373
+ end
1374
+ unless transaction_type_description == SKIP
1375
+ @transaction_type_description =
1376
+ transaction_type_description
1377
+ end
1378
+ @error = error unless error == SKIP
1379
+ @request_id = request_id unless request_id == SKIP
1380
+ end
1381
+
1382
+ # Creates an instance of the object from a hash.
1383
+ def self.from_hash(hash)
1384
+ return nil unless hash
1385
+
1386
+ # Extract variables from the hash.
1387
+ type = hash.key?('Type') ? hash['Type'] : SKIP
1388
+ card_id = hash.key?('CardId') ? hash['CardId'] : SKIP
1389
+ card_pan = hash.key?('CardPAN') ? hash['CardPAN'] : SKIP
1390
+ card_expiry = hash.key?('CardExpiry') ? hash['CardExpiry'] : SKIP
1391
+ transaction_date =
1392
+ hash.key?('TransactionDate') ? hash['TransactionDate'] : SKIP
1393
+ transaction_time =
1394
+ hash.key?('TransactionTime') ? hash['TransactionTime'] : SKIP
1395
+ utc_offset = hash.key?('UTCOffset') ? hash['UTCOffset'] : SKIP
1396
+ fleet_id_input = hash.key?('FleetIdInput') ? hash['FleetIdInput'] : SKIP
1397
+ odometer_input = hash.key?('OdometerInput') ? hash['OdometerInput'] : SKIP
1398
+ driver_name = hash.key?('DriverName') ? hash['DriverName'] : SKIP
1399
+ vehicle_registration =
1400
+ hash.key?('VehicleRegistration') ? hash['VehicleRegistration'] : SKIP
1401
+ invoice_currency_code =
1402
+ hash.key?('InvoiceCurrencyCode') ? hash['InvoiceCurrencyCode'] : SKIP
1403
+ invoice_currency_symbol =
1404
+ hash.key?('InvoiceCurrencySymbol') ? hash['InvoiceCurrencySymbol'] : SKIP
1405
+ transaction_currency_code =
1406
+ hash.key?('TransactionCurrencyCode') ? hash['TransactionCurrencyCode'] : SKIP
1407
+ transaction_currency_symbol =
1408
+ hash.key?('TransactionCurrencySymbol') ? hash['TransactionCurrencySymbol'] : SKIP
1409
+ transaction_net_amount =
1410
+ hash.key?('TransactionNetAmount') ? hash['TransactionNetAmount'] : SKIP
1411
+ transaction_tax =
1412
+ hash.key?('TransactionTax') ? hash['TransactionTax'] : SKIP
1413
+ transaction_gross_amount =
1414
+ hash.key?('TransactionGrossAmount') ? hash['TransactionGrossAmount'] : SKIP
1415
+ invoice_net_amount =
1416
+ hash.key?('InvoiceNetAmount') ? hash['InvoiceNetAmount'] : SKIP
1417
+ invoice_tax = hash.key?('InvoiceTax') ? hash['InvoiceTax'] : SKIP
1418
+ invoice_gross_amount =
1419
+ hash.key?('InvoiceGrossAmount') ? hash['InvoiceGrossAmount'] : SKIP
1420
+ purchased_in_country =
1421
+ hash.key?('PurchasedInCountry') ? hash['PurchasedInCountry'] : SKIP
1422
+ account_id = hash.key?('AccountId') ? hash['AccountId'] : SKIP
1423
+ account_number = hash.key?('AccountNumber') ? hash['AccountNumber'] : SKIP
1424
+ account_name = hash.key?('AccountName') ? hash['AccountName'] : SKIP
1425
+ account_short_name =
1426
+ hash.key?('AccountShortName') ? hash['AccountShortName'] : SKIP
1427
+ quantity = hash.key?('Quantity') ? hash['Quantity'] : SKIP
1428
+ fuel_product = hash.key?('FuelProduct') ? hash['FuelProduct'] : SKIP
1429
+ unit_price_in_transaction_currency =
1430
+ hash.key?('UnitPriceInTransactionCurrency') ? hash['UnitPriceInTransactionCurrency'] : SKIP
1431
+ unit_price_in_invoice_currency =
1432
+ hash.key?('UnitPriceInInvoiceCurrency') ? hash['UnitPriceInInvoiceCurrency'] : SKIP
1433
+ unit_discount_transaction_currency =
1434
+ hash.key?('UnitDiscountTransactionCurrency') ? hash['UnitDiscountTransactionCurrency'] : SKIP
1435
+ unit_discount_invoice_currency =
1436
+ hash.key?('UnitDiscountInvoiceCurrency') ? hash['UnitDiscountInvoiceCurrency'] : SKIP
1437
+ is_invoiced = hash.key?('IsInvoiced') ? hash['IsInvoiced'] : SKIP
1438
+ invoice_number = hash.key?('InvoiceNumber') ? hash['InvoiceNumber'] : SKIP
1439
+ invoice_date = hash.key?('InvoiceDate') ? hash['InvoiceDate'] : SKIP
1440
+ site_code = hash.key?('SiteCode') ? hash['SiteCode'] : SKIP
1441
+ site_name = hash.key?('SiteName') ? hash['SiteName'] : SKIP
1442
+ site_country = hash.key?('SiteCountry') ? hash['SiteCountry'] : SKIP
1443
+ # Parameter is an array, so we need to iterate through it
1444
+ location = nil
1445
+ unless hash['Location'].nil?
1446
+ location = []
1447
+ hash['Location'].each do |structure|
1448
+ location << (PricedTransactionItemsLocationItems.from_hash(structure) if structure)
1449
+ end
1450
+ end
1451
+
1452
+ location = SKIP unless hash.key?('Location')
1453
+ card_group_name =
1454
+ hash.key?('CardGroupName') ? hash['CardGroupName'] : SKIP
1455
+ receipt_number = hash.key?('ReceiptNumber') ? hash['ReceiptNumber'] : SKIP
1456
+ product_code = hash.key?('ProductCode') ? hash['ProductCode'] : SKIP
1457
+ product_name = hash.key?('ProductName') ? hash['ProductName'] : SKIP
1458
+ product_group_id =
1459
+ hash.key?('ProductGroupId') ? hash['ProductGroupId'] : SKIP
1460
+ product_group_name =
1461
+ hash.key?('ProductGroupName') ? hash['ProductGroupName'] : SKIP
1462
+ del_co_exchange_rate =
1463
+ hash.key?('DelCoExchangeRate') ? hash['DelCoExchangeRate'] : SKIP
1464
+ col_co_exchange_rate =
1465
+ hash.key?('ColCoExchangeRate') ? hash['ColCoExchangeRate'] : SKIP
1466
+ is_shell_site = hash.key?('IsShellSite') ? hash['IsShellSite'] : SKIP
1467
+ network = hash.key?('Network') ? hash['Network'] : SKIP
1468
+ site_group_id = hash.key?('SiteGroupId') ? hash['SiteGroupId'] : SKIP
1469
+ site_group_name =
1470
+ hash.key?('SiteGroupName') ? hash['SiteGroupName'] : SKIP
1471
+ posting_date = hash.key?('PostingDate') ? hash['PostingDate'] : SKIP
1472
+ issuer_code = hash.key?('IssuerCode') ? hash['IssuerCode'] : SKIP
1473
+ purchased_in_country_code =
1474
+ hash.key?('PurchasedInCountryCode') ? hash['PurchasedInCountryCode'] : SKIP
1475
+ customer_country_code =
1476
+ hash.key?('CustomerCountryCode') ? hash['CustomerCountryCode'] : SKIP
1477
+ customer_country =
1478
+ hash.key?('CustomerCountry') ? hash['CustomerCountry'] : SKIP
1479
+ release_code = hash.key?('ReleaseCode') ? hash['ReleaseCode'] : SKIP
1480
+ card_group_id = hash.key?('CardGroupId') ? hash['CardGroupId'] : SKIP
1481
+ card_sequence_number =
1482
+ hash.key?('CardSequenceNumber') ? hash['CardSequenceNumber'] : SKIP
1483
+ check_digit = hash.key?('CheckDigit') ? hash['CheckDigit'] : SKIP
1484
+ fleet_id_description =
1485
+ hash.key?('FleetIDDescription') ? hash['FleetIDDescription'] : SKIP
1486
+ vat_rate = hash.key?('VATRate') ? hash['VATRate'] : SKIP
1487
+ vat_category = hash.key?('VATCategory') ? hash['VATCategory'] : SKIP
1488
+ vat_country = hash.key?('VATCountry') ? hash['VATCountry'] : SKIP
1489
+ effective_discount_in_trx_currency =
1490
+ hash.key?('EffectiveDiscountInTrxCurrency') ? hash['EffectiveDiscountInTrxCurrency'] : SKIP
1491
+ transaction_type =
1492
+ hash.key?('TransactionType') ? hash['TransactionType'] : SKIP
1493
+ pin_indicator = hash.key?('PINIndicator') ? hash['PINIndicator'] : SKIP
1494
+ vat_applicable = hash.key?('VATApplicable') ? hash['VATApplicable'] : SKIP
1495
+ net_invoice_indicator =
1496
+ hash.key?('NetInvoiceIndicator') ? hash['NetInvoiceIndicator'] : SKIP
1497
+ customer_currency_code =
1498
+ hash.key?('CustomerCurrencyCode') ? hash['CustomerCurrencyCode'] : SKIP
1499
+ customer_currency_symbol =
1500
+ hash.key?('CustomerCurrencySymbol') ? hash['CustomerCurrencySymbol'] : SKIP
1501
+ effective_unit_discount_in_customer_currency =
1502
+ hash.key?('EffectiveUnitDiscountInCustomerCurrency') ? hash['EffectiveUnitDiscountInCustomerCurrency'] : SKIP
1503
+ effective_discount_in_customer_currency =
1504
+ hash.key?('EffectiveDiscountInCustomerCurrency') ? hash['EffectiveDiscountInCustomerCurrency'] : SKIP
1505
+ va_ton_net_amount_in_customer_currency =
1506
+ hash.key?('VATonNetAmountInCustomerCurrency') ? hash['VATonNetAmountInCustomerCurrency'] : SKIP
1507
+ discount_type = hash.key?('DiscountType') ? hash['DiscountType'] : SKIP
1508
+ transaction_status =
1509
+ hash.key?('TransactionStatus') ? hash['TransactionStatus'] : SKIP
1510
+ sales_item_id = hash.key?('SalesItemId') ? hash['SalesItemId'] : SKIP
1511
+ payer_group = hash.key?('PayerGroup') ? hash['PayerGroup'] : SKIP
1512
+ payer_group_name =
1513
+ hash.key?('PayerGroupName') ? hash['PayerGroupName'] : SKIP
1514
+ refund_flag = hash.key?('RefundFlag') ? hash['RefundFlag'] : SKIP
1515
+ original_sales_item_id =
1516
+ hash.key?('OriginalSalesItemId') ? hash['OriginalSalesItemId'] : SKIP
1517
+ delco_name = hash.key?('DelcoName') ? hash['DelcoName'] : SKIP
1518
+ delco_code = hash.key?('DelcoCode') ? hash['DelcoCode'] : SKIP
1519
+ payer_number = hash.key?('PayerNumber') ? hash['PayerNumber'] : SKIP
1520
+ payer_name = hash.key?('PayerName') ? hash['PayerName'] : SKIP
1521
+ card_expiry_period =
1522
+ hash.key?('CardExpiryPeriod') ? hash['CardExpiryPeriod'] : SKIP
1523
+ authorisation_code =
1524
+ hash.key?('AuthorisationCode') ? hash['AuthorisationCode'] : SKIP
1525
+ transaction_id = hash.key?('TransactionId') ? hash['TransactionId'] : SKIP
1526
+ transaction_line =
1527
+ hash.key?('TransactionLine') ? hash['TransactionLine'] : SKIP
1528
+ allow_clearing = hash.key?('AllowClearing') ? hash['AllowClearing'] : SKIP
1529
+ crm_number = hash.key?('CRMNumber') ? hash['CRMNumber'] : SKIP
1530
+ dispute_status = hash.key?('DisputeStatus') ? hash['DisputeStatus'] : SKIP
1531
+ rebate_rate = hash.key?('RebateRate') ? hash['RebateRate'] : SKIP
1532
+ del_co_to_col_co_exchange_rate =
1533
+ hash.key?('DelCoToColCoExchangeRate') ? hash['DelCoToColCoExchangeRate'] : SKIP
1534
+ net_euro_amount =
1535
+ hash.key?('NetEuroAmount') ? hash['NetEuroAmount'] : SKIP
1536
+ euro_rebate_amount =
1537
+ hash.key?('EuroRebateAmount') ? hash['EuroRebateAmount'] : SKIP
1538
+ euro_vat_amount =
1539
+ hash.key?('EuroVATAmount') ? hash['EuroVATAmount'] : SKIP
1540
+ parent_customer_number =
1541
+ hash.key?('ParentCustomerNumber') ? hash['ParentCustomerNumber'] : SKIP
1542
+ parent_customer_name =
1543
+ hash.key?('ParentCustomerName') ? hash['ParentCustomerName'] : SKIP
1544
+ parent_customer_id =
1545
+ hash.key?('ParentCustomerId') ? hash['ParentCustomerId'] : SKIP
1546
+ incoming_site_number =
1547
+ hash.key?('IncomingSiteNumber') ? hash['IncomingSiteNumber'] : SKIP
1548
+ incoming_site_description =
1549
+ hash.key?('IncomingSiteDescription') ? hash['IncomingSiteDescription'] : SKIP
1550
+ incoming_currency_code =
1551
+ hash.key?('IncomingCurrencyCode') ? hash['IncomingCurrencyCode'] : SKIP
1552
+ incoming_product_code =
1553
+ hash.key?('IncomingProductCode') ? hash['IncomingProductCode'] : SKIP
1554
+ credit_debit_code =
1555
+ hash.key?('CreditDebitCode') ? hash['CreditDebitCode'] : SKIP
1556
+ correction_flag =
1557
+ hash.key?('CorrectionFlag') ? hash['CorrectionFlag'] : SKIP
1558
+ additional1 = hash.key?('Additional1') ? hash['Additional1'] : SKIP
1559
+ additional2 = hash.key?('Additional2') ? hash['Additional2'] : SKIP
1560
+ additional3 = hash.key?('Additional3') ? hash['Additional3'] : SKIP
1561
+ additional4 = hash.key?('Additional4') ? hash['Additional4'] : SKIP
1562
+ rebateon_net_amount_in_customer_currency =
1563
+ hash.key?('RebateonNetAmountInCustomerCurrency') ? hash['RebateonNetAmountInCustomerCurrency'] : SKIP
1564
+ rebateon_net_amount_in_transaction_currency =
1565
+ hash.key?('RebateonNetAmountInTransactionCurrency') ? hash['RebateonNetAmountInTransactionCurrency'] : SKIP
1566
+ network_code = hash.key?('NetworkCode') ? hash['NetworkCode'] : SKIP
1567
+ trn_identifier = hash.key?('TrnIdentifier') ? hash['TrnIdentifier'] : SKIP
1568
+ card_type = hash.key?('CardType') ? hash['CardType'] : SKIP
1569
+ delco_list_price_unit_net =
1570
+ hash.key?('DelcoListPriceUnitNet') ? hash['DelcoListPriceUnitNet'] : SKIP
1571
+ delco_retail_price_unit_net =
1572
+ hash.key?('DelcoRetailPriceUnitNet') ? hash['DelcoRetailPriceUnitNet'] : SKIP
1573
+ delco_retail_price_unit_gross =
1574
+ hash.key?('DelcoRetailPriceUnitGross') ? hash['DelcoRetailPriceUnitGross'] : SKIP
1575
+ delco_retail_value_total_net =
1576
+ hash.key?('DelcoRetailValueTotalNet') ? hash['DelcoRetailValueTotalNet'] : SKIP
1577
+ delco_retail_value_total_gross =
1578
+ hash.key?('DelcoRetailValueTotalGross') ? hash['DelcoRetailValueTotalGross'] : SKIP
1579
+ customer_retail_price_unit_gross =
1580
+ hash.key?('CustomerRetailPriceUnitGross') ? hash['CustomerRetailPriceUnitGross'] : SKIP
1581
+ customer_retail_value_total_gross =
1582
+ hash.key?('CustomerRetailValueTotalGross') ? hash['CustomerRetailValueTotalGross'] : SKIP
1583
+ customer_retail_value_total_net =
1584
+ hash.key?('CustomerRetailValueTotalNet') ? hash['CustomerRetailValueTotalNet'] : SKIP
1585
+ transaction_type_description =
1586
+ hash.key?('TransactionTypeDescription') ? hash['TransactionTypeDescription'] : SKIP
1587
+ error = ErrorStatus.from_hash(hash['Error']) if hash['Error']
1588
+ request_id = hash.key?('RequestId') ? hash['RequestId'] : SKIP
1589
+
1590
+ # Create object from extracted values.
1591
+ PricedTransactionResponseTransactionsItems.new(type,
1592
+ card_id,
1593
+ card_pan,
1594
+ card_expiry,
1595
+ transaction_date,
1596
+ transaction_time,
1597
+ utc_offset,
1598
+ fleet_id_input,
1599
+ odometer_input,
1600
+ driver_name,
1601
+ vehicle_registration,
1602
+ invoice_currency_code,
1603
+ invoice_currency_symbol,
1604
+ transaction_currency_code,
1605
+ transaction_currency_symbol,
1606
+ transaction_net_amount,
1607
+ transaction_tax,
1608
+ transaction_gross_amount,
1609
+ invoice_net_amount,
1610
+ invoice_tax,
1611
+ invoice_gross_amount,
1612
+ purchased_in_country,
1613
+ account_id,
1614
+ account_number,
1615
+ account_name,
1616
+ account_short_name,
1617
+ quantity,
1618
+ fuel_product,
1619
+ unit_price_in_transaction_currency,
1620
+ unit_price_in_invoice_currency,
1621
+ unit_discount_transaction_currency,
1622
+ unit_discount_invoice_currency,
1623
+ is_invoiced,
1624
+ invoice_number,
1625
+ invoice_date,
1626
+ site_code,
1627
+ site_name,
1628
+ site_country,
1629
+ location,
1630
+ card_group_name,
1631
+ receipt_number,
1632
+ product_code,
1633
+ product_name,
1634
+ product_group_id,
1635
+ product_group_name,
1636
+ del_co_exchange_rate,
1637
+ col_co_exchange_rate,
1638
+ is_shell_site,
1639
+ network,
1640
+ site_group_id,
1641
+ site_group_name,
1642
+ posting_date,
1643
+ issuer_code,
1644
+ purchased_in_country_code,
1645
+ customer_country_code,
1646
+ customer_country,
1647
+ release_code,
1648
+ card_group_id,
1649
+ card_sequence_number,
1650
+ check_digit,
1651
+ fleet_id_description,
1652
+ vat_rate,
1653
+ vat_category,
1654
+ vat_country,
1655
+ effective_discount_in_trx_currency,
1656
+ transaction_type,
1657
+ pin_indicator,
1658
+ vat_applicable,
1659
+ net_invoice_indicator,
1660
+ customer_currency_code,
1661
+ customer_currency_symbol,
1662
+ effective_unit_discount_in_customer_currency,
1663
+ effective_discount_in_customer_currency,
1664
+ va_ton_net_amount_in_customer_currency,
1665
+ discount_type,
1666
+ transaction_status,
1667
+ sales_item_id,
1668
+ payer_group,
1669
+ payer_group_name,
1670
+ refund_flag,
1671
+ original_sales_item_id,
1672
+ delco_name,
1673
+ delco_code,
1674
+ payer_number,
1675
+ payer_name,
1676
+ card_expiry_period,
1677
+ authorisation_code,
1678
+ transaction_id,
1679
+ transaction_line,
1680
+ allow_clearing,
1681
+ crm_number,
1682
+ dispute_status,
1683
+ rebate_rate,
1684
+ del_co_to_col_co_exchange_rate,
1685
+ net_euro_amount,
1686
+ euro_rebate_amount,
1687
+ euro_vat_amount,
1688
+ parent_customer_number,
1689
+ parent_customer_name,
1690
+ parent_customer_id,
1691
+ incoming_site_number,
1692
+ incoming_site_description,
1693
+ incoming_currency_code,
1694
+ incoming_product_code,
1695
+ credit_debit_code,
1696
+ correction_flag,
1697
+ additional1,
1698
+ additional2,
1699
+ additional3,
1700
+ additional4,
1701
+ rebateon_net_amount_in_customer_currency,
1702
+ rebateon_net_amount_in_transaction_currency,
1703
+ network_code,
1704
+ trn_identifier,
1705
+ card_type,
1706
+ delco_list_price_unit_net,
1707
+ delco_retail_price_unit_net,
1708
+ delco_retail_price_unit_gross,
1709
+ delco_retail_value_total_net,
1710
+ delco_retail_value_total_gross,
1711
+ customer_retail_price_unit_gross,
1712
+ customer_retail_value_total_gross,
1713
+ customer_retail_value_total_net,
1714
+ transaction_type_description,
1715
+ error,
1716
+ request_id)
1717
+ end
1718
+ end
1719
+ end