repull 0.2.21 → 0.2.22

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 (592) hide show
  1. checksums.yaml +4 -4
  2. data/lib/repull/api/airbnb_api.rb +54 -15
  3. data/lib/repull/api/atlas_api.rb +1 -1
  4. data/lib/repull/api/availability_api.rb +3 -3
  5. data/lib/repull/api/billing_api.rb +1 -1
  6. data/lib/repull/api/booking_com_api.rb +5 -5
  7. data/lib/repull/api/connect_api.rb +137 -1
  8. data/lib/repull/api/conversations_api.rb +3 -3
  9. data/lib/repull/api/guests_api.rb +3 -3
  10. data/lib/repull/api/health_api.rb +1 -1
  11. data/lib/repull/api/kv_api.rb +1 -1
  12. data/lib/repull/api/listings_api.rb +70 -7
  13. data/lib/repull/api/markets_api.rb +1 -1
  14. data/lib/repull/api/migrate_api.rb +1 -1
  15. data/lib/repull/api/plumguide_api.rb +1 -1
  16. data/lib/repull/api/pricing_api.rb +1 -1
  17. data/lib/repull/api/properties_api.rb +1 -1
  18. data/lib/repull/api/quotes_api.rb +1 -1
  19. data/lib/repull/api/reservations_api.rb +71 -1
  20. data/lib/repull/api/reviews_api.rb +3 -3
  21. data/lib/repull/api/schema_api.rb +1 -1
  22. data/lib/repull/api/system_api.rb +1 -1
  23. data/lib/repull/api/vrbo_api.rb +1 -1
  24. data/lib/repull/api/webhooks_api.rb +1 -1
  25. data/lib/repull/api_client.rb +1 -1
  26. data/lib/repull/api_error.rb +1 -1
  27. data/lib/repull/api_model_base.rb +1 -1
  28. data/lib/repull/configuration.rb +1 -1
  29. data/lib/repull/models/accept_reservation_request200_response.rb +1 -1
  30. data/lib/repull/models/account_created_event.rb +1 -1
  31. data/lib/repull/models/account_created_payload.rb +1 -1
  32. data/lib/repull/models/account_disconnected_event.rb +1 -1
  33. data/lib/repull/models/account_disconnected_payload.rb +1 -1
  34. data/lib/repull/models/acknowledge_booking_reservations_request.rb +1 -1
  35. data/lib/repull/models/ai_operation.rb +1 -1
  36. data/lib/repull/models/ai_operation_completed_event.rb +1 -1
  37. data/lib/repull/models/ai_operation_completed_payload.rb +1 -1
  38. data/lib/repull/models/ai_operation_failed_event.rb +1 -1
  39. data/lib/repull/models/ai_operation_failed_payload.rb +1 -1
  40. data/lib/repull/models/ai_operation_failed_payload_error.rb +1 -1
  41. data/lib/repull/models/airbnb_account_freshness.rb +1 -1
  42. data/lib/repull/models/airbnb_alteration.rb +1 -1
  43. data/lib/repull/models/airbnb_alteration_create_request.rb +1 -1
  44. data/lib/repull/models/airbnb_amenity.rb +1 -1
  45. data/lib/repull/models/airbnb_availability_write_request.rb +1 -1
  46. data/lib/repull/models/airbnb_calendar_operation.rb +1 -1
  47. data/lib/repull/models/airbnb_connection.rb +2 -2
  48. data/lib/repull/models/airbnb_connection_accessibility_amenities_inner.rb +1 -1
  49. data/lib/repull/models/airbnb_connection_amenities_inner.rb +1 -1
  50. data/lib/repull/models/airbnb_connection_host.rb +1 -1
  51. data/lib/repull/models/airbnb_connection_response.rb +1 -1
  52. data/lib/repull/models/airbnb_connection_summary.rb +1 -1
  53. data/lib/repull/models/airbnb_content_write_response.rb +1 -1
  54. data/lib/repull/models/airbnb_data_freshness.rb +1 -1
  55. data/lib/repull/models/airbnb_description_write_request.rb +1 -1
  56. data/lib/repull/models/airbnb_description_write_request_description.rb +1 -1
  57. data/lib/repull/models/airbnb_listing.rb +4 -4
  58. data/lib/repull/models/airbnb_listing_action200_response.rb +1 -1
  59. data/lib/repull/models/airbnb_listing_action200_response_one_of.rb +1 -1
  60. data/lib/repull/models/airbnb_listing_action200_response_one_of1.rb +1 -1
  61. data/lib/repull/models/airbnb_listing_action_request.rb +1 -1
  62. data/lib/repull/models/airbnb_listing_details_response.rb +1 -1
  63. data/lib/repull/models/airbnb_listing_details_write_request.rb +1 -1
  64. data/lib/repull/models/airbnb_listing_details_write_request_check_in_option.rb +1 -1
  65. data/lib/repull/models/airbnb_listing_details_write_request_quiet_hours_inner.rb +1 -1
  66. data/lib/repull/models/airbnb_listing_lifecycle_response.rb +2 -2
  67. data/lib/repull/models/airbnb_listing_list_response.rb +1 -1
  68. data/lib/repull/models/airbnb_permits_response.rb +1 -1
  69. data/lib/repull/models/airbnb_permits_response_cached_inner.rb +1 -1
  70. data/lib/repull/models/airbnb_permits_write_request.rb +1 -1
  71. data/lib/repull/models/airbnb_permits_write_request_permits_inner.rb +1 -1
  72. data/lib/repull/models/airbnb_permits_write_request_permits_inner_answers_value.rb +1 -1
  73. data/lib/repull/models/airbnb_photo_position.rb +1 -1
  74. data/lib/repull/models/airbnb_pricing_write_request.rb +1 -1
  75. data/lib/repull/models/airbnb_pricing_write_request_records_inner.rb +1 -1
  76. data/lib/repull/models/airbnb_publish_result.rb +1 -1
  77. data/lib/repull/models/airbnb_reservation.rb +1 -1
  78. data/lib/repull/models/airbnb_reservation_action200_response.rb +1 -1
  79. data/lib/repull/models/airbnb_reservation_action_request.rb +1 -1
  80. data/lib/repull/models/airbnb_reservation_list_response.rb +1 -1
  81. data/lib/repull/models/airbnb_review.rb +1 -1
  82. data/lib/repull/models/airbnb_review_list_response.rb +1 -1
  83. data/lib/repull/models/airbnb_safety_disclosure.rb +1 -1
  84. data/lib/repull/models/airbnb_safety_disclosures_response.rb +1 -1
  85. data/lib/repull/models/airbnb_safety_disclosures_write_request.rb +1 -1
  86. data/lib/repull/models/airbnb_thread.rb +1 -1
  87. data/lib/repull/models/airbnb_thread_list_response.rb +1 -1
  88. data/lib/repull/models/airbnb_transaction.rb +216 -217
  89. data/lib/repull/models/airbnb_transaction_fees.rb +164 -0
  90. data/lib/repull/models/airbnb_transaction_payout.rb +47 -6
  91. data/lib/repull/models/alteration_change.rb +1 -1
  92. data/lib/repull/models/alteration_webhook_object.rb +1 -1
  93. data/lib/repull/models/availability_batch_write_request.rb +1 -1
  94. data/lib/repull/models/availability_write_request.rb +1 -1
  95. data/lib/repull/models/availability_write_result.rb +1 -1
  96. data/lib/repull/models/availability_write_result_synced.rb +1 -1
  97. data/lib/repull/models/availability_write_settings.rb +1 -1
  98. data/lib/repull/models/booking_availability_state_response.rb +1 -1
  99. data/lib/repull/models/booking_availability_update.rb +1 -1
  100. data/lib/repull/models/booking_availability_update_date_range.rb +1 -1
  101. data/lib/repull/models/booking_availability_update_request.rb +1 -1
  102. data/lib/repull/models/booking_availability_update_request_property_id.rb +1 -1
  103. data/lib/repull/models/booking_availability_update_request_updates_inner.rb +1 -1
  104. data/lib/repull/models/booking_connect_listing_option.rb +1 -1
  105. data/lib/repull/models/booking_connect_room.rb +1 -1
  106. data/lib/repull/models/booking_connect_rooms_response.rb +1 -1
  107. data/lib/repull/models/booking_conversation.rb +1 -1
  108. data/lib/repull/models/booking_pricing_rate_update.rb +1 -1
  109. data/lib/repull/models/booking_pricing_rate_update_date_range.rb +1 -1
  110. data/lib/repull/models/booking_pricing_rate_update_restrictions.rb +1 -1
  111. data/lib/repull/models/booking_pricing_response.rb +1 -1
  112. data/lib/repull/models/booking_pricing_update_request.rb +1 -1
  113. data/lib/repull/models/booking_pricing_update_response.rb +1 -1
  114. data/lib/repull/models/booking_property.rb +1 -1
  115. data/lib/repull/models/booking_property_action_request.rb +1 -1
  116. data/lib/repull/models/booking_property_action_response.rb +1 -1
  117. data/lib/repull/models/booking_property_listings_inner.rb +1 -1
  118. data/lib/repull/models/booking_publish_result.rb +1 -1
  119. data/lib/repull/models/booking_publish_section_error.rb +1 -1
  120. data/lib/repull/models/booking_rate_write_occupancy.rb +1 -1
  121. data/lib/repull/models/booking_rate_write_price_half.rb +1 -1
  122. data/lib/repull/models/booking_rate_write_restriction_half.rb +1 -1
  123. data/lib/repull/models/booking_rate_write_verification.rb +1 -1
  124. data/lib/repull/models/booking_rate_write_verification_row.rb +1 -1
  125. data/lib/repull/models/booking_reservation.rb +1 -1
  126. data/lib/repull/models/booking_reservation_room.rb +1 -1
  127. data/lib/repull/models/booking_restriction_request_row.rb +1 -1
  128. data/lib/repull/models/booking_restriction_verification.rb +1 -1
  129. data/lib/repull/models/booking_restriction_verification_row.rb +1 -1
  130. data/lib/repull/models/booking_restriction_verification_row_booking_value.rb +1 -1
  131. data/lib/repull/models/booking_restriction_verification_row_expected.rb +1 -1
  132. data/lib/repull/models/booking_room_mapping.rb +1 -1
  133. data/lib/repull/models/booking_rooms_rates_response.rb +1 -1
  134. data/lib/repull/models/booking_rooms_rates_response_rooms_inner.rb +1 -1
  135. data/lib/repull/models/booking_rooms_rates_response_rooms_inner_rates_inner.rb +1 -1
  136. data/lib/repull/models/booking_setup_request.rb +1 -1
  137. data/lib/repull/models/booking_setup_request_legal_entity.rb +1 -1
  138. data/lib/repull/models/booking_upstream_failure.rb +1 -1
  139. data/lib/repull/models/booking_verify_hotel_request.rb +1 -1
  140. data/lib/repull/models/booking_verify_hotel_response.rb +1 -1
  141. data/lib/repull/models/bulk_pricing_failure.rb +1 -1
  142. data/lib/repull/models/bulk_pricing_item.rb +1 -1
  143. data/lib/repull/models/bulk_pricing_request.rb +1 -1
  144. data/lib/repull/models/bulk_pricing_response.rb +1 -1
  145. data/lib/repull/models/calendar_day.rb +1 -1
  146. data/lib/repull/models/calendar_response.rb +1 -1
  147. data/lib/repull/models/calendar_updated_event.rb +1 -1
  148. data/lib/repull/models/calendar_updated_payload.rb +1 -1
  149. data/lib/repull/models/calendar_updated_payload_range.rb +1 -1
  150. data/lib/repull/models/cancel_reservation200_response.rb +259 -0
  151. data/lib/repull/models/{airbnb_transaction_guest_breakdown.rb → cancel_reservation200_response_pms.rb} +28 -29
  152. data/lib/repull/models/cancel_reservation200_response_pms_errors_inner.rb +165 -0
  153. data/lib/repull/models/cancel_reservation_request.rb +148 -0
  154. data/lib/repull/models/channel_market_state_item.rb +2 -2
  155. data/lib/repull/models/check_migration_cutover200_response.rb +1 -1
  156. data/lib/repull/models/check_migration_cutover_request.rb +1 -1
  157. data/lib/repull/models/check_migration_cutover_request_reservations_inner.rb +1 -1
  158. data/lib/repull/models/clear_kv200_response.rb +1 -1
  159. data/lib/repull/models/connect_host.rb +1 -1
  160. data/lib/repull/models/connect_provider.rb +1 -1
  161. data/lib/repull/models/connect_provider_list_response.rb +1 -1
  162. data/lib/repull/models/connect_session.rb +1 -1
  163. data/lib/repull/models/connect_status.rb +1 -1
  164. data/lib/repull/models/connect_status_accounts_inner.rb +1 -1
  165. data/lib/repull/models/connection.rb +1 -1
  166. data/lib/repull/models/connection_list_response.rb +11 -2
  167. data/lib/repull/models/conversation.rb +1 -1
  168. data/lib/repull/models/conversation_detail.rb +1 -1
  169. data/lib/repull/models/conversation_guest.rb +1 -1
  170. data/lib/repull/models/conversation_guest_contact.rb +1 -1
  171. data/lib/repull/models/conversation_host.rb +1 -1
  172. data/lib/repull/models/conversation_list_response.rb +1 -1
  173. data/lib/repull/models/conversation_message_attachment.rb +1 -1
  174. data/lib/repull/models/create_airbnb_listing_room_request.rb +1 -1
  175. data/lib/repull/models/create_airbnb_offer_request.rb +1 -1
  176. data/lib/repull/models/create_airbnb_offer_request_guest_details.rb +1 -1
  177. data/lib/repull/models/create_billing_checkout_request.rb +1 -1
  178. data/lib/repull/models/create_booking_webhook_request.rb +1 -1
  179. data/lib/repull/models/create_connect_session_request.rb +1 -1
  180. data/lib/repull/models/create_connect_session_request_copy.rb +1 -1
  181. data/lib/repull/models/create_connect_session_request_workspace.rb +1 -1
  182. data/lib/repull/models/create_connection_request.rb +1 -1
  183. data/lib/repull/models/create_conversation_special_offer201_response.rb +1 -1
  184. data/lib/repull/models/create_conversation_special_offer201_response_guests.rb +1 -1
  185. data/lib/repull/models/create_conversation_special_offer_request.rb +1 -1
  186. data/lib/repull/models/create_conversation_special_offer_request_guests.rb +1 -1
  187. data/lib/repull/models/create_webhook_request.rb +1 -1
  188. data/lib/repull/models/custom_schema.rb +1 -1
  189. data/lib/repull/models/custom_schema_create.rb +1 -1
  190. data/lib/repull/models/custom_schema_create_response.rb +1 -1
  191. data/lib/repull/models/custom_schema_delete_response.rb +1 -1
  192. data/lib/repull/models/custom_schema_list_response.rb +1 -1
  193. data/lib/repull/models/custom_schema_summary.rb +1 -1
  194. data/lib/repull/models/custom_schema_update.rb +1 -1
  195. data/lib/repull/models/decline_reservation_request_request.rb +1 -1
  196. data/lib/repull/models/delete_airbnb_listing_photo200_response.rb +1 -1
  197. data/lib/repull/models/delete_airbnb_listing_room200_response.rb +1 -1
  198. data/lib/repull/models/delete_connection200_response.rb +1 -1
  199. data/lib/repull/models/delete_kv200_response.rb +1 -1
  200. data/lib/repull/models/delete_migration200_response.rb +1 -1
  201. data/lib/repull/models/delete_migration200_response_data.rb +1 -1
  202. data/lib/repull/models/error.rb +1 -1
  203. data/lib/repull/models/error_error.rb +1 -1
  204. data/lib/repull/models/error_error_support.rb +1 -1
  205. data/lib/repull/models/get_airbnb_alteration200_response.rb +1 -1
  206. data/lib/repull/models/get_airbnb_booking_settings200_response.rb +1 -1
  207. data/lib/repull/models/get_airbnb_booking_settings200_response_data.rb +1 -1
  208. data/lib/repull/models/get_airbnb_booking_settings200_response_data_advance_notice.rb +1 -1
  209. data/lib/repull/models/get_airbnb_booking_settings200_response_data_booking_window.rb +1 -1
  210. data/lib/repull/models/get_airbnb_booking_settings200_response_data_cancellation.rb +1 -1
  211. data/lib/repull/models/get_airbnb_booking_settings200_response_data_cancellation_non_refundable.rb +1 -1
  212. data/lib/repull/models/get_airbnb_booking_settings200_response_data_check_in.rb +1 -1
  213. data/lib/repull/models/get_airbnb_booking_settings200_response_data_check_in_start.rb +1 -1
  214. data/lib/repull/models/get_airbnb_booking_settings200_response_data_check_out.rb +1 -1
  215. data/lib/repull/models/get_airbnb_booking_settings200_response_data_instant_book.rb +1 -1
  216. data/lib/repull/models/get_airbnb_booking_settings200_response_data_preparation_time.rb +1 -1
  217. data/lib/repull/models/get_airbnb_checkin_guide200_response.rb +1 -1
  218. data/lib/repull/models/get_airbnb_listing_details200_response.rb +1 -1
  219. data/lib/repull/models/get_airbnb_listing_quality200_response.rb +1 -1
  220. data/lib/repull/models/get_airbnb_listing_settings200_response.rb +1 -1
  221. data/lib/repull/models/get_airbnb_offer200_response.rb +1 -1
  222. data/lib/repull/models/get_airbnb_thread200_response.rb +1 -1
  223. data/lib/repull/models/get_health200_response.rb +1 -1
  224. data/lib/repull/models/get_listing_markups200_response.rb +1 -1
  225. data/lib/repull/models/get_listing_markups200_response_airbnb_inner.rb +1 -1
  226. data/lib/repull/models/get_listing_markups200_response_booking_inner.rb +1 -1
  227. data/lib/repull/models/get_migration200_response.rb +1 -1
  228. data/lib/repull/models/get_migration_channel_map200_response.rb +1 -1
  229. data/lib/repull/models/get_migration_report200_response.rb +1 -1
  230. data/lib/repull/models/get_usage_logs200_response.rb +1 -1
  231. data/lib/repull/models/get_usage_logs200_response_data_inner.rb +1 -1
  232. data/lib/repull/models/get_usage_logs200_response_pagination.rb +1 -1
  233. data/lib/repull/models/get_usage_summary200_response.rb +14 -5
  234. data/lib/repull/models/get_usage_summary200_response_breakdown_inner.rb +1 -1
  235. data/lib/repull/models/get_usage_summary200_response_limits.rb +1 -1
  236. data/lib/repull/models/get_usage_summary200_response_remaining.rb +1 -1
  237. data/lib/repull/models/get_usage_summary200_response_status_distribution.rb +1 -1
  238. data/lib/repull/models/get_usage_summary200_response_timeline_inner.rb +1 -1
  239. data/lib/repull/models/get_usage_summary200_response_totals.rb +1 -1
  240. data/lib/repull/models/get_usage_summary200_response_used.rb +1 -1
  241. data/lib/repull/models/get_usage_tier200_response.rb +1 -1
  242. data/lib/repull/models/get_usage_tier200_response_limits.rb +1 -1
  243. data/lib/repull/models/get_usage_tier200_response_remaining.rb +1 -1
  244. data/lib/repull/models/get_usage_tier200_response_used.rb +1 -1
  245. data/lib/repull/models/guest.rb +1 -1
  246. data/lib/repull/models/guest_contact.rb +1 -1
  247. data/lib/repull/models/guest_create_request.rb +1 -1
  248. data/lib/repull/models/guest_create_response.rb +1 -1
  249. data/lib/repull/models/guest_create_response_contacts_inner.rb +1 -1
  250. data/lib/repull/models/guest_flag.rb +2 -2
  251. data/lib/repull/models/guest_list_response.rb +1 -1
  252. data/lib/repull/models/guest_note.rb +1 -1
  253. data/lib/repull/models/guest_profile.rb +2 -2
  254. data/lib/repull/models/guest_reservations_summary.rb +1 -1
  255. data/lib/repull/models/inquiry_created_event.rb +1 -1
  256. data/lib/repull/models/inquiry_created_payload.rb +1 -1
  257. data/lib/repull/models/inquiry_updated_event.rb +1 -1
  258. data/lib/repull/models/inquiry_updated_payload.rb +1 -1
  259. data/lib/repull/models/inquiry_webhook_object.rb +1 -1
  260. data/lib/repull/models/inquiry_webhook_object_expected_payout.rb +1 -1
  261. data/lib/repull/models/inquiry_webhook_object_guests.rb +1 -1
  262. data/lib/repull/models/list_airbnb_alterations200_response.rb +1 -1
  263. data/lib/repull/models/list_airbnb_listing_amenities200_response.rb +1 -1
  264. data/lib/repull/models/list_airbnb_listing_amenities200_response_data.rb +1 -1
  265. data/lib/repull/models/list_airbnb_listing_permits200_response.rb +1 -1
  266. data/lib/repull/models/list_airbnb_listing_safety_disclosures200_response.rb +1 -1
  267. data/lib/repull/models/list_airbnb_thread_messages200_response.rb +1 -1
  268. data/lib/repull/models/list_airbnb_thread_messages200_response_data_inner.rb +1 -1
  269. data/lib/repull/models/list_airbnb_thread_messages200_response_pagination.rb +1 -1
  270. data/lib/repull/models/list_airbnb_transactions200_response.rb +28 -2
  271. data/lib/repull/models/list_booking_reservations200_response.rb +1 -1
  272. data/lib/repull/models/list_inquiries200_response.rb +1 -1
  273. data/lib/repull/models/list_inquiries200_response_data_inner.rb +1 -1
  274. data/lib/repull/models/list_inquiries200_response_data_inner_expected_payout.rb +1 -1
  275. data/lib/repull/models/list_inquiries200_response_data_inner_guests.rb +1 -1
  276. data/lib/repull/models/list_kv200_response.rb +1 -1
  277. data/lib/repull/models/list_kv200_response_data_inner.rb +1 -1
  278. data/lib/repull/models/list_kv200_response_pagination.rb +1 -1
  279. data/lib/repull/models/list_listing_units200_response.rb +167 -0
  280. data/lib/repull/models/list_listing_units200_response_data_inner.rb +207 -0
  281. data/lib/repull/models/list_migrations200_response.rb +1 -1
  282. data/lib/repull/models/listing.rb +14 -2
  283. data/lib/repull/models/listing_active_request.rb +1 -1
  284. data/lib/repull/models/listing_active_response.rb +1 -1
  285. data/lib/repull/models/listing_address.rb +1 -1
  286. data/lib/repull/models/listing_address_readiness.rb +1 -1
  287. data/lib/repull/models/listing_amenity.rb +1 -1
  288. data/lib/repull/models/listing_channel.rb +1 -1
  289. data/lib/repull/models/listing_comp.rb +1 -1
  290. data/lib/repull/models/listing_comp_nightly.rb +1 -1
  291. data/lib/repull/models/listing_comp_ratings.rb +1 -1
  292. data/lib/repull/models/listing_comps_response.rb +1 -1
  293. data/lib/repull/models/listing_content.rb +1 -1
  294. data/lib/repull/models/listing_content_update_request.rb +1 -1
  295. data/lib/repull/models/listing_content_update_request_address.rb +1 -1
  296. data/lib/repull/models/listing_content_update_request_amenities.rb +1 -1
  297. data/lib/repull/models/listing_content_update_request_amenities_one_of_inner.rb +1 -1
  298. data/lib/repull/models/listing_content_update_request_checkout_tasks_inner.rb +1 -1
  299. data/lib/repull/models/listing_content_update_request_details.rb +1 -1
  300. data/lib/repull/models/listing_content_update_request_occupancy.rb +1 -1
  301. data/lib/repull/models/listing_content_update_request_photos_inner.rb +1 -1
  302. data/lib/repull/models/listing_content_update_request_photos_inner_one_of.rb +1 -1
  303. data/lib/repull/models/listing_content_update_request_policies.rb +1 -1
  304. data/lib/repull/models/listing_content_update_request_pricing.rb +1 -1
  305. data/lib/repull/models/listing_content_update_request_rooms_inner.rb +1 -1
  306. data/lib/repull/models/listing_content_update_request_rooms_inner_beds_inner.rb +1 -1
  307. data/lib/repull/models/listing_content_update_response.rb +1 -1
  308. data/lib/repull/models/listing_create_request.rb +1 -1
  309. data/lib/repull/models/listing_create_response.rb +1 -1
  310. data/lib/repull/models/listing_created_event.rb +1 -1
  311. data/lib/repull/models/listing_created_payload.rb +1 -1
  312. data/lib/repull/models/listing_created_payload_address.rb +1 -1
  313. data/lib/repull/models/listing_deleted_event.rb +1 -1
  314. data/lib/repull/models/listing_deleted_payload.rb +1 -1
  315. data/lib/repull/models/listing_details.rb +1 -1
  316. data/lib/repull/models/listing_generate_content_request.rb +1 -1
  317. data/lib/repull/models/listing_generate_content_response.rb +1 -1
  318. data/lib/repull/models/listing_list_response.rb +11 -2
  319. data/lib/repull/models/listing_market_state_request.rb +1 -1
  320. data/lib/repull/models/listing_market_state_response.rb +1 -1
  321. data/lib/repull/models/listing_photo.rb +1 -1
  322. data/lib/repull/models/listing_photo_delete_request.rb +1 -1
  323. data/lib/repull/models/listing_photo_delete_response.rb +1 -1
  324. data/lib/repull/models/listing_photo_upload_url_request.rb +19 -3
  325. data/lib/repull/models/listing_photo_upload_url_response.rb +16 -6
  326. data/lib/repull/models/listing_photos_response.rb +1 -1
  327. data/lib/repull/models/listing_pricing_apply_request.rb +1 -1
  328. data/lib/repull/models/listing_pricing_apply_response.rb +1 -1
  329. data/lib/repull/models/listing_pricing_history_entry.rb +1 -1
  330. data/lib/repull/models/listing_pricing_history_response.rb +1 -1
  331. data/lib/repull/models/listing_pricing_recommendation.rb +2 -2
  332. data/lib/repull/models/listing_pricing_response.rb +1 -1
  333. data/lib/repull/models/listing_pricing_response_comp_summary.rb +1 -1
  334. data/lib/repull/models/listing_pricing_response_date_range.rb +1 -1
  335. data/lib/repull/models/listing_pricing_response_listing.rb +1 -1
  336. data/lib/repull/models/listing_pricing_strategy.rb +1 -1
  337. data/lib/repull/models/listing_pricing_strategy_input.rb +1 -1
  338. data/lib/repull/models/listing_publish_airbnb_request.rb +1 -1
  339. data/lib/repull/models/listing_publish_airbnb_response.rb +1 -1
  340. data/lib/repull/models/listing_publish_booking_request.rb +1 -1
  341. data/lib/repull/models/listing_publish_booking_response.rb +1 -1
  342. data/lib/repull/models/listing_publish_status_channel.rb +1 -1
  343. data/lib/repull/models/listing_publish_status_connection.rb +1 -1
  344. data/lib/repull/models/listing_publish_status_response.rb +1 -1
  345. data/lib/repull/models/listing_pull_airbnb_request.rb +1 -1
  346. data/lib/repull/models/listing_pull_response.rb +1 -1
  347. data/lib/repull/models/listing_quality_tier.rb +1 -1
  348. data/lib/repull/models/listing_reactivated_event.rb +1 -1
  349. data/lib/repull/models/listing_segment.rb +1 -1
  350. data/lib/repull/models/listing_segment_recommendation.rb +1 -1
  351. data/lib/repull/models/listing_segments_response.rb +1 -1
  352. data/lib/repull/models/listing_segments_response_scope.rb +1 -1
  353. data/lib/repull/models/listing_status_batch_request.rb +1 -1
  354. data/lib/repull/models/listing_status_batch_response.rb +1 -1
  355. data/lib/repull/models/listing_suspended_event.rb +1 -1
  356. data/lib/repull/models/listing_suspension_payload.rb +1 -1
  357. data/lib/repull/models/listing_units_inner.rb +204 -0
  358. data/lib/repull/models/listing_updated_event.rb +1 -1
  359. data/lib/repull/models/listing_updated_payload.rb +1 -1
  360. data/lib/repull/models/listing_webhook_object.rb +1 -1
  361. data/lib/repull/models/listing_webhook_object_address.rb +1 -1
  362. data/lib/repull/models/listing_webhook_object_channels_inner.rb +1 -1
  363. data/lib/repull/models/map_airbnb_listing_request.rb +1 -1
  364. data/lib/repull/models/map_airbnb_listing_response.rb +1 -1
  365. data/lib/repull/models/map_booking_room_request.rb +1 -1
  366. data/lib/repull/models/map_booking_room_response.rb +17 -6
  367. data/lib/repull/models/map_connect_booking_rooms_request.rb +1 -1
  368. data/lib/repull/models/map_connect_booking_rooms_response.rb +29 -8
  369. data/lib/repull/models/market_browse_category.rb +1 -1
  370. data/lib/repull/models/market_browse_entry.rb +1 -1
  371. data/lib/repull/models/market_browse_featured.rb +1 -1
  372. data/lib/repull/models/market_browse_response.rb +1 -1
  373. data/lib/repull/models/market_calendar_day.rb +1 -1
  374. data/lib/repull/models/market_calendar_day_events_inner.rb +1 -1
  375. data/lib/repull/models/market_calendar_response.rb +1 -1
  376. data/lib/repull/models/market_detail_response.rb +1 -1
  377. data/lib/repull/models/market_detail_response_price_distribution_inner.rb +1 -1
  378. data/lib/repull/models/market_detail_response_property_type_mix_inner.rb +1 -1
  379. data/lib/repull/models/market_detail_response_supply_trend_inner.rb +1 -1
  380. data/lib/repull/models/market_detail_response_top_comps.rb +1 -1
  381. data/lib/repull/models/market_event.rb +1 -1
  382. data/lib/repull/models/market_my_listing.rb +1 -1
  383. data/lib/repull/models/market_summary.rb +1 -1
  384. data/lib/repull/models/market_top_comp.rb +1 -1
  385. data/lib/repull/models/markets_overview_response.rb +1 -1
  386. data/lib/repull/models/markets_overview_response_browse.rb +1 -1
  387. data/lib/repull/models/markets_overview_response_subscriptions.rb +1 -1
  388. data/lib/repull/models/markets_overview_response_totals.rb +1 -1
  389. data/lib/repull/models/message.rb +3 -3
  390. data/lib/repull/models/message_list_response.rb +1 -1
  391. data/lib/repull/models/migration.rb +1 -1
  392. data/lib/repull/models/migration_channel_map.rb +1 -1
  393. data/lib/repull/models/migration_channel_map_listings_inner.rb +1 -1
  394. data/lib/repull/models/migration_channel_map_listings_inner_airbnb.rb +1 -1
  395. data/lib/repull/models/migration_channel_map_listings_inner_booking.rb +1 -1
  396. data/lib/repull/models/migration_channel_map_sources_inner.rb +1 -1
  397. data/lib/repull/models/migration_completed_event.rb +1 -1
  398. data/lib/repull/models/migration_connections_inner.rb +1 -1
  399. data/lib/repull/models/migration_counts.rb +1 -1
  400. data/lib/repull/models/migration_cutover_check.rb +1 -1
  401. data/lib/repull/models/migration_cutover_check_mismatched_inner.rb +1 -1
  402. data/lib/repull/models/migration_failed_event.rb +1 -1
  403. data/lib/repull/models/migration_import_payload.rb +1 -1
  404. data/lib/repull/models/migration_import_payload_results_inner.rb +1 -1
  405. data/lib/repull/models/migration_import_run.rb +1 -1
  406. data/lib/repull/models/migration_import_run_results_inner.rb +1 -1
  407. data/lib/repull/models/migration_report.rb +1 -1
  408. data/lib/repull/models/migration_report_issues_inner.rb +1 -1
  409. data/lib/repull/models/migration_reservation_ref.rb +1 -1
  410. data/lib/repull/models/pagination.rb +1 -1
  411. data/lib/repull/models/payment_completed_event.rb +1 -1
  412. data/lib/repull/models/payment_completed_payload.rb +1 -1
  413. data/lib/repull/models/payment_refunded_event.rb +1 -1
  414. data/lib/repull/models/payment_refunded_payload.rb +1 -1
  415. data/lib/repull/models/payment_webhook_object.rb +1 -1
  416. data/lib/repull/models/payout_completed_event.rb +281 -0
  417. data/lib/repull/models/payout_completed_payload.rb +257 -0
  418. data/lib/repull/models/plan_notice.rb +283 -0
  419. data/lib/repull/models/plumguide_listing.rb +1 -1
  420. data/lib/repull/models/plumguide_listing_list_response.rb +1 -1
  421. data/lib/repull/models/preapprove_conversation201_response.rb +1 -1
  422. data/lib/repull/models/preapprove_conversation_request.rb +1 -1
  423. data/lib/repull/models/property.rb +1 -1
  424. data/lib/repull/models/property_availability.rb +1 -1
  425. data/lib/repull/models/property_availability_coverage.rb +1 -1
  426. data/lib/repull/models/property_availability_day.rb +41 -5
  427. data/lib/repull/models/property_list_response.rb +11 -2
  428. data/lib/repull/models/publish_section_error.rb +1 -1
  429. data/lib/repull/models/quote.rb +1 -1
  430. data/lib/repull/models/quote_pricing.rb +1 -1
  431. data/lib/repull/models/reorder_airbnb_listing_photos200_response.rb +1 -1
  432. data/lib/repull/models/reorder_airbnb_listing_photos200_response_data.rb +1 -1
  433. data/lib/repull/models/reorder_airbnb_listing_photos_request.rb +1 -1
  434. data/lib/repull/models/replay_webhook_delivery_request.rb +1 -1
  435. data/lib/repull/models/reply_booking_review200_response.rb +1 -1
  436. data/lib/repull/models/reply_booking_review_request.rb +1 -1
  437. data/lib/repull/models/reply_to_review201_response.rb +1 -1
  438. data/lib/repull/models/reply_to_review_request.rb +1 -1
  439. data/lib/repull/models/repull_ping_event.rb +1 -1
  440. data/lib/repull/models/repull_ping_payload.rb +1 -1
  441. data/lib/repull/models/reservation.rb +12 -2
  442. data/lib/repull/models/reservation_alteration_created_event.rb +1 -1
  443. data/lib/repull/models/reservation_alteration_created_payload.rb +1 -1
  444. data/lib/repull/models/reservation_alteration_responded_event.rb +1 -1
  445. data/lib/repull/models/reservation_alteration_responded_payload.rb +1 -1
  446. data/lib/repull/models/reservation_cancelled_event.rb +1 -1
  447. data/lib/repull/models/reservation_cancelled_payload.rb +1 -1
  448. data/lib/repull/models/reservation_create_request.rb +1 -1
  449. data/lib/repull/models/reservation_create_response.rb +27 -7
  450. data/lib/repull/models/reservation_create_response_pms.rb +180 -0
  451. data/lib/repull/models/reservation_create_response_unit.rb +158 -0
  452. data/lib/repull/models/reservation_created_event.rb +1 -1
  453. data/lib/repull/models/reservation_created_payload.rb +1 -1
  454. data/lib/repull/models/reservation_financials.rb +1 -1
  455. data/lib/repull/models/reservation_guest_financials.rb +1 -1
  456. data/lib/repull/models/reservation_guest_input.rb +1 -1
  457. data/lib/repull/models/reservation_host_financials.rb +1 -1
  458. data/lib/repull/models/reservation_list_response.rb +1 -1
  459. data/lib/repull/models/reservation_message_received_event.rb +1 -1
  460. data/lib/repull/models/reservation_message_received_payload.rb +1 -1
  461. data/lib/repull/models/reservation_message_received_payload_from.rb +1 -1
  462. data/lib/repull/models/reservation_message_sent_event.rb +281 -0
  463. data/lib/repull/models/reservation_message_sent_payload.rb +263 -0
  464. data/lib/repull/models/reservation_message_sent_payload_from.rb +158 -0
  465. data/lib/repull/models/{airbnb_transaction_host_breakdown.rb → reservation_message_updated_event.rb} +128 -93
  466. data/lib/repull/models/reservation_message_updated_payload.rb +244 -0
  467. data/lib/repull/models/reservation_message_updated_payload_from.rb +157 -0
  468. data/lib/repull/models/reservation_money_line.rb +1 -1
  469. data/lib/repull/models/reservation_occupancy.rb +1 -1
  470. data/lib/repull/models/reservation_primary_guest.rb +1 -1
  471. data/lib/repull/models/reservation_request_created_event.rb +1 -1
  472. data/lib/repull/models/reservation_request_created_payload.rb +1 -1
  473. data/lib/repull/models/reservation_request_updated_event.rb +1 -1
  474. data/lib/repull/models/reservation_request_updated_payload.rb +1 -1
  475. data/lib/repull/models/reservation_unit.rb +159 -0
  476. data/lib/repull/models/reservation_update_request.rb +1 -1
  477. data/lib/repull/models/reservation_update_response.rb +1 -1
  478. data/lib/repull/models/reservation_updated_event.rb +1 -1
  479. data/lib/repull/models/reservation_updated_payload.rb +1 -1
  480. data/lib/repull/models/reservation_webhook_object.rb +1 -1
  481. data/lib/repull/models/respond_airbnb_review_request.rb +1 -1
  482. data/lib/repull/models/review.rb +2 -2
  483. data/lib/repull/models/review_category.rb +1 -1
  484. data/lib/repull/models/review_created_event.rb +1 -1
  485. data/lib/repull/models/review_created_payload.rb +1 -1
  486. data/lib/repull/models/review_list_response.rb +1 -1
  487. data/lib/repull/models/review_responded_event.rb +1 -1
  488. data/lib/repull/models/review_responded_payload.rb +1 -1
  489. data/lib/repull/models/review_response.rb +1 -1
  490. data/lib/repull/models/review_webhook_object.rb +1 -1
  491. data/lib/repull/models/rotate_webhook_secret200_response.rb +1 -1
  492. data/lib/repull/models/run_migration_import202_response.rb +1 -1
  493. data/lib/repull/models/run_migration_import202_response_data.rb +1 -1
  494. data/lib/repull/models/run_migration_import202_response_data_queued_inner.rb +1 -1
  495. data/lib/repull/models/run_migration_import_request.rb +1 -1
  496. data/lib/repull/models/select_connect_provider_request.rb +1 -1
  497. data/lib/repull/models/select_provider_response.rb +1 -1
  498. data/lib/repull/models/send_airbnb_message201_response.rb +1 -1
  499. data/lib/repull/models/send_airbnb_message_request.rb +1 -1
  500. data/lib/repull/models/send_booking_message_request.rb +1 -1
  501. data/lib/repull/models/send_message_attachment.rb +1 -1
  502. data/lib/repull/models/send_message_part.rb +1 -1
  503. data/lib/repull/models/send_message_request.rb +1 -1
  504. data/lib/repull/models/send_message_response.rb +1 -1
  505. data/lib/repull/models/sent_attachment.rb +1 -1
  506. data/lib/repull/models/set_airbnb_listing_cover_photo200_response.rb +1 -1
  507. data/lib/repull/models/set_airbnb_listing_cover_photo200_response_data.rb +1 -1
  508. data/lib/repull/models/set_airbnb_listing_cover_photo_request.rb +1 -1
  509. data/lib/repull/models/set_kv_request.rb +1 -1
  510. data/lib/repull/models/set_listing_markup_request.rb +1 -1
  511. data/lib/repull/models/submit_beds24_credentials200_response.rb +1 -1
  512. data/lib/repull/models/submit_beds24_credentials_request.rb +1 -1
  513. data/lib/repull/models/submit_bookingsync_credentials_request.rb +1 -1
  514. data/lib/repull/models/submit_cloudbeds_credentials200_response.rb +204 -0
  515. data/lib/repull/models/submit_cloudbeds_credentials200_response_account_info.rb +170 -0
  516. data/lib/repull/models/submit_cloudbeds_credentials200_response_webhooks.rb +158 -0
  517. data/lib/repull/models/submit_cloudbeds_credentials_request.rb +174 -0
  518. data/lib/repull/models/submit_cloudbeds_credentials_request_credentials.rb +178 -0
  519. data/lib/repull/models/submit_guesty_credentials_request.rb +1 -1
  520. data/lib/repull/models/submit_hospitable_credentials_request.rb +1 -1
  521. data/lib/repull/models/submit_hostaway_credentials_request.rb +1 -1
  522. data/lib/repull/models/submit_igms_credentials_request.rb +1 -1
  523. data/lib/repull/models/submit_lodgify_credentials_request.rb +1 -1
  524. data/lib/repull/models/submit_mews_credentials200_response.rb +204 -0
  525. data/lib/repull/models/submit_mews_credentials200_response_account_info.rb +170 -0
  526. data/lib/repull/models/submit_mews_credentials_request.rb +174 -0
  527. data/lib/repull/models/submit_mews_credentials_request_credentials.rb +212 -0
  528. data/lib/repull/models/submit_ownerrez_credentials_request.rb +1 -1
  529. data/lib/repull/models/submit_smoobu_credentials_request.rb +1 -1
  530. data/lib/repull/models/submit_vrbo_credentials_request.rb +1 -1
  531. data/lib/repull/models/sync_airbnb_transactions200_response.rb +34 -6
  532. data/lib/repull/models/sync_airbnb_transactions200_response_accounts_inner.rb +254 -0
  533. data/lib/repull/models/sync_airbnb_transactions200_response_accounts_inner_error.rb +191 -0
  534. data/lib/repull/models/sync_airbnb_transactions_request.rb +4 -3
  535. data/lib/repull/models/test_webhook_request.rb +1 -1
  536. data/lib/repull/models/update_airbnb_booking_settings200_response.rb +1 -1
  537. data/lib/repull/models/update_airbnb_booking_settings200_response_data.rb +1 -1
  538. data/lib/repull/models/update_airbnb_booking_settings_request.rb +1 -1
  539. data/lib/repull/models/update_airbnb_booking_settings_request_advance_notice.rb +1 -1
  540. data/lib/repull/models/update_airbnb_booking_settings_request_booking_window.rb +1 -1
  541. data/lib/repull/models/update_airbnb_booking_settings_request_cancellation.rb +1 -1
  542. data/lib/repull/models/update_airbnb_booking_settings_request_cancellation_non_refundable.rb +1 -1
  543. data/lib/repull/models/update_airbnb_booking_settings_request_check_in.rb +1 -1
  544. data/lib/repull/models/update_airbnb_booking_settings_request_check_out.rb +1 -1
  545. data/lib/repull/models/update_airbnb_booking_settings_request_instant_book.rb +1 -1
  546. data/lib/repull/models/update_airbnb_booking_settings_request_preparation_time.rb +1 -1
  547. data/lib/repull/models/update_airbnb_listing_amenities200_response.rb +1 -1
  548. data/lib/repull/models/update_airbnb_listing_amenities200_response_data.rb +1 -1
  549. data/lib/repull/models/update_airbnb_listing_amenities_request.rb +1 -1
  550. data/lib/repull/models/update_airbnb_listing_amenities_request_accessibility_amenities_inner.rb +1 -1
  551. data/lib/repull/models/update_airbnb_listing_amenities_request_amenities_inner.rb +1 -1
  552. data/lib/repull/models/update_airbnb_listing_permits200_response.rb +1 -1
  553. data/lib/repull/models/update_airbnb_listing_photo200_response.rb +1 -1
  554. data/lib/repull/models/update_airbnb_listing_photo_request.rb +1 -1
  555. data/lib/repull/models/update_airbnb_listing_room200_response.rb +1 -1
  556. data/lib/repull/models/update_airbnb_listing_room_request.rb +1 -1
  557. data/lib/repull/models/update_airbnb_listing_room_request_beds_inner.rb +1 -1
  558. data/lib/repull/models/update_airbnb_listing_room_request_room_amenities_inner.rb +1 -1
  559. data/lib/repull/models/update_airbnb_listing_room_request_room_amenities_inner_value.rb +1 -1
  560. data/lib/repull/models/update_airbnb_listing_safety_disclosures200_response.rb +1 -1
  561. data/lib/repull/models/update_airbnb_message_request.rb +1 -1
  562. data/lib/repull/models/update_booking_charges_request.rb +1 -1
  563. data/lib/repull/models/update_booking_content_request.rb +1 -1
  564. data/lib/repull/models/update_booking_content_request_content_data_inner.rb +1 -1
  565. data/lib/repull/models/update_booking_content_request_photos_inner.rb +1 -1
  566. data/lib/repull/models/update_listing_pricing_strategy200_response.rb +1 -1
  567. data/lib/repull/models/update_webhook_request.rb +1 -1
  568. data/lib/repull/models/upload_airbnb_listing_photos_request.rb +1 -1
  569. data/lib/repull/models/upload_airbnb_listing_photos_request_photos_inner.rb +1 -1
  570. data/lib/repull/models/upload_airbnb_listing_photos_request_photos_inner_listing_id.rb +1 -1
  571. data/lib/repull/models/usage_quota_warning_event.rb +1 -1
  572. data/lib/repull/models/usage_quota_warning_payload.rb +1 -1
  573. data/lib/repull/models/usage_quota_warning_payload_top_operation.rb +1 -1
  574. data/lib/repull/models/vrbo_listing.rb +1 -1
  575. data/lib/repull/models/vrbo_reservation.rb +1 -1
  576. data/lib/repull/models/vrbo_reservation_list_response.rb +1 -1
  577. data/lib/repull/models/webhook_delivery.rb +1 -1
  578. data/lib/repull/models/webhook_delivery_detail.rb +1 -1
  579. data/lib/repull/models/webhook_delivery_list_response.rb +1 -1
  580. data/lib/repull/models/webhook_event.rb +7 -1
  581. data/lib/repull/models/webhook_event_account.rb +1 -1
  582. data/lib/repull/models/webhook_event_catalog.rb +1 -1
  583. data/lib/repull/models/webhook_event_catalog_domains_inner.rb +1 -1
  584. data/lib/repull/models/webhook_event_catalog_entry.rb +1 -1
  585. data/lib/repull/models/webhook_event_type.rb +5 -2
  586. data/lib/repull/models/webhook_list_response.rb +1 -1
  587. data/lib/repull/models/webhook_subscription.rb +1 -1
  588. data/lib/repull/models/withdraw_conversation_special_offer200_response.rb +1 -1
  589. data/lib/repull/version.rb +2 -2
  590. data/lib/repull.rb +32 -3
  591. data/openapi/v1.json +1357 -255
  592. metadata +33 -4
