square.rb 44.2.0.20251016 → 45.0.1.20260122

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 (499) hide show
  1. checksums.yaml +4 -4
  2. data/.fern/metadata.json +9 -0
  3. data/.fernignore +20 -0
  4. data/.rubocop.yml +60 -0
  5. data/LICENSE +1 -1
  6. data/Rakefile +29 -0
  7. data/custom.gemspec.rb +19 -0
  8. data/lib/square/apple_pay/client.rb +24 -10
  9. data/lib/square/bank_accounts/client.rb +144 -31
  10. data/lib/square/bank_accounts/types/create_bank_account_request.rb +13 -0
  11. data/lib/square/bank_accounts/types/disable_bank_account_request.rb +11 -0
  12. data/lib/square/bank_accounts/types/get_by_v_1_id_bank_accounts_request.rb +1 -1
  13. data/lib/square/bank_accounts/types/list_bank_accounts_request.rb +1 -0
  14. data/lib/square/bookings/client.rb +238 -100
  15. data/lib/square/bookings/custom_attribute_definitions/client.rb +139 -67
  16. data/lib/square/bookings/custom_attribute_definitions/types/create_booking_custom_attribute_definition_request.rb +1 -3
  17. data/lib/square/bookings/custom_attribute_definitions/types/update_booking_custom_attribute_definition_request.rb +1 -3
  18. data/lib/square/bookings/custom_attributes/client.rb +168 -76
  19. data/lib/square/bookings/custom_attributes/types/bulk_delete_booking_custom_attributes_request.rb +1 -3
  20. data/lib/square/bookings/custom_attributes/types/bulk_upsert_booking_custom_attributes_request.rb +1 -3
  21. data/lib/square/bookings/location_profiles/client.rb +44 -24
  22. data/lib/square/bookings/team_member_profiles/client.rb +66 -31
  23. data/lib/square/cards/client.rb +103 -45
  24. data/lib/square/cash_drawers/client.rb +3 -1
  25. data/lib/square/cash_drawers/shifts/client.rb +121 -61
  26. data/lib/square/catalog/client.rb +203 -91
  27. data/lib/square/catalog/images/client.rb +50 -20
  28. data/lib/square/catalog/object/client.rb +66 -29
  29. data/lib/square/catalog/object/types/delete_object_request.rb +1 -1
  30. data/lib/square/catalog/object/types/get_object_request.rb +1 -1
  31. data/lib/square/catalog/types/batch_upsert_catalog_objects_request.rb +1 -3
  32. data/lib/square/catalog/types/search_catalog_items_request.rb +3 -9
  33. data/lib/square/catalog/types/search_catalog_objects_request.rb +1 -3
  34. data/lib/square/channels/client.rb +85 -38
  35. data/lib/square/checkout/client.rb +77 -31
  36. data/lib/square/checkout/payment_links/client.rb +120 -54
  37. data/lib/square/client.rb +8 -10
  38. data/lib/square/customers/cards/client.rb +43 -16
  39. data/lib/square/customers/client.rb +220 -97
  40. data/lib/square/customers/custom_attribute_definitions/client.rb +157 -74
  41. data/lib/square/customers/custom_attribute_definitions/types/batch_upsert_customer_custom_attributes_request.rb +1 -3
  42. data/lib/square/customers/custom_attribute_definitions/types/create_customer_custom_attribute_definition_request.rb +1 -3
  43. data/lib/square/customers/custom_attribute_definitions/types/update_customer_custom_attribute_definition_request.rb +1 -3
  44. data/lib/square/customers/custom_attributes/client.rb +117 -53
  45. data/lib/square/customers/groups/client.rb +156 -67
  46. data/lib/square/customers/segments/client.rb +62 -31
  47. data/lib/square/customers/types/bulk_create_customers_request.rb +1 -3
  48. data/lib/square/customers/types/bulk_update_customers_request.rb +1 -3
  49. data/lib/square/devices/client.rb +66 -31
  50. data/lib/square/devices/codes/client.rb +83 -38
  51. data/lib/square/disputes/client.rb +140 -60
  52. data/lib/square/disputes/evidence/client.rb +83 -39
  53. data/lib/square/employees/client.rb +66 -31
  54. data/lib/square/events/client.rb +80 -38
  55. data/lib/square/file_param.rb +77 -77
  56. data/lib/square/gift_cards/activities/client.rb +73 -31
  57. data/lib/square/gift_cards/client.rb +163 -69
  58. data/lib/square/internal/http/base_request.rb +6 -0
  59. data/lib/square/internal/http/raw_client.rb +111 -20
  60. data/lib/square/internal/iterators/cursor_item_iterator.rb +28 -0
  61. data/lib/square/internal/iterators/cursor_page_iterator.rb +51 -0
  62. data/lib/square/internal/iterators/item_iterator.rb +65 -0
  63. data/lib/square/internal/iterators/offset_item_iterator.rb +30 -0
  64. data/lib/square/internal/iterators/offset_page_iterator.rb +83 -0
  65. data/lib/square/internal/json/request.rb +2 -1
  66. data/lib/square/internal/multipart/multipart_request.rb +2 -1
  67. data/lib/square/internal/types/enum.rb +8 -0
  68. data/lib/square/internal/types/model/field.rb +11 -1
  69. data/lib/square/internal/types/model.rb +14 -4
  70. data/lib/square/internal/types/union.rb +88 -7
  71. data/lib/square/internal/types/utils.rb +20 -4
  72. data/lib/square/inventory/client.rb +100 -76
  73. data/lib/square/invoices/client.rb +228 -99
  74. data/lib/square/labor/break_types/client.rb +120 -53
  75. data/lib/square/labor/client.rb +205 -81
  76. data/lib/square/labor/employee_wages/client.rb +64 -31
  77. data/lib/square/labor/shifts/client.rb +94 -37
  78. data/lib/square/labor/team_member_wages/client.rb +64 -31
  79. data/lib/square/labor/types/bulk_publish_scheduled_shifts_request.rb +2 -6
  80. data/lib/square/labor/types/publish_scheduled_shift_request.rb +1 -3
  81. data/lib/square/labor/workweek_configs/client.rb +65 -32
  82. data/lib/square/locations/client.rb +102 -41
  83. data/lib/square/locations/custom_attribute_definitions/client.rb +135 -64
  84. data/lib/square/locations/custom_attribute_definitions/types/create_location_custom_attribute_definition_request.rb +1 -3
  85. data/lib/square/locations/custom_attribute_definitions/types/update_location_custom_attribute_definition_request.rb +1 -3
  86. data/lib/square/locations/custom_attributes/client.rb +156 -68
  87. data/lib/square/locations/custom_attributes/types/bulk_delete_location_custom_attributes_request.rb +1 -3
  88. data/lib/square/locations/custom_attributes/types/bulk_upsert_location_custom_attributes_request.rb +1 -3
  89. data/lib/square/locations/transactions/client.rb +93 -37
  90. data/lib/square/locations/types/create_checkout_request.rb +1 -3
  91. data/lib/square/loyalty/accounts/client.rb +109 -44
  92. data/lib/square/loyalty/accounts/types/search_loyalty_accounts_request.rb +1 -3
  93. data/lib/square/loyalty/client.rb +20 -8
  94. data/lib/square/loyalty/programs/client.rb +72 -29
  95. data/lib/square/loyalty/programs/promotions/client.rb +106 -46
  96. data/lib/square/loyalty/rewards/client.rb +96 -38
  97. data/lib/square/loyalty/rewards/types/search_loyalty_rewards_request.rb +1 -3
  98. data/lib/square/merchants/client.rb +60 -31
  99. data/lib/square/merchants/custom_attribute_definitions/client.rb +137 -65
  100. data/lib/square/merchants/custom_attribute_definitions/types/create_merchant_custom_attribute_definition_request.rb +1 -3
  101. data/lib/square/merchants/custom_attribute_definitions/types/update_merchant_custom_attribute_definition_request.rb +1 -3
  102. data/lib/square/merchants/custom_attributes/client.rb +156 -68
  103. data/lib/square/merchants/custom_attributes/types/bulk_delete_merchant_custom_attributes_request.rb +1 -3
  104. data/lib/square/merchants/custom_attributes/types/bulk_upsert_merchant_custom_attributes_request.rb +1 -3
  105. data/lib/square/o_auth/client.rb +76 -31
  106. data/lib/square/o_auth/types/obtain_token_request.rb +1 -0
  107. data/lib/square/orders/client.rb +156 -63
  108. data/lib/square/orders/custom_attribute_definitions/client.rb +137 -65
  109. data/lib/square/orders/custom_attribute_definitions/types/create_order_custom_attribute_definition_request.rb +1 -3
  110. data/lib/square/orders/custom_attribute_definitions/types/update_order_custom_attribute_definition_request.rb +1 -3
  111. data/lib/square/orders/custom_attributes/client.rb +159 -69
  112. data/lib/square/orders/custom_attributes/types/bulk_delete_order_custom_attributes_request.rb +1 -3
  113. data/lib/square/orders/custom_attributes/types/bulk_upsert_order_custom_attributes_request.rb +1 -3
  114. data/lib/square/orders/types/calculate_order_request.rb +1 -3
  115. data/lib/square/payments/client.rb +182 -70
  116. data/lib/square/payouts/client.rb +116 -54
  117. data/lib/square/refunds/client.rb +97 -40
  118. data/lib/square/refunds/types/refund_payment_request.rb +1 -3
  119. data/lib/square/sites/client.rb +26 -11
  120. data/lib/square/snippets/client.rb +73 -28
  121. data/lib/square/subscriptions/client.rb +271 -117
  122. data/lib/square/team/client.rb +81 -36
  123. data/lib/square/team_members/client.rb +119 -49
  124. data/lib/square/team_members/types/batch_create_team_members_request.rb +1 -3
  125. data/lib/square/team_members/types/batch_update_team_members_request.rb +1 -3
  126. data/lib/square/team_members/wage_setting/client.rb +48 -19
  127. data/lib/square/terminal/actions/client.rb +75 -30
  128. data/lib/square/terminal/checkouts/client.rb +76 -30
  129. data/lib/square/terminal/client.rb +60 -23
  130. data/lib/square/terminal/refunds/client.rb +78 -31
  131. data/lib/square/transfer_orders/client.rb +26 -21
  132. data/lib/square/types/address.rb +2 -1
  133. data/lib/square/types/application_details.rb +1 -3
  134. data/lib/square/types/application_type.rb +23 -0
  135. data/lib/square/types/availability.rb +3 -4
  136. data/lib/square/types/bank_account.rb +1 -0
  137. data/lib/square/types/batch_create_team_members_response.rb +1 -3
  138. data/lib/square/types/batch_create_vendors_response.rb +1 -3
  139. data/lib/square/types/batch_get_catalog_objects_response.rb +1 -3
  140. data/lib/square/types/batch_get_vendors_response.rb +1 -3
  141. data/lib/square/types/batch_update_team_members_response.rb +1 -3
  142. data/lib/square/types/batch_update_vendors_response.rb +1 -3
  143. data/lib/square/types/batch_upsert_catalog_objects_response.rb +1 -3
  144. data/lib/square/types/batch_upsert_customer_custom_attributes_request_customer_custom_attribute_upsert_request.rb +2 -1
  145. data/lib/square/types/batch_upsert_customer_custom_attributes_response.rb +4 -4
  146. data/lib/square/types/batch_upsert_customer_custom_attributes_response_customer_custom_attribute_upsert_response.rb +3 -1
  147. data/lib/square/types/booking.rb +2 -6
  148. data/lib/square/types/booking_created_event.rb +2 -1
  149. data/lib/square/types/booking_custom_attribute_definition_visible_created_event.rb +2 -1
  150. data/lib/square/types/booking_custom_attribute_definition_visible_deleted_event.rb +2 -1
  151. data/lib/square/types/booking_custom_attribute_definition_visible_updated_event.rb +2 -1
  152. data/lib/square/types/booking_custom_attribute_delete_request.rb +4 -2
  153. data/lib/square/types/booking_custom_attribute_delete_response.rb +3 -1
  154. data/lib/square/types/booking_custom_attribute_upsert_request.rb +2 -1
  155. data/lib/square/types/booking_custom_attribute_upsert_response.rb +3 -1
  156. data/lib/square/types/booking_updated_event.rb +2 -1
  157. data/lib/square/types/bulk_create_customers_response.rb +1 -3
  158. data/lib/square/types/bulk_delete_booking_custom_attributes_response.rb +4 -4
  159. data/lib/square/types/bulk_delete_customers_response.rb +1 -3
  160. data/lib/square/types/bulk_delete_location_custom_attributes_request_location_custom_attribute_delete_request.rb +2 -1
  161. data/lib/square/types/bulk_delete_location_custom_attributes_response.rb +4 -4
  162. data/lib/square/types/bulk_delete_location_custom_attributes_response_location_custom_attribute_delete_response.rb +2 -1
  163. data/lib/square/types/bulk_delete_merchant_custom_attributes_request_merchant_custom_attribute_delete_request.rb +2 -1
  164. data/lib/square/types/bulk_delete_merchant_custom_attributes_response.rb +4 -4
  165. data/lib/square/types/bulk_delete_merchant_custom_attributes_response_merchant_custom_attribute_delete_response.rb +2 -1
  166. data/lib/square/types/bulk_delete_order_custom_attributes_response.rb +1 -3
  167. data/lib/square/types/bulk_publish_scheduled_shifts_response.rb +1 -3
  168. data/lib/square/types/bulk_retrieve_bookings_response.rb +1 -3
  169. data/lib/square/types/bulk_retrieve_channels_request_constants.rb +23 -0
  170. data/lib/square/types/bulk_retrieve_channels_response.rb +1 -3
  171. data/lib/square/types/bulk_retrieve_customers_response.rb +1 -3
  172. data/lib/square/types/bulk_retrieve_team_member_booking_profiles_response.rb +3 -4
  173. data/lib/square/types/bulk_update_customers_response.rb +1 -3
  174. data/lib/square/types/bulk_upsert_booking_custom_attributes_response.rb +4 -4
  175. data/lib/square/types/bulk_upsert_location_custom_attributes_request_location_custom_attribute_upsert_request.rb +2 -1
  176. data/lib/square/types/bulk_upsert_location_custom_attributes_response.rb +4 -4
  177. data/lib/square/types/bulk_upsert_location_custom_attributes_response_location_custom_attribute_upsert_response.rb +3 -1
  178. data/lib/square/types/bulk_upsert_merchant_custom_attributes_request_merchant_custom_attribute_upsert_request.rb +2 -1
  179. data/lib/square/types/bulk_upsert_merchant_custom_attributes_response.rb +4 -4
  180. data/lib/square/types/bulk_upsert_merchant_custom_attributes_response_merchant_custom_attribute_upsert_response.rb +3 -1
  181. data/lib/square/types/bulk_upsert_order_custom_attributes_response.rb +1 -3
  182. data/lib/square/types/business_appointment_settings.rb +4 -12
  183. data/lib/square/types/business_booking_profile.rb +2 -6
  184. data/lib/square/types/buy_now_pay_later_details.rb +1 -0
  185. data/lib/square/types/card.rb +2 -0
  186. data/lib/square/types/card_issuer_alert.rb +23 -0
  187. data/lib/square/types/catalog_category.rb +1 -3
  188. data/lib/square/types/catalog_custom_attribute_definition.rb +6 -18
  189. data/lib/square/types/catalog_custom_attribute_definition_selection_config.rb +1 -3
  190. data/lib/square/types/catalog_id_mapping.rb +1 -1
  191. data/lib/square/types/catalog_info_response.rb +1 -3
  192. data/lib/square/types/catalog_item.rb +6 -12
  193. data/lib/square/types/catalog_item_food_and_beverage_details.rb +2 -6
  194. data/lib/square/types/catalog_item_food_and_beverage_details_dietary_preference.rb +2 -6
  195. data/lib/square/types/catalog_item_food_and_beverage_details_ingredient.rb +2 -6
  196. data/lib/square/types/catalog_item_modifier_list_info.rb +6 -9
  197. data/lib/square/types/catalog_item_variation.rb +17 -13
  198. data/lib/square/types/catalog_modifier.rb +4 -4
  199. data/lib/square/types/catalog_modifier_list.rb +4 -2
  200. data/lib/square/types/catalog_modifier_override.rb +2 -2
  201. data/lib/square/types/catalog_modifier_toggle_override_type.rb +13 -0
  202. data/lib/square/types/catalog_object.rb +7 -3
  203. data/lib/square/types/catalog_object_base.rb +2 -4
  204. data/lib/square/types/catalog_object_category.rb +3 -4
  205. data/lib/square/types/catalog_object_custom_attribute_definition.rb +1 -3
  206. data/lib/square/types/catalog_object_quick_amounts_settings.rb +1 -3
  207. data/lib/square/types/catalog_object_reference.rb +1 -1
  208. data/lib/square/types/catalog_object_subscription_plan_variation.rb +1 -3
  209. data/lib/square/types/catalog_query.rb +11 -13
  210. data/lib/square/types/catalog_query_prefix.rb +2 -1
  211. data/lib/square/types/catalog_query_text.rb +2 -1
  212. data/lib/square/types/catalog_subscription_plan.rb +5 -5
  213. data/lib/square/types/catalog_subscription_plan_variation.rb +4 -2
  214. data/lib/square/types/catalog_v_1_id.rb +1 -1
  215. data/lib/square/types/catalog_version_updated_event_object.rb +1 -3
  216. data/lib/square/types/checkout.rb +1 -3
  217. data/lib/square/types/checkout_location_settings.rb +1 -3
  218. data/lib/square/types/checkout_location_settings_branding.rb +2 -6
  219. data/lib/square/types/checkout_merchant_settings.rb +1 -3
  220. data/lib/square/types/checkout_merchant_settings_payment_methods.rb +4 -12
  221. data/lib/square/types/checkout_merchant_settings_payment_methods_afterpay_clearpay.rb +2 -6
  222. data/lib/square/types/component.rb +4 -12
  223. data/lib/square/types/create_bank_account_response.rb +11 -0
  224. data/lib/square/types/create_booking_custom_attribute_definition_response.rb +4 -4
  225. data/lib/square/types/create_catalog_image_request.rb +1 -1
  226. data/lib/square/types/create_customer_custom_attribute_definition_response.rb +4 -4
  227. data/lib/square/types/create_location_custom_attribute_definition_response.rb +4 -4
  228. data/lib/square/types/create_merchant_custom_attribute_definition_response.rb +4 -4
  229. data/lib/square/types/create_order_custom_attribute_definition_response.rb +1 -3
  230. data/lib/square/types/create_transfer_order_data.rb +3 -4
  231. data/lib/square/types/create_webhook_subscription_response.rb +2 -1
  232. data/lib/square/types/custom_attribute.rb +1 -1
  233. data/lib/square/types/custom_attribute_definition.rb +1 -3
  234. data/lib/square/types/custom_attribute_definition_event_data_object.rb +1 -3
  235. data/lib/square/types/custom_field.rb +2 -1
  236. data/lib/square/types/customer_address_filter.rb +2 -1
  237. data/lib/square/types/customer_created_event.rb +4 -2
  238. data/lib/square/types/customer_created_event_event_context_merge.rb +2 -1
  239. data/lib/square/types/customer_creation_source_filter.rb +1 -3
  240. data/lib/square/types/customer_custom_attribute_filter.rb +2 -1
  241. data/lib/square/types/customer_custom_attribute_filter_value.rb +2 -1
  242. data/lib/square/types/customer_custom_attribute_filters.rb +7 -6
  243. data/lib/square/types/customer_custom_attribute_visible_updated_event.rb +6 -3
  244. data/lib/square/types/customer_deleted_event.rb +4 -2
  245. data/lib/square/types/customer_deleted_event_event_context_merge.rb +2 -1
  246. data/lib/square/types/customer_tax_ids.rb +4 -2
  247. data/lib/square/types/customer_updated_event.rb +4 -2
  248. data/lib/square/types/delete_booking_custom_attribute_definition_response.rb +5 -2
  249. data/lib/square/types/delete_booking_custom_attribute_response.rb +2 -1
  250. data/lib/square/types/delete_customer_custom_attribute_response.rb +2 -1
  251. data/lib/square/types/delete_location_custom_attribute_response.rb +2 -1
  252. data/lib/square/types/delete_merchant_custom_attribute_response.rb +2 -1
  253. data/lib/square/types/delete_subscription_action_response.rb +2 -1
  254. data/lib/square/types/delete_webhook_subscription_response.rb +2 -1
  255. data/lib/square/types/destination_details.rb +1 -3
  256. data/lib/square/types/device_checkout_options.rb +1 -0
  257. data/lib/square/types/device_component_details_ethernet_details.rb +1 -1
  258. data/lib/square/types/device_component_details_wi_fi_details.rb +1 -1
  259. data/lib/square/types/digital_wallet_details.rb +1 -0
  260. data/lib/square/types/disable_bank_account_response.rb +11 -0
  261. data/lib/square/types/dispute.rb +2 -1
  262. data/lib/square/types/dispute_evidence_added_event.rb +2 -1
  263. data/lib/square/types/dispute_evidence_created_event.rb +2 -1
  264. data/lib/square/types/employee_wage.rb +2 -1
  265. data/lib/square/types/error_code.rb +2 -0
  266. data/lib/square/types/event_data.rb +1 -3
  267. data/lib/square/types/fulfillment.rb +4 -7
  268. data/lib/square/types/fulfillment_delivery_details.rb +1 -3
  269. data/lib/square/types/fulfillment_pickup_details.rb +1 -3
  270. data/lib/square/types/get_bank_account_response.rb +1 -1
  271. data/lib/square/types/get_booking_request.rb +23 -0
  272. data/lib/square/types/get_business_booking_profile_request.rb +23 -0
  273. data/lib/square/types/get_card_request.rb +23 -0
  274. data/lib/square/types/get_catalog_object_response.rb +1 -3
  275. data/lib/square/types/get_customer_custom_attribute_definition_response.rb +4 -4
  276. data/lib/square/types/get_customer_custom_attribute_response.rb +2 -1
  277. data/lib/square/types/get_customer_group_request.rb +23 -0
  278. data/lib/square/types/get_customer_request.rb +23 -0
  279. data/lib/square/types/get_customer_segment_request.rb +23 -0
  280. data/lib/square/types/get_dispute_evidence_request.rb +23 -0
  281. data/lib/square/types/get_dispute_request.rb +23 -0
  282. data/lib/square/types/get_employee_request.rb +23 -0
  283. data/lib/square/types/get_gift_card_request.rb +23 -0
  284. data/lib/square/types/get_inventory_adjustment_request.rb +23 -0
  285. data/lib/square/types/get_inventory_physical_count_request.rb +23 -0
  286. data/lib/square/types/get_inventory_transfer_request.rb +23 -0
  287. data/lib/square/types/get_location_request.rb +23 -0
  288. data/lib/square/types/get_loyalty_account_request.rb +23 -0
  289. data/lib/square/types/get_loyalty_program_request.rb +23 -0
  290. data/lib/square/types/get_loyalty_promotion_request.rb +23 -0
  291. data/lib/square/types/get_loyalty_reward_request.rb +23 -0
  292. data/lib/square/types/get_merchant_request.rb +23 -0
  293. data/lib/square/types/get_order_request.rb +23 -0
  294. data/lib/square/types/get_payment_link_request.rb +23 -0
  295. data/lib/square/types/get_snippet_request.rb +23 -0
  296. data/lib/square/types/get_team_member_booking_profile_request.rb +23 -0
  297. data/lib/square/types/get_team_member_booking_profile_response.rb +1 -3
  298. data/lib/square/types/get_team_member_request.rb +23 -0
  299. data/lib/square/types/get_transaction_request.rb +23 -0
  300. data/lib/square/types/get_vendor_request.rb +23 -0
  301. data/lib/square/types/get_wage_setting_request.rb +23 -0
  302. data/lib/square/types/get_webhook_subscription_request.rb +23 -0
  303. data/lib/square/types/get_webhook_subscription_response.rb +2 -1
  304. data/lib/square/types/gift_card_activity.rb +8 -24
  305. data/lib/square/types/gift_card_activity_block_reason.rb +23 -0
  306. data/lib/square/types/gift_card_activity_unblock_reason.rb +23 -0
  307. data/lib/square/types/gift_card_activity_updated_event.rb +2 -1
  308. data/lib/square/types/inventory_count_updated_event_object.rb +1 -3
  309. data/lib/square/types/invoice.rb +6 -13
  310. data/lib/square/types/invoice_accepted_payment_methods.rb +2 -1
  311. data/lib/square/types/invoice_attachment.rb +1 -1
  312. data/lib/square/types/invoice_custom_field.rb +2 -1
  313. data/lib/square/types/invoice_payment_made_event.rb +2 -1
  314. data/lib/square/types/invoice_payment_request.rb +6 -8
  315. data/lib/square/types/invoice_refunded_event.rb +2 -1
  316. data/lib/square/types/invoice_sort_field.rb +23 -0
  317. data/lib/square/types/labor_scheduled_shift_created_event_object.rb +1 -1
  318. data/lib/square/types/labor_scheduled_shift_published_event_object.rb +1 -1
  319. data/lib/square/types/labor_scheduled_shift_updated_event_object.rb +1 -1
  320. data/lib/square/types/list_bank_accounts_response.rb +1 -1
  321. data/lib/square/types/list_booking_custom_attribute_definitions_response.rb +4 -4
  322. data/lib/square/types/list_booking_custom_attributes_response.rb +3 -4
  323. data/lib/square/types/list_cash_drawer_shift_events_response.rb +1 -3
  324. data/lib/square/types/list_cash_drawer_shifts_response.rb +1 -3
  325. data/lib/square/types/list_channels_request_constants.rb +23 -0
  326. data/lib/square/types/list_customer_custom_attribute_definitions_response.rb +4 -4
  327. data/lib/square/types/list_customer_custom_attributes_response.rb +3 -4
  328. data/lib/square/types/list_gift_card_activities_response.rb +1 -3
  329. data/lib/square/types/list_location_booking_profiles_response.rb +1 -3
  330. data/lib/square/types/list_location_custom_attribute_definitions_response.rb +4 -4
  331. data/lib/square/types/list_location_custom_attributes_response.rb +3 -4
  332. data/lib/square/types/list_loyalty_promotions_response.rb +1 -3
  333. data/lib/square/types/list_merchant_custom_attribute_definitions_response.rb +4 -4
  334. data/lib/square/types/list_merchant_custom_attributes_response.rb +3 -4
  335. data/lib/square/types/list_order_custom_attribute_definitions_response.rb +1 -3
  336. data/lib/square/types/list_order_custom_attributes_response.rb +1 -3
  337. data/lib/square/types/list_subscription_events_response.rb +1 -3
  338. data/lib/square/types/list_team_member_booking_profiles_response.rb +1 -3
  339. data/lib/square/types/list_team_member_wages_response.rb +1 -3
  340. data/lib/square/types/list_webhook_subscriptions_response.rb +1 -3
  341. data/lib/square/types/list_workweek_configs_response.rb +1 -3
  342. data/lib/square/types/location.rb +1 -3
  343. data/lib/square/types/location_booking_profile.rb +2 -1
  344. data/lib/square/types/location_custom_attribute_visible_updated_event.rb +6 -3
  345. data/lib/square/types/loyalty_account.rb +1 -3
  346. data/lib/square/types/loyalty_account_mapping_type.rb +23 -0
  347. data/lib/square/types/loyalty_event.rb +3 -4
  348. data/lib/square/types/loyalty_event_filter.rb +1 -3
  349. data/lib/square/types/loyalty_program.rb +4 -7
  350. data/lib/square/types/loyalty_program_accrual_rule.rb +3 -4
  351. data/lib/square/types/loyalty_program_reward_tier.rb +3 -1
  352. data/lib/square/types/loyalty_promotion_incentive.rb +2 -6
  353. data/lib/square/types/loyalty_promotion_incentive_points_addition_data.rb +2 -1
  354. data/lib/square/types/loyalty_promotion_incentive_points_multiplier_data.rb +2 -1
  355. data/lib/square/types/loyalty_promotion_trigger_limit.rb +2 -1
  356. data/lib/square/types/loyalty_reward.rb +4 -2
  357. data/lib/square/types/measurement_unit_generic.rb +23 -0
  358. data/lib/square/types/oauth_authorization_revoked_event_object.rb +1 -3
  359. data/lib/square/types/oauth_authorization_revoked_event_revocation_object.rb +1 -3
  360. data/lib/square/types/order.rb +2 -6
  361. data/lib/square/types/order_card_surcharge_treatment_type.rb +12 -0
  362. data/lib/square/types/order_custom_attribute_definition_owned_created_event.rb +2 -1
  363. data/lib/square/types/order_custom_attribute_definition_owned_deleted_event.rb +2 -1
  364. data/lib/square/types/order_custom_attribute_definition_owned_updated_event.rb +2 -1
  365. data/lib/square/types/order_custom_attribute_definition_visible_created_event.rb +2 -1
  366. data/lib/square/types/order_custom_attribute_definition_visible_deleted_event.rb +2 -1
  367. data/lib/square/types/order_custom_attribute_definition_visible_updated_event.rb +2 -1
  368. data/lib/square/types/order_custom_attribute_owned_deleted_event.rb +2 -1
  369. data/lib/square/types/order_custom_attribute_owned_updated_event.rb +2 -1
  370. data/lib/square/types/order_custom_attribute_visible_deleted_event.rb +2 -1
  371. data/lib/square/types/order_custom_attribute_visible_updated_event.rb +2 -1
  372. data/lib/square/types/order_fulfillment_updated.rb +1 -3
  373. data/lib/square/types/order_line_item.rb +4 -12
  374. data/lib/square/types/order_line_item_applied_tax.rb +1 -0
  375. data/lib/square/types/order_line_item_pricing_blocklists.rb +3 -6
  376. data/lib/square/types/order_line_item_pricing_blocklists_blocked_service_charge.rb +14 -0
  377. data/lib/square/types/order_return.rb +3 -9
  378. data/lib/square/types/order_return_line_item.rb +4 -12
  379. data/lib/square/types/order_return_service_charge.rb +3 -6
  380. data/lib/square/types/order_service_charge.rb +2 -6
  381. data/lib/square/types/payment.rb +1 -3
  382. data/lib/square/types/payment_link_related_resources.rb +1 -3
  383. data/lib/square/types/payment_refund.rb +1 -3
  384. data/lib/square/types/payout_entry.rb +24 -72
  385. data/lib/square/types/pre_populated_data.rb +2 -1
  386. data/lib/square/types/product_type.rb +23 -0
  387. data/lib/square/types/refund.rb +1 -3
  388. data/lib/square/types/retrieve_booking_custom_attribute_definition_response.rb +4 -4
  389. data/lib/square/types/retrieve_booking_custom_attribute_response.rb +2 -1
  390. data/lib/square/types/retrieve_location_custom_attribute_definition_response.rb +4 -4
  391. data/lib/square/types/retrieve_location_custom_attribute_response.rb +2 -1
  392. data/lib/square/types/retrieve_merchant_custom_attribute_definition_response.rb +4 -4
  393. data/lib/square/types/retrieve_merchant_custom_attribute_response.rb +2 -1
  394. data/lib/square/types/retrieve_order_custom_attribute_definition_response.rb +1 -3
  395. data/lib/square/types/scheduled_shift_filter.rb +3 -7
  396. data/lib/square/types/scheduled_shift_workday.rb +1 -3
  397. data/lib/square/types/search_availability_filter.rb +1 -3
  398. data/lib/square/types/search_catalog_items_response.rb +2 -1
  399. data/lib/square/types/search_catalog_objects_response.rb +1 -3
  400. data/lib/square/types/search_events_sort_field.rb +23 -0
  401. data/lib/square/types/search_loyalty_accounts_request_loyalty_account_query.rb +1 -3
  402. data/lib/square/types/search_loyalty_accounts_response.rb +1 -3
  403. data/lib/square/types/search_orders_date_time_filter.rb +2 -1
  404. data/lib/square/types/search_orders_fulfillment_filter.rb +2 -6
  405. data/lib/square/types/search_orders_source_filter.rb +2 -0
  406. data/lib/square/types/search_scheduled_shifts_response.rb +1 -3
  407. data/lib/square/types/search_transfer_orders_response.rb +1 -3
  408. data/lib/square/types/shift_filter.rb +3 -2
  409. data/lib/square/types/shift_query.rb +2 -1
  410. data/lib/square/types/shift_sort.rb +2 -1
  411. data/lib/square/types/shift_wage.rb +2 -1
  412. data/lib/square/types/shift_workday.rb +2 -1
  413. data/lib/square/types/snippet.rb +2 -1
  414. data/lib/square/types/standard_unit_description_group.rb +1 -3
  415. data/lib/square/types/subscription_event.rb +1 -3
  416. data/lib/square/types/subscription_phase.rb +2 -1
  417. data/lib/square/types/subscription_test_result.rb +5 -3
  418. data/lib/square/types/team_member_assigned_locations.rb +1 -3
  419. data/lib/square/types/team_member_booking_profile.rb +2 -1
  420. data/lib/square/types/tender.rb +2 -6
  421. data/lib/square/types/tender_buy_now_pay_later_details.rb +1 -3
  422. data/lib/square/types/terminal_refund.rb +2 -1
  423. data/lib/square/types/test_webhook_subscription_response.rb +5 -5
  424. data/lib/square/types/timecard_filter.rb +1 -1
  425. data/lib/square/types/transfer_order.rb +1 -3
  426. data/lib/square/types/transfer_order_filter.rb +1 -3
  427. data/lib/square/types/transfer_order_goods_receipt.rb +1 -3
  428. data/lib/square/types/update_booking_custom_attribute_definition_response.rb +4 -4
  429. data/lib/square/types/update_customer_custom_attribute_definition_response.rb +4 -4
  430. data/lib/square/types/update_location_custom_attribute_definition_response.rb +4 -4
  431. data/lib/square/types/update_merchant_custom_attribute_definition_response.rb +4 -4
  432. data/lib/square/types/update_order_custom_attribute_definition_response.rb +1 -3
  433. data/lib/square/types/update_transfer_order_data.rb +1 -3
  434. data/lib/square/types/update_webhook_subscription_response.rb +2 -1
  435. data/lib/square/types/update_webhook_subscription_signature_key_response.rb +3 -1
  436. data/lib/square/types/upsert_booking_custom_attribute_response.rb +2 -1
  437. data/lib/square/types/upsert_catalog_object_response.rb +1 -3
  438. data/lib/square/types/upsert_customer_custom_attribute_response.rb +2 -1
  439. data/lib/square/types/upsert_location_custom_attribute_response.rb +2 -1
  440. data/lib/square/types/upsert_merchant_custom_attribute_response.rb +2 -1
  441. data/lib/square/types/v_1_get_payment_request.rb +23 -0
  442. data/lib/square/types/v_1_get_settlement_request.rb +23 -0
  443. data/lib/square/types/v_1_order.rb +1 -3
  444. data/lib/square/types/vendor_created_event_object_operation.rb +23 -0
  445. data/lib/square/types/vendor_updated_event_object_operation.rb +23 -0
  446. data/lib/square/types/wage_setting.rb +1 -3
  447. data/lib/square/v_1_transactions/client.rb +72 -29
  448. data/lib/square/vendors/client.rb +126 -51
  449. data/lib/square/vendors/types/batch_update_vendors_request.rb +1 -3
  450. data/lib/square/version.rb +1 -1
  451. data/lib/square/webhooks/client.rb +3 -1
  452. data/lib/square/webhooks/event_types/client.rb +25 -14
  453. data/lib/square/webhooks/subscriptions/client.rb +164 -69
  454. data/lib/square.rb +57 -5
  455. data/lib/square_legacy/utilities/webhooks_helper.rb +1 -1
  456. data/reference.md +29588 -0
  457. data/wiremock/docker-compose.test.yml +14 -0
  458. data/wiremock/wiremock-mappings.json +1 -0
  459. metadata +69 -45
  460. data/lib/square/mobile/client.rb +0 -50
  461. data/lib/square/mobile/types/create_mobile_authorization_code_request.rb +0 -11
  462. data/lib/square/types/create_mobile_authorization_code_response.rb +0 -13
  463. data/test/square/integration/client_tests/test_cash_drawers.rb +0 -27
  464. data/test/square/integration/client_tests/test_catalog.rb +0 -704
  465. data/test/square/integration/client_tests/test_customers.rb +0 -65
  466. data/test/square/integration/client_tests/test_customers_groups.rb +0 -144
  467. data/test/square/integration/client_tests/test_customers_segments.rb +0 -36
  468. data/test/square/integration/client_tests/test_devices.rb +0 -67
  469. data/test/square/integration/client_tests/test_inventory.rb +0 -28
  470. data/test/square/integration/client_tests/test_locations.rb +0 -18
  471. data/test/square/integration/client_tests/test_merchants.rb +0 -40
  472. data/test/square/integration/client_tests/test_mobile.rb +0 -21
  473. data/test/square/integration/client_tests/test_orders.rb +0 -177
  474. data/test/square/integration/client_tests/test_payments.rb +0 -167
  475. data/test/square/integration/client_tests/test_refunds.rb +0 -133
  476. data/test/square/integration/client_tests/test_team_members.rb +0 -97
  477. data/test/square/integration/client_tests/test_terminal.rb +0 -107
  478. data/test/square/integration/integration_test_base.rb +0 -16
  479. data/test/square/integration/testdata/image.jpeg +0 -0
  480. data/test/square/internal/multipart/test_form_data.rb +0 -311
  481. data/test/square/internal/types/test_array.rb +0 -37
  482. data/test/square/internal/types/test_boolean.rb +0 -35
  483. data/test/square/internal/types/test_enum.rb +0 -42
  484. data/test/square/internal/types/test_hash.rb +0 -50
  485. data/test/square/internal/types/test_model.rb +0 -105
  486. data/test/square/internal/types/test_union.rb +0 -52
  487. data/test/square/internal/types/test_utils.rb +0 -216
  488. data/test/square_legacy/api/api_test_base.rb +0 -27
  489. data/test/square_legacy/api/test_catalog_api.rb +0 -57
  490. data/test/square_legacy/api/test_customers_api.rb +0 -43
  491. data/test/square_legacy/api/test_employees_api.rb +0 -34
  492. data/test/square_legacy/api/test_labor_api.rb +0 -82
  493. data/test/square_legacy/api/test_locations_api.rb +0 -22
  494. data/test/square_legacy/api/test_merchants_api.rb +0 -38
  495. data/test/square_legacy/api/test_payments_api.rb +0 -40
  496. data/test/square_legacy/api/test_refunds_api.rb +0 -42
  497. data/test/square_legacy/http_response_catcher.rb +0 -14
  498. data/test/square_legacy/webhooks/test_webhooks_helper.rb +0 -153
  499. data/test/test_helper.rb +0 -123
