There is an addon for Woocommerce that allows you to use your Square payment account to take payment for products https://woocommerce.com/products/square/ . There is another one here that allows you to sync products between square and woocommerce https://wordpress.org/plugins/woosquare/
So you can create products in square and they sell on the website and even take payment by square through Woocommerce. You can sync them both ways ie you can create the products in Woocomerce and they will show up in Square or create them in Square they show up in Woocommerce.
For booking, I recommend continue using square but use there embed feature so that the booking stays on your site on a page rather than redirecting to another site for the booking forms. They have an embed feature so it can be put in a page on your own site https://squareup.com/help/us/en/article/5355-set-up-online-booking-with-square-appointments
With woocommerce you’ll have in my opinion the best shopping cart available in the world and you will have all the power with WordPress any feature you need pretty much already exists and can be downloaded. You’ll be able to take payments through the store with Square and create both products and appointments in Square that propagate out to the site.