{
  "schemaVersion": "1.0",
  "entityFamily": "sub-modules",
  "entityType": "DefinedTerm",
  "entityId": "sub-modules:132",
  "canonicalUrl": "https://babadook.tech/sub-modules/attendance-tracking",
  "machineBaseUrl": "https://babadook.tech/ai/sub-modules/attendance-tracking",
  "name": "Attendance Tracking",
  "aliases": [],
  "summary": "Hours your payroll team doesn't have to chase — allocated before the shift ends.",
  "description": [
    "Payroll Mondays run on the same ritual: chasing missed punches, decoding spreadsheets, estimating hours nobody recorded. Attendance Tracking ends the chase. Punches validate against roster state, allocate to the work actually run, and accumulate into timecards that certify instead of estimate."
  ],
  "sections": [
    {
      "id": "from-punch-to-payroll-input-a7d2624c-1f4e-48ce-9868-bc02075cc377",
      "heading": "From punch to payroll input",
      "body": [
        "Punches validate against roster and assignment state, allocate to active work, and accumulate into timecards. Overtime, exceptions, and approvals resolve before payroll-input events emit to Part 3A finance for costing and pay."
      ],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": [
        {
          "id": "data-viz-1",
          "heading": "data Viz",
          "body": [],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "data-view-1",
          "heading": "data View",
          "body": [
            "section: how-it-works"
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "punch-capture-1",
          "heading": "Punch Capture",
          "body": [
            "Badge, biometric, and mobile punches validate against roster state at entry. Off-roster punches raise supervisor-routed exceptions instead of vanishing."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "allocation-2",
          "heading": "Allocation",
          "body": [
            "Validated punches allocate to the active work order or service slot with overtime rules applied. Split shifts divide across cost objects with the division recorded."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "certification-3",
          "heading": "Certification",
          "body": [
            "Timecards consolidate allocations with exceptions, approvals, and overtime verified. Certified cards emit payroll-input events; uncertified ones stay open with gaps named."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        }
      ],
      "sourceBlockType": "content_block",
      "sourceBlockId": "a7d2624c-1f4e-48ce-9868-bc02075cc377"
    },
    {
      "id": "attendance-guarantees-b43bf5bd-e215-406c-81cc-a7b0a0431b8c",
      "heading": "Attendance guarantees",
      "body": [],
      "specifications": [
        {
          "label": "Roster validation",
          "value": "Punches checked against assignment state before allocation",
          "group": "spec Items"
        },
        {
          "label": "Live allocation",
          "value": "Validated time accrues to work orders and projects immediately",
          "group": "spec Items"
        },
        {
          "label": "Exception discipline",
          "value": "Misses and anomalies block certification until resolved with approval",
          "group": "spec Items"
        },
        {
          "label": "section",
          "value": "capabilities",
          "group": "data View"
        }
      ],
      "relationships": [],
      "media": [],
      "children": [],
      "sourceBlockType": "product_specification",
      "sourceBlockId": "b43bf5bd-e215-406c-81cc-a7b0a0431b8c"
    },
    {
      "id": "attendance-by-industry-4f12b3a6-4ffd-4875-be62-25efa7c5cb6e",
      "heading": "Attendance by industry",
      "body": [
        "Time capture bends per industry — same validation discipline, different cost stakes."
      ],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": [
        {
          "id": "data-viz-1",
          "heading": "data Viz",
          "body": [],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "data-view-1",
          "heading": "data View",
          "body": [
            "section: industries"
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "manufacturing-1",
          "heading": "Manufacturing",
          "body": [
            "Clock-ins allocate to work orders with overtime feeding job costs the same shift. Certified payroll exports carry the evidence government contracts require."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "healthcare-2",
          "heading": "Healthcare",
          "body": [
            "Shift differentials, callback pay, and credential-linked assignments resolve per clinician. Float assignments track across units with cost following the nurse."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "construction-3",
          "heading": "Construction",
          "body": [
            "Crew time splits across jobs and cost codes from mobile punches. Certified payroll reports assemble per prevailing-wage jurisdiction automatically."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        }
      ],
      "sourceBlockType": "content_block",
      "sourceBlockId": "4f12b3a6-4ffd-4875-be62-25efa7c5cb6e"
    },
    {
      "id": "attendance-tracking-questions-ff065a26-2ea4-4226-835d-9908ca44d20a",
      "heading": "Attendance Tracking questions",
      "body": [],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": [
        {
          "id": "section-1-1",
          "heading": "Section 1",
          "body": [
            "How are missed punches handled?",
            "Missed punches raise exceptions tied to the roster and supervisor approval path. Unresolved exceptions block payroll-input certification for that timecard rather than silently estimating hours."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "section-2-2",
          "heading": "Section 2",
          "body": [
            "Does attendance update labor costs live?",
            "Yes. Allocated time accrues against work orders and projects as it is validated, so labor cost and utilization stay current without waiting for payroll runs."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "section-3-3",
          "heading": "Section 3",
          "body": [
            "Our crews work across jobs daily. Is split allocation realistic?",
            "Yes — punches divide across cost objects with the division recorded per segment. Foremen confirm splits on mobile instead of reconstructing them Friday afternoon."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "data-view-1",
          "heading": "data View",
          "body": [
            "section: faqs"
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        }
      ],
      "sourceBlockType": "faq_section",
      "sourceBlockId": "ff065a26-2ea4-4226-835d-9908ca44d20a"
    },
    {
      "id": "content-section-5",
      "heading": "content section",
      "body": [
        "value: Time is workforce truth with the same replayable guarantees as scheduling: effective-dated, tenant-scoped, and evidence-bound."
      ],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": [],
      "sourceBlockType": "content_section"
    },
    {
      "id": "section-6",
      "heading": "Section 6",
      "body": [
        "Punch, timecard, and absence capture with exception handling"
      ],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": []
    },
    {
      "id": "section-7",
      "heading": "Section 7",
      "body": [
        "Labor allocation to work orders and service work"
      ],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": []
    },
    {
      "id": "section-8",
      "heading": "Section 8",
      "body": [
        "Payroll-input validation before handoff to accounting"
      ],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": []
    },
    {
      "id": "section-9",
      "heading": "Section 9",
      "body": [
        "Grievance and disciplinary case linkage where applicable"
      ],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": []
    }
  ],
  "specifications": [],
  "claims": [],
  "relationships": [
    {
      "type": "products",
      "targets": [
        {
          "id": "12",
          "family": "products",
          "name": "XRP",
          "slug": "xrp",
          "canonicalUrl": "https://babadook.tech/products/xrp",
          "relationship": "products"
        }
      ]
    },
    {
      "type": "modules",
      "targets": [
        {
          "id": "120",
          "family": "modules",
          "name": "Workforce",
          "slug": "workforce",
          "canonicalUrl": "https://babadook.tech/modules/workforce",
          "relationship": "modules"
        }
      ]
    }
  ],
  "authors": [],
  "media": [],
  "regulatoryContext": {
    "exportControlAndLicensingReviewRequired": false
  },
  "language": "en",
  "receipt": {
    "sourceBlockCount": 23,
    "projectedBlockCount": 23,
    "sourceValueCount": 36,
    "projectedValueCount": 40,
    "sourceRelationshipCount": 2,
    "projectedRelationshipCount": 2,
    "sourceClaimCount": 0,
    "projectedClaimCount": 0,
    "unknownBlockTypes": [],
    "omittedFields": [],
    "missingValuePaths": [],
    "invalidClaims": [],
    "complete": true
  },
  "contentHash": "da3fe92838733e96dee24c19d27aaa30c53193244622fd5b813bf1a5e282e689"
}