# POS Workslots (Shifts/Periods)

POS workslots (also called shifts or periods) represent operating time windows for a restaurant's POS devices. Each workslot records when a device opened and closed its sales period. Use these endpoints to query the status of workslots for a given date.

#### Workslot Statuses

-    OPENED  The POS device has an active sales period 
-    CLOSED  The POS device has completed its sales period 

### `GET /v1/restaurants/{restaurantId}/pos_shifts/{date}` - Get POS workslot status for a date

Retrieve the status of all POS workslots for a restaurant on a specific date. Returns information about each POS device's shift including open/close times and current status.

#### Parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| restaurantId | integer | Yes | The unique identifier of the restaurant. |
| date | string (YYYY-MM-DD) | Yes | The date to query workslot status for. |

#### Response

```json
{
  "status": 200,
  "code": "pos_shift_succeeded",
  "message": "Pos shifts state closure found",
  "data": [
    {
      "posDeviceId": 501,
      "deviceId": "POS-001",
      "status": "CLOSED",
      "periodFrom": "2025-07-16T06:00:00.000Z",
      "periodTo": "2025-07-16T22:30:00.000Z",
      "periodEndCloseId": "close-abc-123"
    },
    {
      "posDeviceId": 502,
      "deviceId": "POS-002",
      "status": "OPENED",
      "periodFrom": "2025-07-16T06:00:00.000Z",
      "periodTo": null,
      "periodEndCloseId": null
    }
  ]
}
```

##### Response Properties

Every field in the example is listed below. Explicit requiredness is shown when the endpoint contract defines it.

| Property | Type | Example | Description |
| --- | --- | --- | --- |
| status | integer | 200 | HTTP status code returned by the API. |
| code | string | "pos\_shift\_succeeded" | Machine-readable application code for the result. |
| message | string | "Pos shifts state closure found" | Human-readable result message. Do not use this value for program logic. |
| data | array | \[…\] | Endpoint-specific response payload. |
| data\[\] | object | {…} | Endpoint-specific response payload. |
| data\[\].posDeviceId | integer | 501 | Identifier of the associated pos device. |
| data\[\].deviceId | string | "POS-001" | Identifier of the associated device. |
| data\[\].status | string | "CLOSED" | HTTP status code returned by the API. |
| data\[\].periodFrom | string | "2025-07-16T06:00:00.000Z" | The period from value. |
| data\[\].periodTo | string | "2025-07-16T22:30:00.000Z" | The period to value. |
| data\[\].periodEndCloseId | string | "close-abc-123" | Identifier of the associated period end close. |
