card-management-sdk 1.0.0 → 1.2.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 (218) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +27 -19
  3. data/lib/shell_card_management_ap_is/client.rb +2 -3
  4. data/lib/shell_card_management_ap_is/configuration.rb +15 -22
  5. data/lib/shell_card_management_ap_is/controllers/base_controller.rb +9 -9
  6. data/lib/shell_card_management_ap_is/controllers/card_controller.rb +434 -434
  7. data/lib/shell_card_management_ap_is/controllers/customer_controller.rb +261 -262
  8. data/lib/shell_card_management_ap_is/controllers/o_auth_authorization_controller.rb +11 -11
  9. data/lib/shell_card_management_ap_is/controllers/restriction_controller.rb +421 -291
  10. data/lib/shell_card_management_ap_is/exceptions/error_object_exception.rb +15 -15
  11. data/lib/shell_card_management_ap_is/exceptions/{error_user_access_error1_exception.rb → fleetmanagement_v1_customer_customer403_error_exception.rb} +17 -17
  12. data/lib/shell_card_management_ap_is/exceptions/{default_error_exception.rb → fleetmanagement_v1_customer_payers400_error_exception.rb} +20 -20
  13. data/lib/shell_card_management_ap_is/exceptions/fleetmanagement_v1_customer_payers404_error_exception.rb +32 -0
  14. data/lib/shell_card_management_ap_is/exceptions/fleetmanagement_v1_user_loggedinuser400_error_exception.rb +32 -0
  15. data/lib/shell_card_management_ap_is/exceptions/fleetmanagement_v1_user_loggedinuser401_error_exception.rb +32 -0
  16. data/lib/shell_card_management_ap_is/exceptions/fleetmanagement_v1_user_loggedinuser403_error_exception.rb +32 -0
  17. data/lib/shell_card_management_ap_is/exceptions/fleetmanagement_v1_user_loggedinuser404_error_exception.rb +32 -0
  18. data/lib/shell_card_management_ap_is/exceptions/fleetmanagement_v1_user_loggedinuser500_error_exception.rb +32 -0
  19. data/lib/shell_card_management_ap_is/exceptions/fleetmanagement_v2_restriction_searchcard401_error_exception.rb +32 -0
  20. data/lib/shell_card_management_ap_is/exceptions/fleetmanagement_v2_restriction_searchcard500_error_exception.rb +32 -0
  21. data/lib/shell_card_management_ap_is/exceptions/o_auth_provider_exception.rb +15 -15
  22. data/lib/shell_card_management_ap_is/http/auth/bearer_token.rb +54 -10
  23. data/lib/shell_card_management_ap_is/models/account_access.rb +3 -8
  24. data/lib/shell_card_management_ap_is/models/account_request.rb +17 -26
  25. data/lib/shell_card_management_ap_is/models/account_response.rb +2 -6
  26. data/lib/shell_card_management_ap_is/models/account_response_accounts_items.rb +29 -53
  27. data/lib/shell_card_management_ap_is/models/account_restriction_request.rb +28 -10
  28. data/lib/shell_card_management_ap_is/models/account_restriction_response.rb +60 -11
  29. data/lib/shell_card_management_ap_is/models/account_velocity_limit.rb +11 -19
  30. data/lib/shell_card_management_ap_is/models/accounts.rb +1 -2
  31. data/lib/shell_card_management_ap_is/models/address.rb +4 -11
  32. data/lib/shell_card_management_ap_is/models/audit_request.rb +37 -33
  33. data/lib/shell_card_management_ap_is/models/audit_response.rb +2 -6
  34. data/lib/shell_card_management_ap_is/models/audit_response_audits_items.rb +50 -63
  35. data/lib/shell_card_management_ap_is/models/auto_renew_card_request.rb +2 -5
  36. data/lib/shell_card_management_ap_is/models/auto_renew_card_request_auto_renew_cards_items.rb +13 -5
  37. data/lib/shell_card_management_ap_is/models/auto_renew_card_response.rb +1 -3
  38. data/lib/shell_card_management_ap_is/models/auto_renew_card_response_data_items.rb +13 -3
  39. data/lib/shell_card_management_ap_is/models/bank_account.rb +5 -13
  40. data/lib/shell_card_management_ap_is/models/{search_account_limit_request_filters.rb → budle_details_request.rb} +29 -22
  41. data/lib/shell_card_management_ap_is/models/{create_bundle_response_data_items_cards_items.rb → bundle_card_restriction_status.rb} +4 -3
  42. data/lib/shell_card_management_ap_is/models/bundle_details_response.rb +181 -0
  43. data/lib/shell_card_management_ap_is/models/bundle_restriction.rb +86 -103
  44. data/lib/shell_card_management_ap_is/models/bundle_restriction_update.rb +185 -0
  45. data/lib/shell_card_management_ap_is/models/bundled_details_product_list.rb +116 -0
  46. data/lib/shell_card_management_ap_is/models/bundled_restrictions_list.rb +82 -0
  47. data/lib/shell_card_management_ap_is/models/cancel_card_request.rb +1 -3
  48. data/lib/shell_card_management_ap_is/models/cancel_card_response.rb +3 -6
  49. data/lib/shell_card_management_ap_is/models/card.rb +43 -51
  50. data/lib/shell_card_management_ap_is/models/card_block_schedule.rb +1 -2
  51. data/lib/shell_card_management_ap_is/models/{summary_of_bundle_response_data_items_card_bundles_items.rb → card_bundle.rb} +11 -18
  52. data/lib/shell_card_management_ap_is/models/card_contact.rb +222 -0
  53. data/lib/shell_card_management_ap_is/models/card_day_time_restrictions.rb +3 -9
  54. data/lib/shell_card_management_ap_is/models/card_delivery_address.rb +218 -0
  55. data/lib/shell_card_management_ap_is/models/card_delivery_contact.rb +7 -14
  56. data/lib/shell_card_management_ap_is/models/card_detail.rb +50 -61
  57. data/lib/shell_card_management_ap_is/models/card_details_request.rb +6 -14
  58. data/lib/shell_card_management_ap_is/models/card_details_response.rb +52 -89
  59. data/lib/shell_card_management_ap_is/models/card_details_response_card_block_schedules_items_all_of0.rb +1 -2
  60. data/lib/shell_card_management_ap_is/models/card_details_response_card_delivery_address.rb +6 -15
  61. data/lib/shell_card_management_ap_is/models/card_details_response_fuel_sets_items.rb +1 -2
  62. data/lib/shell_card_management_ap_is/models/card_details_response_non_fuel_sets_items.rb +1 -2
  63. data/lib/shell_card_management_ap_is/models/card_details_response_pin_delivery_address.rb +6 -15
  64. data/lib/shell_card_management_ap_is/models/card_group_request.rb +6 -12
  65. data/lib/shell_card_management_ap_is/models/card_group_response.rb +2 -6
  66. data/lib/shell_card_management_ap_is/models/card_group_response_card_groups_items.rb +10 -20
  67. data/lib/shell_card_management_ap_is/models/card_management_v1_cancel_request.rb +104 -0
  68. data/lib/shell_card_management_ap_is/models/card_management_v1_ordercard_request.rb +59 -0
  69. data/lib/shell_card_management_ap_is/models/card_management_v1_pinreminder_request.rb +130 -0
  70. data/lib/shell_card_management_ap_is/models/card_management_v1_updatestatus_request.rb +122 -0
  71. data/lib/shell_card_management_ap_is/models/card_move_request.rb +4 -9
  72. data/lib/shell_card_management_ap_is/models/card_move_request_cards_items.rb +1 -3
  73. data/lib/shell_card_management_ap_is/models/card_move_response.rb +2 -4
  74. data/lib/shell_card_management_ap_is/models/card_move_response_error_cards_items.rb +2 -5
  75. data/lib/shell_card_management_ap_is/models/card_move_response_successful_requests_items.rb +2 -5
  76. data/lib/shell_card_management_ap_is/models/{restriction_card_request.rb → card_restriction_req.rb} +42 -50
  77. data/lib/shell_card_management_ap_is/models/card_restriction_response.rb +96 -0
  78. data/lib/shell_card_management_ap_is/models/card_search_response.rb +2 -7
  79. data/lib/shell_card_management_ap_is/models/card_settings.rb +626 -0
  80. data/lib/shell_card_management_ap_is/models/card_summary_request.rb +3 -5
  81. data/lib/shell_card_management_ap_is/models/card_summary_response.rb +1 -3
  82. data/lib/shell_card_management_ap_is/models/card_type_request.rb +3 -7
  83. data/lib/shell_card_management_ap_is/models/card_type_response.rb +1 -3
  84. data/lib/shell_card_management_ap_is/models/card_type_response_customer_card_types_items.rb +15 -31
  85. data/lib/shell_card_management_ap_is/models/card_type_response_error.rb +1 -2
  86. data/lib/shell_card_management_ap_is/models/card_usage_restrictions.rb +5 -10
  87. data/lib/shell_card_management_ap_is/models/col_co_access.rb +2 -4
  88. data/lib/shell_card_management_ap_is/models/{location_restrictions_country_restrictions.rb → country_restriction.rb} +20 -21
  89. data/lib/shell_card_management_ap_is/models/create_bundle_request.rb +64 -62
  90. data/lib/shell_card_management_ap_is/models/create_bundle_response.rb +122 -47
  91. data/lib/shell_card_management_ap_is/models/create_card_group_request.rb +3 -9
  92. data/lib/shell_card_management_ap_is/models/create_card_group_request_cards_items.rb +1 -3
  93. data/lib/shell_card_management_ap_is/models/create_card_group_response.rb +2 -5
  94. data/lib/shell_card_management_ap_is/models/create_card_group_response_error_cards_items.rb +1 -3
  95. data/lib/shell_card_management_ap_is/models/create_card_group_response_successful_requests_items.rb +1 -3
  96. data/lib/shell_card_management_ap_is/models/create_card_response.rb +1 -2
  97. data/lib/shell_card_management_ap_is/models/customer_contract.rb +1 -2
  98. data/lib/shell_card_management_ap_is/models/customer_detail_request.rb +2 -5
  99. data/lib/shell_card_management_ap_is/models/customer_detail_response.rb +31 -45
  100. data/lib/shell_card_management_ap_is/models/day_time_restriction.rb +133 -0
  101. data/lib/shell_card_management_ap_is/models/day_time_restrictions.rb +52 -82
  102. data/lib/shell_card_management_ap_is/models/{summary_of_bundle_request.rb → default_error.rb} +10 -10
  103. data/lib/shell_card_management_ap_is/models/default_error_fault.rb +4 -5
  104. data/lib/shell_card_management_ap_is/models/delete_bundle_request.rb +14 -16
  105. data/lib/shell_card_management_ap_is/models/delete_bundle_response.rb +9 -10
  106. data/lib/shell_card_management_ap_is/models/delivery_address_update.rb +13 -11
  107. data/lib/shell_card_management_ap_is/models/delivery_address_update_references.rb +2 -5
  108. data/lib/shell_card_management_ap_is/models/delivery_address_update_references2.rb +98 -0
  109. data/lib/shell_card_management_ap_is/models/delivery_address_update_request.rb +3 -7
  110. data/lib/shell_card_management_ap_is/models/delivery_address_update_response.rb +5 -14
  111. data/lib/shell_card_management_ap_is/models/delivery_addresses.rb +7 -18
  112. data/lib/shell_card_management_ap_is/models/detail.rb +50 -0
  113. data/lib/shell_card_management_ap_is/models/eid_access.rb +1 -2
  114. data/lib/shell_card_management_ap_is/models/error_details.rb +1 -3
  115. data/lib/shell_card_management_ap_is/models/error_status.rb +1 -2
  116. data/lib/shell_card_management_ap_is/models/error_user_access_error.rb +1 -2
  117. data/lib/shell_card_management_ap_is/models/fault.rb +59 -0
  118. data/lib/shell_card_management_ap_is/models/filters.rb +702 -0
  119. data/lib/shell_card_management_ap_is/models/filters1.rb +579 -0
  120. data/lib/shell_card_management_ap_is/models/filters2.rb +200 -0
  121. data/lib/shell_card_management_ap_is/models/finance_currency.rb +1 -2
  122. data/lib/shell_card_management_ap_is/models/finance_currency2.rb +96 -0
  123. data/lib/shell_card_management_ap_is/models/{restriction_search_card_request.rb → fleetmanagement_v1_customer_payers400_error1.rb} +10 -10
  124. data/lib/shell_card_management_ap_is/models/fleetmanagement_v1_customer_payers404_error1.rb +50 -0
  125. data/lib/shell_card_management_ap_is/models/fleetmanagement_v1_user_loggedinuser400_error1.rb +50 -0
  126. data/lib/shell_card_management_ap_is/models/fleetmanagement_v1_user_loggedinuser401_error1.rb +50 -0
  127. data/lib/shell_card_management_ap_is/models/fleetmanagement_v1_user_loggedinuser404_error1.rb +50 -0
  128. data/lib/shell_card_management_ap_is/models/fleetmanagement_v1_user_loggedinuser500_error1.rb +50 -0
  129. data/lib/shell_card_management_ap_is/models/fleetmanagement_v1_user_loggedinuser_request.rb +104 -0
  130. data/lib/shell_card_management_ap_is/models/fleetmanagement_v2_restriction_searchcard401_error1.rb +50 -0
  131. data/lib/shell_card_management_ap_is/models/fleetmanagement_v2_restriction_searchcard500_error1.rb +50 -0
  132. data/lib/shell_card_management_ap_is/models/generate_pin_key_response.rb +1 -2
  133. data/lib/shell_card_management_ap_is/models/invoice_distribution_method.rb +2 -4
  134. data/lib/shell_card_management_ap_is/models/{location_restrictions.rb → location_restriction.rb} +20 -35
  135. data/lib/shell_card_management_ap_is/models/logged_in_user_request.rb +2 -4
  136. data/lib/shell_card_management_ap_is/models/logged_in_user_response.rb +12 -25
  137. data/lib/shell_card_management_ap_is/models/{location_restrictions_network_restrictions_items.rb → network_restriction.rb} +18 -20
  138. data/lib/shell_card_management_ap_is/models/o_auth_token.rb +2 -6
  139. data/lib/shell_card_management_ap_is/models/order_card_enquiry.rb +48 -45
  140. data/lib/shell_card_management_ap_is/models/order_card_enquiry_req.rb +5 -12
  141. data/lib/shell_card_management_ap_is/models/order_card_enquiry_request.rb +3 -4
  142. data/lib/shell_card_management_ap_is/models/order_card_enquiry_response.rb +1 -3
  143. data/lib/shell_card_management_ap_is/models/order_card_response.rb +1 -3
  144. data/lib/shell_card_management_ap_is/models/{location_restrictions_partner_site_restrictions_items.rb → partner_site_restriction.rb} +10 -12
  145. data/lib/shell_card_management_ap_is/models/payer_access.rb +3 -8
  146. data/lib/shell_card_management_ap_is/models/payer_details.rb +55 -96
  147. data/lib/shell_card_management_ap_is/models/payer_request.rb +9 -12
  148. data/lib/shell_card_management_ap_is/models/payer_response.rb +2 -6
  149. data/lib/shell_card_management_ap_is/models/payers.rb +2 -5
  150. data/lib/shell_card_management_ap_is/models/pin_advice_types.rb +5 -6
  151. data/lib/shell_card_management_ap_is/models/pin_contact.rb +234 -0
  152. data/lib/shell_card_management_ap_is/models/pin_deliver_to.rb +161 -0
  153. data/lib/shell_card_management_ap_is/models/pin_delivery_address.rb +222 -0
  154. data/lib/shell_card_management_ap_is/models/pin_delivery_contact.rb +7 -14
  155. data/lib/shell_card_management_ap_is/models/pin_delivery_details.rb +4 -11
  156. data/lib/shell_card_management_ap_is/models/pin_reminder_card_details.rb +19 -17
  157. data/lib/shell_card_management_ap_is/models/pin_reminder_reference.rb +2 -5
  158. data/lib/shell_card_management_ap_is/models/pin_reminder_request.rb +2 -6
  159. data/lib/shell_card_management_ap_is/models/pin_reminder_response.rb +1 -3
  160. data/lib/shell_card_management_ap_is/models/product_all_of0.rb +1 -2
  161. data/lib/shell_card_management_ap_is/models/product_group.rb +2 -6
  162. data/lib/shell_card_management_ap_is/models/{product_restrictions.rb → product_restriction_card.rb} +9 -12
  163. data/lib/shell_card_management_ap_is/models/purchase_categories.rb +1 -4
  164. data/lib/shell_card_management_ap_is/models/purchase_category1_all_of0.rb +10 -15
  165. data/lib/shell_card_management_ap_is/models/purchase_category_request.rb +2 -5
  166. data/lib/shell_card_management_ap_is/models/purchase_category_response.rb +1 -2
  167. data/lib/shell_card_management_ap_is/models/replace_card_settings.rb +25 -40
  168. data/lib/shell_card_management_ap_is/models/restriction.rb +82 -0
  169. data/lib/shell_card_management_ap_is/models/{restriction_search_card_response_data_items.rb → restriction_card_list.rb} +284 -328
  170. data/lib/shell_card_management_ap_is/models/{restriction_card_request_cards_items.rb → restriction_cards_list.rb} +69 -82
  171. data/lib/shell_card_management_ap_is/models/restriction_product.rb +62 -0
  172. data/lib/shell_card_management_ap_is/models/{restriction_card_response_data_items.rb → restrictioncards_res.rb} +100 -114
  173. data/lib/shell_card_management_ap_is/models/role.rb +3 -6
  174. data/lib/shell_card_management_ap_is/models/schedule_card_block_cards_items.rb +42 -39
  175. data/lib/shell_card_management_ap_is/models/schedule_card_block_request.rb +1 -2
  176. data/lib/shell_card_management_ap_is/models/schedule_card_block_response.rb +1 -3
  177. data/lib/shell_card_management_ap_is/models/schedule_card_block_response_data_items.rb +1 -3
  178. data/lib/shell_card_management_ap_is/models/search_account_limit_request.rb +79 -10
  179. data/lib/shell_card_management_ap_is/models/search_account_limit_response.rb +74 -20
  180. data/lib/shell_card_management_ap_is/models/search_card.rb +13 -3
  181. data/lib/shell_card_management_ap_is/models/search_card_request.rb +4 -6
  182. data/lib/shell_card_management_ap_is/models/{restriction_search_card_request_filters_cards_items.rb → search_card_restriction.rb} +19 -16
  183. data/lib/shell_card_management_ap_is/models/{restriction_search_card_request_filters.rb → search_card_restriction_req.rb} +72 -71
  184. data/lib/shell_card_management_ap_is/models/search_card_restriction_res.rb +89 -0
  185. data/lib/shell_card_management_ap_is/models/search_product_restriction.rb +3 -4
  186. data/lib/shell_card_management_ap_is/models/search_request.rb +25 -47
  187. data/lib/shell_card_management_ap_is/models/{location_restrictions_shell_site_restrictions_items.rb → shell_site_restriction.rb} +10 -17
  188. data/lib/shell_card_management_ap_is/models/submitted_card.rb +24 -9
  189. data/lib/shell_card_management_ap_is/models/summary_request.rb +21 -39
  190. data/lib/shell_card_management_ap_is/models/summary_response.rb +5 -11
  191. data/lib/shell_card_management_ap_is/models/{summary_of_bundle_response_data_items.rb → summaryofbundle_response.rb} +36 -33
  192. data/lib/shell_card_management_ap_is/models/{summaryof_bundle.rb → summaryofbundler_request.rb} +43 -36
  193. data/lib/shell_card_management_ap_is/models/update_bundle_request.rb +65 -70
  194. data/lib/shell_card_management_ap_is/models/update_bundle_response.rb +75 -21
  195. data/lib/shell_card_management_ap_is/models/update_card.rb +31 -20
  196. data/lib/shell_card_management_ap_is/models/update_card_group_request.rb +9 -17
  197. data/lib/shell_card_management_ap_is/models/update_card_group_response.rb +3 -6
  198. data/lib/shell_card_management_ap_is/models/update_card_group_response_move_card_references_items.rb +1 -3
  199. data/lib/shell_card_management_ap_is/models/update_card_renewal_address.rb +5 -11
  200. data/lib/shell_card_management_ap_is/models/update_card_renewal_address2.rb +155 -0
  201. data/lib/shell_card_management_ap_is/models/update_card_status_request.rb +1 -3
  202. data/lib/shell_card_management_ap_is/models/update_card_status_response.rb +2 -5
  203. data/lib/shell_card_management_ap_is/models/update_m_pay_reg_status_request.rb +2 -5
  204. data/lib/shell_card_management_ap_is/models/update_m_pay_reg_status_request_m_pay_requests_items.rb +3 -5
  205. data/lib/shell_card_management_ap_is/models/update_m_pay_reg_status_response.rb +1 -2
  206. data/lib/shell_card_management_ap_is/models/usage_restriction.rb +1127 -0
  207. data/lib/shell_card_management_ap_is/models/{usage_restrictions.rb → usage_restrictions_card.rb} +74 -131
  208. data/lib/shell_card_management_ap_is/utilities/file_wrapper.rb +9 -9
  209. data/lib/shell_card_management_ap_is.rb +139 -95
  210. metadata +74 -38
  211. data/lib/shell_card_management_ap_is/models/create_bundle_request_restrictions.rb +0 -147
  212. data/lib/shell_card_management_ap_is/models/create_bundle_response_data_items.rb +0 -125
  213. data/lib/shell_card_management_ap_is/models/restriction_card_response.rb +0 -91
  214. data/lib/shell_card_management_ap_is/models/restriction_search_card_response.rb +0 -79
  215. data/lib/shell_card_management_ap_is/models/search_account_limit_response_data.rb +0 -106
  216. data/lib/shell_card_management_ap_is/models/search_card_response_restrictions.rb +0 -99
  217. data/lib/shell_card_management_ap_is/models/summary_of_bundle_response.rb +0 -79
  218. data/lib/shell_card_management_ap_is/models/url_enum.rb +0 -23
