data-and-reporting-sdk 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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,437 @@
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
+ # CustomerDetailResponse Model.
8
+ class CustomerDetailResponse < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Account Id of the selected account.
13
+ # @return [Integer]
14
+ attr_accessor :account_id
15
+
16
+ # Account Name of the selected account.
17
+ # @return [String]
18
+ attr_accessor :account_name
19
+
20
+ # Account Number of the selected account.
21
+ # @return [String]
22
+ attr_accessor :account_number
23
+
24
+ # Short name of the customer.
25
+ # @return [String]
26
+ attr_accessor :account_short_name
27
+
28
+ # Trading name of the customer
29
+ # @return [String]
30
+ attr_accessor :account_trading_name
31
+
32
+ # True/False.
33
+ # When false, users should not be allowed to enable Fleet Id prompt option
34
+ # while ordering cards under this account.
35
+ # @return [TrueClass | FalseClass]
36
+ attr_accessor :allow_fleet_id_input
37
+
38
+ # Band Id and Description of the Payer in Card Platform
39
+ # e.g. (Id – Description):
40
+ # 1-Platinum
41
+ # 2-Gold
42
+ # 3-Silver
43
+ # 4-Bronze
44
+ # @return [String]
45
+ attr_accessor :band
46
+
47
+ # Band Id and Description of the Payer in Card Platform
48
+ # e.g. (Id – Description):
49
+ # 1-Platinum
50
+ # 2-Gold
51
+ # 3-Silver
52
+ # 4-Bronze
53
+ # @return [Address]
54
+ attr_accessor :billing_address
55
+
56
+ # Card group position at –
57
+ # • Payer – Payer level
58
+ # • Account – Account level
59
+ # @return [String]
60
+ attr_accessor :card_group_position
61
+
62
+ # Card group position at –
63
+ # • Payer – Payer level
64
+ # • Account – Account level
65
+ # @return [Address]
66
+ attr_accessor :correspondence_address
67
+
68
+ # Card group position at –
69
+ # • Payer – Payer level
70
+ # • Account – Account level
71
+ # @return [Array[DeliveryAddresses]]
72
+ attr_accessor :delivery_addresses
73
+
74
+ # Is Fleet Pin optional enabled for the selected account
75
+ # @return [TrueClass | FalseClass]
76
+ attr_accessor :fleet_pin
77
+
78
+ # Full Name of the customer
79
+ # @return [String]
80
+ attr_accessor :full_name
81
+
82
+ # Customer Id of the Invoice Point of the account
83
+ # @return [Integer]
84
+ attr_accessor :invoice_customer_id
85
+
86
+ # Short Name of the Invoice Point of the account
87
+ # @return [String]
88
+ attr_accessor :invoice_customer_short_name
89
+
90
+ # Whether the account is an invoice point.
91
+ # @return [TrueClass | FalseClass]
92
+ attr_accessor :is_invoice_point
93
+
94
+ # Marketing Segmentation id and description
95
+ # e.g. (Id – Description):
96
+ # 1-National CRT
97
+ # 2-International CRT & IKAs
98
+ # 3-Small Customers
99
+ # 4-National/International Fleet/IKA
100
+ # @return [String]
101
+ attr_accessor :marketing_segmentation
102
+
103
+ # VAT Registration Number of Customer
104
+ # @return [String]
105
+ attr_accessor :vat_number
106
+
107
+ # Payer Id of the selected account.
108
+ # @return [Integer]
109
+ attr_accessor :payer_id
110
+
111
+ # Payer Name of the selected account.
112
+ # @return [String]
113
+ attr_accessor :payer_name
114
+
115
+ # Payer Number of the selected account.
116
+ # @return [String]
117
+ attr_accessor :payer_number
118
+
119
+ # Is Self-selected Pin enabled for the account
120
+ # @return [TrueClass | FalseClass]
121
+ attr_accessor :self_selected_pin
122
+
123
+ # Payer current status id and description
124
+ # e.g. (Id – Description):
125
+ # 1-Active
126
+ # 2-Requested from UTA
127
+ # 3-Awaiting embossing
128
+ # 4-Manufactured
129
+ # 5-Awaiting despatch
130
+ # @return [String]
131
+ attr_accessor :status
132
+
133
+ # Default PIN AdviceType of the customer.
134
+ # Possible Values:
135
+ # 1. Paper
136
+ # 2. Email
137
+ # 3. SMS
138
+ # 4. None
139
+ # @return [Integer]
140
+ attr_accessor :default_pin_advice_type
141
+
142
+ # Default PIN AdviceType of the customer.
143
+ # Possible Values:
144
+ # 1. Paper
145
+ # 2. Email
146
+ # 3. SMS
147
+ # 4. None
148
+ # @return [Array[PINAdviceTypes]]
149
+ attr_accessor :pin_advice_types
150
+
151
+ # Default PIN AdviceType of the customer.
152
+ # Possible Values:
153
+ # 1. Paper
154
+ # 2. Email
155
+ # 3. SMS
156
+ # 4. None
157
+ # @return [ErrorStatus]
158
+ attr_accessor :error
159
+
160
+ # API Request id
161
+ # @return [String]
162
+ attr_accessor :request_id
163
+
164
+ # PIN change allowed for card holder or not.
165
+ # @return [TrueClass | FalseClass]
166
+ attr_accessor :pin_change_allowed_by_cardholder
167
+
168
+ # PIN change allowed from fleetpin or not.
169
+ # @return [TrueClass | FalseClass]
170
+ attr_accessor :pin_change_allowed_from_fleet_pin
171
+
172
+ # A mapping from model property names to API property names.
173
+ def self.names
174
+ @_hash = {} if @_hash.nil?
175
+ @_hash['account_id'] = 'AccountId'
176
+ @_hash['account_name'] = 'AccountName'
177
+ @_hash['account_number'] = 'AccountNumber'
178
+ @_hash['account_short_name'] = 'AccountShortName'
179
+ @_hash['account_trading_name'] = 'AccountTradingName'
180
+ @_hash['allow_fleet_id_input'] = 'AllowFleetIdInput'
181
+ @_hash['band'] = 'Band'
182
+ @_hash['billing_address'] = 'BillingAddress'
183
+ @_hash['card_group_position'] = 'CardGroupPosition'
184
+ @_hash['correspondence_address'] = 'CorrespondenceAddress'
185
+ @_hash['delivery_addresses'] = 'DeliveryAddresses'
186
+ @_hash['fleet_pin'] = 'FleetPin'
187
+ @_hash['full_name'] = 'FullName'
188
+ @_hash['invoice_customer_id'] = 'InvoiceCustomerId'
189
+ @_hash['invoice_customer_short_name'] = 'InvoiceCustomerShortName'
190
+ @_hash['is_invoice_point'] = 'IsInvoicePoint'
191
+ @_hash['marketing_segmentation'] = 'MarketingSegmentation'
192
+ @_hash['vat_number'] = 'VATNumber'
193
+ @_hash['payer_id'] = 'PayerId'
194
+ @_hash['payer_name'] = 'PayerName'
195
+ @_hash['payer_number'] = 'PayerNumber'
196
+ @_hash['self_selected_pin'] = 'SelfSelectedPin'
197
+ @_hash['status'] = 'Status'
198
+ @_hash['default_pin_advice_type'] = 'DefaultPINAdviceType'
199
+ @_hash['pin_advice_types'] = 'PINAdviceTypes'
200
+ @_hash['error'] = 'Error'
201
+ @_hash['request_id'] = 'RequestId'
202
+ @_hash['pin_change_allowed_by_cardholder'] =
203
+ 'PINChangeAllowedByCardholder'
204
+ @_hash['pin_change_allowed_from_fleet_pin'] =
205
+ 'PINChangeAllowedFromFleetPIN'
206
+ @_hash
207
+ end
208
+
209
+ # An array for optional fields
210
+ def self.optionals
211
+ %w[
212
+ account_id
213
+ account_name
214
+ account_number
215
+ account_short_name
216
+ account_trading_name
217
+ allow_fleet_id_input
218
+ band
219
+ billing_address
220
+ card_group_position
221
+ correspondence_address
222
+ delivery_addresses
223
+ fleet_pin
224
+ full_name
225
+ invoice_customer_id
226
+ invoice_customer_short_name
227
+ is_invoice_point
228
+ marketing_segmentation
229
+ vat_number
230
+ payer_id
231
+ payer_name
232
+ payer_number
233
+ self_selected_pin
234
+ status
235
+ default_pin_advice_type
236
+ pin_advice_types
237
+ error
238
+ request_id
239
+ pin_change_allowed_by_cardholder
240
+ pin_change_allowed_from_fleet_pin
241
+ ]
242
+ end
243
+
244
+ # An array for nullable fields
245
+ def self.nullables
246
+ %w[
247
+ account_id
248
+ account_name
249
+ account_number
250
+ account_short_name
251
+ account_trading_name
252
+ band
253
+ card_group_position
254
+ full_name
255
+ invoice_customer_id
256
+ invoice_customer_short_name
257
+ is_invoice_point
258
+ marketing_segmentation
259
+ vat_number
260
+ payer_id
261
+ payer_name
262
+ payer_number
263
+ self_selected_pin
264
+ status
265
+ default_pin_advice_type
266
+ request_id
267
+ ]
268
+ end
269
+
270
+ def initialize(account_id = SKIP,
271
+ account_name = SKIP,
272
+ account_number = SKIP,
273
+ account_short_name = SKIP,
274
+ account_trading_name = SKIP,
275
+ allow_fleet_id_input = SKIP,
276
+ band = SKIP,
277
+ billing_address = SKIP,
278
+ card_group_position = SKIP,
279
+ correspondence_address = SKIP,
280
+ delivery_addresses = SKIP,
281
+ fleet_pin = SKIP,
282
+ full_name = SKIP,
283
+ invoice_customer_id = SKIP,
284
+ invoice_customer_short_name = SKIP,
285
+ is_invoice_point = SKIP,
286
+ marketing_segmentation = SKIP,
287
+ vat_number = SKIP,
288
+ payer_id = SKIP,
289
+ payer_name = SKIP,
290
+ payer_number = SKIP,
291
+ self_selected_pin = SKIP,
292
+ status = SKIP,
293
+ default_pin_advice_type = SKIP,
294
+ pin_advice_types = SKIP,
295
+ error = SKIP,
296
+ request_id = SKIP,
297
+ pin_change_allowed_by_cardholder = SKIP,
298
+ pin_change_allowed_from_fleet_pin = SKIP)
299
+ @account_id = account_id unless account_id == SKIP
300
+ @account_name = account_name unless account_name == SKIP
301
+ @account_number = account_number unless account_number == SKIP
302
+ @account_short_name = account_short_name unless account_short_name == SKIP
303
+ @account_trading_name = account_trading_name unless account_trading_name == SKIP
304
+ @allow_fleet_id_input = allow_fleet_id_input unless allow_fleet_id_input == SKIP
305
+ @band = band unless band == SKIP
306
+ @billing_address = billing_address unless billing_address == SKIP
307
+ @card_group_position = card_group_position unless card_group_position == SKIP
308
+ @correspondence_address = correspondence_address unless correspondence_address == SKIP
309
+ @delivery_addresses = delivery_addresses unless delivery_addresses == SKIP
310
+ @fleet_pin = fleet_pin unless fleet_pin == SKIP
311
+ @full_name = full_name unless full_name == SKIP
312
+ @invoice_customer_id = invoice_customer_id unless invoice_customer_id == SKIP
313
+ unless invoice_customer_short_name == SKIP
314
+ @invoice_customer_short_name =
315
+ invoice_customer_short_name
316
+ end
317
+ @is_invoice_point = is_invoice_point unless is_invoice_point == SKIP
318
+ @marketing_segmentation = marketing_segmentation unless marketing_segmentation == SKIP
319
+ @vat_number = vat_number unless vat_number == SKIP
320
+ @payer_id = payer_id unless payer_id == SKIP
321
+ @payer_name = payer_name unless payer_name == SKIP
322
+ @payer_number = payer_number unless payer_number == SKIP
323
+ @self_selected_pin = self_selected_pin unless self_selected_pin == SKIP
324
+ @status = status unless status == SKIP
325
+ @default_pin_advice_type = default_pin_advice_type unless default_pin_advice_type == SKIP
326
+ @pin_advice_types = pin_advice_types unless pin_advice_types == SKIP
327
+ @error = error unless error == SKIP
328
+ @request_id = request_id unless request_id == SKIP
329
+ unless pin_change_allowed_by_cardholder == SKIP
330
+ @pin_change_allowed_by_cardholder =
331
+ pin_change_allowed_by_cardholder
332
+ end
333
+ unless pin_change_allowed_from_fleet_pin == SKIP
334
+ @pin_change_allowed_from_fleet_pin =
335
+ pin_change_allowed_from_fleet_pin
336
+ end
337
+ end
338
+
339
+ # Creates an instance of the object from a hash.
340
+ def self.from_hash(hash)
341
+ return nil unless hash
342
+
343
+ # Extract variables from the hash.
344
+ account_id = hash.key?('AccountId') ? hash['AccountId'] : SKIP
345
+ account_name = hash.key?('AccountName') ? hash['AccountName'] : SKIP
346
+ account_number = hash.key?('AccountNumber') ? hash['AccountNumber'] : SKIP
347
+ account_short_name =
348
+ hash.key?('AccountShortName') ? hash['AccountShortName'] : SKIP
349
+ account_trading_name =
350
+ hash.key?('AccountTradingName') ? hash['AccountTradingName'] : SKIP
351
+ allow_fleet_id_input =
352
+ hash.key?('AllowFleetIdInput') ? hash['AllowFleetIdInput'] : SKIP
353
+ band = hash.key?('Band') ? hash['Band'] : SKIP
354
+ billing_address = Address.from_hash(hash['BillingAddress']) if hash['BillingAddress']
355
+ card_group_position =
356
+ hash.key?('CardGroupPosition') ? hash['CardGroupPosition'] : SKIP
357
+ correspondence_address = Address.from_hash(hash['CorrespondenceAddress']) if
358
+ hash['CorrespondenceAddress']
359
+ # Parameter is an array, so we need to iterate through it
360
+ delivery_addresses = nil
361
+ unless hash['DeliveryAddresses'].nil?
362
+ delivery_addresses = []
363
+ hash['DeliveryAddresses'].each do |structure|
364
+ delivery_addresses << (DeliveryAddresses.from_hash(structure) if structure)
365
+ end
366
+ end
367
+
368
+ delivery_addresses = SKIP unless hash.key?('DeliveryAddresses')
369
+ fleet_pin = hash.key?('FleetPin') ? hash['FleetPin'] : SKIP
370
+ full_name = hash.key?('FullName') ? hash['FullName'] : SKIP
371
+ invoice_customer_id =
372
+ hash.key?('InvoiceCustomerId') ? hash['InvoiceCustomerId'] : SKIP
373
+ invoice_customer_short_name =
374
+ hash.key?('InvoiceCustomerShortName') ? hash['InvoiceCustomerShortName'] : SKIP
375
+ is_invoice_point =
376
+ hash.key?('IsInvoicePoint') ? hash['IsInvoicePoint'] : SKIP
377
+ marketing_segmentation =
378
+ hash.key?('MarketingSegmentation') ? hash['MarketingSegmentation'] : SKIP
379
+ vat_number = hash.key?('VATNumber') ? hash['VATNumber'] : SKIP
380
+ payer_id = hash.key?('PayerId') ? hash['PayerId'] : SKIP
381
+ payer_name = hash.key?('PayerName') ? hash['PayerName'] : SKIP
382
+ payer_number = hash.key?('PayerNumber') ? hash['PayerNumber'] : SKIP
383
+ self_selected_pin =
384
+ hash.key?('SelfSelectedPin') ? hash['SelfSelectedPin'] : SKIP
385
+ status = hash.key?('Status') ? hash['Status'] : SKIP
386
+ default_pin_advice_type =
387
+ hash.key?('DefaultPINAdviceType') ? hash['DefaultPINAdviceType'] : SKIP
388
+ # Parameter is an array, so we need to iterate through it
389
+ pin_advice_types = nil
390
+ unless hash['PINAdviceTypes'].nil?
391
+ pin_advice_types = []
392
+ hash['PINAdviceTypes'].each do |structure|
393
+ pin_advice_types << (PINAdviceTypes.from_hash(structure) if structure)
394
+ end
395
+ end
396
+
397
+ pin_advice_types = SKIP unless hash.key?('PINAdviceTypes')
398
+ error = ErrorStatus.from_hash(hash['Error']) if hash['Error']
399
+ request_id = hash.key?('RequestId') ? hash['RequestId'] : SKIP
400
+ pin_change_allowed_by_cardholder =
401
+ hash.key?('PINChangeAllowedByCardholder') ? hash['PINChangeAllowedByCardholder'] : SKIP
402
+ pin_change_allowed_from_fleet_pin =
403
+ hash.key?('PINChangeAllowedFromFleetPIN') ? hash['PINChangeAllowedFromFleetPIN'] : SKIP
404
+
405
+ # Create object from extracted values.
406
+ CustomerDetailResponse.new(account_id,
407
+ account_name,
408
+ account_number,
409
+ account_short_name,
410
+ account_trading_name,
411
+ allow_fleet_id_input,
412
+ band,
413
+ billing_address,
414
+ card_group_position,
415
+ correspondence_address,
416
+ delivery_addresses,
417
+ fleet_pin,
418
+ full_name,
419
+ invoice_customer_id,
420
+ invoice_customer_short_name,
421
+ is_invoice_point,
422
+ marketing_segmentation,
423
+ vat_number,
424
+ payer_id,
425
+ payer_name,
426
+ payer_number,
427
+ self_selected_pin,
428
+ status,
429
+ default_pin_advice_type,
430
+ pin_advice_types,
431
+ error,
432
+ request_id,
433
+ pin_change_allowed_by_cardholder,
434
+ pin_change_allowed_from_fleet_pin)
435
+ end
436
+ end
437
+ end
@@ -0,0 +1,200 @@
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
+ # CustomerPriceListRequest Model.
8
+ class CustomerPriceListRequest < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [Integer]
14
+ attr_accessor :col_co_id
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [Integer]
18
+ attr_accessor :col_co_code
19
+
20
+ # Payer Id of the selected payer.
21
+ # Optional if PayerNumber is passed else Mandatory
22
+ # @return [Integer]
23
+ attr_accessor :payer_id
24
+
25
+ # Payer Number of the selected payer.
26
+ # Optional if PayerId is passed else Mandatory
27
+ # @return [String]
28
+ attr_accessor :payer_number
29
+
30
+ # Account Id of the customer.
31
+ # Optional
32
+ # @return [Integer]
33
+ attr_accessor :account_id
34
+
35
+ # Account Number of the customer.
36
+ # Optional
37
+ # @return [String]
38
+ attr_accessor :account_number
39
+
40
+ # Whether customer specific price lists and customer specific discount
41
+ # values set on pump prices are to be returned or not.
42
+ # @return [Integer]
43
+ attr_accessor :customer_specific_list
44
+
45
+ # Specifies the type of price lists to be included in the response.
46
+ # Optional – default value is zero.
47
+ # Allowed values:
48
+ # 0 – All
49
+ # 1 – National Only
50
+ # 2 – International Only
51
+ # @return [Integer]
52
+ attr_accessor :price_list_type
53
+
54
+ # Delivering Company ID
55
+ # Optional.
56
+ # @return [Integer]
57
+ attr_accessor :del_co_id
58
+
59
+ # Start date to fetch the price lists, discount values on pump prices and
60
+ # VAT rates.
61
+ # Mandatory
62
+ # Format: yyyyMMdd
63
+ # @return [String]
64
+ attr_accessor :from_date
65
+
66
+ # End date to fetch the price lists, discount values on pump prices and VAT
67
+ # rates.
68
+ # Mandatory and greater than or equal to FromDate.
69
+ # Maximum of 30 (configurable) day’s duration is allowed between ‘From’ and
70
+ # ‘To’ dates.
71
+ # Format: yyyyMMdd
72
+ # @return [String]
73
+ attr_accessor :to_date
74
+
75
+ # True / False.
76
+ # A flag to request the discount information set on pump prices for the
77
+ # customer to be included in the response.
78
+ # Optional
79
+ # Default value: False
80
+ # @return [TrueClass | FalseClass]
81
+ attr_accessor :include_pump_price_discounts
82
+
83
+ # A mapping from model property names to API property names.
84
+ def self.names
85
+ @_hash = {} if @_hash.nil?
86
+ @_hash['col_co_id'] = 'ColCoId'
87
+ @_hash['col_co_code'] = 'ColCoCode'
88
+ @_hash['payer_id'] = 'PayerId'
89
+ @_hash['payer_number'] = 'PayerNumber'
90
+ @_hash['account_id'] = 'AccountId'
91
+ @_hash['account_number'] = 'AccountNumber'
92
+ @_hash['customer_specific_list'] = 'CustomerSpecificList'
93
+ @_hash['price_list_type'] = 'PriceListType'
94
+ @_hash['del_co_id'] = 'DelCoId'
95
+ @_hash['from_date'] = 'FromDate'
96
+ @_hash['to_date'] = 'ToDate'
97
+ @_hash['include_pump_price_discounts'] = 'IncludePumpPriceDiscounts'
98
+ @_hash
99
+ end
100
+
101
+ # An array for optional fields
102
+ def self.optionals
103
+ %w[
104
+ col_co_id
105
+ col_co_code
106
+ payer_id
107
+ payer_number
108
+ account_id
109
+ account_number
110
+ customer_specific_list
111
+ price_list_type
112
+ del_co_id
113
+ include_pump_price_discounts
114
+ ]
115
+ end
116
+
117
+ # An array for nullable fields
118
+ def self.nullables
119
+ %w[
120
+ col_co_id
121
+ col_co_code
122
+ payer_id
123
+ payer_number
124
+ account_id
125
+ account_number
126
+ customer_specific_list
127
+ price_list_type
128
+ del_co_id
129
+ from_date
130
+ to_date
131
+ include_pump_price_discounts
132
+ ]
133
+ end
134
+
135
+ def initialize(from_date = nil,
136
+ to_date = nil,
137
+ col_co_id = SKIP,
138
+ col_co_code = SKIP,
139
+ payer_id = SKIP,
140
+ payer_number = SKIP,
141
+ account_id = SKIP,
142
+ account_number = SKIP,
143
+ customer_specific_list = SKIP,
144
+ price_list_type = SKIP,
145
+ del_co_id = SKIP,
146
+ include_pump_price_discounts = SKIP)
147
+ @col_co_id = col_co_id unless col_co_id == SKIP
148
+ @col_co_code = col_co_code unless col_co_code == SKIP
149
+ @payer_id = payer_id unless payer_id == SKIP
150
+ @payer_number = payer_number unless payer_number == SKIP
151
+ @account_id = account_id unless account_id == SKIP
152
+ @account_number = account_number unless account_number == SKIP
153
+ @customer_specific_list = customer_specific_list unless customer_specific_list == SKIP
154
+ @price_list_type = price_list_type unless price_list_type == SKIP
155
+ @del_co_id = del_co_id unless del_co_id == SKIP
156
+ @from_date = from_date
157
+ @to_date = to_date
158
+ unless include_pump_price_discounts == SKIP
159
+ @include_pump_price_discounts =
160
+ include_pump_price_discounts
161
+ end
162
+ end
163
+
164
+ # Creates an instance of the object from a hash.
165
+ def self.from_hash(hash)
166
+ return nil unless hash
167
+
168
+ # Extract variables from the hash.
169
+ from_date = hash.key?('FromDate') ? hash['FromDate'] : nil
170
+ to_date = hash.key?('ToDate') ? hash['ToDate'] : nil
171
+ col_co_id = hash.key?('ColCoId') ? hash['ColCoId'] : SKIP
172
+ col_co_code = hash.key?('ColCoCode') ? hash['ColCoCode'] : SKIP
173
+ payer_id = hash.key?('PayerId') ? hash['PayerId'] : SKIP
174
+ payer_number = hash.key?('PayerNumber') ? hash['PayerNumber'] : SKIP
175
+ account_id = hash.key?('AccountId') ? hash['AccountId'] : SKIP
176
+ account_number = hash.key?('AccountNumber') ? hash['AccountNumber'] : SKIP
177
+ customer_specific_list =
178
+ hash.key?('CustomerSpecificList') ? hash['CustomerSpecificList'] : SKIP
179
+ price_list_type =
180
+ hash.key?('PriceListType') ? hash['PriceListType'] : SKIP
181
+ del_co_id = hash.key?('DelCoId') ? hash['DelCoId'] : SKIP
182
+ include_pump_price_discounts =
183
+ hash.key?('IncludePumpPriceDiscounts') ? hash['IncludePumpPriceDiscounts'] : SKIP
184
+
185
+ # Create object from extracted values.
186
+ CustomerPriceListRequest.new(from_date,
187
+ to_date,
188
+ col_co_id,
189
+ col_co_code,
190
+ payer_id,
191
+ payer_number,
192
+ account_id,
193
+ account_number,
194
+ customer_specific_list,
195
+ price_list_type,
196
+ del_co_id,
197
+ include_pump_price_discounts)
198
+ end
199
+ end
200
+ end