Shift Management
This guide explains how to manage shifts on an Integrated POS using the Shift operation: configure the number of shifts, change to the next shift, or retrieve the current shift count. Shift management behaves identically across USB and Network connections.
What is a shift
A shift represents an operational period on the POS terminal. Transactions executed during a shift are grouped for reporting and reconciliation. The Shift function lets the automation system set up the number of available shifts, change to the next shift, or retrieve the current shift count. Shifts are managed programmatically via the Connector; the POS may prompt the operator when required information is missing.
Before you begin
Before managing shifts:
- A Connector must be created and validated using
Polling - Integrated POS Mode must be active
Step 1: Execute a shift operation
To perform a shift-related action, call the Shift operation using the ShiftOperation enum to define the desired task. If a required value—such as the number of shifts—is missing, the POS will prompt the operator for manual input.
The following table lists the parameters for the Shift operation:
| Parameter | Type | Required | Description |
|---|---|---|---|
ShiftOperation | Enum | Yes | Configuration: Set the available shift count. Change: Move to the next shift. GetShifts: Retrieve the current count. |
NumberOfShifts | Int | Conditional | Required only for Configuration to set the new shift quantity (max 2 digits). When omitted, the POS displays the corresponding input screen. |
SkipConfirmation | Boolean | No | If true, skips the confirmation screen on the POS. |
PrintOnPos | Boolean | No | If true, the POS prints the shift report. If false, the report is returned in ReportDetails (only for the Change operation). |
The following example demonstrates how to initiate a shift change through the Connector:
var shiftRequest = new ShiftRequest
{
ShiftOperation = ShiftOperation.Change,
SkipConfirmation = false,
PrintOnPos = false
};
var shiftResult = await connector.ShiftAsync(shiftRequest);Once the request is initiated, the POS handles the internal logic and updates the operational period.
Step 2: Handle the response
Upon completion, the POS returns a structured response with the operation status and current shift count. Below is an example of a successful response object:
{
"Code": 0,
"Message": "APPROVED",
"TotalOfShifts": 3,
"ReportDetails": "GETNET\nSHIFT CHANGE\n...\n"
}The return contains only Code, Message, TotalOfShifts, and ReportDetails. ReportDetails is a String populated only for the Change operation when PrintOnPos is false; it is null for Configuration and GetShifts, or when PrintOnPos is true.
Always verify the Code and Message before processing the current shift count.
Shift-related constraints
The following constraints apply to shift management:
- Only one shift can be active at a time.
- Some reports require a closed shift or depend on shift state.
- Shift change may trigger automatic printing when
PrintOnPosistrue; out-of-paper handling is described in the Shift Change Flow in the manual.
Next steps
- Reports: Totals, Details, and Shifts — GetReports and Shift report type.