POS Time Cards

Aggregate and indexed time card information from your POS system. Time cards track employee working hours for labor management and payroll.


Overview

The POS Time Card API provides access to employee time tracking data. Time cards record when employees clock in and out, including breaks and job changes during shifts.

Time Card Structure

Time cards have a hierarchical structure:

  • TimeCard - Main record for an employee's work period
    • TimeCardSegment (1 or more) - Individual clock-in/clock-out segments

A single time card may contain multiple segments if an employee:

  • Takes breaks
  • Changes jobs during their shift
  • Clocks in and out multiple times

API Endpoints

Retrieve Time Cards

Returns time card records for a specific location.

Method: GET

Endpoint: /pos/v2/{locationId}/time-cards

Authentication: Bearer token required

Retrieve employee time cards for a location. Use query parameters to filter by date range, employee, or status.

Path Parameters

NameTypeDescription
locationId *integerThe unique identifier for the location

Query Parameters

NameTypeDescription
pageintegerPage number for pagination (default: 1)
pageSizeintegerNumber of results per page (default: 50, max: 100)
startDatedateFilter time cards starting on or after this date
endDatedateFilter time cards ending on or before this date
employeeRefstringFilter by specific employee
statusstringFilter by status: OPEN, CLOSED

Request

GET
/pos/v2/{locationId}/time-cards
curl -X GET "https://conecto-api.shift4payments.com/pos/v2/12345/time-cards?startDate=2024-01-01&endDate=2024-01-31" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"

Response

{
  "results": [
    {
      "posRef": "TC-12345",
      "employeeRef": "EMP-001",
      "employeeName": "Jane Smith",
      "jobRef": "JOB-SERVER",
      "jobName": "Server",
      "status": "CLOSED",
      "clockInAt": "2024-01-15T10:00:00Z",
      "clockOutAt": "2024-01-15T18:00:00Z",
      "totalHours": 7.5,
      "regularHours": 7.5,
      "overtimeHours": 0,
      "breakMinutes": 30,
      "locationId": 12345,
      "timeCardSegments": [
        {
          "posRef": "TCS-001",
          "clockInAt": "2024-01-15T10:00:00Z",
          "clockOutAt": "2024-01-15T14:00:00Z",
          "jobRef": "JOB-SERVER",
          "jobName": "Server",
          "hours": 4.0
        },
        {
          "posRef": "TCS-002",
          "clockInAt": "2024-01-15T14:30:00Z",
          "clockOutAt": "2024-01-15T18:00:00Z",
          "jobRef": "JOB-SERVER",
          "jobName": "Server",
          "hours": 3.5
        }
      ]
    },
    {
      "posRef": "TC-12346",
      "employeeRef": "EMP-002",
      "employeeName": "John Doe",
      "jobRef": "JOB-COOK",
      "jobName": "Cook",
      "status": "OPEN",
      "clockInAt": "2024-01-15T11:00:00Z",
      "clockOutAt": null,
      "totalHours": null,
      "regularHours": null,
      "overtimeHours": null,
      "breakMinutes": 0,
      "locationId": 12345,
      "timeCardSegments": [
        {
          "posRef": "TCS-003",
          "clockInAt": "2024-01-15T11:00:00Z",
          "clockOutAt": null,
          "jobRef": "JOB-COOK",
          "jobName": "Cook",
          "hours": null
        }
      ]
    }
  ],
  "meta": {
    "page": 1,
    "pageSize": 50,
    "totalCount": 150
  }
}

Models

TimeCard

