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,244 @@
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
+ # Ticket2 Model.
8
+ class Ticket2 < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [Array[Leg3]]
14
+ attr_accessor :legs
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [String]
18
+ attr_accessor :invoice_number
19
+
20
+ # TODO: Write general description for this method
21
+ # @return [String]
22
+ attr_accessor :validating_carrier
23
+
24
+ # TODO: Write general description for this method
25
+ # @return [String]
26
+ attr_accessor :ticket_status
27
+
28
+ # TODO: Write general description for this method
29
+ # @return [String]
30
+ attr_accessor :calculated_ticket_status
31
+
32
+ # TODO: Write general description for this method
33
+ # @return [Array[Taxis4]]
34
+ attr_accessor :taxes
35
+
36
+ # TODO: Write general description for this method
37
+ # @return [String]
38
+ attr_accessor :ticket_number
39
+
40
+ # TODO: Write general description for this method
41
+ # @return [String]
42
+ attr_accessor :record_locator
43
+
44
+ # TODO: Write general description for this method
45
+ # @return [String]
46
+ attr_accessor :issue_date_time
47
+
48
+ # TODO: Write general description for this method
49
+ # @return [String]
50
+ attr_accessor :booking_date_time
51
+
52
+ # TODO: Write general description for this method
53
+ # @return [Fare]
54
+ attr_accessor :fare
55
+
56
+ # TODO: Write general description for this method
57
+ # @return [Array[Payment3]]
58
+ attr_accessor :payments
59
+
60
+ # TODO: Write general description for this method
61
+ # @return [Array[String]]
62
+ attr_accessor :line_items
63
+
64
+ # TODO: Write general description for this method
65
+ # @return [String]
66
+ attr_accessor :booking_type
67
+
68
+ # TODO: Write general description for this method
69
+ # @return [Passenger]
70
+ attr_accessor :passenger
71
+
72
+ # TODO: Write general description for this method
73
+ # @return [TrueClass | FalseClass]
74
+ attr_accessor :is_international
75
+
76
+ # A mapping from model property names to API property names.
77
+ def self.names
78
+ @_hash = {} if @_hash.nil?
79
+ @_hash['legs'] = 'legs'
80
+ @_hash['invoice_number'] = 'invoiceNumber'
81
+ @_hash['validating_carrier'] = 'validatingCarrier'
82
+ @_hash['ticket_status'] = 'ticketStatus'
83
+ @_hash['calculated_ticket_status'] = 'calculatedTicketStatus'
84
+ @_hash['taxes'] = 'taxes'
85
+ @_hash['ticket_number'] = 'ticketNumber'
86
+ @_hash['record_locator'] = 'recordLocator'
87
+ @_hash['issue_date_time'] = 'issueDateTime'
88
+ @_hash['booking_date_time'] = 'bookingDateTime'
89
+ @_hash['fare'] = 'fare'
90
+ @_hash['payments'] = 'payments'
91
+ @_hash['line_items'] = 'lineItems'
92
+ @_hash['booking_type'] = 'bookingType'
93
+ @_hash['passenger'] = 'passenger'
94
+ @_hash['is_international'] = 'isInternational'
95
+ @_hash
96
+ end
97
+
98
+ # An array for optional fields
99
+ def self.optionals
100
+ %w[
101
+ invoice_number
102
+ ]
103
+ end
104
+
105
+ # An array for nullable fields
106
+ def self.nullables
107
+ []
108
+ end
109
+
110
+ def initialize(legs:, validating_carrier:, ticket_status:,
111
+ calculated_ticket_status:, taxes:, ticket_number:,
112
+ record_locator:, issue_date_time:, booking_date_time:, fare:,
113
+ payments:, line_items:, booking_type:, passenger:,
114
+ is_international:, invoice_number: SKIP,
115
+ additional_properties: nil)
116
+ # Add additional model properties to the instance
117
+ additional_properties = {} if additional_properties.nil?
118
+
119
+ @legs = legs
120
+ @invoice_number = invoice_number unless invoice_number == SKIP
121
+ @validating_carrier = validating_carrier
122
+ @ticket_status = ticket_status
123
+ @calculated_ticket_status = calculated_ticket_status
124
+ @taxes = taxes
125
+ @ticket_number = ticket_number
126
+ @record_locator = record_locator
127
+ @issue_date_time = issue_date_time
128
+ @booking_date_time = booking_date_time
129
+ @fare = fare
130
+ @payments = payments
131
+ @line_items = line_items
132
+ @booking_type = booking_type
133
+ @passenger = passenger
134
+ @is_international = is_international
135
+ @additional_properties = additional_properties
136
+ end
137
+
138
+ # Creates an instance of the object from a hash.
139
+ def self.from_hash(hash)
140
+ return nil unless hash
141
+
142
+ # Extract variables from the hash.
143
+ # Parameter is an array, so we need to iterate through it
144
+ legs = nil
145
+ unless hash['legs'].nil?
146
+ legs = []
147
+ hash['legs'].each do |structure|
148
+ legs << (Leg3.from_hash(structure) if structure)
149
+ end
150
+ end
151
+
152
+ legs = nil unless hash.key?('legs')
153
+ validating_carrier =
154
+ hash.key?('validatingCarrier') ? hash['validatingCarrier'] : nil
155
+ ticket_status = hash.key?('ticketStatus') ? hash['ticketStatus'] : nil
156
+ calculated_ticket_status =
157
+ hash.key?('calculatedTicketStatus') ? hash['calculatedTicketStatus'] : nil
158
+ # Parameter is an array, so we need to iterate through it
159
+ taxes = nil
160
+ unless hash['taxes'].nil?
161
+ taxes = []
162
+ hash['taxes'].each do |structure|
163
+ taxes << (Taxis4.from_hash(structure) if structure)
164
+ end
165
+ end
166
+
167
+ taxes = nil unless hash.key?('taxes')
168
+ ticket_number = hash.key?('ticketNumber') ? hash['ticketNumber'] : nil
169
+ record_locator = hash.key?('recordLocator') ? hash['recordLocator'] : nil
170
+ issue_date_time = hash.key?('issueDateTime') ? hash['issueDateTime'] : nil
171
+ booking_date_time =
172
+ hash.key?('bookingDateTime') ? hash['bookingDateTime'] : nil
173
+ fare = Fare.from_hash(hash['fare']) if hash['fare']
174
+ # Parameter is an array, so we need to iterate through it
175
+ payments = nil
176
+ unless hash['payments'].nil?
177
+ payments = []
178
+ hash['payments'].each do |structure|
179
+ payments << (Payment3.from_hash(structure) if structure)
180
+ end
181
+ end
182
+
183
+ payments = nil unless hash.key?('payments')
184
+ line_items = hash.key?('lineItems') ? hash['lineItems'] : nil
185
+ booking_type = hash.key?('bookingType') ? hash['bookingType'] : nil
186
+ passenger = Passenger.from_hash(hash['passenger']) if hash['passenger']
187
+ is_international =
188
+ hash.key?('isInternational') ? hash['isInternational'] : nil
189
+ invoice_number = hash.key?('invoiceNumber') ? hash['invoiceNumber'] : SKIP
190
+
191
+ # Create a new hash for additional properties, removing known properties.
192
+ new_hash = hash.reject { |k, _| names.value?(k) }
193
+
194
+ additional_properties = APIHelper.get_additional_properties(
195
+ new_hash, proc { |value| value }
196
+ )
197
+
198
+ # Create object from extracted values.
199
+ Ticket2.new(legs: legs,
200
+ validating_carrier: validating_carrier,
201
+ ticket_status: ticket_status,
202
+ calculated_ticket_status: calculated_ticket_status,
203
+ taxes: taxes,
204
+ ticket_number: ticket_number,
205
+ record_locator: record_locator,
206
+ issue_date_time: issue_date_time,
207
+ booking_date_time: booking_date_time,
208
+ fare: fare,
209
+ payments: payments,
210
+ line_items: line_items,
211
+ booking_type: booking_type,
212
+ passenger: passenger,
213
+ is_international: is_international,
214
+ invoice_number: invoice_number,
215
+ additional_properties: additional_properties)
216
+ end
217
+
218
+ # Provides a human-readable string representation of the object.
219
+ def to_s
220
+ class_name = self.class.name.split('::').last
221
+ "<#{class_name} legs: #{@legs}, invoice_number: #{@invoice_number}, validating_carrier:"\
222
+ " #{@validating_carrier}, ticket_status: #{@ticket_status}, calculated_ticket_status:"\
223
+ " #{@calculated_ticket_status}, taxes: #{@taxes}, ticket_number: #{@ticket_number},"\
224
+ " record_locator: #{@record_locator}, issue_date_time: #{@issue_date_time},"\
225
+ " booking_date_time: #{@booking_date_time}, fare: #{@fare}, payments: #{@payments},"\
226
+ " line_items: #{@line_items}, booking_type: #{@booking_type}, passenger: #{@passenger},"\
227
+ " is_international: #{@is_international}, additional_properties: #{@additional_properties}>"
228
+ end
229
+
230
+ # Provides a debugging-friendly string with detailed object information.
231
+ def inspect
232
+ class_name = self.class.name.split('::').last
233
+ "<#{class_name} legs: #{@legs.inspect}, invoice_number: #{@invoice_number.inspect},"\
234
+ " validating_carrier: #{@validating_carrier.inspect}, ticket_status:"\
235
+ " #{@ticket_status.inspect}, calculated_ticket_status: #{@calculated_ticket_status.inspect},"\
236
+ " taxes: #{@taxes.inspect}, ticket_number: #{@ticket_number.inspect}, record_locator:"\
237
+ " #{@record_locator.inspect}, issue_date_time: #{@issue_date_time.inspect},"\
238
+ " booking_date_time: #{@booking_date_time.inspect}, fare: #{@fare.inspect}, payments:"\
239
+ " #{@payments.inspect}, line_items: #{@line_items.inspect}, booking_type:"\
240
+ " #{@booking_type.inspect}, passenger: #{@passenger.inspect}, is_international:"\
241
+ " #{@is_international.inspect}, additional_properties: #{@additional_properties}>"
242
+ end
243
+ end
244
+ end
@@ -0,0 +1,156 @@
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
+ # Ticket3 Model.
8
+ class Ticket3 < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [Array[Leg4]]
14
+ attr_accessor :legs
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [String]
18
+ attr_accessor :record_locator
19
+
20
+ # TODO: Write general description for this method
21
+ # @return [String]
22
+ attr_accessor :issue_date_time
23
+
24
+ # TODO: Write general description for this method
25
+ # @return [String]
26
+ attr_accessor :booking_date_time
27
+
28
+ # TODO: Write general description for this method
29
+ # @return [Fare]
30
+ attr_accessor :fare
31
+
32
+ # TODO: Write general description for this method
33
+ # @return [Array[String]]
34
+ attr_accessor :payments
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 [Passenger]
42
+ attr_accessor :passenger
43
+
44
+ # TODO: Write general description for this method
45
+ # @return [TrueClass | FalseClass]
46
+ attr_accessor :is_international
47
+
48
+ # A mapping from model property names to API property names.
49
+ def self.names
50
+ @_hash = {} if @_hash.nil?
51
+ @_hash['legs'] = 'legs'
52
+ @_hash['record_locator'] = 'recordLocator'
53
+ @_hash['issue_date_time'] = 'issueDateTime'
54
+ @_hash['booking_date_time'] = 'bookingDateTime'
55
+ @_hash['fare'] = 'fare'
56
+ @_hash['payments'] = 'payments'
57
+ @_hash['line_items'] = 'lineItems'
58
+ @_hash['passenger'] = 'passenger'
59
+ @_hash['is_international'] = 'isInternational'
60
+ @_hash
61
+ end
62
+
63
+ # An array for optional fields
64
+ def self.optionals
65
+ []
66
+ end
67
+
68
+ # An array for nullable fields
69
+ def self.nullables
70
+ []
71
+ end
72
+
73
+ def initialize(legs:, record_locator:, issue_date_time:, booking_date_time:,
74
+ fare:, payments:, line_items:, passenger:, is_international:,
75
+ additional_properties: nil)
76
+ # Add additional model properties to the instance
77
+ additional_properties = {} if additional_properties.nil?
78
+
79
+ @legs = legs
80
+ @record_locator = record_locator
81
+ @issue_date_time = issue_date_time
82
+ @booking_date_time = booking_date_time
83
+ @fare = fare
84
+ @payments = payments
85
+ @line_items = line_items
86
+ @passenger = passenger
87
+ @is_international = is_international
88
+ @additional_properties = additional_properties
89
+ end
90
+
91
+ # Creates an instance of the object from a hash.
92
+ def self.from_hash(hash)
93
+ return nil unless hash
94
+
95
+ # Extract variables from the hash.
96
+ # Parameter is an array, so we need to iterate through it
97
+ legs = nil
98
+ unless hash['legs'].nil?
99
+ legs = []
100
+ hash['legs'].each do |structure|
101
+ legs << (Leg4.from_hash(structure) if structure)
102
+ end
103
+ end
104
+
105
+ legs = nil unless hash.key?('legs')
106
+ record_locator = hash.key?('recordLocator') ? hash['recordLocator'] : nil
107
+ issue_date_time = hash.key?('issueDateTime') ? hash['issueDateTime'] : nil
108
+ booking_date_time =
109
+ hash.key?('bookingDateTime') ? hash['bookingDateTime'] : nil
110
+ fare = Fare.from_hash(hash['fare']) if hash['fare']
111
+ payments = hash.key?('payments') ? hash['payments'] : nil
112
+ line_items = hash.key?('lineItems') ? hash['lineItems'] : nil
113
+ passenger = Passenger.from_hash(hash['passenger']) if hash['passenger']
114
+ is_international =
115
+ hash.key?('isInternational') ? hash['isInternational'] : nil
116
+
117
+ # Create a new hash for additional properties, removing known properties.
118
+ new_hash = hash.reject { |k, _| names.value?(k) }
119
+
120
+ additional_properties = APIHelper.get_additional_properties(
121
+ new_hash, proc { |value| value }
122
+ )
123
+
124
+ # Create object from extracted values.
125
+ Ticket3.new(legs: legs,
126
+ record_locator: record_locator,
127
+ issue_date_time: issue_date_time,
128
+ booking_date_time: booking_date_time,
129
+ fare: fare,
130
+ payments: payments,
131
+ line_items: line_items,
132
+ passenger: passenger,
133
+ is_international: is_international,
134
+ additional_properties: additional_properties)
135
+ end
136
+
137
+ # Provides a human-readable string representation of the object.
138
+ def to_s
139
+ class_name = self.class.name.split('::').last
140
+ "<#{class_name} legs: #{@legs}, record_locator: #{@record_locator}, issue_date_time:"\
141
+ " #{@issue_date_time}, booking_date_time: #{@booking_date_time}, fare: #{@fare}, payments:"\
142
+ " #{@payments}, line_items: #{@line_items}, passenger: #{@passenger}, is_international:"\
143
+ " #{@is_international}, additional_properties: #{@additional_properties}>"
144
+ end
145
+
146
+ # Provides a debugging-friendly string with detailed object information.
147
+ def inspect
148
+ class_name = self.class.name.split('::').last
149
+ "<#{class_name} legs: #{@legs.inspect}, record_locator: #{@record_locator.inspect},"\
150
+ " issue_date_time: #{@issue_date_time.inspect}, booking_date_time:"\
151
+ " #{@booking_date_time.inspect}, fare: #{@fare.inspect}, payments: #{@payments.inspect},"\
152
+ " line_items: #{@line_items.inspect}, passenger: #{@passenger.inspect}, is_international:"\
153
+ " #{@is_international.inspect}, additional_properties: #{@additional_properties}>"
154
+ end
155
+ end
156
+ end