> ## Documentation Index
> Fetch the complete documentation index at: https://help.visualcare.com.au/llms.txt
> Use this file to discover all available pages before exploring further.

# Rosters

> Roster items and roster master list

### GET /rosters

<Warning>Default limit is 200 items. Maximum limit is 20,000. If you exceed the maximum, the API reverts to the default.</Warning>

**Example:** `GET /rosters?fromDate=2018-02-19&toDate=2018-02-20&page=0&limit=100`

**Query parameters:**

| Parameter         | Default | Description                                                        |
| ----------------- | ------- | ------------------------------------------------------------------ |
| `limit`           | 200     | Default 200, max 20,000                                            |
| `page`            | 0       | Pagination offset                                                  |
| `fromDate`        | -       | Roster items with `DateOfService` >= value. Format: `YYYY-MM-DD`   |
| `toDate`          | -       | Roster items with `DateOfService` \<= value. Format: `YYYY-MM-DD`  |
| `createdTimeFrom` | -       | Roster items with `CreatedTime` >= value. Format: `YYYY-MM-DD`     |
| `createdTimeTo`   | -       | Roster items with `CreatedTime` \<= value. Format: `YYYY-MM-DD`    |
| `rosterItemId`    | -       | Filter by roster item ID                                           |
| `clientId`        | -       | Filter by client ID                                                |
| `carerId`         | -       | Filter by carer ID                                                 |
| `serviceId`       | -       | Filter by service ID                                               |
| `includeNotes`    | -       | If `TRUE`, returns app notes for the roster item                   |
| `onHoldType`      | -       | If `ALL`, returns shifts on leave; or filter by specific hold type |

**Response fields:**

| Field                | Type    | Notes                              |
| -------------------- | ------- | ---------------------------------- |
| `ClientId`           | integer |                                    |
| `CarerId`            | integer |                                    |
| `PayerId`            | integer |                                    |
| `ServiceId`          | integer |                                    |
| `DateOfService`      | string  | Date                               |
| `StartTime`          | string  | Time                               |
| `Minutes`            | integer |                                    |
| `ChargeRate`         | integer |                                    |
| `PayRate`            | integer |                                    |
| `BreakStartTime1`    | string  | Time                               |
| `BreakMinutes1`      | integer |                                    |
| `RecurrenceId`       | integer |                                    |
| `RecurrenceStart`    | string  | Date                               |
| `RecurrenceEnd`      | string  | Date                               |
| `RecurrenceType`     | string  | for example `"UNTIL"`              |
| `OccurenceDays`      | string  | for example `"TU,TH,SU"`           |
| `OccurenceCount`     | integer |                                    |
| `OccurencePeriodic`  | string  | for example `"WEEKLY"`             |
| `OccurenceInterval`  | integer |                                    |
| `OnHoldType`         | string  |                                    |
| `OnHoldNote`         | string  |                                    |
| `OnHoldCode`         | string  |                                    |
| `OnHoldChargePer`    | string  |                                    |
| `OnHoldPayMinutes`   | string  |                                    |
| `OnHoldDateTime`     | string  |                                    |
| `TimeSheetId`        | integer |                                    |
| `AgreementId`        | integer |                                    |
| `AgreementItemId`    | integer |                                    |
| `DEXCaseId`          | integer |                                    |
| `DEXServiceTypeId`   | integer |                                    |
| `APP_StartTime`      | string  | Datetime                           |
| `APP_FinishTime`     | string  | Datetime                           |
| `APP_LastLongtitude` | string  |                                    |
| `APP_LastLatitude`   | string  |                                    |
| `LastModified`       | string  | Datetime                           |
| `LastModifiedBy`     | string  | Email                              |
| `LastModifiedType`   | string  | for example `"UNALLOCATE A SHIFT"` |
| `CreatedTime`        | string  | Date                               |
| `CreatedBy`          | string  | Email                              |

***

### GET /roster-master

Returns all roster master records that have not been flagged as deleted. These link to `MasterId` in the roster items endpoint above.

**Query parameters:** None

**Response fields:**

| Field                  | Type    | Notes                    |
| ---------------------- | ------- | ------------------------ |
| `MasterId`             | integer |                          |
| `ClientId`             | integer |                          |
| `LocationId`           | integer |                          |
| `RosterId`             | string  |                          |
| `Reference`            | string  |                          |
| `Complete`             | integer | 0/1                      |
| `DefaultServiceId`     | integer |                          |
| `DefaultDateOfService` | string  | Date                     |
| `IsDraft`              | integer | 0/1                      |
| `RosterTimeZone`       | string  | for example `"Adelaide"` |
| `VisibleOnline`        | integer | 0/1                      |
| `Status`               | string  |                          |
