cybersource_rest_client 0.0.19 → 0.0.21

Sign up to get free protection for your applications and to get access to all the features.
Files changed (309) hide show
  1. checksums.yaml +4 -4
  2. data/lib/AuthenticationSDK/core/MerchantConfig.rb +4 -0
  3. data/lib/AuthenticationSDK/util/Constants.rb +8 -0
  4. data/lib/cybersource_rest_client.rb +104 -11
  5. data/lib/cybersource_rest_client/api/authentication_exemptions_api.rb +2 -2
  6. data/lib/cybersource_rest_client/api/conversion_details_api.rb +2 -2
  7. data/lib/cybersource_rest_client/api/decision_manager_api.rb +142 -0
  8. data/lib/cybersource_rest_client/api/download_dtd_api.rb +2 -2
  9. data/lib/cybersource_rest_client/api/download_xsd_api.rb +2 -2
  10. data/lib/cybersource_rest_client/api/net_fundings_api.rb +2 -2
  11. data/lib/cybersource_rest_client/api/notification_of_changes_api.rb +2 -2
  12. data/lib/cybersource_rest_client/api/payer_authentication_api.rb +78 -13
  13. data/lib/cybersource_rest_client/api/payment_batch_summaries_api.rb +2 -2
  14. data/lib/cybersource_rest_client/api/payments_api.rb +71 -0
  15. data/lib/cybersource_rest_client/api/purchase_and_refund_details_api.rb +2 -2
  16. data/lib/cybersource_rest_client/api/report_definitions_api.rb +4 -4
  17. data/lib/cybersource_rest_client/api/report_downloads_api.rb +2 -2
  18. data/lib/cybersource_rest_client/api/report_subscriptions_api.rb +87 -87
  19. data/lib/cybersource_rest_client/api/reports_api.rb +4 -4
  20. data/lib/cybersource_rest_client/api/reversal_api.rb +65 -0
  21. data/lib/cybersource_rest_client/api/search_transactions_api.rb +4 -4
  22. data/lib/cybersource_rest_client/api/secure_file_share_api.rb +4 -4
  23. data/lib/cybersource_rest_client/api/tokenization_api.rb +2 -2
  24. data/lib/cybersource_rest_client/api/transaction_batches_api.rb +15 -9
  25. data/lib/cybersource_rest_client/api/user_management_api.rb +2 -2
  26. data/lib/cybersource_rest_client/api/verification_api.rb +154 -0
  27. data/lib/cybersource_rest_client/api/void_api.rb +65 -0
  28. data/lib/cybersource_rest_client/models/add_negative_list_request.rb +228 -0
  29. data/lib/cybersource_rest_client/models/authentication_exemptions_request.rb +1 -1
  30. data/lib/cybersource_rest_client/models/capture_payment_request.rb +22 -4
  31. data/lib/cybersource_rest_client/models/check_payer_auth_enrollment_request.rb +11 -2
  32. data/lib/cybersource_rest_client/models/create_credit_request.rb +32 -5
  33. data/lib/cybersource_rest_client/models/create_instrument_identifier_request.rb +1 -1
  34. data/lib/cybersource_rest_client/models/create_payment_request.rb +22 -4
  35. data/lib/cybersource_rest_client/models/create_report_subscription_request.rb +1 -1
  36. data/lib/cybersource_rest_client/models/embedded_instrument_identifier_response.rb +10 -1
  37. data/lib/cybersource_rest_client/models/error.rb +13 -23
  38. data/lib/cybersource_rest_client/models/error_bean.rb +1 -1
  39. data/lib/cybersource_rest_client/models/error_links.rb +15 -15
  40. data/lib/cybersource_rest_client/models/error_response.rb +20 -2
  41. data/lib/cybersource_rest_client/models/fraud_marking_action_request.rb +183 -0
  42. data/lib/cybersource_rest_client/models/generate_public_key_request.rb +14 -4
  43. data/lib/cybersource_rest_client/models/increment_auth_request.rb +219 -0
  44. data/lib/cybersource_rest_client/models/inline_response_400.rb +14 -59
  45. data/lib/cybersource_rest_client/models/inline_response_400_1.rb +59 -14
  46. data/lib/cybersource_rest_client/models/{inline_response_400_fields.rb → inline_response_400_1_fields.rb} +1 -1
  47. data/lib/cybersource_rest_client/models/instrument_identifier_enrollable_card.rb +1 -1
  48. data/lib/cybersource_rest_client/models/instrument_identifier_response.rb +10 -1
  49. data/lib/cybersource_rest_client/models/instrument_identifier_tokenized_card.rb +272 -0
  50. data/lib/cybersource_rest_client/models/key_parameters.rb +14 -4
  51. data/lib/cybersource_rest_client/models/link.rb +25 -4
  52. data/lib/cybersource_rest_client/models/links.rb +18 -23
  53. data/lib/cybersource_rest_client/models/mit_reversal_request.rb +219 -0
  54. data/lib/cybersource_rest_client/models/mit_void_request.rb +183 -0
  55. data/lib/cybersource_rest_client/models/oct_create_payment_request.rb +1 -1
  56. data/lib/cybersource_rest_client/models/payer_auth_setup_request.rb +210 -0
  57. data/lib/cybersource_rest_client/models/predefined_subscription_request_bean.rb +1 -1
  58. data/lib/cybersource_rest_client/models/pts_v2_credits_post201_response.rb +15 -6
  59. data/lib/cybersource_rest_client/models/pts_v2_credits_post201_response_credit_amount_details.rb +1 -1
  60. data/lib/cybersource_rest_client/models/pts_v2_credits_post201_response_processing_information.rb +14 -4
  61. data/lib/cybersource_rest_client/models/pts_v2_credits_post201_response_processing_information_bank_transfer_options.rb +1 -1
  62. data/lib/cybersource_rest_client/models/pts_v2_incremental_authorization_patch201_response.rb +298 -0
  63. data/lib/cybersource_rest_client/models/{pts_v2_payments_reversals_post201_response__links.rb → pts_v2_incremental_authorization_patch201_response__links.rb} +1 -1
  64. data/lib/cybersource_rest_client/models/{ptsv2payouts_client_reference_information.rb → pts_v2_incremental_authorization_patch201_response_client_reference_information.rb} +2 -2
  65. data/lib/cybersource_rest_client/models/pts_v2_incremental_authorization_patch201_response_error_information.rb +205 -0
  66. data/lib/cybersource_rest_client/models/pts_v2_incremental_authorization_patch201_response_order_information.rb +183 -0
  67. data/lib/cybersource_rest_client/models/pts_v2_incremental_authorization_patch201_response_payment_information.rb +183 -0
  68. data/lib/cybersource_rest_client/models/pts_v2_incremental_authorization_patch201_response_payment_information_account_features.rb +199 -0
  69. data/lib/cybersource_rest_client/models/pts_v2_incremental_authorization_patch201_response_processor_information.rb +293 -0
  70. data/lib/cybersource_rest_client/models/pts_v2_incremental_authorization_patch400_response.rb +225 -0
  71. data/lib/cybersource_rest_client/models/pts_v2_payments_captures_post201_response.rb +23 -5
  72. data/lib/cybersource_rest_client/models/pts_v2_payments_captures_post201_response_order_information.rb +1 -1
  73. data/lib/cybersource_rest_client/models/pts_v2_payments_captures_post201_response_order_information_amount_details.rb +1 -1
  74. data/lib/cybersource_rest_client/models/pts_v2_payments_captures_post201_response_order_information_invoice_details.rb +184 -0
  75. data/lib/cybersource_rest_client/models/pts_v2_payments_captures_post201_response_point_of_sale_information.rb +199 -0
  76. data/lib/cybersource_rest_client/models/pts_v2_payments_captures_post201_response_processing_information.rb +184 -0
  77. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response.rb +1 -1
  78. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_client_reference_information.rb +2 -2
  79. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_installment_information.rb +264 -19
  80. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_issuer_information.rb +28 -3
  81. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_order_information_amount_details.rb +2 -2
  82. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_order_information_invoice_details.rb +29 -4
  83. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_payment_information_account_features.rb +10 -10
  84. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_payment_information_bank.rb +1 -1
  85. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_payment_information_bank_account.rb +1 -1
  86. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_payment_information_tokenized_card.rb +2 -2
  87. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_point_of_sale_information.rb +35 -10
  88. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_point_of_sale_information_emv.rb +1 -1
  89. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_processing_information.rb +14 -4
  90. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_processing_information_bank_transfer_options.rb +2 -2
  91. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_processor_information.rb +3 -28
  92. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_processor_information_ach_verification.rb +2 -2
  93. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_processor_information_card_verification.rb +1 -1
  94. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_processor_information_consumer_authentication_response.rb +2 -2
  95. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_processor_information_electronic_verification_results.rb +5 -5
  96. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_processor_information_routing.rb +3 -3
  97. data/lib/cybersource_rest_client/models/pts_v2_payments_refund_post201_response.rb +14 -5
  98. data/lib/cybersource_rest_client/models/pts_v2_payments_refund_post201_response_order_information.rb +1 -1
  99. data/lib/cybersource_rest_client/models/pts_v2_payments_refund_post201_response_refund_amount_details.rb +1 -1
  100. data/lib/cybersource_rest_client/models/pts_v2_payments_reversals_post201_response.rb +2 -2
  101. data/lib/cybersource_rest_client/models/pts_v2_payments_reversals_post201_response_reversal_amount_details.rb +3 -3
  102. data/lib/cybersource_rest_client/models/pts_v2_payments_voids_post201_response.rb +2 -2
  103. data/lib/cybersource_rest_client/models/pts_v2_payments_voids_post201_response_void_amount_details.rb +1 -1
  104. data/lib/cybersource_rest_client/models/pts_v2_payouts_post201_response.rb +2 -2
  105. data/lib/cybersource_rest_client/models/pts_v2_payouts_post201_response_order_information_amount_details.rb +2 -2
  106. data/lib/cybersource_rest_client/models/pts_v2_payouts_post201_response_processor_information.rb +1 -1
  107. data/lib/cybersource_rest_client/models/ptsv2credits_installment_information.rb +199 -0
  108. data/lib/cybersource_rest_client/models/ptsv2credits_processing_information.rb +108 -15
  109. data/lib/cybersource_rest_client/models/ptsv2credits_processing_information_bank_transfer_options.rb +3 -3
  110. data/lib/cybersource_rest_client/models/ptsv2credits_processing_information_japan_payment_options.rb +209 -0
  111. data/lib/cybersource_rest_client/models/ptsv2payments_aggregator_information_sub_merchant.rb +32 -7
  112. data/lib/cybersource_rest_client/models/ptsv2payments_buyer_information.rb +2 -2
  113. data/lib/cybersource_rest_client/models/ptsv2payments_buyer_information_personal_identification.rb +1 -1
  114. data/lib/cybersource_rest_client/models/ptsv2payments_client_reference_information.rb +17 -2
  115. data/lib/cybersource_rest_client/models/ptsv2payments_client_reference_information_partner.rb +29 -4
  116. data/lib/cybersource_rest_client/models/ptsv2payments_consumer_authentication_information.rb +55 -21
  117. data/lib/cybersource_rest_client/models/ptsv2payments_consumer_authentication_information_strong_authentication.rb +299 -0
  118. data/lib/cybersource_rest_client/models/ptsv2payments_installment_information.rb +74 -14
  119. data/lib/cybersource_rest_client/models/ptsv2payments_issuer_information.rb +1 -1
  120. data/lib/cybersource_rest_client/models/ptsv2payments_merchant_defined_information.rb +2 -2
  121. data/lib/cybersource_rest_client/models/ptsv2payments_merchant_information.rb +1 -1
  122. data/lib/cybersource_rest_client/models/ptsv2payments_merchant_information_merchant_descriptor.rb +26 -1
  123. data/lib/cybersource_rest_client/models/ptsv2payments_merchant_initiated_transaction.rb +1 -1
  124. data/lib/cybersource_rest_client/models/ptsv2payments_order_information_amount_details.rb +21 -12
  125. data/lib/cybersource_rest_client/models/ptsv2payments_order_information_amount_details_currency_conversion.rb +249 -0
  126. data/lib/cybersource_rest_client/models/ptsv2payments_order_information_amount_details_tax_details.rb +7 -7
  127. data/lib/cybersource_rest_client/models/ptsv2payments_order_information_invoice_details.rb +30 -5
  128. data/lib/cybersource_rest_client/models/ptsv2payments_order_information_line_items.rb +10 -10
  129. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information.rb +29 -4
  130. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information_bank.rb +1 -1
  131. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information_bank_account.rb +1 -1
  132. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information_card.rb +27 -2
  133. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information_customer.rb +1 -1
  134. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information_fluid_data.rb +1 -1
  135. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information_tokenized_card.rb +1 -1
  136. data/lib/cybersource_rest_client/models/ptsv2payments_point_of_sale_information.rb +91 -16
  137. data/lib/cybersource_rest_client/models/ptsv2payments_point_of_sale_information_emv.rb +3 -3
  138. data/lib/cybersource_rest_client/models/ptsv2payments_processing_information.rb +158 -15
  139. data/lib/cybersource_rest_client/models/ptsv2payments_processing_information_authorization_options.rb +19 -9
  140. data/lib/cybersource_rest_client/models/ptsv2payments_processing_information_authorization_options_initiator.rb +1 -1
  141. data/lib/cybersource_rest_client/models/ptsv2payments_processing_information_bank_transfer_options.rb +5 -5
  142. data/lib/cybersource_rest_client/models/ptsv2payments_processing_information_japan_payment_options.rb +359 -0
  143. data/lib/cybersource_rest_client/models/ptsv2payments_processing_information_loan_options.rb +224 -0
  144. data/lib/cybersource_rest_client/models/ptsv2payments_processing_information_recurring_options.rb +2 -2
  145. data/lib/cybersource_rest_client/models/ptsv2payments_promotion_information.rb +224 -0
  146. data/lib/cybersource_rest_client/models/ptsv2payments_recipient_information.rb +3 -3
  147. data/lib/cybersource_rest_client/models/ptsv2payments_travel_information.rb +226 -0
  148. data/lib/cybersource_rest_client/models/ptsv2payments_travel_information_agency.rb +224 -0
  149. data/lib/cybersource_rest_client/models/ptsv2payments_travel_information_lodging.rb +1229 -0
  150. data/lib/cybersource_rest_client/models/ptsv2payments_travel_information_lodging_room.rb +233 -0
  151. data/lib/cybersource_rest_client/models/ptsv2payments_travel_information_transit.rb +183 -0
  152. data/lib/cybersource_rest_client/models/ptsv2payments_travel_information_transit_airline.rb +988 -0
  153. data/lib/cybersource_rest_client/models/ptsv2payments_travel_information_transit_airline_ancillary_information.rb +285 -0
  154. data/lib/cybersource_rest_client/models/ptsv2payments_travel_information_transit_airline_ancillary_information_service.rb +224 -0
  155. data/lib/cybersource_rest_client/models/ptsv2payments_travel_information_transit_airline_legs.rb +614 -0
  156. data/lib/cybersource_rest_client/models/ptsv2payments_travel_information_transit_airline_ticket_issuer.rb +349 -0
  157. data/lib/cybersource_rest_client/models/ptsv2paymentsid_client_reference_information.rb +208 -0
  158. data/lib/cybersource_rest_client/models/ptsv2paymentsid_client_reference_information_partner.rb +249 -0
  159. data/lib/cybersource_rest_client/models/ptsv2paymentsid_merchant_information.rb +199 -0
  160. data/lib/cybersource_rest_client/models/ptsv2paymentsid_order_information.rb +183 -0
  161. data/lib/cybersource_rest_client/models/ptsv2paymentsid_order_information_amount_details.rb +224 -0
  162. data/lib/cybersource_rest_client/models/ptsv2paymentsid_processing_information.rb +183 -0
  163. data/lib/cybersource_rest_client/models/ptsv2paymentsid_processing_information_authorization_options.rb +183 -0
  164. data/lib/cybersource_rest_client/models/ptsv2paymentsid_processing_information_authorization_options_initiator.rb +184 -0
  165. data/lib/cybersource_rest_client/models/ptsv2paymentsid_travel_information.rb +199 -0
  166. data/lib/cybersource_rest_client/models/ptsv2paymentsidcaptures_aggregator_information_sub_merchant.rb +34 -9
  167. data/lib/cybersource_rest_client/models/ptsv2paymentsidcaptures_installment_information.rb +194 -19
  168. data/lib/cybersource_rest_client/models/ptsv2paymentsidcaptures_merchant_information.rb +1 -1
  169. data/lib/cybersource_rest_client/models/ptsv2paymentsidcaptures_order_information_amount_details.rb +7 -7
  170. data/lib/cybersource_rest_client/models/ptsv2paymentsidcaptures_payment_information.rb +13 -4
  171. data/lib/cybersource_rest_client/models/ptsv2paymentsidcaptures_payment_information_card.rb +224 -0
  172. data/lib/cybersource_rest_client/models/ptsv2paymentsidcaptures_point_of_sale_information.rb +6 -6
  173. data/lib/cybersource_rest_client/models/ptsv2paymentsidcaptures_point_of_sale_information_emv.rb +1 -1
  174. data/lib/cybersource_rest_client/models/ptsv2paymentsidcaptures_processing_information.rb +23 -14
  175. data/lib/cybersource_rest_client/models/ptsv2paymentsidcaptures_processing_information_authorization_options.rb +2 -2
  176. data/lib/cybersource_rest_client/models/ptsv2paymentsidcaptures_travel_information.rb +201 -0
  177. data/lib/cybersource_rest_client/models/ptsv2paymentsidrefunds_merchant_information.rb +1 -1
  178. data/lib/cybersource_rest_client/models/ptsv2paymentsidrefunds_order_information_line_items.rb +5 -5
  179. data/lib/cybersource_rest_client/models/ptsv2paymentsidrefunds_payment_information.rb +19 -1
  180. data/lib/cybersource_rest_client/models/ptsv2paymentsidrefunds_payment_information_card.rb +54 -4
  181. data/lib/cybersource_rest_client/models/ptsv2paymentsidrefunds_processing_information.rb +33 -8
  182. data/lib/cybersource_rest_client/models/ptsv2paymentsidrefunds_processing_information_recurring_options.rb +1 -1
  183. data/lib/cybersource_rest_client/models/ptsv2paymentsidreversals_client_reference_information.rb +1 -1
  184. data/lib/cybersource_rest_client/models/ptsv2paymentsidreversals_client_reference_information_partner.rb +29 -4
  185. data/lib/cybersource_rest_client/models/ptsv2paymentsidreversals_order_information_line_items.rb +1 -1
  186. data/lib/cybersource_rest_client/models/ptsv2paymentsidreversals_point_of_sale_information_emv.rb +1 -1
  187. data/lib/cybersource_rest_client/models/ptsv2paymentsidreversals_processing_information.rb +4 -4
  188. data/lib/cybersource_rest_client/models/ptsv2paymentsidreversals_reversal_information.rb +1 -1
  189. data/lib/cybersource_rest_client/models/ptsv2paymentsidreversals_reversal_information_amount_details.rb +2 -2
  190. data/lib/cybersource_rest_client/models/ptsv2payouts_order_information_amount_details.rb +2 -2
  191. data/lib/cybersource_rest_client/models/ptsv2payouts_processing_information.rb +2 -2
  192. data/lib/cybersource_rest_client/models/refund_capture_request.rb +22 -4
  193. data/lib/cybersource_rest_client/models/refund_payment_request.rb +22 -4
  194. data/lib/cybersource_rest_client/models/reporting_v3_report_subscriptions_get200_response_subscriptions.rb +1 -1
  195. data/lib/cybersource_rest_client/models/risk_v1_address_verifications_post201_response.rb +285 -0
  196. data/lib/cybersource_rest_client/models/risk_v1_address_verifications_post201_response_address1.rb +224 -0
  197. data/lib/cybersource_rest_client/models/risk_v1_address_verifications_post201_response_address_verification_information.rb +327 -0
  198. data/lib/cybersource_rest_client/models/risk_v1_address_verifications_post201_response_address_verification_information_bar_code.rb +209 -0
  199. data/lib/cybersource_rest_client/models/risk_v1_address_verifications_post201_response_address_verification_information_standard_address.rb +433 -0
  200. data/lib/cybersource_rest_client/models/risk_v1_authentication_exemptions_post201_response.rb +2 -2
  201. data/lib/cybersource_rest_client/models/risk_v1_authentication_results_post201_response.rb +3 -3
  202. data/lib/cybersource_rest_client/models/risk_v1_authentication_results_post201_response_consumer_authentication_information.rb +249 -4
  203. data/lib/cybersource_rest_client/models/risk_v1_authentication_setups_post201_response.rb +246 -0
  204. data/lib/cybersource_rest_client/models/risk_v1_authentication_setups_post201_response_consumer_authentication_information.rb +224 -0
  205. data/lib/cybersource_rest_client/models/risk_v1_authentication_setups_post201_response_error_information.rb +205 -0
  206. data/lib/cybersource_rest_client/models/risk_v1_authentications_post201_response.rb +3 -3
  207. data/lib/cybersource_rest_client/models/risk_v1_authentications_post201_response_consumer_authentication_information.rb +386 -7
  208. data/lib/cybersource_rest_client/models/{riskv1authentications_consumer_authentication_information_ivr.rb → risk_v1_authentications_post201_response_consumer_authentication_information_ivr.rb} +1 -1
  209. data/lib/cybersource_rest_client/models/risk_v1_authentications_post201_response_order_information_amount_details.rb +1 -1
  210. data/lib/cybersource_rest_client/models/risk_v1_authentications_post400_response.rb +225 -0
  211. data/lib/cybersource_rest_client/models/risk_v1_decisions_post201_response.rb +1 -1
  212. data/lib/cybersource_rest_client/models/risk_v1_decisions_post201_response_risk_information_ip_address.rb +54 -4
  213. data/lib/cybersource_rest_client/models/risk_v1_export_compliance_inquiries_post201_response.rb +285 -0
  214. data/lib/cybersource_rest_client/models/risk_v1_export_compliance_inquiries_post201_response_export_compliance_information.rb +229 -0
  215. data/lib/cybersource_rest_client/models/risk_v1_export_compliance_inquiries_post201_response_export_compliance_information_watch_list.rb +185 -0
  216. data/lib/cybersource_rest_client/models/risk_v1_export_compliance_inquiries_post201_response_watch_list_matches.rb +235 -0
  217. data/lib/cybersource_rest_client/models/risk_v1_update_post201_response.rb +237 -0
  218. data/lib/cybersource_rest_client/models/riskv1addressverifications_buyer_information.rb +199 -0
  219. data/lib/cybersource_rest_client/models/riskv1addressverifications_client_reference_information.rb +233 -0
  220. data/lib/cybersource_rest_client/models/riskv1addressverifications_order_information.rb +203 -0
  221. data/lib/cybersource_rest_client/models/riskv1addressverifications_order_information_bill_to.rb +410 -0
  222. data/lib/cybersource_rest_client/models/riskv1addressverifications_order_information_line_items.rb +342 -0
  223. data/lib/cybersource_rest_client/models/riskv1addressverifications_order_information_ship_to.rb +392 -0
  224. data/lib/cybersource_rest_client/models/riskv1authenticationexemptions_acquirer_information.rb +1 -1
  225. data/lib/cybersource_rest_client/models/riskv1authenticationexemptions_order_information_line_items.rb +2 -2
  226. data/lib/cybersource_rest_client/models/riskv1authenticationexemptions_payment_information.rb +13 -4
  227. data/lib/cybersource_rest_client/models/riskv1authenticationexemptions_payment_information_fluid_data.rb +268 -0
  228. data/lib/cybersource_rest_client/models/riskv1authenticationresults_consumer_authentication_information.rb +4 -214
  229. data/lib/cybersource_rest_client/models/riskv1authenticationresults_order_information_line_items.rb +2 -2
  230. data/lib/cybersource_rest_client/models/riskv1authenticationresults_payment_information.rb +13 -4
  231. data/lib/cybersource_rest_client/models/riskv1authentications_acquirer_information.rb +1 -1
  232. data/lib/cybersource_rest_client/models/riskv1authentications_consumer_authentication_information.rb +4 -333
  233. data/lib/cybersource_rest_client/models/riskv1authentications_order_information_line_items.rb +2 -2
  234. data/lib/cybersource_rest_client/models/riskv1authentications_travel_information_legs.rb +2 -2
  235. data/lib/cybersource_rest_client/models/{riskv1authentications_client_reference_information.rb → riskv1authenticationsetups_client_reference_information.rb} +2 -2
  236. data/lib/cybersource_rest_client/models/riskv1authenticationsetups_payment_information.rb +210 -0
  237. data/lib/cybersource_rest_client/models/riskv1authenticationsetups_payment_information_card.rb +286 -0
  238. data/lib/cybersource_rest_client/models/riskv1authenticationsetups_payment_information_tokenized_card.rb +325 -0
  239. data/lib/cybersource_rest_client/models/riskv1authenticationsetups_processing_information.rb +224 -0
  240. data/lib/cybersource_rest_client/models/riskv1authenticationsetups_token_information.rb +184 -0
  241. data/lib/cybersource_rest_client/models/riskv1decisions_buyer_information.rb +2 -2
  242. data/lib/cybersource_rest_client/models/riskv1decisions_card_verification.rb +1 -1
  243. data/lib/cybersource_rest_client/models/riskv1decisions_client_reference_information.rb +1 -1
  244. data/lib/cybersource_rest_client/models/riskv1decisions_device_information.rb +1 -26
  245. data/lib/cybersource_rest_client/models/riskv1decisions_order_information.rb +4 -13
  246. data/lib/cybersource_rest_client/models/riskv1decisions_order_information_amount_details.rb +2 -2
  247. data/lib/cybersource_rest_client/models/riskv1decisions_order_information_bill_to.rb +1 -26
  248. data/lib/cybersource_rest_client/models/riskv1decisions_order_information_line_items.rb +2 -2
  249. data/lib/cybersource_rest_client/models/riskv1decisions_payment_information.rb +4 -13
  250. data/lib/cybersource_rest_client/models/riskv1decisions_risk_information.rb +4 -13
  251. data/lib/cybersource_rest_client/models/riskv1decisions_travel_information_legs.rb +2 -2
  252. data/lib/cybersource_rest_client/models/riskv1decisionsidmarking_risk_information.rb +183 -0
  253. data/lib/cybersource_rest_client/models/riskv1decisionsidmarking_risk_information_marking_details.rb +247 -0
  254. data/lib/cybersource_rest_client/models/riskv1exportcomplianceinquiries_device_information.rb +224 -0
  255. data/lib/cybersource_rest_client/models/riskv1exportcomplianceinquiries_export_compliance_information.rb +205 -0
  256. data/lib/cybersource_rest_client/models/riskv1exportcomplianceinquiries_export_compliance_information_weights.rb +249 -0
  257. data/lib/cybersource_rest_client/models/riskv1exportcomplianceinquiries_order_information.rb +203 -0
  258. data/lib/cybersource_rest_client/models/riskv1exportcomplianceinquiries_order_information_bill_to.rb +503 -0
  259. data/lib/cybersource_rest_client/models/riskv1exportcomplianceinquiries_order_information_bill_to_company.rb +199 -0
  260. data/lib/cybersource_rest_client/models/riskv1exportcomplianceinquiries_order_information_line_items.rb +364 -0
  261. data/lib/cybersource_rest_client/models/riskv1exportcomplianceinquiries_order_information_ship_to.rb +249 -0
  262. data/lib/cybersource_rest_client/models/riskv1liststypeentries_buyer_information.rb +186 -0
  263. data/lib/cybersource_rest_client/models/riskv1liststypeentries_device_information.rb +224 -0
  264. data/lib/cybersource_rest_client/models/riskv1liststypeentries_order_information.rb +213 -0
  265. data/lib/cybersource_rest_client/models/{riskv1decisions_order_information_address.rb → riskv1liststypeentries_order_information_address.rb} +1 -1
  266. data/lib/cybersource_rest_client/models/riskv1liststypeentries_order_information_bill_to.rb +449 -0
  267. data/lib/cybersource_rest_client/models/riskv1liststypeentries_order_information_line_items.rb +199 -0
  268. data/lib/cybersource_rest_client/models/riskv1liststypeentries_order_information_ship_to.rb +325 -0
  269. data/lib/cybersource_rest_client/models/riskv1liststypeentries_payment_information.rb +193 -0
  270. data/lib/cybersource_rest_client/models/{riskv1decisions_payment_information_bank.rb → riskv1liststypeentries_payment_information_bank.rb} +1 -1
  271. data/lib/cybersource_rest_client/models/riskv1liststypeentries_payment_information_card.rb +234 -0
  272. data/lib/cybersource_rest_client/models/riskv1liststypeentries_risk_information.rb +183 -0
  273. data/lib/cybersource_rest_client/models/{riskv1decisions_risk_information_marking_details.rb → riskv1liststypeentries_risk_information_marking_details.rb} +29 -44
  274. data/lib/cybersource_rest_client/models/tms_v1_instrument_identifiers_payment_instruments_embedded_instrument_identifier.rb +10 -1
  275. data/lib/cybersource_rest_client/models/tms_v1_instrument_identifiers_post200_response.rb +10 -1
  276. data/lib/cybersource_rest_client/models/tms_v1_instrument_identifiers_post200_response_tokenized_card.rb +272 -0
  277. data/lib/cybersource_rest_client/models/tms_v1_instrument_identifiers_post200_response_tokenized_card_card.rb +253 -0
  278. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response.rb +1 -1
  279. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_application_information.rb +2 -2
  280. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_buyer_information.rb +1 -1
  281. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_client_reference_information.rb +1 -1
  282. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_consumer_authentication_information.rb +2 -2
  283. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_fraud_marking_information.rb +1 -1
  284. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_order_information_amount_details.rb +2 -2
  285. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_order_information_line_items.rb +1 -1
  286. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_payment_information_account_features.rb +1 -1
  287. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_payment_information_bank.rb +1 -1
  288. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_payment_information_bank_account.rb +1 -1
  289. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_payment_information_bank_mandate.rb +3 -3
  290. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_point_of_sale_information.rb +2 -2
  291. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_processing_information.rb +2 -2
  292. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_processing_information_authorization_options.rb +1 -1
  293. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_processing_information_bank_transfer_options.rb +1 -1
  294. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_processor_information.rb +2 -2
  295. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_processor_information_electronic_verification_results.rb +4 -4
  296. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response.rb +1 -1
  297. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_client_reference_information.rb +1 -1
  298. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_consumer_authentication_information.rb +1 -1
  299. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_merchant_information.rb +1 -1
  300. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_point_of_sale_information.rb +3 -3
  301. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_processing_information.rb +1 -1
  302. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_risk_information_providers_fingerprint.rb +2 -2
  303. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_transaction_summaries.rb +1 -1
  304. data/lib/cybersource_rest_client/models/validate_export_compliance_request.rb +219 -0
  305. data/lib/cybersource_rest_client/models/{request.rb → validate_request.rb} +12 -3
  306. data/lib/cybersource_rest_client/models/verify_customer_address_request.rb +201 -0
  307. metadata +107 -14
  308. data/lib/cybersource_rest_client/models/ptsv2credits_point_of_sale_information.rb +0 -365
  309. data/lib/cybersource_rest_client/models/ptsv2credits_point_of_sale_information_emv.rb +0 -221
