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,239 @@
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
+ # Reservation9 Model.
8
+ class Reservation9 < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [Address5]
14
+ attr_accessor :address
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [String]
18
+ attr_accessor :booking_date_time
19
+
20
+ # TODO: Write general description for this method
21
+ # @return [String]
22
+ attr_accessor :check_in_date_time
23
+
24
+ # TODO: Write general description for this method
25
+ # @return [String]
26
+ attr_accessor :check_out_date_time
27
+
28
+ # TODO: Write general description for this method
29
+ # @return [String]
30
+ attr_accessor :confirmation_number
31
+
32
+ # TODO: Write general description for this method
33
+ # @return [Fare2]
34
+ attr_accessor :fare
35
+
36
+ # TODO: Write general description for this method
37
+ # @return [Array[Guest]]
38
+ attr_accessor :guests
39
+
40
+ # TODO: Write general description for this method
41
+ # @return [Array[String]]
42
+ attr_accessor :line_items
43
+
44
+ # TODO: Write general description for this method
45
+ # @return [Integer]
46
+ attr_accessor :number_of_nights
47
+
48
+ # TODO: Write general description for this method
49
+ # @return [Integer]
50
+ attr_accessor :number_of_rooms
51
+
52
+ # TODO: Write general description for this method
53
+ # @return [String]
54
+ attr_accessor :room_type
55
+
56
+ # TODO: Write general description for this method
57
+ # @return [Integer]
58
+ attr_accessor :segment_number
59
+
60
+ # TODO: Write general description for this method
61
+ # @return [String]
62
+ attr_accessor :vendor_chain_code
63
+
64
+ # TODO: Write general description for this method
65
+ # @return [String]
66
+ attr_accessor :vendor_chain_name
67
+
68
+ # TODO: Write general description for this method
69
+ # @return [String]
70
+ attr_accessor :vendor_code
71
+
72
+ # TODO: Write general description for this method
73
+ # @return [String]
74
+ attr_accessor :vendor_name
75
+
76
+ # TODO: Write general description for this method
77
+ # @return [Fare]
78
+ attr_accessor :base_fare
79
+
80
+ # A mapping from model property names to API property names.
81
+ def self.names
82
+ @_hash = {} if @_hash.nil?
83
+ @_hash['address'] = 'address'
84
+ @_hash['booking_date_time'] = 'bookingDateTime'
85
+ @_hash['check_in_date_time'] = 'checkInDateTime'
86
+ @_hash['check_out_date_time'] = 'checkOutDateTime'
87
+ @_hash['confirmation_number'] = 'confirmationNumber'
88
+ @_hash['fare'] = 'fare'
89
+ @_hash['guests'] = 'guests'
90
+ @_hash['line_items'] = 'lineItems'
91
+ @_hash['number_of_nights'] = 'numberOfNights'
92
+ @_hash['number_of_rooms'] = 'numberOfRooms'
93
+ @_hash['room_type'] = 'roomType'
94
+ @_hash['segment_number'] = 'segmentNumber'
95
+ @_hash['vendor_chain_code'] = 'vendorChainCode'
96
+ @_hash['vendor_chain_name'] = 'vendorChainName'
97
+ @_hash['vendor_code'] = 'vendorCode'
98
+ @_hash['vendor_name'] = 'vendorName'
99
+ @_hash['base_fare'] = 'baseFare'
100
+ @_hash
101
+ end
102
+
103
+ # An array for optional fields
104
+ def self.optionals
105
+ %w[
106
+ base_fare
107
+ ]
108
+ end
109
+
110
+ # An array for nullable fields
111
+ def self.nullables
112
+ []
113
+ end
114
+
115
+ def initialize(address:, booking_date_time:, check_in_date_time:,
116
+ check_out_date_time:, confirmation_number:, fare:, guests:,
117
+ line_items:, number_of_nights:, number_of_rooms:, room_type:,
118
+ segment_number:, vendor_chain_code:, vendor_chain_name:,
119
+ vendor_code:, vendor_name:, base_fare: SKIP,
120
+ additional_properties: nil)
121
+ # Add additional model properties to the instance
122
+ additional_properties = {} if additional_properties.nil?
123
+
124
+ @address = address
125
+ @booking_date_time = booking_date_time
126
+ @check_in_date_time = check_in_date_time
127
+ @check_out_date_time = check_out_date_time
128
+ @confirmation_number = confirmation_number
129
+ @fare = fare
130
+ @guests = guests
131
+ @line_items = line_items
132
+ @number_of_nights = number_of_nights
133
+ @number_of_rooms = number_of_rooms
134
+ @room_type = room_type
135
+ @segment_number = segment_number
136
+ @vendor_chain_code = vendor_chain_code
137
+ @vendor_chain_name = vendor_chain_name
138
+ @vendor_code = vendor_code
139
+ @vendor_name = vendor_name
140
+ @base_fare = base_fare unless base_fare == SKIP
141
+ @additional_properties = additional_properties
142
+ end
143
+
144
+ # Creates an instance of the object from a hash.
145
+ def self.from_hash(hash)
146
+ return nil unless hash
147
+
148
+ # Extract variables from the hash.
149
+ address = Address5.from_hash(hash['address']) if hash['address']
150
+ booking_date_time =
151
+ hash.key?('bookingDateTime') ? hash['bookingDateTime'] : nil
152
+ check_in_date_time =
153
+ hash.key?('checkInDateTime') ? hash['checkInDateTime'] : nil
154
+ check_out_date_time =
155
+ hash.key?('checkOutDateTime') ? hash['checkOutDateTime'] : nil
156
+ confirmation_number =
157
+ hash.key?('confirmationNumber') ? hash['confirmationNumber'] : nil
158
+ fare = Fare2.from_hash(hash['fare']) if hash['fare']
159
+ # Parameter is an array, so we need to iterate through it
160
+ guests = nil
161
+ unless hash['guests'].nil?
162
+ guests = []
163
+ hash['guests'].each do |structure|
164
+ guests << (Guest.from_hash(structure) if structure)
165
+ end
166
+ end
167
+
168
+ guests = nil unless hash.key?('guests')
169
+ line_items = hash.key?('lineItems') ? hash['lineItems'] : nil
170
+ number_of_nights =
171
+ hash.key?('numberOfNights') ? hash['numberOfNights'] : nil
172
+ number_of_rooms = hash.key?('numberOfRooms') ? hash['numberOfRooms'] : nil
173
+ room_type = hash.key?('roomType') ? hash['roomType'] : nil
174
+ segment_number = hash.key?('segmentNumber') ? hash['segmentNumber'] : nil
175
+ vendor_chain_code =
176
+ hash.key?('vendorChainCode') ? hash['vendorChainCode'] : nil
177
+ vendor_chain_name =
178
+ hash.key?('vendorChainName') ? hash['vendorChainName'] : nil
179
+ vendor_code = hash.key?('vendorCode') ? hash['vendorCode'] : nil
180
+ vendor_name = hash.key?('vendorName') ? hash['vendorName'] : nil
181
+ base_fare = Fare.from_hash(hash['baseFare']) if hash['baseFare']
182
+
183
+ # Create a new hash for additional properties, removing known properties.
184
+ new_hash = hash.reject { |k, _| names.value?(k) }
185
+
186
+ additional_properties = APIHelper.get_additional_properties(
187
+ new_hash, proc { |value| value }
188
+ )
189
+
190
+ # Create object from extracted values.
191
+ Reservation9.new(address: address,
192
+ booking_date_time: booking_date_time,
193
+ check_in_date_time: check_in_date_time,
194
+ check_out_date_time: check_out_date_time,
195
+ confirmation_number: confirmation_number,
196
+ fare: fare,
197
+ guests: guests,
198
+ line_items: line_items,
199
+ number_of_nights: number_of_nights,
200
+ number_of_rooms: number_of_rooms,
201
+ room_type: room_type,
202
+ segment_number: segment_number,
203
+ vendor_chain_code: vendor_chain_code,
204
+ vendor_chain_name: vendor_chain_name,
205
+ vendor_code: vendor_code,
206
+ vendor_name: vendor_name,
207
+ base_fare: base_fare,
208
+ additional_properties: additional_properties)
209
+ end
210
+
211
+ # Provides a human-readable string representation of the object.
212
+ def to_s
213
+ class_name = self.class.name.split('::').last
214
+ "<#{class_name} address: #{@address}, booking_date_time: #{@booking_date_time},"\
215
+ " check_in_date_time: #{@check_in_date_time}, check_out_date_time: #{@check_out_date_time},"\
216
+ " confirmation_number: #{@confirmation_number}, fare: #{@fare}, guests: #{@guests},"\
217
+ " line_items: #{@line_items}, number_of_nights: #{@number_of_nights}, number_of_rooms:"\
218
+ " #{@number_of_rooms}, room_type: #{@room_type}, segment_number: #{@segment_number},"\
219
+ " vendor_chain_code: #{@vendor_chain_code}, vendor_chain_name: #{@vendor_chain_name},"\
220
+ " vendor_code: #{@vendor_code}, vendor_name: #{@vendor_name}, base_fare: #{@base_fare},"\
221
+ " additional_properties: #{@additional_properties}>"
222
+ end
223
+
224
+ # Provides a debugging-friendly string with detailed object information.
225
+ def inspect
226
+ class_name = self.class.name.split('::').last
227
+ "<#{class_name} address: #{@address.inspect}, booking_date_time:"\
228
+ " #{@booking_date_time.inspect}, check_in_date_time: #{@check_in_date_time.inspect},"\
229
+ " check_out_date_time: #{@check_out_date_time.inspect}, confirmation_number:"\
230
+ " #{@confirmation_number.inspect}, fare: #{@fare.inspect}, guests: #{@guests.inspect},"\
231
+ " line_items: #{@line_items.inspect}, number_of_nights: #{@number_of_nights.inspect},"\
232
+ " number_of_rooms: #{@number_of_rooms.inspect}, room_type: #{@room_type.inspect},"\
233
+ " segment_number: #{@segment_number.inspect}, vendor_chain_code:"\
234
+ " #{@vendor_chain_code.inspect}, vendor_chain_name: #{@vendor_chain_name.inspect},"\
235
+ " vendor_code: #{@vendor_code.inspect}, vendor_name: #{@vendor_name.inspect}, base_fare:"\
236
+ " #{@base_fare.inspect}, additional_properties: #{@additional_properties}>"
237
+ end
238
+ end
239
+ end
@@ -0,0 +1,299 @@
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
+ # Result Model.
8
+ class Result < 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 [Float]
18
+ attr_accessor :total
19
+
20
+ # TODO: Write general description for this method
21
+ # @return [Float]
22
+ attr_accessor :taxes_total
23
+
24
+ # TODO: Write general description for this method
25
+ # @return [Float]
26
+ attr_accessor :subtotal
27
+
28
+ # TODO: Write general description for this method
29
+ # @return [String]
30
+ attr_accessor :currency_code
31
+
32
+ # TODO: Write general description for this method
33
+ # @return [String]
34
+ attr_accessor :customer_name
35
+
36
+ # TODO: Write general description for this method
37
+ # @return [String]
38
+ attr_accessor :global_customer_number
39
+
40
+ # TODO: Write general description for this method
41
+ # @return [String]
42
+ attr_accessor :account_id
43
+
44
+ # TODO: Write general description for this method
45
+ # @return [String]
46
+ attr_accessor :customer_number
47
+
48
+ # TODO: Write general description for this method
49
+ # @return [TrueClass | FalseClass]
50
+ attr_accessor :is_international
51
+
52
+ # TODO: Write general description for this method
53
+ # @return [String]
54
+ attr_accessor :record_locator
55
+
56
+ # TODO: Write general description for this method
57
+ # @return [String]
58
+ attr_accessor :last_modified_date_time
59
+
60
+ # TODO: Write general description for this method
61
+ # @return [Integer]
62
+ attr_accessor :version
63
+
64
+ # TODO: Write general description for this method
65
+ # @return [Array[String]]
66
+ attr_accessor :approvals
67
+
68
+ # TODO: Write general description for this method
69
+ # @return [Array[Traveler1]]
70
+ attr_accessor :travelers
71
+
72
+ # TODO: Write general description for this method
73
+ # @return [Array[Broker]]
74
+ attr_accessor :brokers
75
+
76
+ # TODO: Write general description for this method
77
+ # @return [Array[Seller]]
78
+ attr_accessor :sellers
79
+
80
+ # TODO: Write general description for this method
81
+ # @return [Array[Payment]]
82
+ attr_accessor :payments
83
+
84
+ # TODO: Write general description for this method
85
+ # @return [Array[Taxis]]
86
+ attr_accessor :taxes
87
+
88
+ # TODO: Write general description for this method
89
+ # @return [Products]
90
+ attr_accessor :products
91
+
92
+ # A mapping from model property names to API property names.
93
+ def self.names
94
+ @_hash = {} if @_hash.nil?
95
+ @_hash['id'] = 'id'
96
+ @_hash['total'] = 'total'
97
+ @_hash['taxes_total'] = 'taxesTotal'
98
+ @_hash['subtotal'] = 'subtotal'
99
+ @_hash['currency_code'] = 'currencyCode'
100
+ @_hash['customer_name'] = 'customerName'
101
+ @_hash['global_customer_number'] = 'globalCustomerNumber'
102
+ @_hash['account_id'] = 'accountId'
103
+ @_hash['customer_number'] = 'customerNumber'
104
+ @_hash['is_international'] = 'isInternational'
105
+ @_hash['record_locator'] = 'recordLocator'
106
+ @_hash['last_modified_date_time'] = 'lastModifiedDateTime'
107
+ @_hash['version'] = 'version'
108
+ @_hash['approvals'] = 'approvals'
109
+ @_hash['travelers'] = 'travelers'
110
+ @_hash['brokers'] = 'brokers'
111
+ @_hash['sellers'] = 'sellers'
112
+ @_hash['payments'] = 'payments'
113
+ @_hash['taxes'] = 'taxes'
114
+ @_hash['products'] = 'products'
115
+ @_hash
116
+ end
117
+
118
+ # An array for optional fields
119
+ def self.optionals
120
+ %w[
121
+ total
122
+ subtotal
123
+ currency_code
124
+ ]
125
+ end
126
+
127
+ # An array for nullable fields
128
+ def self.nullables
129
+ []
130
+ end
131
+
132
+ def initialize(id:, taxes_total:, customer_name:, global_customer_number:,
133
+ account_id:, customer_number:, is_international:,
134
+ record_locator:, last_modified_date_time:, version:,
135
+ approvals:, travelers:, brokers:, sellers:, payments:,
136
+ taxes:, products:, total: SKIP, subtotal: SKIP,
137
+ currency_code: SKIP, additional_properties: nil)
138
+ # Add additional model properties to the instance
139
+ additional_properties = {} if additional_properties.nil?
140
+
141
+ @id = id
142
+ @total = total unless total == SKIP
143
+ @taxes_total = taxes_total
144
+ @subtotal = subtotal unless subtotal == SKIP
145
+ @currency_code = currency_code unless currency_code == SKIP
146
+ @customer_name = customer_name
147
+ @global_customer_number = global_customer_number
148
+ @account_id = account_id
149
+ @customer_number = customer_number
150
+ @is_international = is_international
151
+ @record_locator = record_locator
152
+ @last_modified_date_time = last_modified_date_time
153
+ @version = version
154
+ @approvals = approvals
155
+ @travelers = travelers
156
+ @brokers = brokers
157
+ @sellers = sellers
158
+ @payments = payments
159
+ @taxes = taxes
160
+ @products = products
161
+ @additional_properties = additional_properties
162
+ end
163
+
164
+ # Creates an instance of the object from a hash.
165
+ def self.from_hash(hash)
166
+ return nil unless hash
167
+
168
+ # Extract variables from the hash.
169
+ id = hash.key?('id') ? hash['id'] : nil
170
+ taxes_total = hash.key?('taxesTotal') ? hash['taxesTotal'] : nil
171
+ customer_name = hash.key?('customerName') ? hash['customerName'] : nil
172
+ global_customer_number =
173
+ hash.key?('globalCustomerNumber') ? hash['globalCustomerNumber'] : nil
174
+ account_id = hash.key?('accountId') ? hash['accountId'] : nil
175
+ customer_number =
176
+ hash.key?('customerNumber') ? hash['customerNumber'] : nil
177
+ is_international =
178
+ hash.key?('isInternational') ? hash['isInternational'] : nil
179
+ record_locator = hash.key?('recordLocator') ? hash['recordLocator'] : nil
180
+ last_modified_date_time =
181
+ hash.key?('lastModifiedDateTime') ? hash['lastModifiedDateTime'] : nil
182
+ version = hash.key?('version') ? hash['version'] : nil
183
+ approvals = hash.key?('approvals') ? hash['approvals'] : nil
184
+ # Parameter is an array, so we need to iterate through it
185
+ travelers = nil
186
+ unless hash['travelers'].nil?
187
+ travelers = []
188
+ hash['travelers'].each do |structure|
189
+ travelers << (Traveler1.from_hash(structure) if structure)
190
+ end
191
+ end
192
+
193
+ travelers = nil unless hash.key?('travelers')
194
+ # Parameter is an array, so we need to iterate through it
195
+ brokers = nil
196
+ unless hash['brokers'].nil?
197
+ brokers = []
198
+ hash['brokers'].each do |structure|
199
+ brokers << (Broker.from_hash(structure) if structure)
200
+ end
201
+ end
202
+
203
+ brokers = nil unless hash.key?('brokers')
204
+ # Parameter is an array, so we need to iterate through it
205
+ sellers = nil
206
+ unless hash['sellers'].nil?
207
+ sellers = []
208
+ hash['sellers'].each do |structure|
209
+ sellers << (Seller.from_hash(structure) if structure)
210
+ end
211
+ end
212
+
213
+ sellers = nil unless hash.key?('sellers')
214
+ # Parameter is an array, so we need to iterate through it
215
+ payments = nil
216
+ unless hash['payments'].nil?
217
+ payments = []
218
+ hash['payments'].each do |structure|
219
+ payments << (Payment.from_hash(structure) if structure)
220
+ end
221
+ end
222
+
223
+ payments = nil unless hash.key?('payments')
224
+ # Parameter is an array, so we need to iterate through it
225
+ taxes = nil
226
+ unless hash['taxes'].nil?
227
+ taxes = []
228
+ hash['taxes'].each do |structure|
229
+ taxes << (Taxis.from_hash(structure) if structure)
230
+ end
231
+ end
232
+
233
+ taxes = nil unless hash.key?('taxes')
234
+ products = Products.from_hash(hash['products']) if hash['products']
235
+ total = hash.key?('total') ? hash['total'] : SKIP
236
+ subtotal = hash.key?('subtotal') ? hash['subtotal'] : SKIP
237
+ currency_code = hash.key?('currencyCode') ? hash['currencyCode'] : SKIP
238
+
239
+ # Create a new hash for additional properties, removing known properties.
240
+ new_hash = hash.reject { |k, _| names.value?(k) }
241
+
242
+ additional_properties = APIHelper.get_additional_properties(
243
+ new_hash, proc { |value| value }
244
+ )
245
+
246
+ # Create object from extracted values.
247
+ Result.new(id: id,
248
+ taxes_total: taxes_total,
249
+ customer_name: customer_name,
250
+ global_customer_number: global_customer_number,
251
+ account_id: account_id,
252
+ customer_number: customer_number,
253
+ is_international: is_international,
254
+ record_locator: record_locator,
255
+ last_modified_date_time: last_modified_date_time,
256
+ version: version,
257
+ approvals: approvals,
258
+ travelers: travelers,
259
+ brokers: brokers,
260
+ sellers: sellers,
261
+ payments: payments,
262
+ taxes: taxes,
263
+ products: products,
264
+ total: total,
265
+ subtotal: subtotal,
266
+ currency_code: currency_code,
267
+ additional_properties: additional_properties)
268
+ end
269
+
270
+ # Provides a human-readable string representation of the object.
271
+ def to_s
272
+ class_name = self.class.name.split('::').last
273
+ "<#{class_name} id: #{@id}, total: #{@total}, taxes_total: #{@taxes_total}, subtotal:"\
274
+ " #{@subtotal}, currency_code: #{@currency_code}, customer_name: #{@customer_name},"\
275
+ " global_customer_number: #{@global_customer_number}, account_id: #{@account_id},"\
276
+ " customer_number: #{@customer_number}, is_international: #{@is_international},"\
277
+ " record_locator: #{@record_locator}, last_modified_date_time: #{@last_modified_date_time},"\
278
+ " version: #{@version}, approvals: #{@approvals}, travelers: #{@travelers}, brokers:"\
279
+ " #{@brokers}, sellers: #{@sellers}, payments: #{@payments}, taxes: #{@taxes}, products:"\
280
+ " #{@products}, additional_properties: #{@additional_properties}>"
281
+ end
282
+
283
+ # Provides a debugging-friendly string with detailed object information.
284
+ def inspect
285
+ class_name = self.class.name.split('::').last
286
+ "<#{class_name} id: #{@id.inspect}, total: #{@total.inspect}, taxes_total:"\
287
+ " #{@taxes_total.inspect}, subtotal: #{@subtotal.inspect}, currency_code:"\
288
+ " #{@currency_code.inspect}, customer_name: #{@customer_name.inspect},"\
289
+ " global_customer_number: #{@global_customer_number.inspect}, account_id:"\
290
+ " #{@account_id.inspect}, customer_number: #{@customer_number.inspect}, is_international:"\
291
+ " #{@is_international.inspect}, record_locator: #{@record_locator.inspect},"\
292
+ " last_modified_date_time: #{@last_modified_date_time.inspect}, version:"\
293
+ " #{@version.inspect}, approvals: #{@approvals.inspect}, travelers: #{@travelers.inspect},"\
294
+ " brokers: #{@brokers.inspect}, sellers: #{@sellers.inspect}, payments:"\
295
+ " #{@payments.inspect}, taxes: #{@taxes.inspect}, products: #{@products.inspect},"\
296
+ " additional_properties: #{@additional_properties}>"
297
+ end
298
+ end
299
+ end