Skip to content

Latest commit

 

History

History
829 lines (601 loc) · 23 KB

labor.md

File metadata and controls

829 lines (601 loc) · 23 KB

Labor

$laborApi = $client->getLaborApi();

Class Name

LaborApi

Methods

List Break Types

Returns a paginated list of BreakType instances for a business.

function listBreakTypes(?string $locationId = null, ?int $limit = null, ?string $cursor = null): ApiResponse

Parameters

Parameter Type Tags Description
locationId ?string Query, Optional Filter the returned BreakType results to only those that are associated with the
specified location.
limit ?int Query, Optional The maximum number of BreakType results to return per page. The number can range between 1
and 200. The default is 200.
cursor ?string Query, Optional A pointer to the next page of BreakType results to fetch.

Response Type

This method returns a Square\Utils\ApiResponse instance. The getResult() method on this instance returns the response data which is of type ListBreakTypesResponse.

Example Usage

$apiResponse = $laborApi->listBreakTypes();

if ($apiResponse->isSuccess()) {
    $listBreakTypesResponse = $apiResponse->getResult();
} else {
    $errors = $apiResponse->getErrors();
}

// Getting more response information
var_dump($apiResponse->getStatusCode());
var_dump($apiResponse->getHeaders());

Create Break Type

Creates a new BreakType.

A BreakType is a template for creating Break objects. You must provide the following values in your request to this endpoint:

  • location_id
  • break_name
  • expected_duration
  • is_paid

You can only have three BreakType instances per location. If you attempt to add a fourth BreakType for a location, an INVALID_REQUEST_ERROR "Exceeded limit of 3 breaks per location." is returned.

function createBreakType(CreateBreakTypeRequest $body): ApiResponse

Parameters

Parameter Type Tags Description
body CreateBreakTypeRequest Body, Required An object containing the fields to POST for the request.

See the corresponding object definition for field details.

Response Type

This method returns a Square\Utils\ApiResponse instance. The getResult() method on this instance returns the response data which is of type CreateBreakTypeResponse.

Example Usage

$body = CreateBreakTypeRequestBuilder::init(
    BreakTypeBuilder::init(
        'CGJN03P1D08GF',
        'Lunch Break',
        'PT30M',
        true
    )->build()
)
    ->idempotencyKey('PAD3NG5KSN2GL')
    ->build();

$apiResponse = $laborApi->createBreakType($body);

if ($apiResponse->isSuccess()) {
    $createBreakTypeResponse = $apiResponse->getResult();
} else {
    $errors = $apiResponse->getErrors();
}

// Getting more response information
var_dump($apiResponse->getStatusCode());
var_dump($apiResponse->getHeaders());

Delete Break Type

Deletes an existing BreakType.

A BreakType can be deleted even if it is referenced from a Shift.

function deleteBreakType(string $id): ApiResponse

Parameters

Parameter Type Tags Description
id string Template, Required The UUID for the BreakType being deleted.

Response Type

This method returns a Square\Utils\ApiResponse instance. The getResult() method on this instance returns the response data which is of type DeleteBreakTypeResponse.

Example Usage

$id = 'id0';

$apiResponse = $laborApi->deleteBreakType($id);

if ($apiResponse->isSuccess()) {
    $deleteBreakTypeResponse = $apiResponse->getResult();
} else {
    $errors = $apiResponse->getErrors();
}

// Getting more response information
var_dump($apiResponse->getStatusCode());
var_dump($apiResponse->getHeaders());

Get Break Type

Returns a single BreakType specified by id.

function getBreakType(string $id): ApiResponse

Parameters

Parameter Type Tags Description
id string Template, Required The UUID for the BreakType being retrieved.

Response Type

This method returns a Square\Utils\ApiResponse instance. The getResult() method on this instance returns the response data which is of type GetBreakTypeResponse.

Example Usage

$id = 'id0';

$apiResponse = $laborApi->getBreakType($id);

if ($apiResponse->isSuccess()) {
    $getBreakTypeResponse = $apiResponse->getResult();
} else {
    $errors = $apiResponse->getErrors();
}

// Getting more response information
var_dump($apiResponse->getStatusCode());
var_dump($apiResponse->getHeaders());

Update Break Type

Updates an existing BreakType.

function updateBreakType(string $id, UpdateBreakTypeRequest $body): ApiResponse

Parameters

Parameter Type Tags Description
id string Template, Required The UUID for the BreakType being updated.
body UpdateBreakTypeRequest Body, Required An object containing the fields to POST for the request.

See the corresponding object definition for field details.

Response Type

This method returns a Square\Utils\ApiResponse instance. The getResult() method on this instance returns the response data which is of type UpdateBreakTypeResponse.

Example Usage

$id = 'id0';