@@ -4,7 +4,7 @@
4
4
  #The unified API for vacation rental tech. Connect to 50+ PMS platforms and 4 OTA channels through one REST API. Built-in AI operations for guest communication, pricing, and listing optimization. ## Designed for AI agents Every error response on this API includes machine-parseable fields so an LLM (Claude in MCP, Cursor, Cline, GPT, etc.) can self-recover without escalating to a human: - `error.code` — stable string identifier (e.g. `invalid_params`, `rate_limit_exceeded`) - `error.message` — human-readable cause - `error.fix` — exact recovery steps (e.g. \"Pass `check_in_after` as ISO 8601: `?check_in_after=2026-01-15`\") - `error.docs_url` — link to the canonical write-up at `https://repull.dev/docs/errors/{code}` - `error.request_id` — id to correlate with server-side logs - `error.field` / `error.value_received` / `error.valid_values` / `error.did_you_mean` — when the error is parameter-specific - `error.retry_after` — seconds to wait before retrying (rate-limit + transient upstream) `Access-Control-Expose-Headers` lists `x-request-id` and the `X-RateLimit-*` family so browsers can read them on cross-origin responses. ## Quick Start 1. Get an API key at https://repull.dev/dashboard 2. Connect a PMS: `POST /v1/connect/{provider}` 3. List properties: `GET /v1/properties` 4. Get reservations: `GET /v1/reservations` ## Authentication All requests require a Bearer token: ``` Authorization: Bearer sk_live_YOUR_API_KEY ``` ## Request Correlation (X-Request-ID) Every response carries an `X-Request-ID` header, e.g. `X-Request-ID: req_01HXY...`. Include this id in support tickets and bug reports — we can trace the full request lifecycle (auth, rate limit, handler, downstream calls, log row) from a single id. You may set the header on the inbound request to forward your own trace id; we will echo it back instead of generating a new one. Accepted format: `^[\\\\w.-]{1,128}$`. The id is also embedded in error envelopes as `request_id` so server-side log diffs work even when the response headers are stripped by an intermediate proxy. ## Rate Limits The public API enforces a per-API-key sliding-window rate limit on top of the per-tier monthly + daily-AI quotas. **Default policy:** 600 requests per 60 seconds, per API key. Sliding window — there is no fixed-minute boundary you can burst across. Every response includes: | Header | Meaning | |---|---| | `X-RateLimit-Limit` | Requests permitted in the current window. | | `X-RateLimit-Remaining` | Requests left in the current window after this call. | | `X-RateLimit-Reset` | Unix epoch (seconds) when the next slot opens. | | `X-RateLimit-Policy` | Machine-readable policy descriptor, e.g. `600;w=60`. | | `Retry-After` | Seconds to wait before retrying. **Only present on 429 responses.** | **On 429 (rate_limit_exceeded):** the response body matches the standard error envelope with `code: \"rate_limit_exceeded\"`, plus `limit`, `window_seconds`, `retry_after`, and `request_id` fields. SDKs MUST honor `Retry-After` and use exponential backoff with jitter on subsequent retries — never a tight loop. Recommended backoff: ``` sleep_ms = (Retry-After * 1000) + random(0..250) ``` Monthly + daily-AI tier quotas (`free`, `starter`, `custom`) are enforced separately and also surface as 429s; they include `tier`, `scope`, and `resetsAt` fields. ## Plan Limits (402 — `listings_limit_exceeded`) The Repull API also enforces a per-tier cap on **active listings**: | Tier | Active listings cap | |---|---| | `free` | 3 | | `starter` | 50 | | `custom` | unlimited | When a customer's active-listing count is above their tier cap, the API returns **`402 Payment Required`** with `error.code = \"listings_limit_exceeded\"` on every route EXCEPT: - `/v1/health` — uptime probes are never gated. - `/v1/usage/*` — so dashboards can render the over-cap state. - Any `DELETE` — so the customer can trim listings to get back under the cap without paying. Unlike 429, 402 is NOT a \"wait and retry\" condition — `Retry-After` is not set. The only paths back to 200 are: 1. `DELETE` enough listings to come back under the cap, or 2. Upgrade at `https://repull.dev/dashboard/billing`. The server-side usage cache is 60s, so the first 200 after an upgrade may take up to a minute. The envelope mirrors `rate_limit_exceeded` for SDK ergonomics: `tier`, `limit`, `active_listings`, `upgrade_url`, plus the standard `code` / `message` / `fix` / `docs_url` / `request_id`.
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
- Contact: ivan@vanio.ai
7
+
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.22.0
10
10
 
