Overview
The Bookings client provides methods for:- Creating and managing bookings (appointments)
- Searching for available booking slots
- Retrieving and updating booking profiles
- Managing custom attributes for bookings
- Bulk operations on bookings
Client Initialization
Methods
List Bookings
Retrieves a collection of bookings.bookings.go:1230
The maximum number of results per page to return.
The pagination cursor from the preceding response to return the next page of the results.
The customer for whom to retrieve bookings.
The team member for whom to retrieve bookings.
The location for which to retrieve bookings.
The RFC 3339 timestamp specifying the earliest of the start time.
The RFC 3339 timestamp specifying the latest of the start time.
The list of bookings.
Create Booking
Creates a booking.bookings.go:1350
The booking to create. Required fields:
location_idstart_atappointment_segmentswithteam_member_id,service_variation_id, andservice_variation_version
A unique key to make this request an idempotent operation.
The created booking.
Get Booking
Retrieves a booking.bookings.go:1723
The ID of the booking to retrieve.
The requested booking.
Update Booking
Updates a booking.bookings.go:1790
The ID of the booking to update.
The booking fields to update.
A unique key to make this request an idempotent operation.
The updated booking.
Cancel Booking
Cancels an existing booking.bookings.go:1872
The ID of the booking to cancel.
A unique key to make this request an idempotent operation.
The revision number for the booking used for optimistic concurrency.
The canceled booking.
Search Availability
Searches for availabilities for booking.bookings.go:1427
The time range to search for availability.
The location for which to search availability.
Filters for service variations and team members.
The available booking slots.
Bulk Retrieve Bookings
Bulk-retrieves a list of bookings by booking IDs.bookings.go:1493
A non-empty list of booking IDs specifying bookings to retrieve.
The retrieved bookings, keyed by booking ID.
Booking Profiles
Get Business Booking Profile
Retrieves a seller’s booking profile.bookings.go:1551
The seller’s booking profile configuration.
Retrieve Location Booking Profile
Retrieves a seller’s location booking profile.bookings.go:1595
The ID of the location to retrieve the booking profile.
The location’s booking profile.
Bulk Retrieve Team Member Booking Profiles
Retrieves one or more team members’ booking profiles.bookings.go:1659
A non-empty list of IDs of team members whose booking profiles you want to retrieve.
The team member booking profiles, keyed by team member ID.
Use Cases
Create an Appointment
Book a service appointment for a customer:Find Available Time Slots
Search for available appointment times:Reschedule Appointment
Update an existing booking to a new time:Permissions
Buyer-level permissions: Set
APPOINTMENTS_READ or APPOINTMENTS_WRITE OAuth scope.Seller-level permissions: Set both APPOINTMENTS_ALL_READ and APPOINTMENTS_READ (or APPOINTMENTS_ALL_WRITE and APPOINTMENTS_WRITE).For seller-level write operations, the seller must have subscribed to Appointments Plus or Appointments Premium.Best Practices
- Use idempotency keys: Prevent duplicate bookings with unique keys
- Validate availability: Always search for availability before creating bookings
- Handle time zones: Use RFC 3339 format with proper time zones
- Check capacity: Ensure team members have capacity before booking
- Add customer notes: Include relevant information in customer notes
- Track versions: Use version numbers for optimistic concurrency control
- Implement reminders: Send booking confirmations and reminders to customers
Booking Status
Bookings can have the following statuses:PENDING- Booking is pending confirmationACCEPTED- Booking has been acceptedCANCELLED_BY_CUSTOMER- Customer canceled the bookingCANCELLED_BY_SELLER- Seller canceled the bookingDECLINED- Booking was declinedNO_SHOW- Customer did not show up
Related Resources
- Catalog API - For service definitions
- Customers API
- Team API
- Locations API