$body = UpdateBreakTypeRequestBuilder::init(
    BreakTypeBuilder::init(
        '26M7H24AZ9N6R',
        'Lunch',
        'PT50M',
        true
    )
        ->version(1)
        ->build()
)->build();

$apiResponse = $laborApi->updateBreakType(
    $id,
    $body
);

if ($apiResponse->isSuccess()) {
    $updateBreakTypeResponse = $apiResponse->getResult();
} else {
    $errors = $apiResponse->getErrors();
}

// Getting more response information
var_dump($apiResponse->getStatusCode());
var_dump($apiResponse->getHeaders());

List Employee Wages

This endpoint is deprecated.

Returns a paginated list of EmployeeWage instances for a business.

function listEmployeeWages(?string $employeeId = null, ?int $limit = null, ?string $cursor = null): ApiResponse

Parameters

Parameter Type Tags Description
employeeId ?string Query, Optional Filter the returned wages to only those that are associated with the specified employee.
limit ?int Query, Optional The maximum number of EmployeeWage results to return per page. The number can range between
1 and 200. The default is 200.
cursor ?string Query, Optional A pointer to the next page of EmployeeWage results to fetch.

Response Type

This method returns a Square\Utils\ApiResponse instance. The getResult() method on this instance returns the response data which is of type ListEmployeeWagesResponse.

Example Usage

$apiResponse = $laborApi->listEmployeeWages();

if ($apiResponse->isSuccess()) {
    $listEmployeeWagesResponse = $apiResponse->getResult();
} else {
    $errors = $apiResponse->getErrors();
}

// Getting more response information
var_dump($apiResponse->getStatusCode());
var_dump($apiResponse->getHeaders());

Get Employee Wage

This endpoint is deprecated.

Returns a single EmployeeWage specified by id.

function getEmployeeWage(string $id): ApiResponse

Parameters

Parameter Type Tags Description
id string Template, Required The UUID for the EmployeeWage being retrieved.

Response Type

This method returns a Square\Utils\ApiResponse instance. The getResult() method on this instance returns the response data which is of type GetEmployeeWageResponse.

Example Usage

$id = 'id0';

$apiResponse = $laborApi->getEmployeeWage($id);

if ($apiResponse->isSuccess()) {
    $getEmployeeWageResponse = $apiResponse->getResult();
} else {
    $errors = $apiResponse->getErrors();
}

// Getting more response information
var_dump($apiResponse->getStatusCode());
var_dump($apiResponse->getHeaders());

Create Shift

Creates a new Shift.

A Shift represents a complete workday for a single team member. You must provide the following values in your request to this endpoint:

  • location_id
  • team_member_id
  • start_at

An attempt to create a new Shift can result in a BAD_REQUEST error when:

  • The status of the new Shift is OPEN and the team member has another shift with an OPEN status.
  • The start_at date is in the future.
  • The start_at or end_at date overlaps another shift for the same team member.
  • The Break instances are set in the request and a break start_at is before the Shift.start_at, a break end_at is after the Shift.end_at, or both.
function createShift(CreateShiftRequest $body): ApiResponse

Parameters

Parameter Type Tags Description
body CreateShiftRequest Body, Required An object containing the fields to POST for the request.

See the corresponding object definition for field details.

Response Type

This method returns a Square\Utils\ApiResponse instance. The getResult() method on this instance returns the response data which is of type CreateShiftResponse.

Example Usage

$body = CreateShiftRequestBuilder::init(
    ShiftBuilder::init(
        'PAA1RJZZKXBFG',
        '2019-01-25T03:11:00-05:00'
    )
        ->endAt('2019-01-25T13:11:00-05:00')
        ->wage(
            ShiftWageBuilder::init()
                ->title('Barista')
                ->hourlyRate(
                    MoneyBuilder::init()
                        ->amount(1100)
                        ->currency(Currency::USD)
                        ->build()
                )
                ->tipEligible(true)
                ->build()
        )
        ->breaks(
            [
                MBreakBuilder::init(
                    '2019-01-25T06:11:00-05:00',
                    'REGS1EQR1TPZ5',
                    'Tea Break',
                    'PT5M',
                    true
                )
                    ->endAt('2019-01-25T06:16:00-05:00')
                    ->build()
            ]
        )
        ->teamMemberId('ormj0jJJZ5OZIzxrZYJI')
        ->declaredCashTipMoney(
            MoneyBuilder::init()
                ->amount(500)
                ->currency(Currency::USD)
                ->build()
        )
        ->build()
)
    ->idempotencyKey('HIDSNG5KS478L')
    ->build();

$apiResponse = $laborApi->createShift($body);

if ($apiResponse->isSuccess()) {
    $createShiftResponse = $apiResponse->getResult();
} else {
    $errors = $apiResponse->getErrors();
}