@@ -14,111 +14,97 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module Repull
17
- # One Airbnb host transaction — a reservation earning, a settled payout, or a resolution adjustment — with the genuine host- and guest-side financial breakdown Airbnb exposes. All money is in host currency; fees and withholding are negative (deductions). Two owner-statement concepts are NOT available from Airbnb and are listed in `unavailable_fields` rather than fabricated: property-management fee and itemised nightly discounts (the latter are already netted into `host_breakdown.accommodation_subtotal`).
17
+ # One line of the Airbnb settlement ledger: a Payout row (`isPayout: true`) or a line it paid. Money is in the payout currency; `amount` is signed (negative = taken back, e.g. an adjustment offset against this payout). A payout's lines sum to its `payout.paidOutAmount`.
18
18
  class AirbnbTransaction < ApiModelBase
19
- # Upstream Airbnb transaction id.
19
+ # Stable id. A Payout row: Airbnb's payout id. A settled line: `<payoutId>:<type>:<confirmationCode>:<n>`. An upcoming line: `upcoming:<accountId>:<type>:<confirmationCode>:<date>:<n>`. Identical on every refresh; upsert on it.
20
20
  attr_accessor :transaction_id
21
21
 
22
- # Transaction kind.
23
- attr_accessor :type
24
-
25
- attr_accessor :reference
26
-
27
- # Transaction date.
28
- attr_accessor :date
29
-
30
- # Airbnb confirmation code — links this transaction to a reservation.
31
- attr_accessor :confirmation_code
32
-
33
- # Resolved Vanio reservation id when the confirmation code matched a reservation in this workspace; null otherwise.
34
- attr_accessor :reservation_id
35
-
36
- # Which connected Airbnb account this transaction belongs to — the Airbnb host id, as a string (they exceed 2^53). `null` on rows that name no listing (payouts).
22
+ # The connected Airbnb account (host id, as a string — they exceed 2^53).
37
23
  attr_accessor :account_id
