Appointments

Retrieve available appointment timeslots for a Product.

Changed on

Returns available timeslots per date for an appointment Product, taking capacity (including shared calendars and blocked dates for weekly recurring Products), and existing bookings into account. start_date and end_date are required and dates use the store timezone; the range is limited to 31 days, matching the storefront's own appointment widget. For weekly recurring Products, timeslots are generated from the weekly schedule. For specific_dates Products, the merchant-configured timeslots (got as in GET /products/{id}.json) are returned by key of start_date and annotated with remaining capacity; a slot may also include end_date/end_time when it spans multiple days.

get/products/{id}/appointment_timeslots.json

Request

  • Base URL
    https://api.jumpseller.com/v1
  • URL
    https://api.jumpseller.com/v1/products/{id}/appointment_timeslots.json
  • Auth
    • HTTP basic
    • or API key in query parameter login and API key in query parameter authtoken
    • or OAuth 2
      Authorization code: https://accounts.jumpseller.com/oauth/authorize
      Token URL: https://accounts.jumpseller.com/oauth/token scopes: read_products

Path parameters

idinteger required

Id of the Product

Query parameters

start_datestring date required
Example:2026-08-26

Inclusive lower boundary of the date range to check.

end_datestring date required
Example:2026-08-31

Inclusive upper boundary of the date range to check. Limited to 31 days after start_date.

Response

A map of dates to their available timeslots.

AppointmentTimeslotsByDate required

A map of YYYY-MM-DD date strings (the timeslot's start_date) to their available timeslots.

Example response

{
  "2026-08-26": [
    {
      "start_time": "10:00",
      "end_time": "10:30",
      "capacity": 5,
      "remaining": 3,
      "existing_count": 2
    }
  ],
  "2026-08-27": []
}

Changes