@@ -3,7 +3,9 @@
3
3
  module Square
4
4
  module Bookings
5
5
  class Client
6
- # @return [Square::Bookings::Client]
6
+ # @param client [Square::Internal::Http::RawClient]
7
+ #
8
+ # @return [void]
7
9
  def initialize(client:)
8
10
  @client = client
9
11
  end
@@ -11,34 +13,63 @@ module Square
11
13
  # Retrieve a collection of bookings.
12
14
  #
13
15
  # To call this endpoint with buyer-level permissions, set `APPOINTMENTS_READ` for the OAuth scope.
14
- # To call this endpoint with seller-level permissions, set `APPOINTMENTS_ALL_READ` and `APPOINTMENTS_READ` for the OAuth scope.
16
+ # To call this endpoint with seller-level permissions, set `APPOINTMENTS_ALL_READ` and `APPOINTMENTS_READ` for the
17
+ # OAuth scope.
18
+ #
19
+ # @param request_options [Hash]
20
+ # @param params [Hash]
21
+ # @option request_options [String] :base_url
22
+ # @option request_options [Hash{String => Object}] :additional_headers
23
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
24
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
25
+ # @option request_options [Integer] :timeout_in_seconds
26
+ # @option params [Integer, nil] :limit
27
+ # @option params [String, nil] :cursor
28
+ # @option params [String, nil] :customer_id
29
+ # @option params [String, nil] :team_member_id
30
+ # @option params [String, nil] :location_id
31
+ # @option params [String, nil] :start_at_min
32
+ # @option params [String, nil] :start_at_max
15
33
  #