38
24
 
39
- # Display name of that connected Airbnb account.
40
25
  attr_accessor :account_name
41
26
 
42
- # Airbnb listing id.
43
- attr_accessor :listing_id
27
+ # `COMPLETED`: settled in a payout. `UPCOMING`: expected, not paid out yet.
28
+ attr_accessor :status
44
29
 
45
- attr_accessor :thread_id
30
+ # Airbnb's line type, verbatim: `Payout`, `Reservation`, `Adjustment`, `Resolution Payout`, `Resolution Adjustment`, `Cancellation Fee`, `Pass Through Tot`, …
31
+ attr_accessor :type
46
32
 
47
- attr_accessor :nights
33
+ # `true` on the Payout row itself.
34
+ attr_accessor :is_payout
48
35
 
49
- attr_accessor :reservation_start_date
36
+ # The line's date as Airbnb reports it. Can be the day before its payout's date.
37
+ attr_accessor :date
50
38
 
51
- attr_accessor :booked_at
39
+ attr_accessor :currency
52
40
 
53
- attr_accessor :check_in
41
+ # Signed amount this line contributes to its payout, after Airbnb's host service fee. On a Payout row, the amount paid out.
42
+ attr_accessor :amount
54
43
 
55
- attr_accessor :check_out
44
+ # Before Airbnb's host service fee: `amount - fees.hostServiceFee`.
45
+ attr_accessor :gross_amount
56
46
 
