apimatic-bcd-travel-sdk 0.0.1

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 (233) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +28 -0
  3. data/README.md +180 -0
  4. data/bin/console +15 -0
  5. data/lib/bcd_travel_api/api_helper.rb +10 -0
  6. data/lib/bcd_travel_api/apis/air_api.rb +138 -0
  7. data/lib/bcd_travel_api/apis/air_availability_return_flight_api.rb +31 -0
  8. data/lib/bcd_travel_api/apis/air_fare_search_optional_services_api.rb +31 -0
  9. data/lib/bcd_travel_api/apis/air_fare_search_select_seat_api.rb +53 -0
  10. data/lib/bcd_travel_api/apis/air_fare_search_simple_api.rb +195 -0
  11. data/lib/bcd_travel_api/apis/base_api.rb +67 -0
  12. data/lib/bcd_travel_api/apis/cars_api.rb +563 -0
  13. data/lib/bcd_travel_api/apis/hotels_api.rb +930 -0
  14. data/lib/bcd_travel_api/apis/retrieve_versions_api.rb +32 -0
  15. data/lib/bcd_travel_api/apis/search_expenses_api.rb +88 -0
  16. data/lib/bcd_travel_api/apis/v20_api.rb +72 -0
  17. data/lib/bcd_travel_api/apis/v21_api.rb +535 -0
  18. data/lib/bcd_travel_api/client.rb +136 -0
  19. data/lib/bcd_travel_api/configuration.rb +205 -0
  20. data/lib/bcd_travel_api/exceptions/api_exception.rb +21 -0
  21. data/lib/bcd_travel_api/http/api_response.rb +19 -0
  22. data/lib/bcd_travel_api/http/auth/basic.rb +62 -0
  23. data/lib/bcd_travel_api/http/auth/bearer.rb +53 -0
  24. data/lib/bcd_travel_api/http/http_call_back.rb +10 -0
  25. data/lib/bcd_travel_api/http/http_method_enum.rb +10 -0
  26. data/lib/bcd_travel_api/http/http_request.rb +10 -0
  27. data/lib/bcd_travel_api/http/http_response.rb +10 -0
  28. data/lib/bcd_travel_api/http/proxy_settings.rb +22 -0
  29. data/lib/bcd_travel_api/logging/configuration/api_logging_configuration.rb +186 -0
  30. data/lib/bcd_travel_api/logging/sdk_logger.rb +17 -0
  31. data/lib/bcd_travel_api/models/address.rb +74 -0
  32. data/lib/bcd_travel_api/models/address1.rb +111 -0
  33. data/lib/bcd_travel_api/models/address3.rb +109 -0
  34. data/lib/bcd_travel_api/models/address32.rb +75 -0
  35. data/lib/bcd_travel_api/models/address33.rb +103 -0
  36. data/lib/bcd_travel_api/models/address5.rb +100 -0
  37. data/lib/bcd_travel_api/models/air.rb +108 -0
  38. data/lib/bcd_travel_api/models/air1.rb +108 -0
  39. data/lib/bcd_travel_api/models/air16.rb +100 -0
  40. data/lib/bcd_travel_api/models/air2.rb +108 -0
  41. data/lib/bcd_travel_api/models/airavailabilityrequest.rb +164 -0
  42. data/lib/bcd_travel_api/models/airbookrequest.rb +350 -0
  43. data/lib/bcd_travel_api/models/aircancel_reservation_request4.rb +161 -0
  44. data/lib/bcd_travel_api/models/aircancel_reservationrefundquoteconfirmrequest.rb +164 -0
  45. data/lib/bcd_travel_api/models/aircomplete_verification_request.rb +146 -0
  46. data/lib/bcd_travel_api/models/airdocuments_issue_request.rb +163 -0
  47. data/lib/bcd_travel_api/models/airfare_rules_request.rb +155 -0
  48. data/lib/bcd_travel_api/models/airfare_search_request.rb +243 -0
  49. data/lib/bcd_travel_api/models/airget_checkout_data_request.rb +177 -0
  50. data/lib/bcd_travel_api/models/airpricingavailabilityrequest.rb +222 -0
  51. data/lib/bcd_travel_api/models/airpricingavailabilityrequest1.rb +231 -0
  52. data/lib/bcd_travel_api/models/airpricingfare_searchrequest.rb +214 -0
  53. data/lib/bcd_travel_api/models/airretrieve_reservations_list_request.rb +172 -0
  54. data/lib/bcd_travel_api/models/airseat_map_request.rb +175 -0
  55. data/lib/bcd_travel_api/models/arrival_location.rb +82 -0
  56. data/lib/bcd_travel_api/models/base_fare.rb +91 -0
  57. data/lib/bcd_travel_api/models/base_fare1.rb +119 -0
  58. data/lib/bcd_travel_api/models/base_fare2.rb +91 -0
  59. data/lib/bcd_travel_api/models/base_model.rb +110 -0
  60. data/lib/bcd_travel_api/models/billing_address.rb +110 -0
  61. data/lib/bcd_travel_api/models/booking_data.rb +73 -0
  62. data/lib/bcd_travel_api/models/broker.rb +82 -0
  63. data/lib/bcd_travel_api/models/broker16.rb +82 -0
  64. data/lib/bcd_travel_api/models/car.rb +91 -0
  65. data/lib/bcd_travel_api/models/car1.rb +91 -0
  66. data/lib/bcd_travel_api/models/car16.rb +83 -0
  67. data/lib/bcd_travel_api/models/car2.rb +91 -0
  68. data/lib/bcd_travel_api/models/card_detail.rb +104 -0
  69. data/lib/bcd_travel_api/models/carsbookcardrequest.rb +310 -0
  70. data/lib/bcd_travel_api/models/carsbookguaranteerequest.rb +236 -0
  71. data/lib/bcd_travel_api/models/carsbookvoucherrequest.rb +266 -0
  72. data/lib/bcd_travel_api/models/carscancel_reservation_request1.rb +163 -0
  73. data/lib/bcd_travel_api/models/carsdirect_sell_bookcardrequest.rb +362 -0
  74. data/lib/bcd_travel_api/models/carsdirect_sell_bookno_paymentrequest.rb +307 -0
  75. data/lib/bcd_travel_api/models/carsmodify_reservation_request.rb +215 -0
  76. data/lib/bcd_travel_api/models/carsretrieve_reservations_list_request.rb +172 -0
  77. data/lib/bcd_travel_api/models/client_reportable_datum.rb +82 -0
  78. data/lib/bcd_travel_api/models/content_type.rb +26 -0
  79. data/lib/bcd_travel_api/models/cruise_ferry.rb +91 -0
  80. data/lib/bcd_travel_api/models/departure_location.rb +82 -0
  81. data/lib/bcd_travel_api/models/document.rb +150 -0
  82. data/lib/bcd_travel_api/models/drop_off_location.rb +122 -0
  83. data/lib/bcd_travel_api/models/drop_off_location1.rb +118 -0
  84. data/lib/bcd_travel_api/models/drop_off_location16.rb +83 -0
  85. data/lib/bcd_travel_api/models/drop_off_location2.rb +82 -0
  86. data/lib/bcd_travel_api/models/end_location_address.rb +109 -0
  87. data/lib/bcd_travel_api/models/fare.rb +117 -0
  88. data/lib/bcd_travel_api/models/fare2.rb +119 -0
  89. data/lib/bcd_travel_api/models/fare3.rb +119 -0
  90. data/lib/bcd_travel_api/models/fare5.rb +91 -0
  91. data/lib/bcd_travel_api/models/ff_number.rb +82 -0
  92. data/lib/bcd_travel_api/models/filter.rb +185 -0
  93. data/lib/bcd_travel_api/models/filter1.rb +74 -0
  94. data/lib/bcd_travel_api/models/filter10.rb +74 -0
  95. data/lib/bcd_travel_api/models/filter11.rb +75 -0
  96. data/lib/bcd_travel_api/models/filter12.rb +75 -0
  97. data/lib/bcd_travel_api/models/filter13.rb +74 -0
  98. data/lib/bcd_travel_api/models/filter14.rb +75 -0
  99. data/lib/bcd_travel_api/models/filter15.rb +75 -0
  100. data/lib/bcd_travel_api/models/filter2.rb +74 -0
  101. data/lib/bcd_travel_api/models/filter3.rb +74 -0
  102. data/lib/bcd_travel_api/models/filter4.rb +75 -0
  103. data/lib/bcd_travel_api/models/filter6.rb +75 -0
  104. data/lib/bcd_travel_api/models/filter8.rb +75 -0
  105. data/lib/bcd_travel_api/models/generate_oauth_20_token.rb +91 -0
  106. data/lib/bcd_travel_api/models/get_configurations_post_request.rb +193 -0
  107. data/lib/bcd_travel_api/models/get_versionsbytrip_id.rb +99 -0
  108. data/lib/bcd_travel_api/models/guest.rb +82 -0
  109. data/lib/bcd_travel_api/models/hotel.rb +91 -0
  110. data/lib/bcd_travel_api/models/hotel1.rb +91 -0
  111. data/lib/bcd_travel_api/models/hotel16.rb +83 -0
  112. data/lib/bcd_travel_api/models/hotel2.rb +91 -0
  113. data/lib/bcd_travel_api/models/hotelsbookrequest.rb +418 -0
  114. data/lib/bcd_travel_api/models/hotelsbookrequest1.rb +445 -0
  115. data/lib/bcd_travel_api/models/hotelscancel_reservation_request.rb +153 -0
  116. data/lib/bcd_travel_api/models/hotelsrebookrequest.rb +214 -0
  117. data/lib/bcd_travel_api/models/hotelsrebookrequest1.rb +231 -0
  118. data/lib/bcd_travel_api/models/hotelsupdate_reservation_details_request.rb +153 -0
  119. data/lib/bcd_travel_api/models/hotelsupdate_reservation_details_request1.rb +164 -0
  120. data/lib/bcd_travel_api/models/leg.rb +166 -0
  121. data/lib/bcd_travel_api/models/leg1.rb +168 -0
  122. data/lib/bcd_travel_api/models/leg2.rb +156 -0
  123. data/lib/bcd_travel_api/models/leg3.rb +160 -0
  124. data/lib/bcd_travel_api/models/leg33.rb +164 -0
  125. data/lib/bcd_travel_api/models/leg34.rb +143 -0
  126. data/lib/bcd_travel_api/models/leg4.rb +154 -0
  127. data/lib/bcd_travel_api/models/leg6.rb +143 -0
  128. data/lib/bcd_travel_api/models/line_item.rb +109 -0
  129. data/lib/bcd_travel_api/models/line_item1.rb +119 -0
  130. data/lib/bcd_travel_api/models/location.rb +73 -0
  131. data/lib/bcd_travel_api/models/location16.rb +73 -0
  132. data/lib/bcd_travel_api/models/misc.rb +91 -0
  133. data/lib/bcd_travel_api/models/misc10.rb +83 -0
  134. data/lib/bcd_travel_api/models/options.rb +84 -0
  135. data/lib/bcd_travel_api/models/origin_destination.rb +134 -0
  136. data/lib/bcd_travel_api/models/origin_destination1.rb +108 -0
  137. data/lib/bcd_travel_api/models/passenger.rb +104 -0
  138. data/lib/bcd_travel_api/models/passport.rb +102 -0
  139. data/lib/bcd_travel_api/models/payment.rb +137 -0
  140. data/lib/bcd_travel_api/models/payment1.rb +141 -0
  141. data/lib/bcd_travel_api/models/payment2.rb +121 -0
  142. data/lib/bcd_travel_api/models/payment3.rb +111 -0
  143. data/lib/bcd_travel_api/models/pickup_location.rb +122 -0
  144. data/lib/bcd_travel_api/models/pickup_location1.rb +118 -0
  145. data/lib/bcd_travel_api/models/pickup_location16.rb +83 -0
  146. data/lib/bcd_travel_api/models/pickup_location2.rb +82 -0
  147. data/lib/bcd_travel_api/models/ping_getresponse.rb +72 -0
  148. data/lib/bcd_travel_api/models/pingrequest.rb +126 -0
  149. data/lib/bcd_travel_api/models/pingrequest2.rb +146 -0
  150. data/lib/bcd_travel_api/models/products.rb +129 -0
  151. data/lib/bcd_travel_api/models/products1.rb +117 -0
  152. data/lib/bcd_travel_api/models/products16.rb +111 -0
  153. data/lib/bcd_travel_api/models/products2.rb +107 -0
  154. data/lib/bcd_travel_api/models/rail.rb +91 -0
  155. data/lib/bcd_travel_api/models/rail1.rb +91 -0
  156. data/lib/bcd_travel_api/models/rail16.rb +82 -0
  157. data/lib/bcd_travel_api/models/rail2.rb +91 -0
  158. data/lib/bcd_travel_api/models/reservation.rb +223 -0
  159. data/lib/bcd_travel_api/models/reservation1.rb +239 -0
  160. data/lib/bcd_travel_api/models/reservation2.rb +170 -0
  161. data/lib/bcd_travel_api/models/reservation3.rb +193 -0
  162. data/lib/bcd_travel_api/models/reservation4.rb +201 -0
  163. data/lib/bcd_travel_api/models/reservation56.rb +220 -0
  164. data/lib/bcd_travel_api/models/reservation57.rb +219 -0
  165. data/lib/bcd_travel_api/models/reservation6.rb +240 -0
  166. data/lib/bcd_travel_api/models/reservation8.rb +220 -0
  167. data/lib/bcd_travel_api/models/reservation9.rb +239 -0
  168. data/lib/bcd_travel_api/models/result.rb +299 -0
  169. data/lib/bcd_travel_api/models/result1.rb +267 -0
  170. data/lib/bcd_travel_api/models/result16.rb +295 -0
  171. data/lib/bcd_travel_api/models/result2.rb +295 -0
  172. data/lib/bcd_travel_api/models/search_expenses.rb +111 -0
  173. data/lib/bcd_travel_api/models/search_expenses_request.rb +99 -0
  174. data/lib/bcd_travel_api/models/search_expensesbyaccount_id.rb +111 -0
  175. data/lib/bcd_travel_api/models/search_expensesbyaccount_id_request.rb +90 -0
  176. data/lib/bcd_travel_api/models/search_expensesbybooking_date_time.rb +111 -0
  177. data/lib/bcd_travel_api/models/search_expensesbybooking_date_time_request.rb +90 -0
  178. data/lib/bcd_travel_api/models/search_expensesbybooking_date_timerange.rb +111 -0
  179. data/lib/bcd_travel_api/models/search_expensesbybooking_date_timerange_request.rb +90 -0
  180. data/lib/bcd_travel_api/models/search_expensesbycalculated_ticket_status.rb +111 -0
  181. data/lib/bcd_travel_api/models/search_expensesbycalculated_ticket_status_request.rb +90 -0
  182. data/lib/bcd_travel_api/models/search_expensesbycustomer_number.rb +111 -0
  183. data/lib/bcd_travel_api/models/search_expensesbycustomer_number_request.rb +90 -0
  184. data/lib/bcd_travel_api/models/search_expensesbyglobal_customer_number.rb +111 -0
  185. data/lib/bcd_travel_api/models/search_expensesbyglobal_customer_number_request.rb +90 -0
  186. data/lib/bcd_travel_api/models/search_expensesbyhas_transaction.rb +111 -0
  187. data/lib/bcd_travel_api/models/search_expensesbyhas_transaction_request.rb +90 -0
  188. data/lib/bcd_travel_api/models/search_expensesbyinvoice_date_time.rb +111 -0
  189. data/lib/bcd_travel_api/models/search_expensesbyinvoice_date_time_request.rb +90 -0
  190. data/lib/bcd_travel_api/models/search_expensesbyinvoice_date_timerange.rb +111 -0
  191. data/lib/bcd_travel_api/models/search_expensesbyinvoice_date_timerange_request.rb +90 -0
  192. data/lib/bcd_travel_api/models/search_expensesbyinvoice_number.rb +111 -0
  193. data/lib/bcd_travel_api/models/search_expensesbyinvoice_number_request.rb +90 -0
  194. data/lib/bcd_travel_api/models/search_expensesbylast_modified_date_time.rb +111 -0
  195. data/lib/bcd_travel_api/models/search_expensesbylast_modified_date_time_request.rb +90 -0
  196. data/lib/bcd_travel_api/models/search_expensesbylast_modified_date_timerange.rb +111 -0
  197. data/lib/bcd_travel_api/models/search_expensesbylast_modified_date_timerange_request.rb +90 -0
  198. data/lib/bcd_travel_api/models/search_expensesbyrecord_locator.rb +111 -0
  199. data/lib/bcd_travel_api/models/search_expensesbyrecord_locator_request.rb +90 -0
  200. data/lib/bcd_travel_api/models/search_expensesbyticket_status.rb +111 -0
  201. data/lib/bcd_travel_api/models/search_expensesbyticket_status_request.rb +90 -0
  202. data/lib/bcd_travel_api/models/search_expensesbytraveler_email.rb +111 -0
  203. data/lib/bcd_travel_api/models/search_expensesbytraveler_email_request.rb +90 -0
  204. data/lib/bcd_travel_api/models/segment_option.rb +85 -0
  205. data/lib/bcd_travel_api/models/seller.rb +83 -0
  206. data/lib/bcd_travel_api/models/seller16.rb +72 -0
  207. data/lib/bcd_travel_api/models/sort.rb +86 -0
  208. data/lib/bcd_travel_api/models/specific_flight.rb +82 -0
  209. data/lib/bcd_travel_api/models/start_location_address.rb +109 -0
  210. data/lib/bcd_travel_api/models/taxis.rb +145 -0
  211. data/lib/bcd_travel_api/models/taxis1.rb +132 -0
  212. data/lib/bcd_travel_api/models/taxis3.rb +143 -0
  213. data/lib/bcd_travel_api/models/taxis4.rb +130 -0
  214. data/lib/bcd_travel_api/models/ticket.rb +334 -0
  215. data/lib/bcd_travel_api/models/ticket1.rb +156 -0
  216. data/lib/bcd_travel_api/models/ticket2.rb +244 -0
  217. data/lib/bcd_travel_api/models/ticket3.rb +156 -0
  218. data/lib/bcd_travel_api/models/ticket32.rb +337 -0
  219. data/lib/bcd_travel_api/models/ticket33.rb +156 -0
  220. data/lib/bcd_travel_api/models/ticket4.rb +337 -0
  221. data/lib/bcd_travel_api/models/ticket5.rb +156 -0
  222. data/lib/bcd_travel_api/models/time_restriction.rb +90 -0
  223. data/lib/bcd_travel_api/models/tour.rb +91 -0
  224. data/lib/bcd_travel_api/models/traveler.rb +91 -0
  225. data/lib/bcd_travel_api/models/traveler1.rb +110 -0
  226. data/lib/bcd_travel_api/models/traveler3.rb +91 -0
  227. data/lib/bcd_travel_api/models/traveler4.rb +120 -0
  228. data/lib/bcd_travel_api/models/traveler_name.rb +82 -0
  229. data/lib/bcd_travel_api/utilities/date_time_helper.rb +11 -0
  230. data/lib/bcd_travel_api/utilities/file_wrapper.rb +28 -0
  231. data/lib/bcd_travel_api/utilities/union_type_lookup.rb +128 -0
  232. data/lib/bcd_travel_api.rb +270 -0
  233. metadata +316 -0
