{
  "schemaVersion": "1.0",
  "entityFamily": "modules",
  "entityType": "DefinedTerm",
  "entityId": "modules:120",
  "canonicalUrl": "https://babadook.tech/modules/workforce",
  "machineBaseUrl": "https://babadook.tech/ai/modules/workforce",
  "name": "Workforce",
  "aliases": [],
  "summary": "Never staff a shift with the wrong hands again — rosters prove qualification first.",
  "description": [
    "The 2 a.m. call no one wants: a line down because the only certified operator called in sick and nobody qualified is on shift. Workforce ends that lottery. Rosters resolve against live demand, skills, certifications, and availability — so the schedule only ever offers hands that can legally and actually do the work."
  ],
  "sections": [
    {
      "id": "why-workforce-truth-matters-f59066e9-1a47-4588-9893-190c011b1fac",
      "heading": "Why workforce truth matters",
      "body": [
        "Most ERP systems keep HR in a separate module and export labor to operations as an afterthought. Shifts get planned against stale headcounts, attendance lands in payroll weeks late, and nobody can say which hours belong to which work. XRP treats the workforce as operational truth: rosters resolve against live demand, punches allocate to the work actually run, and costs flow while the shift is still on the floor. When a worker clocks in on the shop floor, their time allocates to the work order they are running. Labor costs flow to finance as payroll-ready events — live facts, not batch exports. Union contracts, benefits, and regional compliance sit on the workforce model as governed extensions."
      ],
      "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: thesis"
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        }
      ],
      "sourceBlockType": "content_block",
      "sourceBlockId": "f59066e9-1a47-4588-9893-190c011b1fac"
    },
    {
      "id": "who-answers-for-workforce-3bc0529d-ff86-4908-87d7-a3e1715f0172",
      "heading": "Who answers for Workforce",
      "body": [
        "Four roles, four anxieties, one worker graph answering each."
      ],
      "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: personas"
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "section-1-1",
          "heading": "Section 1",
          "body": [
            "col Title: COO",
            "col Cont: Coverage without the lottery. Every shift staffed with qualified hands, absence re-offered automatically, and labor costs flowing while shifts run."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "section-2-2",
          "heading": "Section 2",
          "body": [
            "col Title: Plant Manager",
            "col Cont: Skill matrices per cell with cross-training gaps named. Overtime pressure visible before rosters commit instead of discovered in the paycheck."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "section-3-3",
          "heading": "Section 3",
          "body": [
            "col Title: CFO",
            "col Cont: Labor costs accrue to work orders and projects live — no month-end scramble to explain variances nobody tracked while they happened."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "section-4-4",
          "heading": "Section 4",
          "body": [
            "col Title: Compliance Leader",
            "col Cont: Certifications gated at offer time, grievances cased with policy references, and wage-hour regimes applied per jurisdiction as governed extensions."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        }
      ],
      "sourceBlockType": "content_block",
      "sourceBlockId": "3bc0529d-ff86-4908-87d7-a3e1715f0172"
    },
    {
      "id": "how-workforce-works-c46881a7-7b76-49a3-ba4a-7c7556a09440",
      "heading": "How Workforce works",
      "body": [
        "Demand plans and work orders emit labor requirements with skill and certification constraints. Scheduling resolves them against the worker graph — role, skill, certification, shift pattern, attendance state — and proposes rosters that satisfy coverage without breaking compliance or overtime policy. Punches then validate against roster and assignment state, allocate to active work, and accumulate into timecards with overtime, exceptions, and approvals resolved before payroll-input events emit."
      ],
      "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"
        }
      ],
      "sourceBlockType": "content_block",
      "sourceBlockId": "c46881a7-7b76-49a3-ba4a-7c7556a09440"
    },
    {
      "id": "workforce-capabilities-ef11ecec-25c4-4376-9fce-137eb44f005c",
      "heading": "Workforce capabilities",
      "body": [],
      "specifications": [
        {
          "label": "Qualified offers only",
          "value": "Uncertified or unavailable workers are never offered for constrained shifts",
          "group": "spec Items"
        },
        {
          "label": "Overtime visibility",
          "value": "Overtime pressure and availability surface before the roster commits, not after",
          "group": "spec Items"
        },
        {
          "label": "Live allocation",
          "value": "Attendance allocates to work orders and service work as it validates",
          "group": "spec Items"
        },
        {
          "label": "Payroll certification",
          "value": "Exceptions and approvals resolve before payroll-input events emit to finance",
          "group": "spec Items"
        },
        {
          "label": "Multi-site identity",
          "value": "One session model and one access decision path whether you run one site or fifty",
          "group": "spec Items"
        },
        {
          "label": "Change propagation",
          "value": "Demand or absence changes revalidate affected assignments automatically with markers downstream",
          "group": "spec Items"
        },
        {
          "label": "section",
          "value": "capabilities",
          "group": "data View"
        }
      ],
      "relationships": [],
      "media": [],
      "children": [],
      "sourceBlockType": "product_specification",
      "sourceBlockId": "ef11ecec-25c4-4376-9fce-137eb44f005c"
    },
    {
      "id": "from-staffing-lottery-to-proven-coverage-0c2bb448-a168-4b93-962a-48f8a59871a5",
      "heading": "From staffing lottery to proven coverage",
      "body": [
        "subtitle: What each stage feels like after adoption.",
        "layout: alternating",
        "enable Slideshow: false",
        "slideshow Interval: 5000"
      ],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": [
        {
          "id": "rosters-prove-qualification-1",
          "heading": "Rosters prove qualification",
          "body": [
            "date: Phase 1",
            "status: in-progress",
            "Shift offers filter through skills, certifications, and availability first.",
            "has Learn More: false"
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "hours-allocate-live-2",
          "heading": "Hours allocate live",
          "body": [
            "date: Phase 2",
            "status: upcoming",
            "Punches land on the work actually run with costs flowing same-shift.",
            "has Learn More: false"
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "exceptions-resolve-not-accumulate-3",
          "heading": "Exceptions resolve, not accumulate",
          "body": [
            "date: Phase 3",
            "status: upcoming",
            "Absences re-offer automatically; payroll certifies instead of estimating.",
            "has Learn More: false"
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "labor-plans-from-facts-4",
          "heading": "Labor plans from facts",
          "body": [
            "date: Phase 4",
            "status: upcoming",
            "Hiring and training target the qualification gaps the roster names.",
            "has Learn More: false"
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        }
      ],
      "sourceBlockType": "timeline",
      "sourceBlockId": "0c2bb448-a168-4b93-962a-48f8a59871a5"
    },
    {
      "id": "workforce-in-daily-operation-50d22200-469d-4e94-84a3-eea165586d59",
      "heading": "Workforce in daily operation",
      "body": [
        "Each surface below reads the same worker graph — schedules offer only qualified hands, clocks prove the hours, and every exception resolves before payroll."
      ],
      "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: applications"
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "demand-scheduling-1",
          "heading": "Demand Scheduling",
          "body": [
            "Labor requirements from work orders, service slots, and demand plans resolve against skills, certifications, and availability. Coverage gaps show with the missing qualification named, so hiring and training target real holes."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "time-capture-2",
          "heading": "Time Capture",
          "body": [
            "Badge, biometric, and mobile punches validate against roster state and allocate to active work. Missed punches raise supervisor-routed exceptions instead of estimated hours."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "leave-and-absence-3",
          "heading": "Leave and Absence",
          "body": [
            "Leave balances, requests, and approvals with coverage impact shown before approval. Approved absence invalidates affected assignments and triggers re-offer automatically."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "certifications-4",
          "heading": "Certifications",
          "body": [
            "Skill and certification records with expiry tracking gate shift offers. Lapsing credentials flag weeks ahead with the affected roster dates listed, so retraining lands before coverage breaks."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        }
      ],
      "sourceBlockType": "content_block",
      "sourceBlockId": "50d22200-469d-4e94-84a3-eea165586d59"
    },
    {
      "id": "deployment-and-integration-dd03ea4f-cc7f-4c73-b54b-3c8a1b8efd49",
      "heading": "Deployment and integration",
      "body": [
        "Workforce runs inside every XRP topology — self-hosted, cloud, hybrid, air-gapped, or edge — with time-capture devices syncing through signed offline bundles where connectivity is intermittent. Biometric and badge clocks, mobile punch apps, and supervisor consoles all write the same assignment and attendance truth. External payroll owns pay computation; XRP hands it certified inputs with cost rollup attached."
      ],
      "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: deployment"
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        }
      ],
      "sourceBlockType": "content_block",
      "sourceBlockId": "dd03ea4f-cc7f-4c73-b54b-3c8a1b8efd49"
    },
    {
      "id": "governance-and-compliance-3caad0e0-b091-49db-8141-505537684c94",
      "heading": "Governance and compliance",
      "body": [
        "Every assignment carries reason, authority, effective instant, and source evidence. Grievance and disciplinary records are first-class objects with case state, policy reference, and participants. Wage-hour, timekeeping, leave, and safety regimes apply by jurisdiction as governed extensions, and every access to sensitive workforce data is issued through ARGUS with purpose, scope, and evidence receipt."
      ],
      "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: governance"
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        }
      ],
      "sourceBlockType": "content_block",
      "sourceBlockId": "3caad0e0-b091-49db-8141-505537684c94"
    },
    {
      "id": "workforce-sub-modules-e8f352d8-b993-40de-984f-1da50bbaadb2",
      "heading": "Workforce sub-modules",
      "body": [
        "subtitle: Roster the work, then prove the hours.",
        "data View: workforce:sub-modules"
      ],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": [
        {
          "id": "shift-scheduling-1",
          "heading": "Shift Scheduling",
          "body": [
            "desc: Qualified, available rosters from live demand.",
            "link: /sub-modules/shift-scheduling"
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "attendance-tracking-2",
          "heading": "Attendance Tracking",
          "body": [
            "desc: Punches allocated to the work actually run.",
            "link: /sub-modules/attendance-tracking"
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        }
      ],
      "sourceBlockType": "product_showcase",
      "sourceBlockId": "e8f352d8-b993-40de-984f-1da50bbaadb2"
    },
    {
      "id": "workforce-questions-defae3b4-7ca1-468e-ae37-f61198e5bf53",
      "heading": "Workforce questions",
      "body": [],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": [
        {
          "id": "section-1-1",
          "heading": "Section 1",
          "body": [
            "Does Workforce replace HR administration?",
            "No. Operational workforce truth — roster, assignment, attendance, labor events — lives here and references Part 3C HRCM. Broad HR administration remains with its canonical owner."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "section-2-2",
          "heading": "Section 2",
          "body": [
            "How does labor reach payroll?",
            "Validated attendance allocates to work orders and projects, then emits payroll-input events with cost rollup for Part 3A finance. No manual reclassification between grant-funded and general positions."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "section-3-3",
          "heading": "Section 3",
          "body": [
            "What happens when a scheduled worker calls in sick?",
            "The absence invalidates affected assignments and the scheduler re-offers the shift to qualified, available workers. Downstream work orders and service slots see the impact immediately."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "section-4-4",
          "heading": "Section 4",
          "body": [
            "Can uncertified workers cover constrained operations?",
            "No. Certification constraints are hard gates resolved against HRCM truth. The roster shows the coverage gap rather than offering an unqualified worker."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "section-5-5",
          "heading": "Section 5",
          "body": [
            "How does this work across fifty sites?",
            "One worker graph with effective-dated edges for location, department, and assignment. A transfer supersedes edges with new effective dates instead of rewriting history, so reporting stays correct across the move."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "section-6-6",
          "heading": "Section 6",
          "body": [
            "Our union contract has complex work rules. Can this handle them?",
            "Work rules sit on the model as governed extensions — overtime triggers, seniority preferences, mandatory rest — enforced at offer time instead of grieved afterward."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "section-7-7",
          "heading": "Section 7",
          "body": [
            "Will supervisors lose control over their crews?",
            "No. Supervisors approve, override with authority, and handle exceptions — the system just stops them from accidentally assigning unqualified hands or blowing overtime budgets blind."
          ],
          "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": "defae3b4-7ca1-468e-ae37-f61198e5bf53"
    },
    {
      "id": "content-section-11",
      "heading": "content section",
      "body": [
        "value: One identity boundary across every site: one session model, one access decision path, and workforce facts that downstream planning, costing, and compliance consume directly. Schedules reference Part 3C HRCM worker truth — employee, assignment, skill, certification, shift, and attendance — and emit payroll-ready events that finance consumes without batch reconciliation."
      ],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": [],
      "sourceBlockType": "content_section"
    },
    {
      "id": "section-12",
      "heading": "Section 12",
      "body": [
        "Demand-driven rostering with skill and certification gates"
      ],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": []
    },
    {
      "id": "section-13",
      "heading": "Section 13",
      "body": [
        "Availability, overtime pressure, and exception visibility before commit"
      ],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": []
    },
    {
      "id": "section-14",
      "heading": "Section 14",
      "body": [
        "Attendance capture allocated to live work orders and service slots"
      ],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": []
    },
    {
      "id": "section-15",
      "heading": "Section 15",
      "body": [
        "Payroll-ready labor events with cost rollup for finance"
      ],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": []
    },
    {
      "id": "section-16",
      "heading": "Section 16",
      "body": [
        "Effective-dated assignments — superseded, never overwritten"
      ],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": []
    },
    {
      "id": "section-17",
      "heading": "Section 17",
      "body": [
        "Multi-site coverage from one identity boundary and session model"
      ],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": []
    },
    {
      "id": "section-18",
      "heading": "Section 18",
      "body": [
        "Grievance, disciplinary, and compliance case linkage"
      ],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": []
    },
    {
      "id": "section-19",
      "heading": "Section 19",
      "body": [
        "Downstream revalidation when demand, absence, or plans change"
      ],
      "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": "sub_modules",
      "targets": [
        {
          "id": "131",
          "family": "sub-modules",
          "name": "Shift Scheduling",
          "slug": "shift-scheduling",
          "canonicalUrl": "https://babadook.tech/sub-modules/shift-scheduling",
          "relationship": "sub_modules"
        },
        {
          "id": "132",
          "family": "sub-modules",
          "name": "Attendance Tracking",
          "slug": "attendance-tracking",
          "canonicalUrl": "https://babadook.tech/sub-modules/attendance-tracking",
          "relationship": "sub_modules"
        }
      ]
    }
  ],
  "authors": [],
  "media": [],
  "regulatoryContext": {
    "exportControlAndLicensingReviewRequired": false
  },
  "language": "en",
  "receipt": {
    "sourceBlockCount": 53,
    "projectedBlockCount": 53,
    "sourceValueCount": 100,
    "projectedValueCount": 108,
    "sourceRelationshipCount": 3,
    "projectedRelationshipCount": 3,
    "sourceClaimCount": 0,
    "projectedClaimCount": 0,
    "unknownBlockTypes": [],
    "omittedFields": [],
    "missingValuePaths": [],
    "invalidClaims": [],
    "complete": true
  },
  "contentHash": "9f28cd3625deff6ae3c20d3bb2f152a3b500c102401f03d37f627c4a62169322"
}