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,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