// Getting more response information
var_dump($apiResponse->getStatusCode());
var_dump($apiResponse->getHeaders());

Search Shifts

Returns a paginated list of Shift records for a business. The list to be returned can be filtered by:

  • Location IDs
  • Team member IDs
  • Shift status (OPEN or CLOSED)
  • Shift start
  • Shift end
  • Workday details

The list can be sorted by:

  • START_AT
  • END_AT
  • CREATED_AT
  • UPDATED_AT
function searchShifts(SearchShiftsRequest $body): ApiResponse

Parameters

Parameter Type Tags Description
body SearchShiftsRequest Body, Required An object containing the fields to POST for the request.

See the corresponding object definition for field details.

Response Type

This method returns a Square\Utils\ApiResponse instance. The getResult() method on this instance returns the response data which is of type SearchShiftsResponse.

Example Usage

$body = SearchShiftsRequestBuilder::init()
    ->query(
        ShiftQueryBuilder::init()
            ->filter(
                ShiftFilterBuilder::init()
                    ->workday(
                        ShiftWorkdayBuilder::init()
                            ->dateRange(
                                DateRangeBuilder::init()
                                    ->startDate('2019-01-20')
                                    ->endDate('2019-02-03')
                                    ->build()
                            )
                            ->matchShiftsBy(ShiftWorkdayMatcher::START_AT)
                            ->defaultTimezone('America/Los_Angeles')
                            ->build()
                    )
                    ->build()
            )
            ->build()
    )
    ->limit(100)
    ->build();

$apiResponse = $laborApi->searchShifts($body);

if ($apiResponse->isSuccess()) {
    $searchShiftsResponse = $apiResponse->getResult();
} else {
    $errors = $apiResponse->getErrors();
}

// Getting more response information
var_dump($apiResponse->getStatusCode());
var_dump($apiResponse->getHeaders());

Delete Shift

Deletes a Shift.

function deleteShift(string $id): ApiResponse

Parameters

Parameter Type Tags Description
id string Template, Required The UUID for the Shift being deleted.

Response Type

This method returns a Square\Utils\ApiResponse instance. The getResult() method on this instance returns the response data which is of type DeleteShiftResponse.

Example Usage

$id = 'id0';

$apiResponse = $laborApi->deleteShift($id);

if ($apiResponse->isSuccess()) {
    $deleteShiftResponse = $apiResponse->getResult();
} else {
    $errors = $apiResponse->getErrors();
}

// Getting more response information
var_dump($apiResponse->getStatusCode());
var_dump($apiResponse->getHeaders());

Get Shift

Returns a single Shift specified by id.

function getShift(string $id): ApiResponse

Parameters

Parameter Type Tags Description
id string Template, Required The UUID for the Shift being retrieved.

Response Type

This method returns a Square\Utils\ApiResponse instance. The getResult() method on this instance returns the response data which is of type GetShiftResponse.

Example Usage

$id = 'id0';

$apiResponse = $laborApi->getShift($id);

if ($apiResponse->isSuccess()) {
    $getShiftResponse = $apiResponse->getResult();
} else {
    $errors = $apiResponse->getErrors();
}

// Getting more response information
var_dump($apiResponse->getStatusCode());
var_dump($apiResponse->getHeaders());

Update Shift

Updates an existing Shift.

When adding a Break to a Shift, any earlier Break instances in the Shift have the end_at property set to a valid RFC-3339 datetime string.

When closing a Shift, all Break instances in the Shift must be complete with end_at set on each Break.

function updateShift(string $id, UpdateShiftRequest $body): ApiResponse

Parameters

Parameter Type Tags Description
id string Template, Required The ID of the object being updated.
body UpdateShiftRequest Body, Required An object containing the fields to POST for the request.

See the corresponding object definition for field details.

Response Type

This method returns a Square\Utils\ApiResponse instance. The getResult() method on this instance returns the response data which is of type UpdateShiftResponse.

Example Usage

$id = 'id0';

$body = UpdateShiftRequestBuilder::init(
    ShiftBuilder::init(
        'PAA1RJZZKXBFG',
        '2019-01-25T03:11:00-05:00'
    )
        ->endAt('2019-01-25T13:11:00-05:00')
        ->wage(
            ShiftWageBuilder::init()
                ->title('Bartender')
                ->hourlyRate(
                    MoneyBuilder::init()
                        ->amount(1500)
                        ->currency(Currency::USD)
                        ->build()
                )
                ->tipEligible(true)
                ->build()
        )
        ->breaks(
            [
                MBreakBuilder::init(
                    '2019-01-25T06:11:00-05:00',
                    'REGS1EQR1TPZ5',
                    'Tea Break',
                    'PT5M',
                    true
                )
                    ->id('X7GAQYVVRRG6P')
                    ->endAt('2019-01-25T06:16:00-05:00')
                    ->build()
            ]
        )
        ->version(1)
        ->teamMemberId('ormj0jJJZ5OZIzxrZYJI')
        ->declaredCashTipMoney(
            MoneyBuilder::init()
                ->amount(500)
                ->currency(Currency::USD)
                ->build()
        )
        ->build()
)->build();

