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,80 @@
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
+ # PINAdviceTypes Model.
8
+ class PINAdviceTypes < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Id of of PIN advice type.
13
+ # Possible Values:
14
+ # 1. Paper
15
+ # 2. Email
16
+ # 3. SMS
17
+ # 4. None
18
+ # @return [Integer]
19
+ attr_accessor :pin_advice_type_id
20
+
21
+ # Whether the PIN advice type is available for card ordering
22
+ # @return [TrueClass | FalseClass]
23
+ attr_accessor :is_card_order_option
24
+
25
+ # Whether the PIN advice type is available for PIN Reminder
26
+ # @return [TrueClass | FalseClass]
27
+ attr_accessor :is_pin_reminder_option
28
+
29
+ # A mapping from model property names to API property names.
30
+ def self.names
31
+ @_hash = {} if @_hash.nil?
32
+ @_hash['pin_advice_type_id'] = 'PINAdviceTypeID'
33
+ @_hash['is_card_order_option'] = 'IsCardOrderOption'
34
+ @_hash['is_pin_reminder_option'] = 'IsPINReminderOption'
35
+ @_hash
36
+ end
37
+
38
+ # An array for optional fields
39
+ def self.optionals
40
+ %w[
41
+ pin_advice_type_id
42
+ is_card_order_option
43
+ is_pin_reminder_option
44
+ ]
45
+ end
46
+
47
+ # An array for nullable fields
48
+ def self.nullables
49
+ %w[
50
+ pin_advice_type_id
51
+ ]
52
+ end
53
+
54
+ def initialize(pin_advice_type_id = SKIP,
55
+ is_card_order_option = SKIP,
56
+ is_pin_reminder_option = SKIP)
57
+ @pin_advice_type_id = pin_advice_type_id unless pin_advice_type_id == SKIP
58
+ @is_card_order_option = is_card_order_option unless is_card_order_option == SKIP
59
+ @is_pin_reminder_option = is_pin_reminder_option unless is_pin_reminder_option == SKIP
60
+ end
61
+
62
+ # Creates an instance of the object from a hash.
63
+ def self.from_hash(hash)
64
+ return nil unless hash
65
+
66
+ # Extract variables from the hash.
67
+ pin_advice_type_id =
68
+ hash.key?('PINAdviceTypeID') ? hash['PINAdviceTypeID'] : SKIP
69
+ is_card_order_option =
70
+ hash.key?('IsCardOrderOption') ? hash['IsCardOrderOption'] : SKIP
71
+ is_pin_reminder_option =
72
+ hash.key?('IsPINReminderOption') ? hash['IsPINReminderOption'] : SKIP
73
+
74
+ # Create object from extracted values.
75
+ PINAdviceTypes.new(pin_advice_type_id,
76
+ is_card_order_option,
77
+ is_pin_reminder_option)
78
+ end
79
+ end
80
+ end
@@ -0,0 +1,485 @@
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
+ # PriceList Model.
8
+ class PriceList < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Date on which the price is applicable.
13
+ # Format: yyyyMMdd
14
+ # E.g.: 20180131
15
+ # @return [String]
16
+ attr_accessor :date
17
+
18
+ # Day on which the price is applicable.
19
+ # E.g.: Sunday, Monday etc.
20
+ # @return [String]
21
+ attr_accessor :day
22
+
23
+ # Price list type.
24
+ # E.g., List, Shell Standard International List
25
+ # @return [String]
26
+ attr_accessor :type
27
+
28
+ # Price list ID
29
+ # @return [Integer]
30
+ attr_accessor :price_list_id
31
+
32
+ # Price list description
33
+ # E.g., UK Fuels CRT Reseller List Price
34
+ # @return [String]
35
+ attr_accessor :price_list_description
36
+
37
+ # Price Rule Id
38
+ # @return [Integer]
39
+ attr_accessor :price_rule_id
40
+
41
+ # Price Rule Name
42
+ # @return [String]
43
+ attr_accessor :price_rule_name
44
+
45
+ # DelCo Id
46
+ # @return [Integer]
47
+ attr_accessor :del_co_id
48
+
49
+ # Country ISO Code
50
+ # E.g., UK, NL, etc.,
51
+ # @return [String]
52
+ attr_accessor :country_code
53
+
54
+ # Country
55
+ # E.g., United Kingdom, Netherlands etc
56
+ # @return [String]
57
+ attr_accessor :country
58
+
59
+ # Product Group Id
60
+ # @return [Integer]
61
+ attr_accessor :product_group_id
62
+
63
+ # Product Group name
64
+ # @return [String]
65
+ attr_accessor :product_group_name
66
+
67
+ # Client Product Code
68
+ # @return [String]
69
+ attr_accessor :product_code
70
+
71
+ # Product Id
72
+ # @return [Integer]
73
+ attr_accessor :product_id
74
+
75
+ # Product name in English
76
+ # @return [String]
77
+ attr_accessor :product_name
78
+
79
+ # Price per unit
80
+ # @return [Float]
81
+ attr_accessor :price_per_unit
82
+
83
+ # Currency Code.
84
+ # Format : 3 digit ISO code
85
+ # @return [String]
86
+ attr_accessor :currency_code
87
+
88
+ # Currency Symbol
89
+ # Example: £
90
+ # @return [String]
91
+ attr_accessor :currency_symbol
92
+
93
+ # Price Type
94
+ # Possible Values are:
95
+ # • Country– Price rule defined at country whereas Price Rule DelcoId same
96
+ # as ColcoId.
97
+ # • TPNDelcoPrice – Price rule defined in the TPN whereas Price Rule DelcoId
98
+ # is different from ColcoId.
99
+ # • NetworkPrice – Price rule defined at Fuel Network level.
100
+ # • Other – Price rule defined at either Site or SiteGroup level.
101
+ # @return [String]
102
+ attr_accessor :price_type
103
+
104
+ # Site-Group ID
105
+ # E.g.: 100007
106
+ # @return [Integer]
107
+ attr_accessor :site_group_id
108
+
109
+ # Site-Group name
110
+ # @return [String]
111
+ attr_accessor :site_group_name
112
+
113
+ # Site Code
114
+ # @return [Integer]
115
+ attr_accessor :site_code
116
+
117
+ # Site ID
118
+ # @return [Integer]
119
+ attr_accessor :site_id
120
+
121
+ # Site Name
122
+ # @return [String]
123
+ attr_accessor :site_name
124
+
125
+ # Fuel Network ID
126
+ # @return [Integer]
127
+ attr_accessor :fuel_network_id
128
+
129
+ # Network Name
130
+ # @return [String]
131
+ attr_accessor :network_name
132
+
133
+ # PriceRuleDelcoId
134
+ # @return [Integer]
135
+ attr_accessor :price_rule_delco_id
136
+
137
+ # Company Name of the price rule DelCo.
138
+ # E.g.:
139
+ # • Pilipinas Shell Petroleum Corp
140
+ # • Shell U.K. Oil Products Limited
141
+ # • G & V SERVICE STATIONS NV
142
+ # @return [String]
143
+ attr_accessor :price_rule_delco_name
144
+
145
+ # PriceRuleCountry
146
+ # E.g.: United Kingdom
147
+ # @return [String]
148
+ attr_accessor :price_rule_country
149
+
150
+ # ISO Code of PriceRuleCountry
151
+ # E.g.: UK, NL, etc.,
152
+ # @return [String]
153
+ attr_accessor :price_rule_country_code
154
+
155
+ # PriceRuleBasisId
156
+ # @return [Integer]
157
+ attr_accessor :price_rule_basis_id
158
+
159
+ # Discount value
160
+ # @return [Float]
161
+ attr_accessor :discount_value
162
+
163
+ # Price per unit after discount
164
+ # @return [Float]
165
+ attr_accessor :price_per_unit_after_discount
166
+
167
+ # VAT Percentage
168
+ # @return [Float]
169
+ attr_accessor :vat_percentage
170
+
171
+ # PriceRuleCategoryId
172
+ # @return [Integer]
173
+ attr_accessor :price_rule_category_id
174
+
175
+ # PriceRuleCategoryId
176
+ # @return [Array[Tier]]
177
+ attr_accessor :tiers
178
+
179
+ # A mapping from model property names to API property names.
180
+ def self.names
181
+ @_hash = {} if @_hash.nil?
182
+ @_hash['date'] = 'Date'
183
+ @_hash['day'] = 'Day'
184
+ @_hash['type'] = 'Type'
185
+ @_hash['price_list_id'] = 'PriceListId'
186
+ @_hash['price_list_description'] = 'PriceListDescription'
187
+ @_hash['price_rule_id'] = 'PriceRuleId'
188
+ @_hash['price_rule_name'] = 'PriceRuleName'
189
+ @_hash['del_co_id'] = 'DelCoId'
190
+ @_hash['country_code'] = 'CountryCode'
191
+ @_hash['country'] = 'Country'
192
+ @_hash['product_group_id'] = 'ProductGroupId'
193
+ @_hash['product_group_name'] = 'ProductGroupName'
194
+ @_hash['product_code'] = 'ProductCode'
195
+ @_hash['product_id'] = 'ProductId'
196
+ @_hash['product_name'] = 'ProductName'
197
+ @_hash['price_per_unit'] = 'PricePerUnit'
198
+ @_hash['currency_code'] = 'CurrencyCode'
199
+ @_hash['currency_symbol'] = 'CurrencySymbol'
200
+ @_hash['price_type'] = 'PriceType'
201
+ @_hash['site_group_id'] = 'SiteGroupId'
202
+ @_hash['site_group_name'] = 'SiteGroupName'
203
+ @_hash['site_code'] = 'SiteCode'
204
+ @_hash['site_id'] = 'SiteId'
205
+ @_hash['site_name'] = 'SiteName'
206
+ @_hash['fuel_network_id'] = 'FuelNetworkId'
207
+ @_hash['network_name'] = 'NetworkName'
208
+ @_hash['price_rule_delco_id'] = 'PriceRuleDelcoId'
209
+ @_hash['price_rule_delco_name'] = 'PriceRuleDelcoName'
210
+ @_hash['price_rule_country'] = 'PriceRuleCountry'
211
+ @_hash['price_rule_country_code'] = 'PriceRuleCountryCode'
212
+ @_hash['price_rule_basis_id'] = 'PriceRuleBasisId'
213
+ @_hash['discount_value'] = 'DiscountValue'
214
+ @_hash['price_per_unit_after_discount'] = 'PricePerUnitAfterDiscount'
215
+ @_hash['vat_percentage'] = 'VATPercentage'
216
+ @_hash['price_rule_category_id'] = 'PriceRuleCategoryId'
217
+ @_hash['tiers'] = 'Tiers'
218
+ @_hash
219
+ end
220
+
221
+ # An array for optional fields
222
+ def self.optionals
223
+ %w[
224
+ date
225
+ day
226
+ type
227
+ price_list_id
228
+ price_list_description
229
+ price_rule_id
230
+ price_rule_name
231
+ del_co_id
232
+ country_code
233
+ country
234
+ product_group_id
235
+ product_group_name
236
+ product_code
237
+ product_id
238
+ product_name
239
+ price_per_unit
240
+ currency_code
241
+ currency_symbol
242
+ price_type
243
+ site_group_id
244
+ site_group_name
245
+ site_code
246
+ site_id
247
+ site_name
248
+ fuel_network_id
249
+ network_name
250
+ price_rule_delco_id
251
+ price_rule_delco_name
252
+ price_rule_country
253
+ price_rule_country_code
254
+ price_rule_basis_id
255
+ discount_value
256
+ price_per_unit_after_discount
257
+ vat_percentage
258
+ price_rule_category_id
259
+ tiers
260
+ ]
261
+ end
262
+
263
+ # An array for nullable fields
264
+ def self.nullables
265
+ %w[
266
+ date
267
+ day
268
+ type
269
+ price_list_id
270
+ price_list_description
271
+ price_rule_id
272
+ price_rule_name
273
+ del_co_id
274
+ country_code
275
+ country
276
+ product_group_id
277
+ product_group_name
278
+ product_code
279
+ product_id
280
+ product_name
281
+ price_per_unit
282
+ currency_code
283
+ currency_symbol
284
+ price_type
285
+ site_group_id
286
+ site_group_name
287
+ site_code
288
+ site_id
289
+ site_name
290
+ fuel_network_id
291
+ network_name
292
+ price_rule_delco_id
293
+ price_rule_delco_name
294
+ price_rule_country
295
+ price_rule_country_code
296
+ price_rule_basis_id
297
+ discount_value
298
+ price_per_unit_after_discount
299
+ vat_percentage
300
+ price_rule_category_id
301
+ ]
302
+ end
303
+
304
+ def initialize(date = SKIP,
305
+ day = SKIP,
306
+ type = SKIP,
307
+ price_list_id = SKIP,
308
+ price_list_description = SKIP,
309
+ price_rule_id = SKIP,
310
+ price_rule_name = SKIP,
311
+ del_co_id = SKIP,
312
+ country_code = SKIP,
313
+ country = SKIP,
314
+ product_group_id = SKIP,
315
+ product_group_name = SKIP,
316
+ product_code = SKIP,
317
+ product_id = SKIP,
318
+ product_name = SKIP,
319
+ price_per_unit = SKIP,
320
+ currency_code = SKIP,
321
+ currency_symbol = SKIP,
322
+ price_type = SKIP,
323
+ site_group_id = SKIP,
324
+ site_group_name = SKIP,
325
+ site_code = SKIP,
326
+ site_id = SKIP,
327
+ site_name = SKIP,
328
+ fuel_network_id = SKIP,
329
+ network_name = SKIP,
330
+ price_rule_delco_id = SKIP,
331
+ price_rule_delco_name = SKIP,
332
+ price_rule_country = SKIP,
333
+ price_rule_country_code = SKIP,
334
+ price_rule_basis_id = SKIP,
335
+ discount_value = SKIP,
336
+ price_per_unit_after_discount = SKIP,
337
+ vat_percentage = SKIP,
338
+ price_rule_category_id = SKIP,
339
+ tiers = SKIP)
340
+ @date = date unless date == SKIP
341
+ @day = day unless day == SKIP
342
+ @type = type unless type == SKIP
343
+ @price_list_id = price_list_id unless price_list_id == SKIP
344
+ @price_list_description = price_list_description unless price_list_description == SKIP
345
+ @price_rule_id = price_rule_id unless price_rule_id == SKIP
346
+ @price_rule_name = price_rule_name unless price_rule_name == SKIP
347
+ @del_co_id = del_co_id unless del_co_id == SKIP
348
+ @country_code = country_code unless country_code == SKIP
349
+ @country = country unless country == SKIP
350
+ @product_group_id = product_group_id unless product_group_id == SKIP
351
+ @product_group_name = product_group_name unless product_group_name == SKIP
352
+ @product_code = product_code unless product_code == SKIP
353
+ @product_id = product_id unless product_id == SKIP
354
+ @product_name = product_name unless product_name == SKIP
355
+ @price_per_unit = price_per_unit unless price_per_unit == SKIP
356
+ @currency_code = currency_code unless currency_code == SKIP
357
+ @currency_symbol = currency_symbol unless currency_symbol == SKIP
358
+ @price_type = price_type unless price_type == SKIP
359
+ @site_group_id = site_group_id unless site_group_id == SKIP
360
+ @site_group_name = site_group_name unless site_group_name == SKIP
361
+ @site_code = site_code unless site_code == SKIP
362
+ @site_id = site_id unless site_id == SKIP
363
+ @site_name = site_name unless site_name == SKIP
364
+ @fuel_network_id = fuel_network_id unless fuel_network_id == SKIP
365
+ @network_name = network_name unless network_name == SKIP
366
+ @price_rule_delco_id = price_rule_delco_id unless price_rule_delco_id == SKIP
367
+ @price_rule_delco_name = price_rule_delco_name unless price_rule_delco_name == SKIP
368
+ @price_rule_country = price_rule_country unless price_rule_country == SKIP
369
+ @price_rule_country_code = price_rule_country_code unless price_rule_country_code == SKIP
370
+ @price_rule_basis_id = price_rule_basis_id unless price_rule_basis_id == SKIP
371
+ @discount_value = discount_value unless discount_value == SKIP
372
+ unless price_per_unit_after_discount == SKIP
373
+ @price_per_unit_after_discount =
374
+ price_per_unit_after_discount
375
+ end
376
+ @vat_percentage = vat_percentage unless vat_percentage == SKIP
377
+ @price_rule_category_id = price_rule_category_id unless price_rule_category_id == SKIP
378
+ @tiers = tiers unless tiers == SKIP
379
+ end
380
+
381
+ # Creates an instance of the object from a hash.
382
+ def self.from_hash(hash)
383
+ return nil unless hash
384
+
385
+ # Extract variables from the hash.
386
+ date = hash.key?('Date') ? hash['Date'] : SKIP
387
+ day = hash.key?('Day') ? hash['Day'] : SKIP
388
+ type = hash.key?('Type') ? hash['Type'] : SKIP
389
+ price_list_id = hash.key?('PriceListId') ? hash['PriceListId'] : SKIP
390
+ price_list_description =
391
+ hash.key?('PriceListDescription') ? hash['PriceListDescription'] : SKIP
392
+ price_rule_id = hash.key?('PriceRuleId') ? hash['PriceRuleId'] : SKIP
393
+ price_rule_name =
394
+ hash.key?('PriceRuleName') ? hash['PriceRuleName'] : SKIP
395
+ del_co_id = hash.key?('DelCoId') ? hash['DelCoId'] : SKIP
396
+ country_code = hash.key?('CountryCode') ? hash['CountryCode'] : SKIP
397
+ country = hash.key?('Country') ? hash['Country'] : SKIP
398
+ product_group_id =
399
+ hash.key?('ProductGroupId') ? hash['ProductGroupId'] : SKIP
400
+ product_group_name =
401
+ hash.key?('ProductGroupName') ? hash['ProductGroupName'] : SKIP
402
+ product_code = hash.key?('ProductCode') ? hash['ProductCode'] : SKIP
403
+ product_id = hash.key?('ProductId') ? hash['ProductId'] : SKIP
404
+ product_name = hash.key?('ProductName') ? hash['ProductName'] : SKIP
405
+ price_per_unit = hash.key?('PricePerUnit') ? hash['PricePerUnit'] : SKIP
406
+ currency_code = hash.key?('CurrencyCode') ? hash['CurrencyCode'] : SKIP
407
+ currency_symbol =
408
+ hash.key?('CurrencySymbol') ? hash['CurrencySymbol'] : SKIP
409
+ price_type = hash.key?('PriceType') ? hash['PriceType'] : SKIP
410
+ site_group_id = hash.key?('SiteGroupId') ? hash['SiteGroupId'] : SKIP
411
+ site_group_name =
412
+ hash.key?('SiteGroupName') ? hash['SiteGroupName'] : SKIP
413
+ site_code = hash.key?('SiteCode') ? hash['SiteCode'] : SKIP
414
+ site_id = hash.key?('SiteId') ? hash['SiteId'] : SKIP
415
+ site_name = hash.key?('SiteName') ? hash['SiteName'] : SKIP
416
+ fuel_network_id =
417
+ hash.key?('FuelNetworkId') ? hash['FuelNetworkId'] : SKIP
418
+ network_name = hash.key?('NetworkName') ? hash['NetworkName'] : SKIP
419
+ price_rule_delco_id =
420
+ hash.key?('PriceRuleDelcoId') ? hash['PriceRuleDelcoId'] : SKIP
421
+ price_rule_delco_name =
422
+ hash.key?('PriceRuleDelcoName') ? hash['PriceRuleDelcoName'] : SKIP
423
+ price_rule_country =
424
+ hash.key?('PriceRuleCountry') ? hash['PriceRuleCountry'] : SKIP
425
+ price_rule_country_code =
426
+ hash.key?('PriceRuleCountryCode') ? hash['PriceRuleCountryCode'] : SKIP
427
+ price_rule_basis_id =
428
+ hash.key?('PriceRuleBasisId') ? hash['PriceRuleBasisId'] : SKIP
429
+ discount_value = hash.key?('DiscountValue') ? hash['DiscountValue'] : SKIP
430
+ price_per_unit_after_discount =
431
+ hash.key?('PricePerUnitAfterDiscount') ? hash['PricePerUnitAfterDiscount'] : SKIP
432
+ vat_percentage = hash.key?('VATPercentage') ? hash['VATPercentage'] : SKIP
433
+ price_rule_category_id =
434
+ hash.key?('PriceRuleCategoryId') ? hash['PriceRuleCategoryId'] : SKIP
435
+ # Parameter is an array, so we need to iterate through it
436
+ tiers = nil
437
+ unless hash['Tiers'].nil?
438
+ tiers = []
439
+ hash['Tiers'].each do |structure|
440
+ tiers << (Tier.from_hash(structure) if structure)
441
+ end
442
+ end
443
+
444
+ tiers = SKIP unless hash.key?('Tiers')
445
+
446
+ # Create object from extracted values.
447
+ PriceList.new(date,
448
+ day,
449
+ type,
450
+ price_list_id,
451
+ price_list_description,
452
+ price_rule_id,
453
+ price_rule_name,
454
+ del_co_id,
455
+ country_code,
456
+ country,
457
+ product_group_id,
458
+ product_group_name,
459
+ product_code,
460
+ product_id,
461
+ product_name,
462
+ price_per_unit,
463
+ currency_code,
464
+ currency_symbol,
465
+ price_type,
466
+ site_group_id,
467
+ site_group_name,
468
+ site_code,
469
+ site_id,
470
+ site_name,
471
+ fuel_network_id,
472
+ network_name,
473
+ price_rule_delco_id,
474
+ price_rule_delco_name,
475
+ price_rule_country,
476
+ price_rule_country_code,
477
+ price_rule_basis_id,
478
+ discount_value,
479
+ price_per_unit_after_discount,
480
+ vat_percentage,
481
+ price_rule_category_id,
482
+ tiers)
483
+ end
484
+ end
485
+ end