<turbo-stream action="update" target="wiki_card"><template>

<h1>Dayforce Schema Structure and Field Management</h1>
<div class="trix-content"><h2>Overview</h2><p>The Dayforce integration uses a single hosted JSON schema (Dayforce_full_schema_rapidi.json), shared across all REST WebService connections for the tenant. Each top-level definition matches a Dayforce API endpoint name exactly.</p><p>The schema currently defines eight objects:<br></p><figure class="attachment attachment--content"><table class="table table-bordered"><thead><tr><td>Object</td><td>Description</td></tr></thead><tbody><tr><td>Employees</td><td>Employee master data.</td></tr><tr><td>EmployeePayAdjustments</td><td>Employee pay adjustment transactions.</td></tr><tr><td>LaborMetrics</td><td>Labor Metrics item for a Pay Adjustment or Punch.</td></tr><tr><td>EmployeePunches</td><td>Clock-in/clock-out time entries.</td></tr><tr><td>MealBreaks</td><td>Meal break records nested within an Employee Punch.</td></tr><tr><td>Transfers</td><td>Mid-shift department/job/project transfer, nested within an Employee Punch.</td></tr><tr><td>PunchLaborMetrics</td><td>Labor Metrics items attached to an Employee Punch.</td></tr><tr><td>TransferLaborMetrics</td><td>Labor Metrics items attached to a Transfer within an Employee Punch.</td></tr></tbody></table><figcaption class="attachment__caption"></figcaption></figure><p></p><h3>LaborMetrics</h3><p></p><figure class="attachment attachment--content"><table class="table table-bordered"><thead><tr><td>Field</td><td>Type</td><td>Description</td><td>Example</td></tr></thead><tbody><tr><td>LaborMetricsTypeXRefCode</td><td>string</td><td>External reference code for the Labor Metric type.</td><td>JobCode</td></tr><tr><td>LaborMetricsCodeXRefCode</td><td>string</td><td>External reference code for the Labor Metric code.</td><td>25-910</td></tr></tbody></table><figcaption class="attachment__caption"></figcaption></figure>Each entry in <code>EmployeePayAdjustments.LaborMetrics</code> (below) must reference a Labor Metric that already exists in Dayforce, which is why this sync has to run first.<br><br><p></p><h3>EmployeePayAdjustments</h3><p><br></p><figure class="attachment attachment--content"><table class="table table-bordered"><thead><tr><td>Field</td><td>Type</td><td>Description</td><td>Example</td></tr></thead><tbody><tr><td>EmployeePayAdjustXRefCode</td><td>string</td><td>Unique identifier for the record.</td><td>EPA123456</td></tr><tr><td>EmployeeXRefCode</td><td>string</td><td>External reference code for the employee.</td><td>E0066</td></tr><tr><td>OrgUnitXRefCode</td><td>string</td><td>External reference code for the organizational unit.</td><td>NORTHERN_MAT_AND_BRIDGE_EAST_LIMITED_PARTNERSHIP_TORONTO_OPERATIONS_UNION</td></tr><tr><td>PayAdjustmentCodeXRefCode</td><td>string</td><td>External reference code for the pay adjustment code.</td><td>REG_ICI</td></tr><tr><td>PayAdjustmentDate</td><td>string (date-time)</td><td>Date of the pay adjustment.</td><td>2025-12-10T03:30:00Z</td></tr><tr><td>Hours</td><td>number</td><td>Number of hours for the pay adjustment.</td><td>9.0</td></tr><tr><td>Amount</td><td>number</td><td>Amount of the pay adjustment.</td><td>150.5</td></tr><tr><td>JobXRefCode</td><td>string</td><td>External reference code for the job.</td><td>JOB001</td></tr><tr><td>DepartmentXRefCode</td><td>string</td><td>External reference code for the department.</td><td>DEPT001</td></tr><tr><td>PayCategoryXRefCode</td><td>string</td><td>External reference code for the pay category.</td><td>REGULAR</td></tr><tr><td>ProjectXRefCode</td><td>string</td><td>External reference code for the project.</td><td>PROJ001</td></tr><tr><td>DocketXRefCode</td><td>string</td><td>External reference code for the docket.</td><td>NIGHT_SHIFT</td></tr><tr><td>Rate</td><td>number</td><td>Rate associated with the pay adjustment.</td><td>25.5</td></tr><tr><td>PayDate</td><td>string (date-time)</td><td>Pay date for the adjustment.</td><td>2025-12-15T00:00:00Z</td></tr><tr><td>ManagerAuthorized / EmployeeAuthorized</td><td>boolean</td><td>Whether the manager/employee has authorized the adjustment.</td><td>true</td></tr><tr><td>AdjustPeriodStartDate / AdjustPeriodEndDate</td><td>string (date-time)</td><td>Adjustment period bounds.</td><td>2025-12-01T00:00:00Z</td></tr><tr><td>LaborMetrics</td><td>array</td><td>Array of LaborMetrics items attached to the adjustment.</td><td>array of LaborMetrics objects</td></tr></tbody></table><figcaption class="attachment__caption"></figcaption></figure>(A few lower-relevance fields, <code>PieceQuantity</code>, <code>IsPremium</code>, <code>IsDeleted</code>, <code>ReferenceDate</code>, <code>EmployeeComment</code>, <code>ManagerComment</code>, exist on this object but aren't central to the current mapping.)<br><br><p></p><h3>Employees</h3><p></p><figure class="attachment attachment--content"><table class="table table-bordered"><thead><tr><td>Field</td><td>Type</td><td>Description</td><td>Example</td></tr></thead><tbody><tr><td>EmployeeXRefCode</td><td>string</td><td>External reference code for the employee (unique identifier).</td><td>E0066</td></tr><tr><td>EmployeeNumber</td><td>string</td><td>Employment identification number.</td><td>12345</td></tr><tr><td>DisplayName / FirstName / LastName</td><td>string</td><td>Employee name fields.</td><td>John Doe</td></tr><tr><td>HireDate / OriginalHireDate / TerminationDate</td><td>string (date-time)</td><td>Employment date fields.</td><td>2020-01-15T00:00:00Z</td></tr><tr><td>EmploymentStatusXRefCode</td><td>string</td><td>Employment status (Active, Terminated, Leave of Absence, etc.).</td><td>ACTIVE</td></tr><tr><td>OrgUnitXRefCode / DepartmentXRefCode / JobXRefCode / PositionXRefCode</td><td>string</td><td>Organizational placement.</td><td>DEPT001</td></tr><tr><td>Email / Phone</td><td>string</td><td>Contact details.</td><td>john.doe@company.com</td></tr><tr><td>ManagerXRefCode</td><td>string</td><td>External reference code for the employee's manager.</td><td>E0001</td></tr><tr><td>IsActive</td><td>boolean</td><td>Whether the employee is currently active.</td><td>true</td></tr></tbody></table><figcaption class="attachment__caption"></figcaption></figure>(Additional fields covering pay class/group/type, salary/rate, and address are also present, standard employee master-data attributes not called out individually here.)<br><br><p></p><h3>Managing the Schema</h3><p>One schema file covers every endpoint for the tenant. To add or change a field: update the field's definition (name, type, description, example) in the hosted JSON schema, then click <strong>Read Design</strong> on the WebService in Rapidi. No connection changes needed.</p><p><br></p><p><br></p><h3>Content</h3><p></p><figure class="attachment attachment--preview"><img src="/api/4efaf06a-3e45-47b3-aeea-8b14e5fb3960/files/5038ce33-3506-4a06-9460-0e348a6a88c2/preview"><figcaption class="attachment__caption"></figcaption></figure><p></p><p><br></p><h3>Dayforce_full_schema_rapidi.json</h3><p>json</p><p><br></p><h3>Dayforce_Full_Schema_Updated.json</h3><p>json</p><p></p><figure class="attachment attachment--preview"><img src="/api/4efaf06a-3e45-47b3-aeea-8b14e5fb3960/files/87a95423-5f12-4c68-ad0e-5b76c374a7e9/preview"><figcaption class="attachment__caption"></figcaption></figure><p></p></div>
</template></turbo-stream>

