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,477 @@
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
+ # PriceTransSummaryRequest Model.
8
+ class PriceTransSummaryRequest < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Collecting Company Id of the selected payer.
13
+ # Optional if ColCoCode is passed else Mandatory.
14
+ # Example:
15
+ # 1 for Philippines
16
+ # 5 for UK
17
+ # @return [Integer]
18
+ attr_accessor :col_co_id
19
+
20
+ # Collecting Company Code of the selected payer.
21
+ # Mandatory for serviced OUs such as Romania, Latvia, Lithuania, Estonia,
22
+ # Ukraine etc. It is optional for other countries if ColCoID is provided.
23
+ # Example:
24
+ # 86 for Philippines
25
+ # 5 for UK
26
+ # @return [Integer]
27
+ attr_accessor :col_co_code
28
+
29
+ # Payer Id of the selected payer.
30
+ # Optional if PayerNumber is passed else Mandatory
31
+ # @return [Integer]
32
+ attr_accessor :payer_id
33
+
34
+ # Payer Number (Ex: GB000000123) of the selected payer.
35
+ # Optional if PayerId is passed else Mandatory
36
+ # Example: GB000000123
37
+ # @return [String]
38
+ attr_accessor :payer_number
39
+
40
+ # Payer Number (Ex: GB000000123) of the selected payer.
41
+ # Optional if PayerId is passed else Mandatory
42
+ # Example: GB000000123
43
+ # @return [Accounts]
44
+ attr_accessor :accounts
45
+
46
+ # Card Id (i.e. Unique Card Id in GFN)
47
+ # Optional
48
+ # When both Card Id and Card PAN are not present on request, the response
49
+ # will have transactions of all cards under the selected payer or account
50
+ # @return [Integer]
51
+ attr_accessor :card_id
52
+
53
+ # Full Card PAN
54
+ # Optional
55
+ # When both Card Id and Card PAN are not present on request, the response
56
+ # will have transactions of all cards under the selected payer or account.
57
+ # @return [String]
58
+ attr_accessor :card_pan
59
+
60
+ # Driver Name (of Card record)
61
+ # Optional
62
+ # Minimum of 4 characters should be provided else not considered
63
+ # Transactions of the card having the entered value at any part of the
64
+ # Driver Name will be returned
65
+ # @return [String]
66
+ attr_accessor :driver_name
67
+
68
+ # Vehicle Registration (of Card record)
69
+ # Optional
70
+ # Minimum of 4 characters should be provided else not considered
71
+ # Transactions of the card having the entered value at any part of the VRN
72
+ # will be returned
73
+ # @return [String]
74
+ attr_accessor :vehicle_registration_number
75
+
76
+ # Invoice status of the transactions.
77
+ # Mandatory
78
+ # Possible options:
79
+ # I - Invoiced
80
+ # U – Un-Invoiced
81
+ # A – All
82
+ # @return [String]
83
+ attr_accessor :invoice_status
84
+
85
+ # Product Id
86
+ # Example:
87
+ # 21 Unleaded - High octane
88
+ # 22 Unleaded - Medium octane
89
+ # 23 Unleaded - Low octane
90
+ # 24 Unleaded Environmental
91
+ # @return [Integer]
92
+ attr_accessor :product_id
93
+
94
+ # Product Code – Global as per GFN configuration
95
+ # Optional
96
+ # Max Length: 8
97
+ # Example:
98
+ # 10 TMF Charges
99
+ # 11 Tunnel/Bridges
100
+ # 12 Motorway toll
101
+ # 13 Ferries
102
+ # @return [String]
103
+ attr_accessor :product_code
104
+
105
+ # ISO Country Code (ex: UK, FR)
106
+ # Note: If IncludeFees is true then this filter will be ignored
107
+ # @return [String]
108
+ attr_accessor :purchased_in_country
109
+
110
+ # Card Group Id in GFN
111
+ # @return [Integer]
112
+ attr_accessor :card_group_id
113
+
114
+ # Transactions from Date/Time.
115
+ # Optional – When provided, it should be with in last 24 months.
116
+ # Format: yyyyMMdd
117
+ # @return [String]
118
+ attr_accessor :from_date
119
+
120
+ # Transactions to Date/Time.
121
+ # Optional- Refer introduction section of this operation for the priority
122
+ # and sequence of different date and invoice number filters that are
123
+ # conditionally applied.
124
+ # Note:
125
+ # 1) When the value is blank and FromDate is provided on the input, all
126
+ # transactions took place 210(Configurable) days after the given FromDate is
127
+ # returned.
128
+ # 2) Difference between FromDate and ToDate cannot be more than 210
129
+ # (Configurable) days.
130
+ # Format: yyyyMMdd
131
+ # @return [String]
132
+ attr_accessor :to_date
133
+
134
+ # Transactions Period.
135
+ # Possible values are:
136
+ # 1. Last 7 Days
137
+ # 2. Last 30 Days
138
+ # 3. Last 90 Days
139
+ # Optional - Refer introduction section of this operation for the priority
140
+ # and sequence of different date and invoice number filters that are
141
+ # conditionally applied.
142
+ # @return [Integer]
143
+ attr_accessor :period
144
+
145
+ # Site Code as configured in GFN
146
+ # Example:
147
+ # 050001 - CHARNOCK RICHARD NTHBOUND MWSA 0755
148
+ # 050002 - CHARNOCK RICHARD STHBOUND MWSA 0755
149
+ # 050005 - HARTSHEAD MOOR EASTBOUND MWSA 0761.
150
+ # 050006 - HARTSHEAD MOOR WESTBOUND MWSA.
151
+ # Note: If IncludeFees is true then this filter will be ignored
152
+ # @return [String]
153
+ attr_accessor :site_code
154
+
155
+ # Site Group Id in GFN
156
+ # Optional
157
+ # Example: 202
158
+ # Note: If IncludeFees is true then this filter will be ignored
159
+ # @return [Integer]
160
+ attr_accessor :site_group_id
161
+
162
+ # Transaction Posting Date/time in the Cards Platform - From Date/time.
163
+ # Note:
164
+ # 1) When the value of both PostingDateFrom and PostingDateTo are present in
165
+ # the request then the value of PostingDateFrom must be less than
166
+ # PostingDateTo.
167
+ # 2) If IncludeFees is true then this filter will be ignored
168
+ # Format: yyyyMMdd HH:mm:ss
169
+ # @return [String]
170
+ attr_accessor :posting_date_from
171
+
172
+ # Transaction Posting Date/time in the Cards Platform – To Date/time.
173
+ # Note:
174
+ # 1) If IncludeFees is true then this filter will be ignored.
175
+ # 2) When the value of both PostingDateFrom and PostingDateTo are present in
176
+ # the request then the value of PostingDateFrom must be less than
177
+ # PostingDateTo.
178
+ # Format: yyyyMMdd HH:mm:ss
179
+ # @return [String]
180
+ attr_accessor :posting_date_to
181
+
182
+ # Unique SalesItemId (Either Billed on Unbilled)
183
+ # Optional
184
+ # Note: If IncludeFees is true then this filter will be ignored
185
+ # @return [String]
186
+ attr_accessor :sales_item_id
187
+
188
+ # Unique Transaction Id
189
+ # Optional
190
+ # Note: If IncludeFees is true then this filter will be ignored
191
+ # @return [String]
192
+ attr_accessor :transaction_id
193
+
194
+ # Invoice Date.
195
+ # Optional
196
+ # Note:
197
+ # 1) If value is not blank then the system will ignore the InvoiceStatus
198
+ # parameter and it will return all the billed transactions for the given
199
+ # invoice date.
200
+ # Format: yyyyMMdd
201
+ # @return [String]
202
+ attr_accessor :invoice_date
203
+
204
+ # Invoice Number.
205
+ # Optional
206
+ # Note:
207
+ # 1) If value is not blank then the system will ignore the InvoiceStatus
208
+ # parameter and it will return all the billed transactions for the given
209
+ # invoice date.
210
+ # @return [String]
211
+ attr_accessor :invoice_number
212
+
213
+ # True/False
214
+ # Optional
215
+ # Default value: True.
216
+ # When passed as ‘True’ the transactions records with report date not equal
217
+ # to 9999-12-30 will be returned.
218
+ # When passed as ‘False’ the above condition will not be checked.
219
+ # @return [TrueClass | FalseClass]
220
+ attr_accessor :valid_invoice_date_only
221
+
222
+ # Start date for transaction search by invoice date.
223
+ # Optional
224
+ # Note:
225
+ # 1) Value should be with in last 24 months (if provided).
226
+ # 2) Maximum of 90(Configurable) day’s duration allowed per search.
227
+ # 3) When provided, InvoiceFromDate has to be less than or equal to
228
+ # InvoiceToDate.
229
+ # Format: yyyyMMdd
230
+ # @return [String]
231
+ attr_accessor :invoice_from_date
232
+
233
+ # End date for transaction search by invoice date.
234
+ # Optional
235
+ # Note:
236
+ # 1) When InvoiceFromDate is provided and InvoiceToDate is null, then
237
+ # InvoiceToDate will be calculated as (InvoiceFromDate + 90 days) or
238
+ # (CurrentDate) whichever is lesser.
239
+ # Format: yyyyMMdd
240
+ # @return [String]
241
+ attr_accessor :invoice_to_date
242
+
243
+ # True/False
244
+ # Optional
245
+ # Default value: False.
246
+ # When passed as ‘True’ Only returned records with Fuel transactions.
247
+ # When passed as ‘False’ the above condition will not be checked.
248
+ # @return [TrueClass | FalseClass]
249
+ attr_accessor :fuel_only
250
+
251
+ # True/False
252
+ # Optional
253
+ # Default value: False
254
+ # When passed as ‘True’ then ignore few filters, all sales items along with
255
+ # fees included on the same response
256
+ # @return [TrueClass | FalseClass]
257
+ attr_accessor :include_fees
258
+
259
+ # A mapping from model property names to API property names.
260
+ def self.names
261
+ @_hash = {} if @_hash.nil?
262
+ @_hash['col_co_id'] = 'ColCoId'
263
+ @_hash['col_co_code'] = 'ColCoCode'
264
+ @_hash['payer_id'] = 'PayerId'
265
+ @_hash['payer_number'] = 'PayerNumber'
266
+ @_hash['accounts'] = 'Accounts'
267
+ @_hash['card_id'] = 'CardId'
268
+ @_hash['card_pan'] = 'CardPAN'
269
+ @_hash['driver_name'] = 'DriverName'
270
+ @_hash['vehicle_registration_number'] = 'VehicleRegistrationNumber'
271
+ @_hash['invoice_status'] = 'InvoiceStatus'
272
+ @_hash['product_id'] = 'ProductId'
273
+ @_hash['product_code'] = 'ProductCode'
274
+ @_hash['purchased_in_country'] = 'PurchasedInCountry'
275
+ @_hash['card_group_id'] = 'CardGroupId'
276
+ @_hash['from_date'] = 'FromDate'
277
+ @_hash['to_date'] = 'ToDate'
278
+ @_hash['period'] = 'Period'
279
+ @_hash['site_code'] = 'SiteCode'
280
+ @_hash['site_group_id'] = 'SiteGroupId'
281
+ @_hash['posting_date_from'] = 'PostingDateFrom'
282
+ @_hash['posting_date_to'] = 'PostingDateTo'
283
+ @_hash['sales_item_id'] = 'SalesItemId'
284
+ @_hash['transaction_id'] = 'TransactionId'
285
+ @_hash['invoice_date'] = 'InvoiceDate'
286
+ @_hash['invoice_number'] = 'InvoiceNumber'
287
+ @_hash['valid_invoice_date_only'] = 'ValidInvoiceDateOnly'
288
+ @_hash['invoice_from_date'] = 'InvoiceFromDate'
289
+ @_hash['invoice_to_date'] = 'InvoiceToDate'
290
+ @_hash['fuel_only'] = 'FuelOnly'
291
+ @_hash['include_fees'] = 'IncludeFees'
292
+ @_hash
293
+ end
294
+
295
+ # An array for optional fields
296
+ def self.optionals
297
+ %w[
298
+ col_co_id
299
+ col_co_code
300
+ payer_id
301
+ payer_number
302
+ accounts
303
+ card_id
304
+ card_pan
305
+ driver_name
306
+ vehicle_registration_number
307
+ invoice_status
308
+ product_id
309
+ product_code
310
+ purchased_in_country
311
+ card_group_id
312
+ from_date
313
+ to_date
314
+ period
315
+ site_code
316
+ site_group_id
317
+ posting_date_from
318
+ posting_date_to
319
+ sales_item_id
320
+ transaction_id
321
+ invoice_date
322
+ invoice_number
323
+ valid_invoice_date_only
324
+ invoice_from_date
325
+ invoice_to_date
326
+ fuel_only
327
+ include_fees
328
+ ]
329
+ end
330
+
331
+ # An array for nullable fields
332
+ def self.nullables
333
+ []
334
+ end
335
+
336
+ def initialize(col_co_id = SKIP,
337
+ col_co_code = SKIP,
338
+ payer_id = SKIP,
339
+ payer_number = SKIP,
340
+ accounts = SKIP,
341
+ card_id = SKIP,
342
+ card_pan = SKIP,
343
+ driver_name = SKIP,
344
+ vehicle_registration_number = SKIP,
345
+ invoice_status = SKIP,
346
+ product_id = SKIP,
347
+ product_code = SKIP,
348
+ purchased_in_country = SKIP,
349
+ card_group_id = SKIP,
350
+ from_date = SKIP,
351
+ to_date = SKIP,
352
+ period = SKIP,
353
+ site_code = SKIP,
354
+ site_group_id = SKIP,
355
+ posting_date_from = SKIP,
356
+ posting_date_to = SKIP,
357
+ sales_item_id = SKIP,
358
+ transaction_id = SKIP,
359
+ invoice_date = SKIP,
360
+ invoice_number = SKIP,
361
+ valid_invoice_date_only = SKIP,
362
+ invoice_from_date = SKIP,
363
+ invoice_to_date = SKIP,
364
+ fuel_only = SKIP,
365
+ include_fees = SKIP)
366
+ @col_co_id = col_co_id unless col_co_id == SKIP
367
+ @col_co_code = col_co_code unless col_co_code == SKIP
368
+ @payer_id = payer_id unless payer_id == SKIP
369
+ @payer_number = payer_number unless payer_number == SKIP
370
+ @accounts = accounts unless accounts == SKIP
371
+ @card_id = card_id unless card_id == SKIP
372
+ @card_pan = card_pan unless card_pan == SKIP
373
+ @driver_name = driver_name unless driver_name == SKIP
374
+ unless vehicle_registration_number == SKIP
375
+ @vehicle_registration_number =
376
+ vehicle_registration_number
377
+ end
378
+ @invoice_status = invoice_status unless invoice_status == SKIP
379
+ @product_id = product_id unless product_id == SKIP
380
+ @product_code = product_code unless product_code == SKIP
381
+ @purchased_in_country = purchased_in_country unless purchased_in_country == SKIP
382
+ @card_group_id = card_group_id unless card_group_id == SKIP
383
+ @from_date = from_date unless from_date == SKIP
384
+ @to_date = to_date unless to_date == SKIP
385
+ @period = period unless period == SKIP
386
+ @site_code = site_code unless site_code == SKIP
387
+ @site_group_id = site_group_id unless site_group_id == SKIP
388
+ @posting_date_from = posting_date_from unless posting_date_from == SKIP
389
+ @posting_date_to = posting_date_to unless posting_date_to == SKIP
390
+ @sales_item_id = sales_item_id unless sales_item_id == SKIP
391
+ @transaction_id = transaction_id unless transaction_id == SKIP
392
+ @invoice_date = invoice_date unless invoice_date == SKIP
393
+ @invoice_number = invoice_number unless invoice_number == SKIP
394
+ @valid_invoice_date_only = valid_invoice_date_only unless valid_invoice_date_only == SKIP
395
+ @invoice_from_date = invoice_from_date unless invoice_from_date == SKIP
396
+ @invoice_to_date = invoice_to_date unless invoice_to_date == SKIP
397
+ @fuel_only = fuel_only unless fuel_only == SKIP
398
+ @include_fees = include_fees unless include_fees == SKIP
399
+ end
400
+
401
+ # Creates an instance of the object from a hash.
402
+ def self.from_hash(hash)
403
+ return nil unless hash
404
+
405
+ # Extract variables from the hash.
406
+ col_co_id = hash.key?('ColCoId') ? hash['ColCoId'] : SKIP
407
+ col_co_code = hash.key?('ColCoCode') ? hash['ColCoCode'] : SKIP
408
+ payer_id = hash.key?('PayerId') ? hash['PayerId'] : SKIP
409
+ payer_number = hash.key?('PayerNumber') ? hash['PayerNumber'] : SKIP
410
+ accounts = Accounts.from_hash(hash['Accounts']) if hash['Accounts']
411
+ card_id = hash.key?('CardId') ? hash['CardId'] : SKIP
412
+ card_pan = hash.key?('CardPAN') ? hash['CardPAN'] : SKIP
413
+ driver_name = hash.key?('DriverName') ? hash['DriverName'] : SKIP
414
+ vehicle_registration_number =
415
+ hash.key?('VehicleRegistrationNumber') ? hash['VehicleRegistrationNumber'] : SKIP
416
+ invoice_status = hash.key?('InvoiceStatus') ? hash['InvoiceStatus'] : SKIP
417
+ product_id = hash.key?('ProductId') ? hash['ProductId'] : SKIP
418
+ product_code = hash.key?('ProductCode') ? hash['ProductCode'] : SKIP
419
+ purchased_in_country =
420
+ hash.key?('PurchasedInCountry') ? hash['PurchasedInCountry'] : SKIP
421
+ card_group_id = hash.key?('CardGroupId') ? hash['CardGroupId'] : SKIP
422
+ from_date = hash.key?('FromDate') ? hash['FromDate'] : SKIP
423
+ to_date = hash.key?('ToDate') ? hash['ToDate'] : SKIP
424
+ period = hash.key?('Period') ? hash['Period'] : SKIP
425
+ site_code = hash.key?('SiteCode') ? hash['SiteCode'] : SKIP
426
+ site_group_id = hash.key?('SiteGroupId') ? hash['SiteGroupId'] : SKIP
427
+ posting_date_from =
428
+ hash.key?('PostingDateFrom') ? hash['PostingDateFrom'] : SKIP
429
+ posting_date_to =
430
+ hash.key?('PostingDateTo') ? hash['PostingDateTo'] : SKIP
431
+ sales_item_id = hash.key?('SalesItemId') ? hash['SalesItemId'] : SKIP
432
+ transaction_id = hash.key?('TransactionId') ? hash['TransactionId'] : SKIP
433
+ invoice_date = hash.key?('InvoiceDate') ? hash['InvoiceDate'] : SKIP
434
+ invoice_number = hash.key?('InvoiceNumber') ? hash['InvoiceNumber'] : SKIP
435
+ valid_invoice_date_only =
436
+ hash.key?('ValidInvoiceDateOnly') ? hash['ValidInvoiceDateOnly'] : SKIP
437
+ invoice_from_date =
438
+ hash.key?('InvoiceFromDate') ? hash['InvoiceFromDate'] : SKIP
439
+ invoice_to_date =
440
+ hash.key?('InvoiceToDate') ? hash['InvoiceToDate'] : SKIP
441
+ fuel_only = hash.key?('FuelOnly') ? hash['FuelOnly'] : SKIP
442
+ include_fees = hash.key?('IncludeFees') ? hash['IncludeFees'] : SKIP
443
+
444
+ # Create object from extracted values.
445
+ PriceTransSummaryRequest.new(col_co_id,
446
+ col_co_code,
447
+ payer_id,
448
+ payer_number,
449
+ accounts,
450
+ card_id,
451
+ card_pan,
452
+ driver_name,
453
+ vehicle_registration_number,
454
+ invoice_status,
455
+ product_id,
456
+ product_code,
457
+ purchased_in_country,
458
+ card_group_id,
459
+ from_date,
460
+ to_date,
461
+ period,
462
+ site_code,
463
+ site_group_id,
464
+ posting_date_from,
465
+ posting_date_to,
466
+ sales_item_id,
467
+ transaction_id,
468
+ invoice_date,
469
+ invoice_number,
470
+ valid_invoice_date_only,
471
+ invoice_from_date,
472
+ invoice_to_date,
473
+ fuel_only,
474
+ include_fees)
475
+ end
476
+ end
477
+ end