Workday Tracking System · JSON Structure

Time Tracking Timesheet Structure

An employee timesheet for a pay period

Type: object Properties: 9
Absence ManagementAttendanceEnterpriseHCMHuman Capital ManagementPayrollSchedulingTime TrackingTimesheetsWorkforce Management

Timesheet is a JSON Structure definition published by Workday Tracking System, describing 9 properties. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.

Properties

id workerId periodStartDate periodEndDate totalHours regularHours overtimeHours status timeBlocks

Meta-schema: https://json-structure.org/meta/core/v0/#

JSON Structure

Raw ↑
{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/workday-tracking-system/refs/heads/main/json-structure/time-tracking-timesheet-structure.json",
  "name": "Timesheet",
  "description": "An employee timesheet for a pay period",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Unique Workday ID of the timesheet"
    },
    "workerId": {
      "type": "string",
      "description": "Workday ID of the worker"
    },
    "periodStartDate": {
      "type": "date",
      "description": "Start date of the pay period"
    },
    "periodEndDate": {
      "type": "date",
      "description": "End date of the pay period"
    },
    "totalHours": {
      "type": "float",
      "description": "Total hours recorded in the timesheet"
    },
    "regularHours": {
      "type": "float",
      "description": "Regular hours worked"
    },
    "overtimeHours": {
      "type": "float",
      "description": "Overtime hours worked"
    },
    "status": {
      "type": "string",
      "description": "Timesheet status",
      "enum": [
        "Draft",
        "Submitted",
        "Approved",
        "Rejected"
      ]
    },
    "timeBlocks": {
      "type": "array",
      "description": "Time blocks in this timesheet",
      "items": {
        "type": "object",
        "description": "A reported or calculated time block representing hours worked",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique Workday ID of the time block"
          },
          "workerId": {
            "type": "string",
            "description": "Workday ID of the worker"
          },
          "date": {
            "type": "date",
            "description": "Date of the time block"
          },
          "startTime": {
            "type": "time",
            "description": "Start time of the time block (HH:MM:SS)"
          },
          "endTime": {
            "type": "time",
            "description": "End time of the time block (HH:MM:SS)"
          },
          "hours": {
            "type": "float",
            "description": "Total hours in the time block"
          },
          "type": {
            "type": "string",
            "description": "Type of time block",
            "enum": [
              "Regular",
              "Overtime",
              "Holiday",
              "Leave"
            ]
          },
          "status": {
            "type": "string",
            "description": "Status of the time block",
            "enum": [
              "Reported",
              "Calculated",
              "Approved",
              "Rejected"
            ]
          },
          "projectId": {
            "type": "string",
            "description": "Associated project ID (optional)"
          },
          "taskId": {
            "type": "string",
            "description": "Associated task ID (optional)"
          },
          "comment": {
            "type": "string",
            "description": "Optional comment for the time block"
          },
          "createdAt": {
            "type": "datetime",
            "description": "Timestamp when the time block was created"
          },
          "modifiedAt": {
            "type": "datetime",
            "description": "Timestamp when the time block was last modified"
          }
        },
        "required": [
          "workerId",
          "date",
          "hours",
          "type"
        ]
      }
    }
  }
}