16
34
  # @return [Square::Types::ListBookingsResponse]
17
35
  def list(request_options: {}, **params)
18
- _query_param_names = [
19
- %w[limit cursor customer_id team_member_id location_id start_at_min start_at_max],
20
- %i[limit cursor customer_id team_member_id location_id start_at_min start_at_max]
21
- ].flatten
22
- _query = params.slice(*_query_param_names)
23
- params.except(*_query_param_names)
36
+ params = Square::Internal::Types::Utils.normalize_keys(params)
37
+ query_param_names = %i[limit cursor customer_id team_member_id location_id start_at_min start_at_max]
38
+ query_params = {}
39
+ query_params["limit"] = params[:limit] if params.key?(:limit)
40
+ query_params["cursor"] = params[:cursor] if params.key?(:cursor)
41
+ query_params["customer_id"] = params[:customer_id] if params.key?(:customer_id)
42
+ query_params["team_member_id"] = params[:team_member_id] if params.key?(:team_member_id)
43
+ query_params["location_id"] = params[:location_id] if params.key?(:location_id)
44
+ query_params["start_at_min"] = params[:start_at_min] if params.key?(:start_at_min)
45
+ query_params["start_at_max"] = params[:start_at_max] if params.key?(:start_at_max)
46
+ params.except(*query_param_names)
24
47
 