@@ -0,0 +1,233 @@
1
+ =begin
2
+ #CyberSource Merged Spec
3
+
4
+ #All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html
5
+
6
+ OpenAPI spec version: 0.0.1
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.2.3
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module CyberSource
16
+ class Ptsv2paymentsTravelInformationLodgingRoom
17
+ # Daily cost of the room.
18
+ attr_accessor :daily_rate
19
+
20
+ # Number of nights billed at the rate specified by lodging_daily_room_rate_1.
21
+ attr_accessor :number_of_nights
22
+
23
+ # Attribute mapping from ruby-style variable name to JSON key.
24
+ def self.attribute_map
25
+ {
26
+ :'daily_rate' => :'dailyRate',
27
+ :'number_of_nights' => :'numberOfNights'
28
+ }
29
+ end
30
+
31
+ # Attribute type mapping.
32
+ def self.swagger_types
33
+ {
34
+ :'daily_rate' => :'String',
35
+ :'number_of_nights' => :'Integer'
36
+ }
37
+ end
38
+
39
+ # Initializes the object
40
+ # @param [Hash] attributes Model attributes in the form of hash
41
+ def initialize(attributes = {})
42
+ return unless attributes.is_a?(Hash)
43
+
44
+ # convert string to symbol for hash key
45
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
46
+
47
+ if attributes.has_key?(:'dailyRate')
48
+ self.daily_rate = attributes[:'dailyRate']
49
+ end
50
+
51
+ if attributes.has_key?(:'numberOfNights')
52
+ self.number_of_nights = attributes[:'numberOfNights']
53
+ end
54
+ end
55
+
56
+ # Show invalid properties with the reasons. Usually used together with valid?
57
+ # @return Array for valid properties with the reasons
58
+ def list_invalid_properties
59
+ invalid_properties = Array.new
60
+ if !@daily_rate.nil? && @daily_rate.to_s.length > 8
61
+ invalid_properties.push('invalid value for "daily_rate", the character length must be smaller than or equal to 8.')
62
+ end
63
+
64
+ if !@number_of_nights.nil? && @number_of_nights > 9999
65
+ invalid_properties.push('invalid value for "number_of_nights", must be smaller than or equal to 9999.')
66
+ end
67
+
68
+ if !@number_of_nights.nil? && @number_of_nights < 1
69
+ invalid_properties.push('invalid value for "number_of_nights", must be greater than or equal to 1.')
70
+ end
71
+
72
+ invalid_properties
73
+ end
74
+
75
+ # Check to see if the all the properties in the model are valid
76
+ # @return true if the model is valid
77
+ def valid?
78
+ return false if !@daily_rate.nil? && @daily_rate.to_s.length > 8
79
+ return false if !@number_of_nights.nil? && @number_of_nights > 9999
80
+ return false if !@number_of_nights.nil? && @number_of_nights < 1
81
+ true
82
+ end
83
+
84
+ # Custom attribute writer method with validation
85
+ # @param [Object] daily_rate Value to be assigned
86
+ def daily_rate=(daily_rate)
87
+ if !daily_rate.nil? && daily_rate.to_s.length > 8
88
+ fail ArgumentError, 'invalid value for "daily_rate", the character length must be smaller than or equal to 8.'
89
+ end
90
+
91
+ @daily_rate = daily_rate
92
+ end
93
+
94
+ # Custom attribute writer method with validation
95
+ # @param [Object] number_of_nights Value to be assigned
96
+ def number_of_nights=(number_of_nights)
97
+ if !number_of_nights.nil? && number_of_nights > 9999
98
+ fail ArgumentError, 'invalid value for "number_of_nights", must be smaller than or equal to 9999.'
99
+ end
100
+
101
+ if !number_of_nights.nil? && number_of_nights < 1
102
+ fail ArgumentError, 'invalid value for "number_of_nights", must be greater than or equal to 1.'
103
+ end
104
+
105
+ @number_of_nights = number_of_nights
106
+ end
107
+
108
+ # Checks equality by comparing each attribute.
109
+ # @param [Object] Object to be compared
110
+ def ==(o)
111
+ return true if self.equal?(o)
112
+ self.class == o.class &&
113
+ daily_rate == o.daily_rate &&
114
+ number_of_nights == o.number_of_nights
115
+ end
116
+
117
+ # @see the `==` method
118
+ # @param [Object] Object to be compared
119
+ def eql?(o)
120
+ self == o
121
+ end
122
+
123
+ # Calculates hash code according to all attributes.
124
+ # @return [Fixnum] Hash code
125
+ def hash
126
+ [daily_rate, number_of_nights].hash
127
+ end
128
+
129
+ # Builds the object from hash
130
+ # @param [Hash] attributes Model attributes in the form of hash
131
+ # @return [Object] Returns the model itself
132
+ def build_from_hash(attributes)
133
+ return nil unless attributes.is_a?(Hash)
134
+ self.class.swagger_types.each_pair do |key, type|
135
+ if type =~ /\AArray<(.*)>/i
136
+ # check to ensure the input is an array given that the the attribute
137
+ # is documented as an array but the input is not
138
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
139
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
140
+ end
141
+ elsif !attributes[self.class.attribute_map[key]].nil?
142
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
143
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
144
+ end
145
+
146
+ self
147
+ end
148
+
149
+ # Deserializes the data based on type
150
+ # @param string type Data type
151
+ # @param string value Value to be deserialized
152
+ # @return [Object] Deserialized data
153
+ def _deserialize(type, value)
154
+ case type.to_sym
155
+ when :DateTime
156
+ DateTime.parse(value)
157
+ when :Date
158
+ Date.parse(value)
159
+ when :String
160
+ value.to_s
161
+ when :Integer
162
+ value.to_i
163
+ when :Float
164
+ value.to_f
165
+ when :BOOLEAN
166
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
167
+ true
168
+ else
169
+ false
170
+ end
171
+ when :Object
172
+ # generic object (usually a Hash), return directly
173
+ value
174
+ when /\AArray<(?<inner_type>.+)>\z/
175
+ inner_type = Regexp.last_match[:inner_type]
176
+ value.map { |v| _deserialize(inner_type, v) }
177
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
178
+ k_type = Regexp.last_match[:k_type]
179
+ v_type = Regexp.last_match[:v_type]
180
+ {}.tap do |hash|
181
+ value.each do |k, v|
182
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
183
+ end
184
+ end
185
+ else # model
186
+ temp_model = CyberSource.const_get(type).new
187
+ temp_model.build_from_hash(value)
188
+ end
189
+ end
190
+
191
+ # Returns the string representation of the object
192
+ # @return [String] String presentation of the object
193
+ def to_s
194
+ to_hash.to_s
195
+ end
196
+
197
+ # to_body is an alias to to_hash (backward compatibility)
198
+ # @return [Hash] Returns the object in the form of hash
199
+ def to_body
200
+ to_hash
201
+ end
202
+
203
+ # Returns the object in the form of hash
204
+ # @return [Hash] Returns the object in the form of hash
205
+ def to_hash
206
+ hash = {}
207
+ self.class.attribute_map.each_pair do |attr, param|
208
+ value = self.send(attr)
209
+ next if value.nil?
210
+ hash[param] = _to_hash(value)
211
+ end
212
+ hash
213
+ end
214
+
215
+ # Outputs non-array value in the form of hash
216
+ # For object, use to_hash. Otherwise, just return the value
217
+ # @param [Object] value Any valid value
218
+ # @return [Hash] Returns the value in the form of hash
219
+ def _to_hash(value)
220
+ if value.is_a?(Array)
221
+ value.compact.map { |v| _to_hash(v) }
222
+ elsif value.is_a?(Hash)
223
+ {}.tap do |hash|
224
+ value.each { |k, v| hash[k] = _to_hash(v) }
225
+ end
226
+ elsif value.respond_to? :to_hash
227
+ value.to_hash
228
+ else
229
+ value
230
+ end
231
+ end
232
+ end
233
+ end
@@ -0,0 +1,183 @@
1
+ =begin
2
+ #CyberSource Merged Spec
3
+
4
+ #All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html
5
+
6
+ OpenAPI spec version: 0.0.1
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.2.3
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module CyberSource
16
+ class Ptsv2paymentsTravelInformationTransit
17
+ attr_accessor :airline
18
+
19
+ # Attribute mapping from ruby-style variable name to JSON key.
20
+ def self.attribute_map
21
+ {
22
+ :'airline' => :'airline'
23
+ }
24
+ end
25
+
26
+ # Attribute type mapping.
27
+ def self.swagger_types
28
+ {
29
+ :'airline' => :'Ptsv2paymentsTravelInformationTransitAirline'
30
+ }
31
+ end
32
+
33
+ # Initializes the object
34
+ # @param [Hash] attributes Model attributes in the form of hash
35
+ def initialize(attributes = {})
36
+ return unless attributes.is_a?(Hash)
37
+
38
+ # convert string to symbol for hash key
39
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
40
+
41
+ if attributes.has_key?(:'airline')
42
+ self.airline = attributes[:'airline']
43
+ end
44
+ end
45
+
46
+ # Show invalid properties with the reasons. Usually used together with valid?
47
+ # @return Array for valid properties with the reasons
48
+ def list_invalid_properties
49
+ invalid_properties = Array.new
50
+ invalid_properties
51
+ end
52
+
53
+ # Check to see if the all the properties in the model are valid
54
+ # @return true if the model is valid
55
+ def valid?
56
+ true
57
+ end
58
+
59
+ # Checks equality by comparing each attribute.
60
+ # @param [Object] Object to be compared
61
+ def ==(o)
62
+ return true if self.equal?(o)
63
+ self.class == o.class &&
64
+ airline == o.airline
65
+ end
66
+
67
+ # @see the `==` method
68
+ # @param [Object] Object to be compared
69
+ def eql?(o)
70
+ self == o
71
+ end
72
+
73
+ # Calculates hash code according to all attributes.
74
+ # @return [Fixnum] Hash code
75
+ def hash
76
+ [airline].hash
77
+ end
78
+
79
+ # Builds the object from hash
80
+ # @param [Hash] attributes Model attributes in the form of hash
81
+ # @return [Object] Returns the model itself
82
+ def build_from_hash(attributes)
83
+ return nil unless attributes.is_a?(Hash)
84
+ self.class.swagger_types.each_pair do |key, type|
85
+ if type =~ /\AArray<(.*)>/i
86
+ # check to ensure the input is an array given that the the attribute
87
+ # is documented as an array but the input is not
88
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
89
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
90
+ end
91
+ elsif !attributes[self.class.attribute_map[key]].nil?
92
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
93
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
94
+ end
95
+
96
+ self
97
+ end
98
+
99
+ # Deserializes the data based on type
100
+ # @param string type Data type
101
+ # @param string value Value to be deserialized
102
+ # @return [Object] Deserialized data
103
+ def _deserialize(type, value)
104
+ case type.to_sym
105
+ when :DateTime
106
+ DateTime.parse(value)
107
+ when :Date
108
+ Date.parse(value)
109
+ when :String
110
+ value.to_s
111
+ when :Integer
112
+ value.to_i
113
+ when :Float
114
+ value.to_f
115
+ when :BOOLEAN
116
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
117
+ true
118
+ else
119
+ false
120
+ end
121
+ when :Object
122
+ # generic object (usually a Hash), return directly
123
+ value
124
+ when /\AArray<(?<inner_type>.+)>\z/
125
+ inner_type = Regexp.last_match[:inner_type]
126
+ value.map { |v| _deserialize(inner_type, v) }
127
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
128
+ k_type = Regexp.last_match[:k_type]
129
+ v_type = Regexp.last_match[:v_type]
130
+ {}.tap do |hash|
131
+ value.each do |k, v|
132
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
133
+ end
134
+ end
135
+ else # model
136
+ temp_model = CyberSource.const_get(type).new
137
+ temp_model.build_from_hash(value)
138
+ end
139
+ end
140
+
141
+ # Returns the string representation of the object
142
+ # @return [String] String presentation of the object
143
+ def to_s
144
+ to_hash.to_s
145
+ end
146
+
147
+ # to_body is an alias to to_hash (backward compatibility)
148
+ # @return [Hash] Returns the object in the form of hash
149
+ def to_body
150
+ to_hash
151
+ end
152
+
153
+ # Returns the object in the form of hash
154
+ # @return [Hash] Returns the object in the form of hash
155
+ def to_hash
156
+ hash = {}
157
+ self.class.attribute_map.each_pair do |attr, param|
158
+ value = self.send(attr)
159
+ next if value.nil?
160
+ hash[param] = _to_hash(value)
161
+ end
162
+ hash
163
+ end
164
+
165
+ # Outputs non-array value in the form of hash
166
+ # For object, use to_hash. Otherwise, just return the value
167
+ # @param [Object] value Any valid value
168
+ # @return [Hash] Returns the value in the form of hash
169
+ def _to_hash(value)
170
+ if value.is_a?(Array)
171
+ value.compact.map { |v| _to_hash(v) }
172
+ elsif value.is_a?(Hash)
173
+ {}.tap do |hash|
174
+ value.each { |k, v| hash[k] = _to_hash(v) }
175
+ end
176
+ elsif value.respond_to? :to_hash
177
+ value.to_hash
178
+ else
179
+ value
180
+ end
181
+ end
182
+ end
183
+ end
@@ -0,0 +1,988 @@
1
+ =begin
2
+ #CyberSource Merged Spec
3
+
4
+ #All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html
5
+
6
+ OpenAPI spec version: 0.0.1
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.2.3
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module CyberSource
16
+ class Ptsv2paymentsTravelInformationTransitAirline
17
+ # Reference number for the airline booking. Required if ticket numbers are not issued.
18
+ attr_accessor :booking_reference_number
19
+
20
+ # Name of the airline. If you do not include this field, CyberSource uses the value for your merchant name that is in the CyberSource merchant configuration database.
21
+ attr_accessor :carrier_name
22
+
23
+ attr_accessor :ticket_issuer
24
+
25
+ # Ticket number. Format: English characters only
26
+ attr_accessor :ticket_number
27
+
28
+ # Check digit for the ticket number. CyberSource recommends that you validate the check digit. With Discover and Diners Club, a valid ticket number has these characteristics: - The value is numeric. - The first three digits are a valid IATA2 license plate carrier code. - The last digit is a check digit or zero (0). - All remaining digits are nonzero.
29
+ attr_accessor :check_digit
30
+
31
+ # Flag that indicates whether or not the ticket is restricted (nonrefundable). Possible values: - 0: No restriction (refundable) - 1: Restricted (nonrefundable)
32
+ attr_accessor :restricted_ticket_indicator
33
+
34
+ # Type of charge. Possible values: - 01: Charge is for an airline ticket - 02: Charge is for an item that is not an airline ticket
35
+ attr_accessor :transaction_type
36
+
37
+ # Airline process identifier. This value is the airline’s three-digit IATA1 code which is used to process extended payment airline tickets..
38
+ attr_accessor :extended_payment_code
39
+
40
+ # Name of the passenger to whom the ticket was issued. This will always be a single passenger's name. If there are more than one passengers, provide only the primary passenger's name. Do not include special characters such as commas, hyphens, or apostrophes. Only ASCII characters are supported.
41
+ attr_accessor :passenger_name
42
+
43
+ # 1.Reference number or code that identifies the cardholder. 2. Code provided by the cardholder. 3. Address of the ticket issuer. The first 13 characters will appear onthe cardholder’s statement. 4. Customer reference.
44
+ attr_accessor :customer_code
45
+
46
+ # Airline document type code that specifies the purpose of the transaction. For the possible values, see Appendix A, \"Airline Document Type Codes\".
47
+ attr_accessor :document_type
48
+
49
+ # Ticket number or a value that might be a booking reference number.
50
+ attr_accessor :document_number
51
+
52
+ # Number of travel legs. Numbering for the travel legs: 0 to 3.
53
+ attr_accessor :document_number_of_parts
54
+
55
+ # Invoice number for the airline transaction.
56
+ attr_accessor :invoice_number
57
+
58
+ # Invoice date. The format is YYYYMMDD. If this value is included in the request, it is used in the creation of the invoice number. See \"Invoice Number,\"
59
+ attr_accessor :invoice_date
60
+
61
+ # Description of the charge if the charge does not involve an airline ticket. For example: Excess baggage.
62
+ attr_accessor :additional_charges
63
+
64
+ # Total fee for the ticket. This value cannot exceed 99999999999999999999 (twenty 9s).
65
+ attr_accessor :total_fee_amount
66
+
67
+ # Total number of captures when requesting multiple partial captures for one authorization. Used along with airlineData_clearingCount to keep track of which capture is beingprocessed. For example, the second of five captures would be passed to CyberSource as airlineData_clearingSequence = 2 and airlineData_clearingCount = 5.
68
+ attr_accessor :clearing_sequence
69
+
70
+ # Total number of clearing messages associated with the authorization request. Format: English characters only.
71
+ attr_accessor :clearing_count
72
+
73
+ # Total clearing amount for all transactions in the clearing count set. If this field is not set and if the total amount from the original authorization is not NULL, CyberSource sets the total clearing amount to the total amount from the original authorization.
74
+ attr_accessor :total_clearing_amount
75
+
76
+ # Number of passengers for whom the ticket was issued. If you do not include this field in your request, CyberSource uses a default value of 1.
77
+ attr_accessor :number_of_passengers
78
+
79
+ # Code that specifies the computerized reservation system used to make the reservation and purchase the ticket. Format: English characters only
80
+ attr_accessor :reservation_system_code
81
+
82
+ # Airline process identifier. This value is the airline’s three-digit IATA1 code which is used to process extended payment airline tickets.
83
+ attr_accessor :process_identifier
84
+
85
+ # Date on which the transactionoccurred. Format: YYYYMMDD
86
+ attr_accessor :ticket_issue_date
87
+
88
+ # Flag that indicates whether an electronic ticket was issued. Possible values: - true - false
89
+ attr_accessor :electronic_ticket_indicator
90
+
91
+ # Original ticket number when the transaction is for a replacement ticket.
92
+ attr_accessor :original_ticket_number
93
+
94
+ # Type of purchase. Possible values: - EXC: Exchange ticket - MSC: Miscellaneous (not a ticket purchase and not a transaction related to an exchange ticket) - REF: Refund - TKT: Ticket Format: English characters only.
95
+ attr_accessor :purchase_type
96
+
97
+ # Reason for the credit. Possible values: - A: Cancellation of the ancillary passenger transport purchase. - B: Cancellation of the airline ticket and the passenger transport ancillary purchase. - C: Cancellation of the airline ticket. - O: Other. - P: Partial refund of the airline ticket.
98
+ attr_accessor :credit_reason_indicator
99
+
100
+ # Type of update. Possible values: - C: Change to the existing ticket. - N: New ticket. Format: English characters only
101
+ attr_accessor :ticket_change_indicator
102
+
103
+ # Plan number based on the fare. This value is provided by the airline. Format: English characters only
104
+ attr_accessor :plan_number
105
+
106
+ # Date of arrival for the last leg of the trip. Format: MMDDYYYY English characters only.
107
+ attr_accessor :arrival_date
108
+
109
+ # Text that describes the ticket limitations, such as nonrefundable. Format: English characters only.
110
+ attr_accessor :restricted_ticket_desciption
111
+
112
+ # Amount of the exchanged ticket. Format: English characters only.
113
+ attr_accessor :exchange_ticket_amount
114
+
115
+ # Fee for exchanging the ticket. Format: English characters only
116
+ attr_accessor :exchange_ticket_fee_amount
117
+
118
+ # Type of journey such as one way or round trip.
119
+ attr_accessor :reservation_type
120
+
121
+ # Boarding fee.
122
+ attr_accessor :boarding_fee_amount
123
+
124
+ attr_accessor :legs
125
+
126
+ attr_accessor :ancillary_information
127
+
128
+ # Attribute mapping from ruby-style variable name to JSON key.
129
+ def self.attribute_map
130
+ {
131
+ :'booking_reference_number' => :'bookingReferenceNumber',
132
+ :'carrier_name' => :'carrierName',
133
+ :'ticket_issuer' => :'ticketIssuer',
134
+ :'ticket_number' => :'ticketNumber',
135
+ :'check_digit' => :'checkDigit',
136
+ :'restricted_ticket_indicator' => :'restrictedTicketIndicator',
137
+ :'transaction_type' => :'transactionType',
138
+ :'extended_payment_code' => :'extendedPaymentCode',
139
+ :'passenger_name' => :'passengerName',
140
+ :'customer_code' => :'customerCode',
141
+ :'document_type' => :'documentType',
142
+ :'document_number' => :'documentNumber',
143
+ :'document_number_of_parts' => :'documentNumberOfParts',
144
+ :'invoice_number' => :'invoiceNumber',
145
+ :'invoice_date' => :'invoiceDate',
146
+ :'additional_charges' => :'additionalCharges',
147
+ :'total_fee_amount' => :'totalFeeAmount',
148
+ :'clearing_sequence' => :'clearingSequence',
149
+ :'clearing_count' => :'clearingCount',
150
+ :'total_clearing_amount' => :'totalClearingAmount',
151
+ :'number_of_passengers' => :'numberOfPassengers',
152
+ :'reservation_system_code' => :'reservationSystemCode',
153
+ :'process_identifier' => :'processIdentifier',
154
+ :'ticket_issue_date' => :'ticketIssueDate',
155
+ :'electronic_ticket_indicator' => :'electronicTicketIndicator',
156
+ :'original_ticket_number' => :'originalTicketNumber',
157
+ :'purchase_type' => :'purchaseType',
158
+ :'credit_reason_indicator' => :'creditReasonIndicator',
159
+ :'ticket_change_indicator' => :'ticketChangeIndicator',
160
+ :'plan_number' => :'planNumber',
161
+ :'arrival_date' => :'arrivalDate',
162
+ :'restricted_ticket_desciption' => :'restrictedTicketDesciption',
163
+ :'exchange_ticket_amount' => :'exchangeTicketAmount',
164
+ :'exchange_ticket_fee_amount' => :'exchangeTicketFeeAmount',
165
+ :'reservation_type' => :'reservationType',
166
+ :'boarding_fee_amount' => :'boardingFeeAmount',
167
+ :'legs' => :'legs',
168
+ :'ancillary_information' => :'ancillaryInformation'
169
+ }
170
+ end
171
+
172
+ # Attribute type mapping.
173
+ def self.swagger_types
174
+ {
175
+ :'booking_reference_number' => :'String',
176
+ :'carrier_name' => :'String',
177
+ :'ticket_issuer' => :'Ptsv2paymentsTravelInformationTransitAirlineTicketIssuer',
178
+ :'ticket_number' => :'String',
179
+ :'check_digit' => :'String',
180
+ :'restricted_ticket_indicator' => :'Integer',
181
+ :'transaction_type' => :'Integer',
182
+ :'extended_payment_code' => :'String',
183
+ :'passenger_name' => :'String',
184
+ :'customer_code' => :'String',
185
+ :'document_type' => :'String',
186
+ :'document_number' => :'String',
187
+ :'document_number_of_parts' => :'Integer',
188
+ :'invoice_number' => :'String',
189
+ :'invoice_date' => :'Integer',
190
+ :'additional_charges' => :'String',
191
+ :'total_fee_amount' => :'String',
192
+ :'clearing_sequence' => :'String',
193
+ :'clearing_count' => :'String',
194
+ :'total_clearing_amount' => :'String',
195
+ :'number_of_passengers' => :'Integer',
196
+ :'reservation_system_code' => :'String',
197
+ :'process_identifier' => :'String',
198
+ :'ticket_issue_date' => :'String',
199
+ :'electronic_ticket_indicator' => :'BOOLEAN',
200
+ :'original_ticket_number' => :'String',
201
+ :'purchase_type' => :'String',
202
+ :'credit_reason_indicator' => :'String',
203
+ :'ticket_change_indicator' => :'String',
204
+ :'plan_number' => :'String',
205
+ :'arrival_date' => :'String',
206
+ :'restricted_ticket_desciption' => :'String',
207
+ :'exchange_ticket_amount' => :'String',
208
+ :'exchange_ticket_fee_amount' => :'String',
209
+ :'reservation_type' => :'String',
210
+ :'boarding_fee_amount' => :'String',
211
+ :'legs' => :'Array<Ptsv2paymentsTravelInformationTransitAirlineLegs>',
212
+ :'ancillary_information' => :'Ptsv2paymentsTravelInformationTransitAirlineAncillaryInformation'
213
+ }
214
+ end
215
+
216
+ # Initializes the object
217
+ # @param [Hash] attributes Model attributes in the form of hash
218
+ def initialize(attributes = {})
219
+ return unless attributes.is_a?(Hash)
220
+
221
+ # convert string to symbol for hash key
222
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
223
+
224
+ if attributes.has_key?(:'bookingReferenceNumber')
225
+ self.booking_reference_number = attributes[:'bookingReferenceNumber']
226
+ end
227
+
228
+ if attributes.has_key?(:'carrierName')
229
+ self.carrier_name = attributes[:'carrierName']
230
+ end
231
+
232
+ if attributes.has_key?(:'ticketIssuer')
233
+ self.ticket_issuer = attributes[:'ticketIssuer']
234
+ end
235
+
236
+ if attributes.has_key?(:'ticketNumber')
237
+ self.ticket_number = attributes[:'ticketNumber']
238
+ end
239
+
240
+ if attributes.has_key?(:'checkDigit')
241
+ self.check_digit = attributes[:'checkDigit']
242
+ end
243
+
244
+ if attributes.has_key?(:'restrictedTicketIndicator')
245
+ self.restricted_ticket_indicator = attributes[:'restrictedTicketIndicator']
246
+ end
247
+
248
+ if attributes.has_key?(:'transactionType')
249
+ self.transaction_type = attributes[:'transactionType']
250
+ end
251
+
252
+ if attributes.has_key?(:'extendedPaymentCode')
253
+ self.extended_payment_code = attributes[:'extendedPaymentCode']
254
+ end
255
+
256
+ if attributes.has_key?(:'passengerName')
257
+ self.passenger_name = attributes[:'passengerName']
258
+ end
259
+
260
+ if attributes.has_key?(:'customerCode')
261
+ self.customer_code = attributes[:'customerCode']
262
+ end
263
+
264
+ if attributes.has_key?(:'documentType')
265
+ self.document_type = attributes[:'documentType']
266
+ end
267
+
268
+ if attributes.has_key?(:'documentNumber')
269
+ self.document_number = attributes[:'documentNumber']
270
+ end
271
+
272
+ if attributes.has_key?(:'documentNumberOfParts')
273
+ self.document_number_of_parts = attributes[:'documentNumberOfParts']
274
+ end
275
+
276
+ if attributes.has_key?(:'invoiceNumber')
277
+ self.invoice_number = attributes[:'invoiceNumber']
278
+ end
279
+
280
+ if attributes.has_key?(:'invoiceDate')
281
+ self.invoice_date = attributes[:'invoiceDate']
282
+ end
283
+
284
+ if attributes.has_key?(:'additionalCharges')
285
+ self.additional_charges = attributes[:'additionalCharges']
286
+ end
287
+
288
+ if attributes.has_key?(:'totalFeeAmount')
289
+ self.total_fee_amount = attributes[:'totalFeeAmount']
290
+ end
291
+
292
+ if attributes.has_key?(:'clearingSequence')
293
+ self.clearing_sequence = attributes[:'clearingSequence']
294
+ end
295
+
296
+ if attributes.has_key?(:'clearingCount')
297
+ self.clearing_count = attributes[:'clearingCount']
298
+ end
299
+
300
+ if attributes.has_key?(:'totalClearingAmount')
301
+ self.total_clearing_amount = attributes[:'totalClearingAmount']
302
+ end
303
+
304
+ if attributes.has_key?(:'numberOfPassengers')
305
+ self.number_of_passengers = attributes[:'numberOfPassengers']
306
+ end
307
+
308
+ if attributes.has_key?(:'reservationSystemCode')
309
+ self.reservation_system_code = attributes[:'reservationSystemCode']
310
+ end
311
+
312
+ if attributes.has_key?(:'processIdentifier')
313
+ self.process_identifier = attributes[:'processIdentifier']
314
+ end
315
+
316
+ if attributes.has_key?(:'ticketIssueDate')
317
+ self.ticket_issue_date = attributes[:'ticketIssueDate']
318
+ end
319
+
320
+ if attributes.has_key?(:'electronicTicketIndicator')
321
+ self.electronic_ticket_indicator = attributes[:'electronicTicketIndicator']
322
+ end
323
+
324
+ if attributes.has_key?(:'originalTicketNumber')
325
+ self.original_ticket_number = attributes[:'originalTicketNumber']
326
+ end
327
+
328
+ if attributes.has_key?(:'purchaseType')
329
+ self.purchase_type = attributes[:'purchaseType']
330
+ end
331
+
332
+ if attributes.has_key?(:'creditReasonIndicator')
333
+ self.credit_reason_indicator = attributes[:'creditReasonIndicator']
334
+ end
335
+
336
+ if attributes.has_key?(:'ticketChangeIndicator')
337
+ self.ticket_change_indicator = attributes[:'ticketChangeIndicator']
338
+ end
339
+
340
+ if attributes.has_key?(:'planNumber')
341
+ self.plan_number = attributes[:'planNumber']
342
+ end
343
+
344
+ if attributes.has_key?(:'arrivalDate')
345
+ self.arrival_date = attributes[:'arrivalDate']
346
+ end
347
+
348
+ if attributes.has_key?(:'restrictedTicketDesciption')
349
+ self.restricted_ticket_desciption = attributes[:'restrictedTicketDesciption']
350
+ end
351
+
352
+ if attributes.has_key?(:'exchangeTicketAmount')
353
+ self.exchange_ticket_amount = attributes[:'exchangeTicketAmount']
354
+ end
355
+
356
+ if attributes.has_key?(:'exchangeTicketFeeAmount')
357
+ self.exchange_ticket_fee_amount = attributes[:'exchangeTicketFeeAmount']
358
+ end
359
+
360
+ if attributes.has_key?(:'reservationType')
361
+ self.reservation_type = attributes[:'reservationType']
362
+ end
363
+
364
+ if attributes.has_key?(:'boardingFeeAmount')
365
+ self.boarding_fee_amount = attributes[:'boardingFeeAmount']
366
+ end
367
+
368
+ if attributes.has_key?(:'legs')
369
+ if (value = attributes[:'legs']).is_a?(Array)
370
+ self.legs = value
371
+ end
372
+ end
373
+
374
+ if attributes.has_key?(:'ancillaryInformation')
375
+ self.ancillary_information = attributes[:'ancillaryInformation']
376
+ end
377
+ end
378
+
379
+ # Show invalid properties with the reasons. Usually used together with valid?
380
+ # @return Array for valid properties with the reasons
381
+ def list_invalid_properties
382
+ invalid_properties = Array.new
383
+ if !@booking_reference_number.nil? && @booking_reference_number.to_s.length > 15
384
+ invalid_properties.push('invalid value for "booking_reference_number", the character length must be smaller than or equal to 15.')
385
+ end
386
+
387
+ if !@carrier_name.nil? && @carrier_name.to_s.length > 15
388
+ invalid_properties.push('invalid value for "carrier_name", the character length must be smaller than or equal to 15.')
389
+ end
390
+
391
+ if !@ticket_number.nil? && @ticket_number.to_s.length > 15
392
+ invalid_properties.push('invalid value for "ticket_number", the character length must be smaller than or equal to 15.')
393
+ end
394
+
395
+ if !@check_digit.nil? && @check_digit.to_s.length > 1
396
+ invalid_properties.push('invalid value for "check_digit", the character length must be smaller than or equal to 1.')
397
+ end
398
+
399
+ if !@extended_payment_code.nil? && @extended_payment_code.to_s.length > 3
400
+ invalid_properties.push('invalid value for "extended_payment_code", the character length must be smaller than or equal to 3.')
401
+ end
402
+
403
+ if !@passenger_name.nil? && @passenger_name.to_s.length > 42
404
+ invalid_properties.push('invalid value for "passenger_name", the character length must be smaller than or equal to 42.')
405
+ end
406
+
407
+ if !@customer_code.nil? && @customer_code.to_s.length > 40
408
+ invalid_properties.push('invalid value for "customer_code", the character length must be smaller than or equal to 40.')
409
+ end
410
+
411
+ if !@document_type.nil? && @document_type.to_s.length > 1
412
+ invalid_properties.push('invalid value for "document_type", the character length must be smaller than or equal to 1.')
413
+ end
414
+
415
+ if !@document_number.nil? && @document_number.to_s.length > 14
416
+ invalid_properties.push('invalid value for "document_number", the character length must be smaller than or equal to 14.')
417
+ end
418
+
419
+ if !@invoice_number.nil? && @invoice_number.to_s.length > 25
420
+ invalid_properties.push('invalid value for "invoice_number", the character length must be smaller than or equal to 25.')
421
+ end
422
+
423
+ if !@additional_charges.nil? && @additional_charges.to_s.length > 20
424
+ invalid_properties.push('invalid value for "additional_charges", the character length must be smaller than or equal to 20.')
425
+ end
426
+
427
+ if !@total_fee_amount.nil? && @total_fee_amount.to_s.length > 12
428
+ invalid_properties.push('invalid value for "total_fee_amount", the character length must be smaller than or equal to 12.')
429
+ end
430
+
431
+ if !@clearing_sequence.nil? && @clearing_sequence.to_s.length > 2
432
+ invalid_properties.push('invalid value for "clearing_sequence", the character length must be smaller than or equal to 2.')
433
+ end
434
+
435
+ if !@clearing_count.nil? && @clearing_count.to_s.length > 2
436
+ invalid_properties.push('invalid value for "clearing_count", the character length must be smaller than or equal to 2.')
437
+ end
438
+
439
+ if !@total_clearing_amount.nil? && @total_clearing_amount.to_s.length > 20
440
+ invalid_properties.push('invalid value for "total_clearing_amount", the character length must be smaller than or equal to 20.')
441
+ end
442
+
443
+ if !@reservation_system_code.nil? && @reservation_system_code.to_s.length > 4
444
+ invalid_properties.push('invalid value for "reservation_system_code", the character length must be smaller than or equal to 4.')
445
+ end
446
+
447
+ if !@process_identifier.nil? && @process_identifier.to_s.length > 3
448
+ invalid_properties.push('invalid value for "process_identifier", the character length must be smaller than or equal to 3.')
449
+ end
450
+
451
+ if !@ticket_issue_date.nil? && @ticket_issue_date.to_s.length > 8
452
+ invalid_properties.push('invalid value for "ticket_issue_date", the character length must be smaller than or equal to 8.')
453
+ end
454
+
455
+ if !@original_ticket_number.nil? && @original_ticket_number.to_s.length > 14
456
+ invalid_properties.push('invalid value for "original_ticket_number", the character length must be smaller than or equal to 14.')
457
+ end
458
+
459
+ if !@purchase_type.nil? && @purchase_type.to_s.length > 3
460
+ invalid_properties.push('invalid value for "purchase_type", the character length must be smaller than or equal to 3.')
461
+ end
462
+
463
+ if !@credit_reason_indicator.nil? && @credit_reason_indicator.to_s.length > 1
464
+ invalid_properties.push('invalid value for "credit_reason_indicator", the character length must be smaller than or equal to 1.')
465
+ end
466
+
467
+ if !@ticket_change_indicator.nil? && @ticket_change_indicator.to_s.length > 1
468
+ invalid_properties.push('invalid value for "ticket_change_indicator", the character length must be smaller than or equal to 1.')
469
+ end
470
+
471
+ if !@plan_number.nil? && @plan_number.to_s.length > 1
472
+ invalid_properties.push('invalid value for "plan_number", the character length must be smaller than or equal to 1.')
473
+ end
474
+
475
+ if !@arrival_date.nil? && @arrival_date.to_s.length > 8
476
+ invalid_properties.push('invalid value for "arrival_date", the character length must be smaller than or equal to 8.')
477
+ end
478
+
479
+ if !@restricted_ticket_desciption.nil? && @restricted_ticket_desciption.to_s.length > 20
480
+ invalid_properties.push('invalid value for "restricted_ticket_desciption", the character length must be smaller than or equal to 20.')
481
+ end
482
+
483
+ if !@exchange_ticket_amount.nil? && @exchange_ticket_amount.to_s.length > 12
484
+ invalid_properties.push('invalid value for "exchange_ticket_amount", the character length must be smaller than or equal to 12.')
485
+ end
486
+
487
+ if !@exchange_ticket_fee_amount.nil? && @exchange_ticket_fee_amount.to_s.length > 12
488
+ invalid_properties.push('invalid value for "exchange_ticket_fee_amount", the character length must be smaller than or equal to 12.')
489
+ end
490
+
491
+ if !@reservation_type.nil? && @reservation_type.to_s.length > 32
492
+ invalid_properties.push('invalid value for "reservation_type", the character length must be smaller than or equal to 32.')
493
+ end
494
+
495
+ if !@boarding_fee_amount.nil? && @boarding_fee_amount.to_s.length > 12
496
+ invalid_properties.push('invalid value for "boarding_fee_amount", the character length must be smaller than or equal to 12.')
497
+ end
498
+
499
+ invalid_properties
500
+ end
501
+
502
+ # Check to see if the all the properties in the model are valid
503
+ # @return true if the model is valid
504
+ def valid?
505
+ return false if !@booking_reference_number.nil? && @booking_reference_number.to_s.length > 15
506
+ return false if !@carrier_name.nil? && @carrier_name.to_s.length > 15
507
+ return false if !@ticket_number.nil? && @ticket_number.to_s.length > 15
508
+ return false if !@check_digit.nil? && @check_digit.to_s.length > 1
509
+ return false if !@extended_payment_code.nil? && @extended_payment_code.to_s.length > 3
510
+ return false if !@passenger_name.nil? && @passenger_name.to_s.length > 42
511
+ return false if !@customer_code.nil? && @customer_code.to_s.length > 40
512
+ return false if !@document_type.nil? && @document_type.to_s.length > 1
513
+ return false if !@document_number.nil? && @document_number.to_s.length > 14
514
+ return false if !@invoice_number.nil? && @invoice_number.to_s.length > 25
515
+ return false if !@additional_charges.nil? && @additional_charges.to_s.length > 20
516
+ return false if !@total_fee_amount.nil? && @total_fee_amount.to_s.length > 12
517
+ return false if !@clearing_sequence.nil? && @clearing_sequence.to_s.length > 2
518
+ return false if !@clearing_count.nil? && @clearing_count.to_s.length > 2
519
+ return false if !@total_clearing_amount.nil? && @total_clearing_amount.to_s.length > 20
520
+ return false if !@reservation_system_code.nil? && @reservation_system_code.to_s.length > 4
521
+ return false if !@process_identifier.nil? && @process_identifier.to_s.length > 3
522
+ return false if !@ticket_issue_date.nil? && @ticket_issue_date.to_s.length > 8
523
+ return false if !@original_ticket_number.nil? && @original_ticket_number.to_s.length > 14
524
+ return false if !@purchase_type.nil? && @purchase_type.to_s.length > 3
525
+ return false if !@credit_reason_indicator.nil? && @credit_reason_indicator.to_s.length > 1
526
+ return false if !@ticket_change_indicator.nil? && @ticket_change_indicator.to_s.length > 1
527
+ return false if !@plan_number.nil? && @plan_number.to_s.length > 1
528
+ return false if !@arrival_date.nil? && @arrival_date.to_s.length > 8
529
+ return false if !@restricted_ticket_desciption.nil? && @restricted_ticket_desciption.to_s.length > 20
530
+ return false if !@exchange_ticket_amount.nil? && @exchange_ticket_amount.to_s.length > 12
531
+ return false if !@exchange_ticket_fee_amount.nil? && @exchange_ticket_fee_amount.to_s.length > 12
532
+ return false if !@reservation_type.nil? && @reservation_type.to_s.length > 32
533
+ return false if !@boarding_fee_amount.nil? && @boarding_fee_amount.to_s.length > 12
534
+ true
535
+ end
536
+
537
+ # Custom attribute writer method with validation
538
+ # @param [Object] booking_reference_number Value to be assigned
539
+ def booking_reference_number=(booking_reference_number)
540
+ if !booking_reference_number.nil? && booking_reference_number.to_s.length > 15
541
+ fail ArgumentError, 'invalid value for "booking_reference_number", the character length must be smaller than or equal to 15.'
542
+ end
543
+
544
+ @booking_reference_number = booking_reference_number
545
+ end
546
+
547
+ # Custom attribute writer method with validation
548
+ # @param [Object] carrier_name Value to be assigned
549
+ def carrier_name=(carrier_name)
550
+ if !carrier_name.nil? && carrier_name.to_s.length > 15
551
+ fail ArgumentError, 'invalid value for "carrier_name", the character length must be smaller than or equal to 15.'
552
+ end
553
+
554
+ @carrier_name = carrier_name
555
+ end
556
+
557
+ # Custom attribute writer method with validation
558
+ # @param [Object] ticket_number Value to be assigned
559
+ def ticket_number=(ticket_number)
560
+ if !ticket_number.nil? && ticket_number.to_s.length > 15
561
+ fail ArgumentError, 'invalid value for "ticket_number", the character length must be smaller than or equal to 15.'
562
+ end
563
+
564
+ @ticket_number = ticket_number
565
+ end
566
+
567
+ # Custom attribute writer method with validation
568
+ # @param [Object] check_digit Value to be assigned
569
+ def check_digit=(check_digit)
570
+ if !check_digit.nil? && check_digit.to_s.length > 1
571
+ fail ArgumentError, 'invalid value for "check_digit", the character length must be smaller than or equal to 1.'
572
+ end
573
+
574
+ @check_digit = check_digit
575
+ end
576
+
577
+ # Custom attribute writer method with validation
578
+ # @param [Object] extended_payment_code Value to be assigned
579
+ def extended_payment_code=(extended_payment_code)
580
+ if !extended_payment_code.nil? && extended_payment_code.to_s.length > 3
581
+ fail ArgumentError, 'invalid value for "extended_payment_code", the character length must be smaller than or equal to 3.'
582
+ end
583
+
584
+ @extended_payment_code = extended_payment_code
585
+ end
586
+
587
+ # Custom attribute writer method with validation
588
+ # @param [Object] passenger_name Value to be assigned
589
+ def passenger_name=(passenger_name)
590
+ if !passenger_name.nil? && passenger_name.to_s.length > 42
591
+ fail ArgumentError, 'invalid value for "passenger_name", the character length must be smaller than or equal to 42.'
592
+ end
593
+
594
+ @passenger_name = passenger_name
595
+ end
596
+
597
+ # Custom attribute writer method with validation
598
+ # @param [Object] customer_code Value to be assigned
599
+ def customer_code=(customer_code)
600
+ if !customer_code.nil? && customer_code.to_s.length > 40
601
+ fail ArgumentError, 'invalid value for "customer_code", the character length must be smaller than or equal to 40.'
602
+ end
603
+
604
+ @customer_code = customer_code
605
+ end
606
+
607
+ # Custom attribute writer method with validation
608
+ # @param [Object] document_type Value to be assigned
609
+ def document_type=(document_type)
610
+ if !document_type.nil? && document_type.to_s.length > 1
611
+ fail ArgumentError, 'invalid value for "document_type", the character length must be smaller than or equal to 1.'
612
+ end
613
+
614
+ @document_type = document_type
615
+ end
616
+
617
+ # Custom attribute writer method with validation
618
+ # @param [Object] document_number Value to be assigned
619
+ def document_number=(document_number)
620
+ if !document_number.nil? && document_number.to_s.length > 14
621
+ fail ArgumentError, 'invalid value for "document_number", the character length must be smaller than or equal to 14.'
622
+ end
623
+
624
+ @document_number = document_number
625
+ end
626
+
627
+ # Custom attribute writer method with validation
628
+ # @param [Object] invoice_number Value to be assigned
629
+ def invoice_number=(invoice_number)
630
+ if !invoice_number.nil? && invoice_number.to_s.length > 25
631
+ fail ArgumentError, 'invalid value for "invoice_number", the character length must be smaller than or equal to 25.'
632
+ end
633
+
634
+ @invoice_number = invoice_number
635
+ end
636
+
637
+ # Custom attribute writer method with validation
638
+ # @param [Object] additional_charges Value to be assigned
639
+ def additional_charges=(additional_charges)
640
+ if !additional_charges.nil? && additional_charges.to_s.length > 20
641
+ fail ArgumentError, 'invalid value for "additional_charges", the character length must be smaller than or equal to 20.'
642
+ end
643
+
644
+ @additional_charges = additional_charges
645
+ end
646
+
647
+ # Custom attribute writer method with validation
648
+ # @param [Object] total_fee_amount Value to be assigned
649
+ def total_fee_amount=(total_fee_amount)
650
+ if !total_fee_amount.nil? && total_fee_amount.to_s.length > 12
651
+ fail ArgumentError, 'invalid value for "total_fee_amount", the character length must be smaller than or equal to 12.'
652
+ end
653
+
654
+ @total_fee_amount = total_fee_amount
655
+ end
656
+
657
+ # Custom attribute writer method with validation
658
+ # @param [Object] clearing_sequence Value to be assigned
659
+ def clearing_sequence=(clearing_sequence)
660
+ if !clearing_sequence.nil? && clearing_sequence.to_s.length > 2
661
+ fail ArgumentError, 'invalid value for "clearing_sequence", the character length must be smaller than or equal to 2.'
662
+ end
663
+
664
+ @clearing_sequence = clearing_sequence
665
+ end
666
+
667
+ # Custom attribute writer method with validation
668
+ # @param [Object] clearing_count Value to be assigned
669
+ def clearing_count=(clearing_count)
670
+ if !clearing_count.nil? && clearing_count.to_s.length > 2
671
+ fail ArgumentError, 'invalid value for "clearing_count", the character length must be smaller than or equal to 2.'
672
+ end
673
+
674
+ @clearing_count = clearing_count
675
+ end
676
+
677
+ # Custom attribute writer method with validation
678
+ # @param [Object] total_clearing_amount Value to be assigned
679
+ def total_clearing_amount=(total_clearing_amount)
680
+ if !total_clearing_amount.nil? && total_clearing_amount.to_s.length > 20
681
+ fail ArgumentError, 'invalid value for "total_clearing_amount", the character length must be smaller than or equal to 20.'
682
+ end
683
+
684
+ @total_clearing_amount = total_clearing_amount
685
+ end
686
+
687
+ # Custom attribute writer method with validation
688
+ # @param [Object] reservation_system_code Value to be assigned
689
+ def reservation_system_code=(reservation_system_code)
690
+ if !reservation_system_code.nil? && reservation_system_code.to_s.length > 4
691
+ fail ArgumentError, 'invalid value for "reservation_system_code", the character length must be smaller than or equal to 4.'
692
+ end
693
+
694
+ @reservation_system_code = reservation_system_code
695
+ end
696
+
697
+ # Custom attribute writer method with validation
698
+ # @param [Object] process_identifier Value to be assigned
699
+ def process_identifier=(process_identifier)
700
+ if !process_identifier.nil? && process_identifier.to_s.length > 3
701
+ fail ArgumentError, 'invalid value for "process_identifier", the character length must be smaller than or equal to 3.'
702
+ end
703
+
704
+ @process_identifier = process_identifier
705
+ end
706
+
707
+ # Custom attribute writer method with validation
708
+ # @param [Object] ticket_issue_date Value to be assigned
709
+ def ticket_issue_date=(ticket_issue_date)
710
+ if !ticket_issue_date.nil? && ticket_issue_date.to_s.length > 8
711
+ fail ArgumentError, 'invalid value for "ticket_issue_date", the character length must be smaller than or equal to 8.'
712
+ end
713
+
714
+ @ticket_issue_date = ticket_issue_date
715
+ end
716
+
717
+ # Custom attribute writer method with validation
718
+ # @param [Object] original_ticket_number Value to be assigned
719
+ def original_ticket_number=(original_ticket_number)
720
+ if !original_ticket_number.nil? && original_ticket_number.to_s.length > 14
721
+ fail ArgumentError, 'invalid value for "original_ticket_number", the character length must be smaller than or equal to 14.'
722
+ end
723
+
724
+ @original_ticket_number = original_ticket_number
725
+ end
726
+
727
+ # Custom attribute writer method with validation
728
+ # @param [Object] purchase_type Value to be assigned
729
+ def purchase_type=(purchase_type)
730
+ if !purchase_type.nil? && purchase_type.to_s.length > 3
731
+ fail ArgumentError, 'invalid value for "purchase_type", the character length must be smaller than or equal to 3.'
732
+ end
733
+
734
+ @purchase_type = purchase_type
735
+ end
736
+
737
+ # Custom attribute writer method with validation
738
+ # @param [Object] credit_reason_indicator Value to be assigned
739
+ def credit_reason_indicator=(credit_reason_indicator)
740
+ if !credit_reason_indicator.nil? && credit_reason_indicator.to_s.length > 1
741
+ fail ArgumentError, 'invalid value for "credit_reason_indicator", the character length must be smaller than or equal to 1.'
742
+ end
743
+
744
+ @credit_reason_indicator = credit_reason_indicator
745
+ end
746
+
747
+ # Custom attribute writer method with validation
748
+ # @param [Object] ticket_change_indicator Value to be assigned
749
+ def ticket_change_indicator=(ticket_change_indicator)
750
+ if !ticket_change_indicator.nil? && ticket_change_indicator.to_s.length > 1
751
+ fail ArgumentError, 'invalid value for "ticket_change_indicator", the character length must be smaller than or equal to 1.'
752
+ end
753
+
754
+ @ticket_change_indicator = ticket_change_indicator
755
+ end
756
+
757
+ # Custom attribute writer method with validation
758
+ # @param [Object] plan_number Value to be assigned
759
+ def plan_number=(plan_number)
760
+ if !plan_number.nil? && plan_number.to_s.length > 1
761
+ fail ArgumentError, 'invalid value for "plan_number", the character length must be smaller than or equal to 1.'
762
+ end
763
+
764
+ @plan_number = plan_number
765
+ end
766
+
767
+ # Custom attribute writer method with validation
768
+ # @param [Object] arrival_date Value to be assigned
769
+ def arrival_date=(arrival_date)
770
+ if !arrival_date.nil? && arrival_date.to_s.length > 8
771
+ fail ArgumentError, 'invalid value for "arrival_date", the character length must be smaller than or equal to 8.'
772
+ end
773
+
774
+ @arrival_date = arrival_date
775
+ end
776
+
777
+ # Custom attribute writer method with validation
778
+ # @param [Object] restricted_ticket_desciption Value to be assigned
779
+ def restricted_ticket_desciption=(restricted_ticket_desciption)
780
+ if !restricted_ticket_desciption.nil? && restricted_ticket_desciption.to_s.length > 20
781
+ fail ArgumentError, 'invalid value for "restricted_ticket_desciption", the character length must be smaller than or equal to 20.'
782
+ end
783
+
784
+ @restricted_ticket_desciption = restricted_ticket_desciption
785
+ end
786
+
787
+ # Custom attribute writer method with validation
788
+ # @param [Object] exchange_ticket_amount Value to be assigned
789
+ def exchange_ticket_amount=(exchange_ticket_amount)
790
+ if !exchange_ticket_amount.nil? && exchange_ticket_amount.to_s.length > 12
791
+ fail ArgumentError, 'invalid value for "exchange_ticket_amount", the character length must be smaller than or equal to 12.'
792
+ end
793
+
794
+ @exchange_ticket_amount = exchange_ticket_amount
795
+ end
796
+
797
+ # Custom attribute writer method with validation
798
+ # @param [Object] exchange_ticket_fee_amount Value to be assigned
799
+ def exchange_ticket_fee_amount=(exchange_ticket_fee_amount)
800
+ if !exchange_ticket_fee_amount.nil? && exchange_ticket_fee_amount.to_s.length > 12
801
+ fail ArgumentError, 'invalid value for "exchange_ticket_fee_amount", the character length must be smaller than or equal to 12.'
802
+ end
803
+
804
+ @exchange_ticket_fee_amount = exchange_ticket_fee_amount
805
+ end
806
+
807
+ # Custom attribute writer method with validation
808
+ # @param [Object] reservation_type Value to be assigned
809
+ def reservation_type=(reservation_type)
810
+ if !reservation_type.nil? && reservation_type.to_s.length > 32
811
+ fail ArgumentError, 'invalid value for "reservation_type", the character length must be smaller than or equal to 32.'
812
+ end
813
+
814
+ @reservation_type = reservation_type
815
+ end
816
+
817
+ # Custom attribute writer method with validation
818
+ # @param [Object] boarding_fee_amount Value to be assigned
819
+ def boarding_fee_amount=(boarding_fee_amount)
820
+ if !boarding_fee_amount.nil? && boarding_fee_amount.to_s.length > 12
821
+ fail ArgumentError, 'invalid value for "boarding_fee_amount", the character length must be smaller than or equal to 12.'
822
+ end
823
+
824
+ @boarding_fee_amount = boarding_fee_amount
825
+ end
826
+
827
+ # Checks equality by comparing each attribute.
828
+ # @param [Object] Object to be compared
829
+ def ==(o)
830
+ return true if self.equal?(o)
831
+ self.class == o.class &&
832
+ booking_reference_number == o.booking_reference_number &&
833
+ carrier_name == o.carrier_name &&
834
+ ticket_issuer == o.ticket_issuer &&
835
+ ticket_number == o.ticket_number &&
836
+ check_digit == o.check_digit &&
837
+ restricted_ticket_indicator == o.restricted_ticket_indicator &&
838
+ transaction_type == o.transaction_type &&
839
+ extended_payment_code == o.extended_payment_code &&
840
+ passenger_name == o.passenger_name &&
841
+ customer_code == o.customer_code &&
842
+ document_type == o.document_type &&
843
+ document_number == o.document_number &&
844
+ document_number_of_parts == o.document_number_of_parts &&
845
+ invoice_number == o.invoice_number &&
846
+ invoice_date == o.invoice_date &&
847
+ additional_charges == o.additional_charges &&
848
+ total_fee_amount == o.total_fee_amount &&
849
+ clearing_sequence == o.clearing_sequence &&
850
+ clearing_count == o.clearing_count &&
851
+ total_clearing_amount == o.total_clearing_amount &&
852
+ number_of_passengers == o.number_of_passengers &&
853
+ reservation_system_code == o.reservation_system_code &&
854
+ process_identifier == o.process_identifier &&
855
+ ticket_issue_date == o.ticket_issue_date &&
856
+ electronic_ticket_indicator == o.electronic_ticket_indicator &&
857
+ original_ticket_number == o.original_ticket_number &&
858
+ purchase_type == o.purchase_type &&
859
+ credit_reason_indicator == o.credit_reason_indicator &&
860
+ ticket_change_indicator == o.ticket_change_indicator &&
861
+ plan_number == o.plan_number &&
862
+ arrival_date == o.arrival_date &&
863
+ restricted_ticket_desciption == o.restricted_ticket_desciption &&
864
+ exchange_ticket_amount == o.exchange_ticket_amount &&
865
+ exchange_ticket_fee_amount == o.exchange_ticket_fee_amount &&
866
+ reservation_type == o.reservation_type &&
867
+ boarding_fee_amount == o.boarding_fee_amount &&
868
+ legs == o.legs &&
869
+ ancillary_information == o.ancillary_information
870
+ end
871
+
872
+ # @see the `==` method
873
+ # @param [Object] Object to be compared
874
+ def eql?(o)
875
+ self == o
876
+ end
877
+
878
+ # Calculates hash code according to all attributes.
879
+ # @return [Fixnum] Hash code
880
+ def hash
881
+ [booking_reference_number, carrier_name, ticket_issuer, ticket_number, check_digit, restricted_ticket_indicator, transaction_type, extended_payment_code, passenger_name, customer_code, document_type, document_number, document_number_of_parts, invoice_number, invoice_date, additional_charges, total_fee_amount, clearing_sequence, clearing_count, total_clearing_amount, number_of_passengers, reservation_system_code, process_identifier, ticket_issue_date, electronic_ticket_indicator, original_ticket_number, purchase_type, credit_reason_indicator, ticket_change_indicator, plan_number, arrival_date, restricted_ticket_desciption, exchange_ticket_amount, exchange_ticket_fee_amount, reservation_type, boarding_fee_amount, legs, ancillary_information].hash
882
+ end
883
+
884
+ # Builds the object from hash
885
+ # @param [Hash] attributes Model attributes in the form of hash
886
+ # @return [Object] Returns the model itself
887
+ def build_from_hash(attributes)
888
+ return nil unless attributes.is_a?(Hash)
889
+ self.class.swagger_types.each_pair do |key, type|
890
+ if type =~ /\AArray<(.*)>/i
891
+ # check to ensure the input is an array given that the the attribute
892
+ # is documented as an array but the input is not
893
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
894
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
895
+ end
896
+ elsif !attributes[self.class.attribute_map[key]].nil?
897
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
898
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
899
+ end
900
+
901
+ self
902
+ end
903
+
904
+ # Deserializes the data based on type
905
+ # @param string type Data type
906
+ # @param string value Value to be deserialized
907
+ # @return [Object] Deserialized data
908
+ def _deserialize(type, value)
909
+ case type.to_sym
910
+ when :DateTime
911
+ DateTime.parse(value)
912
+ when :Date
913
+ Date.parse(value)
914
+ when :String
915
+ value.to_s
916
+ when :Integer
917
+ value.to_i
918
+ when :Float
919
+ value.to_f
920
+ when :BOOLEAN
921
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
922
+ true
923
+ else
924
+ false
925
+ end
926
+ when :Object
927
+ # generic object (usually a Hash), return directly
928
+ value
929
+ when /\AArray<(?<inner_type>.+)>\z/
930
+ inner_type = Regexp.last_match[:inner_type]
931
+ value.map { |v| _deserialize(inner_type, v) }
932
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
933
+ k_type = Regexp.last_match[:k_type]
934
+ v_type = Regexp.last_match[:v_type]
935
+ {}.tap do |hash|
936
+ value.each do |k, v|
937
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
938
+ end
939
+ end
940
+ else # model
941
+ temp_model = CyberSource.const_get(type).new
942
+ temp_model.build_from_hash(value)
943
+ end
944
+ end
945
+
946
+ # Returns the string representation of the object
947
+ # @return [String] String presentation of the object
948
+ def to_s
949
+ to_hash.to_s
950
+ end
951
+
952
+ # to_body is an alias to to_hash (backward compatibility)
953
+ # @return [Hash] Returns the object in the form of hash
954
+ def to_body
955
+ to_hash
956
+ end
957
+
958
+ # Returns the object in the form of hash
959
+ # @return [Hash] Returns the object in the form of hash
960
+ def to_hash
961
+ hash = {}
962
+ self.class.attribute_map.each_pair do |attr, param|
963
+ value = self.send(attr)
964
+ next if value.nil?
965
+ hash[param] = _to_hash(value)
966
+ end
967
+ hash
968
+ end
969
+
970
+ # Outputs non-array value in the form of hash
971
+ # For object, use to_hash. Otherwise, just return the value
972
+ # @param [Object] value Any valid value
973
+ # @return [Hash] Returns the value in the form of hash
974
+ def _to_hash(value)
975
+ if value.is_a?(Array)
976
+ value.compact.map { |v| _to_hash(v) }
977
+ elsif value.is_a?(Hash)
978
+ {}.tap do |hash|
979
+ value.each { |k, v| hash[k] = _to_hash(v) }
980
+ end
981
+ elsif value.respond_to? :to_hash
982
+ value.to_hash
983
+ else
984
+ value
985
+ end
986
+ end
987
+ end
988
+ end