@@ -0,0 +1,91 @@
1
+ # bcd_travel_api
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module BcdTravelApi
7
+ # Hotel2 Model.
8
+ class Hotel2 < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :id
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [Array[Reservation9]]
18
+ attr_accessor :reservations
19
+
20
+ # A mapping from model property names to API property names.
21
+ def self.names
22
+ @_hash = {} if @_hash.nil?
23
+ @_hash['id'] = 'id'
24
+ @_hash['reservations'] = 'reservations'
25
+ @_hash
26
+ end
27
+
28
+ # An array for optional fields
29
+ def self.optionals
30
+ []
31
+ end
32
+
33
+ # An array for nullable fields
34
+ def self.nullables
35
+ []
36
+ end
37
+
38
+ def initialize(id:, reservations:, additional_properties: nil)
39
+ # Add additional model properties to the instance
40
+ additional_properties = {} if additional_properties.nil?
41
+
42
+ @id = id
43
+ @reservations = reservations
44
+ @additional_properties = additional_properties
45
+ end
46
+
47
+ # Creates an instance of the object from a hash.
48
+ def self.from_hash(hash)
49
+ return nil unless hash
50
+
51
+ # Extract variables from the hash.
52
+ id = hash.key?('id') ? hash['id'] : nil
53
+ # Parameter is an array, so we need to iterate through it
54
+ reservations = nil
55
+ unless hash['reservations'].nil?
56
+ reservations = []
57
+ hash['reservations'].each do |structure|
58
+ reservations << (Reservation9.from_hash(structure) if structure)
59
+ end
60
+ end
61
+
62
+ reservations = nil unless hash.key?('reservations')
63
+
64
+ # Create a new hash for additional properties, removing known properties.
65
+ new_hash = hash.reject { |k, _| names.value?(k) }
66
+
67
+ additional_properties = APIHelper.get_additional_properties(
68
+ new_hash, proc { |value| value }
69
+ )
70
+
71
+ # Create object from extracted values.
72
+ Hotel2.new(id: id,
73
+ reservations: reservations,
74
+ additional_properties: additional_properties)
75
+ end
76
+
77
+ # Provides a human-readable string representation of the object.
78
+ def to_s
79
+ class_name = self.class.name.split('::').last
80
+ "<#{class_name} id: #{@id}, reservations: #{@reservations}, additional_properties:"\
81
+ " #{@additional_properties}>"
82
+ end
83
+
84
+ # Provides a debugging-friendly string with detailed object information.
85
+ def inspect
86
+ class_name = self.class.name.split('::').last
87
+ "<#{class_name} id: #{@id.inspect}, reservations: #{@reservations.inspect},"\
88
+ " additional_properties: #{@additional_properties}>"
89
+ end
90
+ end
91
+ end
@@ -0,0 +1,418 @@
1
+ # bcd_travel_api
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module BcdTravelApi
7
+ # Hotelsbookrequest Model.
8
+ class Hotelsbookrequest < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :api_key
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [String]
18
+ attr_accessor :timestamp
19
+
20
+ # TODO: Write general description for this method
21
+ # @return [String]
22
+ attr_accessor :nonce
23
+
24
+ # TODO: Write general description for this method
25
+ # @return [String]
26
+ attr_accessor :locale
27
+
28
+ # TODO: Write general description for this method
29
+ # @return [String]
30
+ attr_accessor :customer_ip
31
+
32
+ # TODO: Write general description for this method
33
+ # @return [String]
34
+ attr_accessor :session_id
35
+
36
+ # TODO: Write general description for this method
37
+ # @return [String]
38
+ attr_accessor :user_agent
39
+
40
+ # TODO: Write general description for this method
41
+ # @return [Integer]
42
+ attr_accessor :configuration_id
43
+
44
+ # TODO: Write general description for this method
45
+ # @return [String]
46
+ attr_accessor :system
47
+
48
+ # TODO: Write general description for this method
49
+ # @return [String]
50
+ attr_accessor :booktrack_id
51
+
52
+ # TODO: Write general description for this method
53
+ # @return [Integer]
54
+ attr_accessor :guest_count
55
+
56
+ # TODO: Write general description for this method
57
+ # @return [Integer]
58
+ attr_accessor :hotel_id
59
+
60
+ # TODO: Write general description for this method
61
+ # @return [String]
62
+ attr_accessor :original_currency
63
+
64
+ # TODO: Write general description for this method
65
+ # @return [Float]
66
+ attr_accessor :original_total
67
+
68
+ # TODO: Write general description for this method
69
+ # @return [String]
70
+ attr_accessor :rate_key
71
+
72
+ # TODO: Write general description for this method
73
+ # @return [String]
74
+ attr_accessor :booker_email
75
+
76
+ # TODO: Write general description for this method
77
+ # @return [String]
78
+ attr_accessor :booker_first_name
79
+
80
+ # TODO: Write general description for this method
81
+ # @return [String]
82
+ attr_accessor :booker_last_name
83
+
84
+ # TODO: Write general description for this method
85
+ # @return [String]
86
+ attr_accessor :traveler_email
87
+
88
+ # TODO: Write general description for this method
89
+ # @return [String]
90
+ attr_accessor :traveler_first_name
91
+
92
+ # TODO: Write general description for this method
93
+ # @return [String]
94
+ attr_accessor :traveler_last_name
95
+
96
+ # TODO: Write general description for this method
97
+ # @return [String]
98
+ attr_accessor :payment_method
99
+
100
+ # TODO: Write general description for this method
101
+ # @return [String]
102
+ attr_accessor :loyalty_card_chain_code
103
+
104
+ # TODO: Write general description for this method
105
+ # @return [String]
106
+ attr_accessor :loyalty_card_number
107
+
108
+ # TODO: Write general description for this method
109
+ # @return [String]
110
+ attr_accessor :credit_card_number
111
+
112
+ # TODO: Write general description for this method
113
+ # @return [String]
114
+ attr_accessor :credit_card_expiration_year
115
+
116
+ # TODO: Write general description for this method
117
+ # @return [String]
118
+ attr_accessor :credit_card_expiration_month
119
+
120
+ # TODO: Write general description for this method
121
+ # @return [String]
122
+ attr_accessor :credit_card_first_name
123
+
124
+ # TODO: Write general description for this method
125
+ # @return [String]
126
+ attr_accessor :credit_card_last_name
127
+
128
+ # TODO: Write general description for this method
129
+ # @return [String]
130
+ attr_accessor :credit_card_address
131
+
132
+ # TODO: Write general description for this method
133
+ # @return [String]
134
+ attr_accessor :credit_card_country_code
135
+
136
+ # TODO: Write general description for this method
137
+ # @return [String]
138
+ attr_accessor :credit_card_city
139
+
140
+ # TODO: Write general description for this method
141
+ # @return [String]
142
+ attr_accessor :credit_card_state_province_code
143
+
144
+ # TODO: Write general description for this method
145
+ # @return [String]
146
+ attr_accessor :credit_card_postal_code
147
+
148
+ # TODO: Write general description for this method
149
+ # @return [String]
150
+ attr_accessor :credit_card_phone
151
+
152
+ # A mapping from model property names to API property names.
153
+ def self.names
154
+ @_hash = {} if @_hash.nil?
155
+ @_hash['api_key'] = 'api_key'
156
+ @_hash['timestamp'] = 'timestamp'
157
+ @_hash['nonce'] = 'nonce'
158
+ @_hash['locale'] = 'locale'
159
+ @_hash['customer_ip'] = 'customer_ip'
160
+ @_hash['session_id'] = 'session_id'
161
+ @_hash['user_agent'] = 'user_agent'
162
+ @_hash['configuration_id'] = 'configuration_id'
163
+ @_hash['system'] = 'system'
164
+ @_hash['booktrack_id'] = 'booktrack_id'
165
+ @_hash['guest_count'] = 'guest_count'
166
+ @_hash['hotel_id'] = 'hotel_id'
167
+ @_hash['original_currency'] = 'original_currency'
168
+ @_hash['original_total'] = 'original_total'
169
+ @_hash['rate_key'] = 'rate_key'
170
+ @_hash['booker_email'] = 'booker_email'
171
+ @_hash['booker_first_name'] = 'booker_first_name'
172
+ @_hash['booker_last_name'] = 'booker_last_name'
173
+ @_hash['traveler_email'] = 'traveler_email'
174
+ @_hash['traveler_first_name'] = 'traveler_first_name'
175
+ @_hash['traveler_last_name'] = 'traveler_last_name'
176
+ @_hash['payment_method'] = 'payment_method'
177
+ @_hash['loyalty_card_chain_code'] = 'loyalty_card_chain_code'
178
+ @_hash['loyalty_card_number'] = 'loyalty_card_number'
179
+ @_hash['credit_card_number'] = 'credit_card_number'
180
+ @_hash['credit_card_expiration_year'] = 'credit_card_expiration_year'
181
+ @_hash['credit_card_expiration_month'] = 'credit_card_expiration_month'
182
+ @_hash['credit_card_first_name'] = 'credit_card_first_name'
183
+ @_hash['credit_card_last_name'] = 'credit_card_last_name'
184
+ @_hash['credit_card_address'] = 'credit_card_address'
185
+ @_hash['credit_card_country_code'] = 'credit_card_country_code'
186
+ @_hash['credit_card_city'] = 'credit_card_city'
187
+ @_hash['credit_card_state_province_code'] =
188
+ 'credit_card_state_province_code'
189
+ @_hash['credit_card_postal_code'] = 'credit_card_postal_code'
190
+ @_hash['credit_card_phone'] = 'credit_card_phone'
191
+ @_hash
192
+ end
193
+
194
+ # An array for optional fields
195
+ def self.optionals
196
+ []
197
+ end
198
+
199
+ # An array for nullable fields
200
+ def self.nullables
201
+ []
202
+ end
203
+
204
+ def initialize(api_key:, timestamp:, nonce:, locale:, customer_ip:,
205
+ session_id:, user_agent:, configuration_id:, system:,
206
+ booktrack_id:, guest_count:, hotel_id:, original_currency:,
207
+ original_total:, rate_key:, booker_email:,
208
+ booker_first_name:, booker_last_name:, traveler_email:,
209
+ traveler_first_name:, traveler_last_name:, payment_method:,
210
+ loyalty_card_chain_code:, loyalty_card_number:,
211
+ credit_card_number:, credit_card_expiration_year:,
212
+ credit_card_expiration_month:, credit_card_first_name:,
213
+ credit_card_last_name:, credit_card_address:,
214
+ credit_card_country_code:, credit_card_city:,
215
+ credit_card_state_province_code:, credit_card_postal_code:,
216
+ credit_card_phone:, additional_properties: nil)
217
+ # Add additional model properties to the instance
218
+ additional_properties = {} if additional_properties.nil?
219
+
220
+ @api_key = api_key
221
+ @timestamp = timestamp
222
+ @nonce = nonce
223
+ @locale = locale
224
+ @customer_ip = customer_ip
225
+ @session_id = session_id
226
+ @user_agent = user_agent
227
+ @configuration_id = configuration_id
228
+ @system = system
229
+ @booktrack_id = booktrack_id
230
+ @guest_count = guest_count
231
+ @hotel_id = hotel_id
232
+ @original_currency = original_currency
233
+ @original_total = original_total
234
+ @rate_key = rate_key
235
+ @booker_email = booker_email
236
+ @booker_first_name = booker_first_name
237
+ @booker_last_name = booker_last_name
238
+ @traveler_email = traveler_email
239
+ @traveler_first_name = traveler_first_name
240
+ @traveler_last_name = traveler_last_name
241
+ @payment_method = payment_method
242
+ @loyalty_card_chain_code = loyalty_card_chain_code
243
+ @loyalty_card_number = loyalty_card_number
244
+ @credit_card_number = credit_card_number
245
+ @credit_card_expiration_year = credit_card_expiration_year
246
+ @credit_card_expiration_month = credit_card_expiration_month
247
+ @credit_card_first_name = credit_card_first_name
248
+ @credit_card_last_name = credit_card_last_name
249
+ @credit_card_address = credit_card_address
250
+ @credit_card_country_code = credit_card_country_code
251
+ @credit_card_city = credit_card_city
252
+ @credit_card_state_province_code = credit_card_state_province_code
253
+ @credit_card_postal_code = credit_card_postal_code
254
+ @credit_card_phone = credit_card_phone
255
+ @additional_properties = additional_properties
256
+ end
257
+
258
+ # Creates an instance of the object from a hash.
259
+ def self.from_hash(hash)
260
+ return nil unless hash
261
+
262
+ # Extract variables from the hash.
263
+ api_key = hash.key?('api_key') ? hash['api_key'] : nil
264
+ timestamp = hash.key?('timestamp') ? hash['timestamp'] : nil
265
+ nonce = hash.key?('nonce') ? hash['nonce'] : nil
266
+ locale = hash.key?('locale') ? hash['locale'] : nil
267
+ customer_ip = hash.key?('customer_ip') ? hash['customer_ip'] : nil
268
+ session_id = hash.key?('session_id') ? hash['session_id'] : nil
269
+ user_agent = hash.key?('user_agent') ? hash['user_agent'] : nil
270
+ configuration_id =
271
+ hash.key?('configuration_id') ? hash['configuration_id'] : nil
272
+ system = hash.key?('system') ? hash['system'] : nil
273
+ booktrack_id = hash.key?('booktrack_id') ? hash['booktrack_id'] : nil
274
+ guest_count = hash.key?('guest_count') ? hash['guest_count'] : nil
275
+ hotel_id = hash.key?('hotel_id') ? hash['hotel_id'] : nil
276
+ original_currency =
277
+ hash.key?('original_currency') ? hash['original_currency'] : nil
278
+ original_total =
279
+ hash.key?('original_total') ? hash['original_total'] : nil
280
+ rate_key = hash.key?('rate_key') ? hash['rate_key'] : nil
281
+ booker_email = hash.key?('booker_email') ? hash['booker_email'] : nil
282
+ booker_first_name =
283
+ hash.key?('booker_first_name') ? hash['booker_first_name'] : nil
284
+ booker_last_name =
285
+ hash.key?('booker_last_name') ? hash['booker_last_name'] : nil
286
+ traveler_email =
287
+ hash.key?('traveler_email') ? hash['traveler_email'] : nil
288
+ traveler_first_name =
289
+ hash.key?('traveler_first_name') ? hash['traveler_first_name'] : nil
290
+ traveler_last_name =
291
+ hash.key?('traveler_last_name') ? hash['traveler_last_name'] : nil
292
+ payment_method =
293
+ hash.key?('payment_method') ? hash['payment_method'] : nil
294
+ loyalty_card_chain_code =
295
+ hash.key?('loyalty_card_chain_code') ? hash['loyalty_card_chain_code'] : nil
296
+ loyalty_card_number =
297
+ hash.key?('loyalty_card_number') ? hash['loyalty_card_number'] : nil
298
+ credit_card_number =
299
+ hash.key?('credit_card_number') ? hash['credit_card_number'] : nil
300
+ credit_card_expiration_year =
301
+ hash.key?('credit_card_expiration_year') ? hash['credit_card_expiration_year'] : nil
302
+ credit_card_expiration_month =
303
+ hash.key?('credit_card_expiration_month') ? hash['credit_card_expiration_month'] : nil
304
+ credit_card_first_name =
305
+ hash.key?('credit_card_first_name') ? hash['credit_card_first_name'] : nil
306
+ credit_card_last_name =
307
+ hash.key?('credit_card_last_name') ? hash['credit_card_last_name'] : nil
308
+ credit_card_address =
309
+ hash.key?('credit_card_address') ? hash['credit_card_address'] : nil
310
+ credit_card_country_code =
311
+ hash.key?('credit_card_country_code') ? hash['credit_card_country_code'] : nil
312
+ credit_card_city =
313
+ hash.key?('credit_card_city') ? hash['credit_card_city'] : nil
314
+ credit_card_state_province_code =
315
+ hash.key?('credit_card_state_province_code') ? hash['credit_card_state_province_code'] : nil
316
+ credit_card_postal_code =
317
+ hash.key?('credit_card_postal_code') ? hash['credit_card_postal_code'] : nil
318
+ credit_card_phone =
319
+ hash.key?('credit_card_phone') ? hash['credit_card_phone'] : nil
320
+
321
+ # Create a new hash for additional properties, removing known properties.
322
+ new_hash = hash.reject { |k, _| names.value?(k) }
323
+
324
+ additional_properties = APIHelper.get_additional_properties(
325
+ new_hash, proc { |value| value }
326
+ )
327
+
328
+ # Create object from extracted values.
329
+ Hotelsbookrequest.new(api_key: api_key,
330
+ timestamp: timestamp,
331
+ nonce: nonce,
332
+ locale: locale,
333
+ customer_ip: customer_ip,
334
+ session_id: session_id,
335
+ user_agent: user_agent,
336
+ configuration_id: configuration_id,
337
+ system: system,
338
+ booktrack_id: booktrack_id,
339
+ guest_count: guest_count,
340
+ hotel_id: hotel_id,
341
+ original_currency: original_currency,
342
+ original_total: original_total,
343
+ rate_key: rate_key,
344
+ booker_email: booker_email,
345
+ booker_first_name: booker_first_name,
346
+ booker_last_name: booker_last_name,
347
+ traveler_email: traveler_email,
348
+ traveler_first_name: traveler_first_name,
349
+ traveler_last_name: traveler_last_name,
350
+ payment_method: payment_method,
351
+ loyalty_card_chain_code: loyalty_card_chain_code,
352
+ loyalty_card_number: loyalty_card_number,
353
+ credit_card_number: credit_card_number,
354
+ credit_card_expiration_year: credit_card_expiration_year,
355
+ credit_card_expiration_month: credit_card_expiration_month,
356
+ credit_card_first_name: credit_card_first_name,
357
+ credit_card_last_name: credit_card_last_name,
358
+ credit_card_address: credit_card_address,
359
+ credit_card_country_code: credit_card_country_code,
360
+ credit_card_city: credit_card_city,
361
+ credit_card_state_province_code: credit_card_state_province_code,
362
+ credit_card_postal_code: credit_card_postal_code,
363
+ credit_card_phone: credit_card_phone,
364
+ additional_properties: additional_properties)
365
+ end
366
+
367
+ # Provides a human-readable string representation of the object.
368
+ def to_s
369
+ class_name = self.class.name.split('::').last
370
+ "<#{class_name} api_key: #{@api_key}, timestamp: #{@timestamp}, nonce: #{@nonce}, locale:"\
371
+ " #{@locale}, customer_ip: #{@customer_ip}, session_id: #{@session_id}, user_agent:"\
372
+ " #{@user_agent}, configuration_id: #{@configuration_id}, system: #{@system}, booktrack_id:"\
373
+ " #{@booktrack_id}, guest_count: #{@guest_count}, hotel_id: #{@hotel_id}, original_currency:"\
374
+ " #{@original_currency}, original_total: #{@original_total}, rate_key: #{@rate_key},"\
375
+ " booker_email: #{@booker_email}, booker_first_name: #{@booker_first_name},"\
376
+ " booker_last_name: #{@booker_last_name}, traveler_email: #{@traveler_email},"\
377
+ " traveler_first_name: #{@traveler_first_name}, traveler_last_name: #{@traveler_last_name},"\
378
+ " payment_method: #{@payment_method}, loyalty_card_chain_code: #{@loyalty_card_chain_code},"\
379
+ " loyalty_card_number: #{@loyalty_card_number}, credit_card_number: #{@credit_card_number},"\
380
+ " credit_card_expiration_year: #{@credit_card_expiration_year},"\
381
+ " credit_card_expiration_month: #{@credit_card_expiration_month}, credit_card_first_name:"\
382
+ " #{@credit_card_first_name}, credit_card_last_name: #{@credit_card_last_name},"\
383
+ " credit_card_address: #{@credit_card_address}, credit_card_country_code:"\
384
+ " #{@credit_card_country_code}, credit_card_city: #{@credit_card_city},"\
385
+ " credit_card_state_province_code: #{@credit_card_state_province_code},"\
386
+ " credit_card_postal_code: #{@credit_card_postal_code}, credit_card_phone:"\
387
+ " #{@credit_card_phone}, additional_properties: #{@additional_properties}>"
388
+ end
389
+
390
+ # Provides a debugging-friendly string with detailed object information.
391
+ def inspect
392
+ class_name = self.class.name.split('::').last
393
+ "<#{class_name} api_key: #{@api_key.inspect}, timestamp: #{@timestamp.inspect}, nonce:"\
394
+ " #{@nonce.inspect}, locale: #{@locale.inspect}, customer_ip: #{@customer_ip.inspect},"\
395
+ " session_id: #{@session_id.inspect}, user_agent: #{@user_agent.inspect}, configuration_id:"\
396
+ " #{@configuration_id.inspect}, system: #{@system.inspect}, booktrack_id:"\
397
+ " #{@booktrack_id.inspect}, guest_count: #{@guest_count.inspect}, hotel_id:"\
398
+ " #{@hotel_id.inspect}, original_currency: #{@original_currency.inspect}, original_total:"\
399
+ " #{@original_total.inspect}, rate_key: #{@rate_key.inspect}, booker_email:"\
400
+ " #{@booker_email.inspect}, booker_first_name: #{@booker_first_name.inspect},"\
401
+ " booker_last_name: #{@booker_last_name.inspect}, traveler_email:"\
402
+ " #{@traveler_email.inspect}, traveler_first_name: #{@traveler_first_name.inspect},"\
403
+ " traveler_last_name: #{@traveler_last_name.inspect}, payment_method:"\
404
+ " #{@payment_method.inspect}, loyalty_card_chain_code: #{@loyalty_card_chain_code.inspect},"\
405
+ " loyalty_card_number: #{@loyalty_card_number.inspect}, credit_card_number:"\
406
+ " #{@credit_card_number.inspect}, credit_card_expiration_year:"\
407
+ " #{@credit_card_expiration_year.inspect}, credit_card_expiration_month:"\
408
+ " #{@credit_card_expiration_month.inspect}, credit_card_first_name:"\
409
+ " #{@credit_card_first_name.inspect}, credit_card_last_name:"\
410
+ " #{@credit_card_last_name.inspect}, credit_card_address: #{@credit_card_address.inspect},"\
411
+ " credit_card_country_code: #{@credit_card_country_code.inspect}, credit_card_city:"\
412
+ " #{@credit_card_city.inspect}, credit_card_state_province_code:"\
413
+ " #{@credit_card_state_province_code.inspect}, credit_card_postal_code:"\
414
+ " #{@credit_card_postal_code.inspect}, credit_card_phone: #{@credit_card_phone.inspect},"\
415
+ " additional_properties: #{@additional_properties}>"
416
+ end
417
+ end
418
+ end