25
- _request = Square::Internal::JSON::Request.new(
26
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
27
- method: "GET",
28
- path: "v2/bookings",
29
- query: _query
30
- )
31
- begin
32
- _response = @client.send(_request)
33
- rescue Net::HTTPRequestTimeout
34
- raise Square::Errors::TimeoutError
35
- end
36
- code = _response.code.to_i
37
- if code.between?(200, 299)
38
- Square::Types::ListBookingsResponse.load(_response.body)
39
- else
40
- error_class = Square::Errors::ResponseError.subclass_for_code(code)
41
- raise error_class.new(_response.body, code: code)
48
+ Square::Internal::CursorItemIterator.new(
49
+ cursor_field: :cursor,
50
+ item_field: :bookings,
51
+ initial_cursor: query_params[:cursor]
52
+ ) do |next_cursor|
53
+ query_params[:cursor] = next_cursor
54
+ request = Square::Internal::JSON::Request.new(
55
+ base_url: request_options[:base_url],
56
+ method: "GET",
57
+ path: "v2/bookings",
58
+ query: query_params,
59
+ request_options: request_options
60
+ )
61
+ begin
62
+ response = @client.send(request)
63
+ rescue Net::HTTPRequestTimeout
64
+ raise Square::Errors::TimeoutError
65
+ end
66
+ code = response.code.to_i
67
+ if code.between?(200, 299)
68
+ Square::Types::ListBookingsResponse.load(response.body)
69
+ else
70
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
71
+ raise error_class.new(response.body, code: code)
72
+ end
42
73
  end