57
- attr_accessor :time_zone
47
+ attr_accessor :fees
58
48
 
59
- attr_accessor :guest_name
49
+ attr_accessor :payout
60
50
 
61
- # Payout status signal: COMPLETED (settled) vs UPCOMING (expected).
62
- attr_accessor :status
51
+ attr_accessor :confirmation_code
63
52
 
64
- attr_accessor :status_type
53
+ # Repull reservation id when the confirmation code matches a reservation in this workspace; `null` when it does not (explicitly unlinked).
54
+ attr_accessor :reservation_id
65
55
 
66
- attr_accessor :payout
56
+ # Airbnb listing id.
57
+ attr_accessor :listing_id
67
58
 
68
- attr_accessor :currency
59
+ attr_accessor :listing_name
69
60
 
70
- attr_accessor :host_currency
61
+ # `true` when the line is on a listing that is inactive in Repull. Still returned, so the payout reconciles.
62
+ attr_accessor :on_inactive_listing
71
63
 
72
- # Top-level transaction amount.
73
- attr_accessor :amount
64
+ attr_accessor :guest_name
74
65
 
75
- attr_accessor :host_breakdown
66
+ attr_accessor :nights
76
67
 
77
- attr_accessor :guest_breakdown
68
+ attr_accessor :reservation_start_date
78
69
 
