From 75c3d2d6ed97a74db99303e8fdf4bf80c14c7b9e Mon Sep 17 00:00:00 2001 From: SRI VILLIAM SAI Date: Mon, 26 Oct 2026 22:30:11 +0530 Subject: [PATCH] Add Workplace Adjustment & Accessibility Passport Extend app example --- README.md | 1 + .../workplace-adjustment-passport/README.md | 40 +++++ .../appManifest.json | 8 + .../cards/passportSpotlight.carddefinition | 16 ++ .../example.json | 20 +++ .../AdjustmentPassportBP.businessprocess | 26 +++ .../PassportSecurityDomain.securitydomain | 6 + ...WorkplaceAdjustmentPassport.businessobject | 114 ++++++++++++++ .../presentation/myPassport.pmd | 148 ++++++++++++++++++ .../presentation/passport.amd | 27 ++++ .../presentation/passport.smd | 19 +++ .../presentation/requestAdjustment.pmd | 140 +++++++++++++++++ .../presentation/teamBriefing.pmd | 116 ++++++++++++++ .../sample-data/sample-passport-entry.json | 44 ++++++ 14 files changed, 725 insertions(+) create mode 100644 examples/workplace-adjustment-passport/README.md create mode 100644 examples/workplace-adjustment-passport/appManifest.json create mode 100644 examples/workplace-adjustment-passport/cards/passportSpotlight.carddefinition create mode 100644 examples/workplace-adjustment-passport/example.json create mode 100644 examples/workplace-adjustment-passport/model/AdjustmentPassportBP.businessprocess create mode 100644 examples/workplace-adjustment-passport/model/PassportSecurityDomain.securitydomain create mode 100644 examples/workplace-adjustment-passport/model/WorkplaceAdjustmentPassport.businessobject create mode 100644 examples/workplace-adjustment-passport/presentation/myPassport.pmd create mode 100644 examples/workplace-adjustment-passport/presentation/passport.amd create mode 100644 examples/workplace-adjustment-passport/presentation/passport.smd create mode 100644 examples/workplace-adjustment-passport/presentation/requestAdjustment.pmd create mode 100644 examples/workplace-adjustment-passport/presentation/teamBriefing.pmd create mode 100644 examples/workplace-adjustment-passport/sample-data/sample-passport-entry.json diff --git a/README.md b/README.md index b782971..e47d0fc 100644 --- a/README.md +++ b/README.md @@ -130,6 +130,7 @@ Community examples, open to everyone. This is the section external contributions | [`workday-orchestrate-skill`](examples/workday-orchestrate-skill) | A markdown skill that reviews an Orchestrate flow for Maya file shape, expressions, and secrets. | Agent Skill | | [`workday-pmd-skill`](examples/workday-pmd-skill) | A markdown skill that reviews an Extend page for a security domain, endpoint failures, widget ids, labels, and secrets. | Agent Skill | | [`workday-skill`](examples/workday-skill) | A markdown skill that chooses which Workday agent skill to apply when a task starts a new app or touches more than one artifact. | Agent Skill | +| [`workplace-adjustment-passport`](examples/workplace-adjustment-passport) | An Extend app with a Home page card, custom business object, and PMD pages that gives employees a confidential, portable accommodation passport that carries forward with them as they change teams or managers. | Extend App | | [`wql-anniversary-celebrations`](examples/wql-anniversary-celebrations) | An orchestration that queries Workday via WQL for active workers celebrating milestone work anniversaries and formats an announcement digest payload for collaboration channels. | Orchestration | diff --git a/examples/workplace-adjustment-passport/README.md b/examples/workplace-adjustment-passport/README.md new file mode 100644 index 0000000..c042f8f --- /dev/null +++ b/examples/workplace-adjustment-passport/README.md @@ -0,0 +1,40 @@ +# Workplace Adjustment & Accessibility Passport + +## What it is + +An Extend application and Workday Home Card that gives employees a confidential, portable **Workplace Adjustment Passport**. + +Employees with disabilities, neurodivergent work patterns, chronic medical conditions, or ergonomic requirements often face friction repeatedly disclosing and renegotiating their accommodations whenever they change teams, managers, or office locations. + +This solution records approved workplace adjustments (such as assistive software, ergonomic equipment, sensory focus hours, and communication preferences) into a secure custom business object. When an employee transfers, the new manager receives an executive briefing of active accommodations without disclosing sensitive diagnostic or medical records. Employees retain granular consent controls over what information is shared with managers versus kept solely with HR specialists. + +## What's inside + +- `appManifest.json`: Application metadata definition, reference ID, and version configuration. +- `cards/passportSpotlight.carddefinition`: Workday Home card definition providing 1-click status visibility and quick launch actions. +- `model/WorkplaceAdjustmentPassport.businessobject`: Custom business object schema storing employee references, adjustment categories, equipment specifications, review dates, and manager sharing consent. +- `model/PassportSecurityDomain.securitydomain`: Security domain configuring role-based page and data permissions. +- `model/AdjustmentPassportBP.businessprocess`: Business process definition routing new adjustment submissions for review and acknowledgment. +- `presentation/passport.amd`: Application Metadata Definition registering tasks and routing patterns for worker, request, and manager briefing views. +- `presentation/passport.smd`: Site Metadata Definition configuring authentication and localization. +- `presentation/myPassport.pmd`: Worker self-service landing page displaying active adjustments, privacy safeguards, and renewal timelines. +- `presentation/requestAdjustment.pmd`: Interactive form to record practical accommodations and manage consent. +- `presentation/teamBriefing.pmd`: Manager view summarizing approved team accommodations for smooth onboarding and team collaboration. +- `sample-data/sample-passport-entry.json`: Realistic, sanitized sample records illustrating assistive technology, ergonomic equipment, and flexible schedule entries. +- `example.json`: Metadata file powering the Workday Developer Program gallery. + +## How to use it + +1. Deploy the app source to your Workday Cloud Platform (WCP) development tenant using App Builder, the Workday CLI (WDCLI), or Local Disk Sync. +2. In your tenant, map `PassportSecurityDomain` to your target security groups (e.g., Employee Self-Service, Manager Self-Service, and HR Workplace Accommodations Partner). +3. Activate the `passportSpotlight` card in your tenant's Workday Home configuration under **Configure Workday Home**. +4. Launch the application from the Home card or the App Launcher to review active adjustments or submit a new workplace accommodation request. + +## Before you deploy + +Before deploying this example to your target tenant, verify the following configuration points: + +- **App reference id**: `workplaceAdjustmentPassport` in `appManifest.json`, `presentation/passport.amd`, and `presentation/passport.smd` is the sample app reference ID. Replace it with the ID generated by your tenant during app creation, or access it dynamically using `site.applicationId` in PMD scripts. +- **Security domains**: Map `PassportSecurityDomain` in `model/PassportSecurityDomain.securitydomain` to your organization's appropriate security groups (e.g., All Workers for employee self-service view, and People Leaders / Managers for the team briefing view). +- **Base URLs**: All PMD endpoints utilize `baseUrlType: "workday-apps"` to resolve your tenant's API gateway without hardcoding tenant URLs or environments. +- **Business Process Routing**: In `model/AdjustmentPassportBP.businessprocess`, ensure the review step is assigned to your organization's designated HR Workplace Accommodations Partner security group. diff --git a/examples/workplace-adjustment-passport/appManifest.json b/examples/workplace-adjustment-passport/appManifest.json new file mode 100644 index 0000000..9d66e1e --- /dev/null +++ b/examples/workplace-adjustment-passport/appManifest.json @@ -0,0 +1,8 @@ +{ + "id": "e3a89047b1924d55a201f92e6245d81b", + "referenceId": "workplaceAdjustmentPassport", + "name": "WorkplaceAdjustmentPassport", + "description": "Confidential, portable workplace accommodations and adjustments passport for employees and managers.", + "latestVersion": "1.0.0", + "organizationId": "9ff68ed1-68e4-4225-9f3d-68dbf554c38b" +} diff --git a/examples/workplace-adjustment-passport/cards/passportSpotlight.carddefinition b/examples/workplace-adjustment-passport/cards/passportSpotlight.carddefinition new file mode 100644 index 0000000..14ed8ff --- /dev/null +++ b/examples/workplace-adjustment-passport/cards/passportSpotlight.carddefinition @@ -0,0 +1,16 @@ +{ + "id": "passportSpotlight", + "presentation": { + "type": "inlineCard", + "header": { + "type": "cardHeader", + "title": "Workplace Adjustment Passport", + "subtitle": "Your active accommodations", + "icon": "wd-accent-shield" + }, + "body": { + "type": "simpleCard", + "value": "Access your portable workplace adjustments, manage manager sharing consent, and request new accommodation equipment or scheduling flexibility." + } + } +} diff --git a/examples/workplace-adjustment-passport/example.json b/examples/workplace-adjustment-passport/example.json new file mode 100644 index 0000000..bd8b9e0 --- /dev/null +++ b/examples/workplace-adjustment-passport/example.json @@ -0,0 +1,20 @@ +{ + "title": "Workplace Adjustment & Accessibility Passport", + "description": "An Extend app with a Home page card, custom business object, and PMD pages that gives employees a confidential, portable accommodation passport that carries forward with them as they change teams or managers.", + "type": "Extend App", + "components": [ + "Presentation", + "Card", + "Model", + "Business Process" + ], + "products": [ + "Workday Extend", + "Workday HCM" + ], + "authors": [ + "srivilliamsai" + ], + "tutorial": "", + "source": "community" +} diff --git a/examples/workplace-adjustment-passport/model/AdjustmentPassportBP.businessprocess b/examples/workplace-adjustment-passport/model/AdjustmentPassportBP.businessprocess new file mode 100644 index 0000000..e070c93 --- /dev/null +++ b/examples/workplace-adjustment-passport/model/AdjustmentPassportBP.businessprocess @@ -0,0 +1,26 @@ +{ + "id": 1, + "name": "AdjustmentPassportBP", + "label": "Workplace Adjustment Review Event", + "securityDomain": "PassportSecurityDomain", + "steps": [ + { + "order": 1, + "name": "InitiateAdjustmentRequest", + "type": "Initiation", + "assignedTo": "Employee" + }, + { + "order": 2, + "name": "AccommodationReviewAndApproval", + "type": "Approval", + "assignedTo": "HR Workplace Accommodations Partner" + }, + { + "order": 3, + "name": "ImplementationNotification", + "type": "Notification", + "assignedTo": "Manager" + } + ] +} diff --git a/examples/workplace-adjustment-passport/model/PassportSecurityDomain.securitydomain b/examples/workplace-adjustment-passport/model/PassportSecurityDomain.securitydomain new file mode 100644 index 0000000..8a114aa --- /dev/null +++ b/examples/workplace-adjustment-passport/model/PassportSecurityDomain.securitydomain @@ -0,0 +1,6 @@ +{ + "id": 1, + "name": "PassportSecurityDomain", + "enabledForPageSecurity": true, + "enabledForOrchestrationSecurity": true +} diff --git a/examples/workplace-adjustment-passport/model/WorkplaceAdjustmentPassport.businessobject b/examples/workplace-adjustment-passport/model/WorkplaceAdjustmentPassport.businessobject new file mode 100644 index 0000000..c87d031 --- /dev/null +++ b/examples/workplace-adjustment-passport/model/WorkplaceAdjustmentPassport.businessobject @@ -0,0 +1,114 @@ +{ + "id": 1, + "name": "WorkplaceAdjustmentPassport", + "label": "Workplace Adjustment Passport", + "defaultSecurityDomains": [ + "PassportSecurityDomain" + ], + "defaultCollection": { + "name": "workplaceAdjustmentPassports", + "label": "Workplace Adjustment Passports" + }, + "fields": [ + { + "id": 1, + "name": "workerName", + "type": "TEXT", + "isReferenceId": false, + "useForDisplay": true, + "isPurgeable": false, + "enableIndex": false, + "enableSearch": false + }, + { + "id": 2, + "name": "workerId", + "type": "TEXT", + "isReferenceId": false, + "useForDisplay": false, + "isPurgeable": false, + "enableIndex": false, + "enableSearch": false + }, + { + "id": 3, + "name": "adjustmentCategory", + "type": "TEXT", + "isReferenceId": false, + "useForDisplay": false, + "isPurgeable": false, + "enableIndex": false, + "enableSearch": false + }, + { + "id": 4, + "name": "adjustmentTitle", + "type": "TEXT", + "isReferenceId": false, + "useForDisplay": false, + "isPurgeable": false, + "enableIndex": false, + "enableSearch": false + }, + { + "id": 5, + "name": "adjustmentDetails", + "type": "TEXT", + "isReferenceId": false, + "useForDisplay": false, + "isPurgeable": false, + "enableIndex": false, + "enableSearch": false + }, + { + "id": 6, + "name": "status", + "type": "TEXT", + "isReferenceId": false, + "useForDisplay": false, + "isPurgeable": false, + "enableIndex": false, + "enableSearch": false + }, + { + "id": 7, + "name": "reviewCadenceMonths", + "type": "TEXT", + "isReferenceId": false, + "useForDisplay": false, + "isPurgeable": false, + "enableIndex": false, + "enableSearch": false + }, + { + "id": 8, + "name": "lastReviewedDate", + "type": "TEXT", + "isReferenceId": false, + "useForDisplay": false, + "isPurgeable": false, + "enableIndex": false, + "enableSearch": false + }, + { + "id": 9, + "name": "managerConsent", + "type": "TEXT", + "isReferenceId": false, + "useForDisplay": false, + "isPurgeable": false, + "enableIndex": false, + "enableSearch": false + }, + { + "id": 10, + "name": "supportContact", + "type": "TEXT", + "isReferenceId": false, + "useForDisplay": false, + "isPurgeable": false, + "enableIndex": false, + "enableSearch": false + } + ] +} diff --git a/examples/workplace-adjustment-passport/presentation/myPassport.pmd b/examples/workplace-adjustment-passport/presentation/myPassport.pmd new file mode 100644 index 0000000..a028b25 --- /dev/null +++ b/examples/workplace-adjustment-passport/presentation/myPassport.pmd @@ -0,0 +1,148 @@ +{ + "id": "myPassport", + "securityDomains": [ + "PassportSecurityDomain" + ], + "endPoints": [ + { + "name": "passportsData", + "baseUrlType": "workday-apps", + "url": "<% `/apps/{{site.applicationId}}/v1/workplaceAdjustmentPassports` %>", + "authType": "sso", + "failOnStatusCodes": [ + { + "code": 400 + }, + { + "code": 403 + } + ] + } + ], + "presentation": { + "headerSize": "VPS_DEFAULT", + "title": { + "type": "title", + "id": "passportTitle", + "label": "My Workplace Adjustment Passport" + }, + "body": { + "type": "section", + "id": "mainSection", + "children": [ + { + "type": "text", + "id": "passportMissionText", + "value": "Your Workplace Adjustment Passport is a confidential record of approved workplace accommodations, assistive technology, and flexible working arrangements. When you transfer teams or report to a new manager, your adjustments travel with you so you don't have to re-explain your requirements." + }, + { + "type": "section", + "id": "actionButtonBar", + "horizontal": true, + "children": [ + { + "type": "button", + "id": "requestNewBtn", + "label": "Request New Adjustment", + "action": "PRIMARY", + "task": "requestAdjustment" + }, + { + "type": "button", + "id": "viewManagerBriefingBtn", + "label": "Preview Manager Briefing View", + "action": "SECONDARY", + "task": "teamBriefing" + } + ] + }, + { + "type": "section", + "id": "privacyGuaranteeCallout", + "children": [ + { + "type": "text", + "id": "privacyCalloutHeader", + "value": "🔒 Confidentiality & Privacy Notice: Diagnostic and medical information is never requested, collected, or displayed in this passport. Only practical accommodations needed for your day-to-day productivity are recorded." + } + ] + }, + { + "type": "grid", + "id": "adjustmentsGrid", + "label": "Active Workplace Adjustments", + "rows": "<% passportsData.data %>", + "rowVariableName": "item", + "columns": [ + { + "type": "column", + "id": "categoryCol", + "columnId": "categoryColId", + "label": "Category", + "cellTemplate": { + "type": "text", + "id": "categoryCell", + "value": "<% item.adjustmentCategory %>" + } + }, + { + "type": "column", + "id": "titleCol", + "columnId": "titleColId", + "label": "Adjustment Title", + "cellTemplate": { + "type": "text", + "id": "titleCell", + "value": "<% item.adjustmentTitle %>" + } + }, + { + "type": "column", + "id": "detailsCol", + "columnId": "detailsColId", + "label": "Details & Equipment", + "cellTemplate": { + "type": "text", + "id": "detailsCell", + "value": "<% item.adjustmentDetails %>" + } + }, + { + "type": "column", + "id": "cadenceCol", + "columnId": "cadenceColId", + "label": "Review Cadence", + "cellTemplate": { + "type": "text", + "id": "cadenceCell", + "value": "<% item.reviewCadenceMonths %>" + } + }, + { + "type": "column", + "id": "consentCol", + "columnId": "consentColId", + "label": "Manager Sharing", + "cellTemplate": { + "type": "text", + "id": "consentCell", + "value": "<% item.managerConsent %>" + } + }, + { + "type": "column", + "id": "statusCol", + "columnId": "statusColId", + "label": "Status", + "cellTemplate": { + "type": "text", + "id": "statusCell", + "value": "<% item.status %>" + } + } + ] + } + ] + } + } +} diff --git a/examples/workplace-adjustment-passport/presentation/passport.amd b/examples/workplace-adjustment-passport/presentation/passport.amd new file mode 100644 index 0000000..50bdb9f --- /dev/null +++ b/examples/workplace-adjustment-passport/presentation/passport.amd @@ -0,0 +1,27 @@ +{ + "appProperties": [], + "tasks": [ + { + "id": "myPassport", + "routingPattern": "/", + "page": { + "id": "myPassport" + } + }, + { + "id": "requestAdjustment", + "routingPattern": "/requestAdjustment", + "page": { + "id": "requestAdjustment" + } + }, + { + "id": "teamBriefing", + "routingPattern": "/teamBriefing", + "page": { + "id": "teamBriefing" + } + } + ], + "applicationId": "workplaceAdjustmentPassport" +} diff --git a/examples/workplace-adjustment-passport/presentation/passport.smd b/examples/workplace-adjustment-passport/presentation/passport.smd new file mode 100644 index 0000000..b994158 --- /dev/null +++ b/examples/workplace-adjustment-passport/presentation/passport.smd @@ -0,0 +1,19 @@ +{ + "id": "workplaceAdjustmentPassport", + "applicationId": "workplaceAdjustmentPassport", + "siteId": "workplaceAdjustmentPassport", + "languages": [ + { + "code": "en-US", + "description": "English" + } + ], + "siteAuth": { + "authTypes": [ + { + "scheme": "SSO", + "id": "sso" + } + ] + } +} diff --git a/examples/workplace-adjustment-passport/presentation/requestAdjustment.pmd b/examples/workplace-adjustment-passport/presentation/requestAdjustment.pmd new file mode 100644 index 0000000..3c5a15f --- /dev/null +++ b/examples/workplace-adjustment-passport/presentation/requestAdjustment.pmd @@ -0,0 +1,140 @@ +{ + "id": "requestAdjustment", + "securityDomains": [ + "PassportSecurityDomain" + ], + "outboundData": { + "outboundEndPoints": [ + { + "name": "adjustmentOutbound", + "baseUrlType": "workday-apps", + "url": "<% `/apps/{{site.applicationId}}/v1/workplaceAdjustmentPassports` %>", + "httpMethod": "POST", + "authType": "sso", + "failOnStatusCodes": [ + { + "code": 400 + }, + { + "code": 403 + } + ] + } + ] + }, + "presentation": { + "headerSize": "VPS_DEFAULT", + "title": { + "type": "title", + "id": "requestTitle", + "label": "Record Workplace Adjustment" + }, + "body": { + "type": "section", + "id": "requestFormSection", + "children": [ + { + "type": "text", + "id": "formGuideText", + "value": "Use this form to document a workplace adjustment, ergonomic equipment request, or working accommodation. Please focus strictly on practical tools, software, or schedule adjustments." + }, + { + "type": "textInput", + "id": "workerNameInput", + "label": "Employee Name", + "valueOutBinding": "adjustmentOutbound.workerName", + "required": true + }, + { + "type": "dropdown", + "id": "categoryDropdown", + "label": "Adjustment Category", + "valueOutBinding": "adjustmentOutbound.adjustmentCategory", + "required": true, + "values": [ + { + "id": "cat1", + "value": "Ergonomic Equipment" + }, + { + "id": "cat2", + "value": "Sensory & Environment" + }, + { + "id": "cat3", + "value": "Assistive Technology" + }, + { + "id": "cat4", + "value": "Flexible Working Patterns" + }, + { + "id": "cat5", + "value": "Communication Preference" + } + ] + }, + { + "type": "textInput", + "id": "adjustmentTitleInput", + "label": "Adjustment Summary Title", + "valueOutBinding": "adjustmentOutbound.adjustmentTitle", + "required": true + }, + { + "type": "textArea", + "id": "adjustmentDetailsInput", + "label": "Practical Accommodation Details", + "valueOutBinding": "adjustmentOutbound.adjustmentDetails", + "required": true + }, + { + "type": "dropdown", + "id": "cadenceDropdown", + "label": "Scheduled Review Frequency", + "valueOutBinding": "adjustmentOutbound.reviewCadenceMonths", + "required": true, + "values": [ + { + "id": "cad1", + "value": "6 Months" + }, + { + "id": "cad2", + "value": "12 Months" + } + ] + }, + { + "type": "dropdown", + "id": "consentDropdown", + "label": "Manager Briefing Consent", + "valueOutBinding": "adjustmentOutbound.managerConsent", + "required": true, + "values": [ + { + "id": "con1", + "value": "Granted - Share with Manager" + }, + { + "id": "con2", + "value": "Restricted - HR Specialist Only" + } + ] + } + ] + }, + "footer": { + "type": "footer", + "id": "formFooter", + "children": [ + { + "type": "button", + "id": "submitAdjustmentBtn", + "label": "Save Adjustment to Passport", + "action": "PRIMARY" + } + ] + } + } +} diff --git a/examples/workplace-adjustment-passport/presentation/teamBriefing.pmd b/examples/workplace-adjustment-passport/presentation/teamBriefing.pmd new file mode 100644 index 0000000..b33d748 --- /dev/null +++ b/examples/workplace-adjustment-passport/presentation/teamBriefing.pmd @@ -0,0 +1,116 @@ +{ + "id": "teamBriefing", + "securityDomains": [ + "PassportSecurityDomain" + ], + "endPoints": [ + { + "name": "teamPassportsData", + "baseUrlType": "workday-apps", + "url": "<% `/apps/{{site.applicationId}}/v1/workplaceAdjustmentPassports` %>", + "authType": "sso", + "failOnStatusCodes": [ + { + "code": 400 + }, + { + "code": 403 + } + ] + } + ], + "presentation": { + "headerSize": "VPS_DEFAULT", + "title": { + "type": "title", + "id": "teamBriefingTitle", + "label": "Team Workplace Adjustments Briefing" + }, + "body": { + "type": "section", + "id": "briefingSection", + "children": [ + { + "type": "text", + "id": "managerGuideText", + "value": "This briefing provides people leaders with practical information regarding active workplace accommodations, equipment, and work patterns for team members who have consented to share. Use this information to ensure smooth team transitions and continuous productivity." + }, + { + "type": "section", + "id": "managerTipSection", + "children": [ + { + "type": "text", + "id": "managerTipText", + "value": "💡 Manager Best Practice: Review this summary during your first 1-on-1 with new internal transfers. Inquire whether their equipment, software, or schedule arrangements are functioning smoothly." + } + ] + }, + { + "type": "grid", + "id": "teamAdjustmentsGrid", + "label": "Approved Team Member Adjustments", + "rows": "<% teamPassportsData.data %>", + "rowVariableName": "adjustment", + "columns": [ + { + "type": "column", + "id": "teamMemberCol", + "columnId": "teamMemberColId", + "label": "Team Member", + "cellTemplate": { + "type": "text", + "id": "teamMemberCell", + "value": "<% adjustment.workerName %>" + } + }, + { + "type": "column", + "id": "teamCategoryCol", + "columnId": "teamCategoryColId", + "label": "Adjustment Category", + "cellTemplate": { + "type": "text", + "id": "teamCategoryCell", + "value": "<% adjustment.adjustmentCategory %>" + } + }, + { + "type": "column", + "id": "teamTitleCol", + "columnId": "teamTitleColId", + "label": "Accommodation Summary", + "cellTemplate": { + "type": "text", + "id": "teamTitleCell", + "value": "<% adjustment.adjustmentTitle %>" + } + }, + { + "type": "column", + "id": "teamDetailsCol", + "columnId": "teamDetailsColId", + "label": "Practical Implementation Details", + "cellTemplate": { + "type": "text", + "id": "teamDetailsCell", + "value": "<% adjustment.adjustmentDetails %>" + } + }, + { + "type": "column", + "id": "teamCadenceCol", + "columnId": "teamCadenceColId", + "label": "Review Frequency", + "cellTemplate": { + "type": "text", + "id": "teamCadenceCell", + "value": "<% adjustment.reviewCadenceMonths %>" + } + } + ] + } + ] + } + } +} diff --git a/examples/workplace-adjustment-passport/sample-data/sample-passport-entry.json b/examples/workplace-adjustment-passport/sample-data/sample-passport-entry.json new file mode 100644 index 0000000..0d96ed6 --- /dev/null +++ b/examples/workplace-adjustment-passport/sample-data/sample-passport-entry.json @@ -0,0 +1,44 @@ +{ + "total": 3, + "data": [ + { + "id": "adj-1001", + "workerName": "Alex Morgan", + "workerId": "21049", + "adjustmentCategory": "Assistive Technology", + "adjustmentTitle": "Screen Reader & High-Contrast Display Setup", + "adjustmentDetails": "Licensed NVDA screen reader software, high-contrast dark theme presets, and noise-canceling wireless headphones.", + "status": "Active", + "reviewCadenceMonths": "12 Months", + "lastReviewedDate": "2026-03-15", + "managerConsent": "Granted - Share with Manager", + "supportContact": "HR Workplace Accommodations Team" + }, + { + "id": "adj-1002", + "workerName": "Jordan Chen", + "workerId": "34190", + "adjustmentCategory": "Ergonomic Equipment", + "adjustmentTitle": "Sit-Stand Desk Converter & Vertical Ergonomic Mouse", + "adjustmentDetails": "Dual pneumatic monitor arm with 27-inch vertical display alignment and continuous ergonomic desk converter.", + "status": "Active", + "reviewCadenceMonths": "12 Months", + "lastReviewedDate": "2026-05-20", + "managerConsent": "Granted - Share with Manager", + "supportContact": "Facilities & Ergonomics Team" + }, + { + "id": "adj-1003", + "workerName": "Samira Patel", + "workerId": "19402", + "adjustmentCategory": "Sensory & Environment", + "adjustmentTitle": "Sensory Focus Core Hours & Written Meeting Summaries", + "adjustmentDetails": "Exemption from meeting scheduling between 9am-11am for deep focus work, plus written agenda notes provided 24 hours prior to team meetings.", + "status": "Active", + "reviewCadenceMonths": "6 Months", + "lastReviewedDate": "2026-08-10", + "managerConsent": "Granted - Share with Manager", + "supportContact": "HR Workplace Accommodations Team" + } + ] +}