The Bookings API lets you create applications for Square sellers and their customers to create and manage bookings. A booking refers to a reservation of a service provided by a staff of the seller for a customer over a specified time duration at a particular time and location.
Both the seller (including an authorized team member, often referred to as staff) and the customer (also known as the buyer) can create and manage a booking. However, the seller has more control in how to create and manage a booking and has a wider scope of access to existing bookings than the buyer. As such, seller-scoped and buyer-scoped operations require different levels of access permissions.
Buyer-scoped permissions have been supported since Bookings API launched in beta in 2020 and today we released seller-scoped permissions to public beta. Seller-scoped permissions for functions and webhooks have been the top request from developers for the Bookings API since it launched to public beta. We’re excited to satisfy these requirements today.
Seller-level permissions grant an application full visibility into a seller’s calendar and they enable full control of the seller’s bookings. With seller-level permissions, the following can happen:
- An application can access and view every booking of a seller. For example, calling ListBookings can return every booking in the seller’s calendar.
- Every change to a booking is sent to webhooks, as a booking.created or booking.updated event.
- An application can create double bookings to serve different customers at the same time or location. It can also create off-hour bookings outside the seller’s regular business hours.
You can learn more about this change in our public API docs.