The main time card record representing an employee's work period.

  • Name
    posRef
    Type
    string
    Description

    Unique POS system reference ID for the time card

  • Name
    employeeRef
    Type
    string
    Description

    Reference to the employee

  • Name
    employeeName
    Type
    string
    Description

    Name of the employee

  • Name
    jobRef
    Type
    string
    Description

    Primary job reference for this time card

  • Name
    jobName
    Type
    string
    Description

    Primary job name

  • Name
    status
    Type
    string
    Description

    Status of the time card: OPEN (currently clocked in) or CLOSED (clocked out)

  • Name
    clockInAt
    Type
    datetime
    Description

    When the employee first clocked in

  • Name
    clockOutAt
    Type
    datetime
    Description

    When the employee clocked out (null if still clocked in)

  • Name
    totalHours
    Type
    number
    Description

    Total hours worked (null if status is OPEN)

  • Name
    regularHours
    Type
    number
    Description

    Regular hours worked

  • Name
    overtimeHours
    Type
    number
    Description

    Overtime hours worked

  • Name
    breakMinutes
    Type
    integer
    Description

    Total break time in minutes

  • Name
    declaredTips
    Type
    number
    Description

    Tips declared by employee for this time card

  • Name
    locationId
    Type
    integer
    Description

    Location ID where time was tracked

  • Name
    businessDate
    Type
    date
    Description

    Business day this time card belongs to

  • Name
    timeCardSegments
    Type
    array
    Description

    Array of TimeCardSegment objects

  • Name
    createdAt
    Type
    datetime
    Description

    When the time card was created

  • Name
    updatedAt
    Type
    datetime
    Description

    When the time card was last updated

TimeCardSegment

Individual clock-in/clock-out segments within a time card.

  • Name
    posRef
    Type
    string
    Description

    Unique POS system reference ID for the segment

  • Name
    clockInAt
    Type
    datetime
    Description

    When this segment started

  • Name
    clockOutAt
    Type
    datetime
    Description

    When this segment ended (null if currently active)

  • Name
    jobRef
    Type
    string
    Description

    Job reference for this segment

  • Name
    jobName
    Type
    string
    Description

    Job name for this segment

  • Name
    hours
    Type
    number
    Description

    Hours worked in this segment (null if clockOutAt is null)

  • Name
    isBreak
    Type
    boolean
    Description

    Whether this segment represents a break (unpaid time)

  • Name
    departmentRef
    Type
    string
    Description

    Department reference for this segment


Use Cases

Labor Cost Analysis

Calculate and analyze labor costs:

  • Total Labor Hours - Sum hours across all employees
  • Labor Cost - Calculate total labor cost using wage rates
  • Labor Percentage - Calculate labor as percentage of sales
  • Overtime Tracking - Monitor overtime hours by employee

Payroll Processing

Export time card data for payroll:

  • Regular vs. Overtime - Separate hours for different pay rates
  • Tip Reporting - Include declared tips for payroll
  • Department Breakdown - Track hours by department for cost allocation
  • Break Time - Account for paid vs. unpaid breaks

Compliance & Reporting

Ensure labor law compliance:

  • Hours Tracking - Monitor employee hours for overtime rules
  • Break Compliance - Ensure required breaks are taken
  • Minor Restrictions - Track hours for minor employees
  • Audit Trail - Maintain records for labor law audits

Scheduling Optimization

Optimize labor scheduling:

  • Actual vs. Scheduled - Compare scheduled to actual hours
  • Labor Efficiency - Analyze labor efficiency by shift
  • Peak Hours - Identify staffing needs by time of day
  • Cross-Training - Track employees working multiple jobs

Best Practices

  • Name
    Open Time Cards
    Description

    Handle open time cards (status: OPEN) appropriately. These represent employees currently clocked in and don't have final hour calculations.

  • Name
    Break Time
    Description

    Account for break time when calculating paid hours. Some breaks may be paid, others unpaid depending on local laws and company policy.

  • Name
    Overtime Calculations
    Description

    Use the overtime hours provided by the POS rather than calculating yourself. POS systems handle complex overtime rules specific to the jurisdiction.

  • Name
    Job Changes
    Description

    Handle time cards with multiple segments at different pay rates. Sum hours by job for accurate cost calculation.

  • Name
    Business Date
    Description

    Use the businessDate field rather than clock-in date for reporting. Shifts that cross midnight should be reported on the business day they started.

  • Name
    Synchronization
    Description

    Sync time card data regularly, especially before payroll processing. Changes to time cards (edits, additions) should be reflected in your system.

Was this page helpful?