43
74
  end
44
75
 
@@ -52,244 +83,351 @@ module Square
52
83
  # - `Booking.AppointmentSegment.service_variation_version`
53
84
  #
54
85
  # To call this endpoint with buyer-level permissions, set `APPOINTMENTS_WRITE` for the OAuth scope.
55
- # To call this endpoint with seller-level permissions, set `APPOINTMENTS_ALL_WRITE` and `APPOINTMENTS_WRITE` for the OAuth scope.
86
+ # To call this endpoint with seller-level permissions, set `APPOINTMENTS_ALL_WRITE` and `APPOINTMENTS_WRITE` for
87
+ # the OAuth scope.
56
88
  #
57
- # For calls to this endpoint with seller-level permissions to succeed, the seller must have subscribed to *Appointments Plus*
89
+ # For calls to this endpoint with seller-level permissions to succeed, the seller must have subscribed to
90
+ # *Appointments Plus*
58
91
  # or *Appointments Premium*.
59
92
  #
93
+ # @param request_options [Hash]
94
+ # @param params [Square::Bookings::Types::CreateBookingRequest]
95
+ # @option request_options [String] :base_url
96
+ # @option request_options [Hash{String => Object}] :additional_headers
97
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
98
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
99
+ # @option request_options [Integer] :timeout_in_seconds
100
+ #
60
101
  # @return [Square::Types::CreateBookingResponse]
