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,193 @@
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
+ # Reservation3 Model.
8
+ class Reservation3 < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :booking_date_time
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [String]
18
+ attr_accessor :car_type
19
+
20
+ # TODO: Write general description for this method
21
+ # @return [String]
22
+ attr_accessor :confirmation_number
23
+
24
+ # TODO: Write general description for this method
25
+ # @return [String]
26
+ attr_accessor :end_date_time
27
+
28
+ # TODO: Write general description for this method
29
+ # @return [EndLocationAddress]
30
+ attr_accessor :end_location_address
31
+
32
+ # TODO: Write general description for this method
33
+ # @return [BaseFare]
34
+ attr_accessor :fare
35
+
36
+ # TODO: Write general description for this method
37
+ # @return [TrueClass | FalseClass]
38
+ attr_accessor :is_international
39
+
40
+ # TODO: Write general description for this method
41
+ # @return [Integer]
42
+ attr_accessor :number_of_nights
43
+
44
+ # TODO: Write general description for this method
45
+ # @return [Integer]
46
+ attr_accessor :number_of_rooms
47
+
48
+ # TODO: Write general description for this method
49
+ # @return [Integer]
50
+ attr_accessor :segment_number
51
+
52
+ # TODO: Write general description for this method
53
+ # @return [String]
54
+ attr_accessor :start_date_time
55
+
56
+ # TODO: Write general description for this method
57
+ # @return [EndLocationAddress]
58
+ attr_accessor :start_location_address
59
+
60
+ # TODO: Write general description for this method
61
+ # @return [String]
62
+ attr_accessor :vendor_chain_name
63
+
64
+ # A mapping from model property names to API property names.
65
+ def self.names
66
+ @_hash = {} if @_hash.nil?
67
+ @_hash['booking_date_time'] = 'bookingDateTime'
68
+ @_hash['car_type'] = 'carType'
69
+ @_hash['confirmation_number'] = 'confirmationNumber'
70
+ @_hash['end_date_time'] = 'endDateTime'
71
+ @_hash['end_location_address'] = 'endLocationAddress'
72
+ @_hash['fare'] = 'fare'
73
+ @_hash['is_international'] = 'isInternational'
74
+ @_hash['number_of_nights'] = 'numberOfNights'
75
+ @_hash['number_of_rooms'] = 'numberOfRooms'
76
+ @_hash['segment_number'] = 'segmentNumber'
77
+ @_hash['start_date_time'] = 'startDateTime'
78
+ @_hash['start_location_address'] = 'startLocationAddress'
79
+ @_hash['vendor_chain_name'] = 'vendorChainName'
80
+ @_hash
81
+ end
82
+
83
+ # An array for optional fields
84
+ def self.optionals
85
+ []
86
+ end
87
+
88
+ # An array for nullable fields
89
+ def self.nullables
90
+ []
91
+ end
92
+
93
+ def initialize(booking_date_time:, car_type:, confirmation_number:,
94
+ end_date_time:, end_location_address:, fare:,
95
+ is_international:, number_of_nights:, number_of_rooms:,
96
+ segment_number:, start_date_time:, start_location_address:,
97
+ vendor_chain_name:, additional_properties: nil)
98
+ # Add additional model properties to the instance
99
+ additional_properties = {} if additional_properties.nil?
100
+
101
+ @booking_date_time = booking_date_time
102
+ @car_type = car_type
103
+ @confirmation_number = confirmation_number
104
+ @end_date_time = end_date_time
105
+ @end_location_address = end_location_address
106
+ @fare = fare
107
+ @is_international = is_international
108
+ @number_of_nights = number_of_nights
109
+ @number_of_rooms = number_of_rooms
110
+ @segment_number = segment_number
111
+ @start_date_time = start_date_time
112
+ @start_location_address = start_location_address
113
+ @vendor_chain_name = vendor_chain_name
114
+ @additional_properties = additional_properties
115
+ end
116
+
117
+ # Creates an instance of the object from a hash.
118
+ def self.from_hash(hash)
119
+ return nil unless hash
120
+
121
+ # Extract variables from the hash.
122
+ booking_date_time =
123
+ hash.key?('bookingDateTime') ? hash['bookingDateTime'] : nil
124
+ car_type = hash.key?('carType') ? hash['carType'] : nil
125
+ confirmation_number =
126
+ hash.key?('confirmationNumber') ? hash['confirmationNumber'] : nil
127
+ end_date_time = hash.key?('endDateTime') ? hash['endDateTime'] : nil
128
+ end_location_address = EndLocationAddress.from_hash(hash['endLocationAddress']) if
129
+ hash['endLocationAddress']
130
+ fare = BaseFare.from_hash(hash['fare']) if hash['fare']
131
+ is_international =
132
+ hash.key?('isInternational') ? hash['isInternational'] : nil
133
+ number_of_nights =
134
+ hash.key?('numberOfNights') ? hash['numberOfNights'] : nil
135
+ number_of_rooms = hash.key?('numberOfRooms') ? hash['numberOfRooms'] : nil
136
+ segment_number = hash.key?('segmentNumber') ? hash['segmentNumber'] : nil
137
+ start_date_time = hash.key?('startDateTime') ? hash['startDateTime'] : nil
138
+ start_location_address = EndLocationAddress.from_hash(hash['startLocationAddress']) if
139
+ hash['startLocationAddress']
140
+ vendor_chain_name =
141
+ hash.key?('vendorChainName') ? hash['vendorChainName'] : nil
142
+
143
+ # Create a new hash for additional properties, removing known properties.
144
+ new_hash = hash.reject { |k, _| names.value?(k) }
145
+
146
+ additional_properties = APIHelper.get_additional_properties(
147
+ new_hash, proc { |value| value }
148
+ )
149
+
150
+ # Create object from extracted values.
151
+ Reservation3.new(booking_date_time: booking_date_time,
152
+ car_type: car_type,
153
+ confirmation_number: confirmation_number,
154
+ end_date_time: end_date_time,
155
+ end_location_address: end_location_address,
156
+ fare: fare,
157
+ is_international: is_international,
158
+ number_of_nights: number_of_nights,
159
+ number_of_rooms: number_of_rooms,
160
+ segment_number: segment_number,
161
+ start_date_time: start_date_time,
162
+ start_location_address: start_location_address,
163
+ vendor_chain_name: vendor_chain_name,
164
+ additional_properties: additional_properties)
165
+ end
166
+
167
+ # Provides a human-readable string representation of the object.
168
+ def to_s
169
+ class_name = self.class.name.split('::').last
170
+ "<#{class_name} booking_date_time: #{@booking_date_time}, car_type: #{@car_type},"\
171
+ " confirmation_number: #{@confirmation_number}, end_date_time: #{@end_date_time},"\
172
+ " end_location_address: #{@end_location_address}, fare: #{@fare}, is_international:"\
173
+ " #{@is_international}, number_of_nights: #{@number_of_nights}, number_of_rooms:"\
174
+ " #{@number_of_rooms}, segment_number: #{@segment_number}, start_date_time:"\
175
+ " #{@start_date_time}, start_location_address: #{@start_location_address},"\
176
+ " vendor_chain_name: #{@vendor_chain_name}, additional_properties:"\
177
+ " #{@additional_properties}>"
178
+ end
179
+
180
+ # Provides a debugging-friendly string with detailed object information.
181
+ def inspect
182
+ class_name = self.class.name.split('::').last
183
+ "<#{class_name} booking_date_time: #{@booking_date_time.inspect}, car_type:"\
184
+ " #{@car_type.inspect}, confirmation_number: #{@confirmation_number.inspect}, end_date_time:"\
185
+ " #{@end_date_time.inspect}, end_location_address: #{@end_location_address.inspect}, fare:"\
186
+ " #{@fare.inspect}, is_international: #{@is_international.inspect}, number_of_nights:"\
187
+ " #{@number_of_nights.inspect}, number_of_rooms: #{@number_of_rooms.inspect},"\
188
+ " segment_number: #{@segment_number.inspect}, start_date_time: #{@start_date_time.inspect},"\
189
+ " start_location_address: #{@start_location_address.inspect}, vendor_chain_name:"\
190
+ " #{@vendor_chain_name.inspect}, additional_properties: #{@additional_properties}>"
191
+ end
192
+ end
193
+ end
@@ -0,0 +1,201 @@
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
+ # Reservation4 Model.
8
+ class Reservation4 < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :booking_date_time
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [String]
18
+ attr_accessor :car_type
19
+
20
+ # TODO: Write general description for this method
21
+ # @return [String]
22
+ attr_accessor :confirmation_number
23
+
24
+ # TODO: Write general description for this method
25
+ # @return [DropOffLocation1]
26
+ attr_accessor :drop_off_location
27
+
28
+ # TODO: Write general description for this method
29
+ # @return [String]
30
+ attr_accessor :end_date_time
31
+
32
+ # TODO: Write general description for this method
33
+ # @return [TrueClass | FalseClass]
34
+ attr_accessor :is_international
35
+
36
+ # TODO: Write general description for this method
37
+ # @return [Array[String]]
38
+ attr_accessor :line_items
39
+
40
+ # TODO: Write general description for this method
41
+ # @return [Integer]
42
+ attr_accessor :number_of_cars
43
+
44
+ # TODO: Write general description for this method
45
+ # @return [DropOffLocation1]
46
+ attr_accessor :pickup_location
47
+
48
+ # TODO: Write general description for this method
49
+ # @return [Integer]
50
+ attr_accessor :rental_days
51
+
52
+ # TODO: Write general description for this method
53
+ # @return [Integer]
54
+ attr_accessor :segment_number
55
+
56
+ # TODO: Write general description for this method
57
+ # @return [String]
58
+ attr_accessor :start_date_time
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
+ # A mapping from model property names to API property names.
69
+ def self.names
70
+ @_hash = {} if @_hash.nil?
71
+ @_hash['booking_date_time'] = 'bookingDateTime'
72
+ @_hash['car_type'] = 'carType'
73
+ @_hash['confirmation_number'] = 'confirmationNumber'
74
+ @_hash['drop_off_location'] = 'dropOffLocation'
75
+ @_hash['end_date_time'] = 'endDateTime'
76
+ @_hash['is_international'] = 'isInternational'
77
+ @_hash['line_items'] = 'lineItems'
78
+ @_hash['number_of_cars'] = 'numberOfCars'
79
+ @_hash['pickup_location'] = 'pickupLocation'
80
+ @_hash['rental_days'] = 'rentalDays'
81
+ @_hash['segment_number'] = 'segmentNumber'
82
+ @_hash['start_date_time'] = 'startDateTime'
83
+ @_hash['vendor_chain_code'] = 'vendorChainCode'
84
+ @_hash['vendor_chain_name'] = 'vendorChainName'
85
+ @_hash
86
+ end
87
+
88
+ # An array for optional fields
89
+ def self.optionals
90
+ []
91
+ end
92
+
93
+ # An array for nullable fields
94
+ def self.nullables
95
+ []
96
+ end
97
+
98
+ def initialize(booking_date_time:, car_type:, confirmation_number:,
99
+ drop_off_location:, end_date_time:, is_international:,
100
+ line_items:, number_of_cars:, pickup_location:, rental_days:,
101
+ segment_number:, start_date_time:, vendor_chain_code:,
102
+ vendor_chain_name:, additional_properties: nil)
103
+ # Add additional model properties to the instance
104
+ additional_properties = {} if additional_properties.nil?
105
+
106
+ @booking_date_time = booking_date_time
107
+ @car_type = car_type
108
+ @confirmation_number = confirmation_number
109
+ @drop_off_location = drop_off_location
110
+ @end_date_time = end_date_time
111
+ @is_international = is_international
112
+ @line_items = line_items
113
+ @number_of_cars = number_of_cars
114
+ @pickup_location = pickup_location
115
+ @rental_days = rental_days
116
+ @segment_number = segment_number
117
+ @start_date_time = start_date_time
118
+ @vendor_chain_code = vendor_chain_code
119
+ @vendor_chain_name = vendor_chain_name
120
+ @additional_properties = additional_properties
121
+ end
122
+
123
+ # Creates an instance of the object from a hash.
124
+ def self.from_hash(hash)
125
+ return nil unless hash
126
+
127
+ # Extract variables from the hash.
128
+ booking_date_time =
129
+ hash.key?('bookingDateTime') ? hash['bookingDateTime'] : nil
130
+ car_type = hash.key?('carType') ? hash['carType'] : nil
131
+ confirmation_number =
132
+ hash.key?('confirmationNumber') ? hash['confirmationNumber'] : nil
133
+ drop_off_location = DropOffLocation1.from_hash(hash['dropOffLocation']) if
134
+ hash['dropOffLocation']
135
+ end_date_time = hash.key?('endDateTime') ? hash['endDateTime'] : nil
136
+ is_international =
137
+ hash.key?('isInternational') ? hash['isInternational'] : nil
138
+ line_items = hash.key?('lineItems') ? hash['lineItems'] : nil
139
+ number_of_cars = hash.key?('numberOfCars') ? hash['numberOfCars'] : nil
140
+ pickup_location = DropOffLocation1.from_hash(hash['pickupLocation']) if
141
+ hash['pickupLocation']
142
+ rental_days = hash.key?('rentalDays') ? hash['rentalDays'] : nil
143
+ segment_number = hash.key?('segmentNumber') ? hash['segmentNumber'] : nil
144
+ start_date_time = hash.key?('startDateTime') ? hash['startDateTime'] : nil
145
+ vendor_chain_code =
146
+ hash.key?('vendorChainCode') ? hash['vendorChainCode'] : nil
147
+ vendor_chain_name =
148
+ hash.key?('vendorChainName') ? hash['vendorChainName'] : nil
149
+
150
+ # Create a new hash for additional properties, removing known properties.
151
+ new_hash = hash.reject { |k, _| names.value?(k) }
152
+
153
+ additional_properties = APIHelper.get_additional_properties(
154
+ new_hash, proc { |value| value }
155
+ )
156
+
157
+ # Create object from extracted values.
158
+ Reservation4.new(booking_date_time: booking_date_time,
159
+ car_type: car_type,
160
+ confirmation_number: confirmation_number,
161
+ drop_off_location: drop_off_location,
162
+ end_date_time: end_date_time,
163
+ is_international: is_international,
164
+ line_items: line_items,
165
+ number_of_cars: number_of_cars,
166
+ pickup_location: pickup_location,
167
+ rental_days: rental_days,
168
+ segment_number: segment_number,
169
+ start_date_time: start_date_time,
170
+ vendor_chain_code: vendor_chain_code,
171
+ vendor_chain_name: vendor_chain_name,
172
+ additional_properties: additional_properties)
173
+ end
174
+
175
+ # Provides a human-readable string representation of the object.
176
+ def to_s
177
+ class_name = self.class.name.split('::').last
178
+ "<#{class_name} booking_date_time: #{@booking_date_time}, car_type: #{@car_type},"\
179
+ " confirmation_number: #{@confirmation_number}, drop_off_location: #{@drop_off_location},"\
180
+ " end_date_time: #{@end_date_time}, is_international: #{@is_international}, line_items:"\
181
+ " #{@line_items}, number_of_cars: #{@number_of_cars}, pickup_location: #{@pickup_location},"\
182
+ " rental_days: #{@rental_days}, segment_number: #{@segment_number}, start_date_time:"\
183
+ " #{@start_date_time}, vendor_chain_code: #{@vendor_chain_code}, vendor_chain_name:"\
184
+ " #{@vendor_chain_name}, additional_properties: #{@additional_properties}>"
185
+ end
186
+
187
+ # Provides a debugging-friendly string with detailed object information.
188
+ def inspect
189
+ class_name = self.class.name.split('::').last
190
+ "<#{class_name} booking_date_time: #{@booking_date_time.inspect}, car_type:"\
191
+ " #{@car_type.inspect}, confirmation_number: #{@confirmation_number.inspect},"\
192
+ " drop_off_location: #{@drop_off_location.inspect}, end_date_time:"\
193
+ " #{@end_date_time.inspect}, is_international: #{@is_international.inspect}, line_items:"\
194
+ " #{@line_items.inspect}, number_of_cars: #{@number_of_cars.inspect}, pickup_location:"\
195
+ " #{@pickup_location.inspect}, rental_days: #{@rental_days.inspect}, segment_number:"\
196
+ " #{@segment_number.inspect}, start_date_time: #{@start_date_time.inspect},"\
197
+ " vendor_chain_code: #{@vendor_chain_code.inspect}, vendor_chain_name:"\
198
+ " #{@vendor_chain_name.inspect}, additional_properties: #{@additional_properties}>"
199
+ end
200
+ end
201
+ end
@@ -0,0 +1,220 @@
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
+ # Reservation56 Model.
8
+ class Reservation56 < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :booking_date_time
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [String]
18
+ attr_accessor :car_type
19
+
20
+ # TODO: Write general description for this method
21
+ # @return [String]
22
+ attr_accessor :confirmation_number
23
+
24
+ # TODO: Write general description for this method
25
+ # @return [DropOffLocation16]
26
+ attr_accessor :drop_off_location
27
+
28
+ # TODO: Write general description for this method
29
+ # @return [String]
30
+ attr_accessor :end_date_time
31
+
32
+ # TODO: Write general description for this method
33
+ # @return [Fare]
34
+ attr_accessor :fare
35
+
36
+ # TODO: Write general description for this method
37
+ # @return [BaseFare]
38
+ attr_accessor :base_fare
39
+
40
+ # TODO: Write general description for this method
41
+ # @return [TrueClass | FalseClass]
42
+ attr_accessor :is_international
43
+
44
+ # TODO: Write general description for this method
45
+ # @return [Array[String]]
46
+ attr_accessor :line_items
47
+
48
+ # TODO: Write general description for this method
49
+ # @return [Integer]
50
+ attr_accessor :number_of_cars
51
+
52
+ # TODO: Write general description for this method
53
+ # @return [DropOffLocation16]
54
+ attr_accessor :pickup_location
55
+
56
+ # TODO: Write general description for this method
57
+ # @return [Integer]
58
+ attr_accessor :rental_days
59
+
60
+ # TODO: Write general description for this method
61
+ # @return [Integer]
62
+ attr_accessor :segment_number
63
+
64
+ # TODO: Write general description for this method
65
+ # @return [String]
66
+ attr_accessor :start_date_time
67
+
68
+ # TODO: Write general description for this method
69
+ # @return [String]
70
+ attr_accessor :vendor_chain_code
71
+
72
+ # TODO: Write general description for this method
73
+ # @return [String]
74
+ attr_accessor :vendor_chain_name
75
+
76
+ # A mapping from model property names to API property names.
77
+ def self.names
78
+ @_hash = {} if @_hash.nil?
79
+ @_hash['booking_date_time'] = 'bookingDateTime'
80
+ @_hash['car_type'] = 'carType'
81
+ @_hash['confirmation_number'] = 'confirmationNumber'
82
+ @_hash['drop_off_location'] = 'dropOffLocation'
83
+ @_hash['end_date_time'] = 'endDateTime'
84
+ @_hash['fare'] = 'fare'
85
+ @_hash['base_fare'] = 'baseFare'
86
+ @_hash['is_international'] = 'isInternational'
87
+ @_hash['line_items'] = 'lineItems'
88
+ @_hash['number_of_cars'] = 'numberOfCars'
89
+ @_hash['pickup_location'] = 'pickupLocation'
90
+ @_hash['rental_days'] = 'rentalDays'
91
+ @_hash['segment_number'] = 'segmentNumber'
92
+ @_hash['start_date_time'] = 'startDateTime'
93
+ @_hash['vendor_chain_code'] = 'vendorChainCode'
94
+ @_hash['vendor_chain_name'] = 'vendorChainName'
95
+ @_hash
96
+ end
97
+
98
+ # An array for optional fields
99
+ def self.optionals
100
+ []
101
+ end
102
+
103
+ # An array for nullable fields
104
+ def self.nullables
105
+ []
106
+ end
107
+
108
+ def initialize(booking_date_time:, car_type:, confirmation_number:,
109
+ drop_off_location:, end_date_time:, fare:, base_fare:,
110
+ is_international:, line_items:, number_of_cars:,
111
+ pickup_location:, rental_days:, segment_number:,
112
+ start_date_time:, vendor_chain_code:, vendor_chain_name:,
113
+ additional_properties: nil)
114
+ # Add additional model properties to the instance
115
+ additional_properties = {} if additional_properties.nil?
116
+
117
+ @booking_date_time = booking_date_time
118
+ @car_type = car_type
119
+ @confirmation_number = confirmation_number
120
+ @drop_off_location = drop_off_location
121
+ @end_date_time = end_date_time
122
+ @fare = fare
123
+ @base_fare = base_fare
124
+ @is_international = is_international
125
+ @line_items = line_items
126
+ @number_of_cars = number_of_cars
127
+ @pickup_location = pickup_location
128
+ @rental_days = rental_days
129
+ @segment_number = segment_number
130
+ @start_date_time = start_date_time
131
+ @vendor_chain_code = vendor_chain_code
132
+ @vendor_chain_name = vendor_chain_name
133
+ @additional_properties = additional_properties
134
+ end
135
+
136
+ # Creates an instance of the object from a hash.
137
+ def self.from_hash(hash)
138
+ return nil unless hash
139
+
140
+ # Extract variables from the hash.
141
+ booking_date_time =
142
+ hash.key?('bookingDateTime') ? hash['bookingDateTime'] : nil
143
+ car_type = hash.key?('carType') ? hash['carType'] : nil
144
+ confirmation_number =
145
+ hash.key?('confirmationNumber') ? hash['confirmationNumber'] : nil
146
+ drop_off_location = DropOffLocation16.from_hash(hash['dropOffLocation']) if
147
+ hash['dropOffLocation']
148
+ end_date_time = hash.key?('endDateTime') ? hash['endDateTime'] : nil
149
+ fare = Fare.from_hash(hash['fare']) if hash['fare']
150
+ base_fare = BaseFare.from_hash(hash['baseFare']) if hash['baseFare']
151
+ is_international =
152
+ hash.key?('isInternational') ? hash['isInternational'] : nil
153
+ line_items = hash.key?('lineItems') ? hash['lineItems'] : nil
154
+ number_of_cars = hash.key?('numberOfCars') ? hash['numberOfCars'] : nil
155
+ pickup_location = DropOffLocation16.from_hash(hash['pickupLocation']) if
156
+ hash['pickupLocation']
157
+ rental_days = hash.key?('rentalDays') ? hash['rentalDays'] : nil
158
+ segment_number = hash.key?('segmentNumber') ? hash['segmentNumber'] : nil
159
+ start_date_time = hash.key?('startDateTime') ? hash['startDateTime'] : nil
160
+ vendor_chain_code =
161
+ hash.key?('vendorChainCode') ? hash['vendorChainCode'] : nil
162
+ vendor_chain_name =
163
+ hash.key?('vendorChainName') ? hash['vendorChainName'] : nil
164
+
165
+ # Create a new hash for additional properties, removing known properties.
166
+ new_hash = hash.reject { |k, _| names.value?(k) }
167
+
168
+ additional_properties = APIHelper.get_additional_properties(
169
+ new_hash, proc { |value| value }
170
+ )
171
+
172
+ # Create object from extracted values.
173
+ Reservation56.new(booking_date_time: booking_date_time,
174
+ car_type: car_type,
175
+ confirmation_number: confirmation_number,
176
+ drop_off_location: drop_off_location,
177
+ end_date_time: end_date_time,
178
+ fare: fare,
179
+ base_fare: base_fare,
180
+ is_international: is_international,
181
+ line_items: line_items,
182
+ number_of_cars: number_of_cars,
183
+ pickup_location: pickup_location,
184
+ rental_days: rental_days,
185
+ segment_number: segment_number,
186
+ start_date_time: start_date_time,
187
+ vendor_chain_code: vendor_chain_code,
188
+ vendor_chain_name: vendor_chain_name,
189
+ additional_properties: additional_properties)
190
+ end
191
+
192
+ # Provides a human-readable string representation of the object.
193
+ def to_s
194
+ class_name = self.class.name.split('::').last
195
+ "<#{class_name} booking_date_time: #{@booking_date_time}, car_type: #{@car_type},"\
196
+ " confirmation_number: #{@confirmation_number}, drop_off_location: #{@drop_off_location},"\
197
+ " end_date_time: #{@end_date_time}, fare: #{@fare}, base_fare: #{@base_fare},"\
198
+ " is_international: #{@is_international}, line_items: #{@line_items}, number_of_cars:"\
199
+ " #{@number_of_cars}, pickup_location: #{@pickup_location}, rental_days: #{@rental_days},"\
200
+ " segment_number: #{@segment_number}, start_date_time: #{@start_date_time},"\
201
+ " vendor_chain_code: #{@vendor_chain_code}, vendor_chain_name: #{@vendor_chain_name},"\
202
+ " additional_properties: #{@additional_properties}>"
203
+ end
204
+
205
+ # Provides a debugging-friendly string with detailed object information.
206
+ def inspect
207
+ class_name = self.class.name.split('::').last
208
+ "<#{class_name} booking_date_time: #{@booking_date_time.inspect}, car_type:"\
209
+ " #{@car_type.inspect}, confirmation_number: #{@confirmation_number.inspect},"\
210
+ " drop_off_location: #{@drop_off_location.inspect}, end_date_time:"\
211
+ " #{@end_date_time.inspect}, fare: #{@fare.inspect}, base_fare: #{@base_fare.inspect},"\
212
+ " is_international: #{@is_international.inspect}, line_items: #{@line_items.inspect},"\
213
+ " number_of_cars: #{@number_of_cars.inspect}, pickup_location: #{@pickup_location.inspect},"\
214
+ " rental_days: #{@rental_days.inspect}, segment_number: #{@segment_number.inspect},"\
215
+ " start_date_time: #{@start_date_time.inspect}, vendor_chain_code:"\
216
+ " #{@vendor_chain_code.inspect}, vendor_chain_name: #{@vendor_chain_name.inspect},"\
217
+ " additional_properties: #{@additional_properties}>"
218
+ end
219
+ end
220
+ end