79
- # Fields Airbnb does not expose (never fabricated), e.g. `management_fee`, `itemized_discounts`.
80
- attr_accessor :unavailable_fields
70
+ # Airbnb's description: the stay dates, the resolution, or on a Payout row the payout method.
71
+ attr_accessor :description
81
72
 
82
- # Raw Airbnb standard-fees array.
83
- attr_accessor :standard_fees
73
+ # The resolution id on resolution payouts and adjustments; else `null`.
74
+ attr_accessor :reference
84
75
 
85
- # Raw Airbnb tax-details object.
86
- attr_accessor :tax_details
76
+ # What Airbnb's transaction history does not carry, so it is never filled in: `taxes` (those Airbnb remits itself; pass-through tax paid to the host arrives as `Pass Through Tot` lines), `guest_paid_total`, `original_transaction_id`, `currency_conversion`, `management_fee`.
77
+ attr_accessor :unavailable_fields
87
78
 
88
79
  attr_accessor :synced_at
89
80
 
90
81
  # Attribute mapping from ruby-style variable name to JSON key.
91
82
  def self.attribute_map
92
83
  {
93
- :'transaction_id' => :'transaction_id',
84
+ :'transaction_id' => :'transactionId',
85
+ :'account_id' => :'accountId',
86
+ :'account_name' => :'accountName',
87
+ :'status' => :'status',
94
88
  :'type' => :'type',
95
- :'reference' => :'reference',
89
+ :'is_payout' => :'isPayout',
96
90
  :'date' => :'date',
97
- :'confirmation_code' => :'confirmation_code',
98
- :'reservation_id' => :'reservation_id',
99
- :'account_id' => :'account_id',
100
- :'account_name' => :'account_name',
101
- :'listing_id' => :'listing_id',
102
- :'thread_id' => :'thread_id',
103
- :'nights' => :'nights',
104
- :'reservation_start_date' => :'reservation_start_date',
105
- :'booked_at' => :'booked_at',
106
- :'check_in' => :'check_in',
107
- :'check_out' => :'check_out',
108
- :'time_zone' => :'time_zone',
109
- :'guest_name' => :'guest_name',
110
- :'status' => :'status',
111
- :'status_type' => :'status_type',
112
- :'payout' => :'payout',
113
91
  :'currency' => :'currency',
114
- :'host_currency' => :'host_currency',
115
92
  :'amount' => :'amount',
116
- :'host_breakdown' => :'host_breakdown',
117
- :'guest_breakdown' => :'guest_breakdown',
118
- :'unavailable_fields' => :'unavailable_fields',
119
- :'standard_fees' => :'standard_fees',
120
- :'tax_details' => :'tax_details',
121
- :'synced_at' => :'synced_at'
93
+ :'gross_amount' => :'grossAmount',
94
+ :'fees' => :'fees',
95
+ :'payout' => :'payout',
96
+ :'confirmation_code' => :'confirmationCode',
97
+ :'reservation_id' => :'reservationId',
98
+ :'listing_id' => :'listingId',
99
+ :'listing_name' => :'listingName',
100
+ :'on_inactive_listing' => :'onInactiveListing',
101
+ :'guest_name' => :'guestName',
102
+ :'nights' => :'nights',
103
+ :'reservation_start_date' => :'reservationStartDate',
104
+ :'description' => :'description',
105
+ :'reference' => :'reference',
106
+ :'unavailable_fields' => :'unavailableFields',
107
+ :'synced_at' => :'syncedAt'
122
108
  }