$apiResponse = $laborApi->updateShift(
    $id,
    $body
);

if ($apiResponse->isSuccess()) {
    $updateShiftResponse = $apiResponse->getResult();
} else {
    $errors = $apiResponse->getErrors();
}

// Getting more response information
var_dump($apiResponse->getStatusCode());
var_dump($apiResponse->getHeaders());

List Team Member Wages

Returns a paginated list of TeamMemberWage instances for a business.

function listTeamMemberWages(
    ?string $teamMemberId = null,
    ?int $limit = null,
    ?string $cursor = null
): ApiResponse

Parameters

Parameter Type Tags Description
teamMemberId ?string Query, Optional Filter the returned wages to only those that are associated with the
specified team member.
limit ?int Query, Optional The maximum number of TeamMemberWage results to return per page. The number can range between
1 and 200. The default is 200.
cursor ?string Query, Optional A pointer to the next page of EmployeeWage results to fetch.

Response Type

This method returns a Square\Utils\ApiResponse instance. The getResult() method on this instance returns the response data which is of type ListTeamMemberWagesResponse.

Example Usage

$apiResponse = $laborApi->listTeamMemberWages();

if ($apiResponse->isSuccess()) {
    $listTeamMemberWagesResponse = $apiResponse->getResult();
} else {
    $errors = $apiResponse->getErrors();
}

// Getting more response information
var_dump($apiResponse->getStatusCode());
var_dump($apiResponse->getHeaders());

Get Team Member Wage

Returns a single TeamMemberWage specified by id.

function getTeamMemberWage(string $id): ApiResponse

Parameters

Parameter Type Tags Description
id string Template, Required The UUID for the TeamMemberWage being retrieved.

Response Type

This method returns a Square\Utils\ApiResponse instance. The getResult() method on this instance returns the response data which is of type GetTeamMemberWageResponse.

Example Usage

$id = 'id0';

$apiResponse = $laborApi->getTeamMemberWage($id);

if ($apiResponse->isSuccess()) {
    $getTeamMemberWageResponse = $apiResponse->getResult();
} else {
    $errors = $apiResponse->getErrors();
}

// Getting more response information
var_dump($apiResponse->getStatusCode());
var_dump($apiResponse->getHeaders());

List Workweek Configs

Returns a list of WorkweekConfig instances for a business.

function listWorkweekConfigs(?int $limit = null, ?string $cursor = null): ApiResponse

Parameters

Parameter Type Tags Description
limit ?int Query, Optional The maximum number of WorkweekConfigs results to return per page.
cursor ?string Query, Optional A pointer to the next page of WorkweekConfig results to fetch.

Response Type

This method returns a Square\Utils\ApiResponse instance. The getResult() method on this instance returns the response data which is of type ListWorkweekConfigsResponse.

Example Usage

$apiResponse = $laborApi->listWorkweekConfigs();

if ($apiResponse->isSuccess()) {
    $listWorkweekConfigsResponse = $apiResponse->getResult();
} else {
    $errors = $apiResponse->getErrors();
}

// Getting more response information
var_dump($apiResponse->getStatusCode());
var_dump($apiResponse->getHeaders());

Update Workweek Config

Updates a WorkweekConfig.

function updateWorkweekConfig(string $id, UpdateWorkweekConfigRequest $body): ApiResponse

Parameters

Parameter Type Tags Description
id string Template, Required The UUID for the WorkweekConfig object being updated.
body UpdateWorkweekConfigRequest Body, Required An object containing the fields to POST for the request.

See the corresponding object definition for field details.

Response Type

This method returns a Square\Utils\ApiResponse instance. The getResult() method on this instance returns the response data which is of type UpdateWorkweekConfigResponse.

Example Usage

$id = 'id0';

$body = UpdateWorkweekConfigRequestBuilder::init(
    WorkweekConfigBuilder::init(
        Weekday::MON,
        '10:00'
    )
        ->version(10)
        ->build()
)->build();

$apiResponse = $laborApi->updateWorkweekConfig(
    $id,
    $body
);

if ($apiResponse->isSuccess()) {
    $updateWorkweekConfigResponse = $apiResponse->getResult();
} else {
    $errors = $apiResponse->getErrors();
}

// Getting more response information
var_dump($apiResponse->getStatusCode());
var_dump($apiResponse->getHeaders());