61
102
  def create(request_options: {}, **params)
62
- _request = Square::Internal::JSON::Request.new(
63
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
103
+ params = Square::Internal::Types::Utils.normalize_keys(params)
104
+ request = Square::Internal::JSON::Request.new(
105
+ base_url: request_options[:base_url],
64
106
  method: "POST",
65
107
  path: "v2/bookings",
66
- body: params
108
+ body: Square::Bookings::Types::CreateBookingRequest.new(params).to_h,
109
+ request_options: request_options
67
110
  )
68
111
  begin
69
- _response = @client.send(_request)
112
+ response = @client.send(request)
70
113
  rescue Net::HTTPRequestTimeout
71
114
  raise Square::Errors::TimeoutError
72
115
  end
73
- code = _response.code.to_i
116
+ code = response.code.to_i
74
117
  if code.between?(200, 299)
75
- Square::Types::CreateBookingResponse.load(_response.body)
118
+ Square::Types::CreateBookingResponse.load(response.body)
76
119
  else
77
120
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
78
- raise error_class.new(_response.body, code: code)
121
+ raise error_class.new(response.body, code: code)
79
122
  end
80
123
  end
81
124
 
82
125
  # Searches for availabilities for booking.
83
126
  #
84
127
  # To call this endpoint with buyer-level permissions, set `APPOINTMENTS_READ` for the OAuth scope.
85
- # To call this endpoint with seller-level permissions, set `APPOINTMENTS_ALL_READ` and `APPOINTMENTS_READ` for the OAuth scope.
128
+ # To call this endpoint with seller-level permissions, set `APPOINTMENTS_ALL_READ` and `APPOINTMENTS_READ` for the
129
+ # OAuth scope.
130
+ #
131
+ # @param request_options [Hash]
132
+ # @param params [Square::Bookings::Types::SearchAvailabilityRequest]
133
+ # @option request_options [String] :base_url
134
+ # @option request_options [Hash{String => Object}] :additional_headers
135
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
136
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
137
+ # @option request_options [Integer] :timeout_in_seconds
86
138
  #
87
139
  # @return [Square::Types::SearchAvailabilityResponse]
88
140
  def search_availability(request_options: {}, **params)
89
- _request = Square::Internal::JSON::Request.new(
90
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
141
+ params = Square::Internal::Types::Utils.normalize_keys(params)
142
+ request = Square::Internal::JSON::Request.new(
143
+ base_url: request_options[:base_url],
91
144
  method: "POST",
92
145
  path: "v2/bookings/availability/search",
93
- body: params
146
+ body: Square::Bookings::Types::SearchAvailabilityRequest.new(params).to_h,
147
+ request_options: request_options
94
148
  )
95
149
  begin
96
- _response = @client.send(_request)
150
+ response = @client.send(request)
97
151
  rescue Net::HTTPRequestTimeout
98
152
  raise Square::Errors::TimeoutError
99
153
  end
100
- code = _response.code.to_i
154
+ code = response.code.to_i
101
155
  if code.between?(200, 299)
102
- Square::Types::SearchAvailabilityResponse.load(_response.body)
156
+ Square::Types::SearchAvailabilityResponse.load(response.body)
103
157
  else
104
158
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
105
- raise error_class.new(_response.body, code: code)
159
+ raise error_class.new(response.body, code: code)
106
160
  end
107
161
  end
108
162
 
109
163
  # Bulk-Retrieves a list of bookings by booking IDs.
110
164
  #
111
165
  # To call this endpoint with buyer-level permissions, set `APPOINTMENTS_READ` for the OAuth scope.
112
- # To call this endpoint with seller-level permissions, set `APPOINTMENTS_ALL_READ` and `APPOINTMENTS_READ` for the OAuth scope.
166
+ # To call this endpoint with seller-level permissions, set `APPOINTMENTS_ALL_READ` and `APPOINTMENTS_READ` for the
167
+ # OAuth scope.
168
+ #
169
+ # @param request_options [Hash]
170
+ # @param params [Square::Bookings::Types::BulkRetrieveBookingsRequest]
171
+ # @option request_options [String] :base_url
172
+ # @option request_options [Hash{String => Object}] :additional_headers
173
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
174
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
175
+ # @option request_options [Integer] :timeout_in_seconds
113
176
  #
114
177
  # @return [Square::Types::BulkRetrieveBookingsResponse]
115
178
  def bulk_retrieve_bookings(request_options: {}, **params)
116
- _request = Square::Internal::JSON::Request.new(
117
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
179
+ params = Square::Internal::Types::Utils.normalize_keys(params)
180
+ request = Square::Internal::JSON::Request.new(
181
+ base_url: request_options[:base_url],
118
182
  method: "POST",
119
183
  path: "v2/bookings/bulk-retrieve",
120
- body: params
184
+ body: Square::Bookings::Types::BulkRetrieveBookingsRequest.new(params).to_h,
185
+ request_options: request_options
121
186
  )
122
187
  begin
123
- _response = @client.send(_request)
188
+ response = @client.send(request)
124
189
  rescue Net::HTTPRequestTimeout
125
190
  raise Square::Errors::TimeoutError
126
191
  end
127
- code = _response.code.to_i
192
+ code = response.code.to_i
128
193
  if code.between?(200, 299)
129
- Square::Types::BulkRetrieveBookingsResponse.load(_response.body)
194
+ Square::Types::BulkRetrieveBookingsResponse.load(response.body)
130
195
  else
131
196
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
132
- raise error_class.new(_response.body, code: code)
197
+ raise error_class.new(response.body, code: code)
133
198
  end
134
199
  end
135
200
 
136
201
  # Retrieves a seller's booking profile.
137
202
  #
203
+ # @param request_options [Hash]
204
+ # @param params [Hash]
205
+ # @option request_options [String] :base_url
206
+ # @option request_options [Hash{String => Object}] :additional_headers
207
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
208
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
209
+ # @option request_options [Integer] :timeout_in_seconds
210
+ #
138
211
  # @return [Square::Types::GetBusinessBookingProfileResponse]
139
- def get_business_profile(request_options: {}, **_params)
140
- _request = Square::Internal::JSON::Request.new(
141
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
212
+ def get_business_profile(request_options: {}, **params)
213
+ Square::Internal::Types::Utils.normalize_keys(params)
214
+ request = Square::Internal::JSON::Request.new(
215
+ base_url: request_options[:base_url],
142
216
  method: "GET",
143
- path: "v2/bookings/business-booking-profile"
217
+ path: "v2/bookings/business-booking-profile",
218
+ request_options: request_options
144
219
  )
145
220
  begin
146
- _response = @client.send(_request)
221
+ response = @client.send(request)
147
222
  rescue Net::HTTPRequestTimeout
148
223
  raise Square::Errors::TimeoutError
149
224
  end
150
- code = _response.code.to_i
225
+ code = response.code.to_i
151
226
  if code.between?(200, 299)
152
- Square::Types::GetBusinessBookingProfileResponse.load(_response.body)
227
+ Square::Types::GetBusinessBookingProfileResponse.load(response.body)
153
228
  else
154
229
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
155
- raise error_class.new(_response.body, code: code)
230
+ raise error_class.new(response.body, code: code)
156
231
  end
157
232
  end
158
233
 
159
234
  # Retrieves a seller's location booking profile.
160
235
  #
236
+ # @param request_options [Hash]
237
+ # @param params [Hash]
238
+ # @option request_options [String] :base_url
239
+ # @option request_options [Hash{String => Object}] :additional_headers
240
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
241
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
242
+ # @option request_options [Integer] :timeout_in_seconds
243
+ # @option params [String] :location_id
244
+ #
161
245
  # @return [Square::Types::RetrieveLocationBookingProfileResponse]
162
246
  def retrieve_location_booking_profile(request_options: {}, **params)
163
- _request = Square::Internal::JSON::Request.new(
164
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
247
+ params = Square::Internal::Types::Utils.normalize_keys(params)
248
+ request = Square::Internal::JSON::Request.new(
249
+ base_url: request_options[:base_url],
165
250
  method: "GET",
166
- path: "v2/bookings/location-booking-profiles/#{params[:location_id]}"
251
+ path: "v2/bookings/location-booking-profiles/#{params[:location_id]}",
252
+ request_options: request_options
167
253
  )
168
254
  begin
169
- _response = @client.send(_request)
255
+ response = @client.send(request)
170
256
  rescue Net::HTTPRequestTimeout
171
257
  raise Square::Errors::TimeoutError
172
258
  end
173
- code = _response.code.to_i
259
+ code = response.code.to_i
174
260
  if code.between?(200, 299)
175
- Square::Types::RetrieveLocationBookingProfileResponse.load(_response.body)
261
+ Square::Types::RetrieveLocationBookingProfileResponse.load(response.body)
176
262
  else
177
263
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
178
- raise error_class.new(_response.body, code: code)
264
+ raise error_class.new(response.body, code: code)
179
265
  end
180
266
  end
181
267
 
182
268
  # Retrieves one or more team members' booking profiles.
183
269
  #
270
+ # @param request_options [Hash]
271
+ # @param params [Square::Bookings::Types::BulkRetrieveTeamMemberBookingProfilesRequest]
272
+ # @option request_options [String] :base_url
273
+ # @option request_options [Hash{String => Object}] :additional_headers
274
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
275
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
276
+ # @option request_options [Integer] :timeout_in_seconds
277
+ #
184
278
  # @return [Square::Types::BulkRetrieveTeamMemberBookingProfilesResponse]
185
279
  def bulk_retrieve_team_member_booking_profiles(request_options: {}, **params)
186
- _request = Square::Internal::JSON::Request.new(
187
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
280
+ params = Square::Internal::Types::Utils.normalize_keys(params)
281
+ request = Square::Internal::JSON::Request.new(
282
+ base_url: request_options[:base_url],
188
283
  method: "POST",
189
284
  path: "v2/bookings/team-member-booking-profiles/bulk-retrieve",
190
- body: params
285
+ body: Square::Bookings::Types::BulkRetrieveTeamMemberBookingProfilesRequest.new(params).to_h,
286
+ request_options: request_options
191
287
  )
192
288
  begin
193
- _response = @client.send(_request)
289
+ response = @client.send(request)
194
290
  rescue Net::HTTPRequestTimeout
195
291
  raise Square::Errors::TimeoutError
196
292
  end
197
- code = _response.code.to_i
293
+ code = response.code.to_i
198
294
  if code.between?(200, 299)
199
- Square::Types::BulkRetrieveTeamMemberBookingProfilesResponse.load(_response.body)
295
+ Square::Types::BulkRetrieveTeamMemberBookingProfilesResponse.load(response.body)
200
296
  else
201
297
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
202
- raise error_class.new(_response.body, code: code)
298
+ raise error_class.new(response.body, code: code)
203
299
  end
204
300
  end
205
301
 
206
302
  # Retrieves a booking.
207
303
  #
208
304
  # To call this endpoint with buyer-level permissions, set `APPOINTMENTS_READ` for the OAuth scope.
209
- # To call this endpoint with seller-level permissions, set `APPOINTMENTS_ALL_READ` and `APPOINTMENTS_READ` for the OAuth scope.
305
+ # To call this endpoint with seller-level permissions, set `APPOINTMENTS_ALL_READ` and `APPOINTMENTS_READ` for the
306
+ # OAuth scope.
307
+ #
308
+ # @param request_options [Hash]
309
+ # @param params [Hash]
310
+ # @option request_options [String] :base_url
311
+ # @option request_options [Hash{String => Object}] :additional_headers
312
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
313
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
314
+ # @option request_options [Integer] :timeout_in_seconds
315
+ # @option params [String] :booking_id
210
316
  #
211
317
  # @return [Square::Types::GetBookingResponse]
212
318
  def get(request_options: {}, **params)
213
- _request = Square::Internal::JSON::Request.new(
214
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
319
+ params = Square::Internal::Types::Utils.normalize_keys(params)
320
+ request = Square::Internal::JSON::Request.new(
321
+ base_url: request_options[:base_url],
215
322
  method: "GET",
216
- path: "v2/bookings/#{params[:booking_id]}"
323
+ path: "v2/bookings/#{params[:booking_id]}",
324
+ request_options: request_options
217
325
  )
218
326
  begin
219
- _response = @client.send(_request)
327
+ response = @client.send(request)
220
328
  rescue Net::HTTPRequestTimeout
221
329
  raise Square::Errors::TimeoutError
222
330
  end
223
- code = _response.code.to_i
331
+ code = response.code.to_i
224
332
  if code.between?(200, 299)
225
- Square::Types::GetBookingResponse.load(_response.body)
333
+ Square::Types::GetBookingResponse.load(response.body)
226
334
  else
227
335
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
228
- raise error_class.new(_response.body, code: code)
336
+ raise error_class.new(response.body, code: code)
229
337
  end
230
338
  end
231
339
 
232
340
  # Updates a booking.
233
341
  #
234
342
  # To call this endpoint with buyer-level permissions, set `APPOINTMENTS_WRITE` for the OAuth scope.
235
- # To call this endpoint with seller-level permissions, set `APPOINTMENTS_ALL_WRITE` and `APPOINTMENTS_WRITE` for the OAuth scope.
343
+ # To call this endpoint with seller-level permissions, set `APPOINTMENTS_ALL_WRITE` and `APPOINTMENTS_WRITE` for
344
+ # the OAuth scope.
236
345
  #
237
- # For calls to this endpoint with seller-level permissions to succeed, the seller must have subscribed to *Appointments Plus*
346
+ # For calls to this endpoint with seller-level permissions to succeed, the seller must have subscribed to
347
+ # *Appointments Plus*
238
348
  # or *Appointments Premium*.
239
349
  #
350
+ # @param request_options [Hash]
351
+ # @param params [Square::Bookings::Types::UpdateBookingRequest]
352
+ # @option request_options [String] :base_url
353
+ # @option request_options [Hash{String => Object}] :additional_headers
354
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
355
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
356
+ # @option request_options [Integer] :timeout_in_seconds
357
+ # @option params [String] :booking_id
358
+ #
240
359
  # @return [Square::Types::UpdateBookingResponse]
241
360
  def update(request_options: {}, **params)
242
- _path_param_names = ["booking_id"]
361
+ params = Square::Internal::Types::Utils.normalize_keys(params)
362
+ request_data = Square::Bookings::Types::UpdateBookingRequest.new(params).to_h
363
+ non_body_param_names = ["booking_id"]
364
+ body = request_data.except(*non_body_param_names)
243
365
 
244
- _request = Square::Internal::JSON::Request.new(
245
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
366
+ request = Square::Internal::JSON::Request.new(
367
+ base_url: request_options[:base_url],
246
368
  method: "PUT",
247
369
  path: "v2/bookings/#{params[:booking_id]}",
248
- body: params.except(*_path_param_names)
370
+ body: body,
371
+ request_options: request_options
249
372
  )
250
373
  begin
251
- _response = @client.send(_request)
374
+ response = @client.send(request)
252
375
  rescue Net::HTTPRequestTimeout
253
376
  raise Square::Errors::TimeoutError
254
377
  end
255
- code = _response.code.to_i
378
+ code = response.code.to_i
256
379
  if code.between?(200, 299)
257
- Square::Types::UpdateBookingResponse.load(_response.body)
380
+ Square::Types::UpdateBookingResponse.load(response.body)
258
381
  else
259
382
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
260
- raise error_class.new(_response.body, code: code)
383
+ raise error_class.new(response.body, code: code)
261
384
  end
262
385
  end
263
386
 
264
387
  # Cancels an existing booking.
265
388
  #
266
389
  # To call this endpoint with buyer-level permissions, set `APPOINTMENTS_WRITE` for the OAuth scope.
267
- # To call this endpoint with seller-level permissions, set `APPOINTMENTS_ALL_WRITE` and `APPOINTMENTS_WRITE` for the OAuth scope.
390
+ # To call this endpoint with seller-level permissions, set `APPOINTMENTS_ALL_WRITE` and `APPOINTMENTS_WRITE` for
391
+ # the OAuth scope.
268
392
  #
269
- # For calls to this endpoint with seller-level permissions to succeed, the seller must have subscribed to *Appointments Plus*
393
+ # For calls to this endpoint with seller-level permissions to succeed, the seller must have subscribed to
394
+ # *Appointments Plus*
270
395
  # or *Appointments Premium*.
271
396
  #
397
+ # @param request_options [Hash]
398
+ # @param params [Square::Bookings::Types::CancelBookingRequest]
399
+ # @option request_options [String] :base_url
400
+ # @option request_options [Hash{String => Object}] :additional_headers
401
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
402
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
403
+ # @option request_options [Integer] :timeout_in_seconds
404
+ # @option params [String] :booking_id
405
+ #
272
406
  # @return [Square::Types::CancelBookingResponse]
273
407
  def cancel(request_options: {}, **params)
274
- _path_param_names = ["booking_id"]
408
+ params = Square::Internal::Types::Utils.normalize_keys(params)
409
+ request_data = Square::Bookings::Types::CancelBookingRequest.new(params).to_h
410
+ non_body_param_names = ["booking_id"]
411
+ body = request_data.except(*non_body_param_names)
275
412
 
276
- _request = Square::Internal::JSON::Request.new(
277
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
413
+ request = Square::Internal::JSON::Request.new(
414
+ base_url: request_options[:base_url],
278
415
  method: "POST",
279
416
  path: "v2/bookings/#{params[:booking_id]}/cancel",
280
- body: params.except(*_path_param_names)
417
+ body: body,
418
+ request_options: request_options
281
419
  )
282
420
  begin
283
- _response = @client.send(_request)
421
+ response = @client.send(request)
284
422
  rescue Net::HTTPRequestTimeout
285
423
  raise Square::Errors::TimeoutError
286
424
  end
287
- code = _response.code.to_i
425
+ code = response.code.to_i
288
426
  if code.between?(200, 299)
289
- Square::Types::CancelBookingResponse.load(_response.body)
427
+ Square::Types::CancelBookingResponse.load(response.body)
290
428
  else
291
429
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
292
- raise error_class.new(_response.body, code: code)
430
+ raise error_class.new(response.body, code: code)
293
431
  end
294
432
  end
295
433