123
109
  end
124
110
 
@@ -136,33 +122,28 @@ module Repull
136
122
  def self.openapi_types
137
123
  {
138
124
  :'transaction_id' => :'String',
125
+ :'account_id' => :'String',
126
+ :'account_name' => :'String',
127
+ :'status' => :'String',
139
128
  :'type' => :'String',
140
- :'reference' => :'String',
129
+ :'is_payout' => :'Boolean',
141
130
  :'date' => :'Date',
131
+ :'currency' => :'String',
132
+ :'amount' => :'Float',
133
+ :'gross_amount' => :'Float',
134
+ :'fees' => :'AirbnbTransactionFees',
135
+ :'payout' => :'AirbnbTransactionPayout',
142
136
  :'confirmation_code' => :'String',
143
- :'reservation_id' => :'Integer',
144
- :'account_id' => :'String',
145
- :'account_name' => :'String',
137
+ :'reservation_id' => :'String',
146
138
  :'listing_id' => :'String',
147
- :'thread_id' => :'String',
139
+ :'listing_name' => :'String',
140
+ :'on_inactive_listing' => :'Boolean',
141
+ :'guest_name' => :'String',
148
142
  :'nights' => :'Integer',
149
143
  :'reservation_start_date' => :'Date',
150
- :'booked_at' => :'Time',
151
- :'check_in' => :'Time',
152
- :'check_out' => :'Time',
153
- :'time_zone' => :'String',
154
- :'guest_name' => :'String',
155
- :'status' => :'String',
156
- :'status_type' => :'String',
157
- :'payout' => :'AirbnbTransactionPayout',
158
- :'currency' => :'String',
159
- :'host_currency' => :'String',
160
- :'amount' => :'Float',
161
- :'host_breakdown' => :'AirbnbTransactionHostBreakdown',
162
- :'guest_breakdown' => :'AirbnbTransactionGuestBreakdown',
144
+ :'description' => :'String',
145
+ :'reference' => :'String',
163
146
  :'unavailable_fields' => :'Array<String>',
164
- :'standard_fees' => :'Object',
165
- :'tax_details' => :'Object',
166
147
  :'synced_at' => :'Time'
167
148
  }
168
149
  end
@@ -170,29 +151,21 @@ module Repull
170
151
  # List of attributes with nullable: true
171
152
  def self.openapi_nullable
172
153
  Set.new([
173
- :'type',
174
- :'reference',
154
+ :'account_id',
155
+ :'account_name',
175
156
  :'date',
157
+ :'currency',
158
+ :'amount',
159
+ :'gross_amount',
176
160
  :'confirmation_code',
177
161
  :'reservation_id',
178
- :'account_id',
179
- :'account_name',
180
162
  :'listing_id',
181
- :'thread_id',
163
+ :'listing_name',
164
+ :'guest_name',
182
165
  :'nights',
183
166
  :'reservation_start_date',
184
- :'booked_at',
185
- :'check_in',
186
- :'check_out',
187
- :'time_zone',
188
- :'guest_name',
189
- :'status',
190
- :'status_type',
191
- :'currency',
192
- :'host_currency',
193
- :'amount',
194
- :'standard_fees',
195
- :'tax_details',
167
+ :'description',
168
+ :'reference',
196
169
  :'synced_at'
197
170
  ])
198
171
  end
@@ -219,26 +192,6 @@ module Repull
219
192
  self.transaction_id = nil
220
193
  end
221
194
 
222
- if attributes.key?(:'type')
223
- self.type = attributes[:'type']
224
- end
225
-
226
- if attributes.key?(:'reference')
227
- self.reference = attributes[:'reference']
228
- end
229
-
230
- if attributes.key?(:'date')
231
- self.date = attributes[:'date']
232
- end
233
-
234
- if attributes.key?(:'confirmation_code')
235
- self.confirmation_code = attributes[:'confirmation_code']
236
- end
237
-
238
- if attributes.key?(:'reservation_id')
239
- self.reservation_id = attributes[:'reservation_id']
240
- end
241
-
242
195
  if attributes.key?(:'account_id')
243
196
  self.account_id = attributes[:'account_id']
244
197
  end
@@ -247,78 +200,92 @@ module Repull
247
200
  self.account_name = attributes[:'account_name']
248
201
  end
249
202
 
250
- if attributes.key?(:'listing_id')
251
- self.listing_id = attributes[:'listing_id']
203
+ if attributes.key?(:'status')
204
+ self.status = attributes[:'status']
205
+ else
206
+ self.status = nil
252
207
  end
253
208
 
254
- if attributes.key?(:'thread_id')
255
- self.thread_id = attributes[:'thread_id']
209
+ if attributes.key?(:'type')
210
+ self.type = attributes[:'type']
211
+ else
212
+ self.type = nil
256
213
  end
257
214
 
258
- if attributes.key?(:'nights')
259
- self.nights = attributes[:'nights']
215
+ if attributes.key?(:'is_payout')
216
+ self.is_payout = attributes[:'is_payout']
217
+ else
218
+ self.is_payout = nil
260
219
  end
261
220
 
262
- if attributes.key?(:'reservation_start_date')
263
- self.reservation_start_date = attributes[:'reservation_start_date']
221
+ if attributes.key?(:'date')
222
+ self.date = attributes[:'date']
264
223
  end
265
224
 
266
- if attributes.key?(:'booked_at')
267
- self.booked_at = attributes[:'booked_at']
225
+ if attributes.key?(:'currency')
226
+ self.currency = attributes[:'currency']
268
227
  end
269
228
 
270
- if attributes.key?(:'check_in')
271
- self.check_in = attributes[:'check_in']
229
+ if attributes.key?(:'amount')
230
+ self.amount = attributes[:'amount']
272
231
  end
273
232
 
274
- if attributes.key?(:'check_out')
275
- self.check_out = attributes[:'check_out']
233
+ if attributes.key?(:'gross_amount')
234
+ self.gross_amount = attributes[:'gross_amount']
276
235
  end
277
236
 
278
- if attributes.key?(:'time_zone')
279
- self.time_zone = attributes[:'time_zone']
237
+ if attributes.key?(:'fees')
238
+ self.fees = attributes[:'fees']
239
+ else
240
+ self.fees = nil
280
241
  end
281
242
 
282
- if attributes.key?(:'guest_name')
283
- self.guest_name = attributes[:'guest_name']
243
+ if attributes.key?(:'payout')
244
+ self.payout = attributes[:'payout']
245
+ else
246
+ self.payout = nil
284
247
  end
285
248
 
286
- if attributes.key?(:'status')
287
- self.status = attributes[:'status']
249
+ if attributes.key?(:'confirmation_code')
250
+ self.confirmation_code = attributes[:'confirmation_code']
288
251
  end
289
252
 
290
- if attributes.key?(:'status_type')
291
- self.status_type = attributes[:'status_type']
253
+ if attributes.key?(:'reservation_id')
254
+ self.reservation_id = attributes[:'reservation_id']
292
255
  end
293
256
 
294
- if attributes.key?(:'payout')
295
- self.payout = attributes[:'payout']
257
+ if attributes.key?(:'listing_id')
258
+ self.listing_id = attributes[:'listing_id']
259
+ end
260
+
261
+ if attributes.key?(:'listing_name')
262
+ self.listing_name = attributes[:'listing_name']
263
+ end
264
+
265
+ if attributes.key?(:'on_inactive_listing')
266
+ self.on_inactive_listing = attributes[:'on_inactive_listing']
296
267
  else
297
- self.payout = nil
268
+ self.on_inactive_listing = nil
298
269
  end
