CData Python Connector for Square

Build 26.0.9770

Timecards

Create, update, delete, and query the available timecards in Square. This table uses the new /v2/labor/timecards endpoint; the legacy Shifts table remains available. Note: Square replaces the entire timecard on an update, so every UPDATE must set StartAt, TeamMemberId, WageTitle, WageHourlyRateAmount, and WageHourlyRateCurrency. LocationId is also required; if it is not set, it is read from the timecard being updated.

Table Specific Information

Select

The connector uses the Square API to filter the results by the following columns and operators while the rest of the filter is executed client-side within the connector.

  • Id supports the following operator: =.
  • EndAt supports the following operators: =, >=, <=, >, <.
  • LocationId supports the following operator: =.
  • StartAt supports the following operators: =, >=, <=, >, <.
  • Status supports the following operator: =.
  • TeamMemberId supports the following operators: =, IN.

Retrieve all timecards:

SELECT * FROM Timecards

Retrieve only one timecard:

SELECT * FROM Timecards WHERE Id = 'T35HMQSN89SV4'

Retrieve timecards for a specific team member:

SELECT * FROM Timecards WHERE TeamMemberId = 'TMpveKF7plf5H7eZ'

The StartAt column supports the =, >, >=, <, <= operators.

SELECT Id, StartAt FROM Timecards WHERE StartAt = '2025-07-03 05:26:00.0'

SELECT Id, StartAt FROM Timecards WHERE StartAt > '2025-07-03 05:26:00.0'

SELECT Id, StartAt FROM Timecards WHERE StartAt >= '2025-07-03 05:26:00.0'

SELECT Id, StartAt FROM Timecards WHERE StartAt < '2025-07-03 05:26:00.0'

SELECT Id, StartAt FROM Timecards WHERE StartAt <= '2025-07-03 05:26:00.0'

SELECT Id, StartAt FROM Timecards WHERE StartAt >= '2025-03-21 01:38:00.0' AND StartAt < '2025-07-03 05:26:00.0'

The EndAt column supports the =, >, >=, <, <= operators.

SELECT Id, EndAt FROM Timecards WHERE EndAt = '2025-07-03 05:26:00.0'

SELECT Id, EndAt FROM Timecards WHERE EndAt > '2025-07-03 05:26:00.0'

SELECT Id, EndAt FROM Timecards WHERE EndAt >= '2025-07-03 05:26:00.0'

SELECT Id, EndAt FROM Timecards WHERE EndAt < '2025-07-03 05:26:00.0'

SELECT Id, EndAt FROM Timecards WHERE EndAt <= '2025-07-03 05:26:00.0'

SELECT Id, EndAt FROM Timecards WHERE EndAt > '2025-07-04T02:22:00-07:00' AND EndAt <= '2025-07-04T03:42:00-07:00'

The result set can be filtered using both StartAt and EndAt together.

SELECT Id, StartAt, EndAt FROM Timecards WHERE StartAt >= '2025-03-21 01:38:00.0' AND EndAt < '2025-07-04 06:42:00.0';

Insert

To create a timecard, you must specify the TeamMemberId, LocationId, and StartAt columns.

INSERT INTO Timecards(TeamMemberId, LocationId, StartAt, WageTitle, WageHourlyRateAmount, WageHourlyRateCurrency, WageTipEligible, DeclaredCashTipMoneyAmount, DeclaredCashTipMoneyCurrency, Breaks) VALUES ('TMpveKF7plf5H7eZ', '92BYHNBR6W77E', '2025-07-03T07:20:14.382-04:00', 'Cashier', 1500, 'USD', true, 500, 'USD', '[{"start_at": "2025-07-03T07:20:00-04:00", "end_at": "2025-07-03T07:21:00-04:00", "break_type_id": "REGS1EQR1TPZ5", "name": "Tea Break", "expected_duration": "PT5M", "is_paid": true}]')

Update

Modify the details of an existing timecard by providing the Id of the timecard. Square replaces the entire timecard on an update, so every UPDATE must set the StartAt, TeamMemberId, WageTitle, WageHourlyRateAmount, and WageHourlyRateCurrency columns. The connector reports any that are missing before it sends the request.

UPDATE Timecards SET Version = 1, LocationId = '92BYHNBR6W77E', StartAt = '2025-07-03T07:50:40.017-04:00', TeamMemberId = 'TMpveKF7plf5H7eZ', WageTitle = 'Senior Cashier', WageHourlyRateAmount = 2043, WageHourlyRateCurrency = 'USD' WHERE Id = 'RX3KS4G3VH00N'

LocationId is also required, but it does not have to be set: if the query omits it, the connector reads it from the timecard being updated. Filter on it in the WHERE clause to restrict the update to a timecard at that location.

UPDATE Timecards SET StartAt = '2025-07-03T07:50:40.017-04:00', TeamMemberId = 'TMpveKF7plf5H7eZ', WageTitle = 'Senior Cashier', WageHourlyRateAmount = 2043, WageHourlyRateCurrency = 'USD' WHERE LocationId = '92BYHNBR6W77E' AND Id = 'RX3KS4G3VH00N'

No rows are updated if the timecard belongs to a different location than the one in the WHERE clause.

Delete

Delete a timecard by providing the Id of the timecard:

DELETE FROM Timecards WHERE Id = 'T35HMQSN89SV4'

Columns

