Skip to content
innovorder
⌘K

Point of sale

Shifts

Shifts define recurring time windows during which a restaurant operates. Each shift specifies days of the week, start/end times, and visual settings. Shifts drive POS behavior such as automatic period closures and reporting boundaries.

Shift Properties

daysOfWeek

A comma-separated string of day indices (e.g. "1,2,3,4,5" for Monday through Friday).

start / end

Time expressed as minutes from midnight (e.g. 480 = 08:00, 1320 = 22:00).

endsTomorrow

Set to true if the shift crosses midnight (e.g. 22:00 - 02:00).

GET/restaurants/{restaurantId}/shiftsList all shifts for a restaurant

Retrieve all shifts configured for a restaurant. Returns an array of shift definitions including schedule, color coding, and enabled status.

Parameters

NameTypeRequiredDescription
restaurantIdintegerYesThe unique identifier of the restaurant.

Response

json
{
  "status": 200,
  "code": "shifts_found",
  "message": "Shifts found.",
  "data": [
    {
      "shiftId": 301,
      "brandId": 15,
      "restaurantId": 4200,
      "name": "Lunch Service",
      "daysOfWeek": "1,2,3,4,5",
      "start": 690,
      "end": 900,
      "endsTomorrow": false,
      "color": "#4CAF50",
      "isEnabled": true,
      "isDefault": true
    },
    {
      "shiftId": 302,
      "brandId": 15,
      "restaurantId": 4200,
      "name": "Dinner Service",
      "daysOfWeek": "1,2,3,4,5,6",
      "start": 1140,
      "end": 1380,
      "endsTomorrow": false,
      "color": "#2196F3",
      "isEnabled": true,
      "isDefault": false
    }
  ]
}
Response Properties

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

PropertyTypeExampleDescription
statusinteger200HTTP status code returned by the API.
codestring"shifts_found"Machine-readable application code for the result.
messagestring"Shifts found."Human-readable result message. Do not use this value for program logic.
dataarray[…]Endpoint-specific response payload.
data[]object{…}Endpoint-specific response payload.
data[].shiftIdinteger301Identifier of the associated shift.
data[].brandIdinteger15Identifier of the brand.
data[].restaurantIdinteger4200Identifier of the restaurant.
data[].namestring"Lunch Service"The name value.
data[].daysOfWeekstring"1,2,3,4,5"The days of week value.
data[].startinteger690The start value.
data[].endinteger900The end value.
data[].endsTomorrowbooleanfalseThe ends tomorrow value.
data[].colorstring"#4CAF50"The color value.
data[].isEnabledbooleantrueWhether this feature is enabled.
data[].isDefaultbooleantrueWhether default is enabled or applies.

POST/shiftsCreate a shift

Create a new shift definition for a restaurant. The authenticated user must have Brand-level access or above.

Request Body

json
{
  "brandId": 15,
  "restaurantId": 4200,
  "name": "Night Service",
  "daysOfWeek": "5,6",
  "start": 1320,
  "end": 120,
  "endsTomorrow": true,
  "color": "#9C27B0",
  "isEnabled": true,
  "isDefault": false
}
Request Body Properties

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

PropertyTypeExampleDescription
brandIdinteger15Identifier of the brand.
restaurantIdinteger4200Identifier of the restaurant.
namestring"Night Service"The name value.
daysOfWeekstring"5,6"The days of week value.
startinteger1320The start value.
endinteger120The end value.
endsTomorrowbooleantrueThe ends tomorrow value.
colorstring"#9C27B0"The color value.
isEnabledbooleantrueWhether this feature is enabled.
isDefaultbooleanfalseWhether default is enabled or applies.

Response

json
{
  "status": 201,
  "code": "shift_created",
  "message": "Shift created.",
  "data": {
    "shiftId": 303,
    "brandId": 15,
    "restaurantId": 4200,
    "name": "Night Service",
    "daysOfWeek": "5,6",
    "start": 1320,
    "end": 120,
    "endsTomorrow": true,
    "color": "#9C27B0",
    "isEnabled": true,
    "isDefault": false
  }
}
Response Properties

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

PropertyTypeExampleDescription
statusinteger201HTTP status code returned by the API.
codestring"shift_created"Machine-readable application code for the result.
messagestring"Shift created."Human-readable result message. Do not use this value for program logic.
dataobject{…}Endpoint-specific response payload.
data.shiftIdinteger303Identifier of the associated shift.
data.brandIdinteger15Identifier of the brand.
data.restaurantIdinteger4200Identifier of the restaurant.
data.namestring"Night Service"The name value.
data.daysOfWeekstring"5,6"The days of week value.
data.startinteger1320The start value.
data.endinteger120The end value.
data.endsTomorrowbooleantrueThe ends tomorrow value.
data.colorstring"#9C27B0"The color value.
data.isEnabledbooleantrueWhether this feature is enabled.
data.isDefaultbooleanfalseWhether default is enabled or applies.