@@ -0,0 +1,702 @@
1
+ # shell_card_management_ap_is
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module ShellCardManagementApIs
7
+ # Filters Model.
8
+ class Filters < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Account ID of the customer.<br/> Optional.<br/> This input is a search
13
+ # criterion, if given.
14
+ # @return [Integer]
15
+ attr_accessor :account_id
16
+
17
+ # Account Number of the customer.<br/> Optional.<br/> This input is a search
18
+ # criterion, if given.
19
+ # @return [String]
20
+ attr_accessor :account_number
21
+
22
+ # Card group id. <br />
23
+ # Optional.<br />
24
+ # This input is a search criterion, if given.<br />
25
+ # When -1 is passed, those cards that does not belong to any card group will
26
+ # be returned.
27
+ # @return [Integer]
28
+ attr_accessor :card_group_id
29
+
30
+ # Card group name.<br />
31
+ # Optional.<br />
32
+ # This input is a search criterion, if given.<br />
33
+ # If CardGroupId is provided then this search criterion will be ignored,
34
+ # else, those cards that have the card group name completely matching with
35
+ # the entered value will be returned.
36
+ # @return [String]
37
+ attr_accessor :card_group_name
38
+
39
+ # Market segment to which card belongs to.<br />
40
+ # Optional.<br />
41
+ # Allowed values<br />
42
+ # • CRT<br />
43
+ # • Fleet
44
+ # @return [String]
45
+ attr_accessor :card_segment
46
+
47
+ # Status of the card.<br />
48
+ # Mandatory.<br />
49
+ # Multiple statuses are allowed to be included in the search criteria.<br />
50
+ # CardStatus filter accepts either of the two values for each status as
51
+ # described below. However, the output field “StatusDescription” is aligned
52
+ # with second value highlighted in italics.<br />
53
+ # Below are the possible allowed statuses: <br />
54
+ # • ACTIVE or Active – Cards at status Active if the
55
+ # IncludeIntermediateStatus flag is true: Active (Block in progress), Active
56
+ # (Cancel in progress), Active (Marked as damaged)), New (Cancel in
57
+ # progress).<br />
58
+ # • ON_ORDER or New – Cards at status New<br />
59
+ # • EXPIRED or Expired – Cards at status Expired<br />
60
+ # • BLOCKED or Blocked Card – Cards at status Block (The result will include
61
+ # all cards having the following intermediate status, if the
62
+ # IncludeIntermediateStatus flag is true: Blocked card (Unblock in
63
+ # progress))<br />
64
+ # • TEMP_BLOCKED_CUSTOMER or Temporary Block(Customer) – Cards at status
65
+ # Temporary Blocked By Customer<br />
66
+ # • TEMP_BLOCKED_SHELL or Temporary Block (Shell) – Cards at Status
67
+ # Temporary Blocked by Shell<br />
68
+ # • CANCELLED or Cancelled – Cards at status Cancelled<br />
69
+ # • PENDING_RENEWAL or Pending Renewal - Cards that are in renewal
70
+ # process<br />
71
+ # • REPLACED or Replaced – Cards at Status Replaced<br />
72
+ # • FRAUD or Fraud – Cards at Status FRAUD<br />
73
+ # • ALL
74
+ # @return [Array[String]]
75
+ attr_accessor :card_status
76
+
77
+ # ISO code of the card i.e. first 7 digits of the PAN<br />
78
+ # Optional.
79
+ # @return [String]
80
+ attr_accessor :card_type_code
81
+
82
+ # Collecting Company Code (Shell Code) of the selected payer. <br />
83
+ # Optional If ColCo Id or ColCoCountryCode is passed else Mandatory<br />
84
+ # @return [Integer]
85
+ attr_accessor :col_co_code
86
+
87
+ # The 2 character ISO Code for the customer and card owning country.<br />
88
+ # Optional If ColCoId or ColCoCode is passed else Mandatory.<br />
89
+ # @return [String]
90
+ attr_accessor :col_co_country_code
91
+
92
+ # Collecting Company Id of the selected payer. <br />
93
+ # Optional If ColCoCode or ColCoCountryCode is passed else Mandatory <br />
94
+ # @return [Integer]
95
+ attr_accessor :col_co_id
96
+
97
+ # Cards allowed to used nationally/internationally.<br />
98
+ # Optional.<br />
99
+ # Allowed values<br />
100
+ # -National<br />
101
+ # -International
102
+ # @return [String]
103
+ attr_accessor :coverage
104
+
105
+ # Card Creation Date<br />
106
+ # Optional<br />
107
+ # Format: yyyyMMdd
108
+ # @return [String]
109
+ attr_accessor :creation_date
110
+
111
+ # Driver Name embossed on the card<br />
112
+ # Optional<br />
113
+ # Up to 10 driver names could be passed in the parameter.<br />
114
+ # Minimum of 4 characters should be provided for each driver name else not
115
+ # considered.<br />
116
+ # Those cards will be returned when part of the driver name matches with any
117
+ # of the string passed in the list.<br />
118
+ # Max Length for each Driver name: 50
119
+ # @return [Array[String]]
120
+ attr_accessor :driver_name
121
+
122
+ # Effective date for the Card<br />
123
+ # Optional<br />
124
+ # Format: yyyyMMdd<br />
125
+ # @return [String]
126
+ attr_accessor :effective_date
127
+
128
+ # Bundle Id for the Card, which needs to be excluded in the response.<br />
129
+ # Optional
130
+ # @return [String]
131
+ attr_accessor :exclude_bundle_id
132
+
133
+ # Default value is True.<br />
134
+ # When true, the API will not return cards that are at Cancelled Status in
135
+ # Cards Platform<br />
136
+ # @return [TrueClass | FalseClass]
137
+ attr_accessor :exclude_cancelled_cards
138
+
139
+ # Optional<br />
140
+ # When passed, the API will not return cards that are currently in the Card
141
+ # Group specified<br />
142
+ # @return [Integer]
143
+ attr_accessor :exclude_card_group_id
144
+
145
+ # Optional<br />
146
+ # When passed, the API will not return cards that are currently in the Card
147
+ # Group specified<br />
148
+ # @return [String]
149
+ attr_accessor :exclude_card_group_name
150
+
151
+ # List of SearchCard entity i.e., Card Id or PAN, which needs to be excluded
152
+ # in the response. <br />
153
+ # Details of the SerachCard entity are given below.<br />
154
+ # @return [Array[SearchCard]]
155
+ attr_accessor :exclude_cards
156
+
157
+ # Default value is False.<br />
158
+ # When true, the API will not return cards that are at Fraud Status in Cards
159
+ # Platform<br />
160
+ # @return [TrueClass | FalseClass]
161
+ attr_accessor :exclude_fraud_cards
162
+
163
+ # Default value is True.<br />
164
+ # When true, the API will not return cards that are at Pending Renewal
165
+ # Status in Cards Platform
166
+ # @return [TrueClass | FalseClass]
167
+ attr_accessor :exclude_pending_renewal_cards
168
+
169
+ # Default value is False.<br />
170
+ # When true, the API will not return cards that are at Replaced Status in
171
+ # Cards Platform<br />
172
+ # @return [TrueClass | FalseClass]
173
+ attr_accessor :exclude_replaced_cards
174
+
175
+ # Cards active and expiring in given number of days.<br />
176
+ # Optional<br />
177
+ # Note: When a value is passed in this parameter, only active cards will be
178
+ # considered while searching.<br />
179
+ # @return [Integer]
180
+ attr_accessor :expiring_in_days
181
+
182
+ # Month in which the card is expiring.<br />
183
+ # Optional.<br />
184
+ # Format: MMYYYY<br />
185
+ # @return [String]
186
+ attr_accessor :expiry_month
187
+
188
+ # Default value is False,<br />
189
+ # When the value is True, API will return bundle Id associated with card in
190
+ # response.<br />
191
+ # @return [TrueClass | FalseClass]
192
+ attr_accessor :include_bundle_details
193
+
194
+ # List of SearchCard entity i.e., Card Id or PAN, which needs to be included
195
+ # in the response.<br />
196
+ # Details of the SerachCard entity are given below.<br />
197
+ # @return [Array[SearchCard]]
198
+ attr_accessor :include_cards
199
+
200
+ # A flag which indicates if the response can contain intermediate
201
+ # statuses.<br />
202
+ # Optional<br />
203
+ # Default: false
204
+ # @return [TrueClass | FalseClass]
205
+ attr_accessor :include_intermediate_status
206
+
207
+ # If provided, only list cards issued after the given date<br />
208
+ # Optional<br />
209
+ # Format: yyyyMMdd<br />
210
+ # Note: Clients to convert this to appropriate DateTime type.
211
+ # @return [String]
212
+ attr_accessor :issued_after
213
+
214
+ # Cards allowed to be used in site.<br />
215
+ # Optional.<br />
216
+ # Allowed values<br />
217
+ # -ShellSitesOnly<br />
218
+ # -PartnersSitesIncluded
219
+ # @return [String]
220
+ attr_accessor :network
221
+
222
+ # Last digits of the PAN number<br />
223
+ # Minimum 4 last digits of the card should be sent for this field to be
224
+ # considered as part of the search criteria.<br />
225
+ # Optional<br />
226
+ # Max Length: 50
227
+ # @return [String]
228
+ attr_accessor :pan_ends_with
229
+
230
+ # Payer Id (i.e. Customer Id of the Payment Customer) of the selected
231
+ # payer.<br />
232
+ # Optional if PayerNumber is passed else Mandatory<br />
233
+ # Example: 123456
234
+ # @return [Integer]
235
+ attr_accessor :payer_id
236
+
237
+ # Payer Number of the selected payer.<br />
238
+ # Optional if PayerId is passed else Mandatory<br />
239
+ # @return [String]
240
+ attr_accessor :payer_number
241
+
242
+ # Purchase category code of the card.<br />
243
+ # Optional.
244
+ # @return [String]
245
+ attr_accessor :purchase_category_code
246
+
247
+ # Possible options are:<br />
248
+ # 1.ExpiringDateAscending<br />
249
+ # 2.ExpiringDateDescending<br />
250
+ # 3.DriverNameAscending(If Driver Name is null then VRN value will be
251
+ # considered)<br />
252
+ # 4.DriverNameDescending(If Driver Name is null then VRN value will be
253
+ # considered)<br />
254
+ # 5.VRNAscending(If VRN is null then Driver Name value will be
255
+ # considered)<br />
256
+ # 6.VRNDescending(If VRN is null then Driver Name value will be
257
+ # considered)<br />
258
+ # 7.LastUsedDateAscending<br />
259
+ # 8.LastUsedDateDescending<br />
260
+ # 9.IssueDateAscending<br />
261
+ # 10.IssueDateDescending<br />
262
+ # 11.PurchaseCategoryCodeAscending<br />
263
+ # 12.PurchaseCategoryCodeDescending<br />
264
+ # 13.CardSegmentAscending (CRT will appear first)<br />
265
+ # 14.CardSegmentDescending (Fleet will appear first)<br />
266
+ # Optional
267
+ # @return [String]
268
+ attr_accessor :sort_order
269
+
270
+ # A flag which indicates if the response can contain scheduled card blocks
271
+ # details<br />
272
+ # Optional<br />
273
+ # Default: false
274
+ # @return [TrueClass | FalseClass]
275
+ attr_accessor :include_scheduled_card_blocks
276
+
277
+ # Token Type ID for the Card<br />
278
+ # Optional
279
+ # @return [Integer]
280
+ attr_accessor :token_type_id
281
+
282
+ # Token Type name for the Card<br />
283
+ # Optional
284
+ # @return [String]
285
+ attr_accessor :token_type_name
286
+
287
+ # Vehicle Registration embossed on the card<br />
288
+ # Optional<br />
289
+ # Up to 10 vehicle registration numbers could be passed in the parameter.<br
290
+ # />
291
+ # Minimum of 4 characters should be provided for each VRN else not
292
+ # considered<br />
293
+ # Those cards will be returned when part of the VRN matches with any of the
294
+ # string passed in the list.<br />
295
+ # Max Length for each VRN: 50
296
+ # @return [Array[String]]
297
+ attr_accessor :vehicle_registration_number
298
+
299
+ # Default Value: False<br />
300
+ # When this field is set to True, cards with below status 2 years
301
+ # (configurable) ago and earlier are excluded from the result<br />
302
+ # -Blocked Card<br />
303
+ # -Expired<br />
304
+ # -Cancelled<br />
305
+ # -Suspended<br />
306
+ # -Blocked<br />
307
+ # -Expired and Cancelled<br />
308
+ # -Replaced<br />
309
+ # -Replaced By<br />
310
+ # -Closed<br />
311
+ # -Fraud<br />
312
+ # @return [TrueClass | FalseClass]
313
+ attr_accessor :exclude_old_cards
314
+
315
+ # Default value is False.<br />
316
+ # When true, the API will not return cards that are expiring <br />
317
+ # within 120 (i.e. Configured) days, if the status of the card is 1 or 41 or
318
+ # 42 in Cards platform.
319
+ # @return [TrueClass | FalseClass]
320
+ attr_accessor :exclude_expiring_cards
321
+
322
+ # Customer reference number of the card.
323
+ # @return [String]
324
+ attr_accessor :client_reference_id
325
+
326
+ # Default Value: All<br />
327
+ # Optional<br />
328
+ # This option is used to filter the list of cards with ‘ReissueSetting’.<br
329
+ # />
330
+ # If ‘True’, the API will return cards with ReIssueSetting value is true.<br
331
+ # />
332
+ # If ‘False’, the API will return cards with ReIsssueSetting value is
333
+ # false.<br />
334
+ # If ‘ALL’, API will return cards with ReIssueSetting value True &amp; False
335
+ # both.<br />
336
+ # Allowed Values:<br />
337
+ # 1. All<br />
338
+ # 2. True<br />
339
+ # 3. False
340
+ # @return [String]
341
+ attr_accessor :reissue_setting
342
+
343
+ # Default Value: All<br />
344
+ # Optional<br />
345
+ # This option is used to filter the list of cards with ‘ReissueSetting’.<br
346
+ # />
347
+ # If ‘True’, the API will return cards with ReIssueSetting value is true.<br
348
+ # />
349
+ # If ‘False’, the API will return cards with ReIsssueSetting value is
350
+ # false.<br />
351
+ # If ‘ALL’, API will return cards with ReIssueSetting value True &amp; False
352
+ # both.<br />
353
+ # Allowed Values:<br />
354
+ # 1. All<br />
355
+ # 2. True<br />
356
+ # 3. False
357
+ # @return [String]
358
+ attr_accessor :request_id
359
+
360
+ # A mapping from model property names to API property names.
361
+ def self.names
362
+ @_hash = {} if @_hash.nil?
363
+ @_hash['account_id'] = 'AccountId'
364
+ @_hash['account_number'] = 'AccountNumber'
365
+ @_hash['card_group_id'] = 'CardGroupId'
366
+ @_hash['card_group_name'] = 'CardGroupName'
367
+ @_hash['card_segment'] = 'CardSegment'
368
+ @_hash['card_status'] = 'CardStatus'
369
+ @_hash['card_type_code'] = 'CardTypeCode'
370
+ @_hash['col_co_code'] = 'ColCoCode'
371
+ @_hash['col_co_country_code'] = 'ColCoCountryCode'
372
+ @_hash['col_co_id'] = 'ColCoId'
373
+ @_hash['coverage'] = 'Coverage'
374
+ @_hash['creation_date'] = 'CreationDate'
375
+ @_hash['driver_name'] = 'DriverName'
376
+ @_hash['effective_date'] = 'EffectiveDate'
377
+ @_hash['exclude_bundle_id'] = 'ExcludeBundleId'
378
+ @_hash['exclude_cancelled_cards'] = 'ExcludeCancelledCards'
379
+ @_hash['exclude_card_group_id'] = 'ExcludeCardGroupId'
380
+ @_hash['exclude_card_group_name'] = 'ExcludeCardGroupName'
381
+ @_hash['exclude_cards'] = 'ExcludeCards'
382
+ @_hash['exclude_fraud_cards'] = 'ExcludeFraudCards'
383
+ @_hash['exclude_pending_renewal_cards'] = 'ExcludePendingRenewalCards'
384
+ @_hash['exclude_replaced_cards'] = 'ExcludeReplacedCards'
385
+ @_hash['expiring_in_days'] = 'ExpiringInDays'
386
+ @_hash['expiry_month'] = 'ExpiryMonth'
387
+ @_hash['include_bundle_details'] = 'IncludeBundleDetails'
388
+ @_hash['include_cards'] = 'IncludeCards'
389
+ @_hash['include_intermediate_status'] = 'IncludeIntermediateStatus'
390
+ @_hash['issued_after'] = 'IssuedAfter'
391
+ @_hash['network'] = 'Network'
392
+ @_hash['pan_ends_with'] = 'PANEndsWith'
393
+ @_hash['payer_id'] = 'PayerId'
394
+ @_hash['payer_number'] = 'PayerNumber'
395
+ @_hash['purchase_category_code'] = 'PurchaseCategoryCode'
396
+ @_hash['sort_order'] = 'SortOrder'
397
+ @_hash['include_scheduled_card_blocks'] = 'IncludeScheduledCardBlocks'
398
+ @_hash['token_type_id'] = 'TokenTypeID'
399
+ @_hash['token_type_name'] = 'TokenTypeName'
400
+ @_hash['vehicle_registration_number'] = 'VehicleRegistrationNumber'
401
+ @_hash['exclude_old_cards'] = 'ExcludeOldCards'
402
+ @_hash['exclude_expiring_cards'] = 'ExcludeExpiringCards'
403
+ @_hash['client_reference_id'] = 'ClientReferenceId'
404
+ @_hash['reissue_setting'] = 'ReissueSetting'
405
+ @_hash['request_id'] = 'RequestId'
406
+ @_hash
407
+ end
408
+
409
+ # An array for optional fields
410
+ def self.optionals
411
+ %w[
412
+ account_id
413
+ account_number
414
+ card_group_id
415
+ card_group_name
416
+ card_segment
417
+ card_type_code
418
+ col_co_code
419
+ col_co_country_code
420
+ col_co_id
421
+ coverage
422
+ creation_date
423
+ driver_name
424
+ effective_date
425
+ exclude_bundle_id
426
+ exclude_cancelled_cards
427
+ exclude_card_group_id
428
+ exclude_card_group_name
429
+ exclude_cards
430
+ exclude_fraud_cards
431
+ exclude_pending_renewal_cards
432
+ exclude_replaced_cards
433
+ expiring_in_days
434
+ expiry_month
435
+ include_bundle_details
436
+ include_cards
437
+ include_intermediate_status
438
+ issued_after
439
+ network
440
+ pan_ends_with
441
+ payer_id
442
+ payer_number
443
+ purchase_category_code
444
+ sort_order
445
+ include_scheduled_card_blocks
446
+ token_type_id
447
+ token_type_name
448
+ vehicle_registration_number
449
+ exclude_old_cards
450
+ exclude_expiring_cards
451
+ client_reference_id
452
+ reissue_setting
453
+ request_id
454
+ ]
455
+ end
456
+
457
+ # An array for nullable fields
458
+ def self.nullables
459
+ %w[
460
+ account_id
461
+ account_number
462
+ card_group_id
463
+ card_group_name
464
+ card_segment
465
+ card_type_code
466
+ col_co_code
467
+ col_co_country_code
468
+ col_co_id
469
+ coverage
470
+ creation_date
471
+ effective_date
472
+ exclude_bundle_id
473
+ exclude_card_group_id
474
+ exclude_card_group_name
475
+ expiring_in_days
476
+ expiry_month
477
+ issued_after
478
+ network
479
+ pan_ends_with
480
+ payer_id
481
+ payer_number
482
+ purchase_category_code
483
+ sort_order
484
+ token_type_id
485
+ token_type_name
486
+ client_reference_id
487
+ reissue_setting
488
+ ]
489
+ end
490
+
491
+ def initialize(card_status = nil, account_id = SKIP, account_number = SKIP,
492
+ card_group_id = SKIP, card_group_name = SKIP,
493
+ card_segment = SKIP, card_type_code = SKIP,
494
+ col_co_code = SKIP, col_co_country_code = SKIP,
495
+ col_co_id = SKIP, coverage = SKIP, creation_date = SKIP,
496
+ driver_name = SKIP, effective_date = SKIP,
497
+ exclude_bundle_id = SKIP, exclude_cancelled_cards = SKIP,
498
+ exclude_card_group_id = SKIP, exclude_card_group_name = SKIP,
499
+ exclude_cards = SKIP, exclude_fraud_cards = SKIP,
500
+ exclude_pending_renewal_cards = SKIP,
501
+ exclude_replaced_cards = SKIP, expiring_in_days = SKIP,
502
+ expiry_month = SKIP, include_bundle_details = SKIP,
503
+ include_cards = SKIP, include_intermediate_status = SKIP,
504
+ issued_after = SKIP, network = SKIP, pan_ends_with = SKIP,
505
+ payer_id = SKIP, payer_number = SKIP,
506
+ purchase_category_code = SKIP, sort_order = SKIP,
507
+ include_scheduled_card_blocks = SKIP, token_type_id = SKIP,
508
+ token_type_name = SKIP, vehicle_registration_number = SKIP,
509
+ exclude_old_cards = SKIP, exclude_expiring_cards = SKIP,
510
+ client_reference_id = SKIP, reissue_setting = SKIP,
511
+ request_id = SKIP)
512
+ @account_id = account_id unless account_id == SKIP
513
+ @account_number = account_number unless account_number == SKIP
514
+ @card_group_id = card_group_id unless card_group_id == SKIP
515
+ @card_group_name = card_group_name unless card_group_name == SKIP
516
+ @card_segment = card_segment unless card_segment == SKIP
517
+ @card_status = card_status
518
+ @card_type_code = card_type_code unless card_type_code == SKIP
519
+ @col_co_code = col_co_code unless col_co_code == SKIP
520
+ @col_co_country_code = col_co_country_code unless col_co_country_code == SKIP
521
+ @col_co_id = col_co_id unless col_co_id == SKIP
522
+ @coverage = coverage unless coverage == SKIP
523
+ @creation_date = creation_date unless creation_date == SKIP
524
+ @driver_name = driver_name unless driver_name == SKIP
525
+ @effective_date = effective_date unless effective_date == SKIP
526
+ @exclude_bundle_id = exclude_bundle_id unless exclude_bundle_id == SKIP
527
+ @exclude_cancelled_cards = exclude_cancelled_cards unless exclude_cancelled_cards == SKIP
528
+ @exclude_card_group_id = exclude_card_group_id unless exclude_card_group_id == SKIP
529
+ @exclude_card_group_name = exclude_card_group_name unless exclude_card_group_name == SKIP
530
+ @exclude_cards = exclude_cards unless exclude_cards == SKIP
531
+ @exclude_fraud_cards = exclude_fraud_cards unless exclude_fraud_cards == SKIP
532
+ unless exclude_pending_renewal_cards == SKIP
533
+ @exclude_pending_renewal_cards =
534
+ exclude_pending_renewal_cards
535
+ end
536
+ @exclude_replaced_cards = exclude_replaced_cards unless exclude_replaced_cards == SKIP
537
+ @expiring_in_days = expiring_in_days unless expiring_in_days == SKIP
538
+ @expiry_month = expiry_month unless expiry_month == SKIP
539
+ @include_bundle_details = include_bundle_details unless include_bundle_details == SKIP
540
+ @include_cards = include_cards unless include_cards == SKIP
541
+ unless include_intermediate_status == SKIP
542
+ @include_intermediate_status =
543
+ include_intermediate_status
544
+ end
545
+ @issued_after = issued_after unless issued_after == SKIP
546
+ @network = network unless network == SKIP
547
+ @pan_ends_with = pan_ends_with unless pan_ends_with == SKIP
548
+ @payer_id = payer_id unless payer_id == SKIP
549
+ @payer_number = payer_number unless payer_number == SKIP
550
+ @purchase_category_code = purchase_category_code unless purchase_category_code == SKIP
551
+ @sort_order = sort_order unless sort_order == SKIP
552
+ unless include_scheduled_card_blocks == SKIP
553
+ @include_scheduled_card_blocks =
554
+ include_scheduled_card_blocks
555
+ end
556
+ @token_type_id = token_type_id unless token_type_id == SKIP
557
+ @token_type_name = token_type_name unless token_type_name == SKIP
558
+ unless vehicle_registration_number == SKIP
559
+ @vehicle_registration_number =
560
+ vehicle_registration_number
561
+ end
562
+ @exclude_old_cards = exclude_old_cards unless exclude_old_cards == SKIP
563
+ @exclude_expiring_cards = exclude_expiring_cards unless exclude_expiring_cards == SKIP
564
+ @client_reference_id = client_reference_id unless client_reference_id == SKIP
565
+ @reissue_setting = reissue_setting unless reissue_setting == SKIP
566
+ @request_id = request_id unless request_id == SKIP
567
+ end
568
+
569
+ # Creates an instance of the object from a hash.
570
+ def self.from_hash(hash)
571
+ return nil unless hash
572
+
573
+ # Extract variables from the hash.
574
+ card_status = hash.key?('CardStatus') ? hash['CardStatus'] : nil
575
+ account_id = hash.key?('AccountId') ? hash['AccountId'] : SKIP
576
+ account_number = hash.key?('AccountNumber') ? hash['AccountNumber'] : SKIP
577
+ card_group_id = hash.key?('CardGroupId') ? hash['CardGroupId'] : SKIP
578
+ card_group_name =
579
+ hash.key?('CardGroupName') ? hash['CardGroupName'] : SKIP
580
+ card_segment = hash.key?('CardSegment') ? hash['CardSegment'] : SKIP
581
+ card_type_code = hash.key?('CardTypeCode') ? hash['CardTypeCode'] : SKIP
582
+ col_co_code = hash.key?('ColCoCode') ? hash['ColCoCode'] : SKIP
583
+ col_co_country_code =
584
+ hash.key?('ColCoCountryCode') ? hash['ColCoCountryCode'] : SKIP
585
+ col_co_id = hash.key?('ColCoId') ? hash['ColCoId'] : SKIP
586
+ coverage = hash.key?('Coverage') ? hash['Coverage'] : SKIP
587
+ creation_date = hash.key?('CreationDate') ? hash['CreationDate'] : SKIP
588
+ driver_name = hash.key?('DriverName') ? hash['DriverName'] : SKIP
589
+ effective_date = hash.key?('EffectiveDate') ? hash['EffectiveDate'] : SKIP
590
+ exclude_bundle_id =
591
+ hash.key?('ExcludeBundleId') ? hash['ExcludeBundleId'] : SKIP
592
+ exclude_cancelled_cards =
593
+ hash.key?('ExcludeCancelledCards') ? hash['ExcludeCancelledCards'] : SKIP
594
+ exclude_card_group_id =
595
+ hash.key?('ExcludeCardGroupId') ? hash['ExcludeCardGroupId'] : SKIP
596
+ exclude_card_group_name =
597
+ hash.key?('ExcludeCardGroupName') ? hash['ExcludeCardGroupName'] : SKIP
598
+ # Parameter is an array, so we need to iterate through it
599
+ exclude_cards = nil
600
+ unless hash['ExcludeCards'].nil?
601
+ exclude_cards = []
602
+ hash['ExcludeCards'].each do |structure|
603
+ exclude_cards << (SearchCard.from_hash(structure) if structure)
604
+ end
605
+ end
606
+
607
+ exclude_cards = SKIP unless hash.key?('ExcludeCards')
608
+ exclude_fraud_cards =
609
+ hash.key?('ExcludeFraudCards') ? hash['ExcludeFraudCards'] : SKIP
610
+ exclude_pending_renewal_cards =
611
+ hash.key?('ExcludePendingRenewalCards') ? hash['ExcludePendingRenewalCards'] : SKIP
612
+ exclude_replaced_cards =
613
+ hash.key?('ExcludeReplacedCards') ? hash['ExcludeReplacedCards'] : SKIP
614
+ expiring_in_days =
615
+ hash.key?('ExpiringInDays') ? hash['ExpiringInDays'] : SKIP
616
+ expiry_month = hash.key?('ExpiryMonth') ? hash['ExpiryMonth'] : SKIP
617
+ include_bundle_details =
618
+ hash.key?('IncludeBundleDetails') ? hash['IncludeBundleDetails'] : SKIP
619
+ # Parameter is an array, so we need to iterate through it
620
+ include_cards = nil
621
+ unless hash['IncludeCards'].nil?
622
+ include_cards = []
623
+ hash['IncludeCards'].each do |structure|
624
+ include_cards << (SearchCard.from_hash(structure) if structure)
625
+ end
626
+ end
627
+
628
+ include_cards = SKIP unless hash.key?('IncludeCards')
629
+ include_intermediate_status =
630
+ hash.key?('IncludeIntermediateStatus') ? hash['IncludeIntermediateStatus'] : SKIP
631
+ issued_after = hash.key?('IssuedAfter') ? hash['IssuedAfter'] : SKIP
632
+ network = hash.key?('Network') ? hash['Network'] : SKIP
633
+ pan_ends_with = hash.key?('PANEndsWith') ? hash['PANEndsWith'] : SKIP
634
+ payer_id = hash.key?('PayerId') ? hash['PayerId'] : SKIP
635
+ payer_number = hash.key?('PayerNumber') ? hash['PayerNumber'] : SKIP
636
+ purchase_category_code =
637
+ hash.key?('PurchaseCategoryCode') ? hash['PurchaseCategoryCode'] : SKIP
638
+ sort_order = hash.key?('SortOrder') ? hash['SortOrder'] : SKIP
639
+ include_scheduled_card_blocks =
640
+ hash.key?('IncludeScheduledCardBlocks') ? hash['IncludeScheduledCardBlocks'] : SKIP
641
+ token_type_id = hash.key?('TokenTypeID') ? hash['TokenTypeID'] : SKIP
642
+ token_type_name =
643
+ hash.key?('TokenTypeName') ? hash['TokenTypeName'] : SKIP
644
+ vehicle_registration_number =
645
+ hash.key?('VehicleRegistrationNumber') ? hash['VehicleRegistrationNumber'] : SKIP
646
+ exclude_old_cards =
647
+ hash.key?('ExcludeOldCards') ? hash['ExcludeOldCards'] : SKIP
648
+ exclude_expiring_cards =
649
+ hash.key?('ExcludeExpiringCards') ? hash['ExcludeExpiringCards'] : SKIP
650
+ client_reference_id =
651
+ hash.key?('ClientReferenceId') ? hash['ClientReferenceId'] : SKIP
652
+ reissue_setting =
653
+ hash.key?('ReissueSetting') ? hash['ReissueSetting'] : SKIP
654
+ request_id = hash.key?('RequestId') ? hash['RequestId'] : SKIP
655
+
656
+ # Create object from extracted values.
657
+ Filters.new(card_status,
658
+ account_id,
659
+ account_number,
660
+ card_group_id,
661
+ card_group_name,
662
+ card_segment,
663
+ card_type_code,
664
+ col_co_code,
665
+ col_co_country_code,
666
+ col_co_id,
667
+ coverage,
668
+ creation_date,
669
+ driver_name,
670
+ effective_date,
671
+ exclude_bundle_id,
672
+ exclude_cancelled_cards,
673
+ exclude_card_group_id,
674
+ exclude_card_group_name,
675
+ exclude_cards,
676
+ exclude_fraud_cards,
677
+ exclude_pending_renewal_cards,
678
+ exclude_replaced_cards,
679
+ expiring_in_days,
680
+ expiry_month,
681
+ include_bundle_details,
682
+ include_cards,
683
+ include_intermediate_status,
684
+ issued_after,
685
+ network,
686
+ pan_ends_with,
687
+ payer_id,
688
+ payer_number,
689
+ purchase_category_code,
690
+ sort_order,
691
+ include_scheduled_card_blocks,
692
+ token_type_id,
693
+ token_type_name,
694
+ vehicle_registration_number,
695
+ exclude_old_cards,
696
+ exclude_expiring_cards,
697
+ client_reference_id,
698
+ reissue_setting,
699
+ request_id)
700
+ end
701
+ end
702
+ end