Name Type ReadOnly Description
Id [KEY] String True

The UUID for this object.

Breaks String False

A list of all the paid or unpaid breaks that were taken during this timecard.

CreatedAt Datetime True

A read-only timestamp in RFC 3339 format; presented in UTC.

DeclaredCashTipMoneyAmount Integer False

The amount of money, in the smallest denomination of the currency indicated by currency.

DeclaredCashTipMoneyCurrency String False

The type of currency, in ISO 4217 format.

The allowed values are UNKNOWN_CURRENCY, AED, AFN, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BGN, BHD, BIF, BMD, BND, BOB, BOV, BRL, BSD, BTN, BWP, BYR, BZD, CAD, CDF, CHE, CHF, CHW, CLF, CLP, CNY, COP, COU, CRC, CUC, CUP, CVE, CZK, DJF, DKK, DOP, DZD, EGP, ERN, ETB, EUR, FJD, FKP, GBP, GEL, GHS, GIP, GMD, GNF, GTQ, GYD, HKD, HNL, HRK, HTG, HUF, IDR, ILS, INR, IQD, IRR, ISK, JMD, JOD, JPY, KES, KGS, KHR, KMF, KPW, KRW, KWD, KYD, KZT, LAK, LBP, LKR, LRD, LSL, LTL, LVL, LYD, MAD, MDL, MGA, MKD, MMK, MNT, MOP, MRO, MUR, MVR, MWK, MXN, MXV, MYR, MZN, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, RWF, SAR, SBD, SCR, SDG, SEK, SGD, SHP, SLL, SLE, SOS, SRD, SSP, STD, SVC, SYP, SZL, THB, TJS, TMT, TND, TOP, TRY, TTD, TWD, TZS, UAH, UGX, USD, USN, USS, UYI, UYU, UZS, VEF, VND, VUV, WST, XAF, XAG, XAU, XBA, XBB, XBC, XBD, XCD, XDR, XOF, XPD, XPF, XPT, XTS, XXX, YER, ZAR, ZMK, ZMW, BTC, XUS.

EndAt Datetime False

RFC 3339; shifted to the timezone + offset. Precision up to the minute is respected; seconds are truncated.

LocationId String False

The ID of the location this timecard occurred at.

StartAt Datetime False

RFC 3339; shifted to the location timezone + offset. Precision up to the minute is respected; seconds are truncated.

Status String True

Describes the working state of the current timecard.

The allowed values are OPEN, CLOSED.

TeamMemberId String False

The ID of the team member this timecard belongs to.

TimeZone String True

The read-only convenience value that is calculated from the location based on the location_id. Format: the IANA timezone database identifier for the location timezone.

UpdatedAt Datetime True

A read-only timestamp in RFC 3339 format; presented in UTC.

Version Integer False

Used for resolving concurrency issues. The request fails if the version provided does not match the server version at the time of the request. If not provided, Square executes a blind write; potentially overwriting data from another write.

WageTitle String False

The name of the job performed during this timecard.

WageHourlyRateAmount Integer False

The amount of money, in the smallest denomination of the currency indicated by currency.

WageHourlyRateCurrency String False

The type of currency, in ISO 4217 format. For example, the currency code for US dollars is USD.

The allowed values are UNKNOWN_CURRENCY, AED, AFN, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BGN, BHD, BIF, BMD, BND, BOB, BOV, BRL, BSD, BTN, BWP, BYR, BZD, CAD, CDF, CHE, CHF, CHW, CLF, CLP, CNY, COP, COU, CRC, CUC, CUP, CVE, CZK, DJF, DKK, DOP, DZD, EGP, ERN, ETB, EUR, FJD, FKP, GBP, GEL, GHS, GIP, GMD, GNF, GTQ, GYD, HKD, HNL, HRK, HTG, HUF, IDR, ILS, INR, IQD, IRR, ISK, JMD, JOD, JPY, KES, KGS, KHR, KMF, KPW, KRW, KWD, KYD, KZT, LAK, LBP, LKR, LRD, LSL, LTL, LVL, LYD, MAD, MDL, MGA, MKD, MMK, MNT, MOP, MRO, MUR, MVR, MWK, MXN, MXV, MYR, MZN, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, RWF, SAR, SBD, SCR, SDG, SEK, SGD, SHP, SLL, SLE, SOS, SRD, SSP, STD, SVC, SYP, SZL, THB, TJS, TMT, TND, TOP, TRY, TTD, TWD, TZS, UAH, UGX, USD, USN, USS, UYI, UYU, UZS, VEF, VND, VUV, WST, XAF, XAG, XAU, XBA, XBB, XBC, XBD, XCD, XDR, XOF, XPD, XPF, XPT, XTS, XXX, YER, ZAR, ZMK, ZMW, BTC, XUS.

WageJobId String True

The ID of the job performed during this timecard. Square labor-reporting UIs might group timecards together by ID. This cannot be used to retrieve the job.

WageTipEligible Boolean False

Whether team members are eligible for tips when working this job.

Pseudocolumns

Pseudo column fields are used in the WHERE clause of SELECT statements (unless stated otherwise) and offer a more granular control over the tuples that are returned from the data source.

Name Type Description
IdempotencyKey String

A unique string that identifies the request. Supported only for INSERT operations. Maximum length is 128 characters.

Copyright (c) 2026 CData Software, Inc. - All rights reserved.
Build 26.0.9770