---
title: "List staff timetables"
method: GET
path: "/api/business/{businessId}/branch/{branchId}/staff/worktimetable"
tags: ["Staff WorkTimeTable"]
---

# List staff timetables

`GET /api/business/{businessId}/branch/{branchId}/staff/worktimetable`

## Request

- Base URL: `http://api-gateway-eu.phorest.com/third-party-api-server`
- URL: `http://api-gateway-eu.phorest.com/third-party-api-server/api/business/{businessId}/branch/{branchId}/staff/worktimetable`
- Auth: HTTP basic
- TypeScript: <https://skmtc.dev/phorest/apis/third-party-api/docs/api/business/:businessId/branch/:branchId/staff/worktimetable/get.ts> (a function with typed inputs; its response is checked against the schema)

Get a list of staff timetables for the specified business id and branch id, with a maximum one month date range. List can be filtered by date

## Path parameters

- `businessId` string, required
- `branchId` string, required

## Query parameters

- `from_date` string, date, required
- `to_date` string, date, required
- `activity_type` string

## Response `200`

Staff timetables listed

- DataPagedModelWorkTimeTable
  - `_embedded` object
    - `workTimeTables` WorkTimeTable[]
      - `staffId` string
      - `branchId` string
      - `timeSlots` WorkTimeSlot[]
        - `date` string, date
        - `startTime` LocalTime
          - `millisOfSecond` integer
          - `millisOfDay` integer
          - `secondOfMinute` integer
          - `minuteOfHour` integer
          - `hourOfDay` integer
          - `chronology` Chronology
            - `zone` DateTimeZone
              - …
          - `fieldTypes` DateTimeFieldType[]
            - `durationType` DurationFieldType
              - …
            - `rangeDurationType` DurationFieldType
              - …
            - `name` string
          - `values` integer[]
          - `fields` DateTimeField[]
            - `rangeDurationField` DurationField
              - …
            - `durationField` DurationField
              - …
            - `leapDurationField` DurationField
              - …
            - `minimumValue` integer
            - `maximumValue` integer
            - `name` string
            - `supported` boolean
            - `type` DateTimeFieldType
              - …
            - `lenient` boolean
        - `endTime` LocalTime
          - `millisOfSecond` integer
          - `millisOfDay` integer
          - `secondOfMinute` integer
          - `minuteOfHour` integer
          - `hourOfDay` integer
          - `chronology` Chronology
            - `zone` DateTimeZone
              - …
          - `fieldTypes` DateTimeFieldType[]
            - `durationType` DurationFieldType
              - …
            - `rangeDurationType` DurationFieldType
              - …
            - `name` string
          - `values` integer[]
          - `fields` DateTimeField[]
            - `rangeDurationField` DurationField
              - …
            - `durationField` DurationField
              - …
            - `leapDurationField` DurationField
              - …
            - `minimumValue` integer
            - `maximumValue` integer
            - `name` string
            - `supported` boolean
            - `type` DateTimeFieldType
              - …
            - `lenient` boolean
        - `timeOffStartTime` LocalTime
          - `millisOfSecond` integer
          - `millisOfDay` integer
          - `secondOfMinute` integer
          - `minuteOfHour` integer
          - `hourOfDay` integer
          - `chronology` Chronology
            - `zone` DateTimeZone
              - …
          - `fieldTypes` DateTimeFieldType[]
            - `durationType` DurationFieldType
              - …
            - `rangeDurationType` DurationFieldType
              - …
            - `name` string
          - `values` integer[]
          - `fields` DateTimeField[]
            - `rangeDurationField` DurationField
              - …
            - `durationField` DurationField
              - …
            - `leapDurationField` DurationField
              - …
            - `minimumValue` integer
            - `maximumValue` integer
            - `name` string
            - `supported` boolean
            - `type` DateTimeFieldType
              - …
            - `lenient` boolean
        - `timeOffEndTime` LocalTime
          - `millisOfSecond` integer
          - `millisOfDay` integer
          - `secondOfMinute` integer
          - `minuteOfHour` integer
          - `hourOfDay` integer
          - `chronology` Chronology
            - `zone` DateTimeZone
              - …
          - `fieldTypes` DateTimeFieldType[]
            - `durationType` DurationFieldType
              - …
            - `rangeDurationType` DurationFieldType
              - …
            - `name` string
          - `values` integer[]
          - `fields` DateTimeField[]
            - `rangeDurationField` DurationField
              - …
            - `durationField` DurationField
              - …
            - `leapDurationField` DurationField
              - …
            - `minimumValue` integer
            - `maximumValue` integer
            - `name` string
            - `supported` boolean
            - `type` DateTimeFieldType
              - …
            - `lenient` boolean
        - `type` 'WORKING' | 'NON_WORKING' | 'NOT_SPECIFIED'
        - `custom` string
        - `branchId` string
        - `workActivityId` string
        - `timeOffPolicyId` string: Id of the time off policy this time off was rostered against. See the time off policy endpoints. Null when no time off policy was selected
  - `page` PageMetadata
    - `size` integer
    - `totalElements` integer
    - `totalPages` integer
    - `number` integer

## Other responses

- `400`: Bad Request
- `404`: Business or branch with the specified ids don't exist
- `429`: Request rate limit exceeded. Current limit set to 100 rps.
- `500`: Internal Server Error

## Changes

- **2026-11-03** `beea6ef29634`: 1 info
  - added the optional property `_embedded/workTimeTables/items/timeSlots/items/timeOffPolicyId` to the response with the `200` status

[Operation history](https://skmtc.dev/phorest/apis/third-party-api/changes/api/business/:businessId/branch/:branchId/staff/worktimetable/get.md)

---

[API](https://skmtc.dev/phorest/apis/third-party-api.md) - [All operations](https://skmtc.dev/phorest/apis/third-party-api/llms.txt) - [OpenAPI document](https://skmtc.dev/phorest/apis/third-party-api/revisions/beea6ef29634?raw)
