# Shifts and breaks

Shifts and Breaks API

## Start employee break.

 - [POST /clockin/terminal/v1/break-start](https://developers.calamari.dev/remote/calamari-public-openapi/shifts-and-breaks/breakstart.md): Start employee break. Client application should send request immediately when event occurs. If there is any problem with connection or access to API event should be queued in clients side and then sent in order of occurence.Before you can use this method, please:Configure 'API Terminal' in Calamari Clockin configuration panelMake sure API access is enabledExpect error codes:INVALID_EMPLOYEE - when invalid employee id providedINVALID_TIME - when invalid event time providedINVALID_BREAK_TYPE - when invalid break type id providedAPI_TERMINAL_NOT_AVAILABLE - no API terminal configured or the employee doesn't have access to this terminal

## Stop employee break.

 - [POST /clockin/terminal/v1/break-stop](https://developers.calamari.dev/remote/calamari-public-openapi/shifts-and-breaks/breakstop.md): Stop employee break. Client application should send request immediately when event occurs. If there is any problem with connection or access to API event should be queued in clients side and then sent in order of occurence.Before you can use this method, please:Configure 'API Terminal' in Calamari Clockin configuration panelMake sure API access is enabledExpect error codes:INVALID_EMPLOYEE - when invalid employee id providedINVALID_TIME - when invalid event time providedINVALID_BREAK_TYPE - when invalid break type id provided. You should use get-break-types method to find properly break type ID API_TERMINAL_NOT_AVAILABLE - no API terminal configured or the employee doesn't have access to this terminal

## Start employees shift.

 - [POST /clockin/terminal/v1/clock-in](https://developers.calamari.dev/remote/calamari-public-openapi/shifts-and-breaks/clockin.md): Start employee shift. If the employee shift has already been started via web browser, mobile app or any other terminal, the request is ignored and the method returns status 200.Client application should send request immediately when event occurs. If there is any problem with connection or access to API event should be queued in clients side and then sent in order of occurence.Before you can use this method, please:Configure 'API Terminal' in Calamari Clockin configuration panelMake sure API access is enabledExpect error codes:INVALID_EMPLOYEE - when invalid employee id providedINVALID_TIME - when invalid event time providedAPI_TERMINAL_NOT_AVAILABLE - no API terminal configured or the employee doesn't have access to this terminal

## Finish employees shift.

 - [POST /clockin/terminal/v1/clock-out](https://developers.calamari.dev/remote/calamari-public-openapi/shifts-and-breaks/clockout.md): Stop employee shift. If employee shift is not started in moment of request the request is ignored.Client application should send request immediately when event occurs. If there is any problem with connection or access to API event should be queued in clients side and then sent in order of occurence.Before you can use this method, please:Configure 'API Terminal' in Calamari Clockin configuration panelMake sure API access is enabledExpect error codes:INVALID_EMPLOYEE - when invalid employee id providedINVALID_TIME - when invalid event time providedAPI_TERMINAL_NOT_AVAILABLE - no API terminal configured or the employee doesn't have access to this terminal

## Get break types.

 - [POST /clockin/terminal/v1/get-break-types](https://developers.calamari.dev/remote/calamari-public-openapi/shifts-and-breaks/getbreaktypes.md): Get break types.

## Get break types for one person.

 - [POST /clockin/terminal/v1/get-break-types-for-person](https://developers.calamari.dev/remote/calamari-public-openapi/shifts-and-breaks/getbreaktypesforemployee.md): Get break types for one person.Expect error codes:INVALID_EMPLOYEE - when invalid employee id provided

## Start or stop employee shift

 - [POST /clockin/terminal/v1/punch-clock](https://developers.calamari.dev/remote/calamari-public-openapi/shifts-and-breaks/punch.md): Method indicates employee go through company's doors. Starts shift if it's not started or stops it otherwise.Client application should send request immediately when event occurs. If there is any problem with connection or access to API event should be queued in clients side and then sent in order of occurence.Before you can use this method, please:Configure 'API Terminal' in Calamari Clockin configuration panelMake sure API access is enabledExpect error codes:INVALID_EMPLOYEE - when invalid employee id providedINVALID_TIME - when invalid event time providedAPI_TERMINAL_NOT_AVAILABLE - no API terminal configured or the employee doesn't have access to this terminal