GET/shifts/{shiftId}Get a single shift

Retrieve a specific shift by its ID.

Parameters

NameTypeRequiredDescription
shiftIdstringYesThe unique identifier of the shift.

Response

json
{
  "status": 200,
  "code": "shift_found",
  "message": "Shift found.",
  "data": {
    "shiftId": 301,
    "brandId": 15,
    "restaurantId": 4200,
    "name": "Lunch Service",
    "daysOfWeek": "1,2,3,4,5",
    "start": 690,
    "end": 900,
    "endsTomorrow": false,
    "color": "#4CAF50",
    "isEnabled": true,
    "isDefault": true
  }
}
Response Properties

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

PropertyTypeExampleDescription
statusinteger200HTTP status code returned by the API.
codestring"shift_found"Machine-readable application code for the result.
messagestring"Shift found."Human-readable result message. Do not use this value for program logic.
dataobject{…}Endpoint-specific response payload.
data.shiftIdinteger301Identifier of the associated shift.
data.brandIdinteger15Identifier of the brand.
data.restaurantIdinteger4200Identifier of the restaurant.
data.namestring"Lunch Service"The name value.
data.daysOfWeekstring"1,2,3,4,5"The days of week value.
data.startinteger690The start value.
data.endinteger900The end value.
data.endsTomorrowbooleanfalseThe ends tomorrow value.
data.colorstring"#4CAF50"The color value.
data.isEnabledbooleantrueWhether this feature is enabled.
data.isDefaultbooleantrueWhether default is enabled or applies.

PUT/shifts/{shiftId}Update a shift

Update an existing shift definition. All body fields are required and will replace the current values.

Parameters

NameTypeRequiredDescription
shiftIdstringYesThe unique identifier of the shift.

Request Body

json
{
  "name": "Lunch Service (Extended)",
  "daysOfWeek": "1,2,3,4,5,6",
  "start": 660,
  "end": 930,
  "endsTomorrow": false,
  "color": "#4CAF50",
  "isEnabled": true
}
Request Body Properties

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

PropertyTypeExampleDescription
namestring"Lunch Service (Extended)"The name value.
daysOfWeekstring"1,2,3,4,5,6"The days of week value.
startinteger660The start value.
endinteger930The end value.
endsTomorrowbooleanfalseThe ends tomorrow value.
colorstring"#4CAF50"The color value.
isEnabledbooleantrueWhether this feature is enabled.

Response

json
{
  "status": 200,
  "code": "shift_updated",
  "message": "Shift updated.",
  "data": {
    "shiftId": 301,
    "brandId": 15,
    "restaurantId": 4200,
    "name": "Lunch Service (Extended)",
    "daysOfWeek": "1,2,3,4,5,6",
    "start": 660,
    "end": 930,
    "endsTomorrow": false,
    "color": "#4CAF50",
    "isEnabled": true,
    "isDefault": true
  }
}
Response Properties

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

PropertyTypeExampleDescription
statusinteger200HTTP status code returned by the API.
codestring"shift_updated"Machine-readable application code for the result.
messagestring"Shift updated."Human-readable result message. Do not use this value for program logic.
dataobject{…}Endpoint-specific response payload.
data.shiftIdinteger301Identifier of the associated shift.
data.brandIdinteger15Identifier of the brand.
data.restaurantIdinteger4200Identifier of the restaurant.
data.namestring"Lunch Service (Extended)"The name value.
data.daysOfWeekstring"1,2,3,4,5,6"The days of week value.
data.startinteger660The start value.
data.endinteger930The end value.
data.endsTomorrowbooleanfalseThe ends tomorrow value.
data.colorstring"#4CAF50"The color value.
data.isEnabledbooleantrueWhether this feature is enabled.
data.isDefaultbooleantrueWhether default is enabled or applies.

DELETE/shifts/{shiftId}Delete a shift

Delete a shift definition. The authenticated user must have Brand-level access or above.

Parameters

NameTypeRequiredDescription
shiftIdstringYesThe unique identifier of the shift.

Response

json
{
  "status": 200,
  "code": "shift_deleted",
  "message": "Shift updated.",
  "data": {}
}
Response Properties

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

PropertyTypeExampleDescription
statusinteger200HTTP status code returned by the API.
codestring"shift_deleted"Machine-readable application code for the result.
messagestring"Shift updated."Human-readable result message. Do not use this value for program logic.
dataobject{…}Endpoint-specific response payload.