299
270
 
300
- if attributes.key?(:'currency')
301
- self.currency = attributes[:'currency']
271
+ if attributes.key?(:'guest_name')
272
+ self.guest_name = attributes[:'guest_name']
302
273
  end
303
274
 
304
- if attributes.key?(:'host_currency')
305
- self.host_currency = attributes[:'host_currency']
275
+ if attributes.key?(:'nights')
276
+ self.nights = attributes[:'nights']
306
277
  end
307
278
 
308
- if attributes.key?(:'amount')
309
- self.amount = attributes[:'amount']
279
+ if attributes.key?(:'reservation_start_date')
280
+ self.reservation_start_date = attributes[:'reservation_start_date']
310
281
  end
311
282
 
312
- if attributes.key?(:'host_breakdown')
313
- self.host_breakdown = attributes[:'host_breakdown']
314
- else
315
- self.host_breakdown = nil
283
+ if attributes.key?(:'description')
284
+ self.description = attributes[:'description']
316
285
  end
317
286
 
318
- if attributes.key?(:'guest_breakdown')
319
- self.guest_breakdown = attributes[:'guest_breakdown']
320
- else
321
- self.guest_breakdown = nil
287
+ if attributes.key?(:'reference')
288
+ self.reference = attributes[:'reference']
322
289
  end
323
290
 
324
291
  if attributes.key?(:'unavailable_fields')
@@ -329,14 +296,6 @@ module Repull
329
296
  self.unavailable_fields = nil
330
297
  end
331
298
 
332
- if attributes.key?(:'standard_fees')
333
- self.standard_fees = attributes[:'standard_fees']
334
- end
335
-
336
- if attributes.key?(:'tax_details')
337
- self.tax_details = attributes[:'tax_details']
338
- end
339
-
340
299
  if attributes.key?(:'synced_at')
341
300
  self.synced_at = attributes[:'synced_at']
342
301
  end
@@ -351,16 +310,28 @@ module Repull
351
310
  invalid_properties.push('invalid value for "transaction_id", transaction_id cannot be nil.')
352
311
  end
353
312
 
354
- if @payout.nil?
355
- invalid_properties.push('invalid value for "payout", payout cannot be nil.')
313
+ if @status.nil?
314
+ invalid_properties.push('invalid value for "status", status cannot be nil.')
315
+ end
316
+
317
+ if @type.nil?
318
+ invalid_properties.push('invalid value for "type", type cannot be nil.')
356
319
  end
357
320
 
358
- if @host_breakdown.nil?
359
- invalid_properties.push('invalid value for "host_breakdown", host_breakdown cannot be nil.')
321
+ if @is_payout.nil?
322
+ invalid_properties.push('invalid value for "is_payout", is_payout cannot be nil.')
360
323
  end
361
324
 
362
- if @guest_breakdown.nil?
363
- invalid_properties.push('invalid value for "guest_breakdown", guest_breakdown cannot be nil.')
325
+ if @fees.nil?
326
+ invalid_properties.push('invalid value for "fees", fees cannot be nil.')
327
+ end
328
+
329
+ if @payout.nil?
330
+ invalid_properties.push('invalid value for "payout", payout cannot be nil.')
331
+ end
332
+
333
+ if @on_inactive_listing.nil?
334
+ invalid_properties.push('invalid value for "on_inactive_listing", on_inactive_listing cannot be nil.')
364
335
  end
365
336
 
366
337
  if @unavailable_fields.nil?
@@ -375,9 +346,12 @@ module Repull
375
346
  def valid?
376
347
  warn '[DEPRECATED] the `valid?` method is obsolete'
377
348
  return false if @transaction_id.nil?
349
+ return false if @status.nil?
350
+ return false if @type.nil?
351
+ return false if @is_payout.nil?
352
+ return false if @fees.nil?
378
353
  return false if @payout.nil?
379
- return false if @host_breakdown.nil?
380
- return false if @guest_breakdown.nil?
354
+ return false if @on_inactive_listing.nil?
381
355
  return false if @unavailable_fields.nil?
382
356
  true
383
357
  end
@@ -393,33 +367,63 @@ module Repull
393
367
  end
394
368
 
395
369
  # Custom attribute writer method with validation
396
- # @param [Object] payout Value to be assigned
397
- def payout=(payout)
398
- if payout.nil?
399
- fail ArgumentError, 'payout cannot be nil'
370
+ # @param [Object] status Value to be assigned
371
+ def status=(status)
372
+ if status.nil?
373
+ fail ArgumentError, 'status cannot be nil'
400
374
  end
401
375
 
402
- @payout = payout
376
+ @status = status
377
+ end
378
+
379
+ # Custom attribute writer method with validation
380
+ # @param [Object] type Value to be assigned
381
+ def type=(type)
382
+ if type.nil?
383
+ fail ArgumentError, 'type cannot be nil'
384
+ end
385
+
386
+ @type = type
387
+ end
388
+
389
+ # Custom attribute writer method with validation
390
+ # @param [Object] is_payout Value to be assigned
391
+ def is_payout=(is_payout)
392
+ if is_payout.nil?
393
+ fail ArgumentError, 'is_payout cannot be nil'
394
+ end
395
+
396
+ @is_payout = is_payout
397
+ end
398
+
399
+ # Custom attribute writer method with validation
400
+ # @param [Object] fees Value to be assigned
401
+ def fees=(fees)
402
+ if fees.nil?
403
+ fail ArgumentError, 'fees cannot be nil'
404
+ end
405
+
406
+ @fees = fees
403
407
  end
404
408
 
405
409
  # Custom attribute writer method with validation
406
- # @param [Object] host_breakdown Value to be assigned
407
- def host_breakdown=(host_breakdown)
408
- if host_breakdown.nil?
409
- fail ArgumentError, 'host_breakdown cannot be nil'
410
+ # @param [Object] payout Value to be assigned
411
+ def payout=(payout)
412
+ if payout.nil?
413
+ fail ArgumentError, 'payout cannot be nil'
410
414
  end
411
415
 
412
- @host_breakdown = host_breakdown
416
+ @payout = payout
413
417
  end
414
418
 
415
419
  # Custom attribute writer method with validation
416
- # @param [Object] guest_breakdown Value to be assigned
417
- def guest_breakdown=(guest_breakdown)
418
- if guest_breakdown.nil?
419
- fail ArgumentError, 'guest_breakdown cannot be nil'
420
+ # @param [Object] on_inactive_listing Value to be assigned
421
+ def on_inactive_listing=(on_inactive_listing)
422
+ if on_inactive_listing.nil?
423
+ fail ArgumentError, 'on_inactive_listing cannot be nil'
420
424
  end
421
425
 
422
- @guest_breakdown = guest_breakdown
426
+ @on_inactive_listing = on_inactive_listing
423
427
  end
424
428
 
425
429
  # Custom attribute writer method with validation
@@ -438,33 +442,28 @@ module Repull
438
442
  return true if self.equal?(o)
439
443
  self.class == o.class &&
440
444
  transaction_id == o.transaction_id &&
445
+ account_id == o.account_id &&
446
+ account_name == o.account_name &&
447
+ status == o.status &&
441
448
  type == o.type &&
442
- reference == o.reference &&
449
+ is_payout == o.is_payout &&
443
450
  date == o.date &&
451
+ currency == o.currency &&
452
+ amount == o.amount &&
453
+ gross_amount == o.gross_amount &&
454
+ fees == o.fees &&
455
+ payout == o.payout &&
444
456
  confirmation_code == o.confirmation_code &&
445
457
  reservation_id == o.reservation_id &&
446
- account_id == o.account_id &&
447
- account_name == o.account_name &&
448
458
  listing_id == o.listing_id &&
449
- thread_id == o.thread_id &&
459
+ listing_name == o.listing_name &&
460
+ on_inactive_listing == o.on_inactive_listing &&
461
+ guest_name == o.guest_name &&
450
462
  nights == o.nights &&
451
463
  reservation_start_date == o.reservation_start_date &&
452
- booked_at == o.booked_at &&
453
- check_in == o.check_in &&
454
- check_out == o.check_out &&
455
- time_zone == o.time_zone &&
456
- guest_name == o.guest_name &&
457
- status == o.status &&
458
- status_type == o.status_type &&
459
- payout == o.payout &&
460
- currency == o.currency &&
461
- host_currency == o.host_currency &&
462
- amount == o.amount &&
463
- host_breakdown == o.host_breakdown &&
464
- guest_breakdown == o.guest_breakdown &&
464
+ description == o.description &&
465
+ reference == o.reference &&
465
466
  unavailable_fields == o.unavailable_fields &&
466
- standard_fees == o.standard_fees &&
467
- tax_details == o.tax_details &&
468
467
  synced_at == o.synced_at
469
468
  end
470
469
 
@@ -477,7 +476,7 @@ module Repull
477
476
  # Calculates hash code according to all attributes.
478
477
  # @return [Integer] Hash code
479
478
  def hash
480
- [transaction_id, type, reference, date, confirmation_code, reservation_id, account_id, account_name, listing_id, thread_id, nights, reservation_start_date, booked_at, check_in, check_out, time_zone, guest_name, status, status_type, payout, currency, host_currency, amount, host_breakdown, guest_breakdown, unavailable_fields, standard_fees, tax_details, synced_at].hash
479
+ [transaction_id, account_id, account_name, status, type, is_payout, date, currency, amount, gross_amount, fees, payout, confirmation_code, reservation_id, listing_id, listing_name, on_inactive_listing, guest_name, nights, reservation_start_date, description, reference, unavailable_fields, synced_at].hash
481
480
  end
482
481
 
483
482
  # Builds the object from hash