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,45 @@
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
+ # OAuth 2 Authorization error codes
8
+ class OAuthProviderErrorEnum
9
+ O_AUTH_PROVIDER_ERROR_ENUM = [
10
+ # The request is missing a required parameter, includes an unsupported
11
+ # parameter value (other than grant type), repeats a parameter, includes
12
+ # multiple credentials, utilizes more than one mechanism for
13
+ # authenticating the client, or is otherwise malformed.
14
+ INVALID_REQUEST = 'invalid_request'.freeze,
15
+
16
+ # Client authentication failed (e.g., unknown client, no client
17
+ # authentication included, or unsupported authentication method).
18
+ INVALID_CLIENT = 'invalid_client'.freeze,
19
+
20
+ # The provided authorization grant (e.g., authorization code, resource
21
+ # owner credentials) or refresh token is invalid, expired, revoked, does
22
+ # not match the redirection URI used in the authorization request, or was
23
+ # issued to another client.
24
+ INVALID_GRANT = 'invalid_grant'.freeze,
25
+
26
+ # The authenticated client is not authorized to use this authorization
27
+ # grant type.
28
+ UNAUTHORIZED_CLIENT = 'unauthorized_client'.freeze,
29
+
30
+ # The authorization grant type is not supported by the authorization
31
+ # server.
32
+ UNSUPPORTED_GRANT_TYPE = 'unsupported_grant_type'.freeze,
33
+
34
+ # The requested scope is invalid, unknown, malformed, or exceeds the scope
35
+ # granted by the resource owner.
36
+ INVALID_SCOPE = 'invalid_scope'.freeze
37
+ ].freeze
38
+
39
+ def self.validate(value)
40
+ return false if value.nil?
41
+
42
+ O_AUTH_PROVIDER_ERROR_ENUM.include?(value)
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,100 @@
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
+ # OAuth 2 Authorization endpoint response
8
+ class OAuthToken < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Access token
13
+ # @return [String]
14
+ attr_accessor :access_token
15
+
16
+ # Type of access token
17
+ # @return [String]
18
+ attr_accessor :token_type
19
+
20
+ # Time in seconds before the access token expires
21
+ # @return [Integer]
22
+ attr_accessor :expires_in
23
+
24
+ # List of scopes granted
25
+ # This is a space-delimited list of strings.
26
+ # @return [String]
27
+ attr_accessor :scope
28
+
29
+ # Time of token expiry as unix timestamp (UTC)
30
+ # @return [Integer]
31
+ attr_accessor :expiry
32
+
33
+ # Refresh token
34
+ # Used to get a new access token when it expires.
35
+ # @return [String]
36
+ attr_accessor :refresh_token
37
+
38
+ # A mapping from model property names to API property names.
39
+ def self.names
40
+ @_hash = {} if @_hash.nil?
41
+ @_hash['access_token'] = 'access_token'
42
+ @_hash['token_type'] = 'token_type'
43
+ @_hash['expires_in'] = 'expires_in'
44
+ @_hash['scope'] = 'scope'
45
+ @_hash['expiry'] = 'expiry'
46
+ @_hash['refresh_token'] = 'refresh_token'
47
+ @_hash
48
+ end
49
+
50
+ # An array for optional fields
51
+ def self.optionals
52
+ %w[
53
+ expires_in
54
+ scope
55
+ expiry
56
+ refresh_token
57
+ ]
58
+ end
59
+
60
+ # An array for nullable fields
61
+ def self.nullables
62
+ []
63
+ end
64
+
65
+ def initialize(access_token = nil,
66
+ token_type = nil,
67
+ expires_in = SKIP,
68
+ scope = SKIP,
69
+ expiry = SKIP,
70
+ refresh_token = SKIP)
71
+ @access_token = access_token
72
+ @token_type = token_type
73
+ @expires_in = expires_in unless expires_in == SKIP
74
+ @scope = scope unless scope == SKIP
75
+ @expiry = expiry unless expiry == SKIP
76
+ @refresh_token = refresh_token unless refresh_token == SKIP
77
+ end
78
+
79
+ # Creates an instance of the object from a hash.
80
+ def self.from_hash(hash)
81
+ return nil unless hash
82
+
83
+ # Extract variables from the hash.
84
+ access_token = hash.key?('access_token') ? hash['access_token'] : nil
85
+ token_type = hash.key?('token_type') ? hash['token_type'] : nil
86
+ expires_in = hash.key?('expires_in') ? hash['expires_in'] : SKIP
87
+ scope = hash.key?('scope') ? hash['scope'] : SKIP
88
+ expiry = hash.key?('expiry') ? hash['expiry'] : SKIP
89
+ refresh_token = hash.key?('refresh_token') ? hash['refresh_token'] : SKIP
90
+
91
+ # Create object from extracted values.
92
+ OAuthToken.new(access_token,
93
+ token_type,
94
+ expires_in,
95
+ scope,
96
+ expiry,
97
+ refresh_token)
98
+ end
99
+ end
100
+ end
@@ -0,0 +1,502 @@
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
+ # PastStatementOfAccounts Model.
8
+ class PastStatementOfAccounts < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Invoiced amount under this statement of account and due for payment.
13
+ # @return [Float]
14
+ attr_accessor :amount_due
15
+
16
+ # Total Invoiced amount until this SOA and not overdue for payment.
17
+ # @return [Float]
18
+ attr_accessor :amount_not_overdue
19
+
20
+ # Overdue amount from the previously generated statement of accounts.
21
+ # @return [Float]
22
+ attr_accessor :amount_overdue
23
+
24
+ # Overdue amount calculated from unallocated payment.
25
+ # @return [Float]
26
+ attr_accessor :amount_overdue_from_unallocated
27
+
28
+ # Amount settled for this Statement.
29
+ # @return [Float]
30
+ attr_accessor :amount_paid
31
+
32
+ # Balance amount to be settled on this SOA.
33
+ # @return [Float]
34
+ attr_accessor :balance_on_this_statement
35
+
36
+ # Billing currency ISO code.
37
+ # Example: EUR
38
+ # @return [String]
39
+ attr_accessor :billing_currency_code
40
+
41
+ # Billing currency symbol.
42
+ # Example: €
43
+ # @return [String]
44
+ attr_accessor :billing_currency_symbol
45
+
46
+ # Credit limit.
47
+ # @return [Float]
48
+ attr_accessor :credit_limit
49
+
50
+ # ISO code of the credit limit’s currency.
51
+ # Example: EUR
52
+ # @return [String]
53
+ attr_accessor :credit_limit_currency_code
54
+
55
+ # Symbol of the credit limit’s currency.
56
+ # Example: €
57
+ # @return [String]
58
+ attr_accessor :credit_limit_currency_symbol
59
+
60
+ # Credit limit in Customer currency.
61
+ # Note: For currency details refer the parameters CurrencyCode &
62
+ # CurrencySymbol in the SOADetail response.
63
+ # @return [Float]
64
+ attr_accessor :credit_limit_in_customer_currency
65
+
66
+ # ISO code of SOA currency.
67
+ # Example: EUR
68
+ # @return [String]
69
+ attr_accessor :currency_code
70
+
71
+ # Symbol of SOA currency.
72
+ # Example: €
73
+ # @return [String]
74
+ attr_accessor :currency_symbol
75
+
76
+ # True If all summary billing documents under this SOA are fully paid (i.e.,
77
+ # the fully paid flag is set to true for all documents or the amount
78
+ # allocated is greater than or equal to the amount due under this SOA.
79
+ # @return [TrueClass | FalseClass]
80
+ attr_accessor :fully_paid
81
+
82
+ # ISO code of last payment currency.
83
+ # Example: EUR
84
+ # @return [String]
85
+ attr_accessor :last_payment_currency_code
86
+
87
+ # Symbol of last payment currency.
88
+ # Example: €
89
+ # @return [String]
90
+ attr_accessor :last_payment_currency_symbol
91
+
92
+ # Last payment date. Format: yyyyMMdd
93
+ # @return [String]
94
+ attr_accessor :last_payment_date
95
+
96
+ # Last payment value.
97
+ # @return [Float]
98
+ attr_accessor :last_payment_value
99
+
100
+ # Total outstanding balance at the time of this SOA generation.
101
+ # @return [Float]
102
+ attr_accessor :outstanding_balance
103
+
104
+ # Payment customer id of the customer.
105
+ # @return [Integer]
106
+ attr_accessor :payer_id
107
+
108
+ # Payment customer number.
109
+ # @return [String]
110
+ attr_accessor :payer_number
111
+
112
+ # Due date for payment. Format: yyyyMMdd
113
+ # @return [String]
114
+ attr_accessor :payment_due_date
115
+
116
+ # Statement of account reference number.
117
+ # @return [String]
118
+ attr_accessor :so_a_reference_number
119
+
120
+ # Date on which the SOA was generated.
121
+ # Format: yyyyMMdd
122
+ # @return [String]
123
+ attr_accessor :statement_date
124
+
125
+ # Statement of account identifier,
126
+ # @return [Integer]
127
+ attr_accessor :statement_of_account_id
128
+
129
+ # Total number of billing documents generated under this Statement of
130
+ # Account.
131
+ # @return [Integer]
132
+ attr_accessor :total_billing_documents
133
+
134
+ # Total NET amount from all billing documents in this SOA.
135
+ # @return [Float]
136
+ attr_accessor :total_net_amount_billing_currency
137
+
138
+ # Total number of summary billing documents for this Statement of Account
139
+ # @return [Float]
140
+ attr_accessor :total_summary_billing_documents
141
+
142
+ # Total VAT amount from all billing documents in this SOA.
143
+ # @return [Float]
144
+ attr_accessor :total_vat_amount_billing_currency
145
+
146
+ # Amount paid but not allocated to any invoices at the time of this SOA
147
+ # generation.
148
+ # @return [Float]
149
+ attr_accessor :unallocated_payment
150
+
151
+ # Currency ISO code of the local country. It is derived based on CountryCode
152
+ # from microservice configuration. This field is expected to have different
153
+ # value than the previously mentioned field CurrencyCode, only in the case
154
+ # of serviced OUs.
155
+ # Example: EUR
156
+ # @return [String]
157
+ attr_accessor :local_currency_code
158
+
159
+ # Currency Symbol of the local country. It is derived based on CountryCode
160
+ # from microservice configuration. This field is expected to have different
161
+ # value than the previously mentioned field CurrencySymbol, only in the case
162
+ # of serviced OUs.
163
+ # Example: €
164
+ # @return [String]
165
+ attr_accessor :local_currency_symbol
166
+
167
+ # Exchange rate from Billing currency to local currency.
168
+ # Example: 1.2
169
+ # @return [Float]
170
+ attr_accessor :local_currency_exchange_rate
171
+
172
+ # A mapping from model property names to API property names.
173
+ def self.names
174
+ @_hash = {} if @_hash.nil?
175
+ @_hash['amount_due'] = 'AmountDue'
176
+ @_hash['amount_not_overdue'] = 'AmountNotOverdue'
177
+ @_hash['amount_overdue'] = 'AmountOverdue'
178
+ @_hash['amount_overdue_from_unallocated'] =
179
+ 'AmountOverdueFromUnallocated'
180
+ @_hash['amount_paid'] = 'AmountPaid'
181
+ @_hash['balance_on_this_statement'] = 'BalanceOnThisStatement'
182
+ @_hash['billing_currency_code'] = 'BillingCurrencyCode'
183
+ @_hash['billing_currency_symbol'] = 'BillingCurrencySymbol'
184
+ @_hash['credit_limit'] = 'CreditLimit'
185
+ @_hash['credit_limit_currency_code'] = 'CreditLimitCurrencyCode'
186
+ @_hash['credit_limit_currency_symbol'] = 'CreditLimitCurrencySymbol'
187
+ @_hash['credit_limit_in_customer_currency'] =
188
+ 'CreditLimitInCustomerCurrency'
189
+ @_hash['currency_code'] = 'CurrencyCode'
190
+ @_hash['currency_symbol'] = 'CurrencySymbol'
191
+ @_hash['fully_paid'] = 'FullyPaid'
192
+ @_hash['last_payment_currency_code'] = 'LastPaymentCurrencyCode'
193
+ @_hash['last_payment_currency_symbol'] = 'LastPaymentCurrencySymbol'
194
+ @_hash['last_payment_date'] = 'LastPaymentDate'
195
+ @_hash['last_payment_value'] = 'LastPaymentValue'
196
+ @_hash['outstanding_balance'] = 'OutstandingBalance'
197
+ @_hash['payer_id'] = 'PayerId'
198
+ @_hash['payer_number'] = 'PayerNumber'
199
+ @_hash['payment_due_date'] = 'PaymentDueDate'
200
+ @_hash['so_a_reference_number'] = 'SoAReferenceNumber'
201
+ @_hash['statement_date'] = 'StatementDate'
202
+ @_hash['statement_of_account_id'] = 'StatementOfAccountId'
203
+ @_hash['total_billing_documents'] = 'TotalBillingDocuments'
204
+ @_hash['total_net_amount_billing_currency'] =
205
+ 'TotalNetAmountBillingCurrency'
206
+ @_hash['total_summary_billing_documents'] =
207
+ 'TotalSummaryBillingDocuments'
208
+ @_hash['total_vat_amount_billing_currency'] =
209
+ 'TotalVATAmountBillingCurrency'
210
+ @_hash['unallocated_payment'] = 'UnallocatedPayment'
211
+ @_hash['local_currency_code'] = 'LocalCurrencyCode'
212
+ @_hash['local_currency_symbol'] = 'LocalCurrencySymbol'
213
+ @_hash['local_currency_exchange_rate'] = 'LocalCurrencyExchangeRate'
214
+ @_hash
215
+ end
216
+
217
+ # An array for optional fields
218
+ def self.optionals
219
+ %w[
220
+ amount_due
221
+ amount_not_overdue
222
+ amount_overdue
223
+ amount_overdue_from_unallocated
224
+ amount_paid
225
+ balance_on_this_statement
226
+ billing_currency_code
227
+ billing_currency_symbol
228
+ credit_limit
229
+ credit_limit_currency_code
230
+ credit_limit_currency_symbol
231
+ credit_limit_in_customer_currency
232
+ currency_code
233
+ currency_symbol
234
+ fully_paid
235
+ last_payment_currency_code
236
+ last_payment_currency_symbol
237
+ last_payment_date
238
+ last_payment_value
239
+ outstanding_balance
240
+ payer_id
241
+ payer_number
242
+ payment_due_date
243
+ so_a_reference_number
244
+ statement_date
245
+ statement_of_account_id
246
+ total_billing_documents
247
+ total_net_amount_billing_currency
248
+ total_summary_billing_documents
249
+ total_vat_amount_billing_currency
250
+ unallocated_payment
251
+ local_currency_code
252
+ local_currency_symbol
253
+ local_currency_exchange_rate
254
+ ]
255
+ end
256
+
257
+ # An array for nullable fields
258
+ def self.nullables
259
+ %w[
260
+ amount_due
261
+ amount_not_overdue
262
+ amount_overdue
263
+ amount_overdue_from_unallocated
264
+ amount_paid
265
+ balance_on_this_statement
266
+ billing_currency_code
267
+ billing_currency_symbol
268
+ credit_limit
269
+ credit_limit_currency_code
270
+ credit_limit_currency_symbol
271
+ credit_limit_in_customer_currency
272
+ currency_code
273
+ currency_symbol
274
+ fully_paid
275
+ last_payment_currency_code
276
+ last_payment_currency_symbol
277
+ last_payment_date
278
+ last_payment_value
279
+ outstanding_balance
280
+ payer_id
281
+ payer_number
282
+ payment_due_date
283
+ so_a_reference_number
284
+ statement_date
285
+ statement_of_account_id
286
+ total_billing_documents
287
+ total_net_amount_billing_currency
288
+ total_summary_billing_documents
289
+ total_vat_amount_billing_currency
290
+ unallocated_payment
291
+ local_currency_code
292
+ local_currency_symbol
293
+ local_currency_exchange_rate
294
+ ]
295
+ end
296
+
297
+ def initialize(amount_due = SKIP,
298
+ amount_not_overdue = SKIP,
299
+ amount_overdue = SKIP,
300
+ amount_overdue_from_unallocated = SKIP,
301
+ amount_paid = SKIP,
302
+ balance_on_this_statement = SKIP,
303
+ billing_currency_code = SKIP,
304
+ billing_currency_symbol = SKIP,
305
+ credit_limit = SKIP,
306
+ credit_limit_currency_code = SKIP,
307
+ credit_limit_currency_symbol = SKIP,
308
+ credit_limit_in_customer_currency = SKIP,
309
+ currency_code = SKIP,
310
+ currency_symbol = SKIP,
311
+ fully_paid = SKIP,
312
+ last_payment_currency_code = SKIP,
313
+ last_payment_currency_symbol = SKIP,
314
+ last_payment_date = SKIP,
315
+ last_payment_value = SKIP,
316
+ outstanding_balance = SKIP,
317
+ payer_id = SKIP,
318
+ payer_number = SKIP,
319
+ payment_due_date = SKIP,
320
+ so_a_reference_number = SKIP,
321
+ statement_date = SKIP,
322
+ statement_of_account_id = SKIP,
323
+ total_billing_documents = SKIP,
324
+ total_net_amount_billing_currency = SKIP,
325
+ total_summary_billing_documents = SKIP,
326
+ total_vat_amount_billing_currency = SKIP,
327
+ unallocated_payment = SKIP,
328
+ local_currency_code = SKIP,
329
+ local_currency_symbol = SKIP,
330
+ local_currency_exchange_rate = SKIP)
331
+ @amount_due = amount_due unless amount_due == SKIP
332
+ @amount_not_overdue = amount_not_overdue unless amount_not_overdue == SKIP
333
+ @amount_overdue = amount_overdue unless amount_overdue == SKIP
334
+ unless amount_overdue_from_unallocated == SKIP
335
+ @amount_overdue_from_unallocated =
336
+ amount_overdue_from_unallocated
337
+ end
338
+ @amount_paid = amount_paid unless amount_paid == SKIP
339
+ unless balance_on_this_statement == SKIP
340
+ @balance_on_this_statement =
341
+ balance_on_this_statement
342
+ end
343
+ @billing_currency_code = billing_currency_code unless billing_currency_code == SKIP
344
+ @billing_currency_symbol = billing_currency_symbol unless billing_currency_symbol == SKIP
345
+ @credit_limit = credit_limit unless credit_limit == SKIP
346
+ unless credit_limit_currency_code == SKIP
347
+ @credit_limit_currency_code =
348
+ credit_limit_currency_code
349
+ end
350
+ unless credit_limit_currency_symbol == SKIP
351
+ @credit_limit_currency_symbol =
352
+ credit_limit_currency_symbol
353
+ end
354
+ unless credit_limit_in_customer_currency == SKIP
355
+ @credit_limit_in_customer_currency =
356
+ credit_limit_in_customer_currency
357
+ end
358
+ @currency_code = currency_code unless currency_code == SKIP
359
+ @currency_symbol = currency_symbol unless currency_symbol == SKIP
360
+ @fully_paid = fully_paid unless fully_paid == SKIP
361
+ unless last_payment_currency_code == SKIP
362
+ @last_payment_currency_code =
363
+ last_payment_currency_code
364
+ end
365
+ unless last_payment_currency_symbol == SKIP
366
+ @last_payment_currency_symbol =
367
+ last_payment_currency_symbol
368
+ end
369
+ @last_payment_date = last_payment_date unless last_payment_date == SKIP
370
+ @last_payment_value = last_payment_value unless last_payment_value == SKIP
371
+ @outstanding_balance = outstanding_balance unless outstanding_balance == SKIP
372
+ @payer_id = payer_id unless payer_id == SKIP
373
+ @payer_number = payer_number unless payer_number == SKIP
374
+ @payment_due_date = payment_due_date unless payment_due_date == SKIP
375
+ @so_a_reference_number = so_a_reference_number unless so_a_reference_number == SKIP
376
+ @statement_date = statement_date unless statement_date == SKIP
377
+ @statement_of_account_id = statement_of_account_id unless statement_of_account_id == SKIP
378
+ @total_billing_documents = total_billing_documents unless total_billing_documents == SKIP
379
+ unless total_net_amount_billing_currency == SKIP
380
+ @total_net_amount_billing_currency =
381
+ total_net_amount_billing_currency
382
+ end
383
+ unless total_summary_billing_documents == SKIP
384
+ @total_summary_billing_documents =
385
+ total_summary_billing_documents
386
+ end
387
+ unless total_vat_amount_billing_currency == SKIP
388
+ @total_vat_amount_billing_currency =
389
+ total_vat_amount_billing_currency
390
+ end
391
+ @unallocated_payment = unallocated_payment unless unallocated_payment == SKIP
392
+ @local_currency_code = local_currency_code unless local_currency_code == SKIP
393
+ @local_currency_symbol = local_currency_symbol unless local_currency_symbol == SKIP
394
+ unless local_currency_exchange_rate == SKIP
395
+ @local_currency_exchange_rate =
396
+ local_currency_exchange_rate
397
+ end
398
+ end
399
+
400
+ # Creates an instance of the object from a hash.
401
+ def self.from_hash(hash)
402
+ return nil unless hash
403
+
404
+ # Extract variables from the hash.
405
+ amount_due = hash.key?('AmountDue') ? hash['AmountDue'] : SKIP
406
+ amount_not_overdue =
407
+ hash.key?('AmountNotOverdue') ? hash['AmountNotOverdue'] : SKIP
408
+ amount_overdue = hash.key?('AmountOverdue') ? hash['AmountOverdue'] : SKIP
409
+ amount_overdue_from_unallocated =
410
+ hash.key?('AmountOverdueFromUnallocated') ? hash['AmountOverdueFromUnallocated'] : SKIP
411
+ amount_paid = hash.key?('AmountPaid') ? hash['AmountPaid'] : SKIP
412
+ balance_on_this_statement =
413
+ hash.key?('BalanceOnThisStatement') ? hash['BalanceOnThisStatement'] : SKIP
414
+ billing_currency_code =
415
+ hash.key?('BillingCurrencyCode') ? hash['BillingCurrencyCode'] : SKIP
416
+ billing_currency_symbol =
417
+ hash.key?('BillingCurrencySymbol') ? hash['BillingCurrencySymbol'] : SKIP
418
+ credit_limit = hash.key?('CreditLimit') ? hash['CreditLimit'] : SKIP
419
+ credit_limit_currency_code =
420
+ hash.key?('CreditLimitCurrencyCode') ? hash['CreditLimitCurrencyCode'] : SKIP
421
+ credit_limit_currency_symbol =
422
+ hash.key?('CreditLimitCurrencySymbol') ? hash['CreditLimitCurrencySymbol'] : SKIP
423
+ credit_limit_in_customer_currency =
424
+ hash.key?('CreditLimitInCustomerCurrency') ? hash['CreditLimitInCustomerCurrency'] : SKIP
425
+ currency_code = hash.key?('CurrencyCode') ? hash['CurrencyCode'] : SKIP
426
+ currency_symbol =
427
+ hash.key?('CurrencySymbol') ? hash['CurrencySymbol'] : SKIP
428
+ fully_paid = hash.key?('FullyPaid') ? hash['FullyPaid'] : SKIP
429
+ last_payment_currency_code =
430
+ hash.key?('LastPaymentCurrencyCode') ? hash['LastPaymentCurrencyCode'] : SKIP
431
+ last_payment_currency_symbol =
432
+ hash.key?('LastPaymentCurrencySymbol') ? hash['LastPaymentCurrencySymbol'] : SKIP
433
+ last_payment_date =
434
+ hash.key?('LastPaymentDate') ? hash['LastPaymentDate'] : SKIP
435
+ last_payment_value =
436
+ hash.key?('LastPaymentValue') ? hash['LastPaymentValue'] : SKIP
437
+ outstanding_balance =
438
+ hash.key?('OutstandingBalance') ? hash['OutstandingBalance'] : SKIP
439
+ payer_id = hash.key?('PayerId') ? hash['PayerId'] : SKIP
440
+ payer_number = hash.key?('PayerNumber') ? hash['PayerNumber'] : SKIP
441
+ payment_due_date =
442
+ hash.key?('PaymentDueDate') ? hash['PaymentDueDate'] : SKIP
443
+ so_a_reference_number =
444
+ hash.key?('SoAReferenceNumber') ? hash['SoAReferenceNumber'] : SKIP
445
+ statement_date = hash.key?('StatementDate') ? hash['StatementDate'] : SKIP
446
+ statement_of_account_id =
447
+ hash.key?('StatementOfAccountId') ? hash['StatementOfAccountId'] : SKIP
448
+ total_billing_documents =
449
+ hash.key?('TotalBillingDocuments') ? hash['TotalBillingDocuments'] : SKIP
450
+ total_net_amount_billing_currency =
451
+ hash.key?('TotalNetAmountBillingCurrency') ? hash['TotalNetAmountBillingCurrency'] : SKIP
452
+ total_summary_billing_documents =
453
+ hash.key?('TotalSummaryBillingDocuments') ? hash['TotalSummaryBillingDocuments'] : SKIP
454
+ total_vat_amount_billing_currency =
455
+ hash.key?('TotalVATAmountBillingCurrency') ? hash['TotalVATAmountBillingCurrency'] : SKIP
456
+ unallocated_payment =
457
+ hash.key?('UnallocatedPayment') ? hash['UnallocatedPayment'] : SKIP
458
+ local_currency_code =
459
+ hash.key?('LocalCurrencyCode') ? hash['LocalCurrencyCode'] : SKIP
460
+ local_currency_symbol =
461
+ hash.key?('LocalCurrencySymbol') ? hash['LocalCurrencySymbol'] : SKIP
462
+ local_currency_exchange_rate =
463
+ hash.key?('LocalCurrencyExchangeRate') ? hash['LocalCurrencyExchangeRate'] : SKIP
464
+
465
+ # Create object from extracted values.
466
+ PastStatementOfAccounts.new(amount_due,
467
+ amount_not_overdue,
468
+ amount_overdue,
469
+ amount_overdue_from_unallocated,
470
+ amount_paid,
471
+ balance_on_this_statement,
472
+ billing_currency_code,
473
+ billing_currency_symbol,
474
+ credit_limit,
475
+ credit_limit_currency_code,
476
+ credit_limit_currency_symbol,
477
+ credit_limit_in_customer_currency,
478
+ currency_code,
479
+ currency_symbol,
480
+ fully_paid,
481
+ last_payment_currency_code,
482
+ last_payment_currency_symbol,
483
+ last_payment_date,
484
+ last_payment_value,
485
+ outstanding_balance,
486
+ payer_id,
487
+ payer_number,
488
+ payment_due_date,
489
+ so_a_reference_number,
490
+ statement_date,
491
+ statement_of_account_id,
492
+ total_billing_documents,
493
+ total_net_amount_billing_currency,
494
+ total_summary_billing_documents,
495
+ total_vat_amount_billing_currency,
496
+ unallocated_payment,
497
+ local_currency_code,
498
+ local_currency_symbol,
499
+ local_currency_exchange_rate)
500
+ end